Synchronous FIFO Controller

Intermediate
Sign in →
00:00
01General Operation

The FIFO controller manages a circular buffer of depth G_FIFO_DEPTH. Writes add data when the FIFO is not full, reads consume when not empty. Status flags indicate FIFO state (empty, full, almost empty, almost full, occupancy count).

Reset is synchronous and active-high.

  • Writes are ignored when the FIFO is full
  • Reads are ignored when the FIFO is empty
  • Thresholds G_FIFO_A_EMPTY and G_FIFO_A_FULL configure alert levels
02Interface

Generics:

  • G_FIFO_PTR_WIDTH : integer — Pointer width
  • G_FIFO_DEPTH : integer — FIFO depth

Ports:

SignalDirectionWidthDescription
i_clkInput1 bitSystem clock
i_rstInput1 bitSynchronous reset
i_fifo_weInput1 bitWrite Enable
o_fifo_fullOutput1 bitFIFO full
o_fifo_ptr_wrOutputG_FIFO_PTR_WIDTHWrite pointer
i_fifo_reInput1 bitRead Enable
o_fifo_emptyOutput1 bitFIFO empty
o_fifo_ptr_rdOutputG_FIFO_PTR_WIDTHRead pointer
o_fifo_levelOutputG_FIFO_PTR_WIDTH+1Fill level