coursarchilfl3s5

Upload: fethihamed2009

Post on 25-Feb-2018

213 views

Category:

Documents


0 download

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