5/15/2019 Multipliers Outline multiplicand Digital CMOS Design b b 0 a a 7 a a 6 a a 5 a a 4 a 3 a a a 2 a 1 a a 0 a b b a a a a a a a a a a a a a a a a 0 7 6 5 4 3 2 1 0 0 0 and 7 7 6 6 5 5 4 4 3 3 2 2 1 1 0 0 b b b b 1 a 7 a a a a a 6 a a a 5 a a a a 4 a a a a 3 a a a a a 2 a a a a a a 1 a a 0 a a 1 1 1 7 7 7 6 6 6 5 5 5 4 4 4 3 3 3 2 2 2 1 1 1 0 0 0 Arithmetic Operators b 2 b b b a a a a 7 a 6 a a a a 5 a a a a 4 a a a a 3 a a a a a 2 a a a 1 a a a a a a 0 a 2 2 2 7 7 7 6 6 6 5 5 5 4 4 4 3 3 3 2 2 2 1 1 1 0 0 0 b b b b 3 a a 7 a a a 6 a a a a a a a 5 a 4 a a a a a a a 3 a a a a 2 a 1 a a a a a a 0 a Adders 3 3 3 7 7 7 6 6 6 5 5 5 4 4 4 3 3 3 2 2 2 1 1 1 0 0 0 b b 4 b b a a a 7 a a 6 a a a a a 5 a a a a 4 a a a a 3 a a a a a a 2 a 1 a a a a 0 a a a 4 4 4 7 7 7 6 6 6 5 5 5 4 4 4 3 3 3 2 2 2 1 1 1 0 0 0 Comparators b 5 b a 7 a a 6 a a 5 a a a 4 a a 3 a 2 a a 1 a a a 0 b b a a a a a a a a a a a a a a a a 5 7 6 5 4 3 2 1 0 5 5 7 7 6 6 5 5 4 4 3 3 2 2 1 1 0 0 b b 6 b b a a a a 7 a a 6 a a a a a a 5 a a 4 a a a 3 a a a a a 2 a a a 1 a a a a a 0 a a Shifters 6 6 6 7 7 7 6 6 6 5 5 5 4 4 4 3 3 3 2 2 2 1 1 1 0 0 0 b b 7 b b a a a a 7 a a 6 a a a a a a 5 a 4 a a a a a 3 a a a 2 a a a a a 1 a a a a a a 0 7 7 7 7 7 7 6 6 6 5 5 5 4 4 4 3 3 3 2 2 2 1 1 1 0 0 0 Multipliers Multipliers s 15 s s s s 14 s s s s s 13 s s s s s 12 s s s 11 s s s s s s 10 s s 9 s s s s 8 s s s s s 7 s s 6 s s s s 5 s s s s s s s 4 s s s 3 s s s 2 s s s 1 s s s s 0 s s s 15 15 15 14 14 14 13 13 13 12 12 12 11 11 11 10 10 10 9 9 9 8 8 8 7 7 7 6 6 6 5 5 5 4 4 4 3 3 3 2 2 2 1 1 1 0 0 0 Pirouz Bazargan Sabet Digital Design February 2010 Pirouz Bazargan Sabet Digital Design February 2010 Multipliers Multipliers Implementation : sequential multiplier Two natural numbers A A A and B A B B B coded on n bits a 7 a a a a a a a 6 a a 5 a a a a 4 a a a a a 3 a a a 2 a a a a a 1 a a 0 a a a 7 7 7 6 6 6 5 5 5 4 4 4 3 3 3 2 2 2 1 1 1 0 0 0 the result of A A × B A A B B is coded on 2n bits B 2n bit adder Classic method as learned in primary school b 7 b b b b b 6 b b b 5 b b b b 4 b b b b b b b 3 b b b 2 b b b 1 b b b 0 b b b 7 7 7 6 6 6 5 5 5 4 4 4 3 3 3 2 2 2 1 1 1 0 0 0 Pirouz Bazargan Sabet Digital Design February 2010 Pirouz Bazargan Sabet Digital Design February 2010 1
5/15/2019 Multipliers Multipliers Implementation : sequential multiplier Implementation : sequential multiplier a 7 a a 6 a a a 5 a a 4 a a 3 a 2 a a a 1 a a 0 a 7 a a 6 a a 5 a a 4 a a 3 a a 2 a a a 1 a a 0 a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 7 6 6 5 5 4 4 3 3 2 2 1 1 0 0 7 7 6 6 5 5 4 4 3 3 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 2n bit adder 2n bit adder ck ck ck ck ck ck ck ck 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 b b b b 7 b 6 b b b b 5 b b b b b b b 4 b 3 b b b b 2 b b b b 1 b b b b b 0 b b b b b 7 b b 6 b b b b b b b 5 b 4 b b b b b b b 3 b 2 b b b b 1 b b b b 0 b b b 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 7 6 6 5 5 4 4 3 3 2 2 1 1 0 0 7 7 6 6 5 5 4 4 3 3 2 2 1 1 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 Pirouz Bazargan Sabet Digital Design February 2010 Pirouz Bazargan Sabet Digital Design February 2010 Multipliers Multipliers Implementation : sequential multiplier Implementation : sequential multiplier a a 7 a a a 6 a a a a a 5 a a a a 4 a a a 3 a a a a 2 a a a a a a a 1 a 0 a a a a a 7 a a a a a a 6 a 5 a a a a 4 a a a a 3 a a a a 2 a a a a 1 a a a a a 0 a a 7 7 7 6 6 6 5 5 5 4 4 4 3 3 3 2 2 2 1 1 1 0 0 0 7 7 7 6 6 6 5 5 5 4 4 4 3 3 3 2 2 2 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 2n bit adder 2n bit adder ck ck ck ck ck ck ck ck 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 b 7 b b b b b b b 6 b 5 b b b b b b 4 b b b b b 3 b b 2 b b b 1 b b b b b b b 0 b b 7 b b b 6 b b b b b b b 5 b 4 b b b b 3 b b b b b 2 b b b 1 b b b b b b 0 b 7 7 7 6 6 6 5 5 5 4 4 4 3 3 3 2 2 2 1 1 1 0 0 0 7 7 7 6 6 6 5 5 5 4 4 4 3 3 3 2 2 2 1 1 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 1 0 Pirouz Bazargan Sabet Digital Design February 2010 Pirouz Bazargan Sabet Digital Design February 2010 2
5/15/2019 Multipliers Multipliers Implementation : sequential multiplier Implementation : parallel multiplier a 7 a a a 6 a a 5 a a 4 a 3 a a 2 a a a 1 a 0 a a a a a a a a a a a a a a a a a 7 6 5 4 3 2 1 0 7 7 6 6 5 5 4 4 3 3 2 2 1 1 0 0 adder At each level the operand of 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 the adder is a partial product adder (conditioned by the corresponding b b b b i i ) adder i i 2n bit adder adder adder ck ck ck ck 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 1 1 adder adder b 7 b b b b b b b 6 b 5 b b b b 4 b b b b b b b 3 b 2 b b b b b b b 1 b b b b 0 7 6 5 4 3 2 1 0 7 7 6 6 5 5 4 4 3 3 2 2 1 1 0 0 0 0 0 0 0 0 0 0 1 Pirouz Bazargan Sabet Digital Design February 2010 Pirouz Bazargan Sabet Digital Design February 2010 Multipliers Multipliers Implementation : parallel multiplier Implementation : parallel multiplier Improvement : Reduce the number of partial products ��� b 0 b b b a a a a 7 a a 6 a a a a a a 5 a 4 a a a a a 3 a a a a a a 2 a a a a 1 a a 0 a a 0 0 0 7 7 7 6 6 6 5 5 5 4 4 4 3 3 3 2 2 2 1 1 1 0 0 0 � = � � � × 2 � � � ∈ 0,1 b 1 b a 7 a a a 6 a 5 a a 4 a a a 3 a 2 a a a 1 a a 0 b b a a a a a a a a a a a a a a a a 1 1 1 7 7 7 6 6 6 5 5 5 4 4 4 3 3 3 2 2 2 1 1 1 0 0 0 ��� b b 2 b b a a a a 7 a a a a 6 a a 5 a a a 4 a a a a 3 a a a a 2 a a a a 1 a a a a a a 0 a 2 2 2 7 7 7 6 6 6 5 5 5 4 4 4 3 3 3 2 2 2 1 1 1 0 0 0 0 1 0 1 1 1 0 0 = 78 b b b 3 b a a a 7 a a a 6 a a a a 5 a a a 4 a a a a 3 a a a a 2 a a a a a 1 a a a a a 0 a � � ⁄ �� 3 7 6 5 4 3 2 1 0 3 3 7 7 6 6 5 5 4 4 3 3 2 2 1 1 0 0 � � + 2� ��� × 2 �� � = � b 4 b b b a a a a 7 a a a 6 a a a 5 a a a a a a 4 a a 3 a a a a a a 2 a a 1 a a a a a 0 a 4 4 4 7 7 7 6 6 6 5 5 5 4 4 4 3 3 3 2 2 2 1 1 1 0 0 0 2 b 5 b b b a 7 a a a a a a a 6 a 5 a a a a a a a 4 a 3 a a a a 2 a a a a a a 1 a a a 0 a a ��� 5 5 5 7 7 7 6 6 6 5 5 5 4 4 4 3 3 3 2 2 2 1 1 1 0 0 0 3 b 6 b a 7 a a a 6 a a 5 a 4 a a a 3 a a 2 a 1 a a 0 a b b a a a a a a a a a a a a a a a a 6 6 6 7 7 7 6 6 6 5 5 5 4 4 4 3 3 3 2 2 2 1 1 1 0 0 0 0 half less terms b b b b 7 a 7 a a a a 6 a a a a 5 a a a a a a 4 a a 3 a a a a a a a 2 a 1 a a a a 0 a a a 7 7 7 7 7 7 6 6 6 5 5 5 4 4 4 3 3 3 2 2 2 1 1 1 0 0 0 1 → half less partial products s s s s 15 s 14 s s s s 13 s s s s s s 12 s s s s s 11 s s 10 s s s s s 9 s s s s s 8 s s 7 s s s 6 s s s s 5 s s s s 4 s s s s s 3 s s s s 2 s s s 1 s s s s 0 s s s 15 15 15 14 14 14 13 13 13 12 12 12 11 11 11 10 10 10 9 9 9 8 8 8 7 7 7 6 6 6 5 5 5 4 4 4 3 3 3 2 2 2 1 1 1 0 0 0 � = 2 × 2 � + 3 × 2 � + 0 × 2 � + 1 × 2 � = 78 Pirouz Bazargan Sabet Digital Design February 2010 Pirouz Bazargan Sabet Digital Design February 2010 3
Recommend
More recommend