Page 436 - Engineering Digital Design
P. 436

406                     CHAPTER 9 / PROPAGATION DELAY AND TIMING DEFECTS









                                             •\A[2]
                                                       A[1,2] BCD <_)>  '     BCD ^ _
                                   Bi2i/
                                                                                   ,AJ O
                                                                   "
                     ^"'lA                   /^
                                                                      -t
                                                                                   fa} Q
                                                                  /gN
                                            /
                                                 A
                        '
                                        •
                                                       B[1,2] ACD 4_ > NA*    ACD <_ > NA*
                                                                  \B/1              \B/0
                                                        * Not applicable if equal B paths are assumed
                                                                       (b)
                    FIGURE 9.13
                    Hazard detection and hazard cover for function JV in Eq. (9.18). (a) LPDD showing two paths for
                    input A and two paths for input B. (b) Path requirements for inputs A and B required to produce an
                    active W output, and the hazard covers necessary to eliminate the static 1 hazards.

                    or C, all read in positive logic. ANDing the two enabling conditions gives the hazard cover
                    XB • C. Clearly, the binary decisions involving input A (dashed lines) are irrelevant to the
                    enabling path conditions for an active output Q.
                       A BDD is a graphical representation of a set of binary-valued decisions, each of which
                    ends with a result that is either logic 1 or logic 0. Thus, the BDD allows one to easily
                    determine the output for any possible combination of input values. The BDD is used by
                    starting with an input variable (top of the BDD) and proceeding in a downward path to an
                    output logic value that corresponds to the value of the last input in that path. Thus, the final
                    element, usually presented in a rectangle, is the logic value of the function (e.g., output Q
                    in Fig. 9.12) for the input values used.
                       As a second and more complex example, consider the four-variable function

                                           N = [(A © B)C] 0 [(B O D)A],                (9.18)

                    which is a three-level form of Eqs. (9.9) and (9.10) obtained by the CRMT method discussed
                    in Section 5.7 taking [A, C} as the bond set. The LPDD, shown in Fig. 9.13, indicates that
                    there is at least one static 1-hazard and one static 0-hazard associated with this function.
                    Input A has two paths to the output Z, A[l] and A[2]. Path A[l] to output N is enabled if C
                    is active, with B active or inactive depending on input A. Path A[2] to output N is enabled
                    if B and D are logically equivalent (via the EQV operator). Therefore, for input conditions
                    BCD, output N is active for A = 1 via path A [2] only and is active for A = 0 via path
                    A[l] only, indicating a static 1-hazard. However, for input conditions BCD the output N is
                    inactive for both A and A: For A = 1 the output N = 1 © 1 = 0, and for A = 0 the output
                    N = 0 © 0 = 0. When the output is inactive for both input conditions, a static 0-hazard is
                    indicated. The result of this static hazard analysis is that BCD becomes the static 1-hazard
                    cover that must be ORed to Eq. (9.18), and that BCD = (B + C + D) is the static 0-hazard
                    cover that must be ANDed to Eq. (9.18). When hazard cover is added, the final expression
   431   432   433   434   435   436   437   438   439   440   441