Vivado build tcl scripts#
The default Vivado project (see Default Vivado project) can be generated using the build.tcl
script.
Additionally, there are some helper scripts to facilitate the update of the build.tcl
script after changes to the Vivado project are done.
Since these scripts are coupled with the paths in the ultrazohm_sw/vivado
folder, they are not included in tcl_scripts
(see Tcl Scripts) but located in ultrazohm_sw/vivado
.
build.tcl#
Generates the UltraZohm Vivado project (ultrazohm.xpr
).
Usage:
Open Vivado
Click on
Window
->Tcl Console
A window on the bottom of Vivado appears (Tcl Console)
Navigate to the location of the
ultrazohm_sw
repository on your local file system usingcd
in the tcl consoleNavigate to
ultrazohm_sw/vivado
in the tcl consoleCall build.tcl with:
source build.tcl
Calling the script leads to Vivado generating the project.
Note
The build.tcl
script assumes that the UltraZohm is equipped with for the TE0808 SoM with an UltraScale 9EG.
This is true for all standard UltraZohm systems, i.e., only special development systems at TH Nürnberg and TU München use other SoMs.
update_tcl_scripts_for_vc.tcl#
This script has to be called to incorporate changes to the default Vivado project into the build.tcl
script.
Warning
Only call update_tcl_scripts_for_vc.tcl
if the changed project was build using build.tcl
.
Do not use it if you used another project or a project that was generated using build_selected_target.tcl
!
Workflow:
Build Vivado project using
build.tcl
Make changes to Vivado Project
Save project
call
update_tcl_scripts_for_vc.tcl
Commit the changes
modified: ip_cores/vv_index.xml
modified: vivado/_build.tcl
modified: vivado/bd/_zusys.tcl
modified: vivado/bd/zusys.tcl
modified: vivado/build.tcl
modified: vivado/project/ultrazohm.xpr
modified: vivado/project/zusys/zusys.bd
Compatibility with TE0803#
The default Vivado project is compatible with TE0808 (default with 9EG).
Additionally, TE0803 can be used.
Both SoM are mostly pin compatible but some positive and negative pairs of differential signals that are used as LVDS for A1, A2, and A3 are swapped.
To achieve compatibility, and external IOBUF is used instead of the internal IOBUF of the ADC LTC2311 V3.
Depending on the board version, some of the signals are inverted using a magic constant (A1_inv_Input
) that is set when generating the Vivado project according to the selected SoM (by build_selected_target.tcl
).
build_selected_target.tcl#
Generates the UltraZohm Vivado project (ultrazohm.xpr
) for a specified System-on-a-Module.
Tested are TE0803 with 2EG ("trenz.biz:te0803_2eg_1e:part0:1.0"
) and 3EG ("trenz.biz:te0803_3eg_1e:part0:1.0"
).
Before calling build_selected_target.tcl
, the board_part
has to be changed to the desired SoM:
set board_part "trenz.biz:te0803_2eg_1e:part0:1.0"