Verissimo SystemVerilog Testbench Linter User Guide
Rev. 20.1.32, 17 September 2020

Chapter 2. Run in Batch Mode

Verissimo can be invoked in batch mode by running:

$DVT_HOME/bin/verissimo.sh ...

Main Use Cases

  • Generate the HTML documentation of all the available rules:

verissimo.sh -gen_rulepool_doc

  • Generate the XML ruleset of all the available rules:

verissimo.sh -gen_rulepool_xml

  • Generate the XML ruleset of all the available rules, displaying id, default title and parameters for each rule

verissimo.sh -gen_rulepool_xml -rulepool_xml_include id,title,parameters

  • Run all rules

verissimo.sh -cmd my_compile.args

  • Run all rules and generate HTML lint report

verissimo.sh -cmd my_compile.args -gen_html_report

  • 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

  • Generate the HTML documentation for a specific ruleset

verissimo.sh -gen_ruleset_doc -ruleset my_ruleset.xml

Arguments

Argument Description
basic Optional. Run the basic predefined ruleset.
cmd <command file> Mandatory. Compile using the specified compilation arguments file.
compare <directory>Optional. Directory of the HTML report to be compared with the report specified by the next 'compare' argument.
compare_baseline <directory>Optional. Directory of the baseline HTML report to be compared with the current report specified by the 'compare_current' argument.
compare_current <directory>Optional. Directory of the current HTML report to be compared with the baseline report specified by the 'compare_baseline' argument.
compile_waivers <file>Optional. Waive compilation errors using the waivers specified in the XML file. See Compile Waivers.
compliance Optional. Run the XVM compliance predefined ruleset.
custom_report_locationOptional. Destination directory for the custom lint report.
custom_rules <jars>Optional. Path to jars containing custom rules.
debug_custom_rules <class>Optional. Name of the custom rule class to be debugged.
debug_custom_rules_from_files <files>Optional. Path of the file containing custom rule class names to be debugged.
diff <directory>Optional. Directory of the HTML report to be differentiated with other reports specified by subsequent 'diff' arguments.
fail_on_severity <error | warning | info>Optional. Fail if the result contains checks with severities equal or higher than the specified severity. Default: info
gen_custom_report <FTL file> Optional, one or more. Generate a custom report using the specified template. This can be user defined or one of the predefined templates: FAILURES_TEXT, FAILURES_JSON, FAILURES_XML. See Custom Report
gen_custom_report_ftl <name> Optional, one or more. Generate a custom report template using the specified option. Available values are: FAILURES_TEXT, FAILURES_JSON, FAILURES_XML
gen_html_report Optional. Generates the HTML lint report.
gen_rulepool_doc Optional. Generate the HTML documentation with all available rules.
gen_rulepool_xml Optional. Generate the XML ruleset with all available rules.
gen_ruleset_doc Optional. Generate the HTML documentation with all the rules from the specified ruleset.
gen_ruleset_xml Optional. Generate the XML ruleset with all the rules from the specified predefined ruleset (if no predefined ruleset is specified, an XML with all available rules will be generated).
gen_txt_report Optional. Print lint failures in the Verissimo output.
heap_size <size>Optional. Set the Java heap size. Default is 3072m.
helpPrint help and exit.
html_report_locationOptional. Destination directory for the HTML lint report.
ignore_build_config_errorsOptional. Ignore build configuration errors.
ignore_compile_errorsOptional. Ignore compile errors, disable printing of compilation errors and continue with linting.
ignore_lint_errorsOptional. Ignore lint errors and disable printing of lint errors.
ignore_lint_infosOptional. Ignore lint infos and disable printing of lint infos.
ignore_lint_warningsOptional. Ignore lint warnings and disable printing of lint warnings.
include_creation_dateOptional. Include the creation date of each failure in the generated lint report based on GIT, SVN or Perforce blame information or using the file's last modification date.
include_html_codeOptional. Include the linted source code as HTML files in the generated lint report.
info <key=value>Optional. Place a 'key=value' annotation on all hits from a generated HTML report, in order to create filters based on them after a merge of reports.
list_unused_available_rulesOptional. List available rules not used in current ruleset.
log <log file>Optional. Log to specified file.
manual_checks_status <XML file>Optional. Manual checks status file.
map <mapping>Optional. Create a mapping between linted files from current and baseline reports. The mapping has the format 'type+current_report_path_pattern=baseline_report_path_pattern', where the type is one of PERL or SIMPLE (if not specified PERL is used).
merge <directory>Optional. Directory of the HTML report to be merged with other reports specified by subsequent 'merge' arguments.
ovm Optional. Run Verissimo XVM rules as OVM (if not specified UVM will be used).
print_compile_waivers_infoOptional. Prints how many problems each compile waiver has matched.
rulepool_xml_include <rule_attributes>Optional. Used with -gen_rulepool_xml or -gen_ruleset_xml to specify what rule attributes should be displayed in the generated XML ruleset. Comma separated list of: complete_rule_info, id, name, title, severity, description, parameters, commented_parameters, parameters_info.
ruleset <XML file> Optional. XML ruleset file. See Rulesets.
run_ruleOptional. Run only rule name from specified ruleset.
silentOptional. Turn on minimal output.
since <yyyy-MM-dd>Optional. Show only rules added since yyyy-MM-dd when generating rulepool HTML and XML or listing unused rules.
stack_size <size>Optional. Set the Java thread stack size. Default is 4m.
version <size>Print version and exit.
waivers <XML file>Optional. XML waivers file. See Lint Waivers.
zero_exit_on_lint_failuresOptional. 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).

Exit code

The exit code is calculated with a bitwise operation between the following codes:

  • 0 - OK

  • 1 - Internal Error

  • 2 - Errors

  • 4 - Warnings

  • 8 - Infos

  • 16 - Build config or compile error

The codes for errors, warnings and infos indicate the presence of such failures in the lint report or in the New Failures/Added Rules categories of the compare report.

The exit code can be filtered using the following arguments:

  • -fail_on severity: E.g. if the fail_on severity is set on "error", the codes for warnings(4) and infos(8) will be filtered out;

  • -zero_exit_on_lint_failures: filter everything with the exception of the internal error or the build config/compile error;

  • -ignore_build_config_errors: if there are build configuration errors(16) they will be ignored and the exit code will be filtered;

  • -ignore_compile_errors if there are compile errors(16) they will be ignored and the exit code will be filtered.