Asynchronous Counter
Ripple counter, propagation delay accumulation.
An asynchronous counter is a sequential logic circuit where flip-flops are not triggered by a common clock signal. Instead, each flip-flop is triggered by the output of the previous one, causing a ripple effect through the chain. This makes the asynchronous counter simple in design but introduces cumulative propagation delay, which limits its speed in high-frequency applications.
Core Concept Explanation
In a ripple counter, all flip-flops are configured as T flip-flops with T input tied HIGH, which means each flip-flop toggles on every active clock edge it receives. The first flip-flop FF0 receives the external clock. Its output Q0 serves as the clock input to the second flip-flop FF1. Q1 then clocks FF2, and so on. Because the clock propagates from one stage to the next sequentially, the output of later stages appears after a delay equal to the sum of all preceding flip-flop propagation delays.
This cascade mechanism gives the counter its other name: the ripple counter. For an n-bit ripple counter, the modulus is 2^n, meaning it counts through 2^n unique states. A 2-bit counter has modulus 4 (counts 0 to 3), a 3-bit counter has modulus 8 (counts 0 to 7), and a 4-bit counter has modulus 16. These are also called MOD-2^n counters.
The flip-flops can be negative-edge triggered or positive-edge triggered depending on design. Most standard ripple counters use negative-edge triggering, meaning FF1 toggles when Q0 transitions from HIGH to LOW. This is because Q0 falling edge corresponds to FF0 completing one full cycle, representing the carry to the next bit.
Propagation Delay in Asynchronous Counters
The most significant limitation of asynchronous counters is the propagation delay accumulation. If each flip-flop has a propagation delay of tpd, then after N flip-flop stages, the output of the Nth stage is valid only after N x tpd time from the input clock edge. For a 4-stage ripple counter with tpd = 10 ns per flip-flop, the MSB output settles only after 40 ns. The maximum operating frequency is therefore limited by the total accumulated delay, not by a single flip-flop delay.
The maximum clock frequency for an N-stage asynchronous counter is expressed as:
f_max = 1 / (N x tpd + t_setup)
where t_setup is any additional setup time requirement. This means as more flip-flop stages are added, the maximum usable clock frequency decreases proportionally. This is the fundamental speed penalty of the asynchronous architecture.
Mathematical Expression
For a modulus-M counter built from an n-bit ripple counter, the relation is M = 2^n. The number of flip-flops required is n = ceil(log2(M)). The total propagation delay from clock input to MSB output is T_total = n x tpd. The clock period must satisfy T_clk > T_total to ensure correct operation, giving the constraint: f_clk < 1 / (n x tpd).
Practical Understanding
Asynchronous counters are used in applications where speed is not critical and circuit simplicity is preferred. Frequency dividers are the most common application. Since each stage divides the clock frequency by 2, a 4-stage ripple counter divides the input clock by 16. This is widely used in digital clock circuits, baud rate generators, and simple event counters.
One practical issue with ripple counters is the appearance of glitch states during transitions. When the counter moves from one count to the next, intermediate states appear momentarily because different flip-flops change at different times. For example, during the transition from 0111 to 1000 in a 4-bit counter, the outputs may briefly show 0110, 0100, or 0000 as the ripple propagates. These glitches can cause errors in connected combinational logic and must be considered in design.
Given:
N = 4 flip-flop stages, tpd = 15 ns per flip-flop, t_setup = 5 ns
Why this formula applies:
In asynchronous counter, delays add stage by stage since each FF is clocked by previous output.
Formula:
f_max = 1 / (N x tpd + t_setup)
Substitution:
f_max = 1 / (4 x 15ns + 5ns)
Calculation:
f_max = 1 / (60ns + 5ns) = 1 / 65ns
Final Answer:
f_max = 15.38 MHz (maximum operating clock frequency)Exam Tip: In GATE, if you see an asynchronous counter with N flip-flops each having propagation delay tpd, the total output delay is N x tpd. The maximum clock frequency is 1/(N x tpd). Do not confuse this with synchronous counters where total delay is just tpd of one stage regardless of N.
Mechanism: How Ripple Propagates
- FF0 receives external CLK and toggles on every active edge, generating Q0 which is a frequency-divided-by-2 version of CLK.
- Q0 is fed as clock to FF1. FF1 toggles once for every two CLK pulses, making Q1 a divide-by-4 signal.
- Each successive stage divides frequency by 2, so after n stages the output frequency is f_clk / 2^n.
- The settling time of the final output increases with each added stage due to accumulation of individual flip-flop delays.
- Glitch states occur during multi-bit transitions because flip-flops do not change simultaneously, leading to momentary invalid output codes.
Loading lab...
Quick Revision
- Asynchronous counter: flip-flops NOT driven by a common clock; each stage is clocked by the previous stage's output.
- Also called ripple counter because the clock effect propagates (ripples) from LSB to MSB.
- Total propagation delay = N x tpd where N = number of flip-flop stages.
- Maximum clock frequency: f_max = 1/(N x tpd + t_setup). Increases in N reduce speed.
- Modulus of n-bit counter = 2^n. Counts from 0 to 2^n - 1 before resetting.
- Glitch states appear during multi-bit transitions. This is a key limitation in connected logic.
- GATE trap: Asynchronous counter delay scales with N. Synchronous counter delay does NOT scale with N.
Asynchronous Counter Quiz
Challenge yourself on ripple counter propagation delay and modulus design.
Q1.A 4-bit ripple counter uses four T flip-flops, each with a propagation delay of 10 ns. What is the worst-case delay from the clock edge to a valid output at Q3 (MSB)?
Related Articles
BCD Counter
Mod-10 counter, 0000 to 1001, auto reset.
8 min read
Johnson Counter
Twisted ring counter, 2N states from N flip-flops.
8 min read
Mod-N Counter
Arbitrary modulus counter design, feedback reset logic.
11 min read
Ring Counter
Circular shift register, one-hot state encoding.
12 min read
Up Down Counter
Bidirectional counting, control input for direction.
4 min read