diff --git a/libraries/dsp/st/src/vhdl/st_histogram.vhd b/libraries/dsp/st/src/vhdl/st_histogram.vhd index 1ad9224760b5a33a7f93e3c316b0b5e560d94d21..e013abb8e6e089ca931cd1fe74ca032c039add0c 100644 --- a/libraries/dsp/st/src/vhdl/st_histogram.vhd +++ b/libraries/dsp/st/src/vhdl/st_histogram.vhd @@ -156,9 +156,6 @@ ARCHITECTURE rtl OF st_histogram IS SIGNAL bin_arbiter_rd_ram_pointer : STD_LOGIC; SIGNAL prv_bin_arbiter_rd_ram_pointer : STD_LOGIC; - SIGNAL read_allowed : BOOLEAN; - SIGNAL prv_read_allowed : BOOLEAN; - SIGNAL nxt_bin_arbiter_wr_mosi : t_mem_mosi; SIGNAL bin_arbiter_wr_mosi : t_mem_mosi; SIGNAL bin_arbiter_rd_mosi : t_mem_mosi; @@ -389,22 +386,11 @@ BEGIN -- bin_arbiter_rd_mosi (rd requests to RAM) -- bin_reader_miso (carries the bins requested by bin_reader) ------------------------------------------------------------------------------- - -- Really simple arbitration: always allow writes, only allow reads when possible (rd_addr != wr_addr). - read_allowed <= FALSE WHEN bin_writer_mosi.wr='1' AND bin_reader_mosi.rd='1' AND bin_writer_mosi.address=bin_reader_mosi.address ELSE TRUE; - -- save previous read_allowed - p_prv_read_allowed: PROCESS(dp_rst, dp_clk) IS - BEGIN - IF dp_rst='1' THEN - prv_read_allowed <= FALSE; - ELSIF RISING_EDGE(dp_clk) THEN - prv_read_allowed <= read_allowed; - END IF; - END PROCESS; -- Forward MOSI buses -- . RD MOSI bin_arbiter_rd_mosi.wr <= '0'; - bin_arbiter_rd_mosi.rd <= bin_reader_mosi.rd WHEN read_allowed ELSE '0'; + bin_arbiter_rd_mosi.rd <= bin_reader_mosi.rd; bin_arbiter_rd_mosi.address <= bin_reader_mosi.address; -- . WR MOSI bin_arbiter_wr_mosi.rd <= '0';