The term hazards specifies the unwanted switching transients or false outputs or glitches which appear at the output of a circuit. These transient false outputs are due to finite propagation delay times of the components along different paths within the network.
Difference in the propagation delays corresponding to different signal paths result in hazards.
A hazard can be defined as the actual or potential malfunction of a logic network during the transition between two input states when a single variable changes.
Malfunctioning means any deviation from the intended response.
In the combinational circuits, the hazards will result in a false output value. But if such combinational circuits are used as a building block of an asynchronous sequential circuit then it will result in a transition to incorrect stable state.
Types of Hazards :
The hazards are of 3-types as shown in Figure below.
Static 1 Hazard : If the output is supposed to be 1 (HIGH) but due to difference in propagation delay if it becomes 0 (LOW) for a short time, then a static 1 hazard is said to have taken place.
Static 0 hazard : A static 0 hazard is said to have taken place if the circuit output produces a short duration HIGH pulse when actually it is supposed to produce a LOW (0) output.
Dynamic Hazard : In the static hazards the output changes twice. But as shown in Fig. 2.11.1 if the output changes for 3 or more times when it is supposed to change only once from 0 to 1 or from 1 to 0, then the dynamic hazard is said to have taken place.