For loop 系统Verilog,如何对数组值求和?
我正在尝试使用System Verilog对数组值求和 我的数据声明如下:For loop 系统Verilog,如何对数组值求和?,for-loop,sum,verilog,system-verilog,vivado,For Loop,Sum,Verilog,System Verilog,Vivado,我正在尝试使用System Verilog对数组值求和 我的数据声明如下: reg signed [23:0] n2 [31:0]; reg signed [15:0] w2 [195:0]; w2是一个带有库存值的注册表 for(int i2=0; i2<32; i2++) begin for(int j2=0; j2<196; j2++) begin n2[i2] <= n2[i2] + w2[j2
reg signed [23:0] n2 [31:0];
reg signed [15:0] w2 [195:0];
w2
是一个带有库存值的注册表
for(int i2=0; i2<32; i2++) begin
for(int j2=0; j2<196; j2++) begin
n2[i2] <= n2[i2] + w2[j2];
end
end
end
但我不知道为什么
我在n2注册表中只有X
当然有。开始时,n2未初始化,因此它包含所有X-E。现在你给X-es加上数字,它仍然会给你X-es。这与在大多数语言中添加到未初始化的变量相同。
试试这个:
for(int i2=0; i2<32; i2++) begin
n2[i2] <= w2[0];
for(int j2=1; j2<196; j2++) begin
n2[i2] <= n2[i2] + w2[j2];
end
end
for(int i2=0;i2
for(int i2=0; i2<32; i2++) begin
n2[i2] <= w2[0];
for(int j2=1; j2<196; j2++) begin
n2[i2] <= n2[i2] + w2[j2];
end
end