Tcl Scripts#
Xilinx uses Tcl to control vivado and vitis by script.
See Xilinx UG835, UG1416 and UG1400 for reference.
All Tcl scripts of the UltraZohm Community are located in the ultrazohm_sw
repository in the folder tcl_scripts
.
The three different kinds of Tcl scripts are differentiated by prefix:
ci_ marks scripts that are used for continuous integration
vivado_ marks scripts for Vivado
vitis_ marks scripts for Vitis
The Vivado scripts can be called from Vivado tcl console (Window -> Tcl console
in Vivado) or choose a Tcl script (Tools -> Run Tcl script...
) as well as the command line in batch mode on linux:
vivado -nolog -nojournal -mode batch -source $NAME.tcl
The settings64.sh
might need to be executed if vivado is not on path after a boot of the system.
The path depends on your install location (e.g. /opt/
instead of /tools/
).
source /tools/Xilinx/Vivado/2020.1/settings64.sh
The Vitis scripts can be called from the XSCT console from Vitis (see ref:vitis_gen_workspace_tcl) or from the command line:
xsct $NAME.tcl
The settings64.sh
might need to be executed if Vitis is not on path after a boot of the system.
The path depends on your install location (e.g. /opt/
instead of /tools/
).
source /tools/Xilinx/Vivado/2020.1/settings64.sh
ci_#
The CI scripts draw from this tutorial.
ci_generate_bitstream.tcl#
Opens the ultrazohm.xpr
Vivado project and runs to design flow to write_bitstream
.
Returns 0
if successful and 1
if not.
vivado_#
vivado_export_xsa.tcl#
Exports the Bitstream (.xsa
file) to the folder in which Vitis expects the current Bitstream (ultrazohm_sw/vitis/vivado_exported_xsa
).
Usage:
Export Bitstream tcl-script#
A TCL script can be added to the Vivado icons to automate the process of exporting the Bitstream since it is a common task.
Tools -> Custom Commands -> Customize Commands
Click on the plus and ender a name, e.g., export_xsa
Click on
Source Tcl file
Path:
~/ultrazohm/ultrazohm_sw/tcl_scripts/vivado_export_xsa.tcl
Click ok
![https://images2.imgbox.com/20/97/ltbV6vKQ_o.gif](https://images2.imgbox.com/20/97/ltbV6vKQ_o.gif)
vitis_#
vitis_update_platform.tcl#
Updates the Vitis workspace after the platform, i.e., the bitstream and the .xsa
file have changed.
Usage:
Open Vitis or launch Vitis from Vivado (
Tools -> Launch Vitis IDE
)Choose the workspace
Path:
~/ultrazohm/ultrazohm_sw/vitis/workspace
Open the XSCT Console in Vitis:
Windows -> Show view... -> XSCT Console
Type the following commands
cd [getws]
source {../../tcl_scripts/vitis_update_platform.tcl}
vitis_generate_UltraZohm_workspace.tcl#
Generates the Vitis Platform workspace for the UltraZohm. Usage:
Open Vitis or launch Vitis from Vivado (
Tools -> Launch Vitis IDE
)Choose the workspace
Path:
~/ultrazohm/ultrazohm_sw/vitis/workspace
Open the XSCT Console in Vitis:
Windows -> Show view... -> XSCT Console
Type the following commands
cd [getws]
source {../../tcl_scripts/vitis_generate_UltraZohm_workspace.tcl}