From d782ff30e55e0bf288bc73f1e289b63edf5f095a Mon Sep 17 00:00:00 2001 From: qinjun-li Date: Fri, 22 Nov 2024 12:42:18 +0800 Subject: [PATCH] [rtl] fix change execute index. --- t1/src/mask/MaskUnit.scala | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/t1/src/mask/MaskUnit.scala b/t1/src/mask/MaskUnit.scala index 652b86e0b..e6ccb9925 100644 --- a/t1/src/mask/MaskUnit.scala +++ b/t1/src/mask/MaskUnit.scala @@ -714,6 +714,7 @@ class MaskUnit(parameter: T1Parameter) extends Module { val readIssueStageEnq: Bool = (allDataValid || slideAddressGen.indexDeq.valid) && (readTypeRequestDeq || !readIssueStageValid) && instVlValid && readType + val changeExecuteIndex: Bool = Mux(readType, readIssueStageEnq, otherTypeRequestDeq && executeReady) slideAddressGen.indexDeq.ready := readTypeRequestDeq || !readIssueStageValid when(anyReadFire) { readIssueStageState.groupReadState := readStateUpdate @@ -724,7 +725,7 @@ class MaskUnit(parameter: T1Parameter) extends Module { } val executeIndexGrowth: UInt = (1.U << dataSplitSew).asUInt - when(requestStageDeq && anyDataValid) { + when(changeExecuteIndex && anyDataValid) { executeIndex := executeIndex + executeIndexGrowth } when(readIssueStageEnq) {