Collection of three sequential multipliers, with 8 / 16 / 32 bit inputs and 16 / 32 / 64 bit output. Since the Radix-4 Booth algorithm can also handle negative numbers, the inputs can be positive or negative.
For each input, at the MSB there is a lever that let's you decide if the number should be interpreted as signed or unsigned. In the signed case, the number is seen as being in twos complement, i.e. the MSB decides what sign the number should have.
For example, in the 8 bit case, if we plug in 11111111, then in the unsigned case, this number is 255, and in the signed case, this number is -1. If we plug in 01111111, then in both the signed and the unsigned case this number is 127.
The algorithm handles two bits in one iteration, so for e.g. 8 bits, we only need 4 iterations. One iteration takes only 3t. As far as I can tell, even the 32 bit multiplier should never take longer than 10 seconds from pressing the "Start" button to showing the result regardless of inputs.
I used Aminos CCA design as well as a looping CSA which was shown in Bennyscube video.
Java only.
32,831
Blocks
120,120
Volume
28 × 130 × 33
Dimensions
schem
Format
minecraft
redstone
logic