Related Concepts: 6.01 Registers, Parallel Load & Shift Register Dynamics | 6.02 Asynchronous (Ripple) Counters & Propagation Delay Calculations | 6.04 Specialized Counters (Up-Down, Johnson, Ring & Mod-N ICs)

6.03 Synchronous Counter Design (Sequence, Code & BCD Counters)

Counter design appears in every single paper

Three question families, 10–15 marks each, all using the identical five-step procedure in §2:

FamilyAppearancesSection
Irregular sequence (15-10-9-…)7§3
Excess-3 code counter4§5
84-2-1 code counter3§4

All three are fully derived and verified below.

In a Synchronous Counter, the clock input is connected directly to the clock terminals of all flip-flops simultaneously. This eliminates cumulative propagation delay, allowing synchronous counters to operate at much higher clock frequencies than ripple counters.

1. Asynchronous vs. Synchronous Counter Comparison

FeatureAsynchronous (Ripple) CounterSynchronous Counter
Clock Signal ConnectionOnly 1st FF is clocked externally; subsequent FFs clocked by preceding FF outputs.All FFs clocked simultaneously by the master system clock.
Propagation DelayCumulative (t_total = N x t_pd). Grows linearly with bit count N.Fixed (t_total = t_pd + t_gate). Independent of bit count N.
Maximum FrequencyLow (f_max = 1 / (N * t_pd)).High (f_max = 1 / (t_pd + t_gate)).
Glitch SusceptibilityHigh (transient decoding errors occur during rippling).Low (state transitions settle simultaneously).
Design FlexibilityLimited to straight binary or simple truncated counters.Unlimited. Can count any arbitrary sequence or non-weighted code.

2. Systematic Synchronous Counter Synthesis Procedure

  1. Step 1: Determine Required Number of Flip-Flops N = ceil(log2 M)
  2. Step 2: Construct Combined State & Excitation Table
  3. Step 3: Minimize Flip-Flop Input Logic using K-Maps
  4. Step 4: Draw Final Synchronous Circuit Schematic

3. Design Example 1: Irregular Sequence Counter

Seven appearances — the most repeated design question in Chapter 6

Only the digit order changes between years:

SequenceFlip-flopYearsMarks
15-10-9-8-7-6JK2015 (13), 2020 (10)10–13
15-10-9-7-8-6JK2016 (15), 2022 (13)13–15
15-10-9-7-8-6T202313
15-10-9-8-6-7T202513
15-11-9-8-4-6-1T202412

Every version starts at 15 and uses 4 flip-flops with 10 unused states as don’t cares. Learn the procedure on the worked example below and you can execute any variant.

Worked Exam Problem (PYQ 2015 — 13 marks; 2020 — 10 marks)

Question (verbatim): Design a synchronous counter that will count 15-10-9-8-7-6 and repeat by using JK flip-flops.

Step 1 — Flip-Flop Count and Don’t Cares

Highest value is , so 4 JK flip-flops are needed: (MSB to LSB).

Only six of the sixteen states are used. The other ten — 0, 1, 2, 3, 4, 5, 11, 12, 13, 14 — never occur and become don’t cares in every K-map. This is what makes the final equations so short.

Step 2 — State Transition and JK Excitation Table

Recall the JK excitation rules: gives ; gives ; gives ; gives .

PresentNext
151111101010
10101091001
9100181000
8100070111
7011160110
60110151111

Step 3 — K-Map Minimisation

With ten don’t-care cells the maps collapse almost immediately:

Reading : the LSB toggles on every clock. Confirm it against the sequence — 15, 10, 9, 8, 7, 6 alternates odd, even, odd, even, odd, even. It does.

Step 4 — Verification

Substituting each present state back into the equations must reproduce the next state. Checking state 8 (1000):

  • , toggles ✓
  • , toggles ✓
  • , toggles ✓
  • toggles ✓

Result 0111 = 7 ✓. All six transitions check out.

Step 5 — Circuit

Four JK flip-flops sharing one clock, with the input logic above: ‘s and tied HIGH, and small AND/NOT networks generating the other six inputs.

Exam technique for any sequence-counter variant

  1. Always verify by substitution — it takes a minute and catches every K-map slip. Show at least one verified transition; examiners give credit for it.
  2. Use the unused states as don’t cares. Forgetting this yields correct but bloated equations and loses simplification marks.
  3. For T flip-flops (2023, 2024, 2025 versions) the table is simpler: , so one column per flip-flop instead of two. Same procedure otherwise.
  4. Mention lock-out. Because ten states are unused, the counter could power up in one of them and never reach the sequence. Noting that a self-correcting design or a reset is required shows design awareness — see 6.04 Specialized Counters (Up-Down, Johnson, Ring & Mod-N ICs).

4. Design Example 2: Code Counter in 84-2-1 Code

Exam Problem (PYQ 2016 — 12 marks; 2017 — 11 marks; 2020 — 10 marks)

Question (verbatim): Design a counter that counts the decimal digits according to code using T flip-flop.

Step 1 — The Sequence

The 84-2-1 code (weights ) runs:

Decimal0123456789
Code0000011101100101010010111010100110001111

Four T flip-flops . Unused states 0001, 0010, 0011, 1100, 1101, 1110 are don’t cares.

Step 2 — Transition and T Excitation Table

Recall — the flip-flop toggles exactly when the bit changes.

DecPresentNext
0000001110111
1011101100001
2011001010011
3010101000001
4010010111111
5101110100001
6101010010011
7100110000001
8100011110111
9111100001111

Step 3 — Minimised Drive Equations

The column is a free sanity check: the code’s LSB alternates on every step of the sequence, and it does.

Step 4 — Verification

State 0100 (decimal 4) 1011:

  • toggles ✓
  • toggles ✓
  • toggles ✓
  • toggles ✓ 1011 ✓

State 1111 (decimal 9) 0000:

  • , , , — all four toggle 0000 ✓

The trap in this question

84-2-1 is not a counting sequence in binary order. Going from decimal 4 (0100) to decimal 5 (1011) flips every bit. If you write the states as plain binary 0–9 instead of looking up the 84-2-1 code, the entire design is wrong from step 1.

Write out the code table first, exactly as in Step 1, and label each row with its decimal value. That table alone is worth marks — see 2.01 BCD & Weighted Digital Codes for how to verify each row by weight-sum ().

5. Design Example 3: Excess-3 Code Counter

Exam Problem (PYQ 2019, 2022 — 13 marks with T flip-flops; 2024 — 13 marks, 2025 — 10 marks with JK)

Question (verbatim, 2022): Design a counter that counts the decimal digits according to Excess-3 code using T flip-flop. Question (verbatim, 2024/2025): Design a decade counter to count excess-3 code sequence using minimum number of J-K flip-flops.

Note the flip-flop type changes by year: T in 2019 and 2022, JK in 2024 and 2025. The state sequence is identical — Excess-3 runs 0011 (decimal 0) through 1100 (decimal 9), so states 0000–0010 and 1101–1111 are the six don’t cares.

Step 1 — The Sequence

Excess-3 encodes decimal as binary , so the counter simply counts binary 3 up to 12, then wraps back to 3:

Four JK flip-flops . Unused states 0000, 0001, 0010, 1101, 1110, 1111 are don’t cares.

Step 2 — State Transition and JK Excitation Table

DecPresentNext
000110100
101000101
201010110
301100111
401111000
510001001
610011010
710101011
810111100
911000011

Step 3 — Minimised Drive Equations

Step 4 — Verification

The two transitions worth checking are the wrap-around and the carry across the nibble.

State 1100 (decimal 9) 0011:

  • , toggles ✓
  • , toggles ✓
  • , ✓
  • toggles ✓ 0011 ✓

State 0111 (decimal 4) 1000:

  • ✓
  • toggles ✓
  • toggles ✓
  • toggles ✓ 1000 ✓

The shortcut worth spotting

Excess-3 is just binary counting shifted by 3, so the drive equations look almost exactly like an ordinary binary up-counter (, each higher bit toggling on the AND of all lower bits). The only differences are the extra term in and the term in , which together force the wrap from 12 back to 3 instead of to 0. Saying this explicitly demonstrates understanding rather than mechanical table-filling.

For the T flip-flop versions (2019, 2022) use — one column per flip-flop instead of two, and the same don’t cares.


6. Past Year Questions (PYQs)

PYQ Index for this note

Question (as asked)YearsMarksSolved in
Design a synchronous counter that will count 15-10-9-8-7-6 and repeat using JK flip-flops2015 (13), 2020 (10)10–13§3
Design a synchronous counter that will count 15-10-9-7-8-6 and repeat using JK flip-flops2016 (15), 2022 (13)13–15§3 method
Design a synchronous counter that will count 15-10-9-7-8-6 and repeat using T flip-flop202313§3 method
Design a synchronous counter that will count 15-10-9-8-6-7 and repeat using T flip-flop202513§3 method
Design a counter following 15-11-9-8-4-6-1 and repeat using T flip-flop202412§3 method
Design a counter that counts decimal digits according to 84-2-1 code using T flip-flop2016 (12), 2017 (11), 2020 (10)10–12§4
Design a counter that counts decimal digits according to Excess-3 code using T flip-flop2019, 202213§5
Design a decade counter for the Excess-3 sequence using minimum J-K flip-flops2024 (13), 2025 (10)10–13§5
Design a BCD counter with JK flip-flops201910§5 method

Pattern to notice: counter design appears in every single paper, worth 10–15 marks, and it is always one of three families — irregular sequence (7 appearances), 84-2-1 code (3), or Excess-3 (4). The procedure never changes:

flip-flop count → state/excitation table → K-maps with unused states as don’t cares → verify by substitution → draw.

The variable to check each year is the flip-flop type — JK in 2015, 2016, 2019, 2020, 2022, 2024, 2025; T in 2016, 2017, 2020, 2023, 2025. Using the wrong excitation table produces a completely wrong answer from step 2 onward.