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:
Resets the dvt builder to the mode specific default state. 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. |