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

问题描述 投票:0回答:1

我想定义一个带有参数的

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));
verilog system-verilog
1个回答
6
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.