32 0 4MB
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