《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 其他 > 教學:verilog基礎之規(guī)范化參數定義parameter

教學:verilog基礎之規(guī)范化參數定義parameter

2022-08-30
來源:FPGA設計論壇

  采用parameter可以讓程序變得可維護性,,所以在verlog中,盡量在有數據可能發(fā)生變動的地方,,設置為parameter,,以免以后又從頭開始更改,。

  parameter經常用于定義數據位寬,定義時間延遲,,在模塊和實例引用時,,可以通過參數傳遞,改變被引用的模塊,。因此我們盡量把所有的可能變動的參數設置在頂層,,一眼明了,方便日后維護。

  端口參數與模塊內部參數

a7718238-2810-11ed-ba43-dac502259ad0.png

  本module內有效的定義,,可用于參數傳遞,;

  如果在模塊內部定義時無法進行參數傳遞,

  參數傳遞

  參數傳遞經常用于頂層的參數傳遞給子模塊,,這樣我們只需要關注頂層實體的內容,,把子模塊的內容當做一個黑箱子即可,這也是非常實用的,。

 a783621e-2810-11ed-ba43-dac502259ad0.png

  可以看到參數傳遞和例化是非常繼續(xù)相似的,,

  

a79598ee-2810-11ed-ba43-dac502259ad0.png

  眾說parameter、define,、localparam的區(qū)別

  a7ac12b8-2810-11ed-ba43-dac502259ad0.png

  defparam

  defparam這個單獨拿出來說一下,,其實這個參數,個人覺得意義不大,,因為你用parameter參數實例化就可以很好的解決問題,,defparam用于重定義參數的數,可以通過

  defparam 頂層,。子模塊名1.子模塊名2=XXX

  這樣的語法格式更改,,從而實現專門針對某一個子模塊更改,這樣有助于例化了多個相同的子模塊,,但我只更改一個子模塊的問題,。!

  我們來一起看看官方文檔IEEE verilog 2005

  defparam的語法我們就去親自查閱官方語法,!這樣才能有收貨,。

 

a7bfb980-2810-11ed-ba43-dac502259ad0 (1).png

  這段說了,defparam適用于改變指定層次模塊下的參數,,不影響其他模塊的參數,。

 a7e3b38a-2810-11ed-ba43-dac502259ad0.png

  這段話也再次說明了,即使是使用相同的子模塊實例化生成的模塊,,也不會受影響,,defparam只針對指定路徑下的參數更改。

  defparam目前所有綜合工具都不支持綜合,,所以僅僅用于仿真。

a8053dfc-2810-11ed-ba43-dac502259ad0.png



更多信息可以來這里獲取==>>電子技術應用-AET<<

mmexport1621241704608.jpg

本站內容除特別聲明的原創(chuàng)文章之外,,轉載內容只為傳遞更多信息,,并不代表本網站贊同其觀點。轉載的所有的文章,、圖片,、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創(chuàng)文章及圖片等內容無法一一聯系確認版權者,。如涉及作品內容,、版權和其它問題,,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,,避免給雙方造成不必要的經濟損失,。聯系電話:010-82306118;郵箱:[email protected],。