解压端口中大小说明符的顺序
Order of size specifiers in unpacked ports
我想知道以这种方式声明解压端口有什么区别:
input logic a[10];
或者这样:
input logic a[9:0];
我在任何地方都找不到差异记录,我只根据经验知道用这些 "different?" 类型连接两个端口不会引起任何警告(在 vcs 和 modelsim 中测试)但数据的顺序可能被逆转。
在 Verilog 中 input logic a[10]
逻辑是不允许的并且会导致
Single value range is not allowed in this mode of verilog
错误。您需要使用范围声明一个数组(即 [9:0]
)。
另一方面,在 SystemVerilog 中,您可以使用范围或大小声明数组(即 [10]
)。基于 IEEE 1800-2012 通道。 7.4.2:
Each fixed-size dimension shall be represented by an address range (...) or a single positive number to specify the size of a fixed-size unpacked array, as in C. In other words, [size]
becomes the same as [0:size-1]
.
我想知道以这种方式声明解压端口有什么区别:
input logic a[10];
或者这样:
input logic a[9:0];
我在任何地方都找不到差异记录,我只根据经验知道用这些 "different?" 类型连接两个端口不会引起任何警告(在 vcs 和 modelsim 中测试)但数据的顺序可能被逆转。
在 Verilog 中 input logic a[10]
逻辑是不允许的并且会导致
Single value range is not allowed in this mode of verilog
错误。您需要使用范围声明一个数组(即 [9:0]
)。
另一方面,在 SystemVerilog 中,您可以使用范围或大小声明数组(即 [10]
)。基于 IEEE 1800-2012 通道。 7.4.2:
Each fixed-size dimension shall be represented by an address range (...) or a single positive number to specify the size of a fixed-size unpacked array, as in C. In other words,
[size]
becomes the same as[0:size-1]
.