Verissimo SystemVerilog Testbench Linter User Guide
Rev. 24.1.5, 13 March 2024

8.4 Compilation Rules

When running Verissimo in batch mode if there are any errors reported during compilation, linting will not proceed.

However linting can be executed if the ignore_compile_errors argument is used, but no compilation problems will be printed out.

In order to have both compilation problems and linting problems reported, add the following rules to your ruleset: SYNTACTIC_PROBLEM, SEMANTIC_PROBLEM and NON_STANDARD.

The SYNTACTIC_PROBLEM rule will flag all the syntax violations whereas SEMANTIC_PROBLEM and NON_STANDARD rules will apply the checks mentioned in Semantic Checks and Non Standard Checks chapters.

These rules can be configured to show either all compilation problems, or to report if there are any compilation problems by setting the parameter showFailureDetails to true or false.

It is also possible to select which type of problems to show by using the parameter show whose value can be any combination of the following: ERROR, WARNING, INFO, DISABLED.

The number of problems reported by these rules can be configured using the parameter maxNofHits.

The hits reported by these rules can be waived using lint waivers.

Example - Ruleset with compilation rules configured with the default values of the parameters

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<ruleset library="UVM" version="2">
   <category name="Compilation">
       <rule
           id="SYNTACTIC_PROBLEM"
           name="SYNTACTIC PROBLEM"
           title="Syntactic Problems">
           <property key="showFailureDetails" value="true"/>
           <property key="show" value="ERROR"/>
           <property key="maxNofHits" value="0"/>
       </rule>
       <rule
           id="SEMANTIC_PROBLEM"
           name="SEMANTIC PROBLEM"
           title="Semantic Problems">
           <property key="showFailureDetails" value="true"/>
           <property key="show" value="ERROR"/>
           <property key="maxNofHits" value="0"/>
       </rule>
       <rule
           id="NON_STANDARD"
           name="NON STANDARD"
           title="Non Standard Constructs">
           <property key="showFailureDetails" value="true"/>
           <property key="show" value="ERROR, WARNING, INFO"/>
           <property key="maxNofHits" value="0"/>
       </rule>
   </category>
</ruleset>