Move address calculation to ID.
This commit is contained in:
parent
e0b6634a93
commit
3216c89dae
7 changed files with 52 additions and 6 deletions
|
|
@ -20,9 +20,11 @@ class EXBarrier extends MultiIOModule {
|
|||
val in = Input(new EXBarrierIO)
|
||||
val out = Output(new EXBarrierIO)
|
||||
val flush = Output(Bool())
|
||||
val branchAddr = Output(UInt(32.W))
|
||||
val branchIn = Input(Bool())
|
||||
val branchOut = Output(Bool())
|
||||
val branchAddrIn = Input(UInt(32.W))
|
||||
val branchAddrOut = Output(UInt(32.W))
|
||||
val forwardEx = Output(new Forwarding)
|
||||
})
|
||||
|
||||
val delay = Reg(new EXBarrierIO)
|
||||
|
|
@ -31,5 +33,9 @@ class EXBarrier extends MultiIOModule {
|
|||
|
||||
io.flush := io.branchIn
|
||||
io.branchOut := io.branchIn
|
||||
io.branchAddr := io.in.ALUResult
|
||||
io.branchAddrOut := io.branchAddrIn
|
||||
|
||||
io.forwardEx.write := io.in.writeEnable
|
||||
io.forwardEx.writeAddr := io.in.writeAddr
|
||||
io.forwardEx.writeData := Mux(io.in.jump, io.in.returnAddr, io.in.ALUResult)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue