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

Johnson Counter: 5-Bit for 10-Phase Generation

HardLogic CircuitBuild

Multiphase clock generation for analog-to-digital converters and precision motor control requires glitch-free state transitions. A twisted ring topology efficiently generates ten distinct, non-overlapping phases using only five flip-flops, cutting the register count in half compared to a standard ring counter.

Construct a 5-bit shift register where the inverted output of the final stage feeds back into the input of the first stage. The circuit must advance on the rising edge of the implicit clock. An active-high rst signal must synchronously clear all flip-flops to zero.

| rst | q4 | q3 | q2 | q1 | q0 | |-------|------|------|------|------|------| | 1 | 0 | 0 | 0 | 0 | 0 | | 0 | 0 | 0 | 0 | 0 | 1 | | 0 | 0 | 0 | 0 | 1 | 1 | | 0 | 0 | 0 | 1 | 1 | 1 | | 0 | 0 | 1 | 1 | 1 | 1 | | 0 | 1 | 1 | 1 | 1 | 1 | | 0 | 1 | 1 | 1 | 1 | 0 | | 0 | 1 | 1 | 1 | 0 | 0 | | 0 | 1 | 1 | 0 | 0 | 0 | | 0 | 1 | 0 | 0 | 0 | 0 | | 0 | 0 | 0 | 0 | 0 | 0 |

Constraints

  • Use exactly five D-type flip-flops.
  • Implement synchronous active-high reset logic to clear all stages.
  • Do not use any external combinational logic other than the feedback inversion and reset handling.

Topics

CountersState MachinesShift 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