【原創】Quartus與Modelsim的聯合仿真及腳本


**參考

http://www.cnblogs.com/crazybingo/archive/2012/03/02/2376640.html

---By SOCquan

1 聯合功能仿真l quartus 11.1中編寫好代碼,舉例如下:
image

進行編譯以檢查錯誤;

自動生成testbeach文件

注意要先設置simulation方式為modelsim;
設置:Assignments---->settings:

image

查看quartus II 仿真時是否已關聯modelsim的安裝目錄:

Tools –>Options –>在General里選EDA Tool Options:

image

生成testbeach文件

clip_image008

生成成功

clip_image009

打開testbeach文件

一般在…\simulation\modelsim文件夾中,后綴是.vt

image

image

完善teshbeach文件:

image

進行仿真設置: 完成NativeLink settings:

image

選擇compile Test bench:

clip_image019

選擇Test Benches…

clip_image021

點擊new…填寫完test bench name 和top level module in test bench后,點擊file name后的…

$515Q9P9YDE)Z1{KZGNGG98

M747IC)10BC)2I1%N566GHC

之后點擊Add:

最終設置

QO~H1B~CO[5LH5BI~B%~5{4

@{4GIXM%2Z%_7CP2[Z_6KBH

運行仿真:Tools—>run simulation tool—>RTL simulation

clip_image031

得到波形圖

image

 

2 仿真“深度”調試

當源文件或者testbeach出現修改時,需要按以下步驟重新得到仿真結果

重新編譯修改文件

選擇Complile->complile,選擇被修改的文件重新編譯OZ{`UCF$AR4_V{`ZA)}QW%N

 

復位仿真

在modelsim命令欄鍵入restart,回車運行

clip_image036

出現restart菜單,點擊ok

clip_image037

設置仿真時間:在命令欄鍵入run 3000ns,設置仿真運行時間

_F0BB(XSV9W[}4N93%~4Q)V

7_3NO{9I@TKPSV[P~N[RH1V

此時,已得到源文件或testbeach修改后的仿真結果

注:我們可以繼續通過鍵入run xxns 增加仿真時間

 

3 自動運行—腳本文件編寫

這里主要講如何將功能仿真結果的波形圖進行保存,以便下次快速運行。

完善保存波形圖

得到波形圖后,可以先對波形圖進行完善:添加感興趣信號,設置字體波形顏色,縮小放大……

然后保存波形圖 file->save format… 一般默認保存名字為wave.do,保持默認路徑

NCJFMXK6_`$QAV`E{TJG@8G

設置wave.do

在工程目錄下打開…\simulation\modelsim文件夾

image

分別打開兩個do文件,一個是quartus自動生成的divider_run_msim_rtl_verilog.do,

一個是保存的wave.do

divider_run_msim_rtl_verilog.do

此文件是modelsim自動運行命令,復制圖中部分

_)IDHB`$0%VJ@D(KW]5@JL9

vmap …(該命令的作用是將目前的邏輯工作庫work和實際工作庫work映射對應)

vlog …(該命令的作用是編譯這些文件,默認編譯到work庫下)

vsim …(仿真work庫中名為激勵文件)

wave.do

此文件是modelsim波形窗口設置

添加入wave.do中的前面,並在最后添加運行命令,如run 3000ns

復制后

E]WS__U6JVBL{~50$~JLNKJ

保存文件

自動運行

重新打開modelsim

clip_image053

輸入命令 cd E:/EDA/modelsim/Quartus_modelsim/simulation/modelsim

指向目標文件夾,即wave.do與divider_run_msim_rtl_verilog.do的位置,注意不是“\”是“/”

clip_image055

最后輸入命令 do wave.do即可

4T]0OAE1U@}KE(V)O_@3P`B

 
另一種仿真深度調試方式

我們將工程文件修改為自加2,保存

image

繼續仿真只需要在2中結果中

Ø 關掉wave窗口

Ø 輸入命令quit –sim退出仿真

Ø 重新輸入命令 do wave.do

5J40AITO_}AGN@5O@P4$Y~7

4 仿真工程可移植性修改

上面的腳本文件限定了工程的指定目錄,為了使工程復制到不同的目錄下后仿真依然可以自動運行,需要進行地址修改

clip_image063

將上圖選中部分進行以下修改,並保存

clip_image065

當工程位置被修改后,即可重新

輸入命令 cd 指向目標文件夾,然后輸入do wave.do自動運行

5 聯合時序仿真

(1)如在一開始設置中,選中在編譯后自動進行門級仿真(時序仿真),軟件會在編譯后自動進行仿真,知道仿真結束,設置如下圖:

clip_image066

(2)當然,也可以在功能仿真的基礎上,直接Run gate level仿真即時序仿真

clip_image067

(3)Quartus II + Modelsim自動加載就可以得到時序結果。

 


免責聲明!

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



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