Paulo Flores,

R – INESC-ID Lisboa


Several computationally intensive operations, such as, Finite Impulse
Response (FIR) filters and Fast Fourier Transforms (FFT), involve a
sequence of Multiply-Accumulate (MAC) operations with constant
coefficients. Hardwired dedicated architectures are the best option
for maximum performance and minimum power consumption.

Constant coefficients allow for a great simplification of the
multipliers, which can be reduced to shift-adders. Shifts are free in
terms of hardware, hence the hardware required for a multiplication
with a constant with N bits set to 1 is simply N-1 adders. In many MAC
operations, the same input is to be multiplied by a set of
coefficients, an operation known as Multiple Constant Multiplications
(MCM). An example of this is the transposed form architecture of a FIR
filter. In this situation, significant reductions in hardware, and
consequently power, can be obtained by sharing the partial products of
the input.

In this talk I propose an exact algorithm that maximizes the sharing
of partial terms in MCM operations. We model this problem as a Boolean
network that covers all possible partial terms which may be used to
generate the set of coefficients in the MCM instance. The PIs to this
network are shifted versions of the MCM input. An AND gate represents
an adder or a subtracter, ie, an AND gate generates a new partial
term. All partial terms that have the same numerical value are ORed
together. There is a single output which is an AND over all the
coefficients in the MCM. We cast this problem into a 0-1 Integer
Linear Programming (ILP) problem by requiring that the output is
asserted while minimizing the total number of AND gates that evaluate
to one. A SAT-based solver is used to obtain the exact solution. We
argue that for many real problems the size of the problem is within
the capabilities of current SAT solvers.

We present results using binary, CSD and MSD representations. Two main
conclusions can be drawn from the results. One is that, in many cases,
existing heuristics perform well, computing the best solution, or one
close to it. The other is that the flexibility of the MSD
representation does not have a significant impact in the solution


Date: 2005-Nov-04     Time: 14:30:00     Room: 336

For more information: