verilog - How to represent a long sequence of arrays? -


i want represent assignment long list of variables. how can make compact? tried generate , net list, couldn't figure out. length may variable , parameter must used.

    assign ldistance =            distance(upin[127:120],downin[127:120])           + .....           + distance(upin[23:16],downin[23:16])           + distance(upin[15:8],downin[15:8])           + distance(upin[7:0],downin[7:0]); 

in edit, 'gnoejh' stated solved problem in following way:

genvar p; assign ldist[0] = 0; generate (p=1; p < `channels + 1; p = p + 1) begin     assign ldist[p] = (ldist[p-1] + distance(upin[(8 * (p-1)) +: 8],                         downin[(8 * (p-1)) +: 8])>>2); end  endgenerate  assign ldistance = ldist[`channels]; 

Comments