
Vivado Design Suite Tcl
Command Reference Guide
UG835 (v2021.2) October 22, 2021
See all versions
of this document
Xilinx is creating an environment where employees, customers, and
partners feel welcome and included. To that end, we’re removing non-
inclusive language from our products and related collateral. We’ve
launched an internal initiative to remove language that could exclude
people or reinforce historical biases, including terms embedded in our
software and IPs. You may still find examples of non-inclusive
language in our older products as we work to make these changes and
align with evolving industry standards.

Revision History
The following table shows the revision history for this document:
Section
Revision Summary
10/22/2021 Version 2021.2
create_testbench, export_xsim_coverage, generate_vcd_ports, tandem_verify,
terminate_runs, wait_on_runs
Commands Added in 2021.2
add_to_power_rail, checkpoint_vcd, close_vcd, create_power_rail, flush_vcd,
launch_simulation, limit_vcd, log_vcd, open_vcd, place_design,
program_hw_devices, read_checkpoint, report_design_analysis,
report_qor_assessment, report_qor_suggestions, start_vcd, stop_vcd,
synth_design, write_bd_tcl, write_checkpoint
Commands Modified in 2021.2
combine_hw_platforms, wait_on_run, write_hwdef Commands Removed in 2021.2
06/16/2021 Version 2021.1
copy_constraints, create_single_pass_run, get_constant_paths,
report_constant_paths, report_sim_version, upgrade_project,
write_xsim_coverage
Commands Added in 2021.1
combine_hw_platforms, compile_simlib, config_ip_cache,
create_cluster_configuration, create_hw_device, create_slack_histogram,
create_waiver, export_simulation, find_routing_path, get_bels,
implement_mig_cores, implement_xphy_cores, iphys_opt_design, place_design,
read_iphys_opt_tcl, report_clock_interaction, report_design_analysis,
report_exceptions, report_methodology, report_qor_assessment,
report_qor_suggestions, save_bd_design_as, validate_bd_design,
write_qor_suggestions, write_xdc, xsim
Commands Modified in 2021.1
create_rqs_run Commands Removed in 2021.1
Revision History
UG835 (v2021.2) October 22, 2021 www.xilinx.com
Vivado Design Suite Tcl Command Reference Guide: 2
Send Feedback

Chapter 1
Introduction
Navigating Content by Design Process
Xilinx
®
documentaon is organized around a set of standard design processes to help you nd
relevant content for your current development task. All Versal™ ACAP design process Design
Hubs can be found on the Xilinx.com website. This document covers the following design
processes:
• Hardware, IP, and Plaorm Development: Creang the PL IP blocks for the hardware
plaorm, creang PL kernels, funconal simulaon, and evaluang the Vivado
®
ming,
resource use, and power closure. Also involves developing the hardware plaorm for system
integraon.
• System Integraon and Validaon: Integrang and validang the system funconal
performance, including ming, resource use, and power closure.
• Board System Design: Designing a PCB through schemacs and board layout. Also involves
power, thermal, and signal integrity consideraons.
Overview of Tcl Capabilities in Vivado
The Tool Command Language (Tcl) is the scripng language integrated in the Vivado
®
tool
environment. Tcl is a standard language in the semiconductor industry for applicaon
programming interfaces, and is used by Synopsys
®
Design Constraints (SDC).
SDC is the mechanism for communicang ming constraints for FPGA synthesis tools from
Synopsys Synplify as well as other vendors, and is a ming constraint industry standard;
consequently, the Tcl infrastructure is a “Best Pracce” for scripng language.
Tcl lets you perform interacve queries to design tools in addion to execung automated
scripts. Tcl oers the ability to “ask” quesons interacvely of design databases, parcularly
around tool and design sengs and state. Examples are: querying specic ming analysis
reporng commands live, applying incremental constraints, and performing queries immediately
aer to verify expected behavior without re-running any tool steps.
Chapter 1: Introduction
UG835 (v2021.2) October 22, 2021 www.xilinx.com
Vivado Design Suite Tcl Command Reference Guide: 3
Send Feedback

The following secons describe some of the basic capabilies of Tcl with Vivado.
Note: This manual is not a comprehensive reference for the Tcl language. It is a reference to the specic
capabilies of the Vivado Design Suite Tcl shell, and provides reference to addional Tcl programming
resources.
Launching the Vivado Design Suite
You can launch the Vivado Design Suite and run the tools using dierent methods depending on
your preference. For example, you can choose a Tcl script-based compilaon style method in
which you manage sources and the design process yourself, also known as Non-Project Mode.
Alternavely, you can use a project-based method to automacally manage your design process
and design data using projects and project states, also known as Project Mode. Either of these
methods can be run using a Tcl scripted batch mode or run interacvely in the Vivado IDE. For
more informaon on the dierent design ow modes, see the Vivado Design Suite User Guide:
Design Flows Overview (UG892).
Tcl Shell Mode
If you prefer to work directly with Tcl commands, you can interact with your design using Tcl
commands with one of the following methods:
• Enter individual Tcl commands in the Vivado Design Suite Tcl shell outside of the Vivado IDE.
• Enter individual Tcl commands in the Tcl Console at the boom of the Vivado IDE.
• Run Tcl scripts from the Vivado Design Suite Tcl shell.
• Run Tcl scripts from the Vivado IDE.
Use the following command to invoke the Vivado Design Suite Tcl shell either at the Linux
command prompt or within a Windows Command Prompt window:
vivado -mode tcl
TIP:
On Windows, you can also select Start → All Programs → Xilinx Design Tools → Vivado yyyy.x →
Vivado yyyy.x Tcl Shell, where “yyyy.x” is the installed version of Vivado.
For more informaon about using Tcl and Tcl scripng, see the Vivado Design Suite User Guide:
Using the Tcl Scripng Capabilies (UG894). For a step-by-step tutorial that shows how to use Tcl
in the Vivado tool, see the Vivado Design Suite Tutorial: Design Flows Overview (UG888).
Chapter 1: Introduction
UG835 (v2021.2) October 22, 2021 www.xilinx.com
Vivado Design Suite Tcl Command Reference Guide: 4
Send Feedback

Tcl Batch Mode
You can use the Vivado tools in batch mode by supplying a Tcl script when invoking the tool. Use
the following command either at the Linux command prompt or within a Windows Command
Prompt window:
vivado -mode batch -source <your_Tcl_script>
The Vivado Design Suite Tcl shell will open, run the specied Tcl script, and exit when the script
completes. In batch mode, you can queue up a series of Tcl scripts to process a number of
designs overnight through synthesis, simulaon, and implementaon, and review the results on
the following morning.
You can also pass arguments to the Vivado command when sourcing a Tcl script in batch mode.
The -tclargs opon lets you specify arguments for the Tcl script you are running. For example:
vivado -mode batch -source script.tcl -tclargs "FPGA=115-2"
IMPORTANT! You must enclose the Tcl argument and value in quotes as shown in the example above, or
there can be an error in handling the argument.
Vivado IDE Mode
You can launch the Vivado Design Suite and run the tools using dierent methods depending on
your preference. For example, you can choose a Tcl script-based compilaon style method in
which you manage sources and the design process yourself, also known as Non-Project Mode.
Alternavely, you can use a project-based method to automacally manage your design process
and design data using projects and project states, also known as Project Mode. Either of these
methods can be run using a Tcl scripted batch mode or run interacvely in the Vivado IDE. For
more informaon on the dierent design ow modes, see the Vivado Design Suite User Guide:
Design Flows Overview (UG892).
If you prefer to work in a GUI, you can launch the Vivado IDE from Windows or Linux. For more
informaon on the Vivado IDE, see the Vivado Design Suite User Guide: Using the Vivado IDE
(UG893).
Launch the Vivado IDE from your working directory. By default the Vivado journal and log les,
and any generated report les, are wrien to the directory from which the Vivado tool is
launched. This makes it easier to locate the project le, log les, and journal les, which are
wrien to the launch directory.
In the Windows OS, select Start → All Programs → Xilinx Design Tools → Vivado yyyy.x → Vivado
yyyy.x Tcl Shell, where “yyyy.x” is the installed version of Vivado.
TIP:
You can also double-click the Vivado IDE shortcut icon on your Windows desktop.
Chapter 1: Introduction
UG835 (v2021.2) October 22, 2021 www.xilinx.com
Vivado Design Suite Tcl Command Reference Guide: 5
Send Feedback