解压端口中大小说明符的顺序

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].