Lab 11
CprE 305
In this lab, we will design a control unit for a processor with a multi-cycle datapath. The instructions supported by this processor are listed in the table below.
R-format |
add, sub, and, or, slt |
I-format |
addi, andi, ori |
Memory |
lw, sw |
Branch |
beq, bne |
Jump |
j, jal, jr |
For more information about the instructions in the table, refer to appendix A (p. A-53).
The control unit will be implemented via a finite state machine, similar to the one in section 5.4.
First you need to determine if
the datapath shown on page 383 supports all the
required instructions. If not, you need to modify it and add the necessary
control signals. (Use the same control
signals as those in the diagram on page 383)
Draw a state diagram of the state machine and show it to your TA.
Then implement the state machine in Verilog, test at least one instruction from every group and show the resulting waveform to your TA.