create_reconfig_module - 2022.1 English

Vivado Design Suite Tcl Command Reference Guide (UG835)

Document ID
Release Date
2022.1 English

Create new reconfig Module


create_reconfig_module ‑name <arg> [‑top <arg>] [‑gate_level]
    ‑partition_def <arg> [‑define_from <arg>] [‑define_from_file <arg>]
    [‑quiet] [‑verbose]


Name Description
-name Name of the Reconfig Module
[-top] module name of the top module
[-gate_level] Create Reconfig Module whcih alllows adding DCP/EDIF files only
-partition_def PartitionDef in which reconfig module will be created
[-define_from] Name of the module in the source fileset to be the top of the blockset
[-define_from_file] full path of the top source file in the source fileset for which reconfigurable module to be created.
[-quiet] Ignore command errors
[-verbose] Suspend message limits during command execution


Object, Partition


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

The create_reconfig_module command defines an reconfigurable module (RM) from a specified hierarchical cell, or design file, and assigns it to the specified Partition Definition (partitionDef) in the current project.

The Partial Reconfiguration flow allows RMs to be swapped into and out of a partitionDef to create a unique configuration of the design based on the combination of the core design and an RM. A single partitionDef can have multiple RMs to contain different netlists, constraints, or implementations. Each instance of the partitionDef in the design can be assigned a different RM to support many different configurations. 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.

This command returns the hierarchical name of the newly created RM, or returns an error if the command failed.


-name <arg> - (Required) Specify a name for the reconfigurable module (RM) being created.

-top <arg> - (Optional) Specify the top-level cell that defines the hierarchy of the RM. The cell can be specified by name.

-gate_level - (Optional) Indicates that the RM is defined by a netlist file (EDIF or DCP) rather than by RTL source files.

-partition_def <arg> - (Required) Specify the partitionDef object that the RM is assigned to. The partitionDef can be specified by name, or as an object as returned by the get_partition_defs command.

-define_from <arg> - (Optional) Specify the hierarchical cell in the current project that the RM is defined from. The source files of the specified cell will define the source file contents of the RM. The cell can be specified by name.

-define_from_file <arg> - (Optional) Specify the netlist or DCP file that defines the source for gate-level RM. If the path is not specified as part of the filename, the file will be looked for in the current working directory, or the directory that the Vivado tool was launched from.

-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 example below creates a reconfigurable module with the specified name:
create_reconfig_module -name fftBottom -partition_def \
[get_partition_defs partDef1 ] -top fftTop