Page 498 - DSP Integrated Circuits
P. 498

11.6 Bit-Serial Arithmetic                                           483


        multiplier, a, is applied in a bit-parallel format. Many different schemes for bit-
        serial multipliers have been proposed. They differ mainly in which order bit-prod-
        ucts are generated and added and in the way subtraction is handled. A common
        approach is to generate a row, or diagonal, of bit-products in each time slot (see
        Figure 11.8) and perform the additions of the bit-products concurrently. We will in
        this and the following sections describe several alternative serial/parallel multi-
        plier algorithms and their implementations.
            First, lets consider the special case when data is positive, x > 0. Here the shift-
        and-add algorithm can be implemented by the circuit shown in Figure 11.14,
        which uses carry-save adders. The coefficient word length is five bits. Since x is
        processed bit-serially and coefficient a is processed bit-parallel, this type of multi-
        plier is called a serial /parallel multiplier. Henceforth we do not explicitly indicate
        that the D flip-flops are clocked and reset at the beginning of a computation.
            Addition of the first set of partial bit-products starts with the products corre-
        sponding to the LSB of x. Thus, in the first time slot, at bit xyf d_i, we simply add
        a • xyf d_i to the initially cleared accumulator.
            Next, the D flip-flops are clocked and the sum-bits from the FAs are shifted
        one bit to the right, each carry-bit is saved and added to the FA in the same stage,
        the sign-bit is copied, and one bit of the product is produced at the output of the
        accumulator. These operations correspond to multiplying the accumulator con-
                  1
        tents by 2" . In the following clock cycle the next bit of x is used to form the next
        set of bit-products which are added to the value in the accumulator, and the value
        in the accumulator is again divided by 2.
            This process continues for W&-1 clock cycles, until the sign bit of x, XQ, is
        reached, whereupon a subtraction must be done instead of an addition. At this
        point, the accumulator has to be modified to perform this subtraction of the bit-
        products, a • XQ. We will present an efficient method to perform the subtraction in
        Example 11.5. Recall that we assumed that the data here are positive. Hence, XQ =
        0 and the subtraction is not necessary, but a clock cycle is still required. The high-
        est clock frequency is determined by the propagation time through one AND gate
        and one full-adder.
            During the first Wj clock cycles, the least significant part of the product is com-
        puted and the most significant is stored in the D flip-flops. In the next W c—1 clock
        cycles, zeros are therefore applied to the input so that the most significant part of
        the product is shifted out of the multiplier. Hence, the multiplication requires
        W^+Wc-1 clock cycles. Two successive multiplications must therefore be separated
        by Wd+W c—l. clock cycles.

















                  Figure 11.14 Serial/parallel multiplier based on carry-save adders
   493   494   495   496   497   498   499   500   501   502   503