IP are validated with the constraints that are delivered with them. In some cases though an IP delivered constraint might need to be changed, such as a physical constraint like a
PACKAGE_PIN property, to meet design goals.
You can edit the IP XDC using the method described in Editing IP Sources. Alternatively, you can override the IP XDC command by providing a top-level user XDC or a Tcl file with the desired commands.
You are strongly recommended to not modify any IP timing constraints with the possible exception of the _ooc.xdc to set a target frequency for synthesizing the IP out-of-context.
Because the IP is synthesized out-of-context by default, overriding a physical constraint should be done during the implementation stage only. Physical constraints are ignored during synthesis of the IP standalone; consequently make the Tcl or XDC file be for implementation use only.
Follow the procedure outlined in the Editing IP Sources when it is required to override an IP timing constraint. This ensures that the changes are used during synthesis of the IP out-of-context as well as being used during implementation at the top-level.
XDC commands are processed in order, where the last command takes precedence.
With timing constraints, this is not always successful; If an IP sets a path to have a
false path exception and you later apply a
constraint on the same path, the false path remains because it has higher precedence
(see this link to the Vivado
Design Suite: Using Constraints (UG903), for more details). To make these
levels of changes you must modify the XDC delivered by the IP.
Some actions and commands are not allowed in an XDC, necessitating use of a Tcl
file. An example of this is the changing of a
property on a
BUFG_GT cell. The placer is not able to
place an instance on a site which is already occupied. You must first clear the current
setting and then set the new
LOC. Do this with the
reset_property command, which is not an XDC
command, and must be placed in a Tcl file. After resetting the
LOC property, set the new value.