DVT SystemVerilog IDE User Guide
Rev. 24.1.12, 12 June 2024

9.1 Content Filters XML syntax

The .dvt/content_filters.xml file contains filter definitions using the syntax documented below.

When editing .dvt/content_filters.xml you can use Autocomplete by pressing Ctrl + Space.

Any errors encountered while loading the .dvt/content_filters.xml are reported in the DVT Internal Build Console.

<?xml version="1.0" encoding="UTF-8"?> <!-- XML file header; required. -->
<!DOCTYPE content-filters PUBLIC "-//DVT//content_filters_v2" "content_filters_v2.dtd" >
Root tag; required. Version attribute is required. The latest syntax
version, illustrated by this example, is version 2.
<content-filters version="2">
   The root tag must contain at least one filter.
   An element is filtered if it matches all the filters.
   The filter tag must specify the kind="HIDE" attribute.
   The filter tag must specify a name attribute.
   <filter kind="HIDE" name="Filter name">
       <description>An optional verbose description of the filter.</description>
       Each filter must specify at least one of the following tags:
       path-set, element-text-set or element-type-set

       Each filter may specify a view-set tag.
       If view-set is not specified, the filter applies to all views.
       The view-set tag must specify a match attribute.
       If match="TRUE" the set comprises of the enumerated views (see below).
       If match="FALSE" the set comprises all views except the enumerated ones (see below).
       <view-set match="TRUE">
           A view-set must contain at least one view tag. The view tag must
           specify the name attribute. Possible values for the name attribute are: CALL_HIERARCHY, CHECKS, COVERAGE,
           <view name="TASKS" />

       The path-set tag must specify a match attribute.
       If match="TRUE" the set comprises of the enumerated paths (see below).
       If match="FALSE" the set comprises any path except the enumerated ones (see below).
       An element (problem, task, type, function, macro etc) matches the path-set if it is
       defined/introduced in a file within the path-set.
       The path-set tag may specify an apply-to-macro-call-stack attribute.
       By default apply-to-macro-call-stack="FALSE".
       If apply-to-macro-call-stack="TRUE" an element introduced by a macro call will
       match the path set if the macro matches the path-set.
       <path-set match="TRUE" apply-to-macro-call-stack="TRUE">
           A path-set must contain at least a path attribute.
           The path tag must specify a pattern attribute.
           The pattern may contain wildcards ? (any character) and * (any sequence of characters).
           The pattern may contain environment variables. You may not use
           variables defined in build configuration files using +dvt_env+ directive.
           The path tag may specify an include-children attribute.
           By default include-children="FALSE".
           If include-children="TRUE" any file `included (SystemVerilog)
           or imported (e Language) directly or indirectly by
           a file matching the pattern, is also part of the path-set.
           <path pattern="*/uvm_pkg.sv" include-children="TRUE" />
           <path pattern="*/vr_ad_top.e" include-children="TRUE" />

       The element-type-set tag must specify a match attribute.
       If match="TRUE", an element matches if it matches any element-type tag.
       If match="FALSE", an element matches if it does not match any element-type tag.
       <element-type-set match="TRUE">
           An element-type-set must contain at least one element-type tag.
           The element-type tag must specify the name attribute.
           Valid values for the element-type name are:
           The element-type tag may specify a language attribute which helps to fully identify
           an element which is valid in multiple languages (for example STRUCT is a valid element
           type both in SystemVerilog and e Language)
           The valid values for the language attribute are: CPP, E, PSS, SLN, SV and VHDL.
           <element-type name="STRUCT" language="E" />

       The element-text-set tag must specify a match attribute.
       If match="TRUE", an element matches the set if it matches any element-text tag.
       If match="FALSE", an element matches the set if it does not match any element-text tag.
       An element (problem, task, type, function, macro etc) matches the text-set if its displayed
       label matches the text-set.
       <element-text-set match="TRUE">
           An element-text-set must contain at least one element-text tag.
           The element-text tag must specify a pattern attribute.
           The pattern may contain wildcards ? (any character) and * (any sequence of characters).
           <element-text pattern="_internal_*"/>

 '''NOTE:''' Backslashes '\' are always treated as path separators, regardless of the OS. Therefore, you cannot use '\?' and '\*' to escape wildcards.