Quartus II綜合modelsim仿真的實現____以LED燈二選一多路器為例


一、設計思想與驗證方法

  1、 設計定義

  2、 設計輸入

  3、 分析和綜合

  4、 功能仿真—modelsim

  5、 布局布線

  6、 時序仿真—modelsim

  7、 時序約束

  8、 IO分配以及配置文件的生成

  9、 配置(燒寫FPGA)

  10、在線調試

二、實驗要求

  兩個的輸入IO,a,b

  輸入按鍵按下,Led燈與a端口狀態保持一致

  按鍵釋放時,Led燈與b端口保持一致

三、源碼

module led_test(a,b,key_in,led_out);

    input a;    //輸入端口a
    input b;    //輸入端口b
    
    input key_in;    //按鍵輸入端口
    
    output led_out;    //led輸出端口
    
    //按下  led_out==a
    assign led_out= (key_in==0)? a:b ;
    
endmodule
led_test

 

`timescale 1ns/1ps    //    時間單位/時間精度

module led_test_tb;

//激勵信號定義,對應連接到待測試模塊的輸入端口
    reg signal_a;
    reg signal_b;
    reg signal_c;
    
//待檢測信號定義(led_out),對應鏈接到輸出端口
    wire led;
    
//例化待測試模塊
    led_test led_test0(
    .a(signal_a),
    .b(signal_b),
    .key_in(signal_c),
    .led_out(led)
    );
    
//產生激勵
    initial begin
    
        signal_a=0;
        signal_b=0;
        signal_c=0;
        #100
        
        signal_a=0;
        signal_b=0;
        signal_c=1;
        #100
        
        signal_a=0;
        signal_b=1;
        signal_c=0;
        #100
        
        signal_a=0;
        signal_b=1;
        signal_c=1;
        #100
        
        signal_a=1;
        signal_b=0;
        signal_c=0;
        #100
        
        signal_a=1;
        signal_b=0;
        signal_c=1;
        #100
        
        signal_a=1;
        signal_b=1;
        signal_c=0;
        #100
        
        signal_a=1;
        signal_b=1;
        signal_c=1;
        
        #200
        $stop;    //系統函數,停止
    
    end

endmodule
led_test_tb

 

四、軟件具體操作步驟(Quartus II 13.0 / modelsim 裝新版即可)

1.打開quartus 新建一個工程

 

 如果有現成的文件,添加就行了,沒有的話直接next,選擇開發板配置,next

選擇對應的仿真軟件和語言(modelsim--Verilog),finish

 

 

 

2.新建兩個verilog文件,設計文件+激勵文件,ctrl+s 保存到本地

 

 3.運行代碼

分別對兩個文件進行分析和綜合,看是否有語法錯誤

 

4.功能仿真--RTL simulation

設置仿真軟件路徑,定位到仿真軟件所在文件夾下,軟件為modelsim,即如圖

 

 

 

 

設置腳本,綜合運行

 

 

 

 

 

產生波形,按F鍵查看全局,如圖,說明從功能上來說可實現,關閉仿真軟件即可

 

 5.布局布線--start compilation

 

 

 

6.后仿真(時序仿真)直接選擇最惡劣環境下運行--gate level simulation

 

 發現有誤差脈沖(暫時忽略,后續學習再解決)

 

 

這里電平變化出現延時

 

 

 7.假設誤差可忽略,進行IO分配(管腳分配)--pin  planner

 

 網上搜電路板對應的管腳,和信號對應即可

 

再進行一次全編譯--start compilation,生效管腳分配

 

 點擊programmer進行下載,如果沒有彈出框中沒有文件,也可以手動添加sof文件

 若沒有生成sof文件,可能是軟件破解有問題,重新破解一遍

 


免責聲明!

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



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