Static Hazards and Asymmetric Propagation Delays
In digital logic design, static hazards are transient errors or “glitches” that occur when an input transition causes an output to momentarily toggle when it should remain constant. These glitches stem directly from asymmetric propagation delays across parallel paths within combinational logic circuits. This article explains the mechanisms behind static-1 and static-0 hazards, demonstrates how unequal path latencies produce temporary invalid states, and outlines the standard methods used to eliminate them.
The Role of Propagation Delay
Ideal Boolean algebra assumes instantaneous signal transitions. In physical semiconductor devices, logic gates exhibit a finite switching time known as propagation delay (\(t_{pd}\)). When a single input variable changes state, that change often travels through multiple divergent paths of varying lengths and gate counts before converging at an output gate. Because these paths have asymmetric (unequal) delays, the inputs to the resolving gate do not arrive simultaneously, creating a brief window where an unintended intermediate state appears at the output.
Static-1 Hazards
A static-1 hazard occurs in Sum-of-Products (SOP) networks when an
output is expected to stay at logic HIGH (1) during an
input transition, but briefly drops to logic LOW (0).
Consider the standard Boolean expression: \[F = (A \cdot B) + (\overline{A} \cdot C)\]
If inputs are set to \(B = 1\) and \(C = 1\), the function simplifies to: \[F = A + \overline{A}\]
In theoretical logic, \(A + \overline{A} = 1\) at all times. In physical hardware, the inverted path (\(\overline{A}\)) requires a NOT gate, introducing an extra delay (\(\Delta t\)).
When \(A\) transitions from \(1\) to \(0\): 1. The product term \(A \cdot B\) immediately falls to \(0\). 2. The product term \(\overline{A} \cdot C\) cannot rise to \(1\) until the NOT gate processes the change after delay \(\Delta t\). 3. For the duration of \(\Delta t\), both inputs to the final OR gate are \(0\). 4. The output \(F\) momentarily drops to \(0\) before returning to \(1\), generating a negative glitch.
Static-0 Hazards
A static-0 hazard is the dual of a static-1 hazard and occurs
primarily in Product-of-Sums (POS) networks. Here, an output is expected
to remain at logic LOW (0), but briefly pulses to logic
HIGH (1).
Consider the POS expression: \[F = (A + B) \cdot (\overline{A} + C)\]
If inputs are held at \(B = 0\) and \(C = 0\), the function reduces to: \[F = A \cdot \overline{A}\]
Theoretically, \(A \cdot \overline{A} = 0\). However, when \(A\) transitions from \(0\) to \(1\): 1. The sum term \((A + B)\) goes to \(1\) immediately. 2. The sum term \((\overline{A} + C)\) remains at \(1\) until the inverter updates after delay \(\Delta t\). 3. For the duration of \(\Delta t\), both inputs to the final AND gate evaluate to \(1\). 4. The output \(F\) momentarily spikes to \(1\) before settling back to \(0\), creating a positive glitch.
Identification and Mitigation
Static hazards can be identified using Karnaugh maps (K-maps). They appear whenever an input change causes a transition across the boundary of two adjacent implicants (groupings of 1s or 0s) that do not share an overlapping term.
To eliminate static hazards: * Add Consensus Terms (Redundant Logic): Introduce an extra gate covering the boundary between adjacent implicants. For \(F = (A \cdot B) + (\overline{A} \cdot C)\), adding the consensus term \(B \cdot C\) yields \(F = (A \cdot B) + (\overline{A} \cdot C) + (B \cdot C)\). When \(B = 1\) and \(C = 1\), the redundant term holds the output at \(1\) regardless of the switching state of \(A\). * Low-Pass Filtering or Delay Balancing: In delay-critical hardware, routing delays can be balanced or small capacitive filters can be used to suppress high-frequency glitches. * Synchronous Clocking: Sampling combinational outputs only after all propagation delays have settled ensures glitches do not corrupt downstream memory elements.