数组转换的伪代码
Pseudo code for array conversion
在 Verilog 中将二维数组转换为一维的伪代码是否正确:
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];
它工作正常。第一个代码将使所有数组成员进入系列。在代码的下一部分,即重构部分,我们将把数据拆分成成员。它适用于任何宽度和任何深度。
在 Verilog 中将二维数组转换为一维的伪代码是否正确:
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];
它工作正常。第一个代码将使所有数组成员进入系列。在代码的下一部分,即重构部分,我们将把数据拆分成成员。它适用于任何宽度和任何深度。