This website uses cookies. By using this site, you consent to the use of cookies. For more information, please take a look at our Privacy Policy.
Home > FPGA Technical Tutorials > Designing with Xilinx FPGAs Using Vivado > Vivado Design Tools > GUI, Command Line, and Tcl

TABLE OF CONTENTS

Xilinx FPGA FPGA Forum

GUI, Command Line, and Tcl

FONT SIZE : AAA

Vivado offers a fully interactive graphical user interface to allow you to more easily manage your design sources and go through all phases of the design fl ow. Vivado also supports doing all these operations in a non-GUI, command-line environment. The common connection between these two interfaces is the Tcl commands that drive Vivado. Almost all operations performed during the GUI mode end up issuing a Tcl command to the core Vivado engine . These commands are shown in the Tcl console in the GUI and are also captured in a journal fi le, which is typically located where Vivado was started from, and the fi le is named vivado.jou . When working in command-line mode, these Tcl commands can be issued directly without needing the presence of a GUI. 

Interaction with Project/Non-Project

While it is common for GUI-based users to typically use the project mode, it is also possible to execute the fl ows in non-project mode while being in the GUI. Similarly, command-line users can choose to use either project mode or non-project mode. 

The Tcl commands supported for project mode are higher level, macro style com- mands which perform many functionalities under a single command. The Tcl com- mands for the non-project mode, on the other hand, are more granular WYSIWYG (what you see is what you get) type of commands which only perform the specifi ed operation, no more no less. Some project mode commands actually use many non-project commands internally to perform the desired operation. This explains the comment in Sect. 2.1 that project mode in Vivado is actually built on top of the non- project mode. 

Scripts 1 and 2 are example scripts for project mode and non-project mode, which both perform the same operation, but the non-project script is more verbose since it uses more granular commands. 


Script 1: Project mode example Tcl script

   create_project project_1

   add_fi les top.v child.v

   launch_runs -to_step write_bitstream impl_1

   close_project


Script 2: Non-Project Mode Tcl Script

   read_verilog top.v

   read_verilog child.v

   synth_design -top top

   opt_design

   place_design

   route_design

   report_timing_summary

   write_checkpoint top_routed.dcp

   write_bitstream top.bit

Runs Infrastructure

In the Script 1 and Script 2 examples, the launch_runs command is a macro command which is part of the Vivado runs infrastructure . This command internally creates a Tcl script which looks similar to the non-project example Script 2 and automatically launches this script with a new Vivado session to execute the flow.

Runs infrastructure allows managing the output products from design fl ow auto- matically. It also maintains status of the fl ow execution, such that if a design source fi le changes, it automatically lets you know that the previously generated output product is now out-of-date and if you relaunch the end step of a run, it automatically determines which previous steps need to be performed fi rst and executes them automatically. 

The runs infrastructure also allows parallel execution of independent portions of the design fl ows to complete the overall fl ow quicker. These parallel runs can be executed on multiple processors in the same host machine, or if a compute farm like LSF or GRID is available, the multiple runs can be executed on different host machines in the compute farm. 


 


  • XC4VLX25-12FF668C

    Manufacturer:Xilinx

  • FPGA Virtex-4 LX Family 24192 Cells 90nm Technology 1.2V 668-Pin FCBGA
  • Product Categories: FPGAs

    Lifecycle:Active Active

    RoHS: No RoHS

  • XC4VLX40-10FF1148C

    Manufacturer:Xilinx

  • FPGA Virtex-4 LX Family 41472 Cells 90nm Technology 1.2V 1148-Pin FCBGA
  • Product Categories: FPGAs

    Lifecycle:Active Active

    RoHS: No RoHS

  • XC17V01SO20I

    Manufacturer:Xilinx

  • PROM Parallel/Serial 1.6M-bit 3.3V 20-Pin SOIC
  • Product Categories: Memory - Configuration Proms for FPGA's

    Lifecycle:Obsolete -

    RoHS: No RoHS

  • XC17V02PC20I

    Manufacturer:Xilinx

  • PROM Parallel/Serial 2M-bit 3.3V 20-Pin PLCC
  • Product Categories: Memory - Configuration Proms for FPGA's

    Lifecycle:Obsolete -

    RoHS: No RoHS

  • XCR3384XL-7TQG144C

    Manufacturer:Xilinx

  • CPLD CoolRunner XPLA3 Family 9K Gates 384 Macro Cells 135MHz 0.35um Technology 3.3V 144-Pin TQFP
  • Product Categories: CPLDs

    Lifecycle:Active Active

    RoHS:

Need Help?

Support

If you have any questions about the product and related issues, Please contact us.