@@ -207,14 +207,23 @@ architecture rtl of rx_buffer_pointers is
207207 -- by 1.
208208 signal rx_mem_free_i_inc_1 : unsigned (C_FREE_MEM_WIDTH - 1 downto 0 );
209209
210+ -----------------------------------------------------------------------------------------------
211+ -- Auxiliarly signals
212+ -----------------------------------------------------------------------------------------------
213+ signal abort_applied : std_logic ;
214+
210215begin
216+
211217 read_pointer <= std_logic_vector (read_pointer_i);
212218 read_pointer_inc_1 <= std_logic_vector (read_pointer_inc_1_i);
213219 write_pointer <= std_logic_vector (write_pointer_i);
214220 write_pointer_raw <= std_logic_vector (write_pointer_raw_i);
215221 write_pointer_ts <= std_logic_vector (write_pointer_ts_i);
216222 rx_mem_free_i <= std_logic_vector (rx_mem_free_i_i);
217223
224+ abort_applied <= '1' when (rec_abort_f = '1' or commit_overrun_abort = '1' )
225+ else
226+ '0' ;
218227
219228 -----------------------------------------------------------------------------------------------
220229 -- Read pointer, incremented during read from RX Buffer FIFO. Moving to next word by reading
@@ -316,7 +325,7 @@ begin
316325
317326 -- Read of memory word, and abort at the same time. Revert last commited value of
318327 -- read pointer incremented by 1.
319- if (rec_abort_f = '1' or commit_overrun_abort = '1' ) then
328+ if (abort_applied = '1' ) then
320329 rx_mem_free_raw <= rx_mem_free_i_inc_1;
321330
322331 -- Read of memory word and no write of memory word. Load raw value incremented by 1.
@@ -330,7 +339,7 @@ begin
330339 else
331340
332341 -- Abort, or abort was previously flaged -> Revert last commited value.
333- if (rec_abort_f = '1' or commit_overrun_abort = '1' ) then
342+ if (abort_applied = '1' ) then
334343 rx_mem_free_raw <= rx_mem_free_i_i;
335344
336345 -- No read, write only, decrement by 1.
0 commit comments