Skip to main content

Sync vs async; 3-bit synchronous down counter

Short answer

Synchronous counters have all flip-flops share a common clock, changing simultaneously with minimal delay; asynchronous counters ripple with accumulated propagation delays. A 3-bit synchronous down counter using JK flip-flops has J0=K0=1, J1=K1=Q0', J2=K2=Q1'Q0', and counts from 7 down to 0.

Differentiate between synchronous and asynchronous counter. Design 3-bit synchronous down counter using JK flip-flops.

Synchronous vs asynchronous counter

PointSynchronous counterAsynchronous (ripple) counter
ClockCommon clock to all flip-flopsOnly FF0 gets the clock; each next FF is clocked by the previous output
Change of stateAll flip-flops change togetherFlip-flops change one after another (ripple)
DelayOne FF delay + gate delayAdds up: n×tpdn \times t_{pd}
SpeedFast, high clock frequencySlow, frequency falls as nn grows
CircuitNeeds extra gating logicSimple, few or no extra gates
Decoding glitchesNone (no false states)Momentary false states give glitches
Example ICs74160/74163, 741907490, 7493

Design of 3-bit synchronous down counter (JK)

A 3-bit down counter counts 7, 6, 5, …, 0 and then returns to 7. Three JK flip-flops (Q2Q1Q0Q_2Q_1Q_0) share one clock.

Excitation table (JK: 0→0: 0X, 0→1: 1X, 1→0: X1, 1→1: X0)

Present Q2Q1Q0Next Q2Q1Q0J2K2J1K1J0K0
111110X0X0X1
110101X0X11X
101100X00XX1
100011X11X1X
0110100XX0X1
0100010XX11X
0010000X0XX1
0001111X1X1X

K-maps

J1: Q2 / Q1Q000011110
010XX
110XX
J2: Q2 / Q1Q000011110
01000
1XXXX

J0J_0 and K0K_0 are 1 in every row (Q0 toggles every clock), so J0=K0=1J_0 = K_0 = 1. J1J_1 and K1K_1 have the same map, and so do J2J_2 and K2K_2.

Equations

J2=Q1‾Q0‾,K2=Q1‾Q0‾J1=Q0‾,K1=Q0‾J0=1,K0=1\begin{aligned} &J_2 = \overline{Q_1}\overline{Q_0},\quad K_2 = \overline{Q_1}\overline{Q_0} \\ &J_1 = \overline{Q_0},\quad K_1 = \overline{Q_0} \\ &J_0 = 1,\quad K_0 = 1 \end{aligned}

In words, a stage toggles when all lower bits are 0 (the "borrow" condition), just as an up counter stage toggles when all lower bits are 1.

Circuit diagram

   +-----+       +-----+       +-----+
J0>|J   Q|-Q0 J1>|J   Q|-Q1 J2>|J   Q|-Q2
   | FF0 |       | FF1 |       | FF2 |
K0>|K    |    K1>|K    |    K2>|K    |
   +--o--+       +--o--+       +--o--+
      |             |             |
CLK---+-------------+-------------+
J0 = K0 = 1
J1 = K1 = Q0'
J2 = K2 = Q1'.Q0'   (one 2-input AND gate)

Timing diagram

CLK  __|‾|_|‾|_|‾|_|‾|_|‾|_|‾|_|‾|_|‾|_|‾
Q2   ____|‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾|_______________
Q1   ____|‾‾‾‾‾‾‾|_______|‾‾‾‾‾‾‾|_______
Q0   ____|‾‾‾|___|‾‾‾|___|‾‾‾|___|‾‾‾|___
Cnt  0    7   6   5   4   3   2   1   0

All outputs change together on the falling clock edge, so no ripple delay or false state appears.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Digital Logic chapter 8 questions →