O'Reilly logo

VLSI Digital Signal Processing Systems: Design and Implementation by Keshab K. Parhi

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

13.7    DISTRIBUTED ARITHMETIC

Distributed arithmetic is used to design bit-level architectures for vector-vector multiplications. In distributed arithmetic, each word in the vectors is represented as a binary number, the multiplications are reordered and mixed such that the arithmetic becomes “distributed” through the structure. Distributed arithmetic is commonly used for implementation of convolution operations and discrete cosine transforms (DCT) commonly used in video compression systems [17],[18].

13.7.1    Conventional Distributed Arithmetic

Consider an inner product between 2 length-N vectors C and X:

image

where {ci}’s are M-bit constants and {xi}’s are coded as W-bit 2’s complement numbers

image

Substituting (13.21) in (13.20),

image

Define

image

Then,

image

Therefore, by interchanging the summing order of i and j, the initial multiplications in (13.20) are now distributed to another computation pattern [19], [20].

Since the term Cj depends on the xi,j values and has only 2N possible values, it is possible ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required