数组转换的伪代码

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];

它工作正常。第一个代码将使所有数组成员进入系列。在代码的下一部分,即重构部分,我们将把数据拆分成成员。它适用于任何宽度和任何深度。