Page 527 - Engineering Digital Design
P. 527

11.2 DETECTION AND ELIMINATION OF OUTPUT RACE GLITCHES               497




                                                     Race path 1..    -^No ORG


                                                 .-. .         -       v          Destination
                                                 °' gn --    X         X       A"   State
                                                 State






                                                    Race path 2

                                                        Choice in use of don't care ^ 3
                                                               with no ORG
                                (a)                                (b)
                  FIGURE 11.5
                  Use of a change in state code assignment to eliminate an ORG. (a) State diagram of Fig. 11.3a,
                  showing change in state code assignment and new race paths for transition b -»• c (dashed lines),
                  (b) Diagram segment for (a) showing elimination of all ORGs.



                  results in normal deactivation of Y and normal activation of Z. Assigning 03 a logic 1 or X
                  in the Y K-map merely results in a late deactivation of output Y via race path 2. Or, using
                  03 as a logic 1 in the Z K-map results in an early activation of output Z via race path 2.
                  Early or late activation or deactivation of an output is of no concern in most cases. In fact,
                  it is only under the most stringent of timing conditions that such late or early activation
                  or deactivation may become an important consideration. Use of 03 as a logic 0 results
                  in the normal output response in either case. The following paragraphs offer two simpler
                  alternatives for the elimination of all ORGs in the FSM of Fig. 11.3, alternatives that may
                  or may not provide the best solution.
                    Shown in Fig. 11.6 are two examples of how a potential ORG can be eliminated by using
                  a buffer (fly) state to eliminate the race condition causing the ORG. In Fig. 11.6a, don't-care
                  state 01 is used to eliminate the ORG in output Z by removing the race condition between
                  state a and b in Fig. 11.3a. In doing this, an additional clock period is introduced for the
                  transition from a to b. The use of the buffer state in Fig. 11.6b removes the potential ORG
                  in output Y but creates an additional clock period delay for the transition from state c to
                  state a. These additional clock period delays caused by the presence of a buffer state may
                  or may not be acceptable, depending on the design requirements for the FSM. Clearly, the
                  best solution to this ORG problem is that indicated in Fig. 11.5.
                    Another approach to eliminating ORGs is to filter them. This is easily accomplished
                  since ORGs, like all forms of logic noise, occur immediately following the triggering edge
                  of the clock waveform. Shown in Fig. II.la is an acceptable filtering scheme involving an
                  edge-triggered flip-flop that is triggered antiphase to the FSM memory flip-flops. Thus, if
                  the memory flip-flops of the FSM are triggered on the rising edge of the clock waveform
                  (RET), then the D flip-flop filter must be triggered on the falling edge of the clock waveform
                  (FET) or vice versa. The timing diagram in Fig. 11.7b illustrates the filtering action of the
   522   523   524   525   526   527   528   529   530   531   532