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

// Enables coverage on the entire DUT. Limits the port only toggle coverage to
// the DUT IOs.

+tree tb.dut
-module pins_if     // DV construct.
-module clk_rst_if  // DV construct.
// Prim_alert/esc pairs are verified in FPV and DV testbenches.
-moduletree prim_alert_sender
-moduletree prim_alert_receiver
-moduletree prim_count
-moduletree prim_esc_sender
-moduletree prim_esc_receiver
-moduletree prim_onehot_check
-moduletree prim_prince // prim_prince is verified in a separate DV environment.
-moduletree prim_lfsr // prim_lfsr is verified in FPV.
// csr_assert_fpv is an auto-generated csr read assertion module. So only assertion coverage is
// meaningful to collect.
-moduletree *csr_assert_fpv
-module prim_cdc_rand_delay  // DV construct.

begin tgl
  -tree tb
  +tree tb.dut 1
  +module prim_alert_sender
  +module prim_alert_receiver
  +module prim_count
  +module prim_esc_sender
  +module prim_esc_receiver
  +module prim_onehot_check
  +module prim_prince
  +module prim_lfsr
end

begin assert
  +moduletree *csr_assert_fpv
end
