2
Design and FPGA implementation of a fivestage MIPS pipelined processor Presentation deadline: May 8, 2015 You should design and implement a pipelined MIPS processor in Verilog HDL. The processor should contain the hazard avoidance unit (HAU) to solve data hazards by data forwarding and stalling the pipeline if necessary. Demonstrate the operation of your processor using the following three MIPS programs. 1. The following figure shows the block diagram of a filter implementing y[n]=h 0 x[n]+h 1 x[n1]+h 2 x[n2] equation. Write a MIPS program for the operation of this filter. You can use the following values in your testbench: x={1,2,3,4,5,1,0,3,4,1,2,3,4,2,1,3,2,6,1,1,7}; h 0 =3, h 1 =3, h 2 =5; Load the program and data into the instruction and data memory, respectively, at initialization. 2. The following figure shows the block diagram of a secondorder section (SOS) implementing y[n]= b 0 x[n]+ b 1 x[n1] + b 2 x[n2] a 1 y[n1] a 2 y[n2] equation. Write a MIPS procedure for the operation of this SOS. x + x + x x + x + b0 b1 b2 -a1 -a2 D x[n] y[n] D D D You can use the following values in your testbench: x={1,2,3,4,5,1,0,3,4,1,2,3,4,2,1,3,2,6,1,1,7}; a 1 =3, a 2 =3, b 0 =5; b 1 =3; b 2 =7; 3. Write a MIPS program for the operation of the following filter. You can use the following values in your testbench:

Fp Project 2015

Embed Size (px)

DESCRIPTION

Fp Project 2015

Citation preview

Page 1: Fp Project 2015

       

Design and FPGA implementation of a five‐stage MIPS  pipelined processor  Presentation deadline: May 8, 2015 

 

You should design and  implement a pipelined MIPS processor  in Verilog HDL. The processor should contain 

the  hazard  avoidance  unit  (HAU)  to  solve  data  hazards  by  data  forwarding  and  stalling  the  pipeline  if 

necessary. Demonstrate the operation of your processor using the following three MIPS programs. 

1. The following figure shows the block diagram of a filter  implementing y[n]=h0x[n]+h1x[n‐1]+h2x[n‐2] 

equation. Write a MIPS program for the operation of this filter.  

 

You can use the following values in your testbench: 

x={‐1,‐2,3,4,‐5,1,0,3,4,1,2,3,4,2,‐1,3,2,6,1,‐1,7}; 

h0=‐3, h1=3, h2=5; 

Load the program and data into the instruction and data memory, respectively, at initialization. 

2. The  following  figure shows  the block diagram of a second‐order section  (SOS)  implementing y[n] = 

b0x[n] + b1x[n‐1] + b2x[n‐2] ‐ a1y[n‐1] ‐ a2y[n‐2] equation. Write a MIPS procedure for the operation of 

this SOS. 

x +

x +

x

x+

x

+

b0

b1

b2

-a1

-a2

D

x[n] y[n]

D

D

D

You can use the following values in your testbench: 

x={‐1,‐2,3,4,‐5,1,0,3,4,1,2,3,4,2,‐1,3,2,6,1,‐1,7}; 

a1=‐3, a2=3, b0=5; b1=3; b2=7; 

3. Write a MIPS program for the operation of the following filter. 

 

You can use the following values in your testbench: 

Page 2: Fp Project 2015

       

x={‐1,‐2,3,4,‐5,1,0,3,4,1,2,3,4,2,‐1,3,2,6,1,‐1,7}; 

s0=‐3, s1=3; 

SOS0: a1=‐3, a2=3, b0=5; b1=3; b2=7; 

SOS1: a1=3, a2=‐5, b0=3; b1=5; b2=‐7;  

Important points: 

(a) Late presentations will receive a grade of zero. No exceptions. 

(b) Your Verilog description of the processor should be well commented. 

(c)  You  should  present  your work  individually  on  Friday May  8  in  the VLSI Design  and  Test  laboratory. 

Please make an appointment in advance.  

(d) If you are ready to present your project earlier, you can send me an email to make an appointment.  

(e) After you present your project, no additional  time will be given  to  re‐present your project. So  if you 

decide to present your project early, make sure that you are ready. 

(f) During presentation, I may use different values for the variables to test your design.