Verissimo SystemVerilog Testbench Linter User Guide
Rev. 23.1.8, 29 March 2023

Chapter 12. Auto-correct

The auto-correct capabilities are available from the DVT Eclipse IDE and from the command-line as well.

To perform auto-correct from the command line, you must add the '-autocorrect' argument to your existing command.

To specify which rules to auto-correct, you can either add the autocorrect="on" attribute in your ruleset file to the corresponding rules or add the '-autocorrect_rule RuleName' argument to your command. You can specify multiple '-autocorrect_rule' arguments in a single invocation (e.g. -autocorrect_rule RuleName1 -autocorrect_rule RuleName2). When both methods are used, the rules for which the auto-correct will be performed will be those specified by either of them.

From DVT, auto-fixing can be performed only when a linting report is generated. You can create a new linting configuration or edit an existing one from the Lint Configurations… dialog: click the Lint button in the toolbar of the DVT Perspective and choose Lint Configurations….

There are multiple ways to fix the failures during an active linting session:

  • Right click on the check name in the report's checks tab and choose Fix Failures for Check

Tip: To view only the checks that have auto-correct capabilities, you can use Hide Non-Autofixable Checks

  • Select one or more failures in the report's checks tab, then right click and select Fix Failures

  • Press Ctrl + 1 on the failure line in the editor and choose Fix Failure

  • Select one or more failures from Problems View then right click and choose Quick Fix.

Similar failures will be suggested.

Note: For some checks, it might be necessary to provide additional info for fixing the failures.

If errors occur during autofixing, you can choose between the following options:

  • Skip failure

  • Add comment in code

  • Add inline waiver for failure

  • Rename element (only for name collisions)

If no option is selected, the error will be skipped.

Preview page shows the changes that are about to be performed in the source code. Also, you can unselect the unwanted changes.

After autofixing is finished, the check is re-applied automatically.