我有一个定义如下的数组列表:
bit [2:0] Param1[8];
.
.
bit [2:0] Param16[8];
我想创建一个这些数组的列表,以便迭代它们:
bit [2:0] array[16][8] = {Param1, Param2 ... Param16};
但是当我尝试向该数组中的每个数组写入3位长位时,我得到错误的结果。我错过了什么?
答案 0 :(得分:0)
您必须遍历多维数组才能为其赋值。
以下代码无法解决问题:
以下代码可能有助于实现您想要的功能:
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的链接。