Skip to content
BetterDL

Dynamic hazard

Also called: dynamic glitch

A hazard where an output that should change once can change three or more times, such as 0 → 1 → 0 → 1, before settling.

A dynamic hazard happens when an output should change, once, but instead bounces: 0 → 1 → 0 → 1, or 1 → 0 → 1 → 0. It ends at the right value, but passes through it more than once on the way.

It needs at least three paths of different lengths from the changing input to the output. Each path delivers its version of the change at a different moment, and the output flips each time the balance shifts. That's why dynamic hazards appear in multi-level circuits, where a signal can reach the output through several routes of different depth.

A two-level AND-OR circuit can't have one for a single input change, as long as no product term contains a variable and its complement. In that circuit, the AND outputs that move all move the same way, so the OR output changes only once.

Removing a dynamic hazard usually means first removing the static hazards inside the circuit, or restructuring the logic into a hazard-free two-level form.

Worked example

Example

Three paths, three arrival times

F = , built with three routes from A: X = A directly, Y = through an inverter with a one-slot delay, and Z = A through two inverters in series (a two-slot delay). Then F = XY + Z. Logically F = A, so when A rises F should rise once.

AY (1-slot delay)Z (2-slot delay)F
  1. 1.

    Slot 4: A rises. X = 1 and Y is still 1, so XY = 1 and F jumps to 1.

  2. 2.

    Slot 5: Y falls, so XY = 0. Z is still 0. F drops back to 0.

  3. 3.

    Slot 6: Z rises, and F returns to 1 for good.

  4. 4.

    F went 0 → 1 → 0 → 1: three changes instead of one. That's a dynamic hazard.

Common mistakes

  • Calling a single extra pulse dynamic. A static hazard is a pulse when the output should stay put; a dynamic hazard is extra changes when it should change once.

  • Looking for dynamic hazards in a two-level SOP circuit whose terms never contain a variable and its complement. With single input changes it can't have one; the example above escapes that rule only because its XY term is really .

  • Thinking two paths are enough. It takes at least three paths with different delays.

Practice Dynamic hazard

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

Learn it step by step

Dynamic hazard is taught in Timing and Sequential Logic.