diff --git a/lib/lpp/dsp/iir_filter/RAM_CTRLR_v2.vhd b/lib/lpp/dsp/iir_filter/RAM_CTRLR_v2.vhd --- a/lib/lpp/dsp/iir_filter/RAM_CTRLR_v2.vhd +++ b/lib/lpp/dsp/iir_filter/RAM_CTRLR_v2.vhd @@ -108,21 +108,13 @@ BEGIN BEGIN -- PROCESS IF rstn = '0' THEN -- asynchronous reset (active low) counter <= (OTHERS => '0'); - rst_mem_done_s <= '0'; + rst_mem_done_s <= '1'; ELSIF clk'EVENT AND clk = '1' THEN -- rising clock edge - if rst_mem_done_s = '0' then + IF raddr_rst = '1' THEN + counter <= (OTHERS => '0'); + ELSIF raddr_add1 = '1' THEN counter <= STD_LOGIC_VECTOR(UNSIGNED(counter)+1); - else - IF raddr_rst = '1' THEN - counter <= (OTHERS => '0'); - ELSIF raddr_add1 = '1' THEN - counter <= STD_LOGIC_VECTOR(UNSIGNED(counter)+1); - END IF; - end if; - if counter = x"FF" then - rst_mem_done_s <= '1'; - end if; - + END IF; END IF; END PROCESS; RADDR <= counter;