Page 428 - Engineering Digital Design
P. 428
398 CHAPTER 9 / PROPAGATION DELAY AND TIMING DEFECTS
Terms BCD and BC cannot be coupled terms and cannot produce a static hazard, since they
contain more than one couple variable-they have no consensus term. These terms form
what is called a function hazard, a subject that is discussed in a later section.
The procedure for detection and elimination of static 0-hazards in POS logic is the dual
of that for the detection and elimination of static 1 hazards in SOP logic. As an example,
consider the minimum POS representation of the function F together with the hazard
transitions and hazard cover given in Eq. (9.6):
1101
i t }
= (B + C + D)(A + C + D)(B + C) • (A + B + C)(A + B + D} (9.6)
Hazard cover
1000 1001
Here again, inputs C and D are the coupled variables where the inputs are assumed to
arrive active high but with NOR/INV logic. Notice that the initial and final states are read
from the coupled terms by using maxterm code and are exactly those shown by arrows
in Fig. 9.6b, indicating a 0 —>> 1 change in the coupled variable. The hazard covers are
the ORed residues (consensus s-terms) of the coupled terms and are ANDed to the orig-
inal expression in Eq. (9.6). Note also that the s-terms (B + C + D) and (B + (7) are
not coupled terms and cannot produce a static 0-hazard since they contain two coupled
variables — remember, only one variable is allowed to change in the production of a static
hazard. Also, if a coupled variable arrives active low with all other inputs active high, then
the arrow indicating the hazard transition for that coupled variable must be reversed in
Eq. (9.6).
As a final example, consider the function Z of five variables,
11100 11101
J ~ I
Z = BCD + CDE + ADE + ABE + ABC + ABCE + ABCD, (9.7)
Hazard cover
01010 01000
where the coupled variables are easily seen to be D and E. Assuming NAND/INV or
AND/OR/INV logic and that all inputs arrive active high, the two hazard transitions are
indicated by arrows in Eq. (9.7). Thus, read in minterm code, coupled terms BCD and
ADE produce a static 1-hazard during the transition 01010-* 01000 following a 1 —> 0
change in D, while terms ABE and CDE generate a static 1-hazard during the transition
11101 -> 111 00 following a 1 -»• 0 change in E. Adding the ANDed residues of the coupled
terms for each hazard transition gives the hazard-free expression in Eq. (9.7).
It should be clear to the reader that the detection and elimination of static hazards can be
conducted without the aid of K-maps or logic circuits simply by following the four steps
given previously. Exceptions to this rule are discussed in the next section, where diagrams
of a rather different sort are used to simplify the process of identifying and eliminating
static hazards in multilevel XOR-type functions.