Vous êtes sur la page 1sur 14

TP VHDL

Projet : Afficheur 7-segments

Programmation par langage


VHDL

Réalisé par : Encadré par :

AMOUSSE FATIMA ZAHRA Pr. M. ATIBI


IHAM AYMEN

Année Universitaire : 2022/2023


TP VHDL

INTRODUCTION

Les FPGA
Lancé sur le marché en 1984 par la firme XILINX, le FPGA (Field Programmable
Gate Array) est un circuit prédiffusé programmable. Le concept du FPGA est basé sur
l'utilisation d'une LUT (Look Up Table) comme élément combinatoire de la cellule
de base. En première approximation, cette LUT peut être vue comme une mémoire
(16 bits en général) qui permet de créer n’importe quelle fonction logique
combinatoire de 4 variables d’entrées. Chez Xilinx, on appelle cela un générateur de
fonction ou Function Generator. La figure suivante représente la cellule type de
base d'un FPGA.

Langage VHDL

VHDL sont les initiales de VHSIC Hardware Description Langage, VHSIC étant
celles de Very High Scale Integrated Circuit. Autrement dit, VHDL signifie : langage
de description matériel s'appliquant aux circuits intégrés à très forte intégration.
Le langage VHDL couvre tous les niveaux partant des portes logiques de base
jusqu'aux systèmes complets (plusieurs cartes, chacune comprenant plusieurs
circuits). Il s'applique tout aussi bien au niveau structurel qu'au niveau
comportemental, en passant par le niveau transferts de registres ou RTL (Register
Transfer Logic).
TP VHDL

 But du projet :

L'objectif de ce projet est d’apprendre à connecter des périphériques d’entrée et de


sortie à une carte FPGA et à implémenter un circuit qui utilise ces périphériques.

 A utiliser :

 Les commutateurs SW et les boutons comme entrées au circuit ;


 Les diodes électroluminescentes (LED) ;
 L’afficheur 7 segments ;
TP VHDL

Multiplexeur 5:1

 Introduction :
Le multiplexeur est la fonction inverse du démultiplexeur. C’est un sélecteur de
données ou aiguillage convergent. Il peut transformer une information apparaissant
sous forme de n bits en parallèle en une information se présentant sous forme de n bits
en série. La voie d’entrée, sélectionnée par son adresse, est reliée à la sortie. Un
multiplexeur peut servir à réaliser des fonctions logiques quelconques.

La limitation de ce type de circuit est toujours le nombre d’entrées/sorties qui croit


fortement avec le nombre de variables d’adresse N
 Multiplexeur 5 :1 ;
Nous devons réaliser un multiplexeur 5:1 qui reçoit comme signal de sélection les
commutateurs SW et les sorties vont être connectées avec les LEDs.

a. Présentation du circuit :
TP VHDL

b. Schéma structurel :

c. Table de vérité :

d. Code de description VHDL :

Library IEEE;
use IEEE.std_logic_1164.all;
entity MUX is
port ( u, v, w, x, y : in std_logic;
s : in std_logic_vector(2 downto 0) ;
M : out std_logic);
end MUX;
architecture RTL of MUX is
begin
process (s)
begin
case s is
when "000" => M <= u;
when "001" => M <= v;
when "010" => M <= w;
when "011" => M <= x;
when "100" => M <= y;
when others => M <= y;
end case;
end process;
end RTL;
TP VHDL

e. Simulation :

f. Pin planner :
TP VHDL

Décodeur 7 segments

 Introduction :
Les afficheurs 7 segments sont des afficheurs à LEDs constitués de 7 segments (une
LED par segment), qui permettent d'afficher des chiffres et même parfois des lettres
en fonction de l'application. Les afficheurs 7 segments sont constitués de 7 segments,
d'où leur nom. Ces segments sont nommés A, B, C, D, E et F par convention, et ils se
présentent dans l'ordre illustré ci-contre.
Chaque segment correspond à une LED qu'il est possible
d'allumer ou d'éteindre pour former des chiffres, des lettres et
même des caractères spéciaux rudimentaires. En général, les
afficheurs disposent de 7 segments et d'un "point décimal" qui
peut être utilisé pour afficher des nombres à virgule ou des sous-
unités (dixième de seconde par exemple).
On distingue 2 types d’afficheurs :
 Afficheurs à anode commune, pour cela :
 L’anode commune est portée au potentiel +VCC.
 Pour allumer une LED, on applique un potentiel 0 volt à
sa cathode (entrée).
 Afficheurs à cathode commune, pour cela :
 La cathode commune est portée au potentiel 0 volt.
 Pour allumer une LED, on applique un potentiel +VCC à son anode (entrée).

 Décodeur à 7 segments :
La figure montre un module décodeur à 7 segments doté de l’entrée trois bits. Ce
décodeur produit sept sorties qui sont utilisées pour afficher un caractère sur un écran à
sept segments.
Le tableau 1 énumère les caractères qui doivent être affichés pour chaque évaluation de c2
c1 c0 Pour conserver la conception simple, seuls quatre caractères sont inclus dans le
tableau.
Nous devons écrire une entité VHDL qui implémente des fonctions logiques qui
représentent les circuits nécessaires pour activer chacun des 7 segments.
TP VHDL

a. Schéma structurel :

b. Table de vérité :

c2 c1 c0 s6 s5 s4 s3 s2 s1 s0 Caractère
0 0 0 0 0 0 1 0 0 1 H
0 0 1 0 0 0 0 1 1 0 E
0 1 0 1 0 0 0 1 1 1 L
0 1 1 1 0 0 0 0 0 0 O
1 0 0
1 0 1
1 1 0
1 1 1

c. Code de description VHDL :

Library IEEE;
use IEEE.std_logic_1164.all;
entity decodeur7segments is
port ( c : in std_logic_vector (2 downto 0);
seg : out std_logic_vector (6 downto 0) );
end decodeur7segments;
architecture RTL of decodeur7segments is
begin
process(c)
begin
case c is
when "000" => seg <= "0001001";
when "001" => seg <= "0000110";
when "010" => seg <= "1000111";
when "011" => seg <= "1000000";
when others => seg <= "XXXXXXX";
end case;
end process;
end RTL;
TP VHDL

d. Simulation :
TP VHDL

e. Pin planner :
TP VHDL

Multiplexeur et Décodeur 7
segments

Maintenant l’afficheur 7 segments va être géré par les commutateurs SW pour afficher le
mot « HELLO ». Pour cela, nous allons utiliser notre multiplexeur 5:1 pour basculer
entre les lettres.

a. Schéma structurel :

b. Table de vérité :

SW17 SW16 SW15 Character pattern


0 0 0 HELLO
0 0 1 ELLOH
0 1 0 LLOHE
0 1 1 LOHEL
1 0 0 OHELL
1 0 1
1 1 0
1 1 1
TP VHDL

c. Schéma bloc :

d. Pin planner :
TP VHDL

CONCLUSION

L'objectif de ce travail consistait à la programmation des circuits programmables tels que


FPGA qui nous permet de basculer vers l’exécution en temps réels des systèmes.

Nous avons étudié FPGA du type cyclone III de Altéra, on a utilisé le langage de description
de matériel VHDL pour représenter le comportement ainsi que l'architecture des systèmes
numériques réalisés.

On a étudié aussi les circuits logiques programmables FPGAs, on a découvert les avantages
qu’ils présentent de point de vue flexibilité, configuration et reprogrammation à volonté qui
permet la modification et l’amélioration des conceptions réalisées. Ensuite, nous avons utilisé
le logiciel Quartus II pour l’implémentation des circuits étudiés sur FPGA. Les résultats
obtenus nous ont permis de prouver le bon fonctionnement des circuits logiques programmable
FPGAs, et de saisir l’importance de leurs utilisations, suite aux traitements parallèles des
instructions qui conçoivent le système conçu par l’utilisateur.

Comme perspective et travaux futurs, on propose de réaliser d'autres implémentations des


fonctionnalités d'autres systèmes numériques sur FPGA.
TP VHDL

Vous aimerez peut-être aussi