Page 468 - DSP Integrated Circuits
P. 468

10.7 Finite State Machines (FSMs)                                    453

        The self-timed PE is pro-
        vided with a local ring
        counter that generates a
        clock signal guaranteed to
        be lower than the speed of
        the PE. This can be accom-
        plished, in spite of speed
        variations between individ-
        ual chips due to process
        variations,  if the   ring
        counter is placed close to the  Figure 10.28 Self-timed processing element.
        PE. The ring counter is
        started by the signal Start and stopped after a given number of clock cycles. In thi
        way, the circuit design problem is simplified significantly. The circuit has only to b
        sufficiently fast.



         10.7 FINITE STATE MACHINES (FSMs)

        Finite state machines (FSMs) are used in many digital systems. An FSM can be
        described by





        where s(n), x(n), andy(n) are the state, input, and output at time instant n, while
        T and U are the state transition function and output function, respectively.
            An FSM has an infinite memory span if the present state is determined by an
        infinite number of past states. Compare this with an IIR filter. The throughput for
        such an FSM is therefore limited by the iteration period bound, obtained from
        Equation (10.4). Techniques similar to the ones discussed in Chapter 6 have also
        been developed for decreasing the iteration period bound for this class of FSM [14].
            An FSM has a finite memory span if the current state is determined by a
        finite number of past states. Hence, such FSMs have no iteration period bounds,
        and can therefore achieve arbitrarily large throughputs by using pipelining and
        interleaving in the same way as nonrecursive FIR filters. We will not therefore dis-
        cuss this class of FSM further.
            There are two basic ways to increase the throughput of a recursive algorithm.
        The first way is to reduce the computation time for the critical loop—for example,
        by removing unnecessary operations from the critical loop. This approach is obvi-
        ously application dependent and relaxes only the iteration period bound. The sec-
        ond way is to use various forms of look-ahead and block processing techniques, as
        was done in section 6.9.


        10.7.1 Look-Ahead FSMs
        The basic principle of look-ahead techniques is to iterate Equations (10.4) and (10.5)
        N times so that N inputs are used to compute N output values in each iteration step.
        This approach effectively increases the number of delay elements in the critical loop.
   463   464   465   466   467   468   469   470   471   472   473