提交 f70fe10f 编写于 作者: Y Yinan Xu 提交者: Lingrui98

ctrl: fix jalr target read address

上级 020ef3eb
......@@ -496,9 +496,9 @@ class CtrlBlockImp(outer: CtrlBlock)(implicit p: Parameters) extends LazyModuleI
val jumpPcRead1 = pcMem.io.rdata(1).getPc(RegNext(intDq.io.deqNext(2).cf.ftqOffset))
io.jumpPc := Mux(pingpong && (exuParameters.AluCnt > 2).B, jumpPcRead1, jumpPcRead0)
val jalrTargetReadPtr = Mux(pingpong && (exuParameters.AluCnt > 2).B,
intDq.io.deqNext(2).cf.ftqPtr,
intDq.io.deqNext(0).cf.ftqPtr)
pcMem.io.raddr(4) := (jalrTargetReadPtr+1.U).value
io.dispatch(2).bits.cf.ftqPtr,
io.dispatch(0).bits.cf.ftqPtr)
pcMem.io.raddr(4) := (jalrTargetReadPtr + 1.U).value
val jalrTargetRead = pcMem.io.rdata(4).startAddr
val read_from_newest_entry = RegNext(jalrTargetReadPtr) === RegNext(io.frontend.fromFtq.newest_entry_ptr)
io.jalr_target := Mux(read_from_newest_entry, RegNext(io.frontend.fromFtq.newest_entry_target), jalrTargetRead)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册