Systemverilog:动态数组的大小是否有限制?
Systemverilog: is there a limit in size for a dynamic array?
当对动态数组做new[SIZE]
时,我们可以在Systemverilog中使用的SIZE
有限制吗?
限制很大
IEEE 标准 1800-2017,第 7.5.1 节新[] 状态
[ expression ]:
The desired size of the dynamic array. The type of this operand is longint.
It shall be an error if the value of this operand is negative.
longint
是 64 位有符号的。
LRM 第 7.4.2 节解包数组说
Implementations may limit the maximum size of an array, but they shall allow at least 16 777 216 (224) elements.
但是如果您尝试访问那么多元素,您可能会比 space 受到更多时间限制。如果您只打算访问地址的一小部分 space.
,则关联数组可能是大型数组的更好选择
当对动态数组做new[SIZE]
时,我们可以在Systemverilog中使用的SIZE
有限制吗?
限制很大
IEEE 标准 1800-2017,第 7.5.1 节新[] 状态
[ expression ]:
The desired size of the dynamic array. The type of this operand is longint.
It shall be an error if the value of this operand is negative.
longint
是 64 位有符号的。
LRM 第 7.4.2 节解包数组说
Implementations may limit the maximum size of an array, but they shall allow at least 16 777 216 (224) elements.
但是如果您尝试访问那么多元素,您可能会比 space 受到更多时间限制。如果您只打算访问地址的一小部分 space.
,则关联数组可能是大型数组的更好选择