我在一个较早的考试示例中看到了以下代码:
module cnt512 (
input clk, R, E, output reg [8:0] q
);
这是有效的语法吗?我知道这些是有效的:
module cnt512 (clk, R, E, q);
input clk;
input R;
input E;
output reg [8:0] q;
module cnt512 (
input clk,
input R,
input E,
output reg [8:0] q
);
但是我看不到任何更短的变体。自从我在大学考试中看到它以来,我认为他们不会犯这样的错误。
我假设您在前两个中忘记了分号,但否则是合法的。大多数人会在不同的线路上放置不同的端口方向,如下所示,但这只是为了提高可读性。如果您要缩小空间,可以将它们全部放在一行上。
module cnt512 (
input clk, R, E,
output reg [8:0] q
);
如果未定义,则前一个端口的端口方向和数据类型将转移到下一个端口。
请参阅IEEE标准一八零零年至2012年§23.2.2端口说明了完整的解释。§23.2.2.2 ANSI类型的端口声明列表中的特定示例。IEEE1800是SystemVerilog,是Verilog的后继产品。除非返回到Verilog 1995,否则端口声明是相同的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句