Page 744 - Engineering Digital Design
P. 744

710        CHAPTER 14/ASYNCHRONOUS STATE MACHINE DESIGN AND ANALYSIS


                       A static 0-hazard (POS hazard) also exists in the FSM of Fig. 14.22. From the K-maps
                    in Fig. 14.22c, the following POS NS functions are read in maxterm code:
                                  7, = ( y, + A)(yi + B)(y 0 + B)(yi + y 0)

                                  Yo = ( yi + A)(yi + B)(yi + yo + A) • (jo + A + B).  (14.15)
                                                     t               Hazard
                                              00  AB  10             cover
                    From these NS expressions, it is clear that an internally initiated static 0-hazard exists in
                    function YQ and that it occurs on a 00 —> 10 due to a 0 —>• 1 change in the state variable y\
                    under constant branching conditions (A + B} = AB. Remember that the coupled terms are
                    read in maxterm code and that this requires the input conditions, as read from the coupled
                    terms, to be complemented before a comparison can be made with the state diagram, which
                    is a minterm-code based graphic. Applying the POS consensus law in Eqs. (3.14) means that
                    the hazard cover is the ORed residue of the coupled terms (y\+B) and (y \ + yo + A) given
                    by (yo + A + B), as indicated in Eqs. (14.15). The hazard is eliminated by adding this hazard
                    cover, as indicated by the arrow in Fig. 14.25b. The addition of hazard cover (yo + A + B)
                    ensures that this hazard can never form regardless of the size of the asymmetric delay
                    associated with either alternative path of y\ to the output yo. This is true for the elimination
                    of any s-hazard after adding hazard cover.
                      Unlike the static 1-hazard in Fig. 14.24a, the static 0-hazard in Fig. 14.25a is potentially
                    disruptive to the FSM itself. Any time an s-hazard can cause an FSM to go logically unstable
                    as in Fig. 14.25a, the potential is there for malfunction. Of course, it is understood that the
                    s-hazard must develop to the extent that it is picked up by the NS-forming logic. Since






                                                                  B(H)'
                                                                  yi(H).


                                                                  y 0(H).
                                                                                ;  \
                                                                                   }

                                                              (y^B)(L)          i      f—      -


          (y 1+y 0+A)(L)

                                       Oscillation due to    (y 0+A+B)(L)         |
                                        static 0-hazard
                                (a)                                                 (b)
                    FIGURE 14.25
                    Timing diagrams for the POS NS functions in Eqs. (14. 15) showing (a) formation of the static 0-hazard
                    in yo and the resulting oscillation, and (b) elimination of the s-hazard by adding hazard cover (see
                    arrow).
   739   740   741   742   743   744   745   746   747   748   749