Booth's Multiplication Algorithm
For this assignment we’ll be implementing booth’s multiplication algorithm. Booth’s multiplication algorithm is used to perform multiplication of signed numbers. We will be using 4 4-digit 7 segment displays to show both inputs of booth’s algorithm and the result of the multiplication. Below is a list of recommended steps to complete this assignment:
1 ) Complete the “Signed_to_SLV.vhd” design, this will be used to allow you to take in signed numbers and output the std_logic_vector equivalent. This will allow you to take both inputs to booth’s signed multiplication algorithm and represent them using the binary to BCD design from the first lab.
Complete the “smult_1.vhd” design, this is what actually implements booth’s algorithm, simulate to verify it’s working properly. Then incorporate the smult_1 into the top level design.
Setup
If the development board your using has a 4-digit 7 segment display such as the BASYS 2 or BASYS 3 development board you use the on board display for both the inputs. If you go this route you will need to implement a scheme so that the input being display is based on the input of a slide switch. Otherwise you will need to connect all 16 digits of the 7 segment displays together in a multiplexed fashion. See the schematic below:

See the BOM below for the components I used during the demonstration of this lab.
Verification
In order to verify your design is working properly, put a value on each input and verify the output on the 7 segment displays with your calculator. Be sure to check all combinations of negative and positive numbers. Also be sure that the numbers are displaying properly on the 7 segment displays, this can easily be done by subtracting 1 after the design has been initialized, and if you don’t see a (-1) then you need to start debugging.