Saturday, January 29, 2011

Asynchronous (Ripple) Counters

A two-bit asynchronous counter is shown below.  The external clock is connected to the clock input of the first flip-flop (FF0) only.  So, FF0 changes state at the falling edge of each clock pulse, but FF1 changes only when triggered by the falling edge of the Q output of FF0.  Because of the inherent propagation delay through a flip-flop, the transition of the input clock pulse and a transition of the Q output of FF0 can never occur at exactly the same time.  Therefore, the flip-flops cannot be triggered simultaneously, producing an asynchronous operation.

2-bit Asynchronous Counter

Note that for simplicity, the transitions of Q0, Q1 and CLK in the timing diagram above are shown as simultaneous even though this is an asynchronous counter.  Actually, there is some small delay between the CLK, Q0 and Q1 transitions.

Usually, all the CLEAR inputs are connected together, so that a single pulse can clear all the flip-flops before counting starts.  The clock pulse fed into FF0 is rippled through the other counters after propagation delays, like a ripple on water, hence the name Ripple Counter.
 
The 2-bit ripple counter circuit above has four different states, each one corresponding to a count value.  Similarly, a counter with n flip-flops can have 2 to the power n states.  The number of states in a counter is known as its mod (modulo) number.  Thus a 2-bit counter is a mod-4 counter.

The following is a three-bit asynchronous binary counter  and its timing diagram for one cycle.  It works exactly the same way as a two-bit asynchronous binary counter mentioned above, except it has eight states due to the third flip-flop.
3-bit Asynchronous Binary Counter

No comments:

Post a Comment