Example: tourism industry

Cours initiation VHDL - LAAS

VHDLVHDL Support de coursSupport de , avenue du Colonel Roche7, avenue du Colonel Roche31077 TOULOUSE Cedex31077 TOULOUSE CedexUniversit Paul Sabatier 1997 Universit Paul Sabatier 19961 19962 VHSIC Hardware Description Language Circuits int gr s Cartes Syst mes ProcessusNiveaud'abstraction(microproces seur)(unit centrale)(calculateur)(syst me de navigation) Composant l mentaire(porte logique) 19963 Demande des militaires US en 1980 n cessit d'un langage de description non ambig edes syst mes mat riels unicit d'une telle description p rennit du mod le En 1987 : vhdl devient une norme IEEE Aujourd'hui c'est un standard du march outils de conception 100% vhdl (Synopsys) outils de conception plus ancien incluant une entr e vhdl (Cadence)Pourquoi le vhdl ?

Source VHDL modèle Compilation Simulation Synthèse Placement Routage Fabrication Source VHDL test Compilation détecte erreurs de syntaxe incompatibilité des signaux tests fonctionnels tests temporels équations booléennes optimise place / temps génère une net_list source VHDL rétro annotation calcul des temps de propagation génération ...

Tags:

  Vhdl

Information

Domain:

Source:

Link to this page:

Please notify us if you found a problem with this document:

Other abuse

Advertisement

Transcription of Cours initiation VHDL - LAAS

1 VHDLVHDL Support de coursSupport de , avenue du Colonel Roche7, avenue du Colonel Roche31077 TOULOUSE Cedex31077 TOULOUSE CedexUniversit Paul Sabatier 1997 Universit Paul Sabatier 19961 19962 VHSIC Hardware Description Language Circuits int gr s Cartes Syst mes ProcessusNiveaud'abstraction(microproces seur)(unit centrale)(calculateur)(syst me de navigation) Composant l mentaire(porte logique) 19963 Demande des militaires US en 1980 n cessit d'un langage de description non ambig edes syst mes mat riels unicit d'une telle description p rennit du mod le En 1987 : vhdl devient une norme IEEE Aujourd'hui c'est un standard du march outils de conception 100% vhdl (Synopsys) outils de conception plus ancien incluant une entr e vhdl (Cadence)Pourquoi le vhdl ?

2 19964 Complexe Description structur e = travail en quipe Adapt aux projets multi-entreprises mod les compil s -> s curit Ind pendant de la technologie utilis e Inconv nients Description complexe Tout n'est pas synth tisablePentium : Millions de transistors 1 an de conception PowerPC 601 : M Avantages Caract ristiques du 19965 Source VHDLmod leCompilationSimulationSynth sePlacement RoutageFabricationSource vhdl testCompilationd tecte erreurs de syntaxeincompatibilit des signauxtests fonctionnelstests temporels quations bool ennesoptimise place / tempsg n re une net_listsource VHDLr tro annotationcalcul des temps de propagationg n ration de masques Test sur puceBiblioth que fondeurfonctionnelle Biblioth que fondeurstructurelleConception d'un CI en 19966nom_du _mod le ( signaux d'entr e, signaux de sortie)

3 Architecture du mod le Plusieurs architectures peuvent tre d criteschoix la compilation Lien symbolique avec les l ments de biblioth queredirection des connexions la compilation 3 niveaux de descriptions peuvent tre utilis s : comportemental flot de donn es structurelCes niveaux sont concourants d finitions des signaux internes blocs de descriptions Structure d'un mod le 19967 Description comportementale algorithmes s quentielsarchitecture nico of microP is .. signal A,B,result : bit_vector (1 to 4); selection : bit;..MXP : process (Selection)begin if (selection = '0') then result <= A after 10 ns; else result <= B after 15 ns; endif;end process MXP;..MXPS electionABresult structures de boucle ( loop endloop, while) branchements (if then else, case end case) appel aux proc dures et fonctionsVHDL autorise :Les 19968architecture nico2 of microP is.

4 Signal A,B,result : bit_vector (1 to 4); selection : bit;..result <= A after 10 ns when selection = '0' else B after 15 ns;Description "flot de donn es" utilisation d' quations concourantesDescription structurelle cr ation d'un lien avec un autre mod learchitecture nico3 of microP is .. signal A,B,result : bit_vector (1 to 4); selection : bit;..G1 : MULTI4 port map ( A,B, selection, result); ce mod le peut tre - soit un l ment de la biblioth que fondeur- soit un autre mod le de l'utilisateur Les descriptions (suite) 19969 LA SEMANTIQUE DU 199610 Les mots r serv 199611 Les identifieurs Suite de lettres, chiffres et underscore "_" Le premier caract re doit tre une lettre Tous les caract res sont significatifs vhdl ne fait aucune diff rence entre majuscules etminusculesCorrects : NON_ET Bascule_JK NE555 Interdits : A#2 2A A$2 A__2 199612 Les commentaires Ils sont li s la ligne Ils commencent par deux tirets "--" et finissent la finde la ligne Ils sont n cessaires la compr hension du mod le maistotalement ignor s par le compilateur-- Ceci est un commentaire !

5 !!q <= data2 after 10 ns; -- affectation de la sortie-- attention l'instruction suivante sera ignor e : q <= data2 after 10 ns; 199613 Litt raux Valeurs d cimales Notation bas e Valeurs +6R els avec exposantformat : base#valeur#base comprise entre 2 et 162#11111111#16#FF#Entiers de valeur 255100 ps3 ns5 vIl faut toujours un espace entre la valeur et l'unit 199614 Litt raux (suite) Caract res Chaines de caract res Chaines de bitsNot s entre apostrophes'x''P''2''''' 'Not s entre guillemets, minuscules et majuscules y sont significatives" """"23 BVC$$Ld""Il est possible de noter"&-- concat nation"sur 2 lignes"Utilis s pour affecter des signaux de type bit_vectorX"FFF"-- base hexad cimale, longeur 12 bitsB"1111_1111_1111" -- base binaire , longeur 12 bitsO"17"-- base octale, longeur 6 199615 Les objets et leurs types vhdl permet de manipuler des objets typ s un objet est le contenant d'une valeur d'un type donn 4 classes d'objets : CONSTANT.

6 Objet poss dant une valeur fixe VARIABLE : peut voluer pendant la simulation SIGNAL : variable + notion temporelle (valeurs dat es) FILE : ensemble de valeurs qui peuvent tre lues ou crites 4 sortes de types : Scalaires : entiers, r Composites : tableaux, articles Pointeurs FichiersLes types sont pr d finis (package STANDARD) ou personnelsIls sont statiques durant la 199616 Les types scalaires Types entierstype integer is range -2_147_483_648 to 2_147_483_647; -- machine 32 bitstype Index is range ( 0 to 15); Types flottantstype real is range -lim_inf to +lim_sup; -- pr d finitype mon_real is range ( to ); Types num r stype bit is ('0','1'); -- pr d finitype boolean is (false,true); -- pr d finitype feu_tricolore is (vert,orange,rouge,panne);type LOGIC4 is ('X','0','1','Z'); 199617 Les types scalaires (suite) Types physiquesType volume is range integer'low to integer'highUnitsml;cl=10 ml;dl=10 cl;l=10 dl;gallon=4546 ml;End units;Quand les objets ne sont pas initialis s, ils prennent la valeur la plus basse du typeconstant PI : real := ;variable A,B,C : Integer;variable DATA : integer := 0;variable grand_rond : feu_tricolore := rouge;signalenable : Logic4 := 'Z';signalfeu1,feu2 : feu_tricolore := panne.

7 199618 Les types tableaux (array) Le type Array r unit des objets de m me type Un tableau se caract rise par : sa dimension le type de l'indice dans chacune de ses dimensions le type de ses l ments Chaque l ment est accessible par sa position (indice) on peut d finir un type de tableaux non contraints,mais la dimension doit tre sp cifi e lors de lad claration d'un objet de ce typeType string is array (Positive range <>) of character; -- pr d finiType bit_vector is array (Natural range <>) of bit;-- pr d finiType Compte_feu is array (Feu_tricolore) of integer;Type Matrice2D is array (Positive range <>,Positive range <>) ofreal;Signal mat3*4 : Matrice2D ( 1 to 3, 1 to 4);Signal mot16 : bit_vector (15 downto 0); 199619 Les types articles (Record) Le type RECORD r unis des objets de types diff rents Les l ments(champs) sont accessibles par un nom La d claration d'un article inclut la d claration dechacun de ses champsType type_mois is (jan,fev,mars,avr,mai,juin,juil,aout,sep t,oct,nov,dec);Type date is recordmois : type_mois;annee : natural;End record;Type personne is recordnom : string;prenom : string;age : natural;arrivee : date;End record; 199620 Les sous-types Association d'une contrainte un type La contrainte est optionnelle Le simulateur v rifie dynamiquement la valeur del'objet Les op rateurs d finis pour le type sont utilisables pourle sous-typeSubtype printemps is type_mois range mars to juin ;Subtype valeur is bit.

8 Subtype octect is bit_vector ( 7 downto 0);Subtype byte is bit_vector (7 downto 0); 199621 Types pr d finis D clar s dans le package STANDARDType bitis ('0','1');Type boolean is (False,True);Type character is (Null,..,Del);Type Severity_Level is (Note,Warning,Error,Failure);Type integer is ..(d pend de la machine);Type real is ..(d pend de la machine);Subtype natural is integer range 0 to integer'high;Subtype positive is integer range 1 to integer'high;Type string is array (positive range <> ) of character;Type bit_vector is array (natural range <> ) of bit;Type TIME is range-9223372036854775808 to 9223372036854775807units fs;ps=1000 fs;ns=1000 ps;us=1000 ns;ms=1000 us;sec=1000 ms;min=60 sec;hr= 60 min;end units; 199622 Les attributs associ s des types ou des objets valeurs dynamiques pr d finis mais possibilit d'attributs utilisateurs ils portent : sur les types scalaires sur les tableaux sur des signaux Simplification de l' criture et g n ricit Les attributs se note avec une ' apr s le type ou l'objet ex : INTEGER' 199623 Les attributs sur typestype GAMME is (DO,RE,MI,FA,SOL,LA,SI);subtype INDEX is integer range 16 downto 0 ;INDEX'left=16 GAMME'val(3)=FAINDEX'right=0 GAMME'pos(FA)=3 INDEX'low=0 GAMME'pos(DO)=0 INDEX'high=16 GAMME'pred(RE)=DOGAMME'right=SIINDEX'suc c(13)=14 GAMME'high=SIINDEX'rightof(13)=12 GAMME'val(INDEX'leftof(0))=RELe d passement de dimension sur le type provoque une erreur :GAMME'succ(SI) = erreur !

9 !! pas de 199624 Les attributs sur tableauxsubtype OCTET is bit_vector (7 downto 0) ;type MEMOIRE is array (positive range <>, positive range <>) of bit ;variable DATA : OCTET ;variable ECRAN : MEMOIRE (1 to 640 , 1 to 480) ;OCTET'left= 7 ECRAN'right(1) = 640 OCTET'high= 7 ECRAN'right(2)= 480 OCTET'range: 7 downto 0 ECRAN'range(1): 1 to 640 OCTET'reverse_range : 0 to 7 ECRAN'reverse_range(2): 480 dowto 1 OCTET'lenght= 8 ECRAN'range(2): 1 to 480 DATA'right= 0 Les attributs ne s'appliquent pas sur un type tableau noncontraint : 199625 Les op rateurs logiques AND, NAND, OR, NOR, XOR et NOT utilis s pour des objets de type bit, bool en ou tableauxunidimenssionnels de ces types utilisation des op rateurs optimis e par le simulateur ex: A and (B or C) et A=0 !

10 !signal A,B,C,S: bit;variable raz, init, marche : boolean;S <= A or ( B nand C ) after 10 ns;raz := init and not marche ; 199626 Les op rateurs relationnels =, /=, >, <, >=, <= les op rateurs galit et diff rent :d finis sur tous lestypes (sauf file) in galit s s'appliquent tous les types scalaires et lesvecteurs d' l ment entiers ou num r s relation d'ordre sur les types num r s : gauche->droitenote1 := DO;note2 := SI;note1 < note2-- true"01001" < "100"-- true comparaison caract/caractB"01001" < B"100" -- false" vhdl " < "VHDL_"-- true" vhdl " /= " vhdl "-- 199627 Les op rateurs arithm tiques +, -, /, MOD, REM, ABS, ** addition et soustraction d finies pour tous les typesnum riques multiplication et division s'appliquent 2 r els ouentiers ou 1 objet physique et un r e entier MOD et REM d finis pour le type entier ** l ve entier ou r el une puissance enti resignalA,B,C: real;signalI,J,K : integer;A <= B + C;I <= J + K;A <= B + real(J);I <= 5; J <=- 2;K <= I/J;-- K = -2K <= I MOD J;-- K = -1.


Related search queries