Synchronous Counters & Asynchronous Counters
In the field of digital electronics, a "counter" is a sequential logic circuit. The circuit consists of a series of flip-flops: electronic circuits that have two stable conditions, each corresponding to one of two alternative input signals. The circuits can cycle through a sequence of states. Two types of counter exist: synchronous and asynchronous.
Synchronous counters typically consist of a memory element, which is implemented using flip-flops, and a combinational element, which is traditionally implemented using logic gates. Logic gates are logic circuits with one or more input terminals and one output terminal, in which the output is switched between two voltage levels determined by a combination of input signals. The use of logic gates for combinational logic typically reduces the cost of components for counter circuits to an absolute minimum, so it remains a popular approach.
Synchronous counters have an internal clock, whereas asynchronous counters do not. As a result, all the flip-flops in a synchronous counter are driven simultaneously by a single, common clock pulse. In an asynchronous counter, the first flip-flop is driven by a pulse from an external clock and each successive flip-flop is driven by the output of the preceding flip-flop in the sequence. This is the essential difference between synchronous and asynchronous counters.
Asynchronous counters, also known as ripple counters, are the simpler type, requiring fewer components and less circuitry than synchronous counters. Asynchronous counters are easier to construct than their synchronous counterparts, but the absence of an internal clock also introduces several major disadvantages. The flip-flops in an asynchronous counter change states at different times, so the delays in changing from one state to another -- known as propagation delays -- add up to create an overall delay. The more flip-flops an asynchronous counter contains, the greater the overall delay.
Typically, asynchronous counters are less useful than synchronous counters in complex, high-frequency systems. Some integrated circuits react faster than others, so if an external event occurs close to a transition between states -- when some, but not all, the integrated circuits have changed state -- it may introduce errors into the counter. Such errors are difficult to predict because of the randomly variable time difference between events. Furthermore, propagation delays can make it difficult to detect, or decode, the output state of an asynchronous counter circuit electronically.