Lab_Two_08_09 - ECE 475 Lab Two MIPS R3000 Pipelined...

Info iconThis preview shows pages 1–2. Sign up to view the full content.

View Full Document Right Arrow Icon
ECE 475 – Lab Two MIPS R3000 Pipelined Processor Objective You should convert your multi-cycle MIPS Verilog model from the previous lab into a pipelined MIPS model with full bypassing and a single branch delay slot. We expect this lab to be more challenging than the previous labs, so please start early. Remember to submit your lab electronically once you are finished. We highly recommend you draw a “paper and pencil” block diagram showing the datapath of your pipelined processor (including the bypasses and the branch delay slot). The block diagram should include all pipeline registers, multiplexers, and major datapath elements, and should be labeled with the signal names from your Verilog model. Use vertical lines to divide the five pipeline stages and dashed vertical lines to show phases (half stages) where necessary. This lab is not split into multiple parts; the entire lab will be graded out of 100 points. Lab Setup Delete all large files from the previous lab that you do not absolutely need anymore. Then you have two options: a) Use your Lab One submission as the starting point. Copy your lab1 folder into lab2 , then unzip Lab Two’s test folder cd ~ ; mkdir ece475/lab2 cp ece475/lab1/* ece475/lab2/ unzip /classes/ece475/labs/lab2test.zip Beware that any bugs you haven’t caught in lab1 will continue to cause you trouble if you choose this route. On- ly if you are absolutely sure your processor works 100% should you use it. For that reason, we recommend the next option. b) Start from a working non-pipelined R3000 that we provide ( highly recommended , for your and our conveni- ence). To do so, from your home folder, unzip /classes/ece475/labs/lab2.zip as you did in earlier labs. The test folder is included. First Steps Now you are ready to begin pipelining your processor. We have broken down the Verilog changes into two parts. The parts described below should all be done before you begin to add the bypassing logic. The following change in rf.v need only be made if you want to run sample before you add bypassing: // Special handling for syscall instructions: initial begin // Initializes register r0 with zeros RAM[0] = 32’b0; RAM[1] = 32’b0; // new code RAM[28] = 32’b0; // new code RAM[29] = 32’b0; // new code end After you implement bypassing, you should remove the new code, as it will no longer be needed. Eliminating the State Register
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 2
This is the end of the preview. Sign up to access the rest of the document.

Page1 / 3

Lab_Two_08_09 - ECE 475 Lab Two MIPS R3000 Pipelined...

This preview shows document pages 1 - 2. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online