0
我有被限定成阵列的列表:阵列
bit [2:0] Param1[8];
.
.
bit [2:0] Param16[8];
我想以创建这些阵列的列表,以iterarte超过它们:
bit [2:0] array[16][8] = {Param1, Param2 ... Param16};
但是当我尝试向该数组中的每个数组写入3位长的位,结果是错误的。我错过了什么?
我有被限定成阵列的列表:阵列
bit [2:0] Param1[8];
.
.
bit [2:0] Param16[8];
我想以创建这些阵列的列表,以iterarte超过它们:
bit [2:0] array[16][8] = {Param1, Param2 ... Param16};
但是当我尝试向该数组中的每个数组写入3位长的位,结果是错误的。我错过了什么?
您必须遍历多维数组才能为其分配值。因为它有以下到的问题
下面的代码将无法正常工作:
下面的代码可能有助于实现您想要的功能:
module test();
bit [2:0] Param1[8];
bit [2:0] Param2[8];
bit [2:0] Param3[8];
bit [2:0] Param4[8];
bit [2:0] Param5[8];
bit [2:0] Param6[8];
int i=0;
int j=0;
bit [2:0] array [8][6];
initial begin
array[0][0] = 'd1;
array[0][1] = 'd1;
array[0][2] = 'd1;
foreach(array[i,j])
$display("array[%0d][%0d] = %0d",i,j,array[i][j]);
for(i=0;i<6;i++)
array[0][i] = Param1[i];
foreach(array[i,j])
$display("array[%0d][%0d] = %0d",i,j,array[i][j]);
end
endmodule
请找到运行代码here的链接。
在这种情况下,您认为索引的无效顺序。我想你的意思是说'bit [2:0]数组[8] [16]' – Serge
你需要用你得到的结果来澄清你期待的结果。 –