3.4.8 · D4Sequential Circuits

Exercises — Synchronous vs asynchronous counters

2,323 words11 min readBack to topic

This page is a self-testing ladder. Every problem sits inside a level (L1 easiest → L5 hardest), and every solution is hidden inside a collapsible callout so you can try first, then reveal. Nothing here uses a symbol the parent note didn't build — but let us re-anchor the three tools you will lean on so line one makes sense.

Everything below is just those facts, pushed harder.


Level 1 — Recognition

Can you read the wiring and name what you see?

Recall Solution L1·1

Clock wiring is the whole test. Here each later flip-flop is clocked by the previous output, not by a shared master clock. That is the definition of an asynchronous (ripple) counter. The bits update one after another — they ripple from LSB to MSB.

Recall Solution L1·2

, constant. The LSB flips on every clock edge — that is what makes it the fastest, half-frequency bit. There is no lower bit to gate it, so nothing can ever stop it toggling.


Level 2 — Application

Plug numbers into the parent's formulas.

Recall Solution L2·1

Each flip-flop divides by 2, and of them divide by . We need , so (since ). The last flip-flop runs at . See Frequency division.

Recall Solution L2·2

Delays add in series: . Maximum frequency is one count per settle window: . Any faster and the LSB starts a new count before the MSB finished the old one — the number is never valid.

Recall Solution L2·3

Synchronous delay does not scale with : , so . Speed-up . The bigger the counter, the bigger this gap grows — that is why wide counters go synchronous.


Level 3 — Analysis

Trace real behaviour, including the glitches.

Figure — Synchronous vs asynchronous counters
Recall Solution L3·1

Going means bits 0,1,2 must clear and bit 3 must set — but they do it in sequence, LSB first.

  • : clock edge arrives at FF0. State still .
  • : . Its fall clocks FF1. State (decimal 6) — wrong.
  • : . Its fall clocks FF2. State (decimal 4) — wrong.
  • : . Its fall clocks FF3. State (decimal 0) — wrong.
  • : . State (decimal 8) — correct at last.

The counter briefly displayed — three decoding glitches — and only settled after . These are real states, not bugs.

Recall Solution L3·2

With :

  • (always).
  • .
  • .
  • . All four T-inputs are 1, so on the shared clock edge all four bits toggle at once: . Because they move together, no intermediate wrong value ever appears — contrast L3·1.
Recall Solution L3·3

Bit 3 must flip only on a full carry out of the low three bits, i.e. exactly when they read . If we wrongly used , bit 3 would try to toggle every time — that includes states like (decimal 4), where no carry into bit 3 is happening. The AND of all lower bits is precisely the binary carry condition. See Carry lookahead.


Level 4 — Synthesis

Design something new by combining the pieces.

Recall Solution L4·1

We need a division ratio , so 5 flip-flops. Intermediate frequencies (each halves the previous): The final output is the wanted .

Recall Solution L4·2

Clock period demanded: per edge.

  • Ripple settle: fails (needs ).
  • Synchronous settle: passes ().

Only the synchronous counter meets . This is the classic width-vs-speed trade forced by the term.

Recall Solution L4·3

To represent up to decimal 9 you need enough bits so that : gives . So 4 flip-flops. A natural 4-bit counter would run ; to stop at 9 we detect the first illegal state, decimal , and use it to reset all flip-flops back to . See Modulo-N counters. This is a "reset-on-N" design.


Level 5 — Mastery

Reason at the edge: skew, degenerate cases, limits.

Recall Solution L5·1

This is clock skew — the same edge reaching different flip-flops at slightly different times (see Clock skew). Small skew is harmless. But if approaches a flip-flop's , an early flip-flop's new output can reach a late flip-flop before that late flip-flop has latched its old value — the counter can capture the wrong bit, exactly the kind of race a synchronous design was meant to avoid. So "synchronous" is an ideal; real chips fight skew to stay near it.

Recall Solution L5·2
  • Ripple: . As , this — a very wide ripple counter is hopelessly slow.
  • Sync (ideal / carry-lookahead): , with no in it — it stays flat regardless of width.

So the ratio grows linearly in : the wider the counter, the more decisively synchronous wins.

Recall Solution L5·3

Ripple: . Synchronous: . With one flip-flop there is no lower bit to AND, so needs no gate → → both give . Physically a single toggling flip-flop is neither "chained" nor "shared-clocked" — the two families only become distinguishable from two or more flip-flops onward. This is the boundary case where the whole distinction collapses.

Recall Solution L5·4

The transition forces low bits to clear and bit to set, all in sequence. Each of the toggles happens one apart. The intermediate states (after each toggle except the last correct one) are the glitches: there are of them, and the valid value arrives after . For : 3 glitches (), valid after — matching the trace in L3·1. ✔


Connections