Page 526 - Engineering Digital Design
P. 526

496                 CHAPTER 11 / SYNCHRONOUS FSM DESIGN CONSIDERATIONS


                     11.2.1 ORG Analysis Procedure Involving Two Race Paths

                    Certain facts emerge in the ORG discussions that have been presented so far. For reference
                    purposes these facts are presented in the following procedure:

                       • Notice whether or not the origin and destination states in a given state-to-state
                        transition have the same or different output action relative to a given output. If
                        the origin and destination states have the same output action relative to a given
                        output (that is, both are output states or both are not output states), then check
                        to see if a potential ORG exists via the race states. If the origin and destination
                         states have different output actions (that is, one is an output state but the other
                        is not), no ORG is possible.
                       • If a potential ORG exists, corrective action should be taken to eliminate it by
                        one of several means — an ORG may erroneously cross the switching threshold
                        and trigger a next stage.

                       When more than two state variables are required to change during a given state-to-state
                    transition, the analysis procedure becomes much more difficult. Recall that for a change of
                    n state variables during a transition there are n \ possible race paths.


                    11.2.2 Elimination of ORGs
                    Six methods for eliminating an ORGs are cited here for reference purposes. Three of these
                    methods, the first three listed below, have been discussed previously. These six methods
                    may be viewed as listed in decreasing order of importance or desirability:

                       1. If possible, for a don't-care state that lies in a race path, make proper choice of its
                         value in the output K-map to eliminate the ORG.
                       2. Change the state code assignment to either remove the race condition that caused
                         the ORG, or move the race condition elsewhere in the state diagram where an ORG
                         cannot form.
                       3. If possible, and with reference to Fig. 10.18 and the flip-flop technology, choose the
                         output hardware necessary to eliminate the ORG.
                       4. Filter the output logic signal containing the ORG.
                       5. Use a buffer (fly) state to remove the race condition that caused the ORG.
                       6. Increase the number of state variables to eliminate the race condition that caused the
                         ORG.


                       An inspection of the state diagram in Fig. 11.3a indicates that a simple change in the
                    state code assignment can eliminate the potentially active ORG in output Z just discussed.
                    This is demonstrated in Fig. 11.5a and in the state diagram segment of Fig. 11.5b. By using
                    the state code assignment shown, all ORGs are eliminated. Now, the conditional branching
                    a —> b in Fig. 11.5a is logically adjacent and cannot cause an ORG. The unconditional
                    branching from 10 to 00 (c —> a) is also logically adjacent and will cause no ORG. The
                    only race condition that exists is the conditional branching from state 01 to 10 (b —»• c) and
                    for this no ORG is possible, as indicated in Fig. 11.5b. Branching b —> c via race path 1
   521   522   523   524   525   526   527   528   529   530   531