Page 552 - Engineering Digital Design
P. 552

522                 CHAPTER 1 1 / SYNCHRONOUS FSM DESIGN CONSIDERATIONS


                                            Sampling Intervals

                           CK        /           \            S

                            D         I            \           |
                            Q         . y                      r




                    FIGURE 11.27
                    Propagation delay data for an RET D flip-flop from which the maximum propagation delay can be
                    obtained.

                    sufficient information to evaluate Eq. (11.6), providing that acceptable values for r M5max and
                    Afyj are used. The value for r n?max must be obtained with knowledge of the NS logic technol-
                    ogy, which is usually available from the manufacturer. An acceptable value for Af/j might
                    be 20% of (iff + r ns + t su) max, giving T CK = 1 -2(r ff + r ns + t su) max as a safe minimum clock
                    period. Then from this, a safe maximum clock frequency fcK = 1 / TCK can be obtained.


                    11.6.3 Buffering and Gating the Clock

                    There are other considerations regarding the use of a clock waveform signal in a synchronous
                    system. Normally, the system clock signal from the clock-generating circuitry must be
                    buffered for fan-out reasons. As used in this text, the word buffer is synonymous with line
                    driver. In large systems where the clock signals must be supplied to a large number of
                    flip-flops, there may be insufficient fan-out to drive the flip-flops. In this case buffers must
                    be used but in a way that does not cause clock skew. The best way to buffer the clock signals
                    is to use packaged 1C buffers (as opposed to individual buffers or inverters off chip) and to
                    do so "symmetrically" to minimize clock skew.
                       Also, if it is necessary to gate the clock signals in addition to buffering them, the best
                    choice may be to use tri-state drivers (see Fig. 3.8 for CMOS tri-state drivers). If it is
                    necessary to gate some clock signals but not others, an asymmetric delay may result that
                    can produce clock skew problems. The solution to this potential problem is to place a delay
                    on each nongated clock line that is equal to the delay of the tri-state driver — again, think
                    symmetrically. Generally, it is a bad idea to gate the clock signals by using discrete gates.
                    To do this invites clock skew problems. If logic gates must be used for the gating action,
                    use ICs and make certain that all delays on clock lines are equal or nearly so — once again,
                    think symmetrically.



                    11.7 INITIALIZATION AND RESET OF THE FSM: SANITY CIRCUITS

                    An important part of the operation of any sequential machine is that it be initialized (on
                    power-up) into a specific state, or that it be reset into a specific state once in operation. If
                    initialization and reset of the FSMs were not possible, one can imagine the chaos that could
   547   548   549   550   551   552   553   554   555   556   557