我的 FPGA 學習歷程(03)—— 使用 Quaruts 自帶仿真工具


        在上一篇中詳細的介紹了怎樣創建原理圖工程,這篇同樣使用原理圖工程新建一個多路選擇器,目的是學習使用圖形輸入的仿真工具輸入仿真激勵。

       新建工程,並繪制以下的原理圖。

_thumb21

       編譯項目,會多出一個警告: Critical Warning (169085): No exact pin location assignment(s) for 4 pins of 4 total pins,其大致意思是在目標器件上有四個引腳沒有被分配,由於這次我們只用到仿真,不需要下載文件到板子上,因此沒有必要去分配管腳。

       編譯成功后新建一個 University Program VWF (仿真波形文件),

_thumb2

雙擊主界面 Project Navigator  Files 標簽下的 waveform.vwf 文件打開仿真波形文件編輯器,如下:

波形文件編輯器

接下來在仿真波形文件編輯器中添加管腳,依次點擊 Edit –>  Insert –> Insert Node or Bus,再點擊下圖中的 Node Finder...

_thumb5

點擊 List,圖為仿真引腳的選擇工具,這里我們需要添加所有的引腳。完成后點 OK。

_thumb11

再點一次 OK

_thumb12

完成引腳添加工作,接下來在 Edit --> Set End Time 中設定仿真時間,由於該編輯器的一個格子是 10 ns,這里我們設為 100 ns。

_thumb1

選擇需要修改的時間段,修改為需要的高低電平,修改到下面這個樣子就可以了(*^__^*)。

_thumb3

接下來點擊 Simulation –> Run Function Simulator 進行邏輯仿真。仿真結果如下:

可以看到,當 s = 0 時, y = a;當 s = 1 時,y = b。

_thumb111

       仿真驗證了我們的設計是正確的。O(∩_∩)O 同樣還可以使用 verilog 語言描述一個多路選擇器,verilog 代碼如下,各位可以試試。

module mymux 
(
    input wire a,       //這里是逗號
    input wire b,
    input wire s,
    output reg y        //這里沒有逗號
);                      //這里是分號

//**************************************************//
    always @ (*)        //敏感信號列表,初學者打星號就可以了
    begin
        if(s==1'b0)   //兩個等號表示判斷是否相等
            y = a;
        else
            y = b;
    end
//*************************************************//

endmodule


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM