modelsim無法編譯模擬庫
㈠ modelsim不能編譯Altera的庫文件。
編譯庫應該成功了,在你調用altera庫時,沒有指定這些altera庫的位置,一般用 -L lib_altera
後面的那個lib_altera名字由你自己指定的,load lib時指定的名稱。
㈡ modelsim 編譯不了怎樣辦就是程序保存了以後編譯沒反應
2
modelsim模擬需要編寫測試文件,就是testbench,如果是您所敘述的情況,很有可能
6
問題:我燒寫經Quartus
5.0編譯的loopback程序,解碼晶元SAA7113和編
㈢ 如何用Modelsim模擬
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)」)。
另外在設置欄中還有其他的核選框。
如果選中「Maintain hierarchy」,則表示在做時序模擬時就能看到像在功能模擬的工程文件層次結構,可以找到定義的內部信號。因為在做後仿時,源文件中的信號名稱已經沒有了,被映射為軟體綜合後自己生成的信號名,觀察起來很不方便。這個設置與ISE里綜合右鍵屬性的Keep Hierarchy選擇YES的功能是一樣的。
如果選中「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版本就不會存在這樣的問題。
5) 在出現的Project標簽欄的快捷菜單中選擇「Add to Project->Simulation Configuration」,會出現如上圖所示的名為「Simulation1」的模擬配置。右鍵點擊選擇「Properties」,彈出的「Simulation Properties」對話框中有幾個標簽欄。
在「Design」標簽欄內需要選擇模擬的文件,也就是TestBench文件。
在「SDF」標簽欄內需要選擇包含延遲信息的文件,即Quartus下生成的.sdo文件。這里建議將.sdo文件與ModelSim的工程文件(.mpf文件)放在同一個目錄下,不然ModelSim會報類似無法讀取.sdo文件的錯誤。當加入.sdo文件時,需要在如下圖所示的「Apply to Region」的編輯框內填寫延遲信息文件作用的區域。
舉個例子來說明:
TestBench文件中定義了測試文件的Mole名稱為ConvEncdTestBnch。
TestBench文件中調用待測頂層文件的實例名為top_encode_1。(top_encode top_encode_1(clk, rst, dataIn, serialData, parData);這是TestBench文件中調用頂層的語句)
所以在作用區域內需要填寫「/ConvEncdTestBnch/top_encode_1」。
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 SE6.0C實現功能模擬
功能模擬流程比較簡單,一般不會出現什麼問題,這里不再多述。
㈣ modelsim 模擬問題
modelsim模擬錯誤解決辦法
編譯不成功可能是因為:
1、本身程序有問題。
2、沒有設置頂層文件
3、modelsim 出現錯誤是不要只是看錯誤的地方,也要看前面的一部分
㈤ 使用Modelsim模擬時出現的問題
先根據代碼檢查所有文檔是不是在正確的目錄下並且可操作
然後重新編譯所需文檔,注意加入需要的庫
最後不行搜索macro ./yuanlitu.ldo文檔看看裡面是不是有設置問題,重點看看15行
㈥ modelsim不停出現loading……無法模擬
我也遇到這樣的問題。可能與網路有關。我用代理軟體proxifier聯網時,一直出現這種問題。關閉這個軟體後,便可以載入波形。你可以試著斷網,再看能否載入波形
㈦ 如何在modelsim中編譯xilinx的庫文件
將Modelsim根目錄下的modelsim.ini的屬性由只讀改為可寫。
新建一個文件夾,比如library(為敘述方便,把它放在modelsim的根目錄下)。D:/modelsim/library.
啟動Modelsim,選擇[File]/[chang
Directory],選擇D:/modelsim/library.
選擇[File]/[New]/[library]命令,彈出[Creat a New
library],在[lihrary
Name]中輸入「simprims_ver」,同時下一欄也自動輸入「simprims_ver」,單擊OK。
在主窗口中選擇[compile]/[Compile]命令,彈出[compile Source
Files],在[Library]的下拉列表中選擇「simprims_ver」在[查找范圍]中選中[Xilinx/veriog/src/simprims]目錄下的全部文件,單擊complie進行編譯。(這時可能會花你一些時間,耐心等待編譯完畢)用同樣的方法將unisims和Xilinxcorelib三個模擬庫進行編譯。
這時在D:/modelsim/library 下就有以上三個模擬庫。
7.總結步驟為a:建立庫的放置路徑b:對庫進行編譯c:對庫進行映射。最後重新啟動Modelsim可以在列表中看到建立的三個庫。
那麼這個辦法明顯是比較麻煩的。其實我們可以這樣做;
首先將modelsim.ini文件只讀模式去掉,存檔前面打對勾。
在您安裝ise的目錄下,進入到bin\nt目錄下,例如e:\ise6\bin\nt,確認有compxlib這個程序
在cmd中運行compxlib -s mti_se -f all -l all -o
e:\modeltech_6.0\xilinx_libs就可以了,e:\modeltech_6.0是我安裝modelsim的目錄,您可以作相應的更改。參數也可以按照您的要求作相應的更改。
這樣就可以了。
需要注意的是,千萬記住ise和modelsim的安裝目錄都不要出現空格,最好是直接安裝在根目錄下。
具體單獨用modelsim進行behavioral
model的方法是,打開modelsim,把你的代碼和模擬代碼文件加入,別忘了加入glbl.v文件。在哪裡?自己找吧。然後編譯,work庫這些設置好後,命令行(modelsim里的)輸入
vsim -L Xilinxcorelib_ver -L unisims_ver -L simprims_ver -libwork$yourtestname glbl就可以了
我自己發現的更簡便的編譯方法,bin\nt
文件夾下有一個compxlibgui.exe程序,直接運行,後邊的步驟很傻瓜,試試就明白了:)
㈧ 如何用ModelSim se完全編譯Xilinx庫文件
Modlesim 模擬庫的建立:
將Modelsim根目錄下的modelsim.ini的屬性由只讀改為可寫。
新建一個文件夾,比如library(為敘述方便,把它放在modelsim的根目錄下)。D:/modelsim/library.
啟動Modelsim,選擇[File]/[chang Directory],選擇D:/modelsim/library.
選擇[File]/[New]/[library]命令,彈出[Creat a New library],在[lihrary Name]中輸入「simprims_ver」,同時下一欄也自動輸入「simprims_ver」,單擊OK。
在主窗口中選擇[compile]/[Compile]命令,彈出[compile Source Files],在[Library]的下拉列表中選擇「simprims_ver」在[查找范圍]中選中[Xilinx/veriog/src/simprims]目錄下的全部文件,單擊complie進行編譯。(這時可能會花你一些時間,耐心等待編譯完畢)用同樣的方法將unisims和Xilinxcorelib三個模擬庫進行編譯。
這時在D:/modelsim/library 下就有以上三個模擬庫。
7.總結步驟為a:建立庫的放置路徑b:對庫進行編譯c:對庫進行映射。最後重新啟動Modelsim可以在列表中看到建立的三個庫。
那麼這個辦法明顯是比較麻煩的。其實我們可以這樣做;
首先將modelsim.ini文件只讀模式去掉,存檔前面打對勾。
在您安裝ise的目錄下,進入到bin
t目錄下,例如e:ise6in
t,確認有compxlib這個程序
在cmd中運行compxlib -s mti_se -f all -l all -o e:modeltech_6.0xilinx_libs就可以了,e:modeltech_6.0是我安裝modelsim的目錄,您可以作相應的更改。參數也可以按照您的要求作相應的更改。
這樣就可以了。
需要注意的是,千萬記住ise和modelsim的安裝目錄都不要出現空格,最好是直接安裝在根目錄下
modelsim下編譯xilinx庫的方法
這幾天,建庫的問題比較多,寫一個建庫的方法。
所用軟體:ISE7.1i+ModelsimSE6.0
語言:VHDL
首先安裝軟體。注意:ISE,Modelsim的安裝路徑不能含有空格。
另外,Modelsim的安裝路徑可設為「$:/modelsim」,其中$為盤符,不要使用默認的安裝路徑。
將Modelsim根目錄下的modelsim.ini文件的只讀屬性去掉。
在modelsim的命令窗口中輸入命令「compxlib -s mti_se -arch all -l vhdl -w -lib all」,按回車鍵即可。
編譯完成後,將Modelsim根目錄下的modelsim.ini文件的屬性設置為只讀。
關於「compxlib」命令各項參數的含義,請在modelsim的命令窗口中輸入「compxlib -help」查詢
把庫建好後,接下來的事情就是使它成為modelsim的標准庫。這只要修改modelsim安裝目錄下的modelsim.ini文件就可以了。修改後的內容如下:
[Library]
std = $MODEL_TECH/../std
ieee = $MODEL_TECH/../ieee
verilog = $MODEL_TECH/../verilog
vital2000 = $MODEL_TECH/../vital2000
std_developerskit = $MODEL_TECH/../std_developerskit
synopsys = $MODEL_TECH/../synopsys
modelsim_lib = $MODEL_TECH/../modelsim_lib
simprim_ver = G:/EDA/Xilinx/simprim_ver(庫的路徑,以下同)
unisim_ver = G:/EDA/Xilinx/unisim_ver
xilinxcorelib_ver = G:/EDA/Xilinx/xilinxcorelib_ver
注意的是,這個文件是只讀屬性。修改之前要把這個屬性去掉。
第六步:關掉工程,重啟modelsim。查看這3個庫是否在library框裡面。
二、 在ISE環境下,調用synplify,生成後模擬所需要的文件。
之所以要在ISE環境下調用synplify,主要是因為方便!我也嘗試過在synplify環境下綜合設計文件,然後在ISE里編譯synplify生成的edif文件。但是不成功。ISE在第三方工具支持方面做的是比較好的,感覺跟用ISE直接綜合一樣。不過有一個缺點是看不了RTL原理圖。你可以在synplify中打開ISE生成的synplify工程文件,解決在ISE中不方便查看synplify綜合結果的問題。現在,就要開始第二個大步驟了!
第一步:創建ISE工程文件。選擇好器件。注意Design Flow中一定要選擇Synplify Pro Verilog。
第二步:綜合設計文件,也就是verilog文件。
ISE就會自動調用synplify。(如果沒有的話,那可能是你的系統環境變數沒有設置好)。此時會彈出一個對話框,要你選擇synplify的liscense。(這步本來不用說的。如果沒有對話框彈出來的話,也不要緊)隨便選擇一個,就等結果了。
第三步:生成後模擬需要的文件。
我們可以看到在Implement Design中有三個大分支,這對應著三種模擬。按你的需要按下相應的圖標,生成modelsim後模擬所需要的文件,下面對生成的文件和生成這些文件的圖標進行說明。
第三步:在彈出的對話框里,選擇SDF項。把ISE生成的SDF文件添加進出。如下圖:
記住Apply to Region這一項要寫好。它對應的是你的tb文件(就是測試文件)調用的頂層模塊名。(不是頂層模塊名!!)比如你的測試文件是text,例化頂層模塊top為i_top,那你應該這樣填:text/i_top或者/text/i_top。如果是第一種模擬,此步可以省略。
第四步:添加library。
我們創建的那三個庫終於派上用場了!我們要添加的就是這3個。選擇library項,添加這3個庫。你的庫建在哪裡,就去哪裡找!這個也不用說了吧
第五步:選擇要模擬的模塊。
你先不要急,看清楚再選。(有些朋友性子急,駕輕就熟就選了)
我們要選的模擬模塊可不止一個,如下圖,用CTRL鍵實現!!選了之後點0k!!
㈨ modelsim創建了.vhd文件 但無法編譯成功顯示work(empty) 求大俠指點~
新建工程和work庫都有了,就是新建一個VHDL文件時,輸入代碼後不能編譯,但是如果先復制一個編譯好的VHDL文件在工程了,就可以顯示status和編譯模擬,請問這是為什麼?
還有,以下是Transcript的出錯信息:
# ** Error: (vish-19) Failed to access library 'work' at "work"
# No such file or directory. (errno = ENOENT)
或是新建文件type不對,改為VHDL再map到work庫就可以編譯了……-……
㈩ ISE和Modelsim編譯模擬庫的時候 到12%左右就出現這些問題了,下邊還有好多類是的問題,煩死了!求助啊!
project載入有問題,似乎還有語法問題,可以現在modelsim中編譯檢查,成功之後再從xilinx ise中調用modelsim進行模擬