Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

A comparison between Synchronous and Asynchronous Counters Asynchronous counters, also known as ripple counters, are not clocked

by a common pulse and hence every flip-flop in the counter changes at different times. The flip-flops in an asynchronous counter is usually clocked by the output pulse of the preceding flip-flop. The first flip-flop is clocked by an external event. A synchronous counter however, has an internal clock, and the external event is used to produce a pulse which is synchronised with this internal clock. The diagram of an ripple counter is shown below.

4-bit Ripple Counter It can be seen that a ripple counter requires less circuitry than a synchronous counter. No logic gates are used at all in the example above. Although the asynchronous counter is easier to construct, it has some major disadvantages over the synchronous counter. First of all, the asynchronous counter is slow. In a synchronous counter, all the flip-flops will change states simultaneously while for an asynchronous counter, the propagation delays of the flip-flops add together to produce the overall delay. Hence, the more bits or number of flip-flops in an asynchronous counter, the slower it will be. Secondly, there are certain "risks" when using an asynchronous counter. In a complex system, many state changes occur on each clock edge and some ICs respond faster than others. If an external event is allowed to affect a system whenever it occurs (unsynchronised), there is a small chance that it will occur near a clock transition, after some IC's have responded, but before others have. This intermingling of transitions often causes erroneous operations. And the worse this is that these problems are difficult to forsee and test for because of the random time difference between the events.

Synchronous Counter Design

A synchronous counter usually consists of two parts: the memory element and the combinational element. The memory element is implemented using flipflops while the combinational element can be implemented in a number of ways. Using logic gates is the traditional method of implementing combinational logic and has been applied for decades. Since this method often results in minimum component cost for many combinational systems, it is still a popular approach. However there are other methods of implementing combinational logic which offers other advantages. Some of the alternative methods which are discussed here are: multiplexers (MUX), read-only memory (ROM) and programmable logic array (PLA). Synchronous Counters use edge-triggered flip-flops that change states on either the "positive-edge" (rising edge) or the "negative-edge" (falling edge) of the clock pulse on the control input resulting in one single count when the clock input changes state. Generally, synchronous counters count on the rising-edge which is the low to high transition of the clock signal and asynchronous ripple counters count on the falling-edge which is the high to low transition of the clock signal.

It may seem unusual that ripple counters use the falling-edge of the clock cycle to change state, but this makes it easier to link counters together because the most significant bit (MSB) of one counter can drive the clock input of the next. This works because the next bit must change state when the previous bit changes from high to low - the point at which a carry must occur to the next bit. Synchronous counters usually have a carry-out and a carry-in pin for linking counters together without introducing any propagation delays. Then to summarise:

Synchronous Counters can be made from Toggle or D-type flip-flops. They are called synchronous counters because the clock input of the flip-flops are clocked with the same clock signal. Due to the same clock pulse all outputs change simultaneously. Synchronous counters are also called parallel counters as the clock is fed in parallel to all flip-flops.

Synchronous binary counters use both sequential and combinational logic elements. The memory section keeps track of the present state. The sequence of the count is controlled by combinational logic. Advantages of Synchronous Counters:

Synchronous counters are easier to design. With all clock inputs wired together there is no inherent propagation delay. Overall faster operation may be achieved compared to Asynchronous counters.

Then to summarise:

Asynchronous Counters can be made from Toggle or D-type flipflops. They are called asynchronous counters because the clock input of the flip-flops are not all driven by the same clock signal. Each output in the chain depends on a change in state from the previous flip-flops output. Asynchronous counters are sometimes called ripple counters because the data appears to "ripple" from the output of one flip-flop to the input of the next. They can be implemented using "divide-by-n" circuits. Truncated counters can produce any modulus number count. Disadvantages of Asynchronous Counters:

An extra "re-synchronizing" output flip-flop may be required. To count a truncated sequence not equal to 2n, extra feedback logic is required. Counting a large number of bits, propagation delay by successive stages may become undesirably large. This delay gives them the nickname of "Propagation Counters". Counting errors at high clocking frequencies. Synchronous Counters are faster using the same clock signal for all flip-flops.

You might also like