// Copyright lowRISC contributors (OpenTitan project).
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
// SPDX-License-Identifier: Apache-2.0

// Include our common coverage CCF.
include_ccf ${dv_root}/tools/xcelium/common.ccf

// enable coverage on dut and below

select_coverage -befts -module ${DUT_TOP}...

// Black-box pre-verified IPs from coverage collection.
deselect_coverage -betfs -module pins_if
deselect_coverage -betfs -module clk_rst_if
deselect_coverage -betfs -module prim_alert_sender...
deselect_coverage -betfs -module prim_alert_receiver...
deselect_coverage -betfs -module prim_count...
deselect_coverage -betfs -module prim_esc_sender...
deselect_coverage -betfs -module prim_esc_receiver...
deselect_coverage -betfs -module prim_onehot_check...
deselect_coverage -betfs -module prim_prince...
deselect_coverage -betfs -module prim_lfsr...
deselect_coverage -betfs -module prim_secded_inv_64_57_dec...
deselect_coverage -betfs -module prim_secded_inv_39_32_dec...
deselect_coverage -betfs -module prim_secded_inv_64_57_enc...
deselect_coverage -betfs -module prim_secded_inv_39_32_enc...

// Black-box DV CDC module.
deselect_coverage -betfs -module prim_cdc_rand_delay

// csr_assert_fpv is an auto-generated csr read assertion module. So only assertion coverage is
// meaningful to collect.
deselect_coverage -betf -module *csr_assert_fpv...
select_coverage -assert -module *csr_assert_fpv

// Only enable assertion coverage
deselect_coverage -betf -module *tlul_assert...
select_coverage -assert -module *tlul_assert

// Only collect toggle coverage on the DUT and the black-boxed IP (above) ports.
deselect_coverage -toggle -module ${DUT_TOP}...
select_coverage -toggle -module ${DUT_TOP}

select_coverage -toggle -module prim_alert_sender
select_coverage -toggle -module prim_alert_receiver
select_coverage -toggle -module prim_count
select_coverage -toggle -module prim_esc_sender
select_coverage -toggle -module prim_esc_receiver
select_coverage -toggle -module prim_onehot_check
select_coverage -toggle -module prim_prince
select_coverage -toggle -module prim_lfsr
select_coverage -toggle -module prim_secded_inv_64_57_dec
select_coverage -toggle -module prim_secded_inv_39_32_dec
