Skip to content

Commit

Permalink
IssueQueue: change othersTransPolicy when allComp or allSimp for fix …
Browse files Browse the repository at this point in the history
…timing (OpenXiangShan#3120)
  • Loading branch information
xiaofeibao-xjtu authored Jul 2, 2024
1 parent d4119b5 commit b9631a8
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions src/main/scala/xiangshan/backend/issue/Entries.scala
Original file line number Diff line number Diff line change
Expand Up @@ -172,10 +172,10 @@ class Entries(implicit p: Parameters, params: IssueBlockParams) extends XSModule

if (params.isAllComp || params.isAllSimp) {
//transPolicy
othersTransPolicy.get.io.canEnq := othersEntryEnqReadyVec.asUInt
othersTransPolicy.get.io.canEnq := VecInit(validVec.takeRight(OthersEntryNum).map(!_)).asUInt

// we only allow all or none of the enq entries transfering to others entries.
enqCanTrans2Others.get := PopCount(validVec.take(EnqEntryNum)) <= PopCount(othersEntryEnqReadyVec)
enqCanTrans2Others.get := PopCount(validVec.take(EnqEntryNum)) <= PopCount(validVec.takeRight(OthersEntryNum).map(!_))
// othersTransSelVec(i) is the target others entry for enq entry [i].
// note that dispatch does not guarantee the validity of enq entries with low index.
// that means in some cases enq entry [0] is invalid while enq entry [1] is valid.
Expand Down

0 comments on commit b9631a8

Please sign in to comment.