Tcl Command Differences in Project Mode and Non-Project Mode - Tcl Command Differences in Project Mode and Non-Project Mode - 2026.1 English - UG892

Vivado Design Suite User Guide: Design Flows Overview (UG892)

Document ID
UG892
Release Date
2026-06-23
Version
2026.1 English

Tcl commands vary depending on the mode you use, and run scripts differ for each mode.

In Non-Project Mode, every operation and tool setting requires individual Tcl commands. This includes setting tool options, running implementation commands, generating reports, and writing design checkpoints. In Project Mode, wrapper commands manage synthesis, implementation, and reporting steps.

In Project Mode, you add sources using the add_files Tcl command for project management. You can copy files into the project to store separate versions or reference them remotely. In Non-Project Mode, you use read_verilog, read_vhdl, read_xdc, and read_* and related commands to read source files from their current locations.

In Project Mode, the launch_runs command starts tools with preconfigured run strategies and generates standard reports. This provides consolidated implementation commands, standard reporting, use of run strategies, and run status tracking. You can also run custom Tcl commands before or after each design step. Vivado stores and manages run results automatically within the project. In Non-Project Mode, you run individual commands, such as opt_design, place_design, and route_design.

Many Tcl commands work in either mode, including reporting commands. Some commands are specific to one mode and must not be mixed when creating scripts. For example, in Project Mode, avoid base-level commands like synth_design, which are specific to Non-Project Mode. Using Non-Project Mode commands in Project Mode prevents database updates and automatic report generation.

Note: Project Mode includes GUI operations, which usually execute a Tcl command. These commands appear in the Vivado IDE Tcl Console and are recorded in the vivado.jou file. You can use this file to develop scripts for either mode.

The following figure shows the difference between Project Mode and Non-Project Mode Tcl commands.

Figure 1. Project Mode and Non-Project Mode Commands