Waivers can be directly created from any Report DRC, Report Methodology, and Report CDC GUI result window. To waive violations(s) from the result window, select one or more violations and right-click to select Create Waiver from the context menu. In the following figure, four waivers are created from the four selected CDC violations.
Selecting Create Waiver opens the following widget.
Even though Vivado tools populate the user name, the field is editable. The
description is mandatory and it is recommended to provide some detailed information that
can be reviewed by the design team. The field Tags is optional and can be used to
provide an additional description through a string or a list of keywords. Its main
purpose is documentation because it can be used, for instance, when searching through
the XDC file or to filter waivers with the get_waivers
command. The
dialog box includes a preview of the Tcl commands that the GUI sends to the Tcl
console.
After the Create Waiver window is submitted, one create_waiver
command is sent to the Tcl console by the GUI for each violation that is waived. For DRC and Methodology violations, the create_waiver
command generated by the GUI references the violation object but this is only a transitional form. The waiver engine converts the violation object into a fully descriptive waiver, referencing all the design objects involved in the violation. The waiver that is created never references the original violation object that it is built from. The timestamp is automatically added by the engine when the waiver is created.
After waivers are created from the GUI, the selected rows are grayed out as well as disabled and the report goes stale. This is a visual confirmation that some waivers have been created from this result window. After the GUI report is re-run, the waived violations are filtered out from the new result window.