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

Serial Link: Clock Inversion at Receiver Debug

MediumLogic CircuitDebug

A serial link receiver captures an incoming bit stream into an 8-bit shift register.

Expected behavior:

The receiver samples the DataIn signal on the rising edge of Clk and shifts it into DataOut. After 8 clock cycles, DataOut holds the complete transmitted byte.

High-speed validation tests are failing. When transmitting the byte 0xA5 (10100101), DataOut evaluates to 0x22. Low-speed tests and static patterns like 0xFF pass without error. The received byte is corrupted during short bit transitions. Inspect the circuit and correct the fault.

Constraints

  • Modifying the clock distribution network is allowed.
  • Adding new flip-flops or shift registers is prohibited.

Topics

DebugTimingShift Registers

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