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.