1、paramete和localparam的区别
parameter:用于顶层模块与底层模块之间的参数传递,并行例化的模块也可以使用,相当与全局常量;
localparam:仅限于本module内部使用,并行例化的模块不可调用,相当于局部常量。
注意:模块例化时,无论parameter还是localparam都只能赋值一次,例化之后,其值不再发生改变,所以赋值式子右边不能是变量。
2、parameter参数的重写
(1)例化时修改
module add #(
parameter A = 8'h01,
parameter B = 8'h02
)
(
output [8:0] C;
);
assign C = A + B;
endmodule
// 例化
add #(
.A(8'h08)