[筆記]modelsim前仿后仿各種問題


2013-12-16 14:09:58周一

http://hi.baidu.com/renmeman/item/fff4b3145c38e97f2a3e22de

1。我在ISE中啟動modelsim時出現了下面的錯誤
Loading work.tb_ic1_func
# ** Error: (vsim-19) Failed to access library 'xilinxcorelib_ver' at "xilinxcorelib_ver".
# No such file or directory. (errno = ENOENT)
# ** Error: (vsim-19) Failed to access library 'unisims_ver' at "unisims_ver".
# No such file or directory. (errno = ENOENT)
# Loading work.fifoctlr_ic_v2
# ** Error: (vsim-19) Failed to access library 'xilinxcorelib_ver' at "xilinxcorelib_ver".
# No such file or directory. (errno = ENOENT)
# ** Error: (vsim-19) Failed to access library 'unisims_ver' at "unisims_ver".
# No such file or directory. (errno = ENOENT)
# ** Error: (vsim-3033) fifoctlr_ic_v2.v(126): Instantiation of 'BUFGP' failed. The design unit was not found.
是什么原因?
“點到仿真模式,在source里面選中你建立工程選擇的芯片,然后看Processes,點開,有個compile HDL simulation library,運行一下就OK了”
2.ISE用modelsim仿真提示:# ** Error: (vish-4014) No objects found matching '*'.結果仿真時老是報錯:
# ** Error: (vish-4014) No objects found matching '*'.
# Error in macro ./test_top_tb.fdo line 10
# (vish-4014) No objects found matching '*'.
# while executing
# "add wave *"
解決辦法,改modelsim.ini文件中的一個參數:VoptFlow = 0

倘若不行,后來又搜到一種方法,我試了一下,可以解決問題:

點擊工具欄中的“simulate”按鈕,或用菜單中的命令“simualte->start simulation”調出start smulation窗口,關鍵是把窗口中最下邊optimization欄中的Enable optimization項目前的鈎鈎去掉,然后選擇仿真的文件,點擊OK,就一切正常了,能看到objects了。

 

3.當對IP核修改后,用Modelsim仿真顯示:No entity is bound for inst 或 CE is not in the entity。(CE是改動后添加的一個管腳),從而仿真無結果。

解決辦法:首先選中該IP核的.xco文件點擊右鍵->屬性 將屬性改為 "Synthesis/Imp + Simulation."
然后將其對應的.v或.vhd文件的屬性也改為 "Synthesis/Imp + Simulation."

4.啟動modelsim后,沒有出錯,但是有warning:(vsim-3009) [TSCALE] - Module 'ODDR' does not have a `timescale directive in effect, but previous modules do.輸入信號均正確,調用的IP core或原語的輸出為高阻態。

解決辦法:modelsim中調用該IP core或原語的庫不匹配,在xilinx中找到其所在的庫unisims,並重新編譯至modelsim的UNISIMS_VER庫中。問題可得到解決。

2013-06-28   08:59:44周五

來源:http://blog.csdn.net/jbb0523/article/details/7932026

在ModelSim中執行View---FSM list命令,代碼中所有狀態機會生成一個列表。如何你想觀察哪個狀態機,直接雙擊就可以打開它。

這時觀察生成的狀態轉換圖發現,所有的狀態都在復位的情況下返回了狀態IDLE,這是我們不期望的,仔細觀察這時的菜單欄可以發現,有一個FSM View項。將Show Transitions to "Reset"項前面的對勾去掉,就會發現不顯示復位情況下返回狀態IDLE了。

 


來源:http://wjfblack.blog.163.com/blog/static/18005148420117240336431/

保存仿真用了很長時間的波形,方便下次打開直接看,無需再花時間去跑一趟。且也可以用於比較。

1、在wave界面,將仿真波形保存為 .do文件(信號文件)。

 

2、切換左邊任務欄至“sim”,,點擊保存,給將要保存的 .wlf文件(波形文件)命名。

 

3、保存,OK,關閉modelsim.

 

4、重啟modelsim,open 之前保存的 .wlf文件,然后 load 對應的 .do文件。

 

5、enjoy。

 

 

來源:http://www.cnblogs.com/nanoty/archive/2012/10/29/2745463.html

關於Modelsim仿真時不能編譯`include文件解決辦法【Verilog】【Modelsim】

問題描述:

    只要用到include,編譯就出錯,抱怨Cannot open `include file "params.v",但是在使用params.v文件中定義的參數時,已經在調用文件中使用了“`include params.v”命令,如果在其他文件夾中進行編譯,仿真器就會報出“cannot open。。。”或者找不到params.v中定義相應的參數。

解決辦法:

  1. 將所有要編譯文件放在同一個文件夾中,且編譯時在該文件夾中進行編譯;
  2. 使用include命令時,使用絕對路徑對文件進行引用;

2013-02-23     08:32:06

來源:http://www.cnblogs.com/emouse/archive/2012/07/08/2581223.html 此博客描寫了QuartusII調用ModelsimSE的兩種方法,第一種是修改系統產生的*.vt測試激勵,對仿真產生的DO文件(含庫文件編譯、設計文件編譯、運行參數及開始)。同時還講解了DO文件的修改,可以添加中間信號進行考察,可以免去庫文件的編譯。在免去庫文件的編譯時,首先在QII上一次性編譯庫(tool-launch EDA simulation Library Compiler ),然后返回QII的仿真設計界面(Assignment-settingèsimulation-more Nativelink setting )設定好剛才編譯好的庫路徑。

但針對激勵是多個文件時,仿真功能的設計並沒有說明,所以問題暫時沒解決,不過它也間接解決了問題,你可以采用上面這種方法來直接調用modelsim,省去庫的編譯。


2013-02-22    16:20:01

問題:在用QuartusII直接調用ModelsimSE進行仿真時,當測試激勵是由多個文件組成時,就仿真不通過,提示的錯誤信息如下所示:

# ** Error: F:/guangbao/i2c_quartus/hardware/EEPROM_I2C/top.v(23): (vopt-2135) Too many port connections. Expected 5, found 7.

# Optimization failed

# Error loading design

# Error: Error loading design

#        Pausing macro execution

# MACRO ./i2c_test_run_msim_rtl_verilog.do PAUSED at line 22

答案:

停止在22句上,第22句是vsim -t 1ps -L altera_ver -L lpm_ver -L sgate_ver -L altera_mf_ver -L altera_lnsim_ver -L arriav_ver -L arriav_hssi_ver -L arriav_pcie_hip_ver -L rtl_work -L work -voptargs="+acc" top

手動修改成 vsim -novopt work.top就可以仿真,不知道上面那句有什么錯誤,???待解答。

 


來源:http://www.ourdev.cn/thread-4814017-1-1.html

問題:

1、直接用Modelsim做仿真用.v文件,在Quartus下調用modelsim-altera仿真確是調用.vt文件。嘗試了下直接把后綴改了交換用,不行!這很不方便啊,有沒有什么好辦法?

2、做功能仿真時要把Simulate->start simulate ->Design里的enable optimization設成無效,否則出不來波形。為什么?

3、做時序仿真時出現如下錯誤:Error:(vsim-SDF-3250)E:/.../counter_v.sdo(0):Failed to find INSTANCE 'counter_tb/counter'.
這貌似是個老問題了,試了網友說的各種辦法,無效!添加SDF時Apply to Region也試了各種寫法。比如:在“/”前寫測試文件名,后寫頂層例化名。
(我的測試文件名是counter_tb.v,模塊名是counter_tb;功能實現文件是counter.v,模塊名是counter在測試文件里的例化名是counter)。我試了這樣寫:counter_tb/counter這樣寫:counter/counter或這樣寫:/counter,都不行!
如果把Disable SDF warnings和Reduce SDF errors to warnings 都選上,波形倒能出來,但沒有邏輯延時信息,也就是說.sdo里的信息沒參與仿真,相當於只做了功能仿真。

回答:

modelsim 的默認testbench 后綴就是.vt的,要不就手動打開modelsim自己做編譯。
1、優化過后一般都會綜合掉一些軟件認為中間多余的寄存器,所以波形出不來

2、將SDF 文件復制到和網表同一個目錄就行。

3、重點是作用區域的命名規范,我在這花了很長時間,信息來源:http://wenku.baidu.com/view/46d3e14d2b160b4e767fcf88.html


免責聲明!

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



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