diff --git a/libraries/dsp/correlator/src/vhdl/corr_accumulator.vhd b/libraries/dsp/correlator/src/vhdl/corr_accumulator.vhd index 96fa226426f7bbe7c8fab3d3cc4486c66c679939..4b8bbe55d4b7e763f6390b39cf4cde5c844c72ea 100644 --- a/libraries/dsp/correlator/src/vhdl/corr_accumulator.vhd +++ b/libraries/dsp/correlator/src/vhdl/corr_accumulator.vhd @@ -53,7 +53,7 @@ ARCHITECTURE str OF corr_accumulator IS -- Complex accumulator data width: wide enough to support g_integration_period accumulations CONSTANT c_acc_data_w : NATURAL := g_data_w + ceil_log2(g_integration_period); - CONSTANT c_adder_latency : NATURAL := 3; + CONSTANT c_adder_latency : NATURAL := 2; CONSTANT c_fifo_latency : NATURAL := 1; SIGNAL reg_snk_in_arr :t_dp_sosi_arr(g_nof_inputs-1 DOWNTO 0); @@ -148,7 +148,7 @@ BEGIN -- Shift out the first accumulated value when it aligns with the corresponding current value at the adder input -- . this produces the dp_fifo_sc_src_out_arr data in sync with reg_snk_in_arr data - dp_fifo_sc_src_in_arr(i).ready <= snk_in_arr(i).valid WHEN TO_UINT(dp_fifo_sc_usedw_arr(i))=g_nof_accumulators-c_adder_latency-c_fifo_latency ELSE '0'; + dp_fifo_sc_src_in_arr(i).ready <= snk_in_arr(i).valid WHEN TO_UINT(dp_fifo_sc_usedw_arr(i))>=g_nof_accumulators-1-c_adder_latency-c_fifo_latency-1 ELSE '0'; END GENERATE;