save_constraints_as - 2024.1 English

Vivado Design Suite Tcl Command Reference Guide (UG835)

Document ID
Release Date
2024.1 English

Save current design's constraints as a new set of constraints files


save_constraints_as [‑dir <arg>] [‑target_constrs_file <arg>] [‑quiet]
    [‑verbose] <name>


Name Description
[-dir] Directory to save constraints to
[-target_constrs_file] Target constraints file for the new fileset
[-quiet] Ignore command errors
[-verbose] Suspend message limits during command execution
<name> Name of the new constraints fileset




Copies the active constraints set to create a new constraints set, with local copies of any constraints files that are part of the constraints set. You can also specify a new constraints file to use as the target for the copied constraints set.

Use this command to save changes to the constraints in a design without affecting the current constraints files. This allows you to do some "what-if" type development of design constraints.

Note: The new constraint set created by the save_constraints_as command will not be active in the design, although it will be referenced by the design. To make the constraints set active you must set the constrset property to point to the new constraints set for specific runs. See the example below.


-dir <arg> - (Optional) The directory into which constraints files are saved. If the directory is not specified, the new constraints set is located in the project sources directory. The constraints files from the active constraints set are copied into the specified directory.

-target_constrs_file <arg> - (Optional) Specifies a new target constraints file for the new constraints fileset. If a path is not specified as part of the file name, the file will be created in the fileset directory.

Note: You must specify the .xdc file extension, or the command will report a warning that the filetype is invalid, and cannot be set to the target constraint set. In this case, the existing target constraints file will be used as the target.
-quiet - (Optional) Execute the command quietly, returning no messages from the command. The command also returns TCL_OK regardless of any errors encountered during execution.
Note: Any errors encountered on the command-line, while launching the command, will be returned. Only errors occurring inside the command will be trapped.
-verbose - (Optional) Temporarily override any message limits and return all messages from this command.
Note: Message limits can be defined with the set_msg_config command.

<name> - (Required) The name of the constraints set to write.


The following example saves the active constraints set into a new constraints set called constrs_2, and copies any constraints files into the specified directory, as well as creating a new target constraints file for the constraints set:

save_constraints_as -dir C:/Data/con1 \
   -target_constrs_file rev1.xdc constrs_2

The following example saves the active constraints set as a new constraints set called newCon2, and copies any constraint files into the newCon2 constraint directory under project sources. The constrset property for the specified synthesis and implementation runs are then set to point to the new constraints set:

save_constraints_as newCon2
set_property CONSTRSET newCon2 [get_runs synth_1]
set_property CONSTRSET newCon2 [get_runs impl_1]
Note: The constraints set is not active in the design until it has been set to active for the current runs.