前言
有備份習慣的人都會在遇到一些問題時,把備份前后的內容進行比較,用以了解改動的地方是否為該問題的導致因素。
在仿真上,除了比較仿真激勵代碼外,直接比較仿真結果也是一種需要。
創建參考源
先準備創建一個用于比較的參考源,相應使用的參考代碼文末獲取,Modelsim進入相應的路徑
cd e:/Soft_File/Sim_File/compare
接著編譯,并添加仿真信號至窗口顯示,并同步將仿真結果存在“gold.wlf” 的文件中
vlib work vlog *.v vsim -wlf gold.wlf test_sm add wave * run 750 ns
運行完之后直接退出即可,準備創建測試源2
quit -sim
產生測試源
更改test_sm.v的文件內容,原本的'hbb換成'hac
保存好代碼后,重新在Modelsim內編譯
vlog test_sm.v vsim test_sm add wave * run 750 ns
這個源就不用保存了,在仿真的界面準備導入剛剛存好的glod.wlf進行比較即可。
比較差異
在工具欄找比較的向導,Tools > Waveform Compare > Comparison Wizard
出現的界面選好參考源,默認采用當前仿真的測試源進行比較,也可以自行指定測試源;
點Next,在該界面選擇要比較的形式,可以是全部信號,也可以是頂層端口,或者自定義,這時注意看窗口,會發現多了gold以及cmpare;
選第一個“Compare All Signals”后,Next,可以看到Wave窗口添加了比較的信號,此時圖標顏色也明顯做了黃藍的區分
再Next,出現比較的按鈕,點擊Compute...,Wave界面的信號會出現紅色的信息,即波形差異結果,點擊Finish關掉向導窗口,準備后面的觀察。
結果查看
找到第一個紅色區,然后點擊比較結果旁邊的“+”,把信號展開,相應的時序差異一目了然
其他區域同樣的操作可查看對比結果,在工具欄有這幾個跳轉的圖標,可以自己體驗下.....(選中某行的對比信號,然后按Tab鍵或者Shift+Tab鍵個人感覺好用些)
除了看波形外,還可以直接看數據,工具欄View > List
這時候List界面是空的,需要將compare界面的test_sm拖到List中顯示
拖動滾軸,差異的地方會是高亮黃色,點對應的變量,相應列會高亮綠色;
保存結果
可以將比較的結果以報告的形式保存,Tools > Waveform Compare > Differences > Write Report
默認以compare.txt的文件存于當前運行路徑下
還可以保存比較的差異與規則,后面直接調用即可進行相同的比較操作;
先保存差異信息,Tools > Waveform Compare > Difference > Save ,默認以compare.dif的文件存于當前運行路徑下
再保存對應的比較規則,Tools > Waveform Compare > Rules > Save ,默認以compare.rul的文件存于當前運行路徑下
然后就可以關閉比較界面,Tools > Waveform Compare > End Comparison ,準備重載結果查看下操作了。
重載結果
此時的gold源是已經關掉了,因而重載前需要再將該文件打開
接著就可以正式重載結果了,Tools > Waveform Compare > Reload
默認已經填好了上邊存好的兩個文件,點OK即可重現剛剛的結果~
退出所有操作....
quit -sim #附注:可以命令關閉gold源文件 dataset close gold
結束
本篇到此結束,關于ModelSim的仿真之路也到此結束,拖著寫,也終于結束了該工具的總體使用,接下來就是你們自行發揮各種組合操作了!
審核編輯:劉清
-
MODELSIM仿真
+關注
關注
0文章
15瀏覽量
7283
原文標題:Modelsim的仿真之路(結束篇之波形比較)
文章出處:【微信號:HXSLH1010101010,微信公眾號:FPGA技術江湖】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論