19

Le langage VHDL Eduardo Sanchez EPFL Livres conseillés: or20 Sni* to View John F. Wakerly Digital design (4th edition) Prentice Hall, 2005 Peter J. Ashenden The designer’s guide to VHDL (3rd edition) Morgan Kaufmann, 2008 The student’s guide to VHDL (2nd editlon) james R. Armstrong – F.

Gail Gray VHDL design: Representation and synthesis (2nd edition) Prentice Hall, 2000 Jacques Weber – Maurice Meaudre Le langage VHDL: Du langage au circuit, du circuit au langage Masson, 2007 Roland Airiau —Jean-Michel Bergé – Vincent Olive – Jacques Nouvelle version du standard (VHDL-2008) Entité et architecture VHDL nous intéresse en tant que langage pour la description, smulation et synthèse des systèmes digitaux Au plus haut niveau d’abstraction, un système digital est vu comme une « boîte noire », dont on connait l’interface avec l’extérieur mais dont on ignore le contenu En VHDL la boîte noire est nommé entité (entity) Une entité doit toujours être associée avec au moins une description de son contenu, de son implémentation: c’est l’architecture architecture entité Structure d’un programme VHDL library ieee; use ieee. std_logic 1 164. l; entity toto is port ( déclaration des entrées/sorties OF début d’un commentaire est signalé par un double trait ( » commentaire termine avec la

Désolé, mais les essais complets ne sont disponibles que pour les utilisateurs enregistrés

Choisissez un plan d'adhésion
fin de ligne 8 bibliothèque IEEE use use ieee. std_logic_unsigned. all; entity exemple is port (a, b : in std_logic_vector(3 downto 0); op, clk, reset : in std_logic; : out std_logic_vector{3 downto end exemple; archltecture test of exemple is signal moinsb, opb, aopb : std_logic vector(3 downto 0); begin moinsb not b « 0001 opb b when else moinsb; processus implicites aopb a + opb; Le • scalaire: integer enumerated hysical composé: array record pointeur: acces 12 On peut également créer de nouveaux types, en fonction des types prédéfinis.

Par exemple: type HuitBits is range û to 255,’ type codeDEtat is (init, STI, ST2, exit); type word is array (O to 31) of bit; type EtatsLogiques is record valeur : integer range -127 to 128; force : integer; end record; 16 Signaux (introduction) Pour connecter les différents composants d’un système, VHDL utilise les signaux (signal), équivalent des fils ou câbles d’interconnexion dans le monde réel Exemple: initialisation à éviter dans la synthèse) signal s : std_logic s ‘1’ after 10 ns, ‘O’ after 18 ns, ‘1’ after 25 ns; affectation t (ns) 10 18 25 temps actuel de simulation PAGF s OF processus l’ordre des phrases a donc une importance Un processus ne peut pas être déclaré à l’intérieur d’un autre processus procA: process (a, b) étiquette optionnelle liste de sensibilité corps du processus end process; déclarations du processus 20 Les phrases séquentielles d’un processus s’exécutent en boucle infinie L’exécution de la boucle s’arrête seulement lors d’un wait on sur une iste de signaux: l’exécution redémarre lorsque l’un des signaux de la liste change de valeur La plupart des outils de synthèse n’acceptent qu’un wait par processus, placé au début au à la fin du processus Un wait on à la fin d’un pr tre remplacé par une PAGF OF nouvelles valeurs se fait au même moment: pendant le wait Exemple 1: port (a: in std_logic; b: out std_logic); end toto; architecture basic of toto is signal c: std_logic; process (a) if c=il’ then b a; else b ’01,’ end if; end basic; 23 Le signal c est affecté à a au début du processus, mais sa valeur st réellement mise à jour seulement à la fin du processus. pour cette raison, lors du if… hen la valeur de c qui est testée est celle qui avait le signal à la fin de l’exécution précédente du processus Supposons le cas de la fie vec aet b égaux à ‘O’ au PAGF 7 OF ‘O’ pendant la simulation Exemple 2: archltecture basic2 of toto is if c-‘O’ else b end basic2; 26 8 OF à part entière, avec un wait on implicite sur les signaux placés à droite de l’affectation. La phrase concurrente: toto a + b; est, par exemple, tout à fait équivalente au processus explicite: rocess (a, b) toto a + 31 Structure d’un programme déclaration d’entité comportementale déclaration d’entité structurelle dataflow corps de resultat a and b; z resultat, zbarre not resultat; end correcte; 36 Corps de l’architecture Cest la vue interne du système Plusieurs vues sont possibles pour la même conception, dont les principaux styles sont: • structurel: un assemblage de sous-blocs, similaire à la liste d’interconnexions d’un schéma logique (netlist) dataflow: équations logiques comportemental: algorithmes Il XOR2 o