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

Throughput Limits of Handshake Protocols

MediumLogic CircuitAnalyze

Four-phase handshakes guarantee safe data transfer across asynchronous clock domains but severely limit throughput due to round-trip synchronization latency.

A hardware block transfers a 32-bit data word from a transmitter domain operating at clk_tx (500 MHz) to a receiver domain operating at clk_rx (250 MHz). The protocol uses a standard four-phase handshake. The transmitter asserts REQ. The receiver synchronizes REQ through a 2-stage flip-flop synchronizer, then updates its state machine to assert ACK. The transmitter synchronizes ACK through its own 2-stage synchronizer, then updates its state machine to deassert REQ. Finally, the receiver synchronizes the deasserted REQ and deasserts ACK, completing the cycle.

Assume ideal phase alignment: every clock domain crossing requires exactly 2 destination clock cycles for synchronization, plus 1 destination clock cycle for the local state machine to register the synchronized signal and update its output.

Calculate the latency limits of this synchronization mechanism and determine the maximum data rate.

Constraints

  • clk_tx operates at 500 MHz (2 ns period).
  • clk_rx operates at 250 MHz (4 ns period).
  • Synchronization takes exactly 2 destination clock cycles.
  • State machine updates take exactly 1 destination clock cycle.

Topics

Clock Domain CrossingSynchronizationLatencyProtocol

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