Anda di halaman 1dari 40

Anne 2007

INSAT

TUTORIAL XILINX ISE 9.1I

Rdig par : Challouf Mahmoud et Mohamed Hichem

Tutorial sur Xilinx ISE Foundation v9.1i

INSAT-TUNIS

Rdig par : Challouf Mahmoud & Mohamed Hichem

Tutorial sur Xilinx ISE Foundation v9.1i

INSAT-TUNIS

Sommaire
I. Introduction Xilinx ISE Foundation ...................................................................................... 5 Ou trouver Xilinx 9.1i ? ..................................................................................................... 6 Comment Installer Xilinx Webpack 9.1i ........................................................................... 6 Comment Lancer Xilinx Project Navigator ....................................................................... 6 II. La Project Navigator ................................................................................................................ 7 A. Cration d'un nouveau projet Schmatique ....................................................................... 7 B. Cration d'un demi-additionneur en mode Schmatic ....................................................... 9 1. Ajouter une nouvelle source .......................................................................................... 9 2. Le Demi-Additionneur ................................................................................................. 10 III. Initiation au VHDL ............................................................................................................. 20 A. Cration dun projet VHDL ............................................................................................. 20 B. Ajouter ou crer un fichier VHDL dans le projet ............................................................ 21 C. Synthse dun projet ........................................................................................................ 22 D. Ralisation dun compteur 4 bits en VHDL .................................................................... 25 1. Cration du projet et dune source VHDL ................................................................... 25 2. Utilisation du modle de langage Template Language .......................................... 26 3. Modification du code du fichier compteur_vhdl.vhd ............................................. 28 4. Simulation du module VHDL ...................................................................................... 29 5. Cration dune macro partir du module VHDL: ....................................................... 32 IV. Cration dune machine tats ........................................................................................... 33 A. Introduction ..................................................................................................................... 33 B. Ajout des tats ................................................................................................................. 34 C. Ajout des Transitions ....................................................................................................... 37 D. Initialisation du Timer ..................................................................................................... 37 E. Gnrer le code VHDL ................................................................................................... 38 F. Simulation de la machine avec StateCAD .......................................................................... 39 G. Cration dune macro schmatique ................................................................................. 40 A. B. C.

Rdig par : Challouf Mahmoud & Mohamed Hichem

Tutorial sur Xilinx ISE Foundation v9.1i

INSAT-TUNIS

Rdig par : Challouf Mahmoud & Mohamed Hichem

Tutorial sur Xilinx ISE Foundation v9.1i

INSAT-TUNIS

I.

Introduction Xilinx ISE Foundation

ISE Foundation est un panel doutils dvelopp et commercialis par la socit Xilinx. Ce panel permet de raliser toutes les phases du flot de conception dapplications sur des composants reconfigurables (FPGA) de la socit Xilinx. Pour rappel, sur la figure 1, un flot de conception simplifi est donn : Le panel ISE Foundation est constitu dune dizaine doutils, dans ce document seulement trois sont prsents : Project navigator : outil de description du projet (spcification du systme concevoir en VDHL, schematic, machines dtats) synthse, placement,routage. FloorPlanner : outil de visualisation et de localisation des lments utiliss du composants, ainsi que des communications ralises. FPGA editor : outil de visualisation du placement routage, disposant dun placeur routeur intgr. Ce document prsente lutilisation de base de ces diffrents outils.

Rdig par : Challouf Mahmoud & Mohamed Hichem

Tutorial sur Xilinx ISE Foundation v9.1i

INSAT-TUNIS

A.

Ou trouver Xilinx 9.1i ?

La version ISE Webpack 9.1i est disponible en tlchargement sur le site officiel de xilinx.www.xilinx.com . Il suffit de crer un compte gratuitement pour bnficier de la version gratuite du logiciel. La taille du fichier tlcharger est de 1400 Mo incluant l'installation sur un systme Windows ou bien sur un systme d'exploitation Linux (disponible pour redhat et fedora).

B.

Comment Installer Xilinx Webpack 9.1i

L'installation de Xilinx est trs simple pour les deux systmes d'exploitation (Windows ou Linux). Il suffit de cliquer sur Setup.exe pour que l'installation dbute (sous Windows). Pour les systmes d'exploitation linux, il faut accder au rpertoire de la source d'installation (par la console) et taper : ./setup et l'installation dbute.

C.

Comment Lancer Xilinx Project Navigator

Sous Windows : L'outil se lance en cliquant sur l'icne de Project navigator sur le bureau ou en le slectionnant dans le menu dmarrer /programmes. Sous Linux : Pour lancer Xilinx sous Linux il suffit d'accder au rpertoire ou est install Xilinx, puis accder bin ensuite lin ensuite cliquer sur ise. Si vous cliquer sur ise et rien ne se passe, accder au rpertoire avec la console /Installation de Xilinx'/bin/lin/ et taper ./ise

Note : Ne fermer la console que lorsque vous aurez termin votre travail avec Xilinx sinon le
logiciel se ferme.

Rdig par : Challouf Mahmoud & Mohamed Hichem

Tutorial sur Xilinx ISE Foundation v9.1i

INSAT-TUNIS

II.

La Project Navigator
A. Cration d'un nouveau projet Schmatique

Figure N1

Si cette fentre n'est pas vide cliquer alors sur File > Close Project (Dans le cas de la figure n1 il existe dj un projet ouvert) Pour crer un nouveau projet faites : File > New Project

Figure N2

Rdig par : Challouf Mahmoud & Mohamed Hichem

Tutorial sur Xilinx ISE Foundation v9.1i

INSAT-TUNIS

Vous pouvez travers cette fentre saisir le type de priphrique que vous allez utiliser.

Figure N3

Note : tout moment il est possible de changer ces informations en faisant :


Source > Proprieties Cependant certaines phases du flot de conception seront alors remisent en cause (synthse, placement, routage). Une fentre s'affiche pour que vous crer de nouvelles sources. Cliquer sur suivant pour ignorer cette tape. Nous ferions la cration des sources aprs la cration du projet. Une autre fentre s'ouvre pour que vous slectionner d'anciennes sources si vous le voulez. Si vous ne voulez intgrer aucune source antrieure cliquez deux fois de suite sur suivant jusqu' ce que vous obtenez le rsum du projet.

Rdig par : Challouf Mahmoud & Mohamed Hichem

Tutorial sur Xilinx ISE Foundation v9.1i

INSAT-TUNIS

B.

Cration d'un demi-additionneur en mode Schmatic


1. Ajouter une nouvelle source

Pour ajouter une nouvelle source schematic, aller dans la partie Processes et cliquer sur 'Create New Source '.

Figure n4

Figure n5

Rdig par : Challouf Mahmoud & Mohamed Hichem

Tutorial sur Xilinx ISE Foundation v9.1i

INSAT-TUNIS

2.

Le Demi-Additionneur

Aprs avoir cre le schma ' DemiAdd' nous obtenons cette fentre. Pour basculer vers la modification du schma du demi-additionneur DemiAdd double cliquer sur 'DemiAdd.sch' se trouvant gauche dans l'espace de travail du projet Navigator.

Figure n6

On va donc crer le demi additionneur en mode 'schematic' en utilisant des portes logiques de base (non, et, ou). Le schma final qu'on va obtenir est reprsent dans la figure n7. Nous allons procder tape par tape pour aboutir ce schma.

Rdig par : Challouf Mahmoud & Mohamed Hichem

10

Tutorial sur Xilinx ISE Foundation v9.1i

INSAT-TUNIS

Figure n7

Un schmatique est gnr par l'ajout des portes logiques ainsi que des connecteurs d'entres/sorties. Les entres et sorties des portes logiques sont connectes par des fils (wires). Les symboles standards tel que les portes non (inverter), porte-et 2 entres, porte-ou 2 entres peuvent tres slectionne en cliquant sur 'Symbol Browser. Le 'Symbol Brower' s'ouvre (sil n'est pas ouvert) en cliquant sur le menu 'Add' et en slectionnant 'Symbol'. Autrement la barre horizontale offre aussi un bouton (prsentant l'icne d'une porte logique sur une rsistance 'voir figure n6 remarque 2) permettant de choisir les diffrents composants. Vous devez ajuster la taille de 'Categories' et 'Symbols' pour pouvoir visualiser correctement les symboles. Le 'Symbol Browser' organise les diffrents composants par catgorie. Slectionnez la catgorie 'Logic' et dfiler pour trouver les symboles (and2, or2, inv). Les noms des portes sont sous cette formes (NameGateNbrEnt) avec (NameGate) est le nom de la porte et (NbrEnt) est le nombre d'entres de la porte. Pour ajouter une porte dans le schma : Faites un clique gauche sur la porte Dplacer le curseur dans la partie de dessin Faites un clique gauche sur l'emplacement dsir
Rdig par : Challouf Mahmoud & Mohamed Hichem

11

Tutorial sur Xilinx ISE Foundation v9.1i Vous avez maintenant la porte sur le schma.

INSAT-TUNIS

Ajoutez alors les portes ncessaires pour la cration du demi-additionneur sur le schma.

a)

Ajout des composants

Figure n8 La premire tape consiste ajouter les composants sur le schma.

b)

Le cblage

La deuxime tape consiste cbler le les composants. Le cblage des composants se fait en ajoutant des cbles entres les diffrentes portes. Pour entrer en mode de cblage, cliquer sur le menu 'Add' par la suite cliquer sur 'Wire . Vous pouvez aussi utiliser le raccourci dans la barre horizontale. (Figure n9)

Figure n9

Note : Pour quitter le mode cblage vous pouvant cliquer sur la touche ESC ou bien faites un clic droit.

Rdig par : Challouf Mahmoud & Mohamed Hichem

12

Tutorial sur Xilinx ISE Foundation v9.1i Nous obtenons alors ce schma cbl :

INSAT-TUNIS

Figure n10

Noter que chaque fois que vous connecter un cble avec un autre un petit carre doit apparatre, sil napparat pas supprimer alors ce cble et redessiner. Parfois laffichage se plante sur Xilinx, cliquez alors sur Redraw All Windows pour rafrachir laffichage.

Figure 11

c)

Ajout des marqueurs dentre/sorties

Cette tape consiste ajouter les connecteurs d'entres /sorties (I/O Markers). L'ajout de ces connecteurs s'effectue soit partir de la barre horizontale soit en cliquant sur le menu 'Add' puis sur 'I/O Marker. Aprs avoir slectionner loutil, cliquer sur les bornes dont vous voulez assigner un tat d'entre ou de sortie.

Rdig par : Challouf Mahmoud & Mohamed Hichem

13

Tutorial sur Xilinx ISE Foundation v9.1i

INSAT-TUNIS

Figure n12

d)

Vrification du schma et enregistrement de capture.


(1) Vrification du schma

Maintenant que notre schma est termin, il ne reste plus que le vrifier. Pour ce faire il suffit de cliquer sur le bouton de vrification. (Voir figure 13)

Figure n 14

Rdig par : Challouf Mahmoud & Mohamed Hichem

14

Tutorial sur Xilinx ISE Foundation v9.1i

INSAT-TUNIS

Nous obtenons alors en bas les rsultats de la vrification :

Figure 15 Il ne faut passer a la simulation que lorsque la console affiche No error or warning detected Note : Il faut toujours se rappeler denregistrer son travail.

(2)

Enregistrer une capture de son projet

Une capture du projet est une version de votre projet en mode lecture seule. Ca vous permet denregistrer plusieurs copies de votre projet pour une comparaison ultrieure. La capture contient tous les fichiers et rpertoires de votre projet. Pour Crer une capture, aller a Projet > Take a snapshot . Ca va vous ouvrir une fentre pour taper le nom de la capture.

Figure 16

Pour voir les captures faites, cliquer sur longlet Snapshot dans la barre verticale droite. Xilinx offre aussi la possibilit darchiver les captures sous format zip. Vous ne pouvez ouvrir ces archives quavec Xilinx Project Navigator.

Rdig par : Challouf Mahmoud & Mohamed Hichem

15

Tutorial sur Xilinx ISE Foundation v9.1i

INSAT-TUNIS

e)

La Simulation dun schma sous Xilinx

Nous allons nous intresser maintenant a la simulation fonctionnelle de notre schma. Nous allons procder tape par tape pour la ralisation de la simulation. Comme nous avons cr la source de type schematic crez cette fois ci une source de type Test Bench Waveform

Figure n 17

Rdig par : Challouf Mahmoud & Mohamed Hichem

16

Tutorial sur Xilinx ISE Foundation v9.1i

INSAT-TUNIS

Cliquez sur suivant pour terminer avec lassistant. Une fentre pour un assistant de temps de simulation et horloge doit apparatre. (Voir figure 18).

Figure n 18

Slectionner le mode horloge combinatoire ou horloge interne (Combinatorial (or internal clock )) Modifier les informations relatives au temps de combinaison (Check Outputs 50 ns after inputs are Assigned ) et (Assign inputs 50 ns after outputs are Checked ). Une Plateforme prsentant des formes dondes doit apparatre.

Rdig par : Challouf Mahmoud & Mohamed Hichem

17

Tutorial sur Xilinx ISE Foundation v9.1i

INSAT-TUNIS

Figure 19

Un carre bleu indique le temps aprs lequel les sorties (outputs) seront valides. En cliquant sur une zone bleu vous pouvez changer ltat de lentre correspondante a la ligne slectionne. Pour vrifier le bon fonctionnement de notre demi-additionneur nous devons faire toutes les combinaisons possibles avec A et B (00-01-10-11)

Figure 20

Il faut maintenant enregistrer cette forme donde. Le fichier correspondant doit apparatre dans la fentre des sources. Sil napparat pas vrifier que vous ts bien en mode Behavioral simulation.

Figure 21

Rdig par : Challouf Mahmoud & Mohamed Hichem

18

Tutorial sur Xilinx ISE Foundation v9.1i

INSAT-TUNIS

Dans la partie Processes cliquez deux fois sur simulate behavioral model, ceci va lancer la simulation. Nous obtenons alors la forme donde de la figure 22.

Figure n 22

Note : Certain composant ncessite une initialisation pour pouvoir effectuer la


simulation. Pour les bascules D, il faut les initialiser 1 ou 0 en cliquant deux fois dessus et slectionner INIT.

Le Project Navigator offre la possibilit de faire des agrandissements ou des rductions sur la simulation. Il offre aussi dautre buttons pour contrler la simulation (pause, arrt,)

Figure 23

Rdig par : Challouf Mahmoud & Mohamed Hichem

19

Tutorial sur Xilinx ISE Foundation v9.1i

INSAT-TUNIS

III. Initiation au VHDL


A. Cration dun projet VHDL
Crez un projet, faites : File>New Project La fentre New Project apparat, renseignez la avec - Le nom u projet - Lemplacement - Schematic comme type de source Puis cliquez sur Next

Figure n24

Project Name : est le nom de votre projet. Project Location : est lendroit, sur le disque, o vous souhaitez stocker les fichiers du projet. Device Family : slectionnez la famille VirtexE dans la liste des produits supports par ISE. Device : slectionnez le modle de FPGA dans la famille choisie. Choisi le composant : XCV400E Synthesis Tool : slectionnez XST VHDL qui signifie flot VHDL avec outil de synthse XST . Cliquer sur Next. REMARQUE : A tout moment il est possible de changer ces informations en faisant Source>Properties Cependant certaines phases du flot de conception seront alors remisent en cause (Synthse, placement, routage).

Rdig par : Challouf Mahmoud & Mohamed Hichem

20

Tutorial sur Xilinx ISE Foundation v9.1i

INSAT-TUNIS

Sautez ltape dajout dune source en cliquant sur Next deux fois. Quand vous obtenez ce message, appuyez sur Finish

Figure n25

B.

Ajouter ou crer un fichier VHDL dans le projet

Pour ajouter un fichier VHDL faites : Project>Add Source Une fentre de localisation de la nouvelle source apparat, indiquer alors le chemin, puis cliquez sur OK. Alors la fentre suivant apparat suivant le type de fichier VDHL

Figure n26

Pour crer un nouveau fichier VDHL vide faites : Project>Add Source La fentre New souvre vous devez indiquer un nom votre source ainsi que le type de source.

Rdig par : Challouf Mahmoud & Mohamed Hichem

21

Tutorial sur Xilinx ISE Foundation v9.1i

INSAT-TUNIS

Figure n27

Vous ntes pas oblig de renseigner cette fentre et vous pouvez passer directement la cration du fichier VHDL. Mais si vous avez une ide sur les ports dentres et de sorties de votre module (ce qui doit normalement tre le cas) vous pouvez renseigner cette fentre, de cette faon lentit de votre module sera cre dans votre fichier VHDL. Cest un moyen de gagner quelques minutes et dviter les erreurs de syntaxes, le renseignement de cette fentre est donc vivement conseill ! A partir de l vous pouvez diter votre fichier VDHL en noubliant pas denregistrer rgulirement votre travail

C.

Synthse dun projet

Dans la fentre Sources in Project , cliquez sur la ligne correspondant au fichier VHDL principale. Slectionnez ensuite lopration Synthesize dans la fentre Processes for Current Source en cliquant une fois dessus.

Figure n28

Vous pouvez changer les options de synthse en cliquant sur lopration Synthesize avec le bouton droit de la souris. Un menu apparat. Slectionnez Properties . La fentre suivante apparat :

Rdig par : Challouf Mahmoud & Mohamed Hichem

22

Tutorial sur Xilinx ISE Foundation v9.1i

INSAT-TUNIS

Figure n29 Vous pourrez essayer de modifier le type dalgorithme de synthse en changeant le paramtre Optimization Goal , vous avez le choix entre speed ou area (

ptimisation en vitesse

ou en surface). Dune faon gnrale loptimisation en vitesse est conseille (paramtres par dfaut). Laissez les autres paramtres par dfaut. Cliquez sur longlet HDL Options. Laissez nouveau les valeurs par dfaut proposes par loutil. Cliquez sur longlet Xilinx Specific Options , la fentre suivante apparat :

Figure n30

Vous pouvez aussi laisser ces paramtres par dfaut. Pour lancer la synthse cliquez deux fois sur lopration Synthesize puis attendez que le calcul soit termin. Vous devez obtenir ceci :

Rdig par : Challouf Mahmoud & Mohamed Hichem

23

Tutorial sur Xilinx ISE Foundation v9.1i

INSAT-TUNIS

Figure n31

Un point dexclamation apparat gauche de lopration Synthesize signifiant que la synthse sest bien passe et quil reste faire quelques vrifications. Dpliez lopration Synthesize en cliquant sur le + immdiatement sa gauche, vous verrez la marque verte gauche de la ligne View Synthesis Report qui signifie que la synthse sest bien passe et que vous pouvez consulter le rapport. Double-cliquez sur la ligne View Synthesis Report , vous obtenez laffichage du rapport dans la fentre en haut et droite du Project Navigator . Ce rapport contient entre autre une information importante qui est lestimation de la frquence maximum. Enfin, pour terminer compltement la phase de synthse il y a un outil complmentaire de vrification que vous pouvez lancer. Cest le Check Syntax . Cest un outil qui vous confirmera que vos fichiers sont corrects.

Rdig par : Challouf Mahmoud & Mohamed Hichem

24

Tutorial sur Xilinx ISE Foundation v9.1i

INSAT-TUNIS

D.

Ralisation dun compteur 4 bits en VHDL


1. Cration du projet et dune source VHDL

Crez un nouveau projet dont le nom compteur de type schematic Ajouter une nouvelle source de type VHDL.

Figure n32

Indiquez dans la fentre New les dfinitions suivantes :

Figure n33

Cette table gnre automatiquement les entits dans le module compteur_vhdl . Cliquez sur suivant pour terminer le modle de la nouvelle source.

Rdig par : Challouf Mahmoud & Mohamed Hichem

25

Tutorial sur Xilinx ISE Foundation v9.1i Nous obtenons alors le code vhdl suivant :

INSAT-TUNIS

Figure n34

Notez bien quun fichier compteur_vdhl.vhd a t cre dans le rpertoire de votre projet et a t convenablement ajout dans la liste des sources dans le Project Navigator .

Figure n35

Une vue hirarchique des fichiers correspondants au projet courant.

2.

Utilisation du modle de langage Template Language

a)

Introduction

Le modle de langage est un outil trs puissant pour la cration de code HDL. Il possde un grand nombre de fonctions prdfinies comme les compteurs, multiplexeurs, dcodeurs. Il existe aussi des codes pour la cration des operateurs communs tels que les if then et les boucles gnralement associs aux langages de programmations. Les modles prsents prsentent une rfrence importante. Ils peuvent tre copis colls dans le fichier vhd. Ainsi leurs codes peuvent tres modifis et personnalis pour aboutir au fonctionnement dsir.

Rdig par : Challouf Mahmoud & Mohamed Hichem

26

Tutorial sur Xilinx ISE Foundation v9.1i

INSAT-TUNIS

Gnralement, il est ncessaire de changer la largeur des bus ou les noms des signaux ou dans certains cas modifier le fonctionnement.

b)

Visualisation des modles

Dans notre cas, nous allons utiliser le modle qui utilise le signal <clock> alors que le fichier cr ncessite un signal nomm clock . Le compteur du modle est assez complexe, nous allons donc lallger un peu en supprimant quelques fonctionnalits. Pour ouvrir la fentre permettant de slectionner les modles, cliquez sur licne :

Figure n36

Vous pouvez aussi accder modle de langage partir de Edit > Language Template .

Figure n37

c)

Insertion dun modle dans le code

Pour insrer un modle dans le code dun fichier .vhd slectionnez : VHDL > Synthesis Constructs >coding examples > counters > Up Counters > /w CE and Async Active High Reset Faites maintenant un glisser dplacer du modle slectionn dans la feuille de code de
Rdig par : Challouf Mahmoud & Mohamed Hichem

27

Tutorial sur Xilinx ISE Foundation v9.1i

INSAT-TUNIS

compteur_vhdl . Vous pouvez aussi faire un clic droit sur le fichier simple Counter et cliquer ensuite sur Use file ensuite slectionner le fichier compteur_vhdl . Vous pouvez maintenant fermer le navigateur des modles.

3.

Modification du code du fichier compteur_vhdl.vhd

Vous devez modifier les mots ( <clock> par clock et <reset> par reset) qui rfrencent vos entres pralablement instancies. Modifier le code source de compteur_vhdl.vhd pour devenir comme suit :

Figure n38

Vous pouvez changer les noms <clock> par clock en utilisant remplacer dans Edit > Replace Lentte du code reprsente la dclaration standard dun module VHDL. a reprsente la dclaration des librairies, entits et architectures. La partie entits entity dclare tous les ports utilis dans la conception. Count (3 downto 0) signifie que count est un vecteur de 4 bits logique. Dans cette conception nous avons 2 entres (clock et reset) et une sortie reprsente par un bus de 4 bits appel count.
Rdig par : Challouf Mahmoud & Mohamed Hichem

28

Tutorial sur Xilinx ISE Foundation v9.1i

INSAT-TUNIS

La description fonctionnelle actuelle de la conception apparait aprs le mot cl begin dans larchitecture. La fonction de ce code cest dincrmenter une variable count chaque fois que lhorloge clock est 1 et quil y a un vnement dans lhorloge. Ceci se passe sur front montant. Le reset est asynchrone, car elle est value avant lhorloge clock . Nous pouvons maintenant passer la simulation du circuit.

4.

Simulation du module VHDL

Commencer par ajouter une nouvelle source du type : Test Bench WaveForm

Figure n39

Appuyiez par la suite sur next

Figure n40

Rdig par : Challouf Mahmoud & Mohamed Hichem

29

Tutorial sur Xilinx ISE Foundation v9.1i Slectionnez le fichier vhdl cre prcdemment comme source de simulation.

INSAT-TUNIS

Il vous reste maintenant de spcifier la nature des signaux dentres. Slectionner Single Clock comme signal dhorloge. Vous pouvez modifier la priode de lhorloge en agissant sur Clock High Time et sur Clock Low Time .

Figure n41

Cliquer par la suite sur suivant. Vous pouvez mettre le reset 1 pendant une priode, pour tester le bon fonctionnement du compteur. Si vous avez un problme avec la simulation vrifiez alors les initialisations des entres.

Rdig par : Challouf Mahmoud & Mohamed Hichem

30

Tutorial sur Xilinx ISE Foundation v9.1i

INSAT-TUNIS

Vous obtiendrez alors les formes dondes suivantes.

Figure n42

Cliquez maintenant sur le behavioral simulation et slectionnez le fichier vhdl_sim.tbw . Dans la fentre de processes cliquez sur simulate behavioral model Vous aurez alors la forme donde suivante :

Figure n43

Essayer maintenant dinitialiser le reset 1 puis le mettre et effectuer nouveau la simulation.

Figure n44

Nous obtenons alors un bon fonctionnement du compteur.


Rdig par : Challouf Mahmoud & Mohamed Hichem

31

Tutorial sur Xilinx ISE Foundation v9.1i

INSAT-TUNIS

5.

Cration dune macro partir du module VHDL:

Cration dun schmatique partir du code VHDL :

Figure n45 Il faudra maintenant crer une nouvelle source de type schmatique pour pouvoir ajouter la macro cr partir du code VHDL.

Figure n46

Rdig par : Challouf Mahmoud & Mohamed Hichem

32

Tutorial sur Xilinx ISE Foundation v9.1i

INSAT-TUNIS

IV.

Cration dune machine tats


A. Introduction
On se propose de crer une machine tat qui simule les quatre tats dun feu-rouge. State1 Rouge State2 Jaune ET Rouge State3 Vert State4 Jaune

Figure n47

Si cette fentre est vide, Click droite sur la fentre des processus et crer une nouvelle source et choisir state diagram comme type. Le nommer Squence par exemple.

Rdig par : Challouf Mahmoud & Mohamed Hichem

33

Tutorial sur Xilinx ISE Foundation v9.1i

INSAT-TUNIS

B.

Ajout des tats

Cliquer sur le butons Add Button sur le menu gauche

Figure n48

Il faut maintenant ajouter les 4 tats sur le diagramme. Pour cela cliquer sur le bouton

dans le menu principal.

Figure n49

Il faut initialiser le nombre des tats Number of states 4, cliquer sur Next , puis slectionner synchronous state machine puis taper TIMER dans longlet NEXT de la fentre suivante :

Figure n50
Rdig par : Challouf Mahmoud & Mohamed Hichem

34

Tutorial sur Xilinx ISE Foundation v9.1i

INSAT-TUNIS

Cliquez Finish puis cliquez une autre fois pour placer la machine, double-cliquer sur ltat STATE0 color en jaune et le renommer ROUGE, cliquer sur le bouton output Wizard , saisir RD dans longlet DOUT pour dclarer une sortie output . Puis initialiser RD 1 comme indiqu dans les deux figures suivantes :

Figure n51

Dune manire similaire modifier les autres states : Renommer State1 en ROUJAU et utiliser le output wizard pour initialiser RD = 1 Et une autre sortie (output) AMB gale 1 avec un registered output.

Figure n52

Renommer State2 en VERT et utiliser le output wizard pour initialiser un nouvel output GRN = 1 avec registered output. Renommer State3 en JAUNE et utiliser le output wizard pour initialiser AMB = 1 avec registered output.

Rdig par : Challouf Mahmoud & Mohamed Hichem

35

Tutorial sur Xilinx ISE Foundation v9.1i

INSAT-TUNIS

La machine tat doit ressembler a :

Figure n53 Note:si vous initilaiser un signal comme registred dans le output wizard, puis vous selectionner le signal et vous reouvriez le wizard elle ne restera pas coche comme registred.

Rdig par : Challouf Mahmoud & Mohamed Hichem

36

Tutorial sur Xilinx ISE Foundation v9.1i

INSAT-TUNIS

C.

Ajout des Transitions

Double cliquer sur la ligne de transition entre ltat ROUGE et ltat ROUJAU. Dans le Edit Condition Window , modifier longlet de condition condition field en TIMER = 1111 pour que la transition se dclenche quand lhorloge Timer est dans ltat 1111 (Noubliez pas les doubles quottes pour respecter le syntaxe VHDL)

Figure n54 Rpter le mme processus pour les autres transitions : o Transition ROUJAU > VERT, TIMER = 0100 o Transition VERT > VERT, TIMER = 0011 o Transition JAUNE > ROUGE, TIMER = 0000 Remarquez bien que le feu-rouge termine le circuit ROUJE, ROUJAU, VERT, JAUNE une fois tout les trois cycles du compteur.

D.

Initialisation du Timer

Finalement, dclarez un vecteur en cliquant sur le bouton dans le menu gauche Cliquer sur une partie vide, puis double-cliquer sur le vecteur et le renommer TIMER avec une largeure de 4-bits. (Range 3:0)

Rdig par : Challouf Mahmoud & Mohamed Hichem

37

Tutorial sur Xilinx ISE Foundation v9.1i

INSAT-TUNIS

Figure n55

E.

Gnrer le code VHDL


dans le menu en haut

Cliquer sur le bouton

Si vous avez construit la machine tat correctement, vous deviez voir ce message

Figure n56

Cliquer fermer close , et le lassistant ouvrera le code VHDL cre. Maintenant nous voulons utiliser ce code VHDL dans un projet dans Xilinx. Xilinx ne permet pas de placer une macro de machine tat directement dans le circuit, pour cela nous allons ajouter le code vhdl que nous avons gnr. Vous tes maintenant capable de le simuler ou de crer des symboles partir de cette macro comme nimporte quelle autre macro VHDL.

Rdig par : Challouf Mahmoud & Mohamed Hichem

38

Tutorial sur Xilinx ISE Foundation v9.1i

INSAT-TUNIS

F.

Simulation de la machine avec StateCAD

Maintenant que notre machine est termin on veut la simuler, pour cela il suffit de cliquer sur le bouton State Bench dans le menu en top.

Figure n57

Vous obtenez alors :

Figure n58

Pour rapidement raliser une simulation cliquez sur Automatic TestBench dans le menu en top. Vous obtenez alors aprs avoir spcifi lemplacement des fichiers VHDL et rgression exporter et les options de simulation. (Voir figure n59)

Rdig par : Challouf Mahmoud & Mohamed Hichem

39

Tutorial sur Xilinx ISE Foundation v9.1i

INSAT-TUNIS

Figure n59

Vous obtenez alors ce diagramme :

Figure n60

G.

Cration dune macro schmatique

Pour utiliser ce composant dans un projet dans Xilinx on doit insrer le fichier .VHD prcdemment cre dans un projet en suivant les tapes expliques dans la partie prcdente. Ainsi on obtint le symbole suivant :

Figure n61

Rdig par : Challouf Mahmoud & Mohamed Hichem

40

Anda mungkin juga menyukai