<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://wiki.electroniciens.cnrs.fr/index.php?action=history&amp;feed=atom&amp;title=FPGA_CPLD_%3A_Mon_projet_sur_le_SVN</id>
	<title>FPGA CPLD : Mon projet sur le SVN - Historique des versions</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.electroniciens.cnrs.fr/index.php?action=history&amp;feed=atom&amp;title=FPGA_CPLD_%3A_Mon_projet_sur_le_SVN"/>
	<link rel="alternate" type="text/html" href="https://wiki.electroniciens.cnrs.fr/index.php?title=FPGA_CPLD_:_Mon_projet_sur_le_SVN&amp;action=history"/>
	<updated>2026-05-16T00:24:53Z</updated>
	<subtitle>Historique des versions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.electroniciens.cnrs.fr/index.php?title=FPGA_CPLD_:_Mon_projet_sur_le_SVN&amp;diff=1967&amp;oldid=prev</id>
		<title>Toussaic le 15 avril 2014 à 12:17</title>
		<link rel="alternate" type="text/html" href="https://wiki.electroniciens.cnrs.fr/index.php?title=FPGA_CPLD_:_Mon_projet_sur_le_SVN&amp;diff=1967&amp;oldid=prev"/>
		<updated>2014-04-15T12:17:17Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Vous voulez partager un projet avec le réseau des électroniciens ou écrire une bibliothèque de composants en VHDL, pas de problème! Le SVN est là pour ça.&lt;br /&gt;
&lt;br /&gt;
Pour utiliser le SVN, suivez les instructions à la [[Accueil#OUTILS|page suivante]] selon la plateforme que vous utilisez.&lt;br /&gt;
&lt;br /&gt;
== [[Image:Nuvola filesystems folder.png|48px|link=]] Organisation des répertoires ==&lt;br /&gt;
&lt;br /&gt;
Si vous souhaitez utiliser le SVN, vous devez dans un premier temps vous référer aux différents &amp;quot;_Read_Me.txt&amp;quot; se trouvant dans les répertoires.&lt;br /&gt;
&lt;br /&gt;
*[https://outils.electroniciens.cnrs.fr/websvn/filedetails.php?repname=electronique&amp;amp;path=%2FGroupe_FPGA_CPLD%2F_Read_Me.txt ReadMe du répertoire principal] expliquant l&amp;#039;organisation des répertoires, donnant le nom des contributeurs et les recommandations pour l&amp;#039;ajout des fichiers sources. NB : Vous retrouverez sur cette page la plupart des informations de ce document.&lt;br /&gt;
*[https://outils.electroniciens.cnrs.fr/websvn/filedetails.php?repname=electronique&amp;amp;path=%2FGroupe_FPGA_CPLD%2FProjets%2F_Read_Me.txt ReadMe du répertoire projet] donnant les recommandations pour l&amp;#039;organisation d&amp;#039;un répertoire projet.&lt;br /&gt;
*[https://outils.electroniciens.cnrs.fr/websvn/filedetails.php?repname=electronique&amp;amp;path=%2FGroupe_FPGA_CPLD%2FProjets%2F_Template%2F_Read_Me.txt ReadMe modèle] pour la description d&amp;#039;un projet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
     [https://outils.electroniciens.cnrs.fr/websvn/listing.php?repname=electronique&amp;amp;path=%2FGroupe_FPGA_CPLD%2F&amp;amp;#ab00b1edd4305c651261f3753341e1528 Groupe_FPGA_CPLD]&lt;br /&gt;
        |                              _&lt;br /&gt;
        +--- [https://outils.electroniciens.cnrs.fr/websvn/listing.php?repname=electronique&amp;amp;path=%2FGroupe_FPGA_CPLD%2F_Demos%2F&amp;amp;#af7d7a93bae1deec1b54cf69989799187 _Demos]                   |&lt;br /&gt;
        +--- [https://outils.electroniciens.cnrs.fr/websvn/listing.php?repname=electronique&amp;amp;path=%2FGroupe_FPGA_CPLD%2F_Librairies%2F&amp;amp;#a950867687fc408dcac6c4dfbf341600c _Librairies]              |_ Répertoires communs aux différentes architectures&lt;br /&gt;
        +--- [https://outils.electroniciens.cnrs.fr/websvn/listing.php?repname=electronique&amp;amp;path=%2FGroupe_FPGA_CPLD%2F_Ressources%2F&amp;amp;#a2ca2f5e3bfd0ef658779221f991a99c7 _Ressources]             _|&lt;br /&gt;
        |                              _&lt;br /&gt;
        +--- [https://outils.electroniciens.cnrs.fr/websvn/listing.php?repname=electronique&amp;amp;path=%2FGroupe_FPGA_CPLD%2FHardware%2F&amp;amp;#a7f970e6d52bf9285983403918a4c6f8b Hardware]                 |&lt;br /&gt;
        +--- [https://outils.electroniciens.cnrs.fr/websvn/listing.php?repname=electronique&amp;amp;path=%2FGroupe_FPGA_CPLD%2FTutoriel%2F&amp;amp;#a174b12fcd60f73bf88a76ed5ca2ccde0 Tutoriel]                 |- Dossiers de partage &lt;br /&gt;
        +--- [https://outils.electroniciens.cnrs.fr/websvn/listing.php?repname=electronique&amp;amp;path=%2FGroupe_FPGA_CPLD%2FProjets%2F&amp;amp;#a89a09c5fb4788b2b28276428bc09dfa3 Projets]                 _|&lt;br /&gt;
                |                      _&lt;br /&gt;
                +--- [https://outils.electroniciens.cnrs.fr/websvn/listing.php?repname=electronique&amp;amp;path=%2FGroupe_FPGA_CPLD%2FProjets%2F_Template%2F&amp;amp;#a084b7f312b3de8f2c72a85ec9aa3ecc1 _Template]       _|- Dossier d&amp;#039;exemple pour l&amp;#039;organisation d&amp;#039;un nouveau projet&lt;br /&gt;
                |                      _&lt;br /&gt;
                +--- [https://outils.electroniciens.cnrs.fr/websvn/listing.php?repname=electronique&amp;amp;path=%2FGroupe_FPGA_CPLD%2FProjets%2FWork_In_Progress%2F&amp;amp;#a64649290a9c95f8cb893f9899a614fea Work_In_Progress]_|- Dossier des projets en cours&lt;br /&gt;
                |                      _&lt;br /&gt;
                +--- [https://outils.electroniciens.cnrs.fr/websvn/listing.php?repname=electronique&amp;amp;path=%2FGroupe_FPGA_CPLD%2FProjets%2FRelease%2F&amp;amp;#a2ec74e7ef0aef0553d768164d8910ab6 Release]	      _|- Dossier des versions de projets abouties&lt;br /&gt;
&lt;br /&gt;
Le dossier &amp;#039;&amp;#039;&amp;#039;_Demos&amp;#039;&amp;#039;&amp;#039; contient des fichiers de programmation pour les cartes de développement fournis par les fabricants et des demo &amp;#039;clé en main&amp;#039; faites par les utilisateurs.&lt;br /&gt;
&lt;br /&gt;
Le dossier &amp;#039;&amp;#039;&amp;#039;_Librairies&amp;#039;&amp;#039;&amp;#039; contient des librairies développées par les utilisateurs pour des utilisations communes à différentes architectures.&lt;br /&gt;
&lt;br /&gt;
Le dossier &amp;#039;&amp;#039;&amp;#039;_Ressources&amp;#039;&amp;#039;&amp;#039; contient des fichiers que vous pouvez réutiliser pour vos développements comme des fichiers de contraintes pour les cartes de développement. Il contient aussi des templates pour vos designs.&lt;br /&gt;
&lt;br /&gt;
Le dossier &amp;#039;&amp;#039;&amp;#039;Hardware&amp;#039;&amp;#039;&amp;#039; contient des documentations ou des liens vers les documentations des composants utilisées pour les designs et projets.&lt;br /&gt;
&lt;br /&gt;
Le dossier &amp;#039;&amp;#039;&amp;#039;Tutoriel&amp;#039;&amp;#039;&amp;#039; contient des fichiers et projets utilisés pour les tutoriels, en particulier ceux présents sur le wiki du RdE.&lt;br /&gt;
&lt;br /&gt;
Le dossier &amp;#039;&amp;#039;&amp;#039;Projets&amp;#039;&amp;#039;&amp;#039; regroupe l&amp;#039;ensemble des projets qui sont, soit en cours de développement dans le répertoire &amp;#039;&amp;#039;&amp;#039;Work_In_Progress&amp;#039;&amp;#039;&amp;#039;; ou les versions stables de projets aboutis dans le dossier &amp;#039;&amp;#039;&amp;#039;Release&amp;#039;&amp;#039;&amp;#039;. Le dossier &amp;#039;&amp;#039;&amp;#039;_Template&amp;#039;&amp;#039;&amp;#039; est un répertoire d&amp;#039;exemple à copier pour avoir la même organisation lors de la création d&amp;#039;un nouveau projet.&lt;br /&gt;
&lt;br /&gt;
== [[Image:Nuvola_apps_package_editors.png|48px|link=]] Gestion des sources ==&lt;br /&gt;
&lt;br /&gt;
Lorsque vous ajoutez un projet sur le SVN avec la commande Add, il n&amp;#039;est pas nécessaire d&amp;#039;ajouter l&amp;#039;ensemble des fichiers contenus dans le répertoire de travail. Xilinx ISE génère une multitude de fichiers qui peuvent être regénérés par n&amp;#039;importe quel utilisateur utilisant Xilinx. A plus forte raison, si une personne utilise un autre outil que Xilinx, il n&amp;#039;a pas besoin des fichiers générés par la compilation. Voici la liste des extensions que vous devez ajouter :&lt;br /&gt;
* Fichiers VHD/VHDL : les fichiers sources contenant votre code en VHDL&lt;br /&gt;
* Fichiers XCO (optionnel) : fichiers sources pour les IP, seul ce fichier suffit à regénérer une IP avec sa configuration&lt;br /&gt;
* Fichiers UCF : le ou les fichiers de contraintes selon les plateformes pour lesquelles votre projet a été développé&lt;br /&gt;
* Fichier XISE (optionnel) : fichier XML utilisé par Xilinx ISE pour reconstituer l&amp;#039;arborescence de votre projet (évite de recréer un nouveau projet et d&amp;#039;y ajouter les fichiers sources)&lt;br /&gt;
* Fichiers WCFG (optionnels) : fichiers contenant les signaux à visualiser et leur configuration pour ISIM (permet de gagner du temps pour relancer les simulations)&lt;br /&gt;
* Fichiers TCL/DO (optionnels) : si vous êtes un habitué ou que vous utilisez ModelSim pour vos simulations&lt;br /&gt;
&lt;br /&gt;
Vous devez aussi ajouter certains fichiers si vous utilisez des RAM/ROM comme les fichiers COE et MIF contenant les données initialisant ces dernières.&lt;br /&gt;
&lt;br /&gt;
== [[Image:Ciências sociais.png|70px|link=]] Conventions de programmation ==&lt;br /&gt;
&lt;br /&gt;
Pour que tout le monde puisse s&amp;#039;y retrouver lors de la réutilisation de votre projet, il convient de suivre quelques règles de bonnes pratiques.&lt;br /&gt;
&lt;br /&gt;
* Les fichiers :&lt;br /&gt;
** Le nom du fichier = le nom de l&amp;#039;entité&lt;br /&gt;
** Ce qui sous-entend : Un fichier = une entité (sauf cas exceptionnel)&lt;br /&gt;
** Une entité = une ou plusieurs architectures (ça c&amp;#039;est normal !)&lt;br /&gt;
** Nommez le fichier &amp;quot;Top&amp;quot; avec le nom de votre projet et en lui ajoutant &amp;#039;&amp;#039;&amp;#039;&amp;quot;..._Top&amp;quot;&amp;#039;&amp;#039;&amp;#039; à la fin afin de l&amp;#039;identifier rapidement.&lt;br /&gt;
** Donnez des noms pertinents, et si possible courts, à vos composants. Par exemple &amp;#039;&amp;#039;&amp;#039;&amp;quot;I2C_Slave&amp;quot;&amp;#039;&amp;#039;&amp;#039; pour un module de communication esclave I2C, et non &amp;#039;&amp;#039;&amp;#039;&amp;quot;Module_Com&amp;quot;&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
** Si vous avez un fichier de simulation pour un composant, nommez-le avec le même nom en lui ajoutant &amp;#039;&amp;#039;&amp;#039;&amp;quot;..._sim&amp;quot;&amp;#039;&amp;#039;&amp;#039; ou &amp;#039;&amp;#039;&amp;#039;&amp;quot;..._TB&amp;quot;&amp;#039;&amp;#039;&amp;#039; à la fin. De même, si vous utilisez un fichier TCL/DO ou WCFG, donnez lui le même nom que la simulation pour faire le rapprochement facilement. Par exemple, nommez le fichier de simulation &amp;#039;&amp;#039;&amp;#039;&amp;quot;I2C_Slave_sim.vhdl&amp;quot;&amp;#039;&amp;#039;&amp;#039; le fichier de simulation et &amp;#039;&amp;#039;&amp;#039;&amp;quot;I2C_Slave_sim.wcfg&amp;quot;&amp;#039;&amp;#039;&amp;#039; le fichier pour la visualisation de la simulation.&lt;br /&gt;
&lt;br /&gt;
* Le code :&lt;br /&gt;
** Pensez à la façon dont vous pourrez réutiliser votre composant pour d&amp;#039;autres projets. Écrivez-le le plus générique possible et qu&amp;#039;il ne dépende pas de la plateforme utilisée.&lt;br /&gt;
** De la même façon, utilisez des &amp;#039;&amp;#039;&amp;#039;Generic&amp;#039;&amp;#039;&amp;#039; pour faciliter leur réutilisation.&lt;br /&gt;
** Utilisez le moins possible des variables dans les process. Il existe toujours une façon de s&amp;#039;en passer (fonctions, procédures, signaux). Les raisons : vous ne pouvez pas suivre leur évolution durant une simulation, ce qui rend difficile le debuggage; vous ne faîtes pas d&amp;#039;économies de places et vous pouvez rendre très lent un process sans vous en apercevoir (comme essayer de compter jusqu&amp;#039;à un million pendant une période d&amp;#039;horloge).&lt;br /&gt;
** Utilisez des noms en majuscules pour les constantes et les generic.&lt;br /&gt;
** N&amp;#039;hésitez pas à mettre beaucoup de commentaires dans votre code, en particulier dans l&amp;#039;en-tête.&lt;br /&gt;
** Précisez bien dans les commentaires en en-tête du fichier les dépendances.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez retrouver certaines bonnes pratiques dans les documents suivants :&lt;br /&gt;
* [http://webdocs.cs.ualberta.ca/~amaral/courses/329/labs/VHDL_Guideline.html http://webdocs.cs.ualberta.ca/~amaral/courses/329/labs/VHDL_Guideline.html]&lt;br /&gt;
* [[Media:xilinx_HDL_Coding_style.pdf|Xilinx Coding Style Guidelines]] &amp;lt;ref&amp;gt;[http://users.eecs.northwestern.edu/~seda/coding_guidelines_013003.pdf http://users.eecs.northwestern.edu/~seda/coding_guidelines_013003.pdf]&amp;lt;/ref&amp;gt;&lt;br /&gt;
Et je vous recommande chaudement de lire le document suivant où vous retouverez la plupart des consignes que je viens de citer : &lt;br /&gt;
* [[Media:VHDL_Coding_eng.pdf|ALSE&amp;#039;s VHDL Design rules &amp;amp; Coding Style]] &amp;lt;ref&amp;gt;[http://www.alse-fr.com/archive/VHDL_Coding_eng.pdf http://www.alse-fr.com/archive/VHDL_Coding_eng.pdf]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Toussaic</name></author>
	</entry>
</feed>