溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

ModelSim的使用技巧有什么

發(fā)布時(shí)間:2022-01-06 16:37:27 來源:億速云 閱讀:164 作者:柒染 欄目:互聯(lián)網(wǎng)科技

本篇文章為大家展示了ModelSim的使用技巧有什么,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

modelsim使用技巧

為了方便大家更容易觀察波形,我們這里將會(huì)對 ModelSim 軟件中幾個(gè)常用小工具進(jìn)行簡單的講解,如圖 2.15 所示。
ModelSim的使用技巧有什么
前面的幾個(gè)放大鏡模樣的工具是放大、縮小等功能,鼠標(biāo)放到圖標(biāo)上會(huì)顯示出它們的快捷鍵,中間的黃色圖標(biāo)是用來在波形圖上做標(biāo)記的,后面的則是用來運(yùn)行仿真,暫停仿真、重新運(yùn)行等功能。如下圖所示界面,就是我們利用上述工具制作出來的。
ModelSim的使用技巧有什么
 在該頁面中,我們就配合我們的代碼給大家簡單的分析一下這個(gè)波形,首先我們可以看到我們在 0ns 時(shí)間處添加了一個(gè)黃色標(biāo)記,為了不讓黃色標(biāo)記移動(dòng),我們將這個(gè)黃色標(biāo)記給鎖住了,我們還可以在它的名字處修改成我們想要表示的名稱,這里我們修改為 Start,也就是仿真開始。我們在回顧一下我們的激勵(lì)信號(hào)是怎么編寫的,代碼如下 所示。









   
   
   
    initial
    
     begin #0 CLK_50M = 1'b0; 
    
      #10000 RST_N = 1'b0; 
    
      #10000 RST_N = 1'b1; 
    
      #10000000 $stop; 
    
     end 
    
     always #10000 begin CLK_50M = ~CLK_50M; end 
    
     
    
     endmodule
我們對照代碼,對照仿真波形,我們可以看到,首先在 0ns 處,CLK_50M 信號(hào)我們賦值為0,我們觀察波形圖,CLK_50M 信號(hào)確實(shí)為低電平,接下來,我們等待 10ns,我們又給 RST_N賦值為 0,這時(shí)大家要注意了,由于等待了 10ns,always 模塊也將會(huì)執(zhí)行,所以 CLK_50M 這 時(shí)等于 1。我們觀察波形,果然,RST_N=0,CLK_50M=1;依次類推,直至仿真結(jié)束,看完了激勵(lì)信號(hào),我們在來看下我們的 LED1 信號(hào)是不是 1us 翻轉(zhuǎn)一次呢,大家看圖
ModelSim的使用技巧有什么
我們標(biāo)出 LED1 信號(hào)的第一個(gè)上升沿,大家可以看到第一個(gè)上升沿的時(shí)間是 1030ns,然后我們又標(biāo)記出 LED1 信號(hào)的下降沿,大家也同樣可以看到是 1050ns,1050ns-1030ns=1020ns(也即使 1.02us),似乎并不精準(zhǔn),這仿真太也不靠譜了吧!其實(shí)并不是這么回事,大家可以考 慮考慮。下面就是見證奇跡的時(shí)候了:我們的時(shí)鐘頻率是 50MHz,周期也就是 20ns,我們設(shè)置翻轉(zhuǎn) 50 次,50*20ns 剛好就是我們的 1us,但是這里有一個(gè) bug,什么 bug 呢,0-50 其實(shí)是51 次,51*20ns=1020ns,也就是說我們的仿真沒有錯(cuò),是我們搞錯(cuò)了。我們只要將 Verilog 程序中的 50 改成 49,即可修復(fù)這個(gè) bug。這也就是我們?yōu)槭裁匆抡?,明明感覺我們寫的代碼很可靠,只要一仿真就會(huì)露出馬腳。下面大家在來看看這個(gè)細(xì)節(jié)圖,如圖
ModelSim的使用技巧有什么
從該圖中我們可以看到,CLK 發(fā)生了變化,我們的 LED1 信號(hào)也跟著發(fā)生了變化,它們是同時(shí)發(fā)生變化的,中間是沒有任何延遲。這也就很好的說明了,為什么我們說功能仿真(即,前仿真),它是不考慮延遲的。這里我們需要注意的是:我們修改 Verilog 程序代碼和仿真文件代碼(前提是不修改端口信號(hào)),我們是可以不需要重新編譯工程的,我們只要關(guān)閉 ModelSim 仿真軟件,再一次點(diǎn)擊開始仿真即可。如果我們修改了端口的輸入和輸出,那么這里最好重新全編譯一次,并且我們需要重新生成仿真模板文件進(jìn)行修改。

上述內(nèi)容就是ModelSim的使用技巧有什么,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI