Electronic – Propagation delay in asynchronous counter

counterflipflopripple-counter

Are the ripple counters useful in real life?

I know, for example, if we set an up counter with 3 FFs, CBA. Followings are the block and the waveform diagram:

enter image description here

enter image description here

After the count 001, it will appear 000 (the 2nd CLK period), which makes the operation false. In fact, this situation is inevitable in real life because propagation delay is inherent for all flip flops.

As a result, I wonder how can we implement asynchronous counters?

Best Answer

It is simply a matter of can you wait for the final output stage to settle before taking a count reading. In which case you build in the sample delay with hardware or software.

When you gate/stop the count to measure each stage in parallel then synchronous counters are better. There is still a minimum wait time before sampling but it is much more predictable, as the wait time applies to the entire counter.

If it is just a 'pre-scaler' used to divide a fixed high frequency to a lower frequency and it runs continuously then there is no delay issue. In a way the count of any one stage is unknown and has a "don't care" policy.