Question

Quel outil de gestion de configuration est le meilleur pour FPGA conçoit, spécialement programmé Xilinx FPGA avec VHDL et C pour le logiciel embarqué (Microblaze)?

Était-ce utile?

La solution

Je ne pense pas qu'il importe beaucoup quel outil de contrôle de révision que vous utilisez - tout ce que vous considérez bien en général sera probablement OK ici. Personnellement, j'utiliser Git pour un projet de logiciel non négligeable Verilog +, et je suis très heureux avec elle.

Qu'est-ce qui vous mordre dans le cul - peu importe ce que le contrôle de version que vous utilisez - est la suivante: Les outils Xilinx ne respectent généralement pas une division nette entre « entrée » et « sortie » ou entre (modifiée humaine) " source » et (opaque) "binaire". Un grand nombre des outils comme pour stocker des informations d'état, comme un temps de dernière course ou une valeur de hachage, dans leurs fichiers « entrée » qui signifie que vous aurez beaucoup de faux changements. Coregen le fait à ses fichiers .xco et navigateur de projet (l'interface graphique principale) le fait à ses fichiers .xise. En outre, les deux outils ont l'habitude d'insérer ou de supprimer des lignes pour les paramètres par défaut d'une valeur, apparemment au hasard.

Le plus gros problème que je l'ai rencontré est le flux de travail avec Coregen: Dans de nombreux cas, au moins une des conditions suivantes est remplie:

  1. Vous devez modifier manuellement les fichiers HDL produits par Coregen.
  2. Les paramètres qui sont entrés dans Coregen sont stockés quelque part autre que le fichier .xco (habituellement dans ce qui ressemble à une sortie fichier).
  3. Vous devez copier-coller la sortie de Coregen dans votre conception de haut niveau.

Cela signifie qu'il n'y a pas d'emplacement de source / maître logique unique pour votre contribution au processus de génération de noyau. Donc, même si vous avez le fichier .xco sous contrôle de version, il n'y a pas d'attente que la conception que vous utilisez correspond. Si vous Régénérer noyau « même » de ses entrées nominales, vous ne serez probablement pas obtenir les sorties droite. Et ne pensez même pas à la fusion.

Autres conseils

Il n'y a pas « meilleur », mais des solutions de contrôle de configuration que le travail pour le logiciel sera OK pour FPGA - le flux est très similaire. J'utilise Subversion au travail et git à la maison, et écrit un peu sur « pourquoi » à mon blog .

Dans d'autres réponses, les fichiers binaires continue à obtenir mentionné - les seuls fichiers binaires que je traite sont des produits de compilation (équivalent à l'objet logiciel et executables), donc je ne les garde pas dans le référentiel de contrôle de version, je garde un fichier zip pour chaque version / tag que je crée avec tous les importants (et fâcheusement lent à se reproduire) dans.

Je suggère des outils CM que l'étiquetage de la version de support et les fichiers binaires. La plupart des logiciels d'applications CM sont très bien avec des fichiers texte ASCII. Ils peuvent simplement stocker un fichier « différence » plutôt que le fichier entier pour les mises à jour.

Mes recommandations: PVCS, ClearCase et Subversion. NE PAS UTILISER Microsoft SourceSafe. Je ne l'aime pas parce qu'il ne supporte qu'une seule étiquette par révision.

Je l'ai vu Perforce et Subversion utilisés dans quelques entreprises FPGA intensives.

Nous utilisons Perforce, et sa grande. Vous pouvez avoir votre code vie dans Linux-terre vérifié côte à côte avec vos spécifications et Docs qui vivent dans Windows terre. Et vous obtenez de branchement, étiquettes, etc.

Je l'ai vu tout de Clearcase à RCS utilisé, et il est vraiment tout va bien pour ce genre de chose. L'important est d'obtenir un bon ensemble de l'enregistrement dans les politiques établies pour votre groupe, et assurez-vous qu'ils s'y tenir.

Et ont automatisé des régressions nocturnes. De cette façon, quand quelqu'un enfreint les règles, ils peuvent être identifiés et dénoncées publiquement.

J'ai personnellement utilisé Perforce, Subverion, git et ClearCase pour des projets FPGA. Depuis VHDL et C ne sont que des fichiers texte, tout fonctionne très bien. Cependant assurez-vous de capturer les autres projets et les fichiers et les bibliothèques Contraint que vous utilisez.

Pensez également à ce faire avec les sorties, par exemple fichier journal et des flux binaires. Les deux ont tendance à être grand et les flux binaires sont binaires.

Auparavant, je Subversion mais ai passé à git il y a deux ans. gère Git fichiers de conception FPGA tout aussi bien qu'il gère tous les textes et fichier binaire. Git est tout ce que vous avez besoin pour la version contrôler vos fichiers et artefacts.

Pour la construction des modèles, je vous recommande juste en utilisant un seul projet appelé ISE « ise » (vivant dans un sous-répertoire appelé « ise / »). Vous pouvez jeter un oeil à mon (très modeste) FPGA projet open-source sur GitHub pour la mise en page du fichier. Je ne prends pas la peine de stocker les fichiers ISE du tout, car ils sont faciles à se régénérer. Les seules choses que je les fichiers de sauvegarde sont Verilog et certains fichiers de configuration de forme d'onde ISIM. Dans d'autres projets que l'utilisation Coregen je enregistrer le fichier projet coregen.cgp et tous les scripts du * pour la régénération des noyaux. Puis-je utiliser un Makefile pour Coregen en cours d'exécution en fait sur les fichiers * de .xco. Il y a quelques autres fichiers spécifiques Xilinx vous devriez le contrôle de version trop. * .Ucf, * .coe, * .xcf, etc

J'ai expérimenté avec l'aide Makefiles et les outils de ligne de commande Xilinx mais a constaté que l'ISE a fait beaucoup mieux les dépendances et suivi des travaux d'appeler les outils avec les bons arguments. Il suffit de ne pas faire l'erreur d'essayer de contrôle de version vos ise / fichiers de projet ou vous fou. Xilinx a quelque chose comme 300 types de fichiers différents qui changent chaque version. Si vous souhaitez enregistrer un fichier, vous pouvez essayer le fichier de projet lui-même avec ISE une extension .xise. Tout ce qui est difficile à recréer, comme le bitfile d'or que vous savez qu'il fonctionne et a pris 6 heures pour construire, vous pouvez copier et que la configuration gérer explicitement.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top