Skip to content
BetterDL

Transient state

Also called: transient states, glitch state, temporary state, false count

A false count that a ripple counter shows for a few nanoseconds while a change is still rippling through its stages, before it settles.

In an asynchronous (ripple) counter the bits don't change together. Each one changes a tpd after the one below it. So between the clock edge and the moment the count settles, the outputs spell out wrong counts. Those brief wrong values are transient states.

For 011 → 100, a ripple counter actually shows 011 → 010 → 000 → 100. The values 010 and 000 exist for about one tpd each.

Why care? Logic that decodes the count sees them too. A gate looking for 000 will put out a short glitch even though the counter only passed from 3 to 4. If that gate drives a clear, a load or an interrupt, the circuit misbehaves.

Fixes:

  • Use a synchronous counter: all bits change together, so there are no transient states.
  • Sample the decoded output with a flip-flop on the opposite clock edge, half a period later, when the count has settled.
  • Only read the count after the worst-case ripple delay.

The same term covers the brief state N that shows up in a mod-N counter with an asynchronous clear: it exists only until the clear takes effect.

CLKQ2Q1Q0Is 000

Worked examples

Example

Reading the diagram

Each slot in the diagram is one flip-flop delay. CLK rises in slot 2 while a 3-bit ripple counter holds 011.

  1. 1.

    Slot 3: Q0 has fallen. Outputs read 010, a transient state.

  2. 2.

    Slot 4: Q1 has fallen. Outputs read 000, another transient state, and the "is 000" decoder outputs a glitch.

  3. 3.

    Slot 5: Q2 has risen. Outputs read 100, the correct count.

Example

Listing the transient states

A 4-bit ripple counter goes from 1111 to 0000. Which wrong counts appear on the way?

  1. 1.

    Q0 falls first: 1110.

  2. 2.

    Then Q1: 1100.

  3. 3.

    Then Q2: 1000.

  4. 4.

    Then Q3: 0000, settled. Three transient states: 14, 12 and 8.

Common mistakes

  • Expecting transient states in a synchronous counter. Its bits change together, so it goes straight to the new count.

  • Assuming transient states are harmless because they're short. Decoding logic is fast enough to react to them.

  • Listing them in the wrong order. Q0 always changes first and the change moves upward.

Practice Transient state

Interactive questions with instant feedback and a worked solution for every wrong answer.

Learn it step by step

Transient state is taught in Counters.