Skip to main content...
S0 · CMOS Fundamentals + Digital Logic
25 min

Day 21: Hazards and glitches in combinational logic

Real gates have delay, so combinational outputs can flicker to the wrong value for a moment. Understanding why is what makes synchronous design feel safe.

When correct logic still glitches

Your Boolean equations assume gates are instant. They aren't — each has a propagation delay. When an input change reaches the output through two paths of different delay, the output can briefly show the wrong value before settling: a glitch. A static-1 hazard dips momentarily to 0 when it should stay 1; a static-0 hazard blips to 1; a dynamic hazard bounces several times during a single intended transition.

A static-1 hazard: F = A·B + A′·C, glitch when B=C=1 and A falls
F = A*B + A'*C ,  hold B=1, C=1, change A from 1 -> 0

  term A*B    : was 1 (A=1,B=1) -> becomes 0  quickly
  term A'*C   : was 0 -> becomes 1  but AFTER the inverter delay on A'

For a brief window BOTH terms are 0  ->  F glitches to 0
(before A'*C catches up and restores F=1)

Fix: add the redundant CONSENSUS term  B*C  ->  F = A*B + A'*C + B*C
     now B*C holds F=1 through the transition.

Why synchronous design tolerates glitches

In a clocked (synchronous) design you only sample combinational outputs at the clock edge — and you size the clock period so everything has *settled* by then. Glitches during the cycle are irrelevant; only the final, stable value is captured. That is the core reason the whole industry designs synchronously, and the mindset you carry into every RTL module in Stage 2.

Key terms

Glitch
A brief, unintended output pulse caused by unequal path delays converging at a gate.
Static-1 / static-0 hazard
An output that should stay 1 (or 0) but momentarily flips due to timing skew between terms.
Dynamic hazard
Multiple unintended transitions during a single intended output change.
Consensus term
A redundant product term added to a cover to bridge a hazard and keep the output steady.
Synchronous sampling
Capturing signals only at clock edges, after they have settled — which makes combinational glitches harmless.

Before moving on, you should be able to

In a purely synchronous design, why are combinational glitches usually not a functional problem?

We use cookies

We use cookies to enhance your browsing experience, serve personalized content, and analyze our traffic. By clicking "Accept All", you consent to our use of cookies. Learn more

    Day 21: Hazards and glitches in combinational logic | RBTechIconX