多个wire变量求和问题

2019-03-25 09:02发布

请问哪位大侠知道怎么简化多个变量求和的verilog编程?输出为wire。
现在我一个一个输入,太麻烦了。程序如下:
wire    [13:0] a;
reg    [7:0] b [0:63];
...
assign a = b[0]+ b[1]+ b[2]+...+ b[63];
...
我试过用for语句,可是编译总是通不过。
    for (j=0; j<=63; j=j+1)
        begin
          assign  a= a+b[j];
        end
Error (10170): Verilog HDL syntax error at ADC.v(53) near text "for";  expecting "endmodule"
各位有什么好方法?

[ 本帖最后由 collinsw 于 2012-8-21 08:53 编辑 ] 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
5条回答
409451697
2019-03-25 16:01
< / wire[13:0] a;
reg[13:0] a_buf;
reg[7:0] b[0:63];
...
assign a = (flag) ? a_buf:14'd0;
...
reg[6:0] j;
begin
  for(j = 7'd0;j<= 7'd63;j = j + 1'd0)
  begin
      flag = 1'b0;
      a_buf = a_buf + b[j];
  end
  flag = 1'b1;
end
试试看!
仅供参考,欢迎批评指正!

一周热门 更多>