MINI-PROJET
Compteur Hexadécimal
Réalisé par : Khelifi Eya
Ghazouani Douaa
Encadré par : Ben Ammar Asma
Les différentes parties de votre projet
01
-Bascule D
-Compteur basé sur des bascules
D
Compteur à 4 bits
02
Diviseur de fréquence
03
Décodeur
04
Programme Principale
OBJECTIFS
Ce projet consiste à modéliser un compteur hexadécimal en VHDL, composé des éléments
suivants :
• Compteur binaire 4 bits : génère les valeurs en boucle complète (de 0 à 15).
• Décodeur : convertit les sorties du compteur en un format compatible avec un afficheur 7
segments.
• Diviseur de fréquence : adapte l’horloge principale de la carte FPGA pour synchroniser le
fonctionnement du compteur.
Le but est de réaliser un circuit fonctionnel qui affiche les valeurs hexadécimales sur un
afficheur 7
Introduction
Le projet de compteur hexadécimal en VHDL est un circuit
numérique utile pour afficher des valeurs en hexadécimal sur
un afficheur 7 segments. Il combine un compteur binaire 4 bits,
un décodeur et un diviseur de fréquence. Ce projet trouve des
applications dans les systèmes embarqués, les outils de mesure,
l'industrie et l'éducation, tout en offrant une base pour des
conceptions électroniques plus avancées.
01
Le compteur 4-bit
Dans cette section, nous allons réaliser un compteur 4 bits basé sur 4 bascules D.
Pour cela, nous devons programmer les éléments suivants :
- La bascule D
- Le compteur 4 bits qui sera construit en utilisant ces bascules D.
I. le fonctionnement de la bascule D :
Le programme La simulation
Voici une explication du programme VHDL :
1. Bibliothèques :
Le programme commence par inclure une bibliothèque
standard (`ieee`) et utilise le paquet `std_logic_1164`
qui permet de définir des types de signaux logiques
comme `0`, `1`, `Z`, etc.
2. Définition de l'entité (bascule D):
Le programme définit une bascule D appelée
« Dffcorrection ». Elle a quatre ports :
- d : l'entrée de données (valeur qui sera stockée).
- clk: l'entrée d'horloge (le signal qui déclenche le
changement d'état).
- clr : le signal de réinitialisation (met la sortie à `0`).
- q: la sortie (valeur stockée par la bascule D).
3. Architecture de la bascule D :
L'architecture définit le comportement de la bascule.
Le processus est activé chaque fois que les signaux clk
ou clr changent.
4. Comportement de la bascule D :
- Si le signal clr est à `1`, la sortie q est forcée à `0`
(réinitialisation).
- Si clr n'est pas actif et qu'il y a un front montant de
l'horloge (clk passe de `0` à `1`), la sortie q prend la
valeur de l'entrée d (comportement classique d'une
bascule D).
5. Fin du processus et de l'architecture :
Le programme se termine par la fin du processus et
de l'architecture, ce qui signifie que toute la logique a
été définie.
En résumé, ce programme décrit une bascule D avec
réinitialisation asynchrone, ce qui permet de contrôler
l'état de la sortie en fonction de l'horloge et d'une
réinitialisation.
II. le compteur binaire 4-bit, basé sur 4 bascules D
L'instruction for… generate en VHDL est utilisée pour
générer plusieurs instances d'un même bloc de code ou
de composants en fonction d'une condition de répétition,
souvent dans le but de créer des circuits à grande
échelle de manière plus concise. C'est une forme de
génération conditionnelle qui permet de créer plusieurs
copies de structures de circuits sans avoir à les écrire
manuellement à chaque fois.
Le programme
La simulation
02
Diviseur de
fréquence
Fonctionnement
Un circuit qui divise une fréquence de signal est appelé un diviseur de
fréquence. Diviser indique une conversion de la fréquence d'un signal
numérique, tel qu'une horloge, en le réduisant à 1/N. Comme on a vu
dans la première partie, un compteur est un diviseur de 1/2N (où N est le
nombre de bits).
On désire créer une horloge ayant une fréquence égale à 0.74 Hz (T ≈
1.34 seconde).
Le programme
Le programme VHDL décrit un diviseur
de fréquence qui prend une horloge
d'entrée mclk et génère une sortie
clk_ctr avec une fréquence plus basse.
Un compteur counter compte les cycles
de l'horloge d'entrée jusqu'à une valeur
définie par la constante DIVISOR. À
chaque fois que le compteur atteint
cette valeur, il est réinitialisé et l'horloge
de sortie est inversée, créant ainsi une
fréquence réduite. Le signal clr permet
de réinitialiser le compteur et l'horloge
de sortie à zéro.
La simulation
03
Le décodeur de
l’afficheur 7-
segments
À la sortie du compteur 4-bit, les signaux doivent être décodés pour
pouvoir commander l’afficheur 7-segments. Pour cela, on utilisera un
« décodeur » ,
Le décodeur doit transformer le nombre reçu en entrée sur 4 bits, en 7
bits afin de l’afficher en écriture hexadécimal (0 jusqu’à F) sur un
afficheur 7-segment.
Ce programme VHDL décrit un décodeur qui contrôle un
afficheur 7 segments. Il prend un nombre binaire de 4
bits en entrée (représenté par Q) et active les segments
correspondants pour afficher un chiffre.
1.Entrée : Le signal Q est un vecteur de 4 bits
représentant un nombre binaire (de 0000 à 1111).
2.Sorties : Les sorties a, b, c, d, e, f, g contrôlent les
segments de l'afficheur 7 segments.
3.Processus :
•Lorsqu'une valeur est donnée à Q, nous avons
utilisé une instruction case pour définir quels
segments doivent être activés.
•Par exemple, si Q = "0000" (c'est-à-dire 0), tous
les segments sauf g sont activés pour afficher le
chiffre "0".
•Si Q = "0001" (c'est-à-dire 1), les segments
correspondants au chiffre "1" sont activés.
Ce programme permet ainsi de convertir un nombre
binaire en un affichage visuel sur un afficheur 7
segments.
Le programme
La simulation
04
Le Programme
Principal
Maintenant que les différents modules du compteur hexadécimal sont prêts, nous allons les
assembler dans un seul programme principal.
On rappelle le schéma de la structure étudiée :
presentation du projet Compteur hexa.pptx

presentation du projet Compteur hexa.pptx

  • 1.
    MINI-PROJET Compteur Hexadécimal Réalisé par: Khelifi Eya Ghazouani Douaa Encadré par : Ben Ammar Asma
  • 2.
    Les différentes partiesde votre projet 01 -Bascule D -Compteur basé sur des bascules D Compteur à 4 bits 02 Diviseur de fréquence 03 Décodeur 04 Programme Principale
  • 3.
    OBJECTIFS Ce projet consisteà modéliser un compteur hexadécimal en VHDL, composé des éléments suivants : • Compteur binaire 4 bits : génère les valeurs en boucle complète (de 0 à 15). • Décodeur : convertit les sorties du compteur en un format compatible avec un afficheur 7 segments. • Diviseur de fréquence : adapte l’horloge principale de la carte FPGA pour synchroniser le fonctionnement du compteur. Le but est de réaliser un circuit fonctionnel qui affiche les valeurs hexadécimales sur un afficheur 7
  • 4.
    Introduction Le projet decompteur hexadécimal en VHDL est un circuit numérique utile pour afficher des valeurs en hexadécimal sur un afficheur 7 segments. Il combine un compteur binaire 4 bits, un décodeur et un diviseur de fréquence. Ce projet trouve des applications dans les systèmes embarqués, les outils de mesure, l'industrie et l'éducation, tout en offrant une base pour des conceptions électroniques plus avancées.
  • 5.
  • 6.
    Dans cette section,nous allons réaliser un compteur 4 bits basé sur 4 bascules D. Pour cela, nous devons programmer les éléments suivants : - La bascule D - Le compteur 4 bits qui sera construit en utilisant ces bascules D.
  • 7.
    I. le fonctionnementde la bascule D :
  • 8.
    Le programme Lasimulation
  • 9.
    Voici une explicationdu programme VHDL : 1. Bibliothèques : Le programme commence par inclure une bibliothèque standard (`ieee`) et utilise le paquet `std_logic_1164` qui permet de définir des types de signaux logiques comme `0`, `1`, `Z`, etc. 2. Définition de l'entité (bascule D): Le programme définit une bascule D appelée « Dffcorrection ». Elle a quatre ports : - d : l'entrée de données (valeur qui sera stockée). - clk: l'entrée d'horloge (le signal qui déclenche le changement d'état). - clr : le signal de réinitialisation (met la sortie à `0`). - q: la sortie (valeur stockée par la bascule D). 3. Architecture de la bascule D : L'architecture définit le comportement de la bascule. Le processus est activé chaque fois que les signaux clk ou clr changent. 4. Comportement de la bascule D : - Si le signal clr est à `1`, la sortie q est forcée à `0` (réinitialisation). - Si clr n'est pas actif et qu'il y a un front montant de l'horloge (clk passe de `0` à `1`), la sortie q prend la valeur de l'entrée d (comportement classique d'une bascule D). 5. Fin du processus et de l'architecture : Le programme se termine par la fin du processus et de l'architecture, ce qui signifie que toute la logique a été définie. En résumé, ce programme décrit une bascule D avec réinitialisation asynchrone, ce qui permet de contrôler l'état de la sortie en fonction de l'horloge et d'une réinitialisation.
  • 10.
    II. le compteurbinaire 4-bit, basé sur 4 bascules D L'instruction for… generate en VHDL est utilisée pour générer plusieurs instances d'un même bloc de code ou de composants en fonction d'une condition de répétition, souvent dans le but de créer des circuits à grande échelle de manière plus concise. C'est une forme de génération conditionnelle qui permet de créer plusieurs copies de structures de circuits sans avoir à les écrire manuellement à chaque fois. Le programme
  • 11.
  • 12.
  • 13.
    Fonctionnement Un circuit quidivise une fréquence de signal est appelé un diviseur de fréquence. Diviser indique une conversion de la fréquence d'un signal numérique, tel qu'une horloge, en le réduisant à 1/N. Comme on a vu dans la première partie, un compteur est un diviseur de 1/2N (où N est le nombre de bits). On désire créer une horloge ayant une fréquence égale à 0.74 Hz (T ≈ 1.34 seconde).
  • 14.
    Le programme Le programmeVHDL décrit un diviseur de fréquence qui prend une horloge d'entrée mclk et génère une sortie clk_ctr avec une fréquence plus basse. Un compteur counter compte les cycles de l'horloge d'entrée jusqu'à une valeur définie par la constante DIVISOR. À chaque fois que le compteur atteint cette valeur, il est réinitialisé et l'horloge de sortie est inversée, créant ainsi une fréquence réduite. Le signal clr permet de réinitialiser le compteur et l'horloge de sortie à zéro.
  • 15.
  • 16.
  • 17.
    À la sortiedu compteur 4-bit, les signaux doivent être décodés pour pouvoir commander l’afficheur 7-segments. Pour cela, on utilisera un « décodeur » , Le décodeur doit transformer le nombre reçu en entrée sur 4 bits, en 7 bits afin de l’afficher en écriture hexadécimal (0 jusqu’à F) sur un afficheur 7-segment.
  • 18.
    Ce programme VHDLdécrit un décodeur qui contrôle un afficheur 7 segments. Il prend un nombre binaire de 4 bits en entrée (représenté par Q) et active les segments correspondants pour afficher un chiffre. 1.Entrée : Le signal Q est un vecteur de 4 bits représentant un nombre binaire (de 0000 à 1111). 2.Sorties : Les sorties a, b, c, d, e, f, g contrôlent les segments de l'afficheur 7 segments. 3.Processus : •Lorsqu'une valeur est donnée à Q, nous avons utilisé une instruction case pour définir quels segments doivent être activés. •Par exemple, si Q = "0000" (c'est-à-dire 0), tous les segments sauf g sont activés pour afficher le chiffre "0". •Si Q = "0001" (c'est-à-dire 1), les segments correspondants au chiffre "1" sont activés. Ce programme permet ainsi de convertir un nombre binaire en un affichage visuel sur un afficheur 7 segments. Le programme
  • 19.
  • 20.
  • 21.
    Maintenant que lesdifférents modules du compteur hexadécimal sont prêts, nous allons les assembler dans un seul programme principal. On rappelle le schéma de la structure étudiée :