Ring Counter and Johnson Counter

A ring counter and a Johnson counter are two shift-register-based counters that circulate a pattern of bits through flip-flops. They are not binary counters — they produce a repeating sequence of one-hot or walking patterns that are easy to decode without extra logic. This guide explains both, their sequences and where each is used.

Ring counter

A ring counter is a shift register whose serial output is fed back to its serial input, with a single 1 circulating through the stages. For a 4-bit ring counter, the sequence is:

StateQ3 Q2 Q1 Q0
01 0 0 0
10 1 0 0
20 0 1 0
30 0 0 1
back to 01 0 0 0

An n-bit ring counter has n unique states. Each output is already one-hot, so it can drive a decoded signal (like a stepper-motor phase or a time-slot enable) directly — no decoder needed.

Johnson counter (twisted-ring counter)

A Johnson counter is a ring counter in which the complement of the last flip-flop’s output is fed back to the first. This doubles the state count. For a 4-bit Johnson counter the sequence is:

StateQ3 Q2 Q1 Q0
00 0 0 0
11 0 0 0
21 1 0 0
31 1 1 0
41 1 1 1
50 1 1 1
60 0 1 1
70 0 0 1
back to 00 0 0 0

An n-bit Johnson counter has 2n unique states — twice the ring counter for the same flip-flop count.

Ring vs Johnson counter

FeatureRing counterJohnson counter
FeedbackLast output → first inputComplement of last output → first input
States (n flip-flops)n2n
Output patternOne-hot (single 1)Walking / overlapping
DecodingNo decoder neededNeeds a 2-input gate per state
Flip-flop efficiencyLowerHigher (more states per FF)

Where they are used

Ring counters are used for sequencing and one-hot control (phase generation, time-division multiplexing, state machines where a one-hot encoding is convenient). Johnson counters are used to generate quadrature or multiphase clocks and symmetric timing waveforms. Both avoid the carry-chain delay of a binary counter, so they are fast and glitch-light.

Self-starting concern

A plain ring or Johnson counter can power up in an invalid state (for example all zeros in a ring counter, which then never recovers). Practical designs add reset/decode logic to force a valid starting state — a “self-correcting” counter.

FAQs on ring and Johnson counters

What is the difference between a ring counter and a Johnson counter?

A ring counter feeds the last flip-flop’s true output back to the first and has n states; a Johnson counter feeds back the complement and has 2n states for the same n flip-flops.

How many states does an n-bit Johnson counter have?

2n states — for example a 4-bit Johnson counter cycles through 8 states.

Why use a ring counter instead of a binary counter?

Its outputs are already one-hot, so sequencing signals need no decoder, and it has no carry chain, so it is fast and glitch-free for control applications.

What is a self-starting counter?

One with added logic that forces it out of any invalid/lock-up state into the valid sequence, guaranteeing correct operation after power-up.

Learn sequential design and RTL coding in ChipXpert’s RTL Design course. Related: shift registers, counters in digital electronics.

🎓 Take VLSI Courses Online → Explore ChipXpert Online  –  Live VLSI courses with practical EDA lab work.
Have questions about this topic?
Share your question in comments or talk to our mentor team for batch guidance.

Ask the Admin Team

Drop your basic question in comments: eligibility, prerequisites, tools, fee range, and placement support.

Our team reviews and responds regularly.

Tags :
Share This :