For this assignment we were tasked to Build a simulator for the Booth’s 2’s complement number multiplier. we had to use 16-bit operands for the multiplication, i.e., 16-bit multiplicand, 16-bit multiplier, and 32-bit product. This simulator has a subcomponent, 16bit_ALU, which performs addition and subtraction operations
Steps of building the simulator:
- Implement a simulator for 1-bit ALU, which manipulates addition and subtraction operations;
- Implement a simulator for 16-bit ALU, which uses 1-bit ALU as a subcomponent;
- Implement a simnulator for the Booth’s multiplier, which uses 16bit ALU as a subcomponent; This module should have the following subcomponents too: registers MD, AC, MQ (16 bits each), and 4-bit cycle_counter (initialized to binary “1111”) This module is responsible for displaying the contents of the registers at each cycle and returns product.
- You should write a driver (e.g., main function), which accesses two input operands (16 bit binary each) from keyboard or data file, calls the Booth’s multiplier by passing the operands as arguments, and displays the product returnd from the Booth’s multiplier.