Doesn't the input signal having to propagate through the AND gates cause a propagation delay anyway? With the asynchronous counter the delay was caused by the clock signal - with the synchronous counter wouldn't the delay exist anyway, just with the input instead?


With synchronous counters the delay occurs while the clock is inactive (unchanging, or an inactive edge). When the next active edge arrives at the clock inputs, the data inputs are already stable. Hence all outputs change at the same moment, which is the essence of the system being 'synchronous'.

  • \$\begingroup\$ Wouter my good man, would you mind, for the community's sake, elaborating on the benefits of a synchronous counter, perhaps in a wider context of a digital system, and maybe some tips on what to avoid (mismatched circuit lengths, clock stretching, etc) when using them in designs? I am interested, if you have the time would be nice for this answer in a "wiki" standpoint. Thanks, if you have the time.. \$\endgroup\$ – KyranF Oct 13 '14 at 18:08
  • \$\begingroup\$ @KyranF you seen to hold me for a logic design guru with loads of spare time, but neither is true. Synch versus asynch design is a very broad subject, better served by Wikipedia or even a book. And I'll happily leave circuit length matching to the real pro's (a good professional knows where his expertise ends). \$\endgroup\$ – Wouter van Ooijen Oct 14 '14 at 7:15
  • \$\begingroup\$ Okay then, no worries! \$\endgroup\$ – KyranF Oct 14 '14 at 10:31

In typical usage, a synchronous counter will be fed the same clock signal as many other devices. If many devices which similar speed characteristics are fed by the same clock signal, the time between a clock edge and any output changes that result will be relatively similar for all synchronous outputs throughout the system that are controlled by the same clock.

If the signal which feeds a counter isn't fed to anything else, then the timings with which the outputs of a synchronous counter change would likely be more consistent than the correspondings for a ripple counter, but in most cases what matters is not the relation of the counters' bits to each other, but rather the relationship between the counter's outputs and other things which are controlled by the same clock.

Incidentally, note that a typical synchronous counter will often have a "count-enable" input which is expected to be set well in advance of when a clock edge arrives, as well as a carry output which will indicate whether the next clock edge will wrap to zero (which would be true if the count is at maximum value and the enable input is set). One may thus combine multiple short counters into a long one; all of the stages of the counter will know, prior to each clock edge, what they'll do when the edge arrives, thus allowing all of the outputs which are going to switch to do so simultaneously.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.