Reading and Tools
- Patterson & Hennessy, B.5
In this assignment, you begin constructing the major components of a simulation of the 32-bit MIPS processor. We will carry out this project over the next several assignments, and each one will build on the previous work. Don't fall behind!
Implement in Logisim a 32-bit ALU, supporting the MIPS operations and, or, add, sub, slt and nor. Note: The hardest part of this is the complexity of laying out so many components, especially the wires and splitters. You'll have a much easier time if you complete this work by implementing a number of sub-components first:
Your ALU circuit (including all subcomponents) should be in a file named ALU_32.circ.
- A 32-bit addition circuit, which takes two 32-bit inputs and outputs a 32-bit result, the least significant bit of the result (as a separate value), and a 1-bit overflow signal. Since overflow can be determined as the XOR of the carry-in and carry-out values on the high-order input bits, you can build this circuit with a 31-bit adder and a 1-bit adder
- A "less than" circuit, which takes two single-bit inputs (the MSB of the subtraction result and the overflow signal) and outputs a 32-bit value
- An "is zero" circuit, which takes one 32-bit input and outputs a one-bit value, signaling whether the input represents 0.
To hand in your files:
Copy your entire hw6 directory into your handin directory. Be sure to copy the directory and its files, not just the files.