Logo
All chapters
Volume II: Digital Logic  ›  Registers & Counters

Other Counters

Ring, Johnson, and BCD counters — special patterns for decoding and division.

PrevSynchronous Counters
NextHDL Models

Description

Counters with non-binary sequences: ring, Johnson, and decade (BCD). Their outputs are trivially decoded or fit a decimal/one-hot need. Shift-register feedback (ring/Johnson) or terminal-count reset (BCD).

  • Ring counter: a single 1 circulates — outputs are already one-hot (no decoder).
  • Johnson counter: produces 2n glitch-free states with simple 2-input decoding.
  • Counts 0000–1001 then resets to 0000 (mod-10).
  • Reset is triggered by detecting the count 1010 (or 1001 terminal).
  • What: Counters with non-binary sequences: ring, Johnson, and decade (BCD).
  • Why: Their outputs are trivially decoded or fit a decimal/one-hot need.
  • How: Shift-register feedback (ring/Johnson) or terminal-count reset (BCD).
  • Where: One-hot control sequencing, timing waveforms, decimal displays.
  • When: When you need self-decoding states or a non-power-of-two modulus.
  • Ring: n states

At a glance

What

Counters with non-binary sequences: ring, Johnson, and decade (BCD).

Why

Their outputs are trivially decoded or fit a decimal/one-hot need.

How

Shift-register feedback (ring/Johnson) or terminal-count reset (BCD).

Where

One-hot control sequencing, timing waveforms, decimal displays.

When

When you need self-decoding states or a non-power-of-two modulus.

Think of it like…

A ring counter is a single runner on a circular track — you always know the lap position by who's running. Johnson sends the runner around twice with a costume change.

Ring & Johnson

  • Ring counter: a single 1 circulates — outputs are already one-hot (no decoder).
  • Johnson counter: produces 2n glitch-free states with simple 2-input decoding.

BCD (decade) counter

  • Counts 0000–1001 then resets to 0000 (mod-10).
  • Reset is triggered by detecting the count 1010 (or 1001 terminal).

State count

CounterStates (n FFs)
Ringn (one-hot)
Johnson2n
BCD10 (mod-10)

Black-box view

CLKPresetRing/Johnson Counterblack boxQ3Q2Q1Q0

Inputs on the left → outputs on the right · particles show signal direction

Ring & Johnson sequences

▶ live simulator
1Q3
0Q2
0Q1
0Q0

Pick a mode, then press Clock ▲ to shift and trace each bit.

Real-world applications

One-hot controllersTiming/strobe generationDecimal displays (BCD)

The 5 Whys

  1. 1

    Why other counters? Binary counters need a decoder; these self-decode.

  2. 2

    Why one-hot (ring)? Each state is its own line — instant decoding.

  3. 3

    Why Johnson? Twice the states with glitch-free 2-input decoding.

  4. 4

    Why BCD? Decimal displays need a mod-10 sequence.

  5. 5

    Root cause: shaping the count sequence trades flip-flops for cheaper decoding.

Cheat sheet

Working principle

  • Shift-register feedback (ring/Johnson) or terminal-count reset (BCD).
  • Counters with non-binary sequences: ring, Johnson, and decade (BCD).

Formulas & Boolean expressions

  • Ring: n states
  • Johnson: 2n states
  • BCD: mod-10 (reset at 1010)
  • Ring = n (one-hot)
  • Johnson = 2n
  • BCD = 10 (mod-10)

Key facts

  • Ring counter: a single 1 circulates — outputs are already one-hot (no decoder).
  • Counts 0000–1001 then resets to 0000 (mod-10).

Why it exists

  • Root cause: shaping the count sequence trades flip-flops for cheaper decoding.
PrevSynchronous Counters
NextHDL Models