Skip to main content

Static and dynamic hazards and their elimination

Short answer

Static hazard: output momentarily changes when it should stay constant (e.g., static-1: 1→0→1). Dynamic hazard: output changes multiple times during a transition. Example: F = AB + A'C with B=C=1 causes a static-1 glitch. Eliminate by adding consensus term BC to cover adjacent 1s in the K-map.

What do you mean by static and dynamic hazards? Give example of static hazards and explain how do you eliminate such hazards?

A hazard is an unwanted short pulse (glitch) at the output of a combinational circuit. It happens when an input changes and different signal paths have different propagation delays, so the output briefly takes a wrong value even though the steady-state value is correct.

Static hazard

The output should stay at the same value, but it momentarily changes and comes back.

  • Static-1 hazard: output should stay 1 but goes 1→0→11 \to 0 \to 1. Occurs in SOP (AND-OR) circuits.
  • Static-0 hazard: output should stay 0 but goes 0→1→00 \to 1 \to 0. Occurs in POS (OR-AND) circuits.

Dynamic hazard

The output should change once (0→10 \to 1 or 1→01 \to 0) but it changes three or more times, e.g. 0→1→0→10 \to 1 \to 0 \to 1. It happens in multi-level circuits where one input reaches the output through three or more paths of different delay. A circuit that is free of static hazards at every level (a two-level hazard-free design) is also free of dynamic hazards.

Example of a static-1 hazard

F=AB+A‾CF = AB + \overline{A}C

Let B=C=1B = C = 1. Then F=A+A‾=1F = A + \overline{A} = 1 for both values of A, so F should stay at 1.

A ──┬──────────[AND]── AB ──┐
    │     B ───┘            [OR]── F
    └─[NOT]──A'─[AND]─ A'C ─┘
          C ────┘

When A falls from 1 to 0, AB goes to 0 at once, but A'C rises only after the inverter delay. For that short time both AND outputs are 0, so F dips to 0: a static-1 hazard.

A    ‾‾‾‾‾|_________
AB   ‾‾‾‾‾|_________
A'C  ______|‾‾‾‾‾‾‾‾   (late by inverter delay)
F    ‾‾‾‾‾|_|‾‾‾‾‾‾‾   (glitch)

Eliminating the hazard

On the K-map, the two groups AB (cells 6, 7) and A'C (cells 1, 3) sit next to each other (cells 3 and 7) but no group covers both. A move between two adjacent 1-cells that are in different groups is a hazard.

The fix is to add a redundant group (the consensus term) that covers the adjacent cells:

F=AB+A‾C+BCF = AB + \overline{A}C + BC

When B=C=1B = C = 1, the extra term BC=1BC = 1 holds F at 1 while A changes, so the glitch is removed. The logic function is unchanged because BCBC is the consensus of ABAB and A‾C\overline{A}C.

Rule: in an SOP circuit, make sure every pair of adjacent 1s on the K-map is covered by at least one common group. For POS circuits, do the same with the 0s to remove static-0 hazards.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Digital Logic chapter 3 questions →