From 99184aa975f1196f85650734d82720ab0f2c9580 Mon Sep 17 00:00:00 2001 From: qinjun-li Date: Wed, 20 Nov 2024 15:33:44 +0800 Subject: [PATCH] [rtl] fix old check in vrf. --- t1/src/vrf/VRF.scala | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/t1/src/vrf/VRF.scala b/t1/src/vrf/VRF.scala index a91055507..e193ccbcd 100644 --- a/t1/src/vrf/VRF.scala +++ b/t1/src/vrf/VRF.scala @@ -505,7 +505,11 @@ class VRF(val parameter: VRFParam) extends Module with SerializableModule[VRFPar val recordFFO: UInt = ffo(freeRecord) val recordEnq: UInt = Wire(UInt((parameter.chainingSize + 1).W)) val olderCheck = chainingRecord - .map(re => !re.valid || instIndexL(re.bits.instIndex, instructionWriteReport.bits.instIndex)) + .map(re => + !re.valid || + (instIndexL(re.bits.instIndex, instructionWriteReport.bits.instIndex) && + ((re.bits.instIndex >> 1).asUInt =/= (instructionWriteReport.bits.instIndex >> 1).asUInt)) + ) .reduce(_ && _) // handle VRF hazard // @todo @Clo91eaf VRF ready signal for performance.