采用parameter可以讓程序變得可維護(hù)性,,所以在verlog中,,盡量在有數(shù)據(jù)可能發(fā)生變動(dòng)的地方,設(shè)置為parameter,,以免以后又從頭開始更改,。
parameter經(jīng)常用于定義數(shù)據(jù)位寬,,定義時(shí)間延遲,在模塊和實(shí)例引用時(shí),,可以通過(guò)參數(shù)傳遞,,改變被引用的模塊。因此我們盡量把所有的可能變動(dòng)的參數(shù)設(shè)置在頂層,,一眼明了,,方便日后維護(hù)。
端口參數(shù)與模塊內(nèi)部參數(shù)
本module內(nèi)有效的定義,,可用于參數(shù)傳遞,;
如果在模塊內(nèi)部定義時(shí)無(wú)法進(jìn)行參數(shù)傳遞,
參數(shù)傳遞
參數(shù)傳遞經(jīng)常用于頂層的參數(shù)傳遞給子模塊,,這樣我們只需要關(guān)注頂層實(shí)體的內(nèi)容,,把子模塊的內(nèi)容當(dāng)做一個(gè)黑箱子即可,這也是非常實(shí)用的,。
可以看到參數(shù)傳遞和例化是非常繼續(xù)相似的,,
眾說(shuō)parameter、define,、localparam的區(qū)別
defparam
defparam這個(gè)單獨(dú)拿出來(lái)說(shuō)一下,,其實(shí)這個(gè)參數(shù),個(gè)人覺得意義不大,,因?yàn)槟阌胮arameter參數(shù)實(shí)例化就可以很好的解決問(wèn)題,,defparam用于重定義參數(shù)的數(shù),可以通過(guò)
defparam 頂層,。子模塊名1.子模塊名2=XXX
這樣的語(yǔ)法格式更改,,從而實(shí)現(xiàn)專門針對(duì)某一個(gè)子模塊更改,,這樣有助于例化了多個(gè)相同的子模塊,但我只更改一個(gè)子模塊的問(wèn)題,。,!
我們來(lái)一起看看官方文檔IEEE verilog 2005
defparam的語(yǔ)法我們就去親自查閱官方語(yǔ)法!這樣才能有收貨,。
這段說(shuō)了,,defparam適用于改變指定層次模塊下的參數(shù),不影響其他模塊的參數(shù),。
這段話也再次說(shuō)明了,,即使是使用相同的子模塊實(shí)例化生成的模塊,也不會(huì)受影響,,defparam只針對(duì)指定路徑下的參數(shù)更改,。
defparam目前所有綜合工具都不支持綜合,所以僅僅用于仿真,。
更多信息可以來(lái)這里獲取==>>電子技術(shù)應(yīng)用-AET<<