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

BCD Counter: Reset at 8 Instead of 10 Debug

MediumLogic CircuitDebug

A BCD (Binary-Coded Decimal) counter increments from 0 to 9 and resets to 0 on the next clock edge. The counter uses four bits to represent the state, with Q3 as the most significant bit and Q0 as the least significant bit.

Expected behavior:

The counter sequence should step through 0000 to 1001 and then return to 0000 on the tenth clock pulse.

Simulation shows the counter increments normally from 0000 to 0111. On the next clock edge, the outputs transition to 0000 instead of 1000. The states 1000 and 1001 are entirely missing from the sequence. Inspect the circuit and correct the fault.

Constraints

  • Do not replace the entire counter architecture
  • Modify only the logic path responsible for detecting the reset condition
  • Maintain the standard asynchronous or synchronous reset behavior of the original design

Topics

BCDDebugSequential LogicCounters

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