Vous êtes sur la page 1sur 11

1.

Introduction :
Nous allons au cours de ce mini projet programmer notre FPGA altera Cyclone II en VHDL afin de
lui permettre de piloter un cran VGA (Video Graphic Array) pour obtenir un affichage des barres
verticales.
Nous allons se baser sur le TP dans lequel nous avons affich un rectangle au centre de lcran,
pour raliser notre mini projet et afficher des barres verticales en diffrents couleurs et qui se
dplacent du gauche droite.

2. Principe de pilotage dun cran VGA


Afficher une image sur un cran consiste imposer une couleur particulire sur chaque point
lmentaire (ou pixel) de lcran, tandis quafficher une squence vido consiste enchaner des
images rapidement. Pour une image, plutt que dafficher tous les points en mme temps, il est
plus simple de faire un balayage de lcran vitesse importante, la persistance des impressions
lumineuses sur la rtine de lil donnant limpression dune image stable.
Le balayage de lcran sera compos dun balayage ligne (donc horizontal) associ un balayage
colonne (donc vertical).
Ainsi, aprs avoir balay toutes les colonnes, de gauche droite, dune ligne, on passe la ligne
suivant jusqu la dernire ligne en bas, puis on remonte la premire en haut.

La couleur de chaque pixel sera la somme pondre de trois couleurs lmentaires : rouge, vert
et bleu (il sagit ici de trichromie additive, diffrente de celle de la palette du peintre qui est
soustractive avec comme couleurs primaires magenta, cyan et jaune).
Pour afficher un point blanc, les trois couleurs auront lintensit maximale, et lintensit minimale
pour afficher un point noir (ou teindre le pixel).
3. Ralisation :
Afin dafficher des barres verticales en diffrents couleurs et qui se dplacent du gauche
droite, donc nous allons raliser plusieurs squence, en affichant une image dans chaque
squence, pour cela nous avons dclar une machine a tat, chaque tat va reprsenter une
squence.

Le graphe dtats :

Sequence Sequence
T=1s
1 2

T=1s
T=1s

Sequence Sequence
3 4
T=1s
Partie programme :
Premirement nous avons dclar les dimensions de chaque rectangle , comme indique dans la
figure ci-dessous :

Puis, nous avons ajout les signaux des positions horizontal de chaque rectangle

Ensuite, nous avons ralis une horloge dune frquence 1Hz, partir dhorloge 50Mhz de la
carte ALTERA.
Dclaration dhorloge :

Processus dhorloge :
On a lentre clk00 qui reprsente lhorloge
Nous avons 4 processus qui permettent de deviser lcran en 4 rectangle, en prend comme
exemple le processus du 1er rectangle (code ci-dessous).
Dimension horizontal :

Dimension vertical :
Puis en forme les rectangles

Le processus qui gnre les signaux RGB :


Dclaration du processus machine tat
Le processus bascule dune etat qui represente une sequence a une autre apres 1 seconde, en fait
incrementer le conteur count2.
Puis nous avons le processus qui assure le passage dun tat un autre
Voici le rsultat quon a obtenu

La premiere sequence:

La 2eme squence :
La 3eme squence :

La 4eme squence :
4. Conclusion :
Ce mini projet nous a permis de mettre en avant nos connaissances dans la programmation en VHDL. Afin
de raliser la tache demande, nous avons utilis tous ce quon a vu dans le cours et dans les sances de
TP. Ce projet est intressant dans la mesure o nous avons t confronts des problmes de
programmation et nous avons pu les rsoudre, et nous avons pu afficher quatre squences des barres
verticales de diffrente couleur en se basant sur le principe de machine tat.