如何在Verilog中定义带有参数的模块?

如何在Verilog中定义带有参数的模块?,verilog,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)); 实例名称必须位于参数说明符之后: a

我想定义一个带有参数的
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));

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

add #(8) len_plus_1 (.a(len),.b(8'h1),.o(lenPlus1));
IEEE标准(例如1800-2009)中规定了这种语法