From d59a9cd1c7aecc10d96bf19ddf869086f13e0512 Mon Sep 17 00:00:00 2001 From: Akash Levy Date: Mon, 21 Jul 2025 16:27:22 -0700 Subject: [PATCH] Fixes to testbench environment to support elaboration with Verific + INVIO --- .../core_ibex/common/ibex_cosim_agent/ibex_cosim_agent_pkg.sv | 1 + .../common/ibex_mem_intf_agent/ibex_mem_intf_agent_pkg.sv | 1 + .../core_ibex/common/ibex_mem_intf_agent/ibex_mem_intf_pkg.sv | 1 + dv/uvm/core_ibex/common/irq_agent/irq_agent_pkg.sv | 1 + dv/uvm/core_ibex/env/core_ibex_dut_probe_if.sv | 3 +++ dv/uvm/core_ibex/env/core_ibex_env_pkg.sv | 3 +++ dv/uvm/core_ibex/tb/core_ibex_tb_top.sv | 4 ++++ dv/uvm/core_ibex/tests/core_ibex_seq_lib.sv | 3 +++ 8 files changed, 17 insertions(+) diff --git a/dv/uvm/core_ibex/common/ibex_cosim_agent/ibex_cosim_agent_pkg.sv b/dv/uvm/core_ibex/common/ibex_cosim_agent/ibex_cosim_agent_pkg.sv index 12efaa6d91..554dc37c26 100644 --- a/dv/uvm/core_ibex/common/ibex_cosim_agent/ibex_cosim_agent_pkg.sv +++ b/dv/uvm/core_ibex/common/ibex_cosim_agent/ibex_cosim_agent_pkg.sv @@ -7,6 +7,7 @@ package ibex_cosim_agent_pkg; import ibex_mem_intf_pkg::*; `include "uvm_macros.svh" + `include "dv_macros.svh" `include "ibex_cosim_cfg.sv" `include "ibex_rvfi_seq_item.sv" diff --git a/dv/uvm/core_ibex/common/ibex_mem_intf_agent/ibex_mem_intf_agent_pkg.sv b/dv/uvm/core_ibex/common/ibex_mem_intf_agent/ibex_mem_intf_agent_pkg.sv index cde11e1ab3..01b42598fb 100644 --- a/dv/uvm/core_ibex/common/ibex_mem_intf_agent/ibex_mem_intf_agent_pkg.sv +++ b/dv/uvm/core_ibex/common/ibex_mem_intf_agent/ibex_mem_intf_agent_pkg.sv @@ -10,6 +10,7 @@ package ibex_mem_intf_agent_pkg; import ibex_cosim_agent_pkg::*; `include "uvm_macros.svh" + `include "dv_macros.svh" typedef uvm_sequencer#(ibex_mem_intf_seq_item) ibex_mem_intf_request_sequencer; diff --git a/dv/uvm/core_ibex/common/ibex_mem_intf_agent/ibex_mem_intf_pkg.sv b/dv/uvm/core_ibex/common/ibex_mem_intf_agent/ibex_mem_intf_pkg.sv index 3391c4a636..14e8bc7a02 100644 --- a/dv/uvm/core_ibex/common/ibex_mem_intf_agent/ibex_mem_intf_pkg.sv +++ b/dv/uvm/core_ibex/common/ibex_mem_intf_agent/ibex_mem_intf_pkg.sv @@ -13,6 +13,7 @@ package ibex_mem_intf_pkg; typedef enum { READ, WRITE } rw_e; `include "uvm_macros.svh" + `include "dv_macros.svh" `include "ibex_mem_intf_seq_item.sv" endpackage diff --git a/dv/uvm/core_ibex/common/irq_agent/irq_agent_pkg.sv b/dv/uvm/core_ibex/common/irq_agent/irq_agent_pkg.sv index 6a970272ad..47cec97d0e 100644 --- a/dv/uvm/core_ibex/common/irq_agent/irq_agent_pkg.sv +++ b/dv/uvm/core_ibex/common/irq_agent/irq_agent_pkg.sv @@ -10,6 +10,7 @@ package irq_agent_pkg; parameter int ADDR_WIDTH = 32; `include "uvm_macros.svh" + `include "dv_macros.svh" `include "irq_seq_item.sv" typedef uvm_sequencer#(irq_seq_item) irq_request_sequencer; diff --git a/dv/uvm/core_ibex/env/core_ibex_dut_probe_if.sv b/dv/uvm/core_ibex/env/core_ibex_dut_probe_if.sv index b63065f58c..2de5d8fffe 100644 --- a/dv/uvm/core_ibex/env/core_ibex_dut_probe_if.sv +++ b/dv/uvm/core_ibex/env/core_ibex_dut_probe_if.sv @@ -2,6 +2,9 @@ // Licensed under the Apache License, Version 2.0, see LICENSE for details. // SPDX-License-Identifier: Apache-2.0 +`include "uvm_macros.svh" +`include "dv_macros.svh" + // Interface to probe DUT internal signal interface core_ibex_dut_probe_if(input logic clk); diff --git a/dv/uvm/core_ibex/env/core_ibex_env_pkg.sv b/dv/uvm/core_ibex/env/core_ibex_env_pkg.sv index 6a213da38e..744fc66967 100644 --- a/dv/uvm/core_ibex/env/core_ibex_env_pkg.sv +++ b/dv/uvm/core_ibex/env/core_ibex_env_pkg.sv @@ -6,6 +6,9 @@ // Core ibex environment package // --------------------------------------------- +`include "uvm_macros.svh" +`include "dv_macros.svh" + package core_ibex_env_pkg; import uvm_pkg::*; diff --git a/dv/uvm/core_ibex/tb/core_ibex_tb_top.sv b/dv/uvm/core_ibex/tb/core_ibex_tb_top.sv index ba65f4a2f6..6e1199e8f4 100644 --- a/dv/uvm/core_ibex/tb/core_ibex_tb_top.sv +++ b/dv/uvm/core_ibex/tb/core_ibex_tb_top.sv @@ -2,6 +2,8 @@ // Licensed under the Apache License, Version 2.0, see LICENSE for details. // SPDX-License-Identifier: Apache-2.0 +`include "uvm_macros.svh" +`include "dv_macros.svh" `include "prim_assert.sv" module core_ibex_tb_top; @@ -190,11 +192,13 @@ module core_ibex_tb_top; `IBEX_LOCKSTEP_PATH.u_shadow_core.NoMemResponseWithoutPendingAccess) end +`ifndef DV_FCOV_DISABLE assign dut.u_ibex_top.u_ibex_core.u_fcov_bind.rf_we_glitch_err = dut.u_ibex_top.rf_alert_major_internal; assign dut.u_ibex_top.u_ibex_core.u_fcov_bind.lockstep_glitch_err = dut.u_ibex_top.lockstep_alert_major_internal; +`endif // Data load/store vif connection assign data_mem_vif.reset = ~rst_n; diff --git a/dv/uvm/core_ibex/tests/core_ibex_seq_lib.sv b/dv/uvm/core_ibex/tests/core_ibex_seq_lib.sv index 27591e4a9d..97be142bb2 100644 --- a/dv/uvm/core_ibex/tests/core_ibex_seq_lib.sv +++ b/dv/uvm/core_ibex/tests/core_ibex_seq_lib.sv @@ -2,6 +2,9 @@ // Licensed under the Apache License, Version 2.0, see LICENSE for details. // SPDX-License-Identifier: Apache-2.0 +`include "uvm_macros.svh" +`include "dv_macros.svh" + // Base sequence class core_base_seq #(type REQ = uvm_sequence_item) extends uvm_sequence#(REQ);