create_partition_def - 2023.2 English

Vivado Design Suite Tcl Command Reference Guide (UG835)

Document ID
Release Date
2023.2 English

Create new PartitionDef


create_partition_def ‑name <arg> ‑module <arg> [‑library <arg>] [‑quiet]


Name Description
-name Name of the PartitionDef
-module Module name of the PartitionDef
[-library] Library name of the module of PartitionDef
[-quiet] Ignore command errors
[-verbose] Suspend message limits during command execution


Object, Partition


Important: You must first define the project as a Dynamic Function eXchange (DFX) project by setting the PR_FLOW property on the project to TRUE, or by using the Tools > Enable Partial Reconfiguration command.

The DFX flow lets you create Partition Definitions (partitionDefs) from hierarchical cells in a design, and to specify reconfigurable modules (RMs) to be assigned to these partitionDefs to create a unique configurations of the design based on the combination of the core design and one or more RMs. The PR design flow requires the implementation of each PR configuration, resulting in partial bitstreams for the RMs, but complete bitstreams for each integrated configuration. Refer to the Vivado Design Suite User Guide: Dynamic Function eXchange (UG909) for more information.

The create_partition_def command defines a partitionDef object in a PR project from a specified hierarchical cell. The partitionDef defines a partition hierarchy that RMs can be assigned to for a specific PR configuration.

This command returns the name of the newly created partitionDef, or returns an error if the command fails.


-name <arg> - (Required) The name to assign to the new partitionDef.

-module <arg> - (Required) The name of the hierarchical cell or module in the current project that defines the partitionDef. The hierarchical cell can be specified by name. The module specifies the hierarchical boundary of the partition definition. Reconfigurable modules (RMs) will be defined to fit within the hierarchical boundary of the partitionDef.

-library <arg> - (Optional) Specifies the library name to assign to the partitionDef. If no library is specified, the xil_defaultlib is used.

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


The following example sets the PR_FLOW property on the current project, defines a new partitionDef and assigns the specified module, and then creates the reconfigurable module from the specified hierarchy:

set_property PR_FLOW 1 [current_project]
create_partition_def -name partDef1 -module fftTop \
-library xil_defaultlib
create_reconfig_module -name fftTop -define_from fftTop \
-partition_def [get_partition_defs partDef1]