ModelsIm是FPGA仿真中最常見的軟件之一。可以單獨利用Modelsim來仿真或者通過開發工具調用來聯合仿真。至于用哪一種方法呢?那就取決于個人的喜好了,經過一段時間的對比,目前我比較趨向于利用開發工具聯調來仿真。主要有以下優勢:
聯調仿真分析,操作簡單。你幾乎不需要手動敲Tcl指令就可以進行仿真,自動化程度更高。
與單獨用Modelsim建立工程仿真相比,聯調仿真一般在仿真是所需要調用的庫,軟件會自動分析,不需要自己篩選仿真所需的庫文件,且不容易出錯。這一優勢在你仿真工程中帶有大量IP核、原語的時候,會體現得淋漓盡致。
在仿真時候,多個測試用例仿真時,層次結構更加清晰。
本文就如何利用vivado聯合modelsim仿真進行簡要說明。
1.仿真前具體設置
利用vivado先編譯好modelsim仿真所需要的庫。存放在某個文件夾中,方便以后調用。我的習慣一般將庫放到modelsim的安裝目錄下,新建一個文件夾來存放新編譯的庫。如下圖所示文件夾叫vivado2017_lib。方便區分,我就以我用的vivado版本來命名。
修改modelsim.ini文件,將庫添加到modelsim的啟動中。具體做法在介紹modelsim仿真一文有詳細說明,這里不展開。
接Vivado的相關設置。主要包含以下4步,其中第4步是把仿真庫指向前一個步驟編譯出來的庫文件。第5步是指向modelsim啟動程序的路徑。
以上即做好了聯合仿真前的準備設置工作了。
2.仿真步驟
工程準備完畢后,添加好仿真所需文件(testbench/仿真激勵模塊)。例如下圖中,1是我準備要仿真的工程。2是仿真的頂層文件即測試用例,3是仿真包含的內容,包括需要仿真的文件(UDT),仿真激勵,例如時鐘以及復位產生文件等。其中UDT即仿真對象是可綜合的文件。
激活當前仿真的測試用例,就可以開始仿真了。
問題1:如何保留我這一次的觀察信號設置?
具體操作步驟如下:
為了方便保留這一次仿真中的一些觀察信號以及設置,我們可以把它保存下來。在modelsim軟件呢中,點擊保存,想這次的相關設置保存好do文件。注意:為例避免被覆蓋掉,一般不能取默認的命名,建議將do文件命名與對應的測試用例對應上。
問題2:怎樣還原上一次的仿真波形等設置?
在下一次啟動modelsim的時候,選擇File—>LoadàMacro_File,然后選擇上一次保留的設置文件即可。
問題3.如何添加多個測試用例文件?
通過下述步驟添加仿真文件。例如不同的testbench等。
針對多個testbench的情況,通過設計set_as_top選擇來激活當前testbench,從而決定該次仿真的測試用例。如下圖的工程中,包含了2個測試用例,當前激活的是tb02。
3.可能出現的問題
聯合仿真的時候,有時候并不像單獨利用modelsim仿真的那樣,會彈出錯誤日志方便你定位。有時候有些錯誤(例如語法錯誤,編譯順序的問題,中文路徑或者缺乏某個文件導致沒能仿真成功)會導致vivado一直卡住了,沒能夠走到調用modelsim的不驟。那么碰到這種情況,我們可以去哪找到日志呢?
以我建的工程為例,一般在vivado存放仿真工程的路徑中,可以找到compile.log和simulate.log這兩個日志文件,方便定位。
4.仿真文件管理建議
一個好的仿真文件管理習慣,有助于快速還原當初的仿真環境,有助于定位問題。
最起碼可以在仿真文件中包含以下幾個子文件夾,其中HDL用于存放仿真是所編寫的一些文件,例如仿真的時鐘產生模塊、外圍芯片模型等;TB_PTN用于存放不同的測試用例,即不同的testbench。Wave文件用于存放針對不同testbench下觀察信號的設置等等。
審核編輯:湯梓紅
-
FPGA
+關注
關注
1629文章
21729瀏覽量
602986 -
仿真
+關注
關注
50文章
4070瀏覽量
133552 -
ModelSim
+關注
關注
5文章
174瀏覽量
47162 -
編譯
+關注
關注
0文章
657瀏覽量
32852 -
Vivado
+關注
關注
19文章
812瀏覽量
66470
原文標題:4.仿真文件管理建議
文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論