42. Ripple Counters (Asynchronous Up/Down Counters)
Asynchronous counters, built using T or JK flip-flops (configured as toggles), demonstrate simple counting behavior but suffer from speed limitations.
3-Bit Up Counter
- Three T-FFs ($FF_0, FF_1, FF_2$) are chained.
- $T=1$ for all FFs (always toggle mode).
- CLK is applied to $FF_0$.
- The output $Q_0$ clocks $FF_1$. The output $Q_1$ clocks $FF_2$.
Operation: $Q_0$ changes on every clock pulse. $Q_1$ changes only when $Q_0$ goes from 1 to 0 (a falling edge, assuming negative-edge triggering is used). This creates a binary count sequence (000, 001, 010, ...).
Ripple Delay (Critical Problem)
Since the change in $FF_i$ output must propagate through to trigger $FF_{i+1}$, the total time for the count transition is proportional to the number of stages (N). This cumulative delay limits the maximum clock frequency and is the main reason synchronous counters are preferred in high-speed applications.
Down Counter
An asynchronous counter can be converted to count down by clocking the subsequent FF not from $Q_i$, but from $\overline{Q_i}$.