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

教學(xué):verilog基礎(chǔ)之規(guī)范化參數(shù)定義parameter

2022-08-30
來源:FPGA設(shè)計(jì)論壇

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

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

  端口參數(shù)與模塊內(nèi)部參數(shù)

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

  本module內(nèi)有效的定義,可用于參數(shù)傳遞;

  如果在模塊內(nèi)部定義時(shí)無法進(jìn)行參數(shù)傳遞,

  參數(shù)傳遞

  參數(shù)傳遞經(jīng)常用于頂層的參數(shù)傳遞給子模塊,這樣我們只需要關(guān)注頂層實(shí)體的內(nèi)容,把子模塊的內(nèi)容當(dāng)做一個(gè)黑箱子即可,這也是非常實(shí)用的。

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

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

  

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

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

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

  defparam

  defparam這個(gè)單獨(dú)拿出來說一下,其實(shí)這個(gè)參數(shù),個(gè)人覺得意義不大,因?yàn)槟阌胮arameter參數(shù)實(shí)例化就可以很好的解決問題,defparam用于重定義參數(shù)的數(shù),可以通過

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

  這樣的語法格式更改,從而實(shí)現(xiàn)專門針對(duì)某一個(gè)子模塊更改,這樣有助于例化了多個(gè)相同的子模塊,但我只更改一個(gè)子模塊的問題。!

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

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

 

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

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

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

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

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

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



更多信息可以來這里獲取==>>電子技術(shù)應(yīng)用-AET<<

mmexport1621241704608.jpg

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