Tp3 FPGA GHEOUANY SAAD PDF [PDF]

  • 0 0 0
  • Gefällt Ihnen dieses papier und der download? Sie können Ihre eigene PDF-Datei in wenigen Minuten kostenlos online veröffentlichen! Anmelden
Datei wird geladen, bitte warten...
Zitiervorschau

UNIVERSITE HASSAN1 er FACULTE DES SCIENCES ET TECHNIQUES DE SETTAT

DÉPARTEMENT DE PHYSIQUE APPLIQUÉE Master : ATSII

Professeur : M. LAMHAMDI

MODULE : Implémentation sur DSP et FPGA

TP N°3 : Description en VHDL d’un compteur décimal

Réalisé par : GHEOUANY SAAD

INTRODUCTION :

Dans le domaine de l’électronique numérique, un compteur est un dispositif permettant le stockage et l’affichage du nombre de fois un événement ou un processus particulier a eu lieu. Ce nombre d’occurrences est souvent lié à un signal d'horloge. L’architecture la plus commune d’un compteur binaire est constituée d’un circuit logique numérique séquentiel disposant d’une ligne d'entrée appelée « horloge » et de plusieurs lignes de sortie. Les valeurs présentes sur les lignes de sortie représentent sous un format binaire le nombre d’occurrences. Chaque impulsion (front montant ou descendant) appliquée à l’entrée d'horloge permet d’incrémenter ou de décrémenter la valeur de sortie du compteur (ou du décompteur). L’objectif de ce travail a pour objectif de réaliser un compteur décimal qui effectue un comptage de 0 à 9 , et son simulation sur logiciel Xilinx ISE :

 La réalisation de la description VHDL .  Simulation du compteur sur Xilinx ISE .

Description VHDL d’un compteur décimal et simulation sur XILINX ISE

2020/2021 GHEOUANY SAAD

2



Partie 1: Description VHDL du Compteur décimal 0 à 9

L’objectif de cette manipulation consiste à réaliser à travers une description VHDL, un simple compteur binaire permettant une incrémentation ou une décrémentation de 0 à 9. Ce circuit matériel est piloté par plusieurs entrées représentées sommairement comme suit  clk (STD_LOGIC): Représente l’horloge du compteur décimal. A chaque front montant de ce signal, l’incrémentation ou la décrémentation de la valeur de sortie est exécutée.  reset (STD_LOGIC): C’est le signal de remise à zéro. Cette entrée permet de remettre à zéro la valeur de sortie du compteur.  pause (STD_LOGIC): Cette entrée permet de garder l’état du compteur sur la valeur de sortie actuelle.  count_up (STD_LOGIC): Cette entrée permet d’activer l’option de comptage (incrémentation de la valeur de sortie).  count_down (STD_LOGIC): Cette entrée permet l’inverse de l’entrée count_up (décrémentation de la valeur de sortie).  Count (STD_LOGIC_VECTOR): est la sortie du compteur sur 4 bits.

1. Création du projet :

1. Démarrer Xilinx ISE Navigator.

2. Créer un nouveau projet qu’on va appler :« comp_deci_GHEOUANY_SAAD. » 3. Définir les propriétés de la carte cible. 4. Ouvrir une nouvelle fenêtre d’édition. Cliquer par le bouton droit de la

sourie sur le volet Hierarchy et sélectionner New source. 5. Sélectionner VHDL Module. Dans le champ File name taper :

«GHEOUANY_SAAD_COMPTEUR » puis cliquer sur Next et finalement sur Finish.

Description VHDL d’un compteur décimal et simulation sur XILINX ISE

2020/2021 GHEOUANY SAAD

3

Description VHDL d’un compteur décimal et simulation sur XILINX ISE

2020/2021 GHEOUANY SAAD

4

2. Description VHDL : Dans un premier temps nous avons créé l’entité : «GHEOUANY_SAAD _COMPTEUR» dans laquelle on a déclaré les entrées et sorties de notre circuit de type.  La liste de sensibilité contient toutes les entrées et le signal « temp_count » .  Le signal de sortie va s’incrémenter lors un front active de l’horloge et si count_up=1 et count_down=0 et vérifiant la condition que temp_count est inférieure strictement à 9.  Et il va se décrémenter lors un front active de l’horloge et si count_up=0 et count_down=1 et vérifiant la condition que temp_count est inférieure strictement à 10 et supérieure à 0 .

Description VHDL d’un compteur décimal et simulation sur XILINX ISE

2020/2021 GHEOUANY SAAD

5

3. Fichier test-bench pour la simulation :

1. Pour créer un fichier de simulation de votre description, on va cliquer par le bouton droit de la sourie sur le volet Hierarchy et sélectionner New source. 2. Sélectionner VHDL Test Bench. Dans le champ File name taper « Tb_GHEOUANY_SAAD » 3. Remplacer le processus stim_proc par les processus suivant :

Description VHDL d’un compteur décimal et simulation sur XILINX ISE

2020/2021 GHEOUANY SAAD

6

Description VHDL d’un compteur décimal et simulation sur XILINX ISE

2020/2021 GHEOUANY SAAD

7

4. simulation : Pour la simulation dans l’implémentation on doit vérifier la synthèse et l’implémentation du design, puis la vérification de la syntaxe du programme test-bench :

Description VHDL d’un compteur décimal et simulation sur XILINX ISE

2020/2021 GHEOUANY SAAD

8

Description VHDL d’un compteur décimal et simulation sur XILINX ISE

2020/2021 GHEOUANY SAAD

9

 Dans un premier temps on remarque que count_up est mis à 1 et count_down est mis à 0 , le compteur commence le comptage jusqu’à la valeur 9 :

Description VHDL d’un compteur décimal et simulation sur XILINX ISE

2020/2021 GHEOUANY SAAD

10



Dans un second temps on remarque que count_up est mis à 0 et count_down est mis à 1, donc le compteur commence le décomptage jusqu’à la valeur 0 :

Description VHDL d’un compteur décimal et simulation sur XILINX ISE

2020/2021 GHEOUANY SAAD

11

EXERCICE : 

Travail demandé : Réaliser un nouveau projet pour un compteur/décompteur de 0 à 99.

1. Création du projet : 1. Démarrer Xilinx ISE Navigator.

2. Créer un nouveau projet qu’on va appler :« GHEOUANY_SAAD_COMPTEUR_2» 3. Définir les propriétés de la carte cible. 4. Ouvrir une nouvelle fenêtre d’édition. Cliquer par le bouton droit de la

sourie sur le volet Hierarchy et sélectionner New source. 5. Sélectionner VHDL Module. Dans le champ File name taper :

«GHEOUANY_SAAD_COMPTEUR_99 » puis cliquer sur Next et finalement sur Finish.

Description VHDL d’un compteur décimal et simulation sur XILINX ISE

2020/2021 GHEOUANY SAAD

12

2. Description VHDL :

 la sortie count_1 prend la valeur de signal temp_count_1  la sortie count_2 prend la valeur de signal temp_count_2  lorsque clk est à 1 : la sortie count_1 s’incrémente si count_up = 1 jusqu’à 9 et se décrémente si count_down = 0 .  si count_1 dépasse 9 elle prend la valeur 0 (clk_10 reçoit 1) , et count_2 de sa part s’incrément de 1 .  de même pour la décrémentation comme le programme l’indique : si count_1 atteint 0 et si count_2 est supérieur à 1 celui-ci se décrémente et count_1 prend la valeur 9. .

Description VHDL d’un compteur décimal et simulation sur XILINX ISE

2020/2021 GHEOUANY SAAD

13

Description VHDL d’un compteur décimal et simulation sur XILINX ISE

2020/2021 GHEOUANY SAAD

14

3. Fichier test-bench pour la simulation :

Description VHDL d’un compteur décimal et simulation sur XILINX ISE

2020/2021 GHEOUANY SAAD

15

4. simulation : a) incrémentation :

Description VHDL d’un compteur décimal et simulation sur XILINX ISE

2020/2021 GHEOUANY SAAD

16

b) décrémentation :

c) Reset :

Description VHDL d’un compteur décimal et simulation sur XILINX ISE

2020/2021 GHEOUANY SAAD

17

Description VHDL d’un compteur décimal et simulation sur XILINX ISE

2020/2021 GHEOUANY SAAD

18