Autocorrect

verissimo.sh <COMPILATION ARGS> <RULESET ARGS> [<RULESET FILTER ARGS>] [<LINT ARGS>] [<BASELINE ARGS>] [<EXIT CODE ARGS>] <AUTOCORRECT 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.

Autocorrect Arguments

<AUTOCORRECT ARGS>
[-autocorrect [-autocorrect_rule <rule name>]] | -autocorrect_all [-autocorrect_reruns <number>] [-autocorrect_skip_sanity_checks <rule name>] [-autocorrect_generate_modified_files [-autocorrect_files_location <dir>]] [-autocorrect_checkout <perforce>]
<AUTOCORRECT ARGS> Description
-autocorrect                                       [Optional] Auto-correct failures for all rules that have autocorrect enabled in the specified ruleset.
-autocorrect_rule <rule name>                      [Optional] Auto-correct failures for the rule with the specified rule name from the provided ruleset.
                                                              Can be repeated.
                                                              Only use when -autocorrect is specified.
-autocorrect_all                                   [Optional] Auto-correct failures for all rules supporting autocorrect from the specified ruleset.
-autocorrect_reruns <number>                       [Optional] Maximum number of reruns when performing autocorrect.
                                                              Only use when one of -autocorrect, -autocorrect_all is specified.
-autocorrect_skip_sanity_checks <rule name>        [Optional] Skip the sanity checks for the autocorrect of the specified rule.
                                                              Can be repeated.
                                                              Only use when one of -autocorrect, -autocorrect_all is specified.
-autocorrect_generate_modified_files               [Optional] Generate new files with the modified code instead of performing autocorrect directly on the original files.
                                                              Only use when one of -autocorrect, -autocorrect_all is specified.
-autocorrect_files_location <dir>                  [Optional] Destination directory for the autocorrected files.
                                                              Only use when -autocorrect_generate_modified_files is specified.
                                                              Default value: current directory.
-autocorrect_checkout <perforce>                   [Optional] Checkout files using specified revision control system to enable editing when using autocorrect.
                                                              Must be: perforce.
                                                              Only use when one of -autocorrect, -autocorrect_all is specified.

Examples

  • Perform autocorrect for all rules that support it, from a specific ruleset:

verissimo.sh -cmd my_compile.args -ruleset my_ruleset.xml -autocorrect_all
  • Perform autocorrect for all rules that have autocorrect=”on” specified in the ruleset:

verissimo.sh -cmd my_compile.args -ruleset my_ruleset.xml -autocorrect
  • Perform autocorrect for all rules that have autocorrect=”on” specified in the ruleset and for the rule with the name “RULE_NAME”:

verissimo.sh -cmd my_compile.args -ruleset my_ruleset.xml -autocorrect -autocorrect_rule RULE_NAME