将数组缩减为元素之和

the*_*617 4 verilog

我正在尝试将向量减少为所有元素的总和。有没有一种简单的方法可以在 verilog 中做到这一点?

类似于systemverilog .sum方法。

谢谢

小智 6

我对这个问题的组合解决方案:

//example array
parameter cells = 8;
reg [7:0]array[cells-1:0] = {1,2,3,4,5,1,1,1};

//###############################################

genvar i;
wire [7:0] summation_steps [cells-2 : 0];//container for all sumation steps
generate
    assign summation_steps[0] = array[0] + array[1];//for less cost starts witch first sum (not array[0])
    for(i=0; i<cells-2; i=i+1) begin
        assign summation_steps[i+1] = summation_steps[i] + array[i+2];
    end
endgenerate
wire [7:0] result;
assign result = summation_steps[cells-2];
Run Code Online (Sandbox Code Playgroud)