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

Reconvergence of Individually Synchronized Bits

HardLogic CircuitDebug

A 32-bit address bus transfers memory access requests from a 100 MHz processor domain to a 125 MHz peripheral domain.

Expected behavior: The destination domain must receive the exact 32-bit value transmitted on Addr_In accompanied by a synchronized Valid_Out pulse. Data corruption must not occur during transitions.

Simulation shows transient invalid addresses appearing on Addr_Out during domain crossing. When Addr_In transitions from 65535 to 65536, the destination domain asserts Valid_Out while sampling 131071. Inspect the circuit and correct the fault.

Constraints

  • Multi-bit data buses must not use parallel 2-flop synchronizers.
  • A handshake protocol or asynchronous FIFO must be used to transfer the data bus.
  • The synchronized data must only be read when the corresponding valid signal is asserted.

Topics

Clock Domain CrossingSynchronizationMulti-bit

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
  • FIFO Empty Logic Evaluated in Wrong DomainMedium
  • Debug: Asynchronous Clear GlitchHard
  • Clock Gate Enable Crossing DomainsHard

Browse all problems · Learning tracks