parameter localparam define的区别
`define
語法格式
`define A 12 //注意不加;不能忘記" ` "作用區(qū)域 ?
在整個(gè)工程中均有效,因?yàn)樗强梢钥缒K的定義
?
?
parameter 和?localparam
語法格式
parameter A = 16'd2600 ; //不定義位寬的時(shí)候默認(rèn)是32位 localparam A = 16'd2600; //同上作用區(qū)域 ?
parameter 、localparam 只在定義的本模塊內(nèi)有效。
兩者的區(qū)別是 parameter 可以進(jìn)行參數(shù)例化,而 localparam 則不可以。
參數(shù)傳遞我將舉下面這個(gè)例子進(jìn)行說明
首先定義了一個(gè)模塊 led_driver ,并且定義了一個(gè)參數(shù) DATA ,代表了 led 燈的個(gè)數(shù),此處代表有 7 個(gè) led 燈
module led_driver (clk ,rst_n,led ); parameter DATA = 7; //定義一個(gè)參數(shù) input clk,rst_n; //輸入 output [ DATA-1 : 0] led; //輸出 ............ endmodule當(dāng)要在頂層模塊例化 led_driver 這個(gè)模塊時(shí),假設(shè)由于工程需要,要將 led 個(gè)數(shù)改為 4 個(gè),
第一個(gè)方法 led_driver 內(nèi)的 parameter 參數(shù)直接改為 3 。
另一種方法 在例化 led_driver 時(shí),將參數(shù) DATA 也進(jìn)行例化,方法如下面這個(gè)代碼
led_driver //被調(diào)用的模塊 #(.DATA(4)) // 參數(shù)例化 u_led_driver( //例化模塊 .clk (clk),.rst_n(rst_n),.led (led) );?
?
在實(shí)際應(yīng)用中,如果想讓 parameter 或 `define 作用于整個(gè)工程中,可以單獨(dú)聲明一個(gè)文件,并且用 `include 讓每個(gè)文件都包含聲明文件。
?
原文鏈接:http://www.cnblogs.com/aslmer/p/6022152.html
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/aslmer/p/6022152.html
總結(jié)
以上是生活随笔為你收集整理的parameter localparam define的区别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【NOIP普及组】2016模拟考试(10
- 下一篇: 07.数组的练习