fix(resolve): enqueue branch slot index

This commit is contained in:
Muzi 2025-10-02 09:10:06 +08:00
parent 6b4ab11c1e
commit d435f66e5b
1 changed files with 2 additions and 2 deletions

View File

@ -70,8 +70,8 @@ class ResolveQueue(implicit p: Parameters) extends FtqModule with HalfAlignHelpe
mem(enqIndex(i)).bits.ftqIdx := branch.bits.ftqIdx
mem(enqIndex(i)).bits.startVAddr := branch.bits.pc
val lastValid = mem(enqIndex(i)).bits.branches.lastIndexWhere(_.valid)
val branchSlot = mem(enqIndex(i)).bits.branches(lastValid + PopCount(hitPrevious(i)) + 1.U)
val firstEmpty = mem(enqIndex(i)).bits.branches.indexWhere(!_.valid)
val branchSlot = mem(enqIndex(i)).bits.branches(firstEmpty + PopCount(hitPrevious(i)))
branchSlot.valid := true.B
branchSlot.bits.target := branch.bits.target
branchSlot.bits.taken := branch.bits.taken