未验证 提交 d2cf343d 编写于 作者: L ljw 提交者: GitHub

Merge pull request #139 from RISCVERS/fix-bpu-boringutils

brq: do not use anonymous signals in boringutils
......@@ -224,17 +224,28 @@ class Brq extends XSModule {
XSInfo(debug_roq_redirect, "roq redirect, flush brq\n")
XSInfo(debug_brq_redirect, p"brq redirect, target:${Hexadecimal(io.redirect.bits.target)}\n")
val mbpInstr = io.out.fire()
val mbpRight = io.out.fire() && !commitEntry.misPred
val mbpWrong = io.out.fire() && commitEntry.misPred
val mbpBRight = io.out.fire() && !commitEntry.misPred && commitEntry.exuOut.redirect._type===BTBtype.B
val mbpBWrong = io.out.fire() && commitEntry.misPred && commitEntry.exuOut.redirect._type===BTBtype.B
val mbpJRight = io.out.fire() && !commitEntry.misPred && commitEntry.exuOut.redirect._type===BTBtype.J
val mbpJWrong = io.out.fire() && commitEntry.misPred && commitEntry.exuOut.redirect._type===BTBtype.J
val mbpIRight = io.out.fire() && !commitEntry.misPred && commitEntry.exuOut.redirect._type===BTBtype.I
val mbpIWrong = io.out.fire() && commitEntry.misPred && commitEntry.exuOut.redirect._type===BTBtype.I
val mbpRRight = io.out.fire() && !commitEntry.misPred && commitEntry.exuOut.redirect._type===BTBtype.R
val mbpRWrong = io.out.fire() && commitEntry.misPred && commitEntry.exuOut.redirect._type===BTBtype.R
if(EnableBPU){
BoringUtils.addSource(io.out.fire(), "MbpInstr")
BoringUtils.addSource(io.out.fire() && !commitEntry.misPred, "MbpRight")
BoringUtils.addSource(io.out.fire() && commitEntry.misPred, "MbpWrong")
BoringUtils.addSource(io.out.fire() && !commitEntry.misPred && commitEntry.exuOut.redirect._type===BTBtype.B, "MbpBRight")
BoringUtils.addSource(io.out.fire() && commitEntry.misPred && commitEntry.exuOut.redirect._type===BTBtype.B, "MbpBWrong")
BoringUtils.addSource(io.out.fire() && !commitEntry.misPred && commitEntry.exuOut.redirect._type===BTBtype.J, "MbpJRight")
BoringUtils.addSource(io.out.fire() && commitEntry.misPred && commitEntry.exuOut.redirect._type===BTBtype.J, "MbpJWrong")
BoringUtils.addSource(io.out.fire() && !commitEntry.misPred && commitEntry.exuOut.redirect._type===BTBtype.I, "MbpIRight")
BoringUtils.addSource(io.out.fire() && commitEntry.misPred && commitEntry.exuOut.redirect._type===BTBtype.I, "MbpIWrong")
BoringUtils.addSource(io.out.fire() && !commitEntry.misPred && commitEntry.exuOut.redirect._type===BTBtype.R, "MbpRRight")
BoringUtils.addSource(io.out.fire() && commitEntry.misPred && commitEntry.exuOut.redirect._type===BTBtype.R, "MbpRWrong")
BoringUtils.addSource(mbpInstr, "MbpInstr")
BoringUtils.addSource(mbpRight, "MbpRight")
BoringUtils.addSource(mbpWrong, "MbpWrong")
BoringUtils.addSource(mbpBRight, "MbpBRight")
BoringUtils.addSource(mbpBWrong, "MbpBWrong")
BoringUtils.addSource(mbpJRight, "MbpJRight")
BoringUtils.addSource(mbpJWrong, "MbpJWrong")
BoringUtils.addSource(mbpIRight, "MbpIRight")
BoringUtils.addSource(mbpIWrong, "MbpIWrong")
BoringUtils.addSource(mbpRRight, "MbpRRight")
BoringUtils.addSource(mbpRWrong, "MbpRWrong")
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册