From 7a2634ae6748789dbcfef2a26c32bacbcd4656c3 Mon Sep 17 00:00:00 2001 From: Martin Velay Date: Mon, 23 Dec 2024 08:37:05 +0000 Subject: [PATCH] [hmac,dv] Skip msg_length check when reset - when a reset a is happening, the HMAC DV env is not really robust. Some tasks are still ongoing and would require to be killed. A temporary fix has been proposed to skip the msg_length check when a Save and Restore task is ongoing when a reset is triggered. A better approach will be put in place later when a proper reset agent will be used. Signed-off-by: Martin Velay --- hw/ip/hmac/dv/env/seq_lib/hmac_base_vseq.sv | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/hw/ip/hmac/dv/env/seq_lib/hmac_base_vseq.sv b/hw/ip/hmac/dv/env/seq_lib/hmac_base_vseq.sv index 343e0914b180e..ea8a18810f286 100644 --- a/hw/ip/hmac/dv/env/seq_lib/hmac_base_vseq.sv +++ b/hw/ip/hmac/dv/env/seq_lib/hmac_base_vseq.sv @@ -714,7 +714,12 @@ task hmac_base_vseq::sar_different_context(); csr_spinwait(.ptr(ral.intr_state.hmac_done), .exp_data(1'b1)); // Check message length -> TODO (#23562) move to the SCB when removing sar_skip_ctxt csr_rd_msg_length(msg_length_rd); - `DV_CHECK_EQ(msg_length_rd, msg_length_rand+msg_b.size()*8) + // Check if reset hasn't been triggered before doing this check + if (cfg.under_reset) begin + return; + end else begin + `DV_CHECK_EQ(msg_length_rd, msg_length_rand+msg_b.size()*8) + end end endcase // Clear the interrupt.