3
我想要參數化模塊。它具有以下定義:verilog:我如何添加參數
module example (...);
parameter A = 2;
parameter B = 2;
parameter C = A + B;
endmodule
然而,當我打印出來的參數值,我得到A = 2,B = 2,C = 1 ...任何想法,爲什麼?
我想要參數化模塊。它具有以下定義:verilog:我如何添加參數
module example (...);
parameter A = 2;
parameter B = 2;
parameter C = A + B;
endmodule
然而,當我打印出來的參數值,我得到A = 2,B = 2,C = 1 ...任何想法,爲什麼?
找到了一個解決方案 - 使用localparam。
module example (...);
parameter A = 2;
parameter B = 2;
localparam C = A + B;
endmodule
事實上,在你原來的問題中,C應該等於4.但是,由於C是一個參數,所以它是危險的並且很可能被覆蓋。使用localparam是定義不能被defparam或實例參數值賦值覆蓋的參數的正確方法。 – jclin 2013-03-01 08:51:02
除了localparams不能用於端口列表,使用verilog-2001樣式的端口聲明。 – Morgan 2013-03-01 13:36:01