Академический Документы
Профессиональный Документы
Культура Документы
Module ETRS-511
FPGA & VHDL
Travaux Dirigs
FPGA & VHDL
Sylvain MONTAGNY
sylvain.montagny@univ-savoie.fr
Btiment chablais, bureau 13
04 79 75 86 86
Universit de Savoie
Module ETRS-511
FPGA et VHDL
TD1
Environnement de dveloppement QUARTUS II
Functional Simulation the synthesized circuit is tested to verify its functional correctness;
the simulation does not take into account any timing issues.
Programming and Configuration the designed circuit is implemented in a physical FPGA
chip by programming the configuration switches that configure the LEs and establish the
required wiring connections.
Fitting the CAD Fitter tool determines the placement of the LEs defined in the netlist into
the LEs in an actual FPGA chip; it also chooses routing wires in the chip to make the
required connections between specific LEs.
Synthesis the CAD Synthesis tool synthesizes the circuit into a netlist that gives the logic
elements (LEs) needed to realize the circuit and the connections between the LEs.
Timing : Analysis and Simulation propagation delays along the various paths in the fitted
circuit are analyzed to provide an indication of the expected performance of the circuit.
(Analysis). The fitted circuit is tested to verify both its functional correctness and timing.
(Simulation)
Design Entry the desired circuit is specified either by using a hardware description
language, such as Verilog or VHDL, or by means of a schematic diagram.
Notes :
LEs : Logic Elements
CAD : Computer Aided Design
Q1.
Q2.
1/8
2/8
3/8
Q3.
A la compilation du code que vous avez cr, on obtient le rapport de compilation suivant :
Q4. Daprs les caractristiques du FPGA, quel serait selon vous lordre de prix dun
composant de ce type pour des faibles quantits.
4/8
Q5.
La section Timing Analyser permet davoir des informations sur les diffrents temps de
propagation lintrieur du composant. Dans notre cas simple, nous avons :
Q8. Modifier larchitecture VHDL prcdente afin de mettre en uvre cette nouvelle
application.
5/8
Q9.
Justifier les parties qui ont volues par rapport au mode combinatoire.
La prsence de lhorloge nous donne aussi une autre version du compilation Report .
6/8
Plusieurs mthodes sont alors utilisables pour le compilateur puisse trouver le chemin le plus
favorable la contrainte fixe. Elles sont slectionnables dans :
Assignements>Settings>Fitter Settings. (Ci-dessous)
Q12. Expliquer ce Warning et prciser si celui-ci (load capacitance) possde une influence
quelconque sur les analyses de temps du systme.
7/8
Q13. Placer sur le schma tous les lments de la liste hirarchique quil est possible de
retrouver.
8/8
Universit de Savoie
Module ETRS-511
FPGA et VHDL
TD2
Synthse de systmes logiques combinatoires
&
c
1
Figure 1 : Schma d'une application
Q3.
Q4.
1/3
Raliser le composant ET
Q6.
Q7.
Raliser le composant OU
Q8.
2. Transcodeur
On souhaite raliser un transcodeur qui prend en entre un mot BCD (Binaire Cod Dcimal)
de 4 bits ABCD (D poids faible) et qui produit les sorties (a b c d e f g) de commande des leds
de manire afficher les symboles dcimaux correspondants sur l'afficheur 7 segments.
a
b
A B C D
Transcodeur
a b c d e f g
g
c
e
d
2/3
3/3
Universit de Savoie
Module ETRS-511
FPGA et VHDL
TD3
Synthse de systmes logiques squentiels
1. Jeu
On veut concevoir un jeu du type Question pour un champion (4 joueurs), laide dune
maquette DE1. Lappui sur un bouton poussoir provoque un avertissement sonore (buzzer,
commun tous les joueurs) et le blocage du systme. De plus, un signal lumineux (individuel
chaque joueur) spcifie le joueur ayant appuy le premier parmi les quatre. Les autres
joueurs ne peuvent alors plus intervenir car les autres boutons nont alors plus deffet. Le
systme ne peut tre remis zro que par lanimateur laide dune remise zro (Clear). Le
buzzer et les 4 signaux lumineux steignent.
Q1. Faite un schma lectronique du systme en considrant que vous utiliser la carte
DE1.
Q2.
Q3.
Dans cette version du systme, le buzzer retenti pendant tout le temps, jusqu' ce que le
prsentateur appuis sur Clear. Cela peut tre contraignant.
Q4. Sachant que nous disposons dune horloge 10 kz pour piloter notre systme
squentiel, trouver une ralisation permettant davoir un retentissement du buzzer
uniquement pendant 0,5s. Implmenter votre nouveau systme sans modifier le code des
questions prcdentes. (Simplement en rajoutant un nouveau composant au systme).
2. Registre dcalage
2.1. Registre dcalage simple
Q1. Construire un systme de registre dcalage 8 bits Parallle>Srie. C'est--dire que
les bits du vecteur dentre (8 bits) sont transmis en sortie au rythme dune horloge (front
montant) lorsque la commande send est envoye au systme. Un reset (RAZ) asynchrone
sera prvu.
1/4
2/4
Cet encodeur possde un dsavantage majeur : si une trop longue squence de bits 1
successifs est transmise, il ny a aucune transition sur la ligne. Ceci rend la synchronisation
entre le transmetteur et le rcepteur impossible. Pour remdier cela, le standard USB prvoit
une opration dintercalage de bits (bit stung). En effet, ds quune chane de six 1 est
transmise, on intercale un 0 pour forcer une transition. Il est facile denlever ces 0 au
rcepteur pour recomposer le message original.
Une portion de la chane de communication correspondante est illustre sur la figure suivante
:
La source : Elle gnre les bits du message transmettre sur le cble USB.
Intercalage de bit: Il doit tre capable de dtecter une squence de 6 1 successifs et de
transmettre un message avec les ventuels bits de stuffing . Si un bit de stuffing
intervient, la ligne maintien est place 1 pour un coup dhorloge afin de signaler la
source quil faut attendre. Ce temps correspond au temps de mettre le bit supplmentaire dans
le message.
Lencodeur NRZI : Bloc ralisant la fonction NRZI de la Figure 2.
3/4
Q5.
Q6. Donner le code VHDL de lencodeur NRZI avec une architecture code en flot de
donne.
4/4
Universit de Savoie
Module ETRS-511
FPGA et VHDL
TD4
Video Graphic Array (VGA)
Laffichage vido VGA est un grand standard courant pour laffichage graphique. Il est
valable quelque soit la technologie de lcran (cathodique ou LCD).
1. Objectifs :
Nous avons pour objectif de raliser une carte graphique trs simple. Elle permettra au moyen
de trois interrupteurs de raliser laffichage des trois couleurs RGV (Red, Green and Blue) ou
une combinaison des trois.
2. Le standard VGA
2.1. Prsentation des signaux
Une image est reprsente par des Pixels (Picture Elements). Chaque pixel contient 3
chromophores, un Rouge (Red), un Vert (Green) et un Bleu (Blue). La combinaison des
chromophores RBG permet de raliser une infinit de couleur.
1/7
2/7
Format
Pixel
Clock
(MHz)
640x480, 60Hz
16
96
48
480
11
31
640x480, 72Hz
31.500
640
24
40
128
480
28
640x480, 75Hz
31.500
640
16
96
48
480
11
32
640x480, 85Hz
36.000
640
32
48
112
480
25
800x600, 56Hz
38.100
800
32
128
128
600
14
800x600, 60Hz
40.000
800
40
128
88
600
23
800x600, 72Hz
50.000
800
56
120
64
600
37
23
800x600, 75Hz
49.500
800
16
80
160
600
21
800x600, 85Hz
56.250
800
32
64
152
600
27
1024x768, 60Hz
65.000
1024
24
136
160
768
29
1024x768, 70Hz
75.000
1024
24
136
144
768
29
1024x768, 75Hz
78.750
1024
16
96
176
768
28
1024x768, 85Hz
94.500
1024
48
96
208
768
36
Dans la Figure 2, compt_h est le compteur des pixels horizontaux, permettant de savoir ou en
est laffichage et de gnrer convenablement le signal de synchronisation horizontale.
Q1. Daprs le tableau des timings, complter la variable compt_h de la Figure 2, sachant
que nous travaillons en 640x480 60 Hz.
3/7
Q2.
Q5.
3. Ralisation en VHDL
Nous cherchons implmenter le systme de gestion des signaux VGA dans un FPGA. La
carte DE1 de chez ALTERA possde en effet un connecteur VGA reli au FPGA. Le
brochage de ce connecteur au FPGA est donn dans la documentation. La carte DE1 possde
une horloge de 50 Mhz, partir de laquelle nous allons cadencer lensemble du systme.
4/7
Q8.
Q9.
5/7
6/7
7/7
Universit de Savoie
Module ETRS-511
FPGA et VHDL
TD5
Mmoires RAM
Dans un systme numrique il est souvent ncessaire de fournir une certaine quantit de
mmoire afin de stocker et manipuler des variables. Si ce systme numrique est implment
base de FPGA, il est possible dutiliser les ressources internes du composant du composant.
Si des quantits de mmoire plus importante sont ncessaires, nous devons utiliser de la
mmoire externe qui sera pilote par le FPGA.
Q1.
Quelle quantit de mmoire interne peut intgrer le FPGA de la carte DE1 Altera ?
Q2. A laide du User Manuel fournie avec la maquette DE1, dmontrer la taille de 512 Ko
pour la SRAM.
Q3.
1/5
Q5.
2/5
Les FPGA Cyclone II comporte des blocs mmoires appels M4K. Chaque bloc mmoire est
compos de 4096 bits de mmoire qui peuvent tre configurs pour implmenter de la
mmoire de taille variables.
Les M4K blocs comportent des registres sur les entres et possdent deux ports diffrents
pour lcriture et la lecture des donnes destination, et en provenance de la mmoire.
Lorsque nous souhaitons raliser des applications complexes, les structures logiques telles que
des additionneurs, des registres, des compteurs, des mmoires peuvent tre implmentes en
utilisant les modules LPM depuis les librairies paramtrables de Quartus II. Nous allons
utiliser cette librairie pour implmenter la mmoire de la Figure 4.
Crer un nouveau projet.
Lancer loutil de cration de composant :
Tool>MegaWizard Plug-In Mangage>Create a new custom MegaFunction variation
Lcran 1 se constitue comme suit (Figure 5):
3/5
Dans lcran 2, slectionner les blocs de mmoire M4K, et slectionner single clock dans
Wich cloking method do you like to use ?
Dans lcran 3, dslectionner q output port dans la catgorie Wich port sould be
registered ?
Accepter les options par dfaut des crans suivants.
4/5
Entre DE1
Signal
Affichage
SW0 SW3
SW4 SW7
SW9
KEY0
Datain
Adress
Write
Clock
Dataout
HEX1
HEX3
LEDG0
5/5
HEX0