如何在Verilog中使用参数定义模块?

时间:2011-12-29 12:56:21

标签: verilog

我想定义一个带有参数的add模块,但我对新实例的声明并不顺利。

我想定义一个这个模块的实例:

module add #(parameter wd=1) (input wire [wd-1:0] a,b, output wire [wd-1:0] o);

   assign o = a + b;

endmodule

我试过这一行,但是我收到了一个错误:

 add len_plus_1 #(8)(.a(len),.b(8'h1),.o(lenPlus1));

1 个答案:

答案 0 :(得分:6)

实例名称必须位于参数说明符之后:

add #(8) len_plus_1 (.a(len),.b(8'h1),.o(lenPlus1));

此语法在IEEE标准(例如1800-2009)中指定。