Introduction au logiciel Xilinx ISE 9.2i
Transcription
Introduction au logiciel Xilinx ISE 9.2i
Faculté des Sciences Département de physique Option : InfoTronique Électronique Numérique Avancée TP n°1 : Introduction au logiciel Xilinx ISE 9.2i: Saisie de schémas et flot de conception 1 Objectifs L’objectif de ce TP est de vous guider à travers les premières étapes de conception d’un circuit numériques sur FPGA à partir d’une saisie schématique. Les étapes à étudier sont : 1. Création de nouveaux projets dans l’environnement ISE de Xilinx. 2. Description de circuits numériques à l’aide d’un schéma (description structurelle). 3. Création de vecteurs de test « testbench » et simulation comportementale de circuits. 4. Synthèse et implémentation de circuits. 5. Simulation temporelle de circuits synthétisés. La dernière étape (qui ne sera abordé ici) du flot de conception à partir d’une saisie schématique du circuit est la programmation du composant FPGA (ou CPLD) en utilisant l’outil de programmation « iMPACT » de Xilinx. 2 Introduction Le logiciel Xilinx ISE 9.2i est un logiciel de description, de simulation, et de programmation de circuits et systèmes numériques sur des composant programmables. Le logiciel ISE possède une version gratuite et téléchargeable du site de Xilinx (www.xilinx.com). La suite ISE permet : la description de circuits numériques sous forme de schémas logiques, de machines à états finis ou en langages de description matériel (VHDL, Verilog, ABEL), la compilation, la simulation comportementale, la synthèse, le placement routage et l’implémentation, la simulation temporelle et l’analyse de timing, la programmation sur les circuits programmables de Xilinx (CPLD et FPGA). 3 3.1 Saisie de schémas Lancement du logiciel ISE Toutes les fonctions de la suite ISE sont accessibles à partir du navigateur Xilinx ISE. 1. Avant de lancer le navigateur ISE, il faut créer sous Windows votre répertoire de travail suivant : D :\ena\sgxy\nom\tp1\ avec x=numéro de groupe, y=numéro de sous groupe, et nom = nom de l’étudiant ou du binôme. 2. Pour lancer le navigateur, il faut double-cliquer sur l’icône , ou cliquer sur le menu Démarrer > Programmes > Xilinx ISE 9.2i > Project Navigator. L’écran principal du navigateur est composé de plusieurs fenêtres qui sont montrées à la Figure 1. ______________________________________________________________________________________________________________ Électronique numérique avancée – TP1 1/9 Figure 1 : Écran principal du navigateur de projet de Xilinx ISE. 3.2 Création d’un nouveau projet Pour créer un nouveau projet, il faut : 1. Après l’ouverture du navigateur ISE, il faut faire File > New Project. L’écran de saisie de nouveau projet apparaîtra. 2. Entrer add1bit pour « Project Name ». Noter que add1bit est ajouté automatiquement au nom du répertoire contenant le projet « Project Location ». 3. Sélectionner le répertoire créé précédemment D :\ena\sgxy\nom\tp1\ dans le champ « Project Location ». 4. Sélectionner Schematic pour Top-Level Source Type, et cliquer sur Next. 5. Sélectionner les valeurs suivantes dans la fenêtre « New Project Wizard - Device Properties »: Product Category: All Family: Spartan3A and Spartan3AN Device: XC3S700A Package: FG484 Speed: -4 Synthesis Tool: XST (VHDL/Verilog) Simulator: ISE Simulator (VHDL/Verilog) Preferred Language: VHDL. 6. Cliquer sur Next 3 fois, et ensuite Finish pour compléter la création du nouveau projet. ______________________________________________________________________________________________________________ Électronique numérique avancée – TP1 2/9 Figure 2 : Écran de saisie du nom du projet et de sa localisation. Figure 3 : Écran de saisie des caractéristiques du projet. 3.3 Création d’un schéma Pour créer un nouveau schéma, il faut : 1. Dans le navigateur ISE, faire Project > New Source. La nouvelle boîte de dialogue s’ouvre et affiche la liste des types de sources disponibles. 2. Sélectionner Schematic comme type de source. 3. Entrer fulladder comme nom de fichier. 4. Cliquer sur Next et ensuite sur Finish. Un nouveau schéma appelé fulladder est créé, ajouté au projet et ouvert pour édition. 5. Changer la taille de la feuille de schéma en effectuant les étapes ci-dessous : • Cliquer dans le schéma avec le bouton droit de la sourie et choisir Object Properties. • Cliquer sur la valeur en dessous de la case « size » et choisir A = 11 x 8.5. • Cliquer sur OK et ensuite sur Yes. ______________________________________________________________________________________________________________ Électronique numérique avancée – TP1 3/9 Figure 4 : Fenêtre pour ajout d’un nouveau fichier. 3.4 Description de l’additionneur fulladder Nous venons de créer un schéma vide pour le circuit fulladder. L’étape suivante est d’ajouter les éléments permettant de réaliser notre circuit. Le schéma du circuit fulladder est donné à la Figure 5. La description schématique d’un circuit ou d’un module est composé de : • Symboles (portes logiques ou modules) personnels ou prédéfinis en bibliothèque. • Fils de liaison ou/et de bus. • connecteurs d’entrée/sortie qui indiquent les entrées et sorties du circuit ou du module réalisé. Figure 5 : Schéma de l’additionneur fulladder. Pour saisir le schéma de l’additionneur fulladder, il faut : 1. Dans la barre de menu, cliquer sur Add > Symbol ou sur l’icône de la barre d’outil. la fenêtre des symboles s’ouvre à gauche du la fenêtre du schéma affichant la liste des librairies disponibles ainsi que la liste des composants de chaque librairie (voir la Figure 6). 2. Sélectionner la librairie Logic dans « Categories ». 3. En sélectionnant respectivement, and2, xor2 et or3, ajouter toutes les portes de l’additionneur fulladder. 4. Dans la barre de menu, cliquer sur Add > Wire ou sur l’icône ajouter les liaisons entre les symboles. de la barre d’outil pour ______________________________________________________________________________________________________________ Électronique numérique avancée – TP1 4/9 5. Dans la barre de menu, cliquer sur Add > I/O Marker ou sur l’icône pour ajouter les connecteurs d’entrée/sortie. Choisir le type de connecteurs dans la fenêtre « Processes » à gauche du schéma et cliquer ensuite sur l’extrémité du fil auquel on souhaite ajouter le connecteur. pour ajouter au coin 6. Dans la barre de menu, cliquer sur Add > Text ou sur l’icône inférieur gauche de la feuille, les noms et matricules des étudiants, le numéro de sous groupe et le numéro du TP. Ensemble des bibliothèques Symboles contenues dans la bibliothèque surlignée ci-dessus. Figure 6 : Fenêtre des symboles. 3.5 Vérification des règles de dessin et sauvegarde du schéma Une fois le schéma est entièrement saisi, il faut vérifier que le schéma ne contient pas d’erreurs logiques en utilisant un vérificateur de règles de dessin DRC (Design Rule Check). Pour lancer la vérification, il faut faire : 1. Dans la barre de menu cliquer sur Tools > Check Schematic ou sur l’icône de la barre d’outil. 2. Pour sauvegarder le schéma, cliquer dans la barre de menu sur File > Save ou sur l’icône 4 de la barre d’outil. Simulation comportementale La simulation comportementale permet de vérifier le comportement du circuit en appliquant des vecteurs test ou stimuli (testbench) et en analysant les réponses obtenues. La simulation ______________________________________________________________________________________________________________ Électronique numérique avancée – TP1 5/9 comportementale permet de vérifier le fonctionnement d’un circuit avant son implémentation, et ne tient pas compte des délais de propagation et des caractéristiques temporelles du circuit. 4.1 Création des vecteurs de test ou stimuli (testbench) 1. Dans le navigateur ISE, faire Project > New Source. La nouvelle boîte de dialogue s’ouvre et affiche la liste des types de sources disponibles. 2. Sélectionner Test Bench WaveForm comme type de source. 3. Entrer fulladder_tb comme nom de fichier. 4. Cliquer sur Next 2 fois et ensuite sur Finish. Une nouvelle fenêtre s’affiche (voir Figure 8). 5. Dans le champ Clock Information, sélectionner l’option Combinatorial (or internal clock). Cette option permet d’indiquer au simulateur que le circuit est combinatoire et qu’il n’utilise pas d’horloge externe. 6. Cliquer ensuite sur Finish. Un nouveau fichier de vecteur de test appelé fulladder_tb est créé, ajouté au projet et ouvert pour édition. 7. Modifier les entrées A,B et Cin, pour obtenir les mêmes vecteurs de test que ceux de la Figure 7. Pour inverser une entrée donnée, il suffit de cliquer sur le signal à l’instant ou on souhaite l’inverser. 8. Sauvegarder le fichier en cliquant dans la barre de menu sur File > Save ou sur l’icône de la barre d’outil. Figure 7 : Vecteurs de test (testbench) pour le circuit fulladder. Figure 8 : Écran de saisie des caractéristiques temporelles (cas du combinatoire). 4.2 Lancement de la simulation comportementale ______________________________________________________________________________________________________________ Électronique numérique avancée – TP1 6/9 1. Dans la fenêtre « Sources », sélectionner Behavioral Simulation dans le champ « Sources for ». 2. Sélectionner le fichier de stimuli (fulladder_tb). 3. Dans la fenêtre « processes », cliquer sur + à coté de « Xilinx ISE Simulator ». 4. Cliquer avec le bouton droit sur Simulate Behavioral Model. 5. Sélectionner Properties. 6. Dans la boîte de dialogue, metre le champ « Property display level » à Advanced. 7. Cliquer sur Apply et ensuite sur OK. 8. Pour commencer la simulation comportementale, double cliquer sur Simulate Behavioral Model. 9. Pour consulter les résultats de simulation, sélectionner l’onglet Simulation dans la fenêtre principale. Après simulation du circuit, vérifier et commenter les résultats de la simulation comportementale. 5 Synthèse et implémentation L’implémentation est l’étape de transformation de la description du circuit en fichier de programmation « BIT file ». Les différentes étape de l’implémentation sont : synthèse, translation, placement et routage. L’étape d’implémentation est très critique pour les performances du circuit final et nécessite beaucoup de contraintes de la part du concepteur pour mieux optimiser le circuit final. Pour la suite de ce tp, nous utiliserons les contraintes par défaut pour l’implémentation de notre circuit. Pour implémenter l’additionneur fulladder, il faut : 1. Dans la fenêtre « Sources », sélectionner Synthesis\Implementation dans le champ « Sources for ». 2. Sélectionner le fichier schématique (fulladder). 3. Dans la fenêtre « processes », double cliquer Synthesize-XST. 4. Dans la fenêtre « processes », double cliquer Implement Design. 6 Simulation temporelle Contrairement à la simulation comportementale, la simulation temporelle permet de vérifier le comportement d’un circuit en tenant compte des temps de réponses et des contraintes de temps. Après implémentation du circuit, pour lancer la simulation temporelle il faut : 1. Dans la fenêtre « Sources », sélectionner Post-Route Simulation dans le champ « Sources for ». 2. Sélectionner le fichier de stimuli (fulladder_tb). 3. Dans la fenêtre « processes », cliquer sur + à coté de « Xilinx ISE Simulator ». 4. Cliquer avec le bouton droit sur Simulate Post-Place & Route Model. 5. Sélectionner Properties. 6. Sélectionner la catégorie Simulation Model Properties. 7. Mettre le champ « Property display level » à Advanced. 8. Cliquer sur Apply et ensuite sur OK. 9. Pour commencer la simulation temporelle, double cliquer sur Simulate Post-Place and Route Model. 10. Pour consulter les résultats de simulation, sélectionner l’onglet Simulation dans la fenêtre principale. Après simulation du circuit, vérifier les résultats de la simulation temporelle et donner les délais de réponse des deux sorties du circuit. ______________________________________________________________________________________________________________ Électronique numérique avancée – TP1 7/9 7 Exploitation des résultats du TP : additionneur 4 bits Utiliser l’additionneur fulladder réalisé, pour concevoir un additionneur 4 bits. Les étapes à effectuer sont : 1. Création d’un symbole pour le circuit fulladder afin de l’utiliser pour l’additionneur 4 bits. Pour créer un symbole, il faut : Dans la fenêtre « Sources », sélectionner Synthesis\Implementation dans le champ « Sources for ». Sélectionner le fichier schématique (fulladder). Dans la fenêtre « processes », cliquer sur + à coté de « Design Utilities ». Dans la fenêtre « processes », double cliquer sur Create Schematic Symbol. 2. Saisie du schéma du circuit add4bit qui prend en entrée 2 bus de 4 bits et renvoie en sortie un bus de 4 bits et un signal de retenue Cout. 3. Création de vecteurs de test et simulation comportementale du circuit add4bit. 4. Synthèse et implémentation du circuit add4bit. 5. Simulation temporelle du circuit add4bit et évaluation des délais de réponse des sorties. ______________________________________________________________________________________________________________ Électronique numérique avancée – TP1 8/9 8 8.1 Feuille d’évaluation du TP 1 Identification Étudiant 1 : Nom : ……………………………..……… Matricule : …………… Note : ......../8 Étudiant 2 : Nom : ………………………………..…… Matricule : …………… Note : ......../8 Date : …………………… ……………......Groupe : …..… Sous-groupe : …….. 8.2 Méthode d’évaluation Ce TP sera évaluer selon : 1) L’accomplissement du travail demandé. 2) Les résultats obtenus. 3) Les réponses aux questions. 4) La présence aux séances de TP. 8.3 Documents à remettre (3 pts) Il faut remettre à l’enseignant au début du TP suivant (semaine 2) un rapport contenant : 1) Schémas des circuits fulladder et add4bit. 2) Résultats de la simulation comportementale de fulladder et add4bit. 3) Résultats de la simulation temporelle de fulladder et add4bit. 4) Les délais de réponses des sorties des circuits fulladder et add4bbit. Il est très important de respecter les dates limites de remise des rapports. L’étudiant(e) qui remet son rapport en retard aura -1 pt par jour de retard. 8.4 Liste de vérification (3 pts) Lors de l’évaluation du TP, l’enseignant doit vérifier sur ordinateur: 1) Schéma du circuit fulladder. 2) Résultats de la simulation comportementale de fulladder. 3) Résultats de la simulation temporelle de fulladder. 4) Délais pour fulladder : Sout = ……….. Cout = ………. 5) Schéma du circuit add4bit. 6) Résultats de la simulation comportementale de add4bit. 7) Résultats de la simulation temporelle de add4bit. 8) Délais pour add4bit : Sout = ……….. Cout = ………. 8.5 O O O N N N O O O N N N Réponses aux questions (2pts) Lors de l’évaluation du TP, l’étudiant doit répondre à certaines questions de compréhension. 1) Qualité des réponses de l’étudiant 1 : A B C D F Commentaire :……………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… 2) Qualité des réponses de l’étudiant 2 : A B C D F Commentaire :……………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… 8.6 Présences Étudiant 1 Étudiant 2 Semaine 1 O N O N Semaine 2 O N O N Semaine 3 O N O N ______________________________________________________________________________________________________________ Électronique numérique avancée – TP1 9/9