Page 766 - Engineering Digital Design
P. 766

732         CHAPTER 14/ASYNCHRONOUS STATE MACHINE DESIGN AND ANALYSIS


                    generated during several of the transitions. With this in mind, the results are given collec-
                    tively by Eqs. (14.39). The NS and output functions in Eqs. (14.39) represent a gate/input
                    tally of 29/69, including the four basic cells and three shared Pis, but not including pos-
                    sible inverters. This may be compared with a gate/input tally of 21/68 for Eqs. (14.35),
                    including the five shared Pis, but again not including possible inverters. Note that an invalid
                    set of STT NS logic functions would result if the nested cell model were applied directly
                    to the state diagram in Fig. 14.33 with the STT state assignments of Eq. (14.29). How-
                    ever, Yi —> Sf, Rj K-map conversions of Eqs. (14.34) will minimize to the NS functions of
                    Eqs. (14.39).


                                           S 3=y QSf+yiST

                                           S 2 = yiS f
                                           R 2 = ST +y 3f


                                                                                      (14.39)
                                           So = '
                                           *o =
                                   P=y 0 Sf
                                                              y 0ST
                                                                     Hazard cover

                       The logic circuit representing Eqs. (14.39) is given in Fig. 14.37, where reset-dominant
                    basic cells are used as memory elements. Here, all sanity inputs have been omitted for
                    simplicity. Initialization of this FSM into the 0000 state requires that all R's be initialized
                    a logic 1 while all S's be initialized an logic 0 (see Section 14.11). Notice the relative
                    simplicity of the NS logic for this "nested cell" model compared to that required by the
                    LPD model in Fig. 14.35. The maximum fan-in for this nested-cell implementation is 4,
                    compared to 7 for Fig. 14.35, all exclusive of sanity inputs.
                      What has not been discussed here is the relative speed of the two types of implementa-
                    tions, that resulting from Eqs. (14.35) and that from Eqs. (14.39). Predictably, the nested-cell
                    design will be somewhat slower than the LPD design. This is so because the nested-cell
                    design can behave as a three-level implementation whereas the LPD design of Eqs. (14.35)
                    represents a two-level implementation provided that it is not necessary to "tree" any of the
                    NS functions because of fan-in restrictions. Both designs offer smooth fast operation free
                    of critical races and ORGs. But because of the action of the basic cells in the nested cell
                    design, no hazard cover is necessary. Shown in Fig. 14.38 are the simulation results for the
                    nested-cell logic circuit in Fig. 14.37. An examination of this simulation clearly indicates
                    that the y-variable transitions do not necessarily change at the same time as they did in
                    Fig. 14.36. In the case of Fig. 14.38, the time elapsing between a change in an external
                    input and the first y-variable to change varies from 2x p to (3r p + T///V) and the time between
                    y-variable changes for a single transition varies from r^v to 2r p. Also, the outputs may
                    precede the first y-variable to change by as much as 2r p. Note that critical races and ORGs
                    are still precluded from occurring since the NS logic functions of Eqs. (14.34) are used to
                    generate those of Eqs. (14.39) with the output logic and hazard cover remaining the same.
                    Here, as before, T P is a gate path delay and
   761   762   763   764   765   766   767   768   769   770   771