提交 af3a5dc0 编写于 作者: L Lingrui98

ubtb, ftb: add default value for pftAddr and oversize when not hit

上级 f899fbb8
......@@ -222,6 +222,7 @@ class FTB(implicit p: Parameters) extends BasePredictor with FTBParams with BPUU
}.otherwise {
io.out.resp.s2.ftb_entry.pftAddr := s2_pc(instOffsetBits + log2Ceil(PredictWidth), instOffsetBits) ^ (1 << log2Ceil(PredictWidth)).U
io.out.resp.s2.ftb_entry.carry := s2_pc(instOffsetBits + log2Ceil(PredictWidth)).asBool
io.out.resp.s2.ftb_entry.oversize := false.B
}
// io.out.resp.s3 := RegEnable(io.out.resp.s2, io.s2_fire)
......
......@@ -236,10 +236,16 @@ class MicroBTB(implicit p: Parameters) extends BasePredictor
io.out.resp.s1.ftb_entry.jmpTarget := read_resps.jmpTarget
io.out.resp.s1.ftb_entry.jmpValid := read_resps.jmpValid
io.out.resp.s1.ftb_entry.pftAddr := read_resps.pftAddr
io.out.resp.s1.ftb_entry.carry := read_resps.carry
when(read_resps.hit) {
io.out.resp.s1.ftb_entry.pftAddr := read_resps.pftAddr
io.out.resp.s1.ftb_entry.carry := read_resps.carry
io.out.resp.s1.ftb_entry.oversize := read_resps.oversize
}.otherwise {
io.out.resp.s1.ftb_entry.pftAddr := s1_pc(instOffsetBits + log2Ceil(PredictWidth), instOffsetBits) ^ (1 << log2Ceil(PredictWidth)).U
io.out.resp.s1.ftb_entry.carry := s1_pc(instOffsetBits + log2Ceil(PredictWidth)).asBool
io.out.resp.s1.ftb_entry.oversize := false.B
}
io.out.resp.s1.ftb_entry.oversize := read_resps.oversize
io.out.resp.s1.ftb_entry.last_is_rvc := read_resps.last_is_rvc
outMeta.hit := read_resps.hit
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册