Actual FIFO Depth - 1.0 English

Embedded FIFO Generator LogiCORE IP Product Guide (PG327)

Document ID
PG327
Release Date
2023-05-10
Version
1.0 English

Of critical importance is the understanding that the effective or actual depth of a FIFO is not necessarily consistent with the depth selected in the GUI, because the actual depth of the FIFO depends on its implementation and the features that influence its implementation. In the Vivado IDE, the actual depth of the FIFO is reported: the following section provides formulas or calculations used to report this information.

The actual FIFO depths are influenced by the following features that change its implementation:

  • Common or Independent Clock
  • Standard or FWFT Read Mode
  • Symmetric or Non-symmetric Port Aspect Ratio

Depending on how a FIFO is configured, the calculation for the actual FIFO depth varies.

  • Common Clock FIFO in Standard Read Mode
    • actual_write_depth = gui_write_depth
    • actual_read_depth = gui_read_depth
  • Common Clock FIFO in FWFT Read Mode
    • actual_write_depth = gui_write_depth + 2
    • actual_read_depth = gui_read_depth + 2
  • Independent Clock FIFO in Standard Read Mode
    • actual_write_depth = gui_write_depth – 1
    • actual_read_depth = gui_read_depth – 1
  • Independent Clock FIFO in FWFT Read Mode
    • actual_write_depth = (gui_write_depth – 1) + (2 * round_down(gui_write_depth/gui_read_depth))
    • actual_read_depth = gui_read_depth + 1
Note:
  1. Gui_write_depth = actual write (input) depth selected in the GUI
  2. Gui_read_depth = actual read (output) depth selected in the GUI
  3. Non-symmetric port aspect ratio feature (gui_write_depth not equal to gui_read_depth) is only supported in block RAM/UltraRAM based FIFOs.