本篇將以工程的形式來介紹ModelSim的仿真使用,工程一般由:根目錄+源碼+work庫+資源庫+仿真設(shè)置+元數(shù)據(jù)組成,其中元數(shù)據(jù)就是工程的一些設(shè)置數(shù)據(jù),會(huì)以一個(gè) .mpf 后綴的文件存在于指定路徑,在這之中會(huì)包換:編譯的設(shè)置,編譯順序還有文件的映射之類的。 開始今天的使用吧~
創(chuàng)建工程
將本篇使用到的文件放置到自己的工程路徑下,然后選擇菜單欄 File > New > Project
在彈出的界面中填寫工程的名字、工程的路徑、以及工程默認(rèn)庫的名字,使用默認(rèn)的work就好了、還有就是初始化配置文件的路徑,配置文件選安裝路徑下的modelsim.ini即可,然后選擇Copy Library Mappings,這樣就可以把這個(gè)文件直接加到這個(gè)工程中了,使用Reference也可以;
都填好后,直接OK,這時(shí)就改進(jìn)入工程的設(shè)置了,由于是一個(gè)空的工程,所以系統(tǒng)會(huì)彈出添加?xùn)|西到工程的窗口,在這窗口,可以創(chuàng)建新的文件、添加已有的文件、創(chuàng)建仿真的配置以及創(chuàng)建文件夾,因?yàn)橐呀?jīng)準(zhǔn)備好了文件,所以就直接點(diǎn) Add Existing File;
點(diǎn)完后,又出現(xiàn)了一個(gè)新的窗口,提示要從哪添加文件,點(diǎn)Browse,然后將counter.v和tcounter.v加進(jìn)來,最下方的選項(xiàng),因?yàn)楣こ桃呀?jīng)和這兩個(gè)文件在一個(gè)目錄下了,所以選擇Reference即可,如果是其他路徑下的,就可以考慮Copy過來進(jìn)行管理;
接著OK,然后Close掉添加?xùn)|西到工程的界面,這時(shí)候注意Project的欄中,多了剛添加的兩個(gè)文件,且Status顯示的是一個(gè)藍(lán)色問號(hào),這代表該文件還未編譯;Order就是兩者的一個(gè)編譯順序以及文件改動(dòng)的時(shí)間;
文件編譯
如果想改變編譯順序,右鍵 > Compile > Compile Order
使用這兩個(gè)箭頭來改變文件的編譯順序,點(diǎn)Auto Generate 就會(huì)以Top層開始進(jìn)行編譯,如果順序不正確,它也會(huì)自動(dòng)循環(huán)跑,然后找到這個(gè)Top層往下一層層的編,可以的話,就自己用箭頭先把順序按正確的來設(shè)置好。
除了用上面的Auto來編譯外,還可以直接單個(gè)編譯,或者選全部編譯,圖中兩個(gè)箭頭所指。
編譯成功后,狀態(tài)會(huì)變?yōu)榫G色的勾,如果代碼出問題了,就是個(gè)紅色的X,這時(shí)候就有根據(jù)Transcript 的信息去改代碼了,跳到Library的窗口,從原本empty的狀態(tài)變?yōu)榱艘粋€(gè)帶 + 號(hào)的狀態(tài)。
點(diǎn)開 + 號(hào),可以看到兩個(gè)編譯的結(jié)果,名字、類型和路徑都在信息里,選中test_counter,右鍵 > Simulate,進(jìn)入仿真界面。
在Sim窗口含仿真文件的層次結(jié)構(gòu),接著的基本仿真使用就和上一篇的一樣了。
在Transcript窗口輸入:quit -sim,退出仿真,準(zhǔn)備接下來的。
文件管理
因?yàn)槭桥e例,所以使用到的文件比較少,但是平常做項(xiàng)目的適合,文件就多了,這時(shí)候如果沒有管理好文件的類別,那就看著有點(diǎn)頭疼了,接下來用文件夾的形式來管理文件; 在剛開始創(chuàng)工程的時(shí)候,就有個(gè)Create New Folder的選項(xiàng),可以在這時(shí)候就創(chuàng)建好文件夾,在工程創(chuàng)建好后還需要新建文件夾來管理,就接著往下操作; 回到Project的窗口,右鍵 > Add to Project > Folder ,在彈出的窗口輸入文件夾的名字,按正常的文件夾格式來對(duì)文件夾取名就好了,然后OK。
在Project窗口中也多了一個(gè)文件夾的圖標(biāo)。
只有一個(gè)文件夾的話,顯然,如果是一堆文件,那就還需要做細(xì)分,這邊就按激勵(lì)文件和模塊文件來分類,繼續(xù) 右鍵 > Add to Project > Folder ,填寫子文件夾的名字,且將該文件夾放置在Design Files的文件夾下,然后OK。
重復(fù)上述的操作,再加入一個(gè)Source的子文件夾,然后效果如下。
然后就該把文件添加到對(duì)應(yīng)的文件夾下進(jìn)行管理了,選中 counter.v(如果是多個(gè)文件,就選中多個(gè)) 然后右鍵 > Properties。
在屬性窗口,可以從 Place In Folder 看到文件放在Top層,修改它,將其放置在Source層,然后OK。
重復(fù)上述操作,將tcounter.v放入testbench文件夾下,這時(shí)的效果如下。
會(huì)發(fā)現(xiàn)狀態(tài)又變成了問號(hào),這是因?yàn)楦淖兞宋募奈恢?,工程已?jīng)不知道編譯結(jié)果是否依然有效,所以需要重新編譯才能繼續(xù)使用。
仿真配置
仿真配置就是將模塊和仿真的選項(xiàng)存在了一個(gè)文件中,然后直接使用該文件就可以自動(dòng)按設(shè)置好的啟動(dòng)仿真,舉個(gè)例子:假設(shè)你的某個(gè)模塊需要對(duì)仿真的時(shí)間精度然后還需要做一些自檢啥的,這時(shí)候就可以直接用配置文件來操作,以省去不必要的步驟。 在Project窗口 右鍵>Add to Project > Simulation Configuration ,在出現(xiàn)的界面中,填入配置文件的名字,以及放置的文件夾,這邊選則放在testbench文件夾下;
接著選中work庫下的 test_counter,仿真精度(Resolution)改為ps。
選中Verilog的窗口,將Enable hazard checking (-hazards) 的選項(xiàng)打勾,然后點(diǎn)Save進(jìn)行保存。
在文件夾下就有了該仿真配置,直接雙擊它。
然后在Transcript 窗口可以看到仿真的命令和之前的有了一些不同,是按照剛剛的設(shè)置啟動(dòng)了仿真。
結(jié)束
本篇關(guān)于仿真工程的使用就介紹到這了,如果工程未關(guān)閉,下次啟動(dòng)modelsim時(shí),則會(huì)自動(dòng)打開該工程,要關(guān)閉的話,F(xiàn)ile > Close Project ,再點(diǎn)“是”就好了。
-
仿真
+關(guān)注
關(guān)注
50文章
4003瀏覽量
133238 -
源碼
+關(guān)注
關(guān)注
8文章
630瀏覽量
29074 -
ModelSim
+關(guān)注
關(guān)注
5文章
174瀏覽量
47065
原文標(biāo)題:Modelsim的仿真之路(仿真工程的使用)
文章出處:【微信號(hào):HXSLH1010101010,微信公眾號(hào):FPGA技術(shù)江湖】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論