Timing analysis and CDC

In an asynchronous FIFO with a 100 MHz write side and an 80 MHz read side, the write side writes a 100-word burst at one word per cycle and the read side reads one word per cycle. There is ample idle time between bursts. What is the minimum depth needed to avoid overflow (ignore synchronization delay)?

  1. A80 words
  2. B25 words
  3. C20 words
Show answer and explanation

Answer: C. 20 words

Writing 100 words takes 100 × 10 ns = 1000 ns. In that time the read side can read 1000 ns ÷ 12.5 ns = 80 words, so the maximum left in the FIFO is 100 − 80 = 20 words. As a formula, burst length × (1 − read rate ÷ write rate) = 100 × (1 − 80 ÷ 100) = 20. 80 words is the amount that can be read during that time, and 25 words comes from dividing the 20 MHz rate difference by the read side's 80 MHz. In actual designs, margin for synchronization delay is added.

Practice this topic Back to topic

Books on Timing analysis and CDC Ad

As an Amazon Associate I earn from qualifying purchases.

More Timing analysis and CDC questions

  1. The write side writes a 120-word burst at one word per cycle at 200 MHz. The read side, on a 150 MHz clock, reads one word in only 2 out of every 3 cycles. What is the minimum depth needed to avoid overflow (ignore synchronization delay)?
  2. The write side runs at 250 MHz and the read side at 200 MHz, both transferring one word per cycle. What is the minimum calculated depth for a FIFO receiving a 64-word burst (ignore synchronization delay and round up fractions)?
  3. Which is the correct structure of a reset synchronizer that generates, from an active-low external reset, an internal reset that is "asserted asynchronously and deasserted synchronously"?
  4. Two control signals from the same sending domain are each received through a separate two-stage synchronizer and ANDed on the receiving side. What is the problem with this design?
  5. Why is checking with a CDC verification tool considered necessary even when STA and RTL simulation have been done?