Exporting the Waivers - 2023.2 English

Vivado Design Suite User Guide: Design Analysis and Closure Techniques (UG906)

Document ID
Release Date
2023.2 English

As part of the design constraints, the waivers are automatically saved inside the checkpoint and restored from the checkpoint. Waivers are saved inside both the plain XDC and binary constraints.

Use write_xdc and write_waivers commands to export the waivers as a standalone XDC file. The XDC can be reloaded inside Vivado tools with the read_xdc or source commands.

The write_xdc command exports all the waivers inside the XDC file along with all the design constraints. This includes the waivers defined by the user and also the AMD IP waivers. The constraints inside the XDC are in the same order as they have been applied to the design. To only export the waivers, use the command line option -type waiver. For example:

write_xdc -type waiver -file waivers.xdc
Important: The IP waivers are identified with the option create_waiver -internal. User waivers must never use the option create_waiver -internal. This option is exclusively reserved for AMD IP waivers.

The write_waivers command differs from write_xdc because it only exports the user waivers and provides more control and granularity. The AMD IP waivers are not exported through write_waivers. By default, all the user CDC, DRC, and Methodology waivers are exported. Use the option -type to only export CDC, DRC, or Methodology waivers.

For example, the command below exports all CDC waivers to the file waivers_cdc.xdc:

write_waivers -type CDC -file waivers_cdc.xdc

All the waivers for a particular check id can be exported with the option -id. The example below export all the waivers for the Methodology check TIMING-15:

write_waivers -id TIMING-15 -file waivers_timing_15.xdc

The following table summarizes the differences between write_xdc and write_waivers commands with regards to the user waivers and AMD IP waivers.

Table 1. Exporting the Waivers
Vivado Command Export User Waivers Export AMD IP Waivers
write_xdc Yes Yes
write_waivers Yes No