Presentation is loading. Please wait.

Presentation is loading. Please wait.

Design and Implementation of 16 bit multi-cycle Micro-processor using RISC Architecture Abdullah Al Owahid Grad. Student ECE, Auburn University.

Similar presentations


Presentation on theme: "Design and Implementation of 16 bit multi-cycle Micro-processor using RISC Architecture Abdullah Al Owahid Grad. Student ECE, Auburn University."— Presentation transcript:

1 Design and Implementation of 16 bit multi-cycle Micro-processor using RISC Architecture Abdullah Al Owahid Grad. Student ECE, Auburn University

2 ISA R-type I-type J-type OpcodeRdRsRt OpcodeRdRsImm. Opnd. JLabel, N=12, JNZ/JZRdLabel, N=8, La JalLabel, N=12, Jrxxxx

3 ISA (contd..) R-type Add/Sub/ And/Xor RdRsRt* 0000 SltRdRsRtRd=1,if Rs

4 ISA (contd..) I-type LwRd[Rs]NRd=[Rs+N] SwRd[Rs]N[Rs+N]=Rd AddiRdRsNRd=Rs+N MoviRdN, Rd=N

5 Register File NameNumberUse $zero0Hardwired zero $at1Temp. reg for swap $v0-$v12-3Return value register $a0-$a14-5Argument register $t0-$t46-10Temporary register $s0-$s211-13Saved register $sp14Stack pointer register $ra15Return address

6 PC MEMMEM IRIR IRIR REG FILE ALUALU ALUALU ALU_OUT REG sign M1 1 M3 0 1 M3 0 1 M M M M4 M M M M ra 11-8 sign8 sign12 M M M8 1 0 M rr1 rr2 inr rr3 wrreg wrdata rd1 rd2 0 1 unsigned16 msb 1 unsigned16 z 1 into_pc from_pc alu_addr OR pc_wr CONTROL UNIT IorD mem_en rd_wr fetch rd_ra_rs_sel rd_ra_sel reg_src reg_wr A_sel B_sel func Alu_reg_en pc_sel jnz jz data_to_mem pc_updatel Data Path

7 Inst. Fetch & Decode 13 inst. R,B,I,J type ALU op, reg rd/wr pc+1 13 inst. R,B,I,J type ALU op, reg rd/wr pc+1 lw, sw ALU op, addr. calculatio n lw mem® wr. or sw mem wr. 3 pc+1 lw mem® wr. or sw mem wr. 3 pc FSM Control

8 FSM-Output

9 FSM-Output (contd..)

10 Simulated Data 0: data_fr_mem = 16'b ;//seq $4,$2,$3//$4 should be 1 1: data_fr_mem = 16'b ;//slt $5,$2,$4//$5 should be 1 2: data_fr_mem = 16'b ; //addi $6,-108//$6 should be : data_fr_mem = 16'b ;//add $8,$5,$6//$8 should be -127

11 Simulated Data (contd..) 4: data_fr_mem = 16'b ;//sub $9,$5,$6//$9 should be 129 5: data_fr_mem = 16'b ; //addi $10,$9,#5 //$10 should be 134 6: data_fr_mem = 16'b ;//J Label,Label=15,pc will changed to 15 15: data_fr_mem = 16'b ;//JZ $8 Label=7//$8 is not 0,so pc will be 16

12 Simulated Data (contd..) 16: data_fr_mem = 16'b ;//JNZ $8 Label=7 this time jump will occur 7: data_fr_mem = 16'b ;//JAL Label = 17,save ra=pc+1 17: data_fr_mem = 16'b1110xxxxxxxxxxxx;//JR return to address 7+1 8: data_fr_mem = 16'b ;// NOP

13 Advantage -- Utilizes double edge trigger instruction out of 15 completes in 2 clock cycle Disadvantage --Positive edge required at the beginning

14 Question & Answer Thank You


Download ppt "Design and Implementation of 16 bit multi-cycle Micro-processor using RISC Architecture Abdullah Al Owahid Grad. Student ECE, Auburn University."

Similar presentations


Ads by Google