我有一个关于多个数组的操作的问题。下面的代码适用于固定数量的数组
wire [size-1:0] data [0:3];
wire [size-1:0] result;
assign result = data[0]&data[1]&data[2]&data[3];但是对于像这样的参数化数字数组,我该如何处理它呢
wire [size-1:0] data [0:num-1];
wire [size-1:0] result;
assign result = ????有任何想法或建议,希望你们有一些简单的答案。
发布于 2013-01-18 15:41:37
我能想到的最好的情况是:
always @* begin
result = 0;
for (i=0; i<num; i=i+1) begin
result = result & data[i];
end
end然而,这有两个潜在的问题:
and在一起。发布于 2013-01-19 13:02:20
wire [size-1:0] data[0:num-1];
wire [size-1:0] data_tmp[0:num-1];
wire [size-1:0] result;
generate
genvar i;
for (i=0; i < num; i=i+1) begin
if (i == 0)
assign data_tmp[i] = data[i];
else if (i == num-1)
assign result = data_tmp[i-1] & data[i];
else
assign data_tmp[i] = data_tmp[i-1] & data[i];
end
endgeneratehttps://stackoverflow.com/questions/14389346
复制相似问题