In designing asynchronous sequential circuits, care must be
taken to conform to certain restrictions and precautions to ensure that the
circuits operate properly. The circuit must be operated in fundamental mode
with only one input changing at any time and must be free of critical races. In
addition, there is one more phenomenon called a hazard that may cause the
circuit to malfunction.
Hazards are unwanted switching transients
that may appear at the output of a circuit because different paths
exhibit different propagation delays. Hazards occur in combinational circuits,
where they may cause a temporary false output value. When they occur in
asynchronous sequential circuits hazards may result in a transition to a wrong
ü Hazards In Combinational Circuits
A hazard is a condition in which a change in a
single variable produces a momentary change in output when no change in output
Circuits with Hazards
Assume that all three inputs are
initially equal to 1. This causes the output of gate 1 10 be 1, that of gate 2
to be 0 and that of the circuit to be 1. Now consider a change in x 2 from 1 to
0. Then the output of gate 1 changes to 0 and that of gate 2 changes to 1,
leaving the output at 1. However, the output may momentarily go to 0 if the
propagation delay through the inverter is taken into consideration. The delay
in the inverter may cause the output of gate 1 to change to 0 before the output
of gale 2 changes to 1.
The two circuits shown in Fig implement the Boolean function in sum-of-products form:
This type of implementation may cause the output to go to 0 when it should remain a 1. If however, the circuit is implemented instead in product-of-sums form namely,
then the output may momentarily
go to 1 when it should remain 0. The first case is referred to as static
1-hazard and the second case as static 0-hazard.
A third type of hazard, known as dynamic hazard,
causes the output to change three or more times when it should change from 1 to
0 or from 0 to 1.
Types of hazards
The change in x2 from 1 to 0 moves the circuit
from minterm 111 to minterm 101. The hazard exists because the change in input
results in a different product term covering the two minterm.
Illustrates hazard and its removal
Minterm 111 is covered by the product term
implemented in gate 1 and minterm 101 is covered by the product term
implemented in gate 2. The remedy for eliminating a hazard is to enclose the
two minterms with another product term that overlaps both groupings. The
hazard-free circuit obtained by such a configuration is shown in figure below.
The extra gate in the circuit generates the product term x1x3.
In general, hazard s in combinational circuits can be removed by cove ring any
two minterms that may produce a hazard with a product term common to both. The
removal of hazards requires the addition of redundant gates to the circuit.
Hazard free circuit
Hazards in Sequential Circuits
In normal combinational-circuit
design associated with synchronous sequential circuits, hazards are of no
concern, since momentary erroneous signals are not generally troublesome.
However, if a momentary incorrect signal is fed back in an asynchronous
sequential circuit, it may cause the circuit to go to the wrong stable state.
Hazard in an Asynchronous sequential circuit
If the circuit is in total stable
state yx1x2 =111 and input x2 changes from I to 0, the
next total stable state should be 110. However, because of the hazard, output Y
may go to 0 momentarily. If this false signal feeds back into gate 2 before the
output of the inverter goes to 1, the output of gate 2 will remain at 0 and the
circuit will switch to the incorrect total stable state 010. This malfunction
can be eliminated by adding an extra gate.
Another type of hazard that may
occur in asynchronous sequential circuits is called an essential hazard.
This type of hazard is caused by unequal delays along two or more paths that
originate from the same input. An excessive delay through an inverter circuit
in comparison to the delay associated with the feedback path may cause such a
Essential hazards cannot be
corrected by adding redundant gates as in static hazards. The problem that they
impose can be corrected by adjusting the amount of delay in the affected path.
To avoid essential hazards, each feedback loop must be handled with individual
care to ensure that the delay in the feedback path is long enough compare d
with delays of other signals that originate from the input terminals.