diff --git a/libraries/dsp/st/src/vhdl/st_histogram.vhd b/libraries/dsp/st/src/vhdl/st_histogram.vhd index 159c5f22f806879bccc1939ea7afd0c62349f0dd..2a4db21c89af20cf1d84ba15a3403892ac2d5394 100644 --- a/libraries/dsp/st/src/vhdl/st_histogram.vhd +++ b/libraries/dsp/st/src/vhdl/st_histogram.vhd @@ -137,10 +137,10 @@ ARCHITECTURE rtl OF st_histogram IS -- snk_in_reg_arr ------------------------------------------------------------------------------- CONSTANT c_ram_rd_wr_latency : NATURAL := 3; -- RAM read,incr,write cycle latency - CONSTANT c_shiftreg_depth : NATURAL := c_ram_rd_wr_latency; + CONSTANT c_shiftreg_depth : NATURAL := c_ram_rd_wr_latency+1; - SIGNAL snk_in_reg_arr : t_dp_sosi_arr(c_shiftreg_depth DOWNTO 0); - SIGNAL nxt_snk_in_reg_arr : t_dp_sosi_arr(c_shiftreg_depth DOWNTO 0); + SIGNAL snk_in_reg_arr : t_dp_sosi_arr(c_shiftreg_depth-1 DOWNTO 0); + SIGNAL nxt_snk_in_reg_arr : t_dp_sosi_arr(c_shiftreg_depth-1 DOWNTO 0); SIGNAL snk_in_reg : t_dp_sosi; ------------------------------------------------------------------------------- @@ -250,11 +250,9 @@ BEGIN ------------------------------------------------------------------------------- p_nxt_snk_in_reg_arr: PROCESS(snk_in, snk_in_data, snk_in_reg_arr) IS BEGIN - nxt_snk_in_reg_arr <= snk_in_reg_arr; - nxt_snk_in_reg_arr(3).valid <= '0'; - --FOR i IN 0 TO c_shiftreg_depth-1 LOOP - -- nxt_snk_in_reg_arr(i) <= c_dp_sosi_rst; - --END LOOP; + FOR i IN 0 TO c_shiftreg_depth-1 LOOP + nxt_snk_in_reg_arr(i) <= c_dp_sosi_rst; + END LOOP; IF snk_in.valid='1' THEN -- The base function is a shift register