create_bd_design - 2023.2 English

Vivado Design Suite Tcl Command Reference Guide (UG835)

Document ID
Release Date
2023.2 English

Create a new design and its top level hierarchy cell with the same name.


create_bd_design [‑dir <arg>] [‑cell <arg>] [‑quiet] [‑verbose] <name>


The newly created design object, "" if failed.


Name Description
[-dir] Directory path for remote BD to be created and managed outside the project
[-cell] hierarchical cell name which sub design to be copied into new design
[-quiet] Ignore command errors
[-verbose] Suspend message limits during command execution
<name> Name of design to create




Create a new IP subsystem design module to add to the current project, and for use with the IP integrator of the Vivado™ Design Suite.

An empty IP subsystem module is created and added to the source files of the current project. The subsystem module and file are created with the specified <name> in the current project at:


This command returns the file path and name of the IP subsystem design created if the command is successful. An error is returned if the command fails.


-dir <arg> - (Optional) Specify the directory to write the block design file to. This lets you create and manage BD files outside of the current project directory structure, and facilitates reuse of block designs across multiple projects.

-cell <arg> - (Optional) Specify a hierarchical bd_cell to use as the source of a new block design. Use this option to create new block design from a portion of an existing design. The cell can be specified by instance name or returned as an object by the get_bd_cells 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.

<name> - The name of the IP subsystem design module to create.


The following example creates a new empty IP subsystem module called design_1, adds the module to the current project, and creates a file called in the sources directory of the project:

create_bd_design design_1