繁体   English   中英

Verilog中的数组位参数范围-下溢或-1

[英]array bit parameter range in verilog - underflow or -1

在这种情况下,参数init索引范围应该是什么:

parameter zero = 0;

parameter bit[31:0] size = 32'b01;

parameter bit[((zero * size) - 1):0] init = 2'b11;

应该是[-1:0][4294967295:0] ,为什么? 这种行为是标准化的还是取决于工具?

根据LRM,数组声明中的范围是有符号整数表达式。 它应该将32位无符号表达式转换为有符号整数。 所以结果是-1。 您可以通过显示$left(init)的结果进行测试

是否所有工具开发人员都阅读过LRM是另一个问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM