这是Verilog的法律声明吗?
wire \n_628_B[-1111111109] ;
答案 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)始终包含此类转义标识符。我个人不会在手写代码中使用它。