This project implements a 4-bit array multiplier using structural Verilog. It takes two 4-bit binary inputs (m
and q
) and computes their product, outputting the result as an 8-bit binary number. The multiplication is performed using an array multiplier architecture, which generates partial products for each bit of the inputs and sums them using a series of adders.
Partial products are calculated based on the bits of each 4-bit input. The summation of partial products is arranged in stages, and the final result is accumulated through these stages, producing an 8-bit result (uo_out[7:0]
).
m
through ui_in[3:0]
and the second 4-bit input q
through uio_in[3:0]
.m
and q
will be output on uo_out[7:0]
.clk
and rst_n
signals in the design, they are not utilized in this version of the array multiplier, which operates as a combinational circuit.m
to 4'b0011
(decimal 3) and q
to 4'b0010
(decimal 2).uo_out
should be 8'b00000110
(decimal 6).Testing can be performed on a simulation platform (such as Verilog testbenches in ModelSim or other simulation tools) by assigning values to ui_in
and uio_in
and verifying the uo_out
output.
This project does not require any external hardware. All inputs and outputs are managed internally within the module, which can be tested in simulation environments or FPGA-based hardware setups.
# | Input | Output | Bidirectional |
---|---|---|---|
0 | m[0] | ||
1 | m[1] | ||
2 | m[2] | ||
3 | m[3] | ||
4 | q[0] | ||
5 | q[1] | ||
6 | q[2] | ||
7 | q[3] |