前序
對于激勵文件,我常用的是直接手寫,最初學(xué)這個的時候,好像是用的Quartus里的那個Modelsim-Altera的工具去弄了下圖形化編輯去制作約束,現(xiàn)在講到這ModelSim了,也就再撿點來折騰下,還是有點學(xué)習(xí)價值,畢竟編輯的約束就真的很“直觀”了。
編譯文件
其他的就不多回憶了,直接開正題吧,一如既往,把待用的文件準(zhǔn)備好,這次就只需要一個counter.v的文件,然后把ModelSim的當(dāng)前路徑切換到你文件所放的路徑,接著在腳本窗口敲:
vlib work
再把文件編譯一下:
vlog counter.v
在菜單欄里 Simulate => Start Simulation,彈出來的窗口把文件選好準(zhǔn)備進(jìn)仿真界面;
產(chǎn)生激勵信號
在仿真的界面,選中Objects的窗口里的clk,右鍵如下操作:
出來的界面,就是設(shè)置類型,然后就是開始和結(jié)束的時間,精度都是ns,根據(jù)自己情況改,我就默認(rèn)Next下去
這個窗口就是讓你配時鐘參數(shù),占空比、周期之類的,初始值寫個0進(jìn)去
接著就在Wave的界面出現(xiàn)一個帶“Edit”還有紅色標(biāo)記的clk信號
時鐘有了,就再加個復(fù)位信號
操作與上類似,類型就選個常數(shù)
把變量值寫個0
結(jié)束后,就有復(fù)位信號出現(xiàn)了
因為這個文件的功能比較簡單,所以有這兩個信號就夠用了,接著演示下怎么圖形化的去編輯波形,從而得到自己想要的激勵形式;
編輯激勵信號
因為代碼是使用的高電平復(fù)位,所以先讓復(fù)位工作起來,再停止復(fù)位,就相當(dāng)于在現(xiàn)在的0常量里頭加一個高電平脈沖,先鼠標(biāo)點下Wave的界面,然后工具欄里的這個Edit Mode的圖標(biāo)就會生效
把模式切換到編輯模式,選中reset,右鍵后的Wave Editor就可以看到Inset Pulse的功能
出現(xiàn)的設(shè)置項,就是要保持多長時間,已經(jīng)開始插入脈沖的時刻;
reset就發(fā)生對應(yīng)的變化
如果添加的不對,就可以選擇好添加脈沖的邊沿時刻,然后再工具欄找到“Delete Edge”的圖標(biāo)(右鍵Wave Editor里也是一樣),點一下,出現(xiàn)的窗口是需要刪除的邊沿時刻,確定后就會把這個對應(yīng)的時刻后邊的整個邊沿連續(xù)的部分,都刪除(刪除了記得再插回去哈,接著往下演)
如果復(fù)位時間感覺不夠,就再補(bǔ)個拉伸的操作,把邊沿擴(kuò)長,比如在150ns的時刻,從后向前補(bǔ)50ns(就相當(dāng)于高電平在前面的50ns)
然后就可以看到效果了,在邊沿拉升到了100ns處
如果要往后面補(bǔ),就選后邊沿,從前往后補(bǔ)
編輯上就是這樣根據(jù)自己情況去插入或者刪除多余的狀態(tài),然后再過一下,把時鐘的信號隨便打亂幾拍(亂操作哈,別當(dāng)成實際應(yīng)用了.....)
約束就假裝編輯好了,然后可以準(zhǔn)備“逆”生成一個激勵文件了~
激勵文件生成
開始導(dǎo)出對應(yīng)的文件
選擇Verilog形式的激勵文件(也搞個ECVD File),1000ns后結(jié)束激勵,選好存儲的路徑,文件名也設(shè)置好就可以O(shè)K
在對應(yīng)的路徑就能有這兩個文件了
這時候再將Obejcets里的count變量添加到Wave窗口,并運(yùn)行1000ns仿真,發(fā)現(xiàn)數(shù)據(jù)出來了~
退出仿真
Testbench測試
準(zhǔn)備用剛剛導(dǎo)出的激勵文件來進(jìn)行仿真測試,先把它編譯到工作庫里
vlog export_tb.v
然后運(yùn)行仿真
把信號添加到Wave里作觀察,并運(yùn)行1000ns的仿真
add wave *
run 1000ns
可以看到仿真按激勵進(jìn)行~
退出仿真
EVCD測試
接著演示下VCD文件的使用,直接啟動counter的仿真,然后先點下Wave界面,把這個EVCD的導(dǎo)入形式激活
再把EVCD導(dǎo)進(jìn)來,編輯的信號就又出來了,再把count的變量也加到Wave里,并運(yùn)行1000ns
run 1000ns
補(bǔ)個EVCD的使用,如果EVCD里的信號沒有和對應(yīng)的代碼變量名對應(yīng)起來,可以自己手動去把它進(jìn)行映射,比如,clk
在窗口里選擇要映射的信號,OK后就映射好了
結(jié)束
這種可視化編輯,然后再產(chǎn)生出激勵文件的形式大概就這樣了,還不會咋寫激勵文件的可以這樣嘗試折騰折騰,說不定就突然很有“靈感”了。
原文標(biāo)題:Modelsim的仿真之路(激勵文件“逆”生成)
文章出處:【微信公眾號:FPGA技術(shù)江湖】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
-
仿真
+關(guān)注
關(guān)注
50文章
4083瀏覽量
133613 -
ModelSim
+關(guān)注
關(guān)注
5文章
174瀏覽量
47219 -
編譯
+關(guān)注
關(guān)注
0文章
657瀏覽量
32873
原文標(biāo)題:Modelsim的仿真之路(激勵文件“逆”生成)
文章出處:【微信號:HXSLH1010101010,微信公眾號:FPGA技術(shù)江湖】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論