Transcript Beck
Pipeline Processor Design Project Jarred Beck Design Assumptions • Three bit opcode • • This is to be able to address all of the 8k memory directly. 213 = 8192 16 registers with some limitations • In certain formats, only the first 8 are able to reached • Two reserved registers for the lw and sw. Design Assumptions Cont. • • Pipeline Data Path Structure • Ease of testability. (theoretically) • Fast. Compiler responsibility’s • Hazard Prevention. • Lw and Sw data moving. • Jump return. Register List Register $zero $a0 $a1 $a2 $t0 $t1 $s0 $lr $sr $s0 $s1 $t2 $t3 $ra Register # 0 1 2 3 4 5 6 7 8 9 10 11 12 13 Description Holds constant zero value Holds an argument value Holds an argument value Holds an argument value Holds an argument value Holds a temporary value Holds a saved value Last value loaded from memory Last value stored into memory Holds a saved value Holds a saved value Holds a saved value Holds a saved value Holds the return Instruction Set Instruction Set Formats Inst. Type Arithmatic (A) Branch (Br) Jump (J) Memory (M) Format Opcode Result Reg. Argument 1 Argument 2 XXX XXXX XXXX XXX XX Opcode Compare Reg. 1 Compare Reg. 2 Direction Branch Offset XXX XXX XXX X XXXXXX Opcode Address XXX XXXXXXXXXXXXX Opcode Address XXX XXXXXXXXXXXXX ALU Op Instruction Set Cont. Opcode Instructions Arithmatic** Jump (J) Load Word (Lw) Store Word (Sw) Nop Hlt Beq Bneq ** has sub opcodes Instructions Add Sub And Or Beq Bneq j lw sw hlt nop Control Unit • 11 bits wide. • Controls include • Branch Flags • Jump Flag • Data Memory Read and Write Flags • Register Write Flag • Mux controls for Memory Input, Register Input, and Register Address Control Unit Cont. Control Bit Function 10 Jump Flag 9 BEQ Flag 8 Data Read 7 Data Write 6 Data Select Reg Write 5 Sel. 4 BNEQ Flag 3 Reg Write 2 PC Write Branch 1 Signal 0 LW Addr Sel Opcode Instructions Control Pattern Arithmatic** 00000001100 Jump (J) 10000000101 Load Word (Lw) 00100101100 Store Word (Sw) 00011000100 Nop 00000000100 Hlt 00000000000 Beq 01000000110 Bneq 00000010110 Datapath Simulation Results • Individual Components • • All Components passed tests Datapath and CPU • Datapath Passed tests • Control Unit Passed test • Memory passed • Top level CPU problems Moving Forward • • Debug Top level VHDL • Altera passes compilation • ModelSim gives error Synthesize corrected version into board Questions? The End