As a notational convenience, we shall assume that
and
are bit
vectors of widths
and
, respectively. Our objective
is an efficient computation of
as a sum of
partial products.
Conceptually, the multiplier is partitioned into
2-bit slices,
,
. Corresponding to each slice, we
define an integer encoding
in the range
.
PROOF: We shall prove, by induction, that for
,
where
![]() |
|||
![]() |
|||
![]() |
|||
![]() |
Since
, Lemma 7.1.1 expresses
as a sum
of at most
nonzero terms, each with absolute value a power of 2.
Our goal is to compute
Each term of this sum will correspond to a partial product, which is constructed by means of a 5-to-1 multiplexer.
where
and
Our main theorem is formulated as generally as possible so that it may be applied in other contexts.
PROOF: Let
. A straightforward reformulation of
Definition 7.1.2 yields
In order to understand Definition 7.1.3, note that whenever
This argument underlies the present proof. By Definition 7.1.3, the left-hand side of the conclusion of the theorem is
We first consider the constant terms of this sum:
![]() |
![]() |
||
![]() |
|||
Thus, we have
![]() |
![]() |
||
![]() |
|||
![]() |
|||
|
In our first application of Theorem 7.1, we substitute
for
and invoke Corollary 7.1.1.
where
PROOF: Since
,
i.e.,