Page 517 - DSP Integrated Circuits
P. 517

502                                           Chapter 11 Processing Elements


        11.12 DIGIT-SERIAL ARITHMETIC

        From speed and power consumption points of view, it may sometimes be advanta-
        geous to process several bits at a time, so-called digit-serial processing. The num-
        ber of bits processed in a clock cycle is referred to as the digit size. Most of the
        principles, just discussed, for bit-serial arithmetic can easily be extended to digit-
        serial arithmetic. A complete design environment named Parsifal for digit-serial
        implementations has been developed by General Electric Research Center [17].


        11.13 THE CORDIC ALGORITHM


        The well-known CORDIC algorithm can be used to compute, for example, trigono-
        metric functions, square roots, etc. The CORDIC algorithm iteratively computes
        magnitude and phase, or rotation of a vector in circular, linear, and hyperbolic
        coordinate systems. The CORDIC algorithm is multiplier-free, using only shift,
        add/sub, and compare operations. The basic equations to be iterated are











        where m denotes the coordinate system, a n the rotation direction, S(m, n) the shift
        sequence, and o(m, n} the rotation angle. The latter are related according to






           Two operational modes are possible: rotation or vectoring. The rotation direc-
        tion factor o n is determined by the following equations, depending on the specified
        iteration goal






           The solution of the iteration is given by Equations.(11.34) through (11.36)
        with k m being the scaling factor and XQ, y$, and ZQ the starting values of the iter-
        ations. The final values of x,y, and z are
   512   513   514   515   516   517   518   519   520   521   522