write_checkpoint - 2024.1 English

Vivado Design Suite Tcl Command Reference Guide (UG835)

Document ID
Release Date
2024.1 English

Write a checkpoint of the current design


write_checkpoint [‑force] [‑cell <arg>] [‑logic_function_stripped]
    [‑encrypt] [‑key <arg>] [‑quiet] [‑verbose] [<file>]


The name of the checkpoint file.


Name Description
[-force] Overwrite existing checkpoint file
[-cell] Write a checkpoint of this cell
[-logic_function_stripped] Convert INIT strings on LUTs & RAMBs to fixed values. Note that the resulting netlist will be nonfunctional.
[-encrypt] Encrypt unprotected modules using IEEE 1735 IP security version 2
[-key] Key file to be used with -encrypt option; Otherwise, use Xilinx public key
[-quiet] Ignore command errors
[-verbose] Suspend message limits during command execution
[<file>] Design checkpoint file Values: A filename with alphanumeric characters and .dcp extension.




Saves the design at any point in the design process so that you can quickly import it back into the tool as needed. A design checkpoint (DCP) can contain the netlist, the constraints, and any placement and routing information from the implemented design.

Tip: In the Project mode, a DCP will not have timing constraints after synthesis. The timing constraints are annotated against the design during open_run or link_design commands, or when launching an implementation run. To create a DCP with timing constraints, create the design checkpoint after opt_design, or after the implementation run completes.

Use the read_checkpoint command to import a checkpoint file.


-force - (Optional) Overwrite an existing checkpoint file of the same name if it already exists.

-cell <arg> - (Optional) Instructs the tool to output the contents of the specified hierarchical cell into a checkpoint file. Only one cell can be specified for output.

-logic_function_stripped - (Optional) Hides the INIT values for LUTs and RAMs by converting them to fixed values. This creates a checkpoint for debug purposes that does not behave as expected during simulation or synthesis. The fixed value uses hex values 6 and 9 (binary 0110 and 1001 respectively) to represent a XOR function and enable constant propagation. For example, a 64-bit value will be changed to 64'h6996966996696996.
Note: The INIT values are not changed if they already match this pattern.

-encrypt - (Optional) Encrypt the checkpoint netlist.

-key <arg> - (Optional) Specify the key to use in encrypting and decrypting the checkpoint. If not specified, the Xilinx™ public key is used by default.

-incremental_synth - (Optional) Enable the synthesis checkpoint to be used for incremental synthesis. The checkpoint must be enabled for incremental synthesis to be used for subsequent incremental synthesis runs.

-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.

<file> - (Required) The name of the checkpoint file to be created. A .dcp extension will be added if no extension is specified.

Note: If the path is not specified as part of the file name, the file will be written into the current working directory, or the directory from which the tool was launched.


The following example creates the specified checkpoint file, overwriting a file of the same name if one already exists:

write_checkpoint C:/Data/checkpoint1 -force
Note: The tool will add the .dcp extension to the specified file name, and will overwrite an existing checkpoint1.dcp file.

See Also