In this exercise you are to construct an ALU with the following specification: • The ALU takes 3 different 32-bit inputs: A, B, C; and has one 32-bit output: D. • The ALU supports 7 different operations: – A + B (addition) – A - B (subtraction) – MAX(A,B,C) – MIN(A,B,C) – A & B (bitwise AND) – B & C (bitwise AND) – (A + B) & C (addition followed by bitwise AND) To construct this ALU you will follow a modular design. Assume you have an unlimited number of the following gates and combinational circuits at your disposal, but no others: • 2-arity AND gate, • 2-arity OR gate, • NOT gate, • 2-way MUX, • bit-wise AND circuit: it takes two 32-bit inputs and has a 32-bit output which is the bit-wise AND of its inputs. • 32-bit ADDER: it takes two 32-bit inputs, a 1-bit control signal, and has a 32-bit output. If the control signal is 0, the circuit outs the sum of its inputs. If the control signal is 1, the circuit outputs the difference of its inputs. The inputs and outputs are assumed to be 32-bit two’s complement numbers. • COMAPRATOR: it takes two 32-bit inputs, a 1-bit control signal, and has a 32-bit output. If the control signal is 0, it outputs the minimum of its two inputs. If the control signal is 1, it outputs the maximum of its two inputs. The inputs and outputs are assumed to be 32-bit two’s complement numbers. (a) Give the specification of the ALU by determining the number of control signals and then: (?) present a table specifying the control signal values and the operation the ALU performs given those control signal values; (??) draw a schematic diagram for your ALU, including bit-widths and labels. (b) Using a modular design and the circuits available to you (those which were previously stated) draw a circuit which fulfills the specification of your ALU given in part (a). (Hint: you can have multiple input wires with the same label; you can have control signal “stubs”; see L7 ALU circuit)
In this exercise you are to construct an ALU with the following specification:
• The ALU takes 3 different 32-bit inputs: A, B, C; and has one 32-bit output: D.
• The ALU supports 7 different operations:
– A + B (addition)
– A - B (subtraction)
– MAX(A,B,C)
– MIN(A,B,C)
– A & B (bitwise AND)
– B & C (bitwise AND)
– (A + B) & C (addition followed by bitwise AND)
To construct this ALU you will follow a modular design. Assume you have an unlimited number of the following gates and combinational circuits at your disposal, but no others:
• 2-arity AND gate,
• 2-arity OR gate,
• NOT gate,
• 2-way MUX,
• bit-wise AND circuit: it takes two 32-bit inputs and has a 32-bit output which is the bit-wise AND of its inputs.
• 32-bit ADDER: it takes two 32-bit inputs, a 1-bit control signal, and has a 32-bit output. If the control signal is 0, the circuit outs the sum of its inputs. If the control signal is 1, the circuit outputs the difference of its inputs. The inputs and outputs are assumed to be 32-bit two’s complement numbers.
• COMAPRATOR: it takes two 32-bit inputs, a 1-bit control signal, and has a 32-bit output. If the control signal is 0, it outputs the minimum of its two inputs. If the control signal is 1, it outputs the maximum of its two inputs. The inputs and outputs are assumed to be 32-bit two’s complement numbers.
(a) Give the specification of the ALU by determining the number of control signals and then:
(?) present a table specifying the control signal values and the operation the ALU performs given those control signal values;
(??) draw a schematic diagram for your ALU, including bit-widths and labels.
(b) Using a modular design and the circuits available to you (those which were previously stated) draw a circuit which fulfills the specification of your ALU given in part (a). (Hint: you can have multiple input wires with the same label; you can have control signal “stubs”; see L7 ALU circuit)
Trending now
This is a popular solution!
Step by step
Solved in 2 steps with 2 images