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

Shift Register vs Synchronizer

MediumLogic CircuitTiming Diagram

A sequence of two D flip-flops acts as a pipeline delay for synchronous signals, but serves as a synchronizer for asynchronous signals by isolating metastability. A positive-edge-triggered flip-flop captures its input on the LOW-to-HIGH transition of CLK. If an input transitions exactly on the clock edge, the capturing flip-flop's output becomes indeterminate (X) for that entire clock cycle.

Five signals are shown: CLK (clock, period 2), D_SYNC (synchronous input), D_ASYNC (asynchronous input), Q_S2 (second-stage output of the synchronous pipeline, initially 0), and Q_A1 (first-stage output of the synchronizer, initially 0).

Trace Q_S2 and Q_A1 across all 10 time steps. Use X for any indeterminate states.

Constraints

  • Evaluate all flip-flop captures strictly at the LOW-to-HIGH clock transitions.
  • A signal must be stable during the clock edge to be captured deterministically.
  • Q_S2 is driven by the internal first-stage output of the synchronous pipeline.

Topics

timingflip-flopsmetastabilitysynchronization

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