Waivers can be directly created from any Report DRC, Report Methodology, and Report CDC GUI result window. To waive violation(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.