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

Johnson vs. Ring Counter: Area and Timing Comparison for 8-State Sequence

MediumLogic CircuitAnalyze

Control logic often requires generating a sequence of mutually exclusive states to drive datapath operations without glitches.

A state machine must produce an 8-state sequence where exactly one output S0 through S7 is high at any given time. Three distinct architectures are proposed to generate this sequence: a Ring counter, a Johnson counter, and a standard Binary counter paired with a decoder.

The Ring counter architecture requires 8 D-flip-flops. The Johnson counter uses 4 D-flip-flops and requires two-input AND gates (AND2) to decode the sequence. The Binary counter uses 3 D-flip-flops and requires three-input AND gates (AND3) to decode the sequence.

Evaluate the area and timing trade-offs among these three architectures. Determine the most efficient implementation given standard CMOS cell library constraints.

Constraints

  • Assume a standard CMOS cell library where a D-flip-flop (DFF) requires 12 area units.
  • Assume an AND2 gate requires 4 area units and an AND3 gate requires 6 area units.
  • The decoded state outputs S0 through S7 must be strictly glitch-free.

Topics

sequential-logiccountersarea-optimizationdatapath-control

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