Digital Logic Guide
Combinational Logic Hazards: K-Maps, Consensus Terms, and Glitch Verification
A minimized Boolean expression can pass every truth-table test and still produce a short physical pulse. Treat logical equivalence and transition safety as separate design checks.
17 min · Intermediate · Updated October 16, 2026
Steady Logic Is Not Timed Logic
The Logic Gate Truth Table Calculator and Boolean Logic Calculator establish settled input-output behavior. They do not model when a gate changes after an input edge. Real paths include gate delay, wire delay, rise/fall asymmetry, loading, and process-voltage-temperature variation. When a signal forks and later reconverges, one path may stop asserting before the other starts.
| Behavior | Stable-state expectation | Transient observation | Typical analysis |
|---|---|---|---|
| Static-1 | Expected 1 throughout a transition | Brief 0 | Two-level SOP can need overlapping 1-cell coverage |
| Static-0 | Expected 0 throughout a transition | Brief 1 | Two-level POS can need overlapping 0-cell coverage |
| Dynamic | Expected one transition | Multiple transitions | Multi-level reconvergent logic and delay interactions |
| Functional error | Final value is wrong | Persistent incorrect level | Different from a transient hazard |
A pulse matters if it reaches an asynchronous reset, latch enable, clock input, power switch, or other level-sensitive boundary. A purely synchronous data path may tolerate a combinational glitch if it settles with adequate setup and hold margin and does not create excess switching or violate electrical limits. That judgment belongs to the complete timing architecture, not to the truth table.
A Static-1 Hazard in Two-Level SOP
Formula reference
Consensus example
F = AB + A'CIf B = 1 and C = 1, F = A + A' = 1F_hazard_covered = AB + A'C + BCAB + A'C + BC = AB + A'C (Boolean equivalence)Variable definitions
- A' means NOT A; juxtaposition means AND; + means OR
- The extra BC is logically redundant but bridges the A transition physically
- The hazard discussion assumes a specified two-level SOP gate implementation
- Actual pulse timing depends on gate and interconnect delays
Hold B=C=1 while A rises from 0 to 1. Initially A'C drives the OR output high. Finally AB drives it high. If the A'C path falls before the AB path rises, both product terms can be low briefly. Adding BC holds a third path high through that transition. The same reasoning applies when A falls, but the relative delays may differ.
The Karnaugh Map Simplifier can produce a minimal SOP expression and check its truth-table equivalence. It does not guarantee hazard-free coverage or model path delay. Review the physical implementation after minimization.
Read K-Map Adjacency for Hazard Risk
In a two-level SOP implementation, consider every pair of adjacent required 1 cells whose input vectors differ in exactly one variable. If no single implicant covers both cells, a transition between them can have a static-1 hazard. In the example, the B=C=1 pair lies across the A boundary: AB covers one endpoint, A'C the other, and BC overlaps both.
A redundant K-map group may be appropriate for that specific transition. A two-level POS static-0 hazard is dual: review adjacent required 0 cells and common maxterm coverage. Do not mark two cells adjacent if multiple input bits change; those transitions can have additional race behavior. A logically unspecified don't-care state is not automatically safe for arbitrary physical transitions through it.
Account for Implementation Changes
A synthesis tool may remove a logically redundant consensus term. A library mapper may replace the intended two-level SOP with a multi-level AOI/OAI network whose transient behavior differs. Therefore, source-level algebra is not proof that the routed netlist is hazard-free. Preserve a required structure using the device flow's documented mechanism, then inspect post-mapping timing and netlist behavior.
Even a covered single-input transition does not establish immunity to near-simultaneous multi-input changes or dynamic hazards. Gate inertial behavior may suppress a narrow pulse in one technology while another input captures it. Verify across minimum and maximum delays, rise/fall asymmetry, voltage, temperature, fanout, and load. A waveform with zero-delay gates is only a functional check.
Worked Design Review
| Step | Check | Outcome |
|---|---|---|
| 1. Specify | B=C=1 while A toggles | Expected F stays high |
| 2. Minimize | F = AB + A'C | Two product terms cover separate endpoints |
| 3. Identify | No common implicant covers both adjacent 1 cells | Possible static-1 hazard |
| 4. Add overlap | Fcovered = AB + A'C + BC | Steady truth table unchanged |
| 5. Model delay | Delay each gate path over realistic ranges | Check for a remaining output pulse |
| 6. Inspect netlist | Confirm intended overlap survives mapping | Source equation alone is not evidence |
| 7. Validate hardware | Probe output and sensitive destination | Measure pulse width and downstream response |
For synchronous launch-to-capture paths, the Digital Timing Calculator helps screen setup and hold margins. It does not simulate reconvergent glitches, metastability, clock-domain crossings, or asynchronous control safety.
Architecture Before Patch Terms
A consensus term is a useful local fix for a known two-level static hazard, but architectural controls can be more robust: register an output, use a handshake, synchronize asynchronous data, avoid ordinary combinational gating of clocks, or use a device-specific glitch-free enable primitive. Each choice changes latency and verification obligations. Do not assume that a registered output solves metastability at an asynchronous input; synchronizer design and clock-domain analysis remain separate.
Use Digital Logic Fundamentals for truth tables and minimization. This guide addresses what the minimizer deliberately omits: physical transitions, hazard coverage, and implementation validation.
Common Mistakes
- Treating equal truth tables as equal transient waveforms.
- Assuming fewer K-map groups always means a safer circuit.
- Adding a consensus term without checking the sensitized transition.
- Expecting an unpreserved redundant term to survive synthesis.
- Using zero-delay simulation as proof of no glitch.
- Ignoring rise/fall asymmetry and routing delay.
- Assuming a single-input static fix covers multi-input transitions.
- Driving asynchronous reset or clock gating from unverified combinational logic.
- Treating a timeout-free functional test as timing validation.
- Conflating a transient pulse with a persistent Boolean error.
Support reference
FAQ
What is a static-1 hazard?
A static-1 hazard is a brief 0 at a physical output that should remain 1 while one input changes, caused by unequal delays along reconvergent paths.
Can two equivalent Boolean expressions behave differently in hardware?
Yes. They can have identical stable-state truth tables but different transient outputs because gates and routing have nonzero, unequal delay.
Does a minimal K-map expression guarantee glitch-free logic?
No. A minimal SOP expression can leave adjacent 1 cells covered by different product terms with no common implicant, creating a possible static-1 hazard.
What is a consensus term?
For AB + A'C, the consensus term is BC. Adding BC preserves the Boolean function while covering the transition where A changes and B=C=1.
Will a consensus term remove every hazard?
No. It addresses the relevant single-input static hazard in a specified two-level SOP implementation. Multi-input transitions, dynamic hazards, re-synthesis, and physical routing need separate analysis.
Can a truth table show a glitch?
A normal truth table shows settled logic values, not timing. Use a timed gate-level model or measurement to observe glitches.
Should I add consensus terms to every expression?
Only where the implementation and downstream circuitry require hazard control. Extra terms increase hardware and may be optimized away unless the synthesis flow preserves the intended structure.
Can I fix a glitch by lowering the clock frequency?
Not necessarily. An asynchronous glitch can still reach a latch, clock, reset, enable, or analog interface between clock edges; synchronous paths require proper timing analysis.
What is the safest way to handle an asynchronous control input?
Use an architecture with defined synchronization or handshaking where appropriate, and verify setup, hold, metastability, pulse-width, and hazard requirements for the chosen device.
Summary
Use Boolean tools to prove stable behavior, then review adjacent K-map states and real propagation paths for transition risk. Add overlap only where the physical implementation requires it, and verify the mapped circuit at the sensitive destination.
