Vous êtes sur la page 1sur 15

Guide et Travaux Pratique d’Initiation à la Programmation VHDL avec l’Outil

ISE DESIGN SUITE de XILINX

Enseignant : Professeur Issam BOUGANSSA

Département : Maintenance Industrielle

Pr. ISSAM BOUGANSSA Page 1


Sommaire

Partie 1 : Etapes de programmation avec le logiciel ISE Design


Suite de Xilinx
Partie 2 : Implantation sur FPGA avec le logiciel Adept
Partie 3 : Présentation de la carte Nexys 3 (Spartan 6) de Xilinx
Partie 4 : Manipulations

Pr. ISSAM BOUGANSSA Page 2


Partie 1 : Etapes de programmation avec le logiciel ISE
Design Suite de Xilinx
Dans les séances de travaux pratiques, nous allons utiliser ISE pour la simulation et la
compilation et Adept pour les exécutions sur la carte Nexys 3.
Objectifs :
Dans cette première manipulation, vous allez réaliser votre première conception simple qui
va vous permettre de découvrir les entrées et sorties de la carte Nexys3. Ces concepts
d’entrées/sorties seront utilisés dans toutes les séances suivantes. Par la même occasion, le
premier TP vise à fournir une initiation à l’utilisation des outils de Xilinx et Digilent et aussi
pour comprendre le fonctionnement de la chaîne de transformation : comment à partir d’un
code VHDL vous allez, par ISE, produire un fichier d’extension « .bit » qui sera chargé sur la
carte FPGA.
Les étapes du projet :
Lancer l’application Xilinx ISE Design Suite 14.1
1. Création d’un projet
 Créer un nouveau projet avec File>New Project. Lorsque vous spécifiez le nom du
projet et le répertoire, évitez les espaces dans le chemin.
 Si le chemin est invalide vous le changez vers le disque D ou le disque C dossier
BUREAU

Pr. ISSAM BOUGANSSA Page 3


Création du projet TP1_GEII

 L’étape suivante permet de préciser le type de FPGA que vous utilisez. Dans le cas de
la carte Nexys3 (Spartan 6) de Xilinx, vous paramétrez la carte comme suite (voir
tableau) :

Pr. ISSAM BOUGANSSA Page 4


Caractéristique de la Nexys 3 (Spartan 6)
 Enfin, Next puis finish vont clôturer cette partie.
2. Inclure une source dans le projet
Pour décrire le système, vous ajoutez un nouveau fichier à votre projet. Ce fichier contiendra
le code VHDL définissant le comportement de votre circuit. ISE se débrouillera pour générer,
à votre place, les circuits nécessaires à la réalisation du comportement que vous allez définir.
 Sélectionnez Project>New Source…, puis remplissez la boîte de dialogue permettant
à l’outil de créer un nouveau fichier TP_GEII.vhd en sélectionnant VHDL Module et donc
le nom TP_GEII par exemple.

Création du fichier source VHDL

Pr. ISSAM BOUGANSSA Page 5


 En cliquant Next, vous serez invité à entrer les ports de votre nouveau module. C’est
facultatif mais cela vous permet d'économiser la saisie manuelle d’une partie du code VHDL
qui est l’entité. Que vous le remplissiez ou non, le fichier texte obtenu reste complètement
modifiable par la suite. Entrez les ports qui seront alors insérés dans l’entité de votre fichier
VHDL. Par exemple pour un décodeur BCD/ 7segment avec une entrée de test de l’afficheur,
on déclare :
- LT : entrée sur 1 bit pour le test de l’afficheur
- Adresse : entrée sur 4 bits (entrée d’adresses du décodeur)
- Segment : sortie sur 7 bits (segments de l’afficheur
-
NB : utiliser vos propre E/S en fonction de vos exercices

Création des ports


 Next et Finish vous produisent automatiquement le squelette du module VHDL
TP_GEII.vhd. ISE ouvre son éditeur de texte, il contient ce squelette. Le code VHDL est
composé de deux parties : la partie ENTITY qui reprend les ports que vous avez spécifiés lors
de la création de ce module VHDL et la partie ARCHITECTURE qui en spécifie le
comportement. C’est cette seconde partie encore vide qu’il faut maintenant écrire. Vous
insérerez ce comportement entre le BEGIN et END de cette ARCHITECTURE.

Pr. ISSAM BOUGANSSA Page 6


 Après la saisie du code Vhdl, sauvegardez,
 Dans la fenêtre Processus (fenêtre du milieu, à gauche de ISE Project Navigator),
double-cliquez sur Synthétisez pour vérifier votre conception. En cas de succès, vous devriez
voir une coche verte à côté de l'opération Synthétiser:

Remarque: Si des erreurs de syntaxe sont répertoriées, corrigez-les dans votre fichier source
TP_GEII.vhd.
Ensuite répéter le processus de synthèse.

2.2 Etape d’affichage du schéma technologique et RTL


Utiliser le chemin TOOLS => Schematic viewer => Technology

Pr. ISSAM BOUGANSSA Page 7


- Sélectionner le premier choix et
- Décoché Show => OK

Pr. ISSAM BOUGANSSA Page 8


- développer tous les + et sélectionner tous les signaux
- Add
- Create Schematic

Maintenant vous pouvez vérifier le schéma, l’équation, la Table de vérité la table de karnaugh

Pr. ISSAM BOUGANSSA Page 9


3. Etape d’affectation des ports d’Entrées /Sorties
Nous devons maintenant assigner des broches FPGA aux entrées et aux sorties. Cela se fait en
créant un fichier UCF (fichier de contraintes utilisateur).
 Développez le processus User Constraints (Contraintes utilisateur) dans la fenêtre
Processus et double-cliquez sur I/O Pin Planning (PlanAhead)- Post-Synthesis (E/S
Planification (planification à venir) - Post-synthèse).


Planifiez à l'avance démarrera et vous avertira de créer un fichier UCF:

 Cliquez sur Yes


 PlanAhead va maintenant s'exécuter, éventuellement une fenêtre s’ouvrira.
 Vous pouvez à ce stade visualiser votre schéma obtenu par l’étape de synthèse.
 Sélectionnez l’onglet Ports d’E / S (I/O Ports).
 Sur la colonne Site, vous sélectionnez le pin du FPGA choisi pour chaque variable du
port d’E/S.
 Vérifier que tous les E/S sont en jaune.
 Sélectionnez File => Save Design et 
 quittez PlanAhead.

Pr. ISSAM BOUGANSSA Page 10



 Dans la fenêtre Conception - Hiérarchie de ISE Project Navigator, vérifiez que le
fichier TP1_GEII.ucf est ajouté. Pour l’afficher, sélectionnez-le puis cliquez. Vous
pouvez apporter des modifications sur l’affectation des ports dans cette fenêtre.

Fichier ucf ajouté


4. Etape de mapping et routage
L’étape suivante est celle d’implémentation (mapping et routage) suivie de la génération du
fichier exécutable TP1_GEII.bit qui sera par la suite implémenté sur le circuit FPGA.
Si l’étape d’implémentation signale des erreurs, il faut revoir les différentes affectations des
ports d’E/S, c'est-à-dire revenir au fichier ucf.
 Appuyez sur implement design et sur generate programming file dans la fenêtre
Processs.

Implémentation et génération

Pr. ISSAM BOUGANSSA Page 11


Maintenant, le fichier généré se trouve dans le répertoire de votre projet et se nomme dans
notre première manipulation TP1_GEII.bit.

Partie 2 : Implantation sur FPGA


 Lancez l’application Adept depuis le menu démarrer ou un raccourci dans le bureau de
votre PC.
 Alimenter la carte via le câble USB branché avec le PC et mettez le swich pwer dans
la position ON.
 Sélectionner le fichier .bit dans l’exercice sur le bouton BROWSE
 Importez le fichier .bit de votre répertoire on clique sur Program.

Chargement du fichier .bit sur Nexys 3

Vérification du bon fonctionnement du programme sur la carte en utilisant les différentes


périphériques reliés à la carte (switchs, boutons poussoirs, leds, afficheurs,..) et qui ont été
choisis dans le fichier .ucf pour les signaux d’E/S.

Pr. ISSAM BOUGANSSA Page 12


Partie 3 : Présentation de la carte Nexys 3 (Spartan 6) de Xilinx

Schéma de la carte Nexys 3 :

Référence des PINs de la carte :


 Pour les Switchs, les boutons poussoirs, les Leds et les afficheurs 7 segments :

Pr. ISSAM BOUGANSSA Page 13


 Pour les connecteurs Pmod :

 Pour le connecteur Vhdc :

Pr. ISSAM BOUGANSSA Page 14


Partie 4 : Manipulations

Objectif :
L’objectif de ces TPs est, au travers de la réalisation de différents projets, d’apprendre à
utiliser les outils de la suite logicielle ISE Design Sofware de la société Xilinx pour
configurer des composants logiques programmables à partir d’une description en VHDL.
Pré Requis : connaître les fonctions logiques combinatoire et séquentielle.
Les projets à réaliser :
 Les 6 portes logiques et les inverseurs ;
 Additionneur parallèle 4bit ;
 Comparateur 4 bit ;
 Multiplexeurs 4 vers 1 ;
 Multiplexeurs 4 vers 1 avec entrée de validation ;
 Démultiplexeur 1 vers 4 ;
 Afficheur hexadécimal ;
 Décodeur BCD/7 segments ;
 Diviseur de fréquence par 2 ;
 Bascule D et Bascule T avec les entrées asynchrones PR et CLR ;
 Compteur Synchrones modulo 16 ;
 Compteur asynchrone modulo 16 avec les bascules T ;
 compteur asynchrone modulo 16 avec fréquence 1 Hz ;
 Proposer un projet utilisant les fonctions programmées précédemment.
Compte rendu :
Les résultats obtenus à chaque étape de chaque projet seront analysés et consignés dans un compte
rendu sur l’ensemble des projets.
Pour chaque projet il sera présenté :
 La fonction du composant réalisé ;
 Une analyse du fichier source expliquant les nouvelles instructions utilisées ;
 Les résultats de la simulation et leur interprétation ;
 Les ressources utilisées après implémentation dans le composant ;
 Les équations logiques synthétisées ;
 Les résultats de tests effectués avec la carte d’évaluation ;

Pr. ISSAM BOUGANSSA Page 15

Vous aimerez peut-être aussi