FPGA: Clean-up of prefix_sum

This commit is contained in:
2023-10-17 13:22:49 +02:00
parent 217992be94
commit 83fb1fd465
-30
View File
@@ -63,36 +63,6 @@ ap_uint<N*32> prefix_sum(const ap_uint<N*(32+(2 * FPGA_NBX))> ext_column_sum) {
return pack32(line_sum);
}
template <int N>
ap_uint<N*32> prefix_sum(const ap_uint<N*32> ext_column_sum,
const ap_uint<N*(2 * FPGA_NBX)> ext_column_sum_old) {
#pragma HLS PIPELINE II=1
ap_int<N> column_sum[32 + 2 * FPGA_NBX];
ap_uint<N*32> retval;
ap_int<N> line_sum[32];
ap_int<N> tmp_sum = 0;
for (int i = 0; i < 2 * FPGA_NBX; i++)
column_sum[i] = ext_column_sum_old(i*N+(N-1), i*N);
for (int i = 0; i < 32; i++)
column_sum[i+ 2 * FPGA_NBX] = ext_column_sum(i * N + (N - 1), i * N);
//for (int i = 0; i < 32; i++) {
// line_sum[i] = 0;
// for (int j = 0; j < 2 * FPGA_NBX + 1; j++)
// line_sum[i] += column_sum[i + j];
//}
for (int i = 0; i < 32; i++) {
tmp_sum += column_sum[i + 2 * FPGA_NBX];
line_sum[i] = tmp_sum;
tmp_sum -= column_sum[i];
}
return pack32(line_sum);
}
void calc_mask_diff(ap_uint<MASK_SUM_BITWIDTH*32> &ext_column_valid,
const ap_uint<32> ext_old_value,
const ap_uint<32> ext_new_value);