Question: 4. [13 marksMore CPU functions Arithmetic multiplication is a common operation that a CPU may need to perform. In HW1 you already implemented a circuit

 4. [13 marksMore CPU functions Arithmetic multiplication is a common operationthat a CPU may need to perform. In HW1 you already implementeda circuit for multiplication of two 2-bit unsigned values, but here wewill explore how to construct a modular device that can be used

4. [13 marksMore CPU functions Arithmetic multiplication is a common operation that a CPU may need to perform. In HW1 you already implemented a circuit for multiplication of two 2-bit unsigned values, but here we will explore how to construct a modular device that can be used multi- ply values with larger numbers of bits. Logisim provides a multiplier component in its arithmetic library in this exercise we will construct our own components to perform arithmetic multiplication between two unsigned integer inputs of varying bit widths. We will begin our construction with a 4 x1 unsigned multiplier, described as follows: 4-bit operand input: A = 3020100 l-bit operand input: B = bo 4-bit carry input: C = C3C2C1Co. 5-bit product output: P = P4P3P2P1Po - -B PE c: M4x1 a. [4 marks] The output P is produced by the function A x B + C, where X and + indicate unsigned arithmetic multiplication and addition. Using a 4-bit full adder, a 4-bit 2 x 1 multiplexer, and any other gate-level components or constant values necessary, design a digital circuit that produces the 5-bit output P as required. NOTE: in producing your design, we advise against creating a truth table (as it would have 512 rows!) Instead, try to reason through what a basic product would look like when multiplied by a single bit 0 or 1 value, and then incorporate the carry input. Include your circuit diagram in the space below, and briefly describe your work/justi- fication for your design. b. [3 marks] Long multiplication in binary operates in the same way as long decimal multiplication, by computing partial products and adding them with offsets. For example, for A = 2322010, and B = bibo, Ax B can be computed by hand as follows: 03 02 ai do bibo a3 Xbo 22 x bo aj x bo do X bo + 13 x bi 42 x bi 01 x bido bi - P5 P4 P3 P2 P1 Po For this question, please refer to the Logisim User's Guide, section "Subcircuits" - "Cre- ating circuits", and "Using subcircuits. In Logisim, choose "Project -> Add Circuit", and call the new circuit "M4xl". In the drawing area for your M4xl component, draw your ciruit solution for part 4a. In the left menu, right-click on the M4xl device and choose "Edit circuit appearance". Adjust the component's size and add text labels so that it looks reasonably similar to the diagram shown in the problem description. Ensure that your input and output ports each have the correct bit width. Next, following similar steps within the same project, create a new circuit called "M4x2" Using two "M4x1" components and nothing else except for input/output pins, and con- stant values and splitters (found in the Wiring folder), design a circuit which performs 4 x 2-bit multiplication. The circuit should include a 4-bit carry input, and a 6-bit product output. For testing your circuit, you may find it helpful to use "Probe" devices (found in the Wiring folder) set to "unsigned decimal. Attach probes to your input and output lines to verify that your circuit produces the correct outputs. Export your M4x2 subcircuit as a .png or .jpg file, and include this file here: c. [3 marks For this question, you will use the subcircuit for M4x2 produced in part 4b. Consider the process for performing long multiplication of two 4-bit values. Some of the partial products can be obtained by considering one of the 4-bit multiplicands as two separate 2-bit multiplicands, with the products offset by a particular amount. In the same Logisim project as before, create a new circuit called "M4x4". In the drawing area for the M4x4 circuit, use two "M4x2" components and nothing else except for input/output pins, and constant values and splitters to construct a circuit which performs 4 x 4-bit multiplication. The circuit should include a 4-bit carry input, and a 8-bit product output. Export your M4x4 circuit as a .png or .jpg file, and include this file here: d. [3 marks] Consider the process of performing long multiplication of a 8-bit value A = 27262504a3a2ajao with a 2-bit value B = bibo. If A can be expressed as a7060524 x 24 + A322d1do, and a carry input D = d7d6d5d4d3d2dido can be expressed in the same way, design a circuit M8x2" for 8 x 2-bit multiplication using two "M4x2 components and nothing else except for input/output pins, and constant values and splitters. The circuit should include a 8-bit carry input and a 10-bit product output. Export your M8x2 circuit as a .png or .jpg file, and include this file here: 4. [13 marksMore CPU functions Arithmetic multiplication is a common operation that a CPU may need to perform. In HW1 you already implemented a circuit for multiplication of two 2-bit unsigned values, but here we will explore how to construct a modular device that can be used multi- ply values with larger numbers of bits. Logisim provides a multiplier component in its arithmetic library in this exercise we will construct our own components to perform arithmetic multiplication between two unsigned integer inputs of varying bit widths. We will begin our construction with a 4 x1 unsigned multiplier, described as follows: 4-bit operand input: A = 3020100 l-bit operand input: B = bo 4-bit carry input: C = C3C2C1Co. 5-bit product output: P = P4P3P2P1Po - -B PE c: M4x1 a. [4 marks] The output P is produced by the function A x B + C, where X and + indicate unsigned arithmetic multiplication and addition. Using a 4-bit full adder, a 4-bit 2 x 1 multiplexer, and any other gate-level components or constant values necessary, design a digital circuit that produces the 5-bit output P as required. NOTE: in producing your design, we advise against creating a truth table (as it would have 512 rows!) Instead, try to reason through what a basic product would look like when multiplied by a single bit 0 or 1 value, and then incorporate the carry input. Include your circuit diagram in the space below, and briefly describe your work/justi- fication for your design. b. [3 marks] Long multiplication in binary operates in the same way as long decimal multiplication, by computing partial products and adding them with offsets. For example, for A = 2322010, and B = bibo, Ax B can be computed by hand as follows: 03 02 ai do bibo a3 Xbo 22 x bo aj x bo do X bo + 13 x bi 42 x bi 01 x bido bi - P5 P4 P3 P2 P1 Po For this question, please refer to the Logisim User's Guide, section "Subcircuits" - "Cre- ating circuits", and "Using subcircuits. In Logisim, choose "Project -> Add Circuit", and call the new circuit "M4xl". In the drawing area for your M4xl component, draw your ciruit solution for part 4a. In the left menu, right-click on the M4xl device and choose "Edit circuit appearance". Adjust the component's size and add text labels so that it looks reasonably similar to the diagram shown in the problem description. Ensure that your input and output ports each have the correct bit width. Next, following similar steps within the same project, create a new circuit called "M4x2" Using two "M4x1" components and nothing else except for input/output pins, and con- stant values and splitters (found in the Wiring folder), design a circuit which performs 4 x 2-bit multiplication. The circuit should include a 4-bit carry input, and a 6-bit product output. For testing your circuit, you may find it helpful to use "Probe" devices (found in the Wiring folder) set to "unsigned decimal. Attach probes to your input and output lines to verify that your circuit produces the correct outputs. Export your M4x2 subcircuit as a .png or .jpg file, and include this file here: c. [3 marks For this question, you will use the subcircuit for M4x2 produced in part 4b. Consider the process for performing long multiplication of two 4-bit values. Some of the partial products can be obtained by considering one of the 4-bit multiplicands as two separate 2-bit multiplicands, with the products offset by a particular amount. In the same Logisim project as before, create a new circuit called "M4x4". In the drawing area for the M4x4 circuit, use two "M4x2" components and nothing else except for input/output pins, and constant values and splitters to construct a circuit which performs 4 x 4-bit multiplication. The circuit should include a 4-bit carry input, and a 8-bit product output. Export your M4x4 circuit as a .png or .jpg file, and include this file here: d. [3 marks] Consider the process of performing long multiplication of a 8-bit value A = 27262504a3a2ajao with a 2-bit value B = bibo. If A can be expressed as a7060524 x 24 + A322d1do, and a carry input D = d7d6d5d4d3d2dido can be expressed in the same way, design a circuit M8x2" for 8 x 2-bit multiplication using two "M4x2 components and nothing else except for input/output pins, and constant values and splitters. The circuit should include a 8-bit carry input and a 10-bit product output. Export your M8x2 circuit as a .png or .jpg file, and include this file here

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!