问题描述
使用 SystemVerilog 和 Modelsim SE 2020.1,我很惊讶地看到一个行为:
bus_address
是 64b 信号 input logic [63:0] bus_address
使用'0
.bus_address ('0),
使用 'd0
.bus_address ('d0),
Riviera-Pro 2020.04(太bug了,我们放弃了,和Aldec有纠纷)
-
'd0
:
-
'0
:
调查/回答:
-
11.3.3 在表达式中使用整数字面量:一个无大小的基于整数(例如 'd12,'sd12 )
-
5.7.1 整型常量:
组成一个无大小数字的位数(这是一个简单的 十进制数或带有基数说明符但没有大小的数字 规范)应至少为 32。未定大小的无符号文字 高位未知的常量( X 或 x )或 三态( Z 或 z )应扩展到表达式的大小 包含文字常量。
这很棘手,我认为它会像 0
一样设置 '0
所有其他位。
我希望规范的作者在定义这种无意义的行为时会考虑更多。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)