两种尺寸的输入端口声明

Input Port Declaration with two sizes

我是 SystemVerilog 的新手,在我正在进行的项目中,我无意中发现了以下端口声明。从 VHDL 中,我知道具有一种大小的端口声明(例如 8 位向量)。但是我不明白为什么指定了两种尺寸。有人可以给我解释一下吗?

提前致谢!

module foobar
    #(parameter PORTS = 1)
     (input [PORTS-1:0][15:0] id_map);
endmodule

SystemVerilog 具有多维数组数据类型(实际上是数组的数组),并允许端口具有数组数据类型。

数组是 SystemVerilog 中的一种基本数据类型,我建议阅读一些关于它的教程。这里是one good explanation