ECE 375: Digital Design II
Class 23
In the last class, we looked at signed multiplication. However, that design only works if for one negative numbers, not two.
Multiplication of Two Negative Numbers
A = 10110 => -10
X = 10101 => -11
K = 5
p0 => 00_00000_00000
+ x0*a => 11_10110_00000
------------------------
2*p1 => 11_10110_00000
p1 => 11_11011_00000
+ x1*a => 00_00000_00000
------------------------
2*p2 => 11_11011_00000
p2 => 11_11101_10000
+ x2*a => 11_10110_00000
------------------------
2*p3 => 11_10011_10000
p3 => 11_11001_11000
+ x3*a => 00_00000_00000
------------------------
2*p4 => 11_11001_11000
p4 => 11_11100_11100
-- In the very last step, if the MSB of the multiplier is negative, you take the two's complement
x4*a => 10110
(x4*a)' => 01001
-x4*a => 00_01010_00000
------------------------
2*p5 => 00_00110_11100
p5 => 00_00011_01110 <=> 110