From 38ade6c0c46f1f299e34ad1af563b31c8f260fb1 Mon Sep 17 00:00:00 2001 From: Emilien Garnier Date: Tue, 21 Jul 2026 06:47:55 +0200 Subject: [PATCH] [hardware] :bug: Bar mask-op acceptance while vrgather/vcompress owns MaskB --- CHANGELOG.md | 1 + hardware/src/lane/lane_sequencer.sv | 2 ++ 2 files changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 542eb153d..fe2e4bcc0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -54,6 +54,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Force cheshire's sim scripts re-generation - Fix u-boot to support RVV-linux - Fixed src emul check for vector integer extension operation + - Fix deadlock when a mask op (vmslt/vmsleu) is issued while vrgather/vcompress owns MaskB ### Added diff --git a/hardware/src/lane/lane_sequencer.sv b/hardware/src/lane/lane_sequencer.sv index a9fa44e32..1f5326736 100644 --- a/hardware/src/lane/lane_sequencer.sv +++ b/hardware/src/lane/lane_sequencer.sv @@ -312,6 +312,8 @@ module lane_sequencer import ara_pkg::*; import rvv_pkg::*; import cf_math_pkg:: operand_request_valid_o [MulFPUB] || operand_request_valid_o[MaskB] || operand_request_valid_o[MaskM]); + if (pe_req.use_vd_op) + pe_req_ready &= (vrgat_state_q == IDLE); end VFU_None : begin // VRGATHER/VCOMPRESS use the MaskB opqueue with non-traditional request scheme