copy_bd_objs - 2021.2 English

Vivado Design Suite Tcl Command Reference Guide (UG835)

Document ID
Release Date
2021.2 English

Make copies of the objects and add the copies to the given hierarchical cell.


copy_bd_objs [‑prefix <arg>] [‑from_design <arg>] [‑quiet] [‑verbose]
    <parent_cell> <objects>...


0, "" if failed.


Name Description
[-prefix] Prefix name to add to cells
[-from_design] The design to own the original objects
[-quiet] Ignore command errors
[-verbose] Suspend message limits during command execution
<parent_cell> Parent cell
<objects> The objects to copy




Use this command to copy IP integrator objects from one open subsystem design to a second subsystem design. The selected objects can be copied into the top-level of the current subsystem design, or into an existing hierarchical module.

Because get_bd_cells, and other commands like it, operate on the current subsystem design, you must store the objects to be copied in a Tcl variable, as shown in the example below. Set the current subsystem design to the source design, select the group of objects to be copied, and store them in a Tcl variable. Then change the current_bd_design to the target design, and copy the selected objects. In this case, the -from_design option must be used.

You can also use this command to copy objects from one level of hierarchy in the current subsystem design to another. In this case, the -from_design argument does not need to be specified.

This command returns 0 if successful, and returns an error if it failed.


-prefix <arg> - (Optional) A prefix name to apply to any cells that are copied into the hierarchical module.

-from_design <arg> - (Optional) The name of the IP integrator subsystem design where the specified objects are located. The design must be open in IP integrator. If -from_design is not specified, the objects are located in the current design, as determined by the current_bd_design command.

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

<parent_cell> - (Required) The name of the hierarchical module to copy the specified objects into. You can specify "/" for the top-level of the current subsystem design.

<objects> - (Required) The list of cells and nets specified by the get_bd_cells and get_bd_nets commands, to copy into the specified <parent_cell>.


The following example sets the current subsystem design, selects a group of objects, and stores them in a Tcl variable. The current subsystem design is then changed, and the selected objects are copied into the top-level of the current design:
current_bd_design myDesign
set copyObjs [get_bd_cells {vidOut_1 bridge_1}]
/vidOut_1 /bridge_1
current_bd_design design_1
copy_bd_objs -from_design myDesign / $copyObjs
Note: Because the get_bd_cells command only returns cells from the current subsystem design, the Tcl variable is used to store those objects prior to switching to the target design with current_bd_design.