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

Chapter 6. Compile Checks

The DVT internal builder performs various checks on the source code.

  • Syntax Checks indicate wrong syntax according to the IEEE standard, for example typos like 'clas' instead of 'class' when declaring a class. Syntactic checking is the first level checking performed on the code during parsing.

  • Semantic Checks indicate wrong semantic according to the IEEE standard, for example calling an undefined function 'foo()'. For performance reasons, not all semantic checks are performed at once. A subset is performed during full or incremental compilation. The complete set of checks is performed on demand, when explicitly triggered.

  • Synthesis Checks indicate constructs that are not supported by synthesis tools or constructs that may lead to simulation mismatches between the generated netlist and RTL.

  • Performance Checks indicate constructs that may lead to simulation performance degradation.

  • Dead Code Checks indicate constructs that are not used. Unused code may result in poor code readability and simulation performance degradation.

  • Non Standard Checks indicate syntax or semantic that is not standard, although some simulators support it. Non standard syntax is the result of legacy or additional language capabilities that may get into future standard releases.

Check failures are signaled as compile problems, with the error or warning severity. The compile problems are presented in the Problems View. For performance reasons not all compile problems are visible at once in the Problems View.

You can use Compile Waivers to change the severity (promote/demote) or disable the problems reported by DVT during build.