Lint

Lint in batch

verissimo.sh <COMPILATION ARGS> <RULESET ARGS> [<RULESET FILTER ARGS>] [<LINT ARGS>] [<BASELINE ARGS>] [<EXIT CODE ARGS>]

Arguments Description

Compilation Arguments

<COMPILATION ARGS>
-cmd <file> [-compile_waivers <file>] [-ignore_build_config_errors] [-print_compile_waivers_info] [-ignore_compile_errors] | [-print_all_compile_problems]
<COMPILATION ARGS> Description
-cmd <file>                        Compile using the specified compilation arguments file.
-compile_waivers <file>            [Optional] Waive compilation errors using the waivers specified in the XML file.
                                              Waivers specified with this flag will have the highest precedence.
-ignore_build_config_errors        [Optional] Ignore build configuration errors.
-print_compile_waivers_info        [Optional] Print how many problems each compile waiver has matched.
-print_all_compile_problems        [Optional] Print all compile problems.
                                              Does not include waived problems. Include waived problems if -print_compile_waivers_info is specified.
-ignore_compile_errors             [Optional] Ignore compile errors, disable printing of compilation errors and continue with linting.

Ruleset Arguments

<RULESET ARGS>
[-ruleset <XML file>] | [-basic|rtl|dead_code|uvm_ieee|performance|compliance|all|non_standard] [-uvm|ovm]
<RULESET ARGS> Description
-ruleset <XML file>            [Optional] Set the XML ruleset file.
                                          Default value: Basic Rules ruleset.
-all                           [Optional] Run the All Rules ruleset.
-basic                         [Optional] Run the Basic Rules ruleset.
-compliance                    [Optional] Run the XVM Compliance Rules ruleset.
-dead_code                     [Optional] Run the Dead Code Rules ruleset.
-non_standard                  [Optional] Run the Non-Standard ruleset.
-performance                   [Optional] Run the Performance Rules ruleset.
-rtl                           [Optional] Run the RTL Rules ruleset.
-uvm_ieee                      [Optional] Run the UVM IEEE 1800.2-2020 Compliance Rules ruleset.
-uvm|ovm                       [Optional] Run Verissimo XVM rules as UVM|OVM.
                                          Default value: uvm.

Note

See Predefined Rulesets for more details about each predefined ruleset.

Ruleset Filter Arguments

<RULESET FILTER ARGS>
[-since <yyyy-MM-dd / MM.M.m>] [-label <labels>] [-run_rule <rule name>]
<RULESET FILTER ARGS> Description
-since <yyyy-MM-dd / MM.M.m>             [Optional] Use only rules added since date yyyy-MM-dd or since version MM.M.m.
-label <labels>                          [Optional] Use onle rules annotated with the specified labels.
-run_rule <rule name>                    [Optional] Use only the rule with the given rule name from specified ruleset.
                                                    Can be repeated.

Lint Arguments

<LINT ARGS>
[-waivers <XML file>]
[-manual_checks_status <XML file>]
[-custom_rules <jars> [-debug_custom_rules <class>] [-debug_custom_rules_from_files <files>]]
[-check_timeout <seconds>] [-session_timeout <seconds>] [-process_timeout <seconds>]
[-thread_dump_rules <rule names> [-thread_dump_delay <milliseconds>] [-thread_dump_interval <milliseconds>]]
[-histogram_dump_rules <rule names>]
[-lang <language>]
<LINT ARGS> Description
-waivers <XML file>                           [Optional] XML waivers file.
-manual_checks_status <XML file>              [Optional] XML manual checks status file.
-custom_rules <jars>                          [Optional] Path to jars containing custom rules.
-debug_custom_rules <class>                   [Optional] Name of the custom rule class to be debugged.
                                                         Only use when -custom_rules is specified.
-debug_custom_rules_from_files <files>        [Optional] Path of the file containing custom rule class names to be debugged.
                                                         Only use when -custom_rules is specified.
-check_timeout <seconds>                      [Optional] Set the timeout value of a check.
-session_timeout <seconds>                    [Optional] Set the timeout value of the linting session, without building.
-process_timeout <seconds>                    [Optional] Set the timeout value of the complete linting process, including building.
-thread_dump_rules <rule names>               [Optional] Comma separated list of rule names for which thread dumps will be generated.
-thread_dump_delay <milliseconds>             [Optional] Set the delay before a rule will generate thread dumps.
                                                         Default value: 0ms.
                                                         Only use when -thread_dump_rules is specified.
-thread_dump_interval <milliseconds>          [Optional] Set the interval of thread dumps for a rule.
                                                         Default value: 200ms.
                                                         Only use when -thread_dump_rules is specified.
-histogram_dump_rules <rule names>            [Optional] Comma separated list of rule names for which histogram dumps will be generated.
-lang <language>                              [Optional] Enable support for the specified language. Only used to export the mixed design hierarchy.
                                                         Available values: vlog, vhdl.
                                                         Default value: vlog.

Baseline Arguments

<BASELINE ARGS>
-baseline_report <dir> [-prewaive_unchanged_files]
<BASELINE ARGS> Description
-baseline_report <dir>           Directory of the baseline HTML report.
-prewaive_unchanged_files        [Optional] Pre-waives the unchanged files based on the baseline report.

Exit Code Arguments

<EXIT CODE ARGS>
[-zero_exit_on_lint_failures] [-fail_on_severity <severity>] [-ignore_lint_errors] [-ignore_lint_warnings] [-ignore_lint_infos]
<EXIT CODE ARGS> Description
-zero_exit_on_lint_failures         [Optional] Return exit code zero even if some checks fail.
                                               Non-zero exit code is returned only when an internal error occurs
                                               (execution exceptions or wrong arguments).
-fail_on_severity <severity>        [Optional] Fail if the result contains checks with severities equal or higher
                                               than the specified severity.
                                               Must be one of: error, warning, info.
                                               Default value: info.
-ignore_lint_errors                 [Optional] Ignore lint errors and disable printing of lint errors.
-ignore_lint_warnings               [Optional] Ignore lint infos and disable printing of lint infos.
-ignore_lint_infos                  [Optional] Ignore lint warnings and disable printing of lint warnings.

Examples

  • Run the predefined Basic Rules ruleset:

verissimo.sh -cmd my_compile.args
  • Run a specific ruleset:

verissimo.sh -cmd my_compile.args -ruleset my_ruleset.xml
  • Run the XVM compliance ruleset:

verissimo.sh -cmd my_compile.args -compliance
  • Use a previously generated HTML report to pre-waive unchanged files:

verissimo.sh -cmd my_compile.args -ruleset my_ruleset.xml -baseline_report /path/to/baseline_report/verissimo_html_report -prewaive_unchanged_files

Note

See HTML Report for more details on how to generate a HTML Report.

  • Run a specific ruleset with lint waivers:

verissimo.sh -cmd my_compile.args -ruleset my_ruleset.xml -waivers my_waivers.xml

Lint in DVT IDE

verissimo.sh <COMPILATION ARGS> <RULESET ARGS> [<RULESET FILTER ARGS>] [<LINT ARGS>] [<BASELINE ARGS>] <DVT ARGS>

Arguments Description

Compilation Arguments

<COMPILATION ARGS>
-cmd <file> [-compile_waivers <file>] [-ignore_build_config_errors] [-print_compile_waivers_info] [-ignore_compile_errors] | [-print_all_compile_problems]
<COMPILATION ARGS> Description
-cmd <file>                        Compile using the specified compilation arguments file.
-compile_waivers <file>            [Optional] Waive compilation errors using the waivers specified in the XML file.
                                              Waivers specified with this flag will have the highest precedence.
-ignore_build_config_errors        [Optional] Ignore build configuration errors.
-print_compile_waivers_info        [Optional] Print how many problems each compile waiver has matched.
-print_all_compile_problems        [Optional] Print all compile problems.
                                              Does not include waived problems. Include waived problems if -print_compile_waivers_info is specified.
-ignore_compile_errors             [Optional] Ignore compile errors, disable printing of compilation errors and continue with linting.

Ruleset Arguments

<RULESET ARGS>
[-ruleset <XML file>] | [-basic|rtl|dead_code|uvm_ieee|performance|compliance|all|non_standard] [-uvm|ovm]
<RULESET ARGS> Description
-ruleset <XML file>            [Optional] Set the XML ruleset file.
                                          Default value: Basic Rules ruleset.
-all                           [Optional] Run the All Rules ruleset.
-basic                         [Optional] Run the Basic Rules ruleset.
-compliance                    [Optional] Run the XVM Compliance Rules ruleset.
-dead_code                     [Optional] Run the Dead Code Rules ruleset.
-non_standard                  [Optional] Run the Non-Standard ruleset.
-performance                   [Optional] Run the Performance Rules ruleset.
-rtl                           [Optional] Run the RTL Rules ruleset.
-uvm_ieee                      [Optional] Run the UVM IEEE 1800.2-2020 Compliance Rules ruleset.
-uvm|ovm                       [Optional] Run Verissimo XVM rules as UVM|OVM.
                                          Default value: uvm.

Note

See Predefined Rulesets for more details about each predefined ruleset.

Ruleset Filter Arguments

<RULESET FILTER ARGS>
[-since <yyyy-MM-dd / MM.M.m>] [-label <labels>] [-run_rule <rule name>]
<RULESET FILTER ARGS> Description
-since <yyyy-MM-dd / MM.M.m>             [Optional] Use only rules added since date yyyy-MM-dd or since version MM.M.m.
-label <labels>                          [Optional] Use onle rules annotated with the specified labels.
-run_rule <rule name>                    [Optional] Use only the rule with the given rule name from specified ruleset.
                                                    Can be repeated.

Lint Arguments

<LINT ARGS>
[-waivers <XML file>]
[-manual_checks_status <XML file>]
[-custom_rules <jars> [-debug_custom_rules <class>] [-debug_custom_rules_from_files <files>]]
[-check_timeout <seconds>] [-session_timeout <seconds>] [-process_timeout <seconds>]
[-thread_dump_rules <rule names> [-thread_dump_delay <milliseconds>] [-thread_dump_interval <milliseconds>]]
[-histogram_dump_rules <rule names>]
[-lang <language>]
<LINT ARGS> Description
-waivers <XML file>                           [Optional] XML waivers file.
-manual_checks_status <XML file>              [Optional] XML manual checks status file.
-custom_rules <jars>                          [Optional] Path to jars containing custom rules.
-debug_custom_rules <class>                   [Optional] Name of the custom rule class to be debugged.
                                                         Only use when -custom_rules is specified.
-debug_custom_rules_from_files <files>        [Optional] Path of the file containing custom rule class names to be debugged.
                                                         Only use when -custom_rules is specified.
-check_timeout <seconds>                      [Optional] Set the timeout value of a check.
-session_timeout <seconds>                    [Optional] Set the timeout value of the linting session, without building.
-process_timeout <seconds>                    [Optional] Set the timeout value of the complete linting process, including building.
-thread_dump_rules <rule names>               [Optional] Comma separated list of rule names for which thread dumps will be generated.
-thread_dump_delay <milliseconds>             [Optional] Set the delay before a rule will generate thread dumps.
                                                         Default value: 0ms.
                                                         Only use when -thread_dump_rules is specified.
-thread_dump_interval <milliseconds>          [Optional] Set the interval of thread dumps for a rule.
                                                         Default value: 200ms.
                                                         Only use when -thread_dump_rules is specified.
-histogram_dump_rules <rule names>            [Optional] Comma separated list of rule names for which histogram dumps will be generated.
-lang <language>                              [Optional] Enable support for the specified language. Only used to export the mixed design hierarchy.
                                                         Available values: vlog, vhdl.
                                                         Default value: vlog.

Baseline Arguments

<BASELINE ARGS>
-baseline_report <dir> [-prewaive_unchanged_files]
<BASELINE ARGS> Description
-baseline_report <dir>           Directory of the baseline HTML report.
-prewaive_unchanged_files        [Optional] Pre-waives the unchanged files based on the baseline report.

DVT IDE Arguments

<DVT ARGS>
[-gui [-workspace <dir>] [-eclipsespace <dir>]] | [[-gui] -vscode] [-noexit] [-project <dir>] [-project_name <name>] [-force]
<DVT ARGS> Description
-gui                        [Optional] Run Verissimo in GUI mode.
                                       By default Verissimo will be run in the DVT Eclipse IDE.
-workspace <dir>            [Optional] Directory of the eclipse workspace when running Verissimo in GUI Mode.
                                       Default value: dvt_verissimo_ws.XXXXX (temporary eclipse directory).
                                       Only use when -vscode is not specified.
-eclipsespace <dir>         [Optional] Directory of the Eclipse configuration and user area.
                                       Default value: /home/user/.eclipse.
                                       Only use when -vscode is not specified.
-vscode                     [Optional] Run Verissimo in the DVT IDE for VS Code.
-noexit                     [Optional] Do not exit until DVT IDE is closed.
                                       Only use when -gui or -vscode is specified.
-project <dir>              [Optional] Directory of the project to be created when running Verissimo in GUI Mode.
                                       Default value: dvt_verissimo_project.XXXXX (temporary project directory).
                                       Only use when -gui or -vscode is specified.
-project_name <name>        [Optional] Name of the project to be created when running Verissimo in GUI Mode.
                                       Default value: project.
                                       Only use when -gui or -vscode is specified.
-force                      [Optional] Overwrite existing project when running Verissimo in GUI Mode.
                                       Only use when one of -project, -project_name is specified.

Examples

  • Run the predefined Basic Rules ruleset in DVT Eclipse:

verissimo.sh -cmd my_compile.args -gui
  • Run a specific ruleset in DVT IDE for VS Code:

verissimo.sh -cmd my_compile.args -ruleset my_ruleset.xml -vscode

Note

Running Verissimo in DVT IDE can also be done using dvt_cli.sh. See Eclipse From the Command Line and VSCode From the Command Line.