Je viens de dire que j'utilise Vivado dans un nouveau projet et je voudrais mettre les fichiers du projet sous SVN.
Vivado semble créer tous les fichiers du projet sous le nom du projet (disons proj1):
/<path to the project>/proj1/
proj1.xpr
proj1.srcs/
constrs_1/
new/
const1.xdc
proj1.runs/
proj1.data/
proj1.cache/
Ma question est quels sont les fichiers que je dois mettre sous SVN autres que le XDC et le fichier XPR?
Réponses:
Xilinx crée une vidéo YouTube (soupir) pour y faire face. Voici le lien de la vidéo
http://www.xilinx.com/training/vivado/vivado-version-control-overview.htm
Voici mon résumé de la vidéo (8 minutes)
Avant de commencer
Si vous aimez vraiment le contrôle total, Xilinx vous suggère de renoncer entièrement à l'interface graphique et de tout faire sur la ligne de commande, puis vous savez ce qui est source et ce qui ne l'est pas.
Sinon, Xilinx se rend compte que les projets Vivado ne sont pas conçus pour le contrôle de version. NE VÉRIFIEZ PAS L'INTÉGRALITÉ DU PROJET. Mais lisez la suite pour des conseils ...
Référence
Bien sûr, tout ce que vous écrivez en dehors de l'outil Vivado doit être archivé.
Archivez les fichiers suivants
Blocs IP
Si vous utilisez des blocs IP, générez l'adresse IP dans un dossier unique et archivez tout.
Points de contrôle
Si vous souhaitez pouvoir réexécuter des parties du flux sans tout exécuter, archivez les fichiers de point de contrôle.
Mon addendum
Si les outils Xilinx étaient efficaces, je ne recommanderais pas d'archiver les fichiers dcp, mais ils prennent tellement d'heures à fonctionner, cela pourrait valoir la peine au prix d'un système de contrôle de version laid.
La vidéo ne dit pas squat sur les fichiers du projet Vivado (* .xpr) alors voici ma suggestion:
L'alternative que Xilinx recommande (qui est vraiment un hack, ne convient pas au contrôle de version) est d'exécuter la
File -> Write Project Tcl
commande chaque fois que vous souhaitez valider, puis de valider ce fichier TCL en contrôle de version. Lorsque vous mettez à jour votre dossier local, vous devez réexécuter ce fichier TCL pour créer tous les fichiers de projet. Beurk.la source
Vivado 2014.1 permet l'utilisation de scripts .tcl pour régénérer des projets.
Pour ce faire, avec votre projet ouvert, allez Fichier -> Écrire le projet tcl.
Projets de base
Je stocke généralement mes sources et mon script .tcl dans un emplacement en dehors du répertoire du projet. Les cœurs IP xilinx générés dans le projet peuvent être copiés ailleurs en cliquant avec le bouton droit sur le cœur et en sélectionnant "Copier IP". Et en supprimant l'original. Lorsque le script tcl est généré, il crée des liens relatifs vers ces fichiers. Voici généralement à quoi ressemble la structure de mon répertoire:
Seuls les fichiers IP .xml et .xci doivent être validés. (Et même cela n'est pas nécessaire, techniquement, voir les notes à la fin).
C'est ce qui s'engage à git, notez le manque de project.xpr ou de répertoires de projet.
Lorsque je cours
genproject.tcl
, il crée un autre répertoire pour le projet.Ce nouveau dossier est entièrement jetable. Afin de créer cette structure, je modifie le script tcl de la manière suivante.
Je change les 3 premières lignes comme suit:
Cela crée un nouveau répertoire de projet et le nouveau projet dans ce répertoire.
Ensuite, je modifie les chemins pour pointer vers les bons endroits. Vous devrez peut-être modifier ces chemins à d'autres endroits du script.
Je modifie également les cycles de conception pour les cœurs IP comme indiqué dans cette réponse .
Les fichiers .wcfg peuvent être inclus d'une manière similaire à l'ip et au srcs.
C'est là que le traitement se termine pour des projets plus simples (contenant uniquement des sources et IP, pas de diagrammes). Les opérations suivantes doivent également être effectuées afin de stocker les données du diagramme.
Projets de diagramme
Pour enregistrer le diagramme, avec le diagramme ouvert, allez Fichier -> Exporter -> Diagramme de blocs vers Tcl, et enregistrez-le dans le même répertoire que l'autre fichier tcl.
Ensuite, j'ai créé un
Generate_Wrapper.tcl
script qui crée les fichiers d'encapsulation du diagramme pour que vous n'ayez pas besoin de le faire manuellement. Le dossier project / project.srcs est utilisé pour stocker les données bd, mais il est toujours complètement jetable, car le bd est stocké dans le script tcl. Enregistrez cela avec les deux autres.À la fin de mon,
genproject.tcl
j'ajoute les lignes suivantes pour générer le diagramme et les wrappers:Pour les projets sans source (juste un diagramme), mon git commit est juste le suivant:
Pour tout générer, lancez
genproject.tcl
.Vous pouvez même combiner tous ces éléments en un seul si vous êtes particulièrement efficace, je n'y suis pas encore arrivé.
Composants personnalisés: le projet de composants
Une autre note rapide sur la création d'un composant personnalisé. Si vous avez un component.xml, ajoutez-le à votre liste de sources tcl:
Et puis ajoutez également la section suivante:
Cela inclut la conception des composants dans le projet pour une personnalisation facile.
Composants personnalisés: référencer votre composant
Vous pouvez espacer votre chemin de dépôt de composants personnalisé comme ceci:
Dans mon dossier repo, il y a des dossiers individuels contenant des fichiers .xml. Vous ne faites donc pas référence au dossier contenant le .xml, mais au parent de celui-ci. Par exemple:
Comment exécuter ces scripts tcl?
Ouvrez Vivado et sans ouvrir aucun projet, sélectionnez Outils -> Exécuter le script TCL et accédez à votre script.
Notes TCL supplémentaires
Chaque commande que vous exécutez dans Vivado est affichée dans la console tcl en tant que commande tcl. Par exemple, lorsque j'ai généré une nouvelle adresse IP Xilinx à l'aide de l'interface graphique, cela est apparu dans la console tcl:
Cela signifie plusieurs choses:
Vous n'avez même pas vraiment besoin d'enregistrer les cœurs ip xilinx - une fois qu'ils sont comme vous le souhaitez, copiez les commandes dans le script tcl et vous n'avez plus besoin de valider ip /.
spécifiez le répertoire IP avec l'argument -dir après -module_name pour le placer où vous le souhaitez (par défaut, il est dans project.srcs).
La plupart du temps, tout ce que vous faites dans l'interface graphique peut être fait en tcl, le moyen le plus simple de voir comment xilinx fait les choses est de le faire dans l'interface graphique et de regarder ensuite ce qui se trouve dans la console TCL.
Ce pdf gigantesque détaille toutes les commandes vivado tcl.
la source
Il existe une vidéo de formation Xilinx qui explique comment utiliser les systèmes de contrôle de version avec Vivado. Fondamentalement, la liste des fichiers dépend des fonctionnalités que vous utilisez.
Si vous utilisez une approche scriptée (comme le fait vermaete), vous pouvez demander à Vivado d'écrire tous les fichiers intermédiaires / temporaires dans un répertoire séparé ( voir ici ), afin que vous puissiez facilement les séparer.
Sinon, vous pouvez nettoyer le dossier de construction par Vivado, et tout ce qui reste peut être placé sous contrôle de version.
la source
Veuillez consulter ce fil sur les forums Xilinx:
http://forums.xilinx.com/t5/Implementation/What-files-to-put-under-revision-control-for-consistent-build/td-p/174232
la source