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

0x9*_*x90 3 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
Run Code Online (Sandbox Code Playgroud)

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

 add len_plus_1 #(8)(.a(len),.b(8'h1),.o(lenPlus1));
Run Code Online (Sandbox Code Playgroud)

too*_*lic 6

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

add #(8) len_plus_1 (.a(len),.b(8'h1),.o(lenPlus1));
Run Code Online (Sandbox Code Playgroud)

该语法在IEEE标准(例如1800-2009)中规定.