blob: 2cfa7ba58c5f2f9ad08f4bb7595fdf6e8996a1f5 [file] [log] [blame]
// Copyright lowRISC contributors.
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
// SPDX-License-Identifier: Apache-2.0
// Common coverage commands that apply to all DUTs.
//
// This coverge config file is provided by Xcelium and is located at:
// ${XCELIUM_HOME}/tools/icc/include/all_coverage.ccf
// Xcelium recommends including it, since it bundles together the common set of commands that enable
// coverage collection on various design elements, that are otherwise turned off by default. We
// maintain it locally with minor amends.
// Enables expression coverage of various Verilog operators.
set_expr_coverable_operators -all -event_or
// Enables expression coverage of operators in various conditions and assignments.
set_expr_coverable_statements -all
// Enables scoring of Verilog modules compiled with -v/-y or -libcell option but continues to
// disable the scoring of Verilog modules defined with the 'celldefine compiler directive.
set_libcell_scoring
// Enables scoring of block and expression coverage for functions and tasks defined directly inside
// SystemVerilog packages.
set_subprogram_scoring -svpackage
// Enables scoring of SystemVerilog continuous assignments, which is by disabled by default.
set_assign_scoring
// Scores branches together with block coverage.
set_branch_scoring
// Scores statements within a block.
set_statement_scoring
// Enables expression coverage for expression containing structs (packed and unpacked).
set_expr_scoring -struct
// Enables Toggle scoring and reporting of SystemVerilog enumerations and multidimensional static
// arrays , vectors, packed union, modport and generate blocks.
set_toggle_scoring -sv_enum enable_mda -sv_struct_with_enum -sv_modport -sv_mda 16 -sv_mda_of_struct -sv_generate -sv_packed_union
// Enables scoring of reset states and transitions for identified FSMs.
set_fsm_reset_scoring
// Enables scoring of immediate assertions inside a class in a package and assertions inside AMS
// modules.
select_functional -ams_control -imm_asrt_class_package
// Improve the scoping and naming of covergroup instances.
set_covergroup -new_instance_reporting
// Enable toggle coverage only on ports.
set_toggle_portsonly
// Enable scoring of FSM arcs (state transitions).
set_fsm_arc_scoring