未验证 提交 4f83157c 编写于 作者: W William Wang 提交者: GitHub

sq: check addrValid in vpmaskNotEqual to avoid X (#1258)

上级 980c1bc3
......@@ -347,7 +347,11 @@ class StoreQueue(implicit p: Parameters) extends XSModule with HasDCacheParamete
// replay needed
// val vpmaskNotEqual = ((paddrModule.io.forwardMmask(i).asUInt ^ vaddrModule.io.forwardMmask(i).asUInt) & needForward) =/= 0.U
// val vaddrMatchFailed = vpmaskNotEqual && io.forward(i).valid
val vpmaskNotEqual = ((RegNext(paddrModule.io.forwardMmask(i).asUInt) ^ RegNext(vaddrModule.io.forwardMmask(i).asUInt)) & RegNext(needForward)) =/= 0.U
val vpmaskNotEqual = (
(RegNext(paddrModule.io.forwardMmask(i).asUInt) ^ RegNext(vaddrModule.io.forwardMmask(i).asUInt)) &
RegNext(needForward) &
RegNext(addrValidVec.asUInt)
) =/= 0.U
val vaddrMatchFailed = vpmaskNotEqual && RegNext(io.forward(i).valid)
when (vaddrMatchFailed) {
XSInfo("vaddrMatchFailed: pc %x pmask %x vmask %x\n",
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册