用于声明连线的Verilog语法

时间:2013-10-09 15:43:24

标签: verilog system-verilog

这是Verilog的法律声明吗?

wire \n_628_B[-1111111109] ;

2 个答案:

答案 0 :(得分:4)

看起来很奇怪,这是合法的语法。请参阅IEEE Std 1800-2012,第5.6.1节“转义标识符”。以下代码是合法的:

module tb;

wire \n_628_B[-1111111109] ;
reg foo;

assign \n_628_B[-1111111109] = foo;

initial begin
    $monitor(\n_628_B[-1111111109] );
    foo = 1;
    #5 foo = 0;
end

endmodule

因为它太奇怪了,如果你有选择,我强烈建议不要使用它。

答案 1 :(得分:1)

是的。反斜杠之后和下一个空格之前的所有内容都是Verilog中的标识符。所以方括号中的部分不是数组大小或任何东西,只是信号名称的一部分。自动生成的Verilog代码(例如verilog netlists)始终包含此类转义标识符。我个人不会在手写代码中使用它。