Page 431 - Engineering Digital Design
P. 431

9.3 DETECTION AND ELIMINATION HAZARDS                                401


                  residues, giving the result


                              NSOP = ABC + ABD + ABCD + ABCD + (BCD+ACD)             (9.11)
                                                                   Hazard cover
                    The method of hazard detection and elimination for NXOP in Eq. (9.10) is quite similar
                  to that of NSOP in Eq. (9.11). However, a hazard can now occur in either direction between
                  the coupled terms. Thus, for coupled terms ABD and ABC a static 1-hazard is produced on
                  either allll —>• 0111 or 0111 -> 1111 transition following al—»-OorO—»- l change in
                  couple variable A. Similarly, for coupled terms ABD and AB CD a static 1-hazard can occur
                  on either alll l -> 1011 or 1011 -»• 1111 transition following a 1 -> 0 or 0 —> 1 change in
                  coupled variable B. The complete details of these events are provided in Eq. (9.12), where
                  the two hazards have been eliminated by the adding hazard cover. Note that each cover
                  term is added to the function with an OR operator and not with an XOR operator. This is
                  important because after hazard cover is added, the terms are no longer mutually disjoint.
                  Therefore, adding the hazard cover by using an XOR operator would fundamentally alter
                  the function.


                                                   ion
                                   = ABC 0 ABD © ABCD © ABCD + (BCD + ACD)           (9.12)

                                     I     J                       Hazard cover
                                    0111  1111
                    The bidirectionality of the XOP hazard production in Eq. (9.12) is due to the nature of
                  the XOR gate. Unlike an OR gate or an AND gate, an XOR gate will produce an output
                  change with any single input change. Furthermore, if both inputs to an XOR gate change
                  simultaneously, the final output will be the same as the initial output. Therefore, if the two
                  inputs change at different times but in close proximity to one another, a short glitch will
                  occur, regardless of the state transition involved or the order in which the inputs change.
                  However, on a 01 —> 10 change in the two inputs to an OR gate, for example, the order
                  in which the inputs change will determine whether or not a hazard occurs. This difference
                  between XOR gates and OR gates is the reason a static hazard can be caused by a coupled
                  variable change in either direction for an XOP function but in only one direction for an SOP
                  function.
                    The timing diagram in Fig. 9.8 illustrates the behavior of NSOP and NXOP without and
                  with hazard cover. At least one hazard cover signal is active during each hazard to prevent
                  it from propagating to the final output signal. Note that hazards occur in NSOP only on the
                  falling edge of the coupled variable, but occur in NXOP on both the rising and falling edge
                  of the coupled variable.
                    A relationship similar to that between SOP and XOP functions exists between POS and
                  EOS functions. If no more than one term in a POS function can be inactive at any given
                  time, the terms are mutually conjoint and the AND operators can be replaced with EQV
                  operators to form an EOS function. Hazards in the EOS function will be identical to those
                  in POS, except that hazards in EOS will occur in both transitional directions. Hazard cover
                  is formed by ORing the residues of the two coupled terms. An AND operator must be used
                  to connect each hazard cover term to the original function.
   426   427   428   429   430   431   432   433   434   435   436