Я пытаюсь суммировать значения массива с помощью 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];
end
end
end
Мне нужно сложить 196 * 16 бит (* 32), поэтому требуется 24 бит (* 32)?
Я попытался смоделировать свой дизайн, и у меня есть только X в n2
рег.
Кроме того, я запускаю анализ RTL и открываю разработанный проект, и у меня появляется следующее предупреждение:
[Synth 8-324] index 10 out диапазона
Он указывает на линию:
for(int j2=0; j2<196; j2++) begin
, но я не знаю почему.