Comment versionner son projet vivado ?

Alors voila, vous avez bien avancé dans votre projet FPGA avec Vivado. Mais vous souhaiteriez le conserver et surtout le versionner de manière à pouvoir le reproduire et le réutiliser ailleurs.

Le document xapp1165 de Xilinx donne la marche à suivre, il suffit de lire le chapitre «project mode».
Voici un petit résumé:

write_project_tcl

Tout d’abord il faut bien sûr lancer vivado et ouvrir son projet. Une fois cela fait, il faut se rendre dans la console tcl et lancer la commande write_project_tcl:


write_project_tcl monprojetperso_project
INFO: [Vivado-projutils-8] Tcl script 'monprojetperso_project.tcl' generated in output directory '/usr/local/opt/Xilinx/Vivado/2016.2/bin'

INFO: [Vivado-projutils-15] Please note that by default, the file path for the project source files were set wrt the 'origin_dir' variable in the
 generated script. When this script is executed from the output directory, these source files will be referenced wrt this 'origin_dir' path value.
 In case this script was later physically moved to a different directory, the 'origin_dir' value MUST be set manually in the script with the path
 relative to the new output directory to make sure that the source files are referenced correctly from the original project. You can also set the
 'origin_dir' automatically by setting the 'origin_dir_loc' variable in the tcl shell before sourcing this generated script. The 'origin_dir_loc'
 variable should be set to the path relative to the new output directory. Alternatively, if you are sourcing the script from the Vivado command line,
 then set the origin dir using '-tclargs --origin_dir '. For example, 'vivado -mode tcl -source monprojetperso_project.tcl -tclargs --origin_dir ".."

WARNING: [Vivado-projutils-10] Found source(s) that were local or imported into the project. If this project is being source controlled, then
 please ensure that the project source(s) are also part of this source controlled data. The list of these local source(s) can be found in the generated script
 under the header section.

Un message d’information nous indique où se trouve le script tcl ainsi généré (ici : /usr/local/opt/Xilinx/Vivado/2016.2/bin). Il suffit donc de copier ce script dans le répertoire que nous souhaitons versionner.

cd ~/monprojet/
cp /usr/local/opt/Xilinx/Vivado/2016.2/bin/monprojetperso_project.tcl

Mais ça n’est pas le seul fichier que nous devons versionner si nous souhaitons pouvoir le reconstruire. Les autres fichiers à sauvegarder son indiquer dans l’entête du script :

#*****************************************************************************************
# NOTE: In order to use this script for source control purposes, please make sure that the
#       following files are added to the source control system:-
#
# 1. This project restoration tcl script (monprojetperso_project.tcl) that was generated.
#
# 2. The following source(s) files that were local or imported into the original project.
#    (Please see the '$orig_proj_dir' and '$origin_dir' variable setting below at the start of the script)
#
#    
#
# 3. The following remote source files that were added to the original project:-
#
#    "/usr/local/projects/monprojetperso/hardware/monprojetpersomonoproc/monprojetperso/monprojetperso.srcs/sources_1/bd/pea_monprojetperso/pea_monprojetperso.bd"
#    "/usr/local/projects/monprojetperso/hardware/monprojetpersomonoproc/monprojetperso/monprojetperso.srcs/sources_1/imports/hdl/pea_monprojetperso_wrapper.vhd"
#    "/usr/local/projects/monprojetperso/hardware/monprojetpersomonoproc/monprojetperso/monprojetperso.srcs/sources_1/bd/pea_monprojetperso/ip/pea_monprojetperso_mig_7series_0_0/mig_a.prj"
#    "/usr/local/projects/monprojetperso/hardware/monprojetpersomonoproc/monprojetperso/monprojetperso.srcs/sources_1/bd/pea_monprojetperso/ip/pea_monprojetperso_mig_7series_0_0/mig_b.prj"
#    "/usr/local/projects/monprojetperso/hardware/monprojetpersomonoproc/monprojetperso/monprojetperso.srcs/constrs_1/new/monprojetperso_constraints.xdc"
#
#*****************************************************************************************

Pour il suffira donc de copier les fichiers indiqués dans notre répertoire projet et de modifier le script pour ajuster les path.
Une meilleurs explication sur le blog de xillibus.

Ce contenu a été publié dans fpga, Non classé. Vous pouvez le mettre en favoris avec ce permalien.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *