怎樣用modelsim做后仿真


摘要: 怎樣用modelsim做后仿(編譯工具采用quatus) step1:在qurtus改變編譯選項:     assignments->EDA tool setting:選擇verilog還是vhdl。 step2:編譯。你會在你的工程所在目錄 看到一個simulation的目錄,這里面有你生成的網表文件和標准延時文件。step3:在目錄:\

怎樣用modelsim做后仿(編譯工具采用quatus)

step1:在qurtus改變編譯選項:
     assignments->EDA tool setting:選擇verilog還是vhdl。

 step2:編譯。你會在你的工程所在目錄 看到一個simulation的目錄,這里面有你生成的網表文件和標准延時文件。

step3:在目錄:\quartus\eda\sim_lib找到你選用器件對應的庫文件,將庫文件和網表文件以及延時文件和testbench文件放在同一目錄,在modelsim里進行編譯庫文件、網表文件以及bench文件。

step4:編譯成功后,然后進行load,在load design的時候,需要制定延時文件的路徑,以及延時文件作用的區域,延時文件的左右區域就是testbench里面調用頂層文件取的名字。
 
step5:打開signal窗口(view->signal)和wave窗口(view->signal),將你希望仿真的信號添加進去。

Step:仿真。。。

利用ModelSim SE6.0C實現時序仿真!!!

1) 打開一個工程文件。

2) 打開Settings設置欄,選擇EDA Tools Settings下的Simulation欄。在右邊出現的設置欄中將“Tool name”的下拉菜單選擇“ModelSim(Verilog)”(如果工程用VHDL語言實現,則可以選擇“ModelSim(VHDL)”;如果ModelSim使用的是for Altera的專用版本,則可以選擇“ModelSim-Altera(Verilog)”或“ModelSim-Altera(VHDL)”)。

另外在設置欄中還有其他的核選框。

  1. 如果選中“Maintain hierarchy”,則表示在做時序仿真時就能看到像在功能仿真的工程文件層次結構,可以找到定義的內部信號。因為在做后仿時,源文件中的信號名稱已經沒有了,被映射為軟件綜合后自己生成的信號名,觀察起來很不方便。這個設置與ISE里綜合右鍵屬性的Keep Hierarchy選擇YES的功能是一樣的。
  2. 如果選中“Generate netlist for functional simulation only”,則表示只能做功能仿真。

3) 點擊  “Start Compilation”按鈕編譯工程,完成之后在當前的工程目錄下可以看到一個名為“Simulation”的新文件夾,下面的“ModelSim”文件夾下包括仿真需要的.vo網表文件和包含延遲信息的.sdo文件。

4) 打開ModelSim軟件(或者在Quartus下“Settings->EDA Tools Setting->Simulation”出現的設置欄中選中“Run this tool automatically after compilation”,直接從Quartus下調用ModelSim軟件),可以在當前工程目錄下新建一個Project。在Project標簽欄內點擊右鍵,出現在快捷菜單中選擇“Add to Project->Existing File…”。加入當前工程目錄的“\Simulation\ModelSim\”路徑下的.vo文件、TestBench文件和對應當前工程所選擇器件的網表文件。

比如:當前工程選擇的器件是Cyclone系列,Quartus安裝目錄在“C:\altera”路徑下。因此需要在“C:\altera\quartus50\eda\sim_lib”路徑下找到“cyclone_atom.v”的網表文件導入到ModelSim下的Project。如果是其他器件亦是如此,只要在此目錄下找到對應有“_atom”后綴的.v文件。當然整個大前提是ModelSim SE版本已經加入了Alterta的仿真庫,不過ModelSim-Altera版本就不會存在這樣的問題。

怎樣用modelsim做后仿真  

5) 在出現的Project標簽欄的快捷菜單中選擇“Add to Project->Simulation Configuration”,會出現如上圖所示的名為“Simulation1”的仿真配置。右鍵點擊選擇“Properties”,彈出的“Simulation Properties”對話框中有幾個標簽欄。

在“Design”標簽欄內需要選擇仿真的文件,也就是TestBench文件。
 怎樣用modelsim做后仿真 
在“SDF”標簽欄內需要選擇包含延遲信息的文件,即Quartus下生成的.sdo文件。這里建議將.sdo文件與ModelSim的工程文件(.mpf文件)放在同一個目錄下,不然ModelSim會報類似無法讀取.sdo文件的錯誤。當加入.sdo文件時,需要在如下圖所示的“Apply to Region”的編輯框內填寫延遲信息文件作用的區域。

舉個例子來說明:

  1. TestBench文件中定義了測試文件的Module名稱為ConvEncdTestBnch。
  2. TestBench文件中調用待測頂層文件的實例名為top_encode_1。(top_encode top_encode_1(clk, rst, dataIn, serialData, parData);這是TestBench文件中調用頂層的語句)
  3. 所以在作用區域內需要填寫“/ConvEncdTestBnch/top_encode_1”。

怎樣用modelsim做后仿真 
6) 右鍵點擊名為“Simulation1”的仿真配置,快捷菜單中選擇“Execute”命令,執行仿真。
7) 指定延時文件sdo 路徑時,特別注意“域”的指定,否則用戶會在timing 仿真中報load error “can’t find instance file”. 指定的域可以從sim標簽頁查看sim 的top 層,或要仿真的對象。另外,時序仿真時,一定要記住要把頂層top.v 用 top.vo 替換。同時要確保預編譯的庫中每個庫的名字必需遵循altera的要求,比如:cylcone 的device 庫必需命名為cycclone, maxii 的device命名為maxii, flex10Ke 和acex1K 都命名為flex10Ke,詳細查看文檔附件。Simulation.pdf
8) 提供一個testbench 的模板。
怎樣用modelsim做后仿真 

利用ModelSim SE6.0C實現功能仿真
功能仿真流程比較簡單,一般不會出現什么問題,這里不再多述。

轉載至:http://www.it610.com/article/1560137.htm


免責聲明!

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



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