Working branching.

This commit is contained in:
Sebastian Bugge 2024-10-04 02:16:17 +02:00
parent 934593fb6f
commit 92d0dfd9eb
Signed by: kaholaz
GPG key ID: 2EFFEDEE03519691
9 changed files with 102 additions and 32 deletions

View file

@ -63,8 +63,10 @@ class CPU extends MultiIOModule {
IDBarrier.op1in := ID.io.op1
IDBarrier.op2in := ID.io.op2
IDBarrier.r1ValueIn := ID.io.r1Value
IDBarrier.r2ValueIn := ID.io.r2Value
IDBarrier.ALUopIn := ID.io.ALUOp
IDBarrier.branchTypeIn := ID.io.branchType
IDBarrier.writeEnableIn := ID.io.writeEnableOut
IDBarrier.writeAddrIn := ID.io.writeAddrOut
IDBarrier.memWriteIn := ID.io.memWrite
@ -73,13 +75,17 @@ class CPU extends MultiIOModule {
EX.io.op1 := IDBarrier.op1out
EX.io.op2 := IDBarrier.op2out
EX.io.ALUOp := IDBarrier.ALUopOut
EX.io.branchType := IDBarrier.branchTypeOut
EX.io.rs1ValueIn := IDBarrier.r1ValueOut.asSInt()
EX.io.rs2ValueIn := IDBarrier.r2ValueOut.asSInt()
EXBarrier.r2ValueIn := EX.io.rs2ValueOut.asUInt()
EXBarrier.ALUResultIn := EX.io.ALUResult.asUInt()
EXBarrier.branchIn := EX.io.branch
EXBarrier.writeEnableIn := IDBarrier.writeEnableOut
EXBarrier.writeAddrIn := IDBarrier.writeAddrOut
EXBarrier.memWriteIn := IDBarrier.memWriteOut
EXBarrier.memReadIn := IDBarrier.memReadOut
EXBarrier.r2ValueIn := IDBarrier.r2ValueOut
EXBarrier.ALUResultIn := EX.io.ALUResult.asUInt()
MEM.io.ALUResult := EXBarrier.ALUResultOut
MEM.io.writeMem := EXBarrier.memWriteOut
@ -90,4 +96,8 @@ class CPU extends MultiIOModule {
ID.io.writeData := MEM.io.dataOut
ID.io.writeEnableIn := EXBarrier.writeEnableOut
ID.io.writeAddrIn := EXBarrier.writeAddrOut
// Branching
IF.io.branch := EXBarrier.branchOut
IF.io.branchAddress := EXBarrier.branchAddress
}