Page 523 - Engineering Digital Design
P. 523

11.2 DETECTION AND ELIMINATION OF OUTPUT RACE GLITCHES               493




                                         | I            Output Z           I I
                       Output Z  Q                               Q
                       Race path 1 011—^010—^110         Race path 2 011—+ 111—M10
                                   32 6                              3    <£ =x  6




                                                                           (b)
                  FIGURE 11.2
                  Logic sketches of the ORGs that can be produced by the state diagram segment in Fig. 11.1.
                  (a) Positive (+) glitch produced in state 010 via race path 1. (b) Conditional positive (+) glitch
                  produced in don't-care state 111 via race path 2.


                  branching from state a to state b is conditional on X and that this satisfies the conditional
                  output ZifXi n race state 010. The race paths are best shown by the simplified diagram
                  in Fig. 1 l.lb, where all nonessential details are removed. Note that neither the origin state
                  nor the destination state are output states — an important observation in ORG analysis.
                     Should state variable C change first, the transition from state Oil to state 110 will take
                  place via race path 1 (race state 010) and the output Z would glitch, as indicated in Fig. 11. Ib.
                  On the other hand, if state variable A should change first, the transition will occur via race
                  path 2 through don't-care state 07. In this case the question of whether or not an ORG will
                  be produced depends on how 0? is used in extracting the cover for Z in the output K-map.
                  If 07 is used as a 1, state 111 becomes an unconditional output state and an ORG will be
                  produced by race path 2. Similarly, if 07 is used as an X, state 111 becomes a conditional
                  (Mealy) output state that will produce an ORG via race path 2. As indicated in Fig. 11. Ib, a
                  choice of07 = Oor0 7 = X eliminates the possibility of an ORG in state 111 via race path
                  2. That an ORG is an output discontinuity is illustrated by the logic sketches in Fig. 11.2,
                  which represents the ORGs produced by the state diagram segment in Fig. 11.1. Notice that
                  in both cases, the ORGs are (+) glitch discontinuities in the Z output, which should have
                  been maintained as a steady-state logic 0 signal during the transition 011 —»• 110. The ORG
                  shown in Fig. 11.2b is said to be conditional because its production depends on how 07 is
                  used in the K-map for Z, as discussed previously.
                     Given that ORGs are present in the FSM segment of Fig. 11.1, corrective action must
                  be taken to eliminate them, assuming it is necessary to do so. The easiest corrective action
                  involves changing the state code assignments to eliminate the race condition that caused
                  the ORGs. When state codes 110 and 010 in Fig. 11.1 a are interchanged, the race condition
                  disappears together with the ORGs. A simple alteration of the state code assignments is not
                  always possible, but should be one of the first corrective measures considered.
                     Another example is presented that demonstrates the use of other methods for eliminating
                  a possible ORG. Shown in Fig. 11.3a is a three-state FSM that has one input X, two outputs,
                  Y and Z, and a possible ORG produced during the transition 00 -> 11. To help understand
                  the ORG analysis of this FSM, only the essential features of Fig. 11.3a are presented
                  in Fig. 11.3b. Here, it is easily seen that if state variable A is caused to change first, the
                  transition from state 00 to state 11 will take place via race path 1 through race state 10
   518   519   520   521   522   523   524   525   526   527   528