Digital Signal Processing Reference
In-Depth Information
x 1
x W f −3
x W f −2
x W f −1
x W f
y 1
y W f −3
y W f −2
y W f −1
y W f
x W f y 1
x W f y W f −3
x W f y W f −2
x W f y W f −1
x W f y W f
x W f −1 y 1
x W f −1 y 2
x W f − 1 y W f −2
x W f −1 y W f −1
x W f −1 y W f
x 2 y 1
x 2 y 2
x 2 y 3
+
x 1 y 1
x 1 y 2
x 1 y 3
x 1 y 4
z 1
z 2
z 3
z 4
z 5
z 2 W f −3
z 2 W f −2
z 2 W f −1
z 2 W f
Fig. 17
Partial product array for unsigned multiplication
x 0
x 1
x W f −3
x W f −2
x W f −1
x W f
y W f
y 0
y 1
y W f −3
y W f −2
y W f −1
x W f y 0
x W f y 1
x W f y W f −3
x W f y W f −2
x W f y W f −1
x W f y W f
x W f −1 y 1
x W f −1 y 2
x W f − 1 y W f −2 x W f − 1 y W f −1 x W f −1 y W f
x W f −1 y 0
x 1 y 0
x 1 y 1
x 1 y 2
x 1 y 3
+
x 0 y 0
x 0 y 1
x 0 y 2
x 0 y 3
x 0 y 4
z −1
z 0
z 1
z 2
z 3
z 4
z 2 W f −3
z 2 W f −2
z 2 W f −1
z 2 W f
Fig. 18
Partial product array for two's complement multiplication
W f X
i = 1 x i 2 i W f Y
W f X
i = 1
W f Y
j = 1 x i y j 2 i j
j = 1 y j 2 j
Z
=
XY
=
=
(22)
This leads to a partial product array as shown in Fig. 17 .
For two's complement data the result is very similar, except that the sign-bit
causes some of the bits to have the negative sign. This can be seen from
=
Z
XY
W f X
i = 1 x i 2 i
W f Y
j = 1 y j 2 j
=(
x 0 +
)(
y 0 +
)
W f Y
j = 1 y j 2 j
W f X
i = 1 x i 2 i
W f X
i = 1
W f Y
j = 1 x i y j 2 i j
=
x 0 y 0
x 0
y 0
+
(23)
The corresponding partial product matrix is shown in Fig. 18 .
3.1.1
Avoiding Sign-Extension
As previously stated, the word lengths of two two's complement numbers should be
equal when performing the addition or subtraction. Hence, the straightforward way
 
 
 
Search WWH ::




Custom Search