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

Ring Counter: Invalid State Never Reaches Valid Sequence

MediumLogic CircuitTiming Diagram

A 4-bit positive-edge-triggered ring counter shifts its bit pattern one position to the right on every LOW-to-HIGH transition of CLK and feeds the least significant bit back to the most significant bit.

Five signals are shown: CLK (clock, period 2), and four outputs Q3 (most significant bit), Q2, Q1, and Q0 (least significant bit). The counter powers on in an invalid multi-hot state where Q3=1, Q2=1, Q1=0, and Q0=0.

Trace the outputs Q3, Q2, Q1, and Q0 across all 16 time steps to demonstrate that the counter loops indefinitely in a permanent invalid cycle without ever entering a valid one-hot state.

Constraints

  • The next state of Q2 captures the current state of Q3.
  • The next state of Q1 captures the current state of Q2.
  • The next state of Q0 captures the current state of Q1.
  • The next state of Q3 captures the current state of Q0.
  • State transitions occur exactly on the LOW-to-HIGH edge of CLK and remain stable until the next rising edge.

Topics

sequential-logiccountersstate-machine

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