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:
- Control Unit: Has the FSM inside.
- 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)
- Decide states and draw the state diagram for your FSM controller.
- Draw datapath.
- Draw truth table.
- Derive Boolean expressions from the truth table.
- Draw the circuit on Logisim.
- Simulate and see whether it works. If it does not turn back to previous stages and check each carefully.
- You get low credits if it does not execute in Logisim.
- 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.
- It is not a group project. Cheating results in -100.
Reviews
There are no reviews yet.