Write Data Rate (words/s)
Read Data Rate (words/s)
Maximum Burst Duration (seconds)
Safety Margin (%)
An Asynchronous FIFO (First-In, First-Out) is a memory structure used to transfer data between two clock domains that operate at different frequencies or phases. It temporarily stores data when the write side produces data faster than the read side can consume it.
The FIFO depth should be large enough to handle the maximum amount of data that can accumulate during a burst, along with an additional safety margin.
FIFO Depth = ⌈(Write Rate − Read Rate) × Burst Duration × (1 + Safety Margin / 100)⌉
Where:
- Write Data Rate: Rate at which data is written into the FIFO, measured in words per second.
- Read Data Rate: Rate at which data is read from the FIFO, measured in words per second.
- Burst Duration: Maximum duration for which the write side produces data faster than the read side.
- Safety Margin: Additional FIFO capacity added to handle design variations and unexpected data accumulation.
When the write rate is greater than the read rate, data accumulates in the FIFO. The calculator determines the accumulated data during the burst and adds the selected safety margin.