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

Mismatched Routing Delays on Gray Codes

HardLogic CircuitDebug

A Gray code pointer safely transfers multi-bit state across clock domains by ensuring only one bit transitions at a time.

Expected behavior:

The 2-bit synchronized pointer ptr_sync must follow the exact Gray code sequence 00, 01, 11, 10 across clock domain boundaries.

Post-layout simulation shows an invalid state transition. When the source domain transitions from 01 to 11, the destination domain samples 00 for one clock cycle before settling on 11. The RTL logic passes functional verification but fails timing-aware simulation.

Inspect the circuit and correct the fault.

Constraints

  • Do not modify the underlying RTL logic.
  • Apply the fix strictly to the timing constraint file.
  • The solution must constrain the routing delay difference across the bus to be less than the destination clock period.

Topics

Gray CodeCDCSynchronizationTiming Constraints

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