We need code for the multiplication of an 8-bit binary number (A7 A6
A5 ...A0) by a 4-bit number (B3 B2 B1 B0) where A0 and B0 are the
least significant bits of those numbers.
In this figure, the 8-bit number is shifted one place to the left and
multiplied by the next bit of the 4-bit number. To create a square
set of numbers, zeros have been added both at the right and left hand
sides. The C entry corresponds to the carry from its line, that carry
being added into the next column. The overall product, including the
final output carry, consists of 8+4+1=13 bits. I have chosen to keep
the 8 most significant binary bits, the need to "gate" the 8-bit
number, i.e., multiply the 8-bit number by the corresponding bits of
the 4-bit number as the sum of partial products proceeds.
Using 8-bit gated adders such as shown an 8x4 bit multiplier can be built.
The inputs A(i) of the adder are the bits of the 8-bit input data
word D . The inputs B(i) of the adder in Figure become the outputs of
the previous adder stage (with zeros being entered for the first
adder). The "Mgate" input signal to the adder are the binary bits
H(i) of the 4-bit multiplier in Figure.
Problem Statement
Design of the multiplier requires that we complete the design of the
8-bit gated adder. Complete the following steps.
1. Design the gated binary full adder . When doing this, use your
earlier design of the basic binary full adder as one component and
simply add the AND gate to create the structural model of the gated
binary full adder. The two components of the gated binary full adder
will be your earlier simple binary full adder and the AND gate. Do
the following.
a. Design the AND gate by writing the entity definition and using a
behavioral model of the AND gate. Call the entity AND2.
b. Give the entity description for the gated binary full adder. Call this GBFA
c. Write the structural architectural model for the gated binary full
adder using its two components (the earlier binary full adder and the
AND2 gate).
2. Design the gated 8-bit binary adder . Do the following.
a. Give the entity description for the gated 8-bit binary adder. Call this G8BFA.
b. Write the structural architectural model of the G8BFA, using the
GBFA gated binary full adders as components.
Having completed the VHDL description for the G8BFA, you next design
the 4x8 multiplier . In particular,
3. Design the 4x8 multiplier. Do the following.
a. Give the entity description for the 4x8 multiplier. Call this Mult4x8.
b. Write the structural architectural model of the Mult4x8 component
using the G8BFA components. This will require that you use some care
when wiring one G8BFA to the next. Use bit-vectors to allow use of
indices. As you work through this, you will see the pattern of
indexing that emerges.
c. Simulate the multiplier for a couple of non-trivial pairs of inputs
to verify that it is generally correct. |