Scaling Accumulator Multiplier


Introduction

All DSP and digital control applications are based on a simple equation that is the sum of set multiplied terms. "f(x)=Sum(xi * Ai) where i goes from 0 to N".

The implementation of this equation in either HW or SW needs intensive computation and consumes much resources. Several solutions has been suggested to implement this operation in HW that has the traditional trade off size vs. speed.

Scaling Accumulator Multiplier

This solution reduces the size "eliminates" the multiplier and performs the operations serially.

This approach takes the first operand as a parallel load and the other takes it serially. At the input it performs anding operation between the first operand and a bit at a time of the second operand. The result of this operation is iteritivly shifted and accumulated with the old result. The anding operation just passes the first operand to the accomulater-shifter or not according to a bit in the second operand.

Example: 89*13=1157

1         1011001
0       0000000
1      1011001
1     1011001+
   10010000101

Advantages

VHDL implementation

Differences between the codes

Op2 bit selection: The and operation Overflow check Dependency on the counter

Resources and references


Last update: 21st April 2000
1