Vous êtes sur la page 1sur 3

UNIVERSITE SIDI MOHAMMED BEN ABDELLAH

FACULTE DES SCIENCES ET TECHNIQUE - FES


Dpartement de Gnie Electrique

TP
Conception et Implmentation des circuits numriques sur
FPGA

Objectif :
L'objectif de ce TP est d'implanter un compteur/dcompteur et un feux de carrfour sur le circuit FPGA
de la carte Cyclone II FPGA / ASIC Multimedia Application.
L'outil CAO utilis est Quartus II dvelopp par la socit Altera.

Manipulation1 :
Lapplication implanter peut tre dcrite laide du synoptique prsent sur la figure 1.
Ce circuit est un compteur/dcompteur synchrone de 4 bits. Il possde une entre clr asynchrone qui
permet de remettre zro la sortie et une autre entre sel synchrone pour choisir entre le comptage et le
dcomptage.
Pour raliser laffichage de ce compteur/dcompteur, trois units fonctionnelles sont utilises.
 Un compteur/dcompteur.
 Un dcodeur 7 segment.
 Un diviseur de frquence.

clk_40
clr

Dviseur de
frquence

a
Seg 8

clk
clk

Dcodeur
BCD-7 seg

4
Cpt

sel

Compt/Dcompt

Figure 1: Synoptique du compteur- dcompteur

f
g
e
d

c
x

UNIVERSITE SIDI MOHAMMED BEN ABDELLAH


FACULTE DES SCIENCES ET TECHNIQUE - FES
Dpartement de Gnie Electrique

Spcification comportementale de chaque bloc fonctionnel


1. Spcification du diviseur de frquence
Le diviseur de frquence permet de gnerer un signal dhorloge faible frquence partir de la
frquence fournit par loscillateur quartz X1 de 50 MHz intgrer dans la carte. Cette frquence
sera utiliser comme frquence de lapplication afin de visualiser le changement du
compteur/dcompteur.
2. Spcification du compteur/dcompteur :
Ce bloc fonctionnel est un compteur/dcompteur 4 bits avec une entre de slection qui permet le
choix entre le comptage et le dcomptage.
NB. Le compteur/dcompteur doit tre compil, simul et valid avec ModelSim avant de spcifier
l'application globale.
3. Spcification du dcodeur BCD-7segments :
Ce bloc permet de dcoder la donner qui sort du bloc compteur/dcompteur afin de lafficher sur
lafficheur 7 Segments.
Les 8 signaux de sortie vers lafficheur 7 segments sont reprsents sous forme de vecteur
(std_logic_vector). Le bit Seg(7) correspond au segment a, le bit Seg(6) au segment b, le bit
Seg(1) au segment g et le bit Seg(0) au point (x).
4. Spcification structurelle de l'application globale :
Une fois chaque bloc de base dcrit en VHDL est valid avec loutil ModelSim, il est ncessaire
de crer un nouveau fichier vhdl qui instancie les trois blocs avec une description structurel et qui
va permettre de spcifier l'application globale.
1) Ecrire le code VHDL de cette application ?
2) Implmenter sur FPGA cette application et vrifier son fonctionnement.

Manipulation 2 :

Gestion dun carrefour

Dans un premier temps, pour illustrer la mthode, on simplifie le problme lextrme :


Au croisement de 2 routes, on place des feux tricolores :

R1 feu rouge de laxe 1


O1 feu orange ---------V1 feu vert ----------R2 , O2, V2 idem pour laxe 2

UNIVERSITE SIDI MOHAMMED BEN ABDELLAH


FACULTE DES SCIENCES ET TECHNIQUE - FES
Dpartement de Gnie Electrique

HYPOTHESES de fonctionnement :
On dfinira les temps de fonctionnement des feux en fonction de la priode de lhorloge de base.
Pour la simulation T de lhorloge on prendra 1 s. Dans la ralit il suffira de connecter au circuit
une horloge de 1 seconde par exemple.
V1 dure 8 s, V2 dure 5s, et les feux orange 1s.
On dcrit donc le fonctionnement global comme suit :
Laxe 1 vient de passer au vert (V1=1, R1 et O1=0 ; V2 et O2=0, R2=1). 8 s plus tard il passe
lorange (O1=1, R2=1). On laisse par scurit les 2 feux au rouge pendant une seconde (R1 et
R2=1). 10 secondes se sont coules lorsquon ouvre le passage laxe 2 (V2 et R1=1). Le cycle
complet dure donc 17s.
Linitialisation doit placer le systme en tat de scurit, soit R1 et R2=1 pendant une seconde. On
libre ensuite laxe 1.
Il ny a pas dentre (appel piton...) dans cet exemple trs simplifi.
DIAGRAMME DETAT:

3) Ecrire le code VHDL de cette application ?


4) Implmenter cette application sur FPGA et vrifier son fonctionnement.
5) Sur lexemple prcdent du carrefour, on rajoute un appel piton (AP1) uniquement sur la
voie 1. De faon ne pas trop interrompre le trafic, lappel nest pris en compte qu partir de
ltat V15.lappel (AP1) permet dallumer le feu orange O1
a. Modifier la machine tat pour mettre en vidence lappel piton (AP1) ?
b. Ecrire le code VHDL dans le cas dune machine de Moore ?
c. Implmenter lapplication aprs modifications et vrifier son fonctionnement.