Linting on RTL Design - 2023.1 English

Vivado Design Suite User Guide: System-Level Design Entry (UG895)

Document ID
Release Date
2023.1 English

RTL linting is an important tool to analyze RTL code, catching issues ranging from syntax errors to QoR issues. It helps RTL designers to improve productivity is increasingly adopted by users.

The run linter is a Vivado built-in features which analyzes the RTL design code and provides a detailed report for the violations. You can activate the linter functionality by clicking RTL Analysis  →  Run Linter in the Flow Navigator. Run Linter helps to detect design errors at the earlier stages by providing a detailed analysis of the errors. When you click Run Linter, Vivado automatically checks and compiles the RTL source files and provides a detailed report by opening the Linter window. Clicking the analysis hyperlink in the File Name column opens the corresponding file and highlights the violated row in the code. If an unexpected violation is reported by the tool, you can ignore the violation by creating a waiver.

When you right-click anywhere on the violations report, you will have the following options.

Create Waiver
Opens Create Waiver window with the Tcl command preview to let you waive specific violations in the current design. When you click OK, the waived check box displays an increased number of total waivers in the design.
Export To Spreadsheet
Opens Export Table to a spreadsheet format to export the violations report to a spreadsheet to be opened in Microsoft Office or on a Open Office platform.
Important: Linter window does not update automatically. If there are changes in the source files, ensure to rerun linter to see the updated results.
Note: In the current release, linter does not support multiple runs for OOC mode. The linter is mostly intended for the user RTL, which is generally synthesized with global synthesis.