Title: Parallel Multipliers
1Parallel Multipliers
2CSA Trees
A Carry-Save Adder is a row of full adders.
A CSA is used to transform a problem of summing 3
operands to a problem of summing 2 operands.
A tree formed from CSAs can be used to
simultaneously add together many operands.
3Multi-Operand Addition
The most labourious task of multiplication
involves a multi-operand addition.
By rearranging the intermediate terms of a
multiplication we find that the multi-operand
addition can be viewed as a triangle of digits.
4Designing a Reduction Tree
5The Final Levels
We now find that the carry out of the first
full-adder will produce a long chain of
full-adders causing many levels in the tree.
To simplify this problem we note that we can
introduce Half-Adders into the tree. The
Half-Adders do not reduce the number of operands
because they have 2 inputs and 2 outputs, however
they allow us to redistribute the digits.
6Using Half-Adders in the Reduction Tree
7Drawing the CSA Tree
Before connecting the ports of the CSAs we must
identify the correct signals.
8General Structure of Tree Multipliers
The process of multiplication can be broken into
the following sub-processes.
A circuit must create all the necessary multiples
of Y. A circuit must select either the correct
multiple of Y or Zero depending upon the digits
of X. A circuit must perform the multi-operand
Addition.
9Partial Tree Multipliers
The Sequential Multiplier has a very small area
but requires many clock cycles. The parallel Tree
Multiplier has a much larger area and is
extremely fast.
A Partial Tree Multiplier is sequential
Multiplier that also performs parallel
multi-operand additions. A smaller tree is used
to add a subset of the operands. The result of
this addition is stored in a register in
carry-save representation and used as an operand
in the next cycle of additions.
10Linear vs. Logarithmic Trees
Consider the simple problem of building a
multi-input AND gate. Let us build an 8-input AND
gate.
The Logarithmic tree has the least number of
levels and thus is the fastest circuit. The
Linear tree has the most number of levels and
thus is the slowest circuit.
11Array Multipliers
An Array Multiplier is a specific type of Tree
Multiplier. The Tree is a linear tree and the
final CPA is a ripple Adder.
The regular structure of an Array Multiplier
allows for compact VLSI layout and glitch-free
operation.
12Eliminating the Unnecessary MAs
A practical array multiplier does not have the
redundant Full-Adders.