Circuit Behaviour
-
The steady-state behaviour of a circuit is the value of the output after the inputs have been stable for a long time
-
The transient behaviour of a circuit is the value of the output while (or soon after) the inputs change
-
The glitch is a (often undesirable) short pulse produced in the output during a transient phase
- If circuit has possibility of producing glitch, the circuit has a hazard
-
Hazards usually occur when inputs arrive at slightly different times
Types of Hazards
- Static hazards expected to remain constant, but temporarily changes
- Static 1-hazard output should stay 1, but jumps to 0
- Static 0-hazard output should stay 0, but jumps to 1
- Dynamic hazards expected to change once, but changes multiple times before settling at final value
Causes of Hazards
- Gate delays → signals do not update simultaneously
- Components in circuits have delay
- Common in two-level implementations
- SOP may have static 1-hazards
- POS may have static 0-hazards
- Hazards consume power and may cause noise or errors
Glitches can cause severe consequences in safety-critical systems (e.g. medical devices), therefore, it is essential to minimise or eliminate them
Identifying and Removing Hazards
- We can use K-maps to identify hazards
- Locate adjacent tiles on a k-map that aren’t grouped together
- Typically, in redesigning circuits to have less hazards, they will end up being larger and less efficient
e.g. for a 2-level SOP circuit:
- Two adjacent 1’s not covered by the same term cause a static-1 hazard

- We can remove static-1 hazards by adding redundant product terms
- Here, we would add
XY→F = XZ' + YZ + XY
- Here, we would add
- Our final expression is not the most compact, but it removes the hazard
This process is the same, but just for adjacent 0’s for POS circuits
Dynamic Hazards
- Caused by unbalanced delays along multiple paths in a circuit
- Difficult to eliminate all dynamic hazards
- Typically, removing static hazards removes dynamic hazards
