Quartus II調用modelsim無縫仿真

Quartus II調用modelsim無縫仿真

 

本篇文章爲轉載,寫的不錯,最近在學modelsim仿真,網上的教程很亂,把本身認爲不錯的整理貼出來,後面有機會會寫個詳細點的。html

Quartus 中調用modelsim的流程工具

1. 設定仿真工具 
assignmentèsettingèEDA tool settingèsimulation 選擇你須要的工具。 
clip_image001post

2. 自動產生測試激勵文件模板: 
processingèstartèStart test bench template writer 
clip_image003
咱們點擊以後系統會自動在目錄:當前文件夾è simulation è modelsim (這個文件夾名字跟你選的仿真工具備關中產生一個測試激勵文件 xxx.vt(Verilog test bench) 或者 xxx.vht(VHDL test bench), 文件名跟你工程中的Top module 的名字同樣, 後綴爲.vt或者.vht。 
clip_image004測試

3. 編輯走動生成的test bench文件 
咱們加入本身須要的激勵以及初始化語句,這裏咱們還要修改test bench的模塊名字爲tb(咱們會看到這個名字和後面的設定有聯繫)。 
clip_image005url

4. 鏈接test bench,咱們須要從Quartus中自動調用仿真工具,因此須要設定Native Link選項。命令行

a) 仍是在simulation的設置頁面裏,設定 Native Link對話框中的設定。咱們這裏由於須要工具自動調用激勵因此選中 
clip_image007設計

b) 點擊右邊的Test Benches, 咱們須要在這裏設定一個相關聯的test bench. 
clip_image009
這裏會彈出一個讓你指定test bench的對話框,由於咱們以前沒有指定任何的test bench,因此這裏是空白的。3d

c) 指定test bench 
由於咱們是第一次產生test bench,點擊new. 
clip_image011
點擊New以後會產生一個New Test bench setting的對話框,在這裏你將test bench和你的相應的test bench file進行綁定。 
clip_image013
咱們這裏在Test bench name的對話框中輸入一個名字」my_1st_tb」, 咱們將看到,在下面的Top level module in test bench對話框中也自動顯示」my_1st_tb」. 注意這個名字應該和你的test bench 中的module name一直,咱們以前在第3步的時候將test bench的module name已經改爲了tb,因此咱們這裏應該把對話框中的名字改爲tb。 
clip_image014調試

d) 加入test bench文件 
clip_image016htm

5. 進行仿真 
當這些設定都完成了以後, 選擇菜單 
toolèRun EDA Simulation toolèEDA RTL simulation 
clip_image017
就能夠直接調用modelsim進行仿真。

6. 小技巧: 
咱們這樣調用仿真,若是是Modelsim AE每次不會編譯lib文件,但若是咱們使用的是Modelsim SE版本,每次調用都須要從新編譯庫,很是不爽,在這裏咱們建議本身修改腳本文件,進行仿真.

a) 當咱們按照以前的描述,運行完仿真以後,停留在Modelsim的界面。

b) 在Modelsim界面的命令行上,咱們點向上的方向鍵,就會出現咱們上一條指令, 咱們能夠看到是 
do xxxx.do 這說明工具執行的上一個命令式 xxxx.do這個腳本文件,咱們這裏的例子是 
do oversampling_core_run_msim_rtl_verilog.do 
clip_image019

i. 咱們知道了工具執行的腳本,咱們就能夠按照本身的想法去改變這個腳本了。使用 
edit oversampling_core_run_msim_rtl_verilog.do命令,能夠看到這個腳本的內容(固然咱們也可使用Ultra Edit或者VIM等文本編輯軟件去打開這個腳本文件)。這個腳本一般分紅3部分 庫文件編譯部分,設計文件編譯,運行參數設定和開始執行部分 
clip_image021

ii. 一般來講庫文件只在第一次編譯的時候,須要編譯,後面咱們只須要在仿真的時候指定庫文件的位置就行了,不須要每次都編譯。所以咱們能夠註釋掉「庫文件編譯部分」。下面圖中紅色框中的部分就是被註釋掉的庫編譯部分,這樣會節省咱們的仿真時間,注意在腳本語言中#是註釋符。 
clip_image023

iii. 咱們將編輯過的腳本文件另存爲sim.do, 在之後的仿真中咱們能夠在Modelsim命令行中,直接在腳本中運行do sim.do(固然是先須要將Modelsim的工做目錄改到 工程所在文件夾/simulation/modelsim/)。

c) 另外腳本生成的波形文件一般是將test bench的頂層加入到圖形畫面中咱們能夠看到在腳本的第3部分(運行參數和開始執行)部分,默認命令式 
add wave *, 這條命令就是講 test bench頂層的全部信好加入到wave窗口中。 
clip_image024
對咱們來講,在調試階段,有不少底層信號都是想觀測的,因此須要再手動修改一下命令

i. 在modelsim的窗口中,選中本身想要關心的模塊,右鍵能夠將本身關心的信號加入wave波形中 
clip_image026clip_image028

ii. 此時咱們在wave 窗口中能夠將這個波形的格式存下來,在wave窗口中點菜單fileèsave… 選擇文件名爲wave.do. 
clip_image030

iii. 在咱們執行的腳本中將add wave *,這個命令替換成do wave .do, 就能夠在每次執行仿真的時候自動添加想要觀測的波形了。 
clip_image024[1]clip_image031

7. 接下來最後一個問題,怎樣才能一次性的編譯好庫文件,讓軟件再也不每次編譯。其實altera已經爲客戶準備了相應的選項,只不過藏得比較深,很差找。

a) 一次性編譯庫:

i. 點擊toolè launch EDA simulation Library Compiler 
clip_image033

ii. 咱們會看到一個讓咱們選擇器件的頁面。根據你的實際狀況選擇下面的設定。點擊start compile,軟件會自動幫你完成編譯,而後關掉就好,至此你應該已經完成了庫的編譯。 
clip_image035

iii. 接下來咱們須要在QII的仿真設定頁面作一些修改。 
咱們須要回到設定界面 
Assignmentèsettingèsimulationèmore Nativelink setting 
clip_image037

設定好相應的路徑。 
clip_image039

好了,從新run仿真,就發現不會再編譯咱們的庫文件了。

★emouse 思·睿博客文章★ 原創文章轉載請註明:http://emouse.cnblogs.com
相關文章
相關標籤/搜索