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

时间:2015-04-25 16:57:29

标签: arrays verilog system-verilog hdl

我想知道以这种方式声明解压缩端口的区别是什么:

input logic a[10];

或者这样:

input logic a[9:0];

我无法在任何地方找到差异,我只是根据经验知道连接两个端口与这些“不同?”类型不会引起任何警告(在vcs和modelsim中都进行过测试),但数据的顺序可能会颠倒过来。

1 个答案:

答案 0 :(得分:3)

在Verilog中input logic a[10]逻辑是不允许的,并且会导致

  

此verilog模式中不允许单值范围

错误。您需要使用范围声明一个数组(即[9:0])。

另一方面,在SystemVerilog中,您可以使用范围或大小声明数组(即[10])。基于IEEE 1800-2012 ch。 7.4.2:

  

每个固定大小的维度应由地址范围(...)或单个正数表示,以指定固定大小的解压缩数组的大小,如C中所示。换句话说,[size][0:size-1]相同。