在阅读 Verilog 规范时,我注意到一个涉及指定路径脉冲的特殊句法结构。具体来说,表格中的陈述
PATHPULSE$in_port$out_port = ...;
根据规范,in_port
并且out_port
可以是标识符(包括\
- 转义标识符)或带有 - 括号[]
范围的标识符。
忽略PATHPULSE
用括号对构造进行标记的问题,似乎仍然存在潜在的歧义问题,因为$
它可以是正常标识符的一部分。例如,如果一个模块声明如下:
module my_mod(
input foo,
output bar$baz,
input foo$bar,
output baz
);
...
然后给出一个路径脉冲语句:
PATHPULSE$foo$bar$baz = ...;
无法确定$
将输入端口和输出端口分开的方式。
我的问题是:有没有更好的方法来标记PATHPULSE
结构以避免这种歧义?或者这是 Verilog 的不足?