Create a new project
Syntax
create_project [‑part <arg>] [‑force] [‑in_memory] [‑ip] [‑rtl_kernel]
[‑quiet] [‑verbose] [<name>] [<dir>]
Returns
new project object
Usage
Name | Description |
---|---|
[-part]
|
Target part |
[-force]
|
Overwrite existing project directory |
[-in_memory]
|
Create an in-memory project |
[-ip]
|
Default GUI behavior is for a managed IP project |
[-rtl_kernel]
|
Default GUI behavior is for a RTL Kernel project |
[-quiet]
|
Ignore command errors |
[-verbose]
|
Suspend message limits during command execution |
[<name>]
|
Project name |
[<dir>]
|
Directory where the project file is saved Default: . |
Categories
Description
Creates a Vivado Design Suite project file (.xpr), or a project file for the Vivado Lab Edition (.lpr), in the specified directory.
create_project
command has a different command syntax, with fewer options, in the Vivado Lab Edition. The options that are not supported in Vivado Lab Edition are:
-
-part
- The Vivado Lab Edition project (.lpr) does not specify a target part because thecurrent_hw_target
andcurrent_hw_device
determine the target part. -
-ip
- The Vivado Lab Edition does not define projects for the Managed IP flow.
DESIGN_MODE
Property on the source fileset when the project is created. To change the project type, use the set_property
command to set the DESIGN_MODE
property on the current_fileset
as follows:
- RTL Project -
set_property DESIGN_MODE RTL [current_fileset]
- Netlist Project -
set_property DESIGN_MODE GateLvl [current_fileset]
- I/O Planning Project -
set_property DESIGN_MODE PinPlanning [current_fileset]
Refer to the Vivado Design Suite User Guide: System-Level Design Entry (UG895) for more information on the different types of projects.
This command returns a transcript of its process and the name of the created project, or returns an error if it fails.
Arguments
-part
<arg> - (Optional) Specifies the Xilinx part to be used for the project. This can be changed after the project is created. If the -part
option is not specified, the default part will be used. This option is not supported in Vivado Lab Edition.
-force
- (Optional) This option is required to overwrite an existing project. If the project name is already define in the specified <dir> then you must also specify the -force
option for the tool to overwrite the existing project.
close_project
command prior to running create_project
.-in_memory
- (Optional) Specifies that the project should be created in the in-memory database of the Vivado Design Suite to support the Non-Project design flow. This project will not result in a project file or directory structure being written to disk. The purpose of the in-memory project is to allow properties usually associated with a project-based design to be associated with the in-memory design of the non-project design flow.
-in_memory
is not part of the standard non-project design flow, and may cause unexpected behaviors in the Vivado tools. For more information on Non-Project Mode refer to the Vivado Design Suite User Guide: Design Flows Overview (UG892).
-ip
- (Optional) Create a project for the Managed IP flow for exploring IP in the IP catalog, customizing IP, and managing a repository of configured IP. Refer to the Vivado Design Suite User Guide: Designing with IP (UG896) for more information on the Managed IP flow. This option is not supported in Vivado Lab Edition.
-rtl_kernel
- (Optional) Specifies the creation of the project is for use in defining an RTL kernel for the Vitis core development kit.
-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.
-verbose
- (Optional) Temporarily override any message limits and return all messages from this command.
set_msg_config
command.set_property
command to set the DESIGN_MODE property to change the project from an RTL source project to a Netlist or an I/O Pin Planning project.Examples
create_project project1 myDesigns
create_project project1 myDesigns
-force
is changed to show the flexibility of argument placement.
create_project Proj1 C:/Designs/FPGA -force
-or-
create_project Proj1 -force C:/Designs/FPGA
-or-
create_project -force Proj1 C:/Designs/FPGA
create_project -ip manageIP C:/Data
DESIGN_MODE
property as required for an I/O Pin Planning project, and finally opens an IO design:
create_project pin_project C:/Designs/PinPlanning
set_property design_mode PinPlanning [current_fileset]
open_io_design -name io_1