这个伪代码是否正确,可以在Verilog中将2D数组转换为1D:
wire [Width*Depth-1:0]One_D_array;
genvar i;
for (i=0; i<Depth; i=i+1)
assign One_D_array[Width*i+Depth-1:Width*i] = A[i];
重新转换为数组:
wire [Width-1:0]local_2D_array[0:Depth-1];
integer i;
for (i=0;i<Depth;i=i+1)
assign local_2D_array[i] = input[Width*i+Width-1:Width*i];
答案 0 :(得分:0)
工作正常。第一个代码将使所有数组成员成为一系列。在代码的下一部分,即重构部分,我们将数据分成成员。它适用于任何宽度和任何深度。