Digital Signal Processing Reference
In-Depth Information
−
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
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
0
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
1
y
0
x
1
y
1
x
0
y
2
x
1
y
2
x
1
y
3
x
0
y
4
+
1
x
0
y
0
x
0
y
0
x
0
y
3
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. 19
Partial product array without sign-extension
of dealing with the varying word lengths in two's complement multiplication is to
sign-extend the partial results to obtain the same word length for all rows.
To avoid this excessive sign-extension it is possible to either perform the
summation from top to bottom and perform sign-extension of the partial results to
However, if we want to be able to add the partial products in an arbitrary order using
product we have
−
=
−
1. Hence, we can replace all negative partial products
with an inverted version. Then, we need to subtract a constant value from the result,
but as there will be several constants, one from each negative partial product, we
can sum these up and form a single compensation vector to be added. When this is
p
p
3.1.2
Reducing the Number of Rows
by using a signed-digit representation. It would be possible to use e.g. a CSD
representation to obtain a minimum number of non-zeros. However, the drawback
is that the conversion from two's complement to CSD requires carry-propagation.
Furthermore, the worst case is that half of the positions are non-zero, and, hence,
one would still need to design the multiplier to deal with this case.
Instead, it is possible to derive a signed-digit representation that is not nec-
essarily minimum but has at most half of the positions being non-zero. This is
4 signed-digit representation where the recoded digits
r
i
∈{−
.An
alternative interpretation is a radix-2 signed-digit representation where
d
i
d
i
−
1
,
2
,−
1
,
0
,
1
,
2
}
i
∈
{
. The logic rules for performing the modified Booth encoding
are based on the idea of finding strings of ones and replace them as 011
W
f
,
W
f
−
2
,
W
f
−
4
,...}
...
11
=
one non-zero digit in each pair of digits (
d
2
k
d
2
k
+
1
).
100
...