Answered step by step
Verified Expert Solution
Question
1 Approved Answer
Structural Multiplier 1. Create a new module called MULTB. This module should have l-bit inputs clk, reset, start; 8-bit inputs A = (a7, 06, 03,
Structural Multiplier 1. Create a new module called MULTB. This module should have l-bit inputs clk, reset, start; 8-bit inputs A = (a7, 06, 03, 04, 03, 29, Q1, 20), B = (67, 66, 65, 64, 63, bz, b1,bo); 16-bit output result, R=(115.714,713,812, 711, 710, 79, 78, 77, 76, 75, 74,13,12,71.ro); 1-bit output done. 2. You will use a simple binary multiplication algorithm as shown in Figure 1. You should multiply the multiplicand A by each bit of the multiplier B. You should define 16-bit registers PPO, PP1, PP2, PP3. PP4, PP5, PP6, PP7 to save partial products. After that, perform summation of these partial products and obtain the final result R. The calculation of the values of registers is as follows: PPO = bo * A* 20 PP1 = b * A* 2! PP2 = b2 * A* 22 PP3 = b3 * A* 23 PP4 = b4 * A* 24 PP5 = b; * A* 25 PP6 = 56* A* 26 PP7 = by * 4 *27 3. If reset and start signals are both low, then all the outputs and the registers must be zero. 4. Use an always block to calculate partial products. 5. Use 16-bit Ripple Carry Adders that you designed in Experiment 4 in order to obtain the final result R. Define 16-bit wires suml, sum2, sum3, sumd, sum5. sum6, sum6, sum7 as the outputs of the adders. The sum7 value will written to the result. 6. Your circuit should produce the final result, at the rising edge of the second clock cycle after the inputs applied. Hence, the done signal should be one at the second rising edge as well. 3 7. Write a testbench to ensure that your circuit is working correctly. Structural Multiplier 1. Create a new module called MULTB. This module should have l-bit inputs clk, reset, start; 8-bit inputs A = (a7, 06, 03, 04, 03, 29, Q1, 20), B = (67, 66, 65, 64, 63, bz, b1,bo); 16-bit output result, R=(115.714,713,812, 711, 710, 79, 78, 77, 76, 75, 74,13,12,71.ro); 1-bit output done. 2. You will use a simple binary multiplication algorithm as shown in Figure 1. You should multiply the multiplicand A by each bit of the multiplier B. You should define 16-bit registers PPO, PP1, PP2, PP3. PP4, PP5, PP6, PP7 to save partial products. After that, perform summation of these partial products and obtain the final result R. The calculation of the values of registers is as follows: PPO = bo * A* 20 PP1 = b * A* 2! PP2 = b2 * A* 22 PP3 = b3 * A* 23 PP4 = b4 * A* 24 PP5 = b; * A* 25 PP6 = 56* A* 26 PP7 = by * 4 *27 3. If reset and start signals are both low, then all the outputs and the registers must be zero. 4. Use an always block to calculate partial products. 5. Use 16-bit Ripple Carry Adders that you designed in Experiment 4 in order to obtain the final result R. Define 16-bit wires suml, sum2, sum3, sumd, sum5. sum6, sum6, sum7 as the outputs of the adders. The sum7 value will written to the result. 6. Your circuit should produce the final result, at the rising edge of the second clock cycle after the inputs applied. Hence, the done signal should be one at the second rising edge as well. 3 7. Write a testbench to ensure that your circuit is working correctly
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started