From 9a2392f49d2f64dd3bc16ce1625fc33b0b9b1e70 Mon Sep 17 00:00:00 2001 From: Emilien Garnier Date: Wed, 22 Jul 2026 09:41:13 +0200 Subject: [PATCH] [hw] Do not track vl=0 vector instructions in running_insn --- hw/ip/spatz/src/spatz_controller.sv | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/hw/ip/spatz/src/spatz_controller.sv b/hw/ip/spatz/src/spatz_controller.sv index ac5795f7..755d5fcc 100644 --- a/hw/ip/spatz/src/spatz_controller.sv +++ b/hw/ip/spatz/src/spatz_controller.sv @@ -820,7 +820,9 @@ module spatz_controller running_insn_d = running_insn_q; // New instruction! - if (spatz_req_valid && spatz_req.ex_unit != CON) + // A vl=0 op retires with no response, so tracking it would never clear + if (spatz_req_valid && spatz_req.ex_unit != CON && + (spatz_req.vl != '0 || spatz_req.op_arith.is_reduction)) running_insn_d[next_insn_id] = 1'b1; // Finished a instruction