Description
You will design a machine that can compute the multiplication of two numbers without using
multiplier. Your machine takes two 16-bit numbers and compute the multiplication result of these
two numbers. It has two blocks:
1. Control Unit: Has the FSM inside.
2. Datapath: Has all required components like adders, registers, multiplexers and etc.
You will actually implement the following C code with your machine.
mult = 0;
while( a > 0 ){
mult = mult + b;
a = a – 1;
}
Use registers for a, b and mult. Use one adder for addition and subtraction.
BONUS:
If you can also perform negative number multiplications you get extra credit. (25pts)
1. Decide states and draw the state diagram for your FSM controller.
2. Draw datapath.
3. Draw truth table.
4. Derive Boolean expressions from the truth table.
5. Draw the circuit on Logisim.
6. Simulate and see whether it works. If it does not turn back to previous stages and check
each carefully.
7. You get low credits if it does not execute in Logisim.
8. Submit your report including all the above stages (from 1 to 5) to the given submission link.
Also submit your Logisim .circ file. Please indicate which parts of the project work and
which ones do not precisely in your report.
9. It is not a group project. Cheating results in -100.