Project Mode and Non-Project Mode - 2022.2 English

Vivado Design Suite User Guide: Using the Vivado IDE (UG893)

Document ID
Release Date
2022.2 English

There are two design flow modes available in the Vivado Design Suite: Project Mode and Non-Project Mode. In general, you run Project Mode in the Vivado IDE. In this mode, you create a project in the IDE, and the Vivado IDE automatically saves the state of the design, generates reports and messaging, and manages source files. In general, you run Non-Project Mode using Tcl commands or scripts. In this mode, you have full control of the design flow, but the Vivado tools do not automatically manage source files or report the design state. However, in Non-Project Mode, you can open the Vivado IDE at each design stage for design analysis and constraints assignment. You are viewing the active design in memory, so any changes are automatically passed forward in the flow. You can save updates to new constraint files or design checkpoints. For more information, see the Vivado Design Suite User Guide: Design Flows Overview (UG892).

In Project Mode, the Vivado IDE supports several features that are not available in Non-Project Mode:

  • Source file management and status
  • Flow Navigator and Project Summary
  • Consolidated Messages and automatically generated standard reports
  • Cross probing back to RTL
  • Storage of tool settings and design configuration
  • Experimentation with multiple synthesis and implementation runs
  • Use and management of constraint sets
  • Run results management and status
  • IP configuration and integration with the IP catalog

These features provide several advantages from an ease-of-use perspective. For example, when opening a previously created project in the Vivado IDE, you see the current state of the design, run results, and previously generated reports and messages. Using the Flow Navigator, a single click on Generate Bitstream synthesizes and implements the design, and generates a bitstream file. In addition, you can cross probe from an error message directly to the source file.