fix(VSegmentUnit): fof instruction writeback origin vl (#4956)

This PR fix the mismatch of reference and dut when execute segment fault
only first instruction.

#4820 fix no-segment instruction.
This commit is contained in:
lwd 2025-08-18 18:25:04 +08:00 committed by GitHub
parent 39824ca683
commit 835923c23f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 1 additions and 1 deletions

View File

@ -916,7 +916,7 @@ class VSegmentUnit (implicit p: Parameters) extends VLSUModule
writebackOut.mask.get := instMicroOp.mask writebackOut.mask.get := instMicroOp.mask
writebackOut.data := data(deqPtr.value) writebackOut.data := data(deqPtr.value)
writebackOut.vdIdx.get := vdIdxInField writebackOut.vdIdx.get := vdIdxInField
writebackOut.uop.vpu.vl := Mux(instMicroOp.exceptionVl.valid, instMicroOp.exceptionVl.bits, instMicroOp.vl) writebackOut.uop.vpu.vl := instMicroOp.vl
writebackOut.uop.vpu.vstart := Mux(instMicroOp.uop.exceptionVec.asUInt.orR || TriggerAction.isDmode(instMicroOp.uop.trigger), instMicroOp.exceptionVstart, instMicroOp.vstart) writebackOut.uop.vpu.vstart := Mux(instMicroOp.uop.exceptionVec.asUInt.orR || TriggerAction.isDmode(instMicroOp.uop.trigger), instMicroOp.exceptionVstart, instMicroOp.vstart)
writebackOut.uop.vpu.vmask := maskUsed writebackOut.uop.vpu.vmask := maskUsed
writebackOut.uop.vpu.vuopIdx := uopq(deqPtr.value).uop.vpu.vuopIdx writebackOut.uop.vpu.vuopIdx := uopq(deqPtr.value).uop.vpu.vuopIdx