
Other Counters
Ring, Johnson, and BCD counters — special patterns for decoding and division.
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
| Counter | States (n FFs) |
|---|---|
| Ring | n (one-hot) |
| Johnson | 2n |
| BCD | 10 (mod-10) |
Black-box view
Inputs on the left → outputs on the right · particles show signal direction
Ring & Johnson sequences
▶ live simulatorPick a mode, then press Clock ▲ to shift and trace each bit.
Real-world applications
The 5 Whys
- 1
Why other counters? Binary counters need a decoder; these self-decode.
- 2
Why one-hot (ring)? Each state is its own line — instant decoding.
- 3
Why Johnson? Twice the states with glitch-free 2-input decoding.
- 4
Why BCD? Decimal displays need a mod-10 sequence.
- 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.