CodiodeCodiode
Home
Problem Solving
Skill Tracks
My Assignments
Contests
Leaderboard
Community
Settings
Codiode/Problems/Sequential Logic

FIFO Depth with Different Read and Write Rates

HardLogic CircuitAnalyze

Asynchronous FIFOs absorb data bursts between clock domains with mismatched throughputs and differing clock frequencies. The system under analysis transfers a burst of B data items from a source domain to a destination domain.

The source clock operates at f_wr and writes data continuously for 3 out of every 4 clock cycles. The destination clock operates at f_rd and can only read data 1 out of every 2 clock cycles.

Calculate the required FIFO depth to prevent overflow during a maximum burst transfer under various clock frequency ratios.

Constraints

  • The burst size B represents the total number of items written before the source pauses.
  • The source writes exactly 3 items per 4 clk_wr cycles during the burst.
  • The destination reads exactly 1 item per 2 clk_rd cycles whenever the FIFO is not empty.
  • Required depth must be rounded up to the nearest integer.

Topics

fifoclock-domain-crossingarchitecturethroughput

Solve this problem

Place the gates, wire them up and watch the signals settle. Every submission runs on the same simulation engine that grades it.

This problem is part of Codiode Pro. The statement above is free to read.

Sign in to solveSee what Pro unlocks

The circuit builder and code editor need a desktop screen. On a phone, read the problem here and open it on a laptop to solve.

Related problems

  • 3-bit Ripple Counter from Toggle Flip-FlopsEasy
  • D Latch from a 2:1 MUXEasy
  • 2-bit Ring CounterEasy
  • T Flip-Flop from a D Flip-FlopEasy
  • Handshake Deadlock Due to Early ResetHard
  • Reconvergence of Individually Synchronized BitsHard
  • Debug: Asynchronous Clear GlitchHard
  • Clock Gate Enable Crossing DomainsHard

Browse all problems · Learning tracks