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.
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
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.
Manufacturer:Xilinx
Product Categories: FPGAs
Lifecycle:Active Active
RoHS: No RoHS
Manufacturer:Xilinx
Product Categories: FPGAs
Lifecycle:Active Active
RoHS: No RoHS
Manufacturer:Xilinx
Product Categories: Memory - Configuration Proms for FPGA's
Lifecycle:Obsolete -
RoHS: No RoHS
Manufacturer:Xilinx
Product Categories: Memory - Configuration Proms for FPGA's
Lifecycle:Obsolete -
RoHS: No RoHS
Manufacturer:Xilinx
Product Categories: CPLDs
Lifecycle:Active Active
RoHS:
Support