coursarchilfl3s5
TRANSCRIPT
-
7/25/2019 CoursArchiLFL3S5
1/45
Cours VHDL - IV
L3-S6 - Universit de Cergy-Pontoise
Laurent Rodriguez Benot Miramond
-
7/25/2019 CoursArchiLFL3S5
2/45
Plan du ours
I Historique de conception des circuits intgrs- HDL
- Mod!les de one"tions- VHDL
- Les mod!les de one"tions en #$%L
- Les & 'ri(ues de 'aseII VHDL et FPGA- VHDL
- Syntaxe et typage- etour sur !es "riques de "ases- etour sur !a conception structure!!e et co#porte#enta!e en VHDL
Port #ap$ %quations !ogiques$ &a"!es de 'rits ()it* +++ Se!ect,
- FPGA- u.est ce qu.un FPGA- F!ot de conception- Carte de d'e!oppe#ent et en'ironne#ent de &P
-
7/25/2019 CoursArchiLFL3S5
3/45
Plan du ours
III /od!isation- Co#p!#ents sur !a description Structure!!e- Description co#porte#enta!e appro0ondie
Ciruits om'inatoires- Styles de desri"tion
)lots de donnes*nstrutions onurrentes+a'le de vrit)ontions
- Circuits standards- Com"arateur- Multi"le,eurs- nodeurs
-
7/25/2019 CoursArchiLFL3S5
4/45
Plan du ours
IV Processus et gestion du te#ps- Syntaxe et s#antique- Porte - signaux 1 'aria"!es- Annotations te#pore!!es et d!ais
V Si#u!ation
- &est2enc*- GHDL 1 G&3-)a'es- uartus 1 /ode!SI/
VI /od4!es gnriques- Para#4tres gnriques- 5 Generate 6
- 2ouc!es- %xe#p!es
-
7/25/2019 CoursArchiLFL3S5
5/45
VII VHDL pour !a synt*4se - Les types - Processus - Initia!isation et %S%&
- Varia"!es et signaux - Sync*ronisation - Instructions conditionne!!es - 2ouc!es - Synt*4se srie 's para!!4!e - Instructions concurrentes - Sous-progra##es - 7prateurs 8 !.in0rence des oprateurs - Groupe#ent - Partage - Para!!4!is#e
Plan du ours
-
7/25/2019 CoursArchiLFL3S5
6/45
VII - VHDL POUR LA SYNTHESELes types
-
7/25/2019 CoursArchiLFL3S5
7/45
IV - Sous-ensemble VHDL synthtisable :restrictions
Les restrictions imposes par la synthse sur le langage VHDLsont principalement les suivantes:
Les informations e lai !clause "after , wait fr#s!t i"!r#es$$n pr%ess&soit %tre crit selon certainesrgles pour%tre correctement trauit en lments matriels !%ir%&its%'(i!atires VS %ir%&its s#)&e!tie*s#&Se&*s %ertai!s types s!t s&pprt#s$
-
7/25/2019 CoursArchiLFL3S5
8/45
IV - Sous-ensemble VHDL synthtisable :Types
-
7/25/2019 CoursArchiLFL3S5
9/45
Le type entier prfini ans le pac'age S(D est le type INTE+ERfinit sur (its) sous-types sont finis :
Ils sont raliss en synthsecomme es .e%te&rs /e (itscos en !!si"!#s & e! %'p*#'e!t 0
*ar contre :
IV - Sous-ensemble VHDL synthtisable :Types 1 E!tiers
[231
,2311]
S92&:P%natura!ISintegerA;G%< &7integer.*ig*=S92&:P%positi'eISintegerA;G%> &7integer.*ig*=
SU2TYPE'y3(yte ISINTE+ER RAN+E-45 TO467-- %/a"e s&r 5 (its
-
7/25/2019 CoursArchiLFL3S5
10/45
+ noter pour l,utilisation ,oprateurs :
Sont compatibles tant tout eu un sous-type u m%me type naturalalors.ue :
Sont consirs comme eu types inpenants et incompatibles&
IV - Sous-ensemble VHDL synthtisable :Types 1 E!tiers
S92&:P%9;?A?DI@ ISnatura! A;G%(> to>< donto>,=
&:P%9;?A?DI@ ISnatura! A;G%(> &7>< D7);&7>,=
-
7/25/2019 CoursArchiLFL3S5
11/45
/,est un type fini par une #!&'#rati! e8a&sti.e /e ses.a*e&res:
L9r/re,initialisation est i'prta!t0 A *9i!itia*isati!,unsignal ,un type numrT1 le signal prenla valeur T9LE:T&
2 :
IV - Sous-ensemble VHDL synthtisable :Types 1 E!&'#r#s
TYPEstate IS; i/*e, i!it, s
-
7/25/2019 CoursArchiLFL3S5
12/45
Les valeurs sont encoes automati.uement suivant l,orre :
i/*e, i!it, s
-
7/25/2019 CoursArchiLFL3S5
13/45
IV - Sous-ensemble VHDL synthtisable :Types 1 E!&'#r#s
TYPE(*ea! IS;:ALSE, TRUE>7TYPE(it IS;9B9, 949>7TYPEse.erity3*e.e* IS;NOTE, ARNIN+, ERROR, :AILURE>7
TYPE%7$$$
%ans le "a(uetage S+./%.R% de la 'i'liot0!(ue S+%1 "lusieurs ty"esnumrs sont d2inis
. noter (ue la valeur d4un 'it est (uivalente 5 elle d4un arat!re ettouours entre (uote 474 et 484 ontrairement au, entiers 7 et 8
-
7/25/2019 CoursArchiLFL3S5
14/45
&:P%std?u!ogic IS(.9.$ .@.$ .7.$ .>.$ .B.$ .).$ .L.$ .H.$ .-.,=
IV - Sous-ensemble VHDL synthtisable :Types 1 E!&'#r#s
%ans le "a(uetage *9S+%:L;t 5 484 et d4un autre 5 474
.. #aleurs 'oolennes du signal9
.B. tat 0aute 4im"dane?9
.). Signal reli 5 @ rsistanes de tirage1 une tirant 5 7 et l4autre 5 89.H. et.L. sont des valeurs d4un signal reli res"etivement 5 unersistane de tirage 5 8 et 5 79.-. est un tat indi22rent9 Utile "our drire les ta'les de vrit9
-
7/25/2019 CoursArchiLFL3S5
15/45
IV - Sous-ensemble VHDL synthtisable :Types 1 Ta(*ea&8
Les ty"es &A2L%A9ou AA:sont des olletions d4o'ets demAme ty"e1 inde,s "ar des entiers ou des numrs9
Un ta'leau "eut avoir une taille inonnue don non ontraint1 "are,em"le le ty"e B*+:#C+;R de la 'i'liot0!(ue S+% est unta'leau de dimension 8 veteur de taille (uelon(ue
La taille est "rise 5 l4utilisation
&:P%ord ISarray (> donto D7);&7
-
7/25/2019 CoursArchiLFL3S5
16/45
IV - Sous-ensemble VHDL synthtisable :Types 1 Ta(*ea&8
*l 2aut noter (ue l4inde,ation "eut Atre/S2 en tte (> donto
-
7/25/2019 CoursArchiLFL3S5
17/45
IV - Sous-ensemble VHDL synthtisable :Types 1 Ta(*ea&8
*l "eut y avoir des ta'leau, de ta'leau,ou des ta'leau, 5 "lusieursdimensionsD Les a22etations di22!rent (uel(ue "eu omme illustrdans l4e,em"le suivant
&:P% &A2> is array(< to , o0 "it?'ector(K donto to , o0 "it=SIG;AL A 8 &A2>=
SIG;AL 2 8 &A2=
2%GI;--ta"!eau de ta"!eauA(>M=
A(,(E, J .>.=-- ta"!eau N di#ensions( pas 0orc#ent synt*tisa"!es,
2($E, J .
-
7/25/2019 CoursArchiLFL3S5
18/45
IV - Sous-ensemble VHDL synthtisable :Types 1 Attri(&ts
*l s4agit de aratristi(ues de ty"es ou d4o'et9 Synta,e 72O%&.A&&I29&
*l e,iste des attri'uts sur les ty"es1 sur les o'ets de ty"e ta'leau etsur les signau,9 ;n "eut d2inir nos "ro"res attri'uts9
*l est "ossi'le de rer es "ro"res attri'uts9 Certains outils desynt0!se en tirent "ro2it "our "asser des arguments de synt0!se9
Les "rini"au, attri'uts de ty"e
+EPC;ULUR *SBLU1 R;U
-
7/25/2019 CoursArchiLFL3S5
19/45
IV - Sous-ensemble VHDL synthtisable :Types 1 Attri(&ts
Les "rini"au, attri'uts "our les ta'leau,
Sur les signau,
&:P%/7& IS"it?'ector(K D7);&7
-
7/25/2019 CoursArchiLFL3S5
20/45
Une onstante "oss!de une valeur 2i,e durant la simulation9Synta,e C;/S+./+ nom-onst I1 999 J sousty"e K e,"ression D
,em"les
IV - Sous-ensemble VHDL synthtisable :Types 1 ?!sta!tes
C7;S&A;&/A@?C79;&8 positi'e 8J EE=
Un autre e,em"le ty"i(ue de lNutilisation de onstante en synt0!se est ladlaration dNune ta'le de vrit ou de ontenu dNune mmoire R;M9
Le Code suivant est un e,em"le dNutilisation de la ta'le de vrit dumod!le om"ortemental dNun additionneur 8 'it om"let9
;n tire avantage de lNutilisation du ty"e U/S*
-
7/25/2019 CoursArchiLFL3S5
21/45
/oe 3un aitionneur
-
7/25/2019 CoursArchiLFL3S5
22/45
VII - VHDL POUR LA SYNTHESEPr%ess&s et sy!%
-
7/25/2019 CoursArchiLFL3S5
23/45
IV - Sous-ensemble VHDL synthtisable :Pr%ess&s %'(i!atires & s#)&e!tie*s
-
7/25/2019 CoursArchiLFL3S5
24/45
Affe%tati! /e si"!a*
IV - Sous-ensemble VHDL synthtisable :Instruction squentie!!es
-
7/25/2019 CoursArchiLFL3S5
25/45
(out ob4et VHDL a normalement une valeur initiale soit par son type1 soit lorse la claration&/es hypothses ne sont pas supportes lors e la synthseIl faut systmati.uement prvoir un setGreset
IV - Sous-ensemble VHDL synthtisable :I!itia*isati! 1 SETGRESET Sy!%
-
7/25/2019 CoursArchiLFL3S5
26/45
2emple e rsultat e l3optimisation u synthtiseur :
IV - Sous-ensemble VHDL synthtisable :Varia(*es et si"!a&8
-
7/25/2019 CoursArchiLFL3S5
27/45
L3affectation es
variables estimmiate 0
-
7/25/2019 CoursArchiLFL3S5
28/45
Affe%tati! /e si"!a*
IV - Sous-ensemble VHDL synthtisable :Varia(*es et si"!a&8
-
7/25/2019 CoursArchiLFL3S5
29/45
I!str&%ti! %!/iti!!e**e 1
L3instruction I:suppose une priorit ans les traitements&/ette priorit est implmente par es multipleeurs en srie&Dans le premier cas1 le e*se est pr#%is#1 le circuit est %'(i!atireDans le secon cas1 i* est a(se!tle circuit est s#)&e!tie*pour mmoriser
le signal 5
IV - Sous-ensemble VHDL synthtisable :Str&%t&res %!/iti!!e**es 1 I:
-
7/25/2019 CoursArchiLFL3S5
30/45
IV - Sous-ensemble VHDL synthtisable :Str&%t&res %!/iti!!e**es 1 ?ASE
-
7/25/2019 CoursArchiLFL3S5
31/45
Les boucles 6or1 loop et 7hile sont trs prati.ue pour simplifier le coe&Le nombre 3itration oit %tre stati.ue 0
IV - Sous-ensemble VHDL synthtisable :Les (&%*es
-
7/25/2019 CoursArchiLFL3S5
32/45
2.uivalents 0
IV - Sous-ensemble VHDL synthtisable :Les (&%*es
IV S bl VHDL h i bl
-
7/25/2019 CoursArchiLFL3S5
33/45
IV - Sous-ensemble VHDL synthtisable :Les (&%*es 1 Sy!t
-
7/25/2019 CoursArchiLFL3S5
34/45
VII - VHDL POUR LA SYNTHESEI!str&%ti!s %!%&rre!tes
IV S bl VHDL thti bl
-
7/25/2019 CoursArchiLFL3S5
35/45
S!t s&pprt#es par *a sy!t
-
7/25/2019 CoursArchiLFL3S5
36/45
VII - VHDL POUR LA SYNTHESES&s-pr"ra''es
IV Sous ensemble VHDL synthtisable
-
7/25/2019 CoursArchiLFL3S5
37/45
$n appel e sous-fonction n3impli.ue pas un nouveau niveau hirarchi.ue&Il est remplac par un circuit combinatoire si :
ses arguments sont e moe i! ou &til n3y a pas 3instruction wait ans le corps e procurela procure ne manipule .ue es ob4ets locau et ses arguments
!pas 3effet e bor#&+utrement1 l3appel infre un circuit s.uentiel
IV - Sous-ensemble VHDL synthtisable :Les s&s-pr"ra''es
IV Sous ensemble VHDL synthtisable :
-
7/25/2019 CoursArchiLFL3S5
38/45
IV - Sous-ensemble VHDL synthtisable :E8e'p*e /e s&s-pr"ra''e
-
7/25/2019 CoursArchiLFL3S5
39/45
VII - VHDL POUR LA SYNTHESEOp#rate&rs 1 *9i!f#re!%e /es p#rate&rs
IV - Sous-ensemble VHDL synthtisable :
-
7/25/2019 CoursArchiLFL3S5
40/45
IV Sous ensemble VHDL synthtisable :Les p#rate&rs
Classe Sym'ole )ontion %2ini "our
;"rateurs divers /otOOa's
Com"lment,"onentiel#aleur a'solue
Bit1 'oolen1 entier1 rel1numri(ue
;"rateurs multi"liati2s OModrem
Multi"liation%ivisionModuloReste
/umri(uentier
Signe
unaire
Q
-
Positi2
/gati2
/umri(ue
;"rateurs additi2s'inaire
Q-
.dditionSoustrationConatnation
/umri(ue8 dimension
;"rateurs relationnels TT
gal%i22rent*n2rieurSu"rieur*n2rieur ou galSu"rieur ou gal
+ous les ty"esRetourne un 'oolen
;"rateurs logi(ues'inaire
.nd;r/and/orVor
+;U/;/ +/;/ ;U;U e,lusi2
BitBoolenveteur
IV - Sous-ensemble VHDL synthtisable :
-
7/25/2019 CoursArchiLFL3S5
41/45
Sous e se b e sy sab eLes p#rate&rs
;u#rique W +y"e identi2ier *S R./
-
7/25/2019 CoursArchiLFL3S5
42/45
IV - Sous-ensemble VHDL synthtisable :Les p#rate&rs 1 I'prta!%e /& "r&pe'e!t
IV - Sous-ensemble VHDL synthtisable :
-
7/25/2019 CoursArchiLFL3S5
43/45
Ici1 un seul aitionneur avec entres multiplees !+1 81 / et D sont sur 9 bit# :
IV - Sous-ensemble VHDL synthtisable :Les p#rate&rs 1 parta"e /es p#rate&rs
IV - Sous-ensemble VHDL synthtisable :
-
7/25/2019 CoursArchiLFL3S5
44/45
2emples .uivalents1 soit en s.uentiel1 soit en concurrent :
IV Sous ensemble VHDL synthtisable :Les p#rate&rs 1 parta"e /es p#rate&rs
Bi'li
-
7/25/2019 CoursArchiLFL3S5
45/45
Bi'lioDocu#ents de cours
Ce ours en ligne 5
$tt""erso-etis9ensea92rrodriguez
Un tr!s 'on su""ort de ours
0tt"0dl9teleom-"ariste092rinde,90tml
Le ours de Liene @ en "artiulier "our eu, (ui ne l4ont "as suivi
0tt""erso-etis9ensea92rmiramondnseignementL@iruits:numeri(ues90tml
Le ours de Liene 3 de @783
0tt""erso-etis9ensea92rmiramondnseignementL3Cours:#$%L:@78890tml
Docu#ents de d'e!oppe#ent
[uartus0tt"(uartus0el"9altera9omurrent
%oumentation .ltera sur les Cylones ** et *# entre autre999
0tt"HHH9altera9omliteraturelit-inde,90tml
http://hdl.telecom-paristech.fr/index.htmlhttp://perso-etis.ensea.fr/miramond/Enseignement/L2/circuits_numeriques.htmlhttp://perso-etis.ensea.fr/miramond/Enseignement/L3/Cours_VHDL_2011.htmlhttp://perso-etis.ensea.fr/miramond/Enseignement/L3/Cours_VHDL_2011.htmlhttp://perso-etis.ensea.fr/miramond/Enseignement/L2/circuits_numeriques.htmlhttp://hdl.telecom-paristech.fr/index.html