Related Concepts: 6.01 Registers, Parallel Load & Shift Register Dynamics | 6.03 Synchronous Counter Design (Sequence, Code & BCD Counters) | 6.04 Specialized Counters (Up-Down, Johnson, Ring & Mod-N ICs)
6.02 Asynchronous (Ripple) Counters & Propagation Delay Calculations
The definition is asked five times; the numerical once
“What is ripple counter?” opens the up-down counter question in 2018, 2022, 2023 and 2025 (see 6.04 Specialized Counters (Up-Down, Johnson, Ring & Mod-N ICs) §1). The delay numerical in §2 appeared once, in 2018, but was worth 13 marks.
Overview: An Asynchronous Counter (commonly known as a Ripple Counter) is a sequential counting circuit where flip-flops are not clocked simultaneously. Instead, only the first flip-flop (LSB) receives the external system clock; each subsequent flip-flop is clocked by the output transition of the preceding flip-flop.
1. 4-Bit Binary Ripple Up-Counter
The definition to have ready
“A ripple (asynchronous) counter is one in which only the first flip-flop is driven by the system clock; each subsequent flip-flop is clocked by the output of the preceding stage, so state changes propagate — ripple — through the chain rather than occurring simultaneously.”
Add the consequence — cumulative propagation delay limiting maximum frequency — and you have the full answer to the “What is ripple counter?” clause that opens the 2018, 2022, 2023 and 2025 up-down counter questions.
A 4-bit binary ripple up-counter counts sequentially from 0000₂ (0₁₀) to 1111₂ (15₁₀) using 4 negative-edge triggered JK flip-flops set to Toggle mode (J = K = 1).
1.1 Circuit Diagram & Connection Rules
System CLK —⇒(CLK) [ FF 0 ]---⇒ Q0 (LSB)
|
(CLK) [ FF 1 ]---⇒ Q1
|
(CLK) [ FF 2 ]---⇒ Q2
|
(CLK) [ FF 3 ]---⇒ Q3 (MSB)
Connection Rule for Up-Counter vs. Down-Counter: • Up-Counter (Negative-Edge FFs): Connect Qᵢ to CLKᵢ₊₁. • Down-Counter (Negative-Edge FFs): Connect Q̅ᵢ to CLKᵢ₊₁.
2. Propagation Delay & Maximum Operating Frequency
Because transitions ripple sequentially through the cascade of N flip-flops, the total time required for a state update to settle across the entire counter is cumulative.
2.1 Mathematical Formulas
1. Total Cumulative Propagation Delay (t_total): For an N-bit ripple counter where each flip-flop has a propagation delay t_pd: t_total = N × t_pd
2. Maximum Operating Frequency (f_max): To ensure reliable operation without output corruption before settling: f_max = 1 / t_total = 1 / (N × t_pd)
Worked Exam Problem (PYQ 2018 — 13 marks)
Question (verbatim): A flip-flop has a 20-ns delay from the time its CP input goes from 1 to 0 to the time the output is complemented. What is the maximum delay in a 10-bit binary ripple counter that uses these flip-flops? What is the maximum frequency the counter can operate at reliably?
Solution:
- Given: Number of bits N = 10, Propagation delay per flip-flop t_pd = 20 ns = 20 × 10⁻⁹ s.
- Total Delay (t_total): t_total = N × t_pd = 10 × (20 ns) = 200 ns
- Maximum Operating Frequency (f_max): f_max = 1 / t_total = 1 / (200 × 10⁻⁹ s) = 5 × 10⁶ Hz = 5 MHz
Why the worst case is all 10 stages
The delay is only cumulative when every flip-flop must toggle — which happens on the transition from
1111111111to0000000000. Most counts settle far faster, but the clock period must accommodate the worst case, so with .Contrast with a synchronous counter built from the same flip-flops: all stages are clocked together, so regardless of width, giving roughly 50 MHz — ten times faster. Stating this comparison answers the implicit “so why use synchronous?” and is worth marks in a 13-mark question.
Unit discipline: convert nanoseconds to seconds before inverting. is 5 MHz, not 5 Hz or 5 GHz.
3. Truncated Ripple Counters (MOD-N / Decade Counter)
A full N-bit counter has a natural modulus of 2ᴺ. A Truncated Counter resets to 0000 before reaching 2ᴺ - 1 by decoding a specific terminal state using a feedback NAND gate connected to the asynchronous CLR̅ (Clear) inputs.
3.1 Design of a BCD / Decade Ripple Counter (MOD-10)
To count from 0000 (0) to 1001 (9) and reset at 1010 (10):
-
Target Terminal Count: 10₁₀ = 1010₂ (Q₃ Q₂ Q₁ Q₀ = 1010).
-
NAND Decoding Logic: Decode Q₃ = 1 and Q₁ = 1: CLR̅ = ̅(Q₃ · Q₁)
-
Operation: As soon as state 1010 (10) is momentarily reached, the NAND output drops to
0, asynchronously clearing all 4 flip-flops back to 0000 in a fraction of a nanosecond.
Q3 -----\
[ NAND ]---⇒ Active-LOW Clear (CLR) to all 4 Flip-Flops
Q1 -----/