blob: 1e8adee492aa76fdd33c09fa85383852f355ff59 [file] [log] [blame]
// Copyright lowRISC contributors.
// 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_esc_sender...
deselect_coverage -betfs -module prim_esc_receiver...
deselect_coverage -betfs -module prim_prince...
deselect_coverage -betfs -module prim_lfsr...
// 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...
// 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_esc_sender
select_coverage -toggle -module prim_esc_receiver
select_coverage -toggle -module prim_prince
select_coverage -toggle -module prim_lfsr
// These three assertions in prim_lc_sync and prim_mubi* check when `lc_ctrl_pkg::lc_tx_t` or
// `mubi*_t` input are neither `On` or `Off`, it is interrupted to the correct `On` or `Off`
// after one clock cycle. This behavior is implemented outside of IP level design thus these
// assertions are not covered in IP level testbenchs.
// TODO: check these assertions in top-level or FPV.
deselect_coverage -assertion *.PrimLcSyncCheckTransients_A
deselect_coverage -assertion *.PrimLcSyncCheckTransients0_A
deselect_coverage -assertion *.PrimLcSyncCheckTransients1_A
deselect_coverage -assertion *.PrimMubi4SyncCheckTransients_A
deselect_coverage -assertion *.PrimMubi4SyncCheckTransients0_A
deselect_coverage -assertion *.PrimMubi4SyncCheckTransients1_A
deselect_coverage -assertion PrimMubi8SyncCheckTransients_A
deselect_coverage -assertion PrimMubi8SyncCheckTransients0_A
deselect_coverage -assertion PrimMubi8SyncCheckTransients1_A
deselect_coverage -assertion PrimMubi12SyncCheckTransients_A
deselect_coverage -assertion PrimMubi12SyncCheckTransients0_A
deselect_coverage -assertion PrimMubi12SyncCheckTransients1_A
deselect_coverage -assertion PrimMubi16SyncCheckTransients_A
deselect_coverage -assertion PrimMubi16SyncCheckTransients0_A
deselect_coverage -assertion PrimMubi16SyncCheckTransients1_A