// 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.
-moduletree prim_alert_sender  // prim_alert_sender is verified in FPV.
-moduletree prim_prince // prim_prince is verified in a separate DV environment.
-moduletree prim_lfsr // prim_lfsr is verified in FPV.

begin tgl
  -tree tb
  +tree tb.dut 1
  +module prim_alert_sender
  +module prim_prince
  +module prim_lfsr
end
