Verilog代碼編寫完成后,可以Modelsim中進行編譯。
與其他編程軟件相同,錯誤(error)的定位不一定準確,錯誤的發(fā)生位置可能與編譯時提示的錯誤位置不同;檢查error時,要從第一行開始檢查,可能位置靠前的錯誤更正后,位置靠后的錯誤同時被更正。
與其他編程軟件不同,警告(Warning)不能忽略,只有error/warning都消除才能進行仿真。否則,仿真結(jié)果可能不正確,可能導(dǎo)致真實芯片出現(xiàn)問題,造成百萬元到千萬元人民幣的損失。
圖片來源:學(xué)堂在線《IC設(shè)計與方法》
正確編譯完成后,可以進行仿真。
Modelsim仿真將設(shè)計以樹狀表示,設(shè)計中的每一個實體,每一個module、每一個進程(always塊、initial塊等)在Modelsim仿真中以對象的形式展現(xiàn)。
如下圖所示樹狀結(jié)構(gòu),頂層是test_counter,即測試平臺。平臺下方是DUT(被測設(shè)計)和三個進程。三個進程是三個initial塊,分別用來產(chǎn)生時鐘信號、復(fù)位信號、其他動作。
圖片來源:學(xué)堂在線《IC設(shè)計與方法》
上圖右下角為Object窗口,顯示當前有哪些信號可以觀測,包括輸入信號、輸出信號、內(nèi)部信號等,如在test_counter層次,可以觀測時鐘(clk)、復(fù)位(reset)、計數(shù)器(count)的信號。
仿真過程有四類控制操作需要掌握。Restart、仿真時間指定、持續(xù)仿真、強制停止。
Restart主要運用于修改源代碼或需要改變波形窗口顯示時間的情況,在做出相應(yīng)的修改后,運用Restart控制仿真重新開始。
仿真時間指定、持續(xù)仿真、強制停止主要用于永遠執(zhí)行的程序,永遠執(zhí)行的程序會造成CPU資源的浪費,也會使波形窗口顯示時間過長,波形窗口顯示時間過長可能會導(dǎo)致觀測人員無法觀測需要的波形。因此需要上述三類操作控制仿真時間。
圖片來源:學(xué)堂在線《IC設(shè)計與方法》
仿真工具執(zhí)行仿真結(jié)束后,設(shè)計人員需要檢查電路運行結(jié)果是否正確。最常見的方式是通過波形窗口觀測電路輸出信號的波形是否正確。主要觀測的信號包括輸入信號、內(nèi)部信號、輸出信號。
檢測輸入信號的目的是排除輸入不正確造成輸出不正確的情況,需觀測輸入信號包括時鐘信號、復(fù)位信號、數(shù)據(jù)信號。設(shè)計人員需觀測時鐘信號的周期或頻率、0時刻時鐘信號的值、時鐘信號高電平和低電平的值,需觀測復(fù)位信號的有效脈沖(個人理解:能夠?qū)е螺斎胄盘栕兓拿}沖)是否符合期望、并確定復(fù)位信號的時鐘沿(個人理解:脈沖發(fā)生的時間)不能與時鐘信號重疊,需確定數(shù)據(jù)信號的時鐘沿不能與時鐘信號重疊。
觀測電路的內(nèi)部信號包括狀態(tài)機(能夠控制電路內(nèi)部狀態(tài)轉(zhuǎn)移)、控制信號。
圖片來源:學(xué)堂在線《IC設(shè)計與方法》
當出現(xiàn)無法觀測波形情況時,可以通過波形窗口調(diào)整。波形窗口調(diào)整方式包括總線展開和收縮、改變數(shù)據(jù)顯示方式、波形放大和縮小、光標操作、定位信號的事件、搜索特定信號值、增加驅(qū)動信號等。
圖片來源:學(xué)堂在線《IC設(shè)計與方法》
有時通過波形不容易尋找出芯片設(shè)計的問題,需要更高層次的方式,如數(shù)據(jù)流窗口調(diào)試,追蹤信號來源。在數(shù)據(jù)流窗口中可以顯示出設(shè)計的層次圖,選擇某一信號,仿真工具就將顯示產(chǎn)生這一信號的數(shù)據(jù)流圖(Dataflow),數(shù)據(jù)流圖可以分析某一信號故障的根源。
圖片來源:學(xué)堂在線《IC設(shè)計與方法》
數(shù)據(jù)流圖、波形窗口、源代碼可進行交叉定位,同時分析某一進程(如always塊)的輸入(數(shù)據(jù)流圖觀測)和行為(源代碼觀測),確定故障(波形窗口觀測)源于其輸入還是源于其行為,可以快速找出電路故障。
審核編輯 :李倩
-
ModelSim
+關(guān)注
關(guān)注
5文章
174瀏覽量
48126 -
編程軟件
+關(guān)注
關(guān)注
3文章
145瀏覽量
24153 -
時鐘信號
+關(guān)注
關(guān)注
4文章
468瀏覽量
29231
原文標題:芯片設(shè)計相關(guān)介紹(22)——Modelsim仿真工具
文章出處:【微信號:行業(yè)學(xué)習(xí)與研究,微信公眾號:行業(yè)學(xué)習(xí)與研究】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
Modelsim FLI接口的協(xié)同仿真技術(shù)

使用ModelSim進行設(shè)計仿真
使用 ModelSim 進行設(shè)計仿真

Altera ModelSim 6.5仿真入門教程

使用 ModelSim 進行設(shè)計仿真詳解
modelsim仿真詳細過程(功能仿真與時序仿真)

仿真軟件ModelSim及其應(yīng)用,ModelSim的仿真流程
Modelsim仿真教程Modelsim的基礎(chǔ)入門基礎(chǔ)教程免費下載

基于ModelSim使用二聯(lián)合Quarus自動仿真教程

基于ModelSim使用四ModelSim手動仿真教程
如何夾帶modelsim的仿真波形白底黑線
芯片設(shè)計之仿真工具
Vivado調(diào)用Modelsim仿真

評論