Skip to content

Commit

Permalink
VSUopQueue: pass segment and field info to VSFlowQueue
Browse files Browse the repository at this point in the history
  • Loading branch information
linjuanZ authored and huxuan0307 committed Nov 20, 2023
1 parent 43bc933 commit 492aae8
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 0 deletions.
4 changes: 4 additions & 0 deletions src/main/scala/xiangshan/mem/vector/VSFlowQueue.scala
Original file line number Diff line number Diff line change
Expand Up @@ -166,6 +166,10 @@ class VsFlowBundle(implicit p: Parameters) extends VecFlowBundle {
val data = UInt(VLEN.W)
val uopQueuePtr = new VsUopPtr
val isLastElem = Bool()
val nfields = UInt(fieldBits.W)
val nSegments = UInt(elemIdxBits.W)
val fieldIdx = UInt(fieldBits.W)
val segmentIdx = UInt(elemIdxBits.W)
}

class VecStoreFlowEntry (implicit p: Parameters) extends VecFlowBundle {
Expand Down
4 changes: 4 additions & 0 deletions src/main/scala/xiangshan/mem/vector/VSUopQueue.scala
Original file line number Diff line number Diff line change
Expand Up @@ -326,6 +326,10 @@ class VsUopQueue(implicit p: Parameters) extends VLSUModule {
(elemIdx +& 1.U) === (issueNFIELDS << log2Up(VLENB)),
issueUop.lastUop && (flowIdx +& 1.U) === issueFlowNum // the last element in the last uop
)
x.nfields := issueNFIELDS
x.nSegments := issueEntry.vlmax
x.fieldIdx := nfIdx
x.segmentIdx := elemIdxInsideField
}
}

Expand Down

0 comments on commit 492aae8

Please sign in to comment.