Chap4 7
Chap4 7
Chap4 7
Multipliers.
register
Combinational multiplier
Uses n-1 adders, eliminates registers:
Array multiplier
Array multiplier is an efficient layout of a combinational multiplier. Array multipliers may be pipelined to decrease clock period at the expense of latency.
x1y0
0
x0y0
x0y1
x1y1 x0y2
x1y2
xn-1yn-1
+
P(2n-1)
+
P(2n-2)
0 P0
Copyright 2004 Prentice Hall PTR
Baugh-Wooley multiplier
Algorithm for twos-complement multiplication. Adjusts partial products to maximize regularity of multiplication array. Moves partial products with negative signs to the last steps; also adds negation of partial products rather than subtracts.
Booth multiplier
Encoding scheme to reduce number of stages in multiplication. Performs two bits of multiplication at oncerequires half the stages. Each stage is slightly more complex than simple multiplier, but adder/subtracter is almost as small/fast as adder.
Booth encoding
Consider first two terms: by looking at three bits of y, we can determine whether to add/subtract x, 2x to partial product.
Copyright 2004 Prentice Hall PTR
Booth actions
yi yi-1 yi-2 000 001 010 011 100 101 110 111
FPGA-Based System Design: Chapter 4
increment 0 x x 2x -2x -x -x 0
Copyright 2004 Prentice Hall PTR
Booth example
x = 011001 (2510), y = 101110 (-1810). y1y0y-1 = 100, P1 = P0 - (10 011001) = 11111001110. y3y2y1= 111, P2 = P1 0 = 11111001110. y5y4y3= 101, P3 = P2 - 0110010000 = 11000111110.
Booth structure
Wallace tree
Reduces depth of adder chain. Built from carry-save adders:
Carry-save equations:
yi = parity(ai,bi,ci) zi = majority(ai,bi,ci)
Serial-parallel multiplier
Used in serial-arithmetic operations. Multiplicand can be held in place by register. Multiplier is shfited into array.