提交 eac86a88 编写于 作者: L Lingrui98

tage-sc: add one cycle for update

上级 224815d7
......@@ -244,12 +244,12 @@ trait HasSC extends HasSCParameter { this: Tage =>
}
}
for (i <- 0 until SCNTables) {
scTables(i).io.update.mask := scUpdateMask(i)
scTables(i).io.update.tagePreds := scUpdateTagePreds
scTables(i).io.update.takens := scUpdateTakens
scTables(i).io.update.oldCtrs := VecInit(scUpdateOldCtrs.map(_(i)))
scTables(i).io.update.pc := u.ftqPC
scTables(i).io.update.hist := updateHist
scTables(i).io.update.mask := RegNext(scUpdateMask(i))
scTables(i).io.update.tagePreds := RegNext(scUpdateTagePreds)
scTables(i).io.update.takens := RegNext(scUpdateTakens)
scTables(i).io.update.oldCtrs := RegNext(VecInit(scUpdateOldCtrs.map(_(i))))
scTables(i).io.update.pc := RegNext(u.ftqPC)
scTables(i).io.update.hist := RegNext(updateHist)
}
}
}
\ No newline at end of file
......@@ -495,17 +495,17 @@ class Tage extends BaseTage {
for (i <- 0 until TageNTables) {
for (w <- 0 until TageBanks) {
tables(i).io.update.mask(w) := updateMask(i)(w)
tables(i).io.update.taken(w) := updateTaken(i)(w)
tables(i).io.update.alloc(w) := updateAlloc(i)(w)
tables(i).io.update.oldCtr(w) := updateOldCtr(i)(w)
tables(i).io.update.uMask(w) := updateUMask(i)(w)
tables(i).io.update.u(w) := updateU(i)(w)
tables(i).io.update.pc := packetAligned(u.ftqPC) + (w << instOffsetBits).U
tables(i).io.update.mask(w) := RegNext(updateMask(i)(w))
tables(i).io.update.taken(w) := RegNext(updateTaken(i)(w))
tables(i).io.update.alloc(w) := RegNext(updateAlloc(i)(w))
tables(i).io.update.oldCtr(w) := RegNext(updateOldCtr(i)(w))
tables(i).io.update.uMask(w) := RegNext(updateUMask(i)(w))
tables(i).io.update.u(w) := RegNext(updateU(i)(w))
tables(i).io.update.pc := RegNext(packetAligned(u.ftqPC) + (w << instOffsetBits).U)
}
// use fetch pc instead of instruction pc
tables(i).io.update.hist := updateHist
tables(i).io.update.hist := RegNext(updateHist)
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册