blob: 18cd77c5b7170e69973b133e4e4f5579b5e2f930 [file] [log] [blame]
// Copyright lowRISC contributors.
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
// SPDX-License-Identifier: Apache-2.0
/**
* Covergoups that are dependent on run-time parameters that may be available
* only in build_phase can be defined here
* Covergroups may also be wrapped inside helper classes if needed.
*/
% if is_cip:
class ${name}_env_cov extends cip_base_env_cov #(.CFG_T(${name}_env_cfg));
% else:
class ${name}_env_cov extends dv_base_env_cov #(.CFG_T(${name}_env_cfg));
% endif
`uvm_component_utils(${name}_env_cov)
// the base class provides the following handles for use:
// ${name}_env_cfg: cfg
// covergroups
// [add covergroups here]
function new(string name, uvm_component parent);
super.new(name, parent);
// [instantiate covergroups here]
endfunction : new
virtual function void build_phase(uvm_phase phase);
super.build_phase(phase);
// [or instantiate covergroups here]
% if is_cip:
// Please instantiate sticky_intr_cov array of objects for all interrupts that are sticky
// See cip_base_env_cov for details
% endif
endfunction
endclass