DVT SystemVerilog IDE User Guide
Rev. 24.2.25, 31 October 2024

4.7 Compatibility Modes

A compatibility mode defines how DVT decides what top files to parse and with what language syntax to parse them.

File Extension to Language Syntax Mapping

File extensions can be mapped either to a specific language syntax or skipped (that is they will not be parsed).

Each mode has a default file extension to syntax mapping.

You control the extensions mapping by using various directives, like for example +verilog2001ext in vcs.vlogan Compatibility Mode.

The +dvt_ext_unmap_all directive clears the syntax mapping, including skipped. This means that all top files will be parsed using the Language Syntax for Unmapped Extensions. Note that the syntax for unmapped extensions can be Skip, for example in the Default DVT Compatibility Mode, as a result nothing will be compiled.

Language Syntax for Unmapped Extensions

An unmapped top file will be parsed using this syntax or skipped, depending on the compatibility mode.

Can be controlled by various directives, like for example +dvt_ext_unmapped_syntax+<syntax> in the Default DVT Compatibility Mode or +v2k in vcs.vlogan Compatibility Mode.

Language Syntax for Included Files

Where relevant, for example for Verilog/SystemVerilog, the included files are parsed either with the same syntax as the including file, or as specified by the extension mapping. See also each compatibility mode documentation.

Note: A compatibility mode might also introduce specific predefined API, like for example Verilog preprocessing macros.

List of Compatibility Modes

The following compatibility modes are supported:

How to Specify the Compatibility Mode

The +dvt_init+<mode> directive changes the compatibility mode, where <mode> can be any of the above modes.

A +dvt_init+<mode> directive:

  1. Resets the dvt builder to the mode specific default state.

  2. Clears all the previous directives (preprocessing defines, system variables, libraries, etc.).

You can see it as the equivalent of a new tool invocation.

You may specify any number of +dvt_init directives inside a build file.

The compatibility mode is enforced until the next +dvt_init directive.