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

发布于 2024-12-23 11:10:01 字数 318 浏览 0 评论 0原文

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

I want to define an add module which has a parameter, but my declaration of the new instance doesn't go well.

I want to define an instance of this module:

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

   assign o = a + b;

endmodule

I tried this line, but I get an error:

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

月亮坠入山谷 2024-12-30 11:10:01

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

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

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

The instance name must come after the parameter specifier:

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

This syntax is specified in the IEEE Standard (1800-2009, for example).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文