以寄存器reg变量为例
reg [9:0] a_reg[0:3];
//定义一个深度4,宽度10的寄存器组;
//reg [0:0] b_reg[0:3][9:0];
//定义了一个4x10的1bit寄存器组, [0:0]可以不写——表示1bit;也可以定义成其他位宽;
1:对于a reg,a_reg[0]–表示0下标的一个10bit寄存器;也可以用a_reg[0][5:3]——任意取a_reg[0]部分寄存器宽度;
2:a_reg转置只能循环操作,不能直接a reg[0:2][7]——非法;
3:b_reg 只能双下标取用,例如b_reg[0][3]等,不能像a_reg一样取用一组;
不过可以用for generate生成循环,任意取用行列元素,达到快速转置的目的;