| // 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 |