FIFO Depth Calculator
Calculate the minimum FIFO depth needed to absorb a write burst, given write/read clock frequencies and per-cycle rates. Shows the math, adds CDC synchronizer slack, and rounds to a power of two.
Results
- Minimum depth
- 75 words
- Recommended depth (power of 2)
- 128 words
- Worst-case accumulation
- 64 words
- Burst duration
- 2.56 us
Notes
- Write bandwidth = 100 MHz x 1 = 100 Mwords/s; read bandwidth = 75 MHz x 1 = 75 Mwords/s.
- Burst of 256 words takes 2.56 us to write; the reader drains 192 words in that window.
- Worst-case accumulation = 256 - 192 = 64 words.
- +4 words CDC slack for gray-pointer synchronizer latency.
- Rule of thumb: if the burst can repeat back-to-back with no idle gap, the reader must be faster on average or no finite FIFO is deep enough.
About this tool
A FIFO absorbs a temporary rate mismatch: while a burst is being written, the reader drains what it can, and the FIFO must hold the difference. This calculator computes that worst-case accumulation from your clock rates and per-cycle throughputs, adds slack for the gray-pointer synchronizer latency of an asynchronous FIFO, and rounds up to the power-of-two depth async pointers want. Mind the model's fine print: it assumes the reader is never stalled during the burst and that bursts don't repeat back-to-back, if sustained write bandwidth exceeds read bandwidth, no finite FIFO is deep enough. Full derivation in how to size an async FIFO.
Cores that use this
Open FPGA IP from the registry you can drop in instead of building from scratch.