reg [7:0] a [3:0]和reg [7:0] a [0:3]有什么区别

时间:2018-08-25 06:45:05

标签: verilog fpga system-verilog-assertions

到目前为止,我已经研究了verilog HDL reg [7:0] a [0:3] ,表示4个 a 和每个 a 像是8位宽

dropdownOfStates: StateDropdownItem[];
.
.
dropdownBuilder() {
    const STATES_BY_COUNTRY = this.getStatesByCountry();
    let tempItem;
    for (let i = 0; i < STATES_BY_COUNTRY.length; i++) {
      tempItem = STATES_BY_COUNTRY[i];
      this.dropdownOfStates.push(
        new StateDropdownItem('KEY COUNTRY VALUE HERE', [
          tempItem.abbreviation,
          tempItem.name
        ])
      );
    }
  }

我是对的吗?那么 reg [7:0]和[3:0] 是什么意思?

2 个答案:

答案 0 :(得分:0)

是同一件事,数字的顺序可以是升序或降序。 所以:

reg [7:0] a [0:3] = reg [7:0] a [3:0]

参考: https://www.verilogpro.com/verilog-arrays-plain-simple/

答案 1 :(得分:0)

如果您要做的只是一次访问数组一个元素,则两者之间没有区别。在整个阵列上执行操作时会有区别。在Verilog中,唯一涉及的操作是$readmemh / $writememh或通过C VPI接口进行的访问。

在SystemVerilog中,排序可能会影响更多操作,例如将数组强制转换为32位整数。左索引成为高位字节。