我是系统Verilog的新手,因此找不到任何来源。
我写的时候
logic [3:0] buttonsInc;
及之后
assign buttonsInc[0] = 0;
assign buttonsInc[1] = 0;
我收到一条错误消息,提示无法索引到非数组类型...我认为是因为buttonInc现在是4位数字,而不是数组。我应该如何编写它来声明一个数组,例如保存3个4位数组? 像这样吗?
logic[0:3][4:0] buttonsInc;
或
logic[4:0][3:0] buttonsInc;
[0:3]
和[3:0]
在定义逻辑上又有什么区别?
答案 0 :(得分:0)
逻辑[3:0] buttons_inc表示一个名为button_inc的4位向量,[3:0]表示索引3(0至3)是MSB位,而[0:3]表示索引0是MSB位。 MSB位。 [3:0]->(MSB)3 2 1 0 ||| [0:3]-> 3 2 1 0(MSB)
logic [3:0] [4:0] buttons_inc将创建一个压缩数组,即4个向量,每个5位宽。请注意,打包数组本质上是向量,与连续的未打包数组不同,细分为较小的sub_vector。