CPE 315
Summer 2006
Lab #4 FAQ
- How do I see inside the register file?
The SIM register file supports > 2 read ports.
Add a 3rd read port with switches to drive Read register 3 and
probes to view Read data 3. Then you can display any register
at any time.
Note: this technique is required.
- How do I see inside RAM?
You can use the same technique as for the register file but
it's not necessary.
The test program will load all results from memory to a register;
you can verify results in the register file.
- Which instructions does the control unit on in Appendix C support?
This control unit is only partially complete. Its purpose is to show
you how to build a control unit from PLAs.
- Do we have to support negative offsets in the LW/SW?
Yes.
- How big should Data memory be?
Big enough to run the test program and no bigger.
Note that the Ram address bus must be exactly == log 2 Ram size
- How about some hints on designing the instructions that don't work?
- ADDI
Control decodes the ADDI instruction and sets the control bits
appropriately.
Be sure to choose a clever ALUOp value.
- LUI
Control decodes the LUI instruction and sets the control bits
appropriately.
If you use the ALU (a design choice), choose a clever ALUOp value.
But you don't have to use the ALU for the LUI instruction.
- What is the geometry of the Control ROM?
Input: 6 bits (less if you minimize). Do not send additional
signals to Control!
Output: 16 bits, some unused
Size: 64 words (less if you minimize).
- What is the geometry of the ALU Control Rom?
Input: 8 bits or less (you should minimize). Do not send
additional signals to ALU Control! (such as Op Code)
Output: 5 bits, including SLTU (declare an 8 bit bus and leave 3 unused)
Size: 256 words if you're crazy enough not to minimize
- What's the difference between ADD and ADDU?
For this lab, there is no difference.
In a MIPS cpu, an overflow during an ADD will generate an exception.
- Can we use the unused code in ALUOp (11)?
No. It complicates the design, isn't necessary and is explicitly disallowed.
Last updated on 7/17/06