You are on page 1of 17

Wallace Tree Multiplier

1.Introduction
Bruh!!

2
What is a it?

A Wallace multiplier is a hardware


implementation of a binary multiplier, a
digital circuit that multiplies two integers.It
was developed by Chris Wallace in 1964 as a
very fast method of multiplication which uses
fewer gates than the booth method which is
also very fast

3
So what do we do with it ?

Multiplication is one of the most commonly used operations in


the arithmetic. Multipliers based on Wallace reduction tree
provide an area-efficient strategy for high speed multiplication
It is especially popular today because of the high demand of
fast Three-dimensional computer graphics, high speed floating
point processing etc. .Almost every digital signal processor
has dedicated multiplier units low cost general purpose
microprocessors also have them so making processing faster is
better in general

4
2.Working
The boring part 

5
Any multiplier has three stages

Partial Products

Partial Product Addition

Final Addition
6
Wallace tree method also works on the same concepts
The Wallace tree has three steps:
▪ Multiply each bit of one of the arguments, by each bit of the other.
▪ Reduce the number of partial products to two by layers of full and half adders.
▪ Group the wires in two numbers, and add them with a conventional adder

This method is very fast but requires a lot more gates to obtain results

7
Example to explain the working

We take two eight bit binary numbers and multiply then


using Wallace tree method which will help us get a
better understanding of the whole process

8
STAGE 1: PARTIAL PRODUCTS
 
1 1 0 1 0 0 1 1 • The numbers are binary integers
1 1 0 0 1 1 1 0

• Works exactly like “Long hand “ Multiplication. But


addition cant be done column wise normally in binary as
0 0 0 0 0 0 0 0 we use adders and that problem will be solved in Stage 2
1 1 0 1 0 0 1 1
• Products (each blue square ) are the result of simple AND
1 1 0 1 0 0 1 1 gates
1 1 0 1 0 0 1 1
• All Products are done simultaneously as AND gates are
0 0 0 0 0 0 0 0
connected in parallel i.e. Fast (however long AND gate
0 0 0 0 0 0 0 0 takes)
1 1 0 1 0 0 1 1
• Requires a lot of Hardware (AND gates)
1 1 0 1 0 0 1 1

9
STAGE 2:PARTIAL PRODUCT ADDITION,STEP 1
0 0 0 0 0 0 0 0
• To add the columns we have to add three rows at a
1 1 0 1 0 0 1 1
time (as full adder requires 3 inputs)
1 1 0 1 0 0 1 1
1 1 0 1 0 0 1 1
• If pairing is not possible the
0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 • The result of each set of three rows is a set of two


1 1 0 1 0 0 1 1 rows
1 1 0 1 0 0 1 1

• Each resulting set of two rows has a row for the sum
1 0 1 1 1 0 1 0 1 0
and row for carry out
1 0 0 0 0 0 1 0

0 0 1 1 0 1 0 0 1 1 • Odd rows are brought back as they where


0 0 0 0 0 0 0 0
• Red: full adder output (3 inputs)
1 1 0 1 0 0 1 1
• Yellow: half adder output (2 inputs)
1 1 0 1 0 0 1 1
• Green :left alone
SUM row
Carry row
10
STAGE 2:PARTIAL PRODUCT ADDITION,STEP 2
1 0 1 1 1 0 1 0 1 0

1 0 0 0 0 0 1 0

0 0 1 1 0 1 0 0 1 1
• Repeat the process
0 0 0 0 0 0 0 0

1 1 0 1 0 0 1 1 • This time ,there are two sets of three rows


1 1 0 1 0 0 1 1
• Result is two sets of two rows

• This stage also like all others will take a lot of


hardware which can be seen by the amount of half
1 1 0 0 1 1 1 1 1 1 0
and full adders used
0 0 1 0 1 0 0 0 1 0

1 0 1 1 1 0 1 0 1 0

1 0 0 0 0 0 1 0

11
STAGE 2:PARTIAL PRODUCT ADDITION,STEP 3

• Repeat the process


1 1 0 0 1 1 1 1 1 1 0
• This time ,there’s only one set of three rows ,plus an
0 0 1 0 1 0 0 0 1 0
extra row to carry down
1 0 1 1 1 0 1 0 1 0

1 0 0 0 0 0 1 0 • Result is three rows, two from the set of three plus


the one carried down

• Each step takes as long as a full adder because that is


the slowest part. The carried down ones take almost
0 1 1 1 1 0 0 0 1 0 1 0 1 0
no time and half adder takes lesser time
1 0 0 1 0 1 0 1 0 1 0

1 0 0 0 0 0 1 0 • All adders are done in parallel

12
STAGE 2:PARTIAL PRODUCT ADDITION,STEP 4

0 1 1 1 1 0 0 0 1 0 1 0 1 0

1 0 0 1 0 1 0 1 0 1 0
• Repeat the process one last time
1 0 0 0 0 0 1 0
• Remaining three rows become two rows

• In this examples, Stage 2 has had 4 steps, and 4 full


adder delays

0 0 1 0 1 0 1 1 0 0 0 1 0 1 0
• The five LSBs have already been calculated as they will
be carried down
1 0 0 1 0 1 0 0 0 1 0

13
STAGE 3:FINAL ADDITION

• Final result is calculated by adding the final two rows

• In this example ,the 5 LSBs do not need to be


0 0 1 0 1 0 1 1 0 0 0 1 0 1 0 calculated
• The rest of the bits all have to go in a single adder
1 0 0 1 0 1 0 0 0 1 0
which involves a lot of delays

• The saving from already having 5 bits offsets the delay


1 0 1 0 1 0 0 1 1 1 0 0 1 0 1 0 from doing Stage 2

• Result is that the Wallace tree multiplication takes


about the same amount of time as a 2N-bit ripple carry
adder

14
2.Conclusion
Phew 

15
Summary
▪ A Wallace tree multiplier multiplies two binary integers almost as quickly as
addition

▪ Requires a lot of hardware

16
Thanks For your keen
listening
ANY QUESTIONS ?

17

You might also like