Page 429 - Engineering Digital Design
P. 429

9.3 DETECTION AND ELIMINATION HAZARDS                                399


                  9.3 DETECTION AND ELIMINATION HAZARDS IN MULTILEVEL
                  XOR-TYPE FUNCTIONS

                  Conventional static hazard analysis used in two-level logic does not address the problem
                  of hazards in multilevel XOR-type functions. This section presents a simple but general
                  procedure for the detection and elimination of static hazards in these functions. It is shown
                  that all static hazards can be eliminated with redundant cover derived by using a method
                  based on lumped path delay diagrams (LPDDs), and that this method is of unrestricted
                  applicability. The problems associated with dynamic hazards, as they relate to static hazard
                  cover, are also considered.
                    Multilevel XOR-type functions of the type considered in this section find use in arithmetic
                  circuits, such as dedicated arithmetic logic units, and in error detection circuits. These
                  functions can be obtained from logic synthesis algorithms or from K-map extraction as was
                  demonstrated in Chapter 5. If steady, clean outputs from these functions are required, it is
                  necessary to remove any logic (hazard) noise that may be present.
                    Modern CMOS 1C technology has produced XOR and EQV gates whose speed and
                  compactness are close to those of other two-input gates (see, e.g., Figs. 3.26 and 3.27). This
                  has made the use of XOR and EQV gates more practical and has led to the development
                  of various methods of multilevel function implementation that take advantage of these
                  gates. These implementations can produce gate-minimum results not possible with two-
                  level logic. When fan-in restrictions on two-level implementations are considered, multilevel
                  implementations become even more attractive.
                    The simpler multilevel functions include the XOR/SOP and EQV/POS forms. The
                  XOR/SOP form connects p-terms with OR and XOR operators, while the EQV/POS form
                  connects s-terms with AND and EQV operators. XOP and EOS forms are special cases of
                  XOR/SOP and EQV/POS, respectively, and are considered to be special two-level forms
                  of representation. The XOP form connects p-terms only with XOR operators, and the EOS
                  form connects s-terms only with EQV operators. Multilevel functions more complex than
                  XOR/SOP and EQV/POS are classified simply as compound multilevel forms for lack of a
                  practical classification scheme.
                    As was stated in Section 9.2, a static hazard is a glitch in an otherwise steady-state
                  output signal and is produced by two asymmetric paths from a single input. Figure 9.7 is
                  a generalization of the condition that allows the static hazard to form in multilevel circuits.
                  The coupled variable must be an input to the initial gate in each path (Gates 1 and 3 in


                                                          Path 1







                                    |       t |          Path 2
                  FIGURE 9.7
                  Alternative paths of the coupled variable to the hazard gate that is necessary for static hazard formation
                  in a multilevel logic circuit.
   424   425   426   427   428   429   430   431   432   433   434