clk
is the clock signal.rst
is the reset signal.multiplicand
is the 4-bit input multiplicand.multiplier
is the 4-bit input multiplier.product
is the 8-bit output product.
This module implements Booth's algorithm for binary multiplication. It uses an accumulator to keep track of the product and shifts the multiplier and multiplier register rightward as the algorithm progresses. Depending on the bits of the multiplier and the multiplier register, it either adds or subtracts the multiplicand from the accumulator.