Skip to content

Commit

Permalink
[rtl] Records can be released early in vrf.
Browse files Browse the repository at this point in the history
  • Loading branch information
qinjun-li committed Jan 5, 2024
1 parent d7a2d0a commit bb14f84
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions t1/src/vrf/VRF.scala
Original file line number Diff line number Diff line change
Expand Up @@ -250,7 +250,7 @@ class VRF(val parameter: VRFParam) extends Module with SerializableModule[VRFPar
val initRecord: ValidIO[VRFWriteReport] = WireDefault(0.U.asTypeOf(Valid(new VRFWriteReport(parameter))))
initRecord.valid := true.B
initRecord.bits := instructionWriteReport.bits
val freeRecord: UInt = VecInit(chainingRecord.map(!_.valid)).asUInt
val freeRecord: UInt = VecInit(recordValidVec.map(!_)).asUInt
val recordFFO: UInt = ffo(freeRecord)
val recordEnq: UInt = Wire(UInt((parameter.chainingSize + 1).W))
recordEnq := Mux(
Expand Down Expand Up @@ -380,5 +380,5 @@ class VRF(val parameter: VRFParam) extends Module with SerializableModule[VRFPar
(crossWriteOH & record.bits.elementMask) === 0.U
!((!older && waw) && !sameInst && record.valid)
}.reduce(_ && _) || !crossReadNeedCheck
recordFree := !chainingRecord.map(_.valid).reduce(_ && _)
recordFree := !recordValidVec.reduce(_ && _)
}

0 comments on commit bb14f84

Please sign in to comment.