本篇將以工程的形式來介紹ModelSim的仿真使用,工程一般由:根目錄+源碼+work庫+資源庫+仿真設(shè)置+元數(shù)據(jù)組成,其中元數(shù)據(jù)就是工程的一些設(shè)置數(shù)據(jù),會以一個 .mpf 后綴的文件存在于指定路徑,在這之中會包換:編譯的設(shè)置,編譯順序還有文件的映射之類的。 開始今天的使用吧~
創(chuàng)建工程
將本篇使用到的文件放置到自己的工程路徑下,然后選擇菜單欄 File > New > Project

在彈出的界面中填寫工程的名字、工程的路徑、以及工程默認庫的名字,使用默認的work就好了、還有就是初始化配置文件的路徑,配置文件選安裝路徑下的modelsim.ini即可,然后選擇Copy Library Mappings,這樣就可以把這個文件直接加到這個工程中了,使用Reference也可以;

都填好后,直接OK,這時就改進入工程的設(shè)置了,由于是一個空的工程,所以系統(tǒng)會彈出添加東西到工程的窗口,在這窗口,可以創(chuàng)建新的文件、添加已有的文件、創(chuàng)建仿真的配置以及創(chuàng)建文件夾,因為已經(jīng)準備好了文件,所以就直接點 Add Existing File;

點完后,又出現(xiàn)了一個新的窗口,提示要從哪添加文件,點Browse,然后將counter.v和tcounter.v加進來,最下方的選項,因為工程已經(jīng)和這兩個文件在一個目錄下了,所以選擇Reference即可,如果是其他路徑下的,就可以考慮Copy過來進行管理;

接著OK,然后Close掉添加東西到工程的界面,這時候注意Project的欄中,多了剛添加的兩個文件,且Status顯示的是一個藍色問號,這代表該文件還未編譯;Order就是兩者的一個編譯順序以及文件改動的時間;

文件編譯


如果想改變編譯順序,右鍵 > Compile > Compile Order

使用這兩個箭頭來改變文件的編譯順序,點Auto Generate 就會以Top層開始進行編譯,如果順序不正確,它也會自動循環(huán)跑,然后找到這個Top層往下一層層的編,可以的話,就自己用箭頭先把順序按正確的來設(shè)置好。

除了用上面的Auto來編譯外,還可以直接單個編譯,或者選全部編譯,圖中兩個箭頭所指。

編譯成功后,狀態(tài)會變?yōu)榫G色的勾,如果代碼出問題了,就是個紅色的X,這時候就有根據(jù)Transcript 的信息去改代碼了,跳到Library的窗口,從原本empty的狀態(tài)變?yōu)榱艘粋€帶 + 號的狀態(tài)。

點開 + 號,可以看到兩個編譯的結(jié)果,名字、類型和路徑都在信息里,選中test_counter,右鍵 > Simulate,進入仿真界面。

在Sim窗口含仿真文件的層次結(jié)構(gòu),接著的基本仿真使用就和上一篇的一樣了。

在Transcript窗口輸入:quit -sim,退出仿真,準備接下來的。
文件管理


因為是舉例,所以使用到的文件比較少,但是平常做項目的適合,文件就多了,這時候如果沒有管理好文件的類別,那就看著有點頭疼了,接下來用文件夾的形式來管理文件; 在剛開始創(chuàng)工程的時候,就有個Create New Folder的選項,可以在這時候就創(chuàng)建好文件夾,在工程創(chuàng)建好后還需要新建文件夾來管理,就接著往下操作; 回到Project的窗口,右鍵 > Add to Project > Folder ,在彈出的窗口輸入文件夾的名字,按正常的文件夾格式來對文件夾取名就好了,然后OK。

在Project窗口中也多了一個文件夾的圖標。

只有一個文件夾的話,顯然,如果是一堆文件,那就還需要做細分,這邊就按激勵文件和模塊文件來分類,繼續(xù) 右鍵 > Add to Project > Folder ,填寫子文件夾的名字,且將該文件夾放置在Design Files的文件夾下,然后OK。

重復上述的操作,再加入一個Source的子文件夾,然后效果如下。

然后就該把文件添加到對應的文件夾下進行管理了,選中 counter.v(如果是多個文件,就選中多個) 然后右鍵 > Properties。

在屬性窗口,可以從 Place In Folder 看到文件放在Top層,修改它,將其放置在Source層,然后OK。

重復上述操作,將tcounter.v放入testbench文件夾下,這時的效果如下。

會發(fā)現(xiàn)狀態(tài)又變成了問號,這是因為改變了文件的位置,工程已經(jīng)不知道編譯結(jié)果是否依然有效,所以需要重新編譯才能繼續(xù)使用。
仿真配置


仿真配置就是將模塊和仿真的選項存在了一個文件中,然后直接使用該文件就可以自動按設(shè)置好的啟動仿真,舉個例子:假設(shè)你的某個模塊需要對仿真的時間精度然后還需要做一些自檢啥的,這時候就可以直接用配置文件來操作,以省去不必要的步驟。 在Project窗口 右鍵>Add to Project > Simulation Configuration ,在出現(xiàn)的界面中,填入配置文件的名字,以及放置的文件夾,這邊選則放在testbench文件夾下;

接著選中work庫下的 test_counter,仿真精度(Resolution)改為ps。

選中Verilog的窗口,將Enable hazard checking (-hazards) 的選項打勾,然后點Save進行保存。

在文件夾下就有了該仿真配置,直接雙擊它。

然后在Transcript 窗口可以看到仿真的命令和之前的有了一些不同,是按照剛剛的設(shè)置啟動了仿真。

結(jié)束


本篇關(guān)于仿真工程的使用就介紹到這了,如果工程未關(guān)閉,下次啟動modelsim時,則會自動打開該工程,要關(guān)閉的話,F(xiàn)ile > Close Project ,再點“是”就好了。

-
仿真
+關(guān)注
關(guān)注
54文章
4483瀏覽量
138264 -
源碼
+關(guān)注
關(guān)注
8文章
685瀏覽量
31319 -
ModelSim
+關(guān)注
關(guān)注
5文章
175瀏覽量
49280
原文標題:Modelsim的仿真之路(仿真工程的使用)
文章出處:【微信號:HXSLH1010101010,微信公眾號:FPGA技術(shù)江湖】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
Altair CFD 以技術(shù)賦能工程創(chuàng)新?
請問CW32W031針對無線部分的固件庫以什么形式提供?
如何使用Modelsim仿真I2C控制器
一文詳解SystemC仿真庫的編譯
【產(chǎn)品介紹】Modelsim:HDL語言仿真軟件
Vivado仿真之后沒有出現(xiàn)仿真結(jié)果的解決方法
ModelSim仿真蜂鳥E203 / 200 教程【功能驗證】
利用蜂鳥內(nèi)核來實現(xiàn)指令的仿真模擬
【產(chǎn)品介紹】Altair MotionSolve多體系統(tǒng)仿真軟件
Simcenter FLOEFD LED 模塊:精確的熱特性和光學仿真,打造成功的照明產(chǎn)品設(shè)計
【RK3568+PG2L50H開發(fā)板實驗例程】FPGA部分 | Pango 的時鐘資源——鎖相環(huán)
Simcenter STAR-CCM+多相CFD仿真:自信對復雜的工業(yè)多相應用精確建模
以工程的形式來介紹ModelSim的仿真使用
評論