[PDF] [PDF] Le langage VHDL - EPFL Le langage VHDL Eduardo Sanchez





Previous PDF Next PDF



INTRODUCCIÓN A LA PROGRAMACIÓN EN VHDL

VHDL es un lenguaje de descripción de hardware que permite describir circuitos síncronos y asíncronos. Para realizar esto debemos: - Pensar en puertas y 



Tema 5: - Especificación usando VHDL08

o VHDL 1076?1993: Algunos cambios en particular adición de variables compartidas. Nuevas herramientas como Vivado comienzan a soportar VHDL'08.



Tema 4: - Especificación de sistemas digitales usando VHDL

VHDL es un lenguaje orientado a HW que permite escribir SW o 1076.1 IEEE Standard VHDL Analog and Mixed?Signal Extensions.



VHDL “sintetizable”

Muchas de las construcciones VHDL aunque sean útiles para simulación y otras VHDL es un lenguaje orientado a hardware que permite escribir software.



GUÍA BÁSICA DEL VHDL

1.1 INTRODUCCIÓN AL LENGUAJE VHDL. La forma más común de describir un circuito consiste en la utilización de esquemas pero también existe la necesidad de 



Sesión 2: VHDL secuencial

Tipos enumerados definidos en el paquete estandard de VHDL: TYPE severity_level IS (note warning



Lenguaje VHDL

Descripción VHDL de sistemas combinacionales (1/3). Para describir circuitos combinacionales utilizaremos sentencias de asignación concurrentes y procesos.



Compilación C a VHDL de códigos de bucles con reuso de datos

17 jun 2010 Compilación C a VHDL de códigos de bucles con reuso de datos. 6. 11.3.3. Síntesis de código con bucle de tres dimensiones .





PRÁCTICA: LENGUAJE VHDL

architectura estructura of sumador is signal s1 : std_logic_vector(3 downto 0); component xor port(. A B



[PDF] vhdlpdf

Une description VHDL est composée de 2 parties indissociables à savoir : - L'entité (ENTITY) elle définit les entrées et sorties - L'architecture ( 



[PDF] Cours initiation VHDL - LAAS-CNRS

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 : objet possédant une 



[PDF] VHDL - Logique programmable

Les cibles du langage VHDL Logiciel de simulation Logiciel de synthèse (configuration de circuits logiques programmables) Des instructions pour décrire



[PDF] Le langage VHDL - EPFL

Le langage VHDL Eduardo Sanchez EPFL • Livres conseillés: • John F Wakerly Digital design (4th edition) Prentice Hall 2005 • Peter J Ashenden



[PDF] VHDL : résumé de syntaxe - Jacques Weber

VHDL : résumé de syntaxe CACHAN Département d'électronique avril 2000 ARCHITECTURE vecteur OF decade IS signal countTemp: unsigned(3 downto 0) ;



[PDF] Support de cours DChillet - Enssat

9 ) Simulation et validation réalisation d'un composant de test 10 ) Exemples : paquetage standard et exemples de codes VHDL 



[PDF] Le Langage VHDL - Dunod

La quatrième partie est une récapitulation de la syntaxe du langage VHDL Cette partie a vocation à servir de référence au programmeur qui y trouvera décrites 



[PDF] Initiation au langage VHDL - CEA-Irfu

Une simulation VHDL repose sur le principe de concurrence entre des instructions dites concurrentes tels que les process elles sont concurrentes car elles sont 



[PDF] Introduction à VHDL

Introduction à VHDL eqcomp4 A[3:0] B[3:0] égal -- eqcomp4 est un comparateur 4 bits entity eqcomp4 is port (a b: in bit_vector(3 downto 0);



[PDF] ELA114 : conception numérique en VHDL

Les principales caractéristiques du langage VHDL Différences entre un langage de programmation et VHDL

  • Pourquoi utiliser le VHDL ?

    Le but d'un langage de description matériel tel que le VHDL est de faciliter le développement d'un circuit numérique en fournissant une méthode rigoureuse de description du fonctionnement et de l'architecture du circuit désirée.
  • Les variables sont utilisées uniquement dans les process. Elles sont déclarées dans le process avant le mot clé « begin » (c'est le begin du process). Contrairement aux signaux, les variables sont affectées tout de suite, on n'a pas besoin d'attendre la suspension du process.

Le langage VHDL

Eduardo Sanchez

EPFL •Livres conseillés: •John F. Wakerly

Digital design (4th edition)

Prentice Hall, 2005

•Peter J. Ashenden

The designer"s guide to VHDL (3rd edition)

Morgan Kaufmann, 2008

•Peter J. Ashenden

The student"s guide to VHDL (2nd edition)

Morgan Kaufmann, 2008

•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 Rouillard VHDL: Langage, modélisation, synthèse (3ème édition)

PPUR, 2003

Eduardo Sanchez 2

•Langage formel pour la spéci?cation des systèmes digitaux, aussi bien au niveau comportemental que structurel •Utilisation: •description des systèmes •simulation •aide à la conception •documentation •Caractéristiques principales: •description à plusieurs niveaux •simulation activée par événements (event-driven) •modularité •extensibilité •langage général, fortement typé, similaire à Ada VHDL VHSIC Very High-Speed Integrated Circuits Hardware Description Language

Eduardo Sanchez 3

Histoire

•1980: Début du projet, ?nancé par le DoD (400M $US) •1982:

Contrat pour Intermetrics, IBM et Texas

•1985: Version 7.2 dans le domaine public •1987:

Standard IEEE 1076 (VHDL-87)

•1993:

Nouvelle version du standard (VHDL-93)

•2001:

Nouvelle version du standard (VHDL-2001)

•2008:

Nouvelle version du standard (VHDL-2008)

Eduardo Sanchez 4

Entité et architecture

•VHDL nous intéresse en tant que langage pour la description, simulation 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 connaît 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 A B

C architecture

entité

Eduardo Sanchez 5

Structure d"un programme VHDL

library ieee; use ieee.std_logic_1164.all; entity toto is port ( end toto; architecture test of toto is begin end test; déclaration des entrées/sorties déclarations de l"architecture corps de l"architecture nom de l"entité nom de l"architecture

Eduardo Sanchez 6

Exemple

c b a reset clk op opb + 0 1 moinsb aopb entité architecture signal processus

Eduardo Sanchez 7

•Les entrées/sorties du système sont les ports de l"entité •Chaque composant interne du système sera un processus (process) de l"architecture •Une architecture est un ensemble de processus •Les processus s"exécutent en parallèle •Les processus de l"architecture sont interconnectés par le biais des signaux (signal) •Quelques notes sur la syntaxe d"un programme VHDL: •pas de di?érentiation entre majuscules et minuscules •format libre •toute phrase termine par un point virgule •le début d"un commentaire est signalé par un double trait ("--"). Le commentaire termine avec la ?n de ligne

Eduardo Sanchez 8

library ieee; use ieee.std_logic_1164.all; 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; c : out std_logic_vector(3 downto 0)); end exemple; architecture test of exemple is signal moinsb, opb, aopb : std_logic_vector(3 downto 0); begin moinsb <= not b + "0001"; opb <= b when op='0' else moinsb; aopb <= a + opb; process (reset, clk) begin if reset='0' then c <= "0000"; else if (clk'event and clk='1') then c <= aopb; end if; end if; end process; end test; entité architecture processus implicites processus explicite bibliothèque IEEE

Eduardo Sanchez 9

•Résultat de la synthèse:

Eduardo Sanchez 10

Données traitées par VHDL

•Toute donnée traitée par VHDL doit être déclarée comme constante, variable ou signal •Constantes: constant pi : real := 3.1416; constant index_max : integer is 10*N; •Variables: valeur modi?able immédiatement par une a?ectation ( variable stop : boolean; variable etat : CodeDEtat := ST0; •Signaux: modélisation de l"entrée/sortie d"un dispositif. C"est une forme d"onde qui change avec le temps: la modi?cation a lieu à la prochaine itération de la simulation (retard delta)

Eduardo Sanchez 11

•VHDL est un langage fortement typé: toute donnée doit être déclaré avant utilisation, en indiquant son type •Les types prédé?nis sont: •scalaire: integer real enumerated physical •composé: array record •pointeur: acces •I/O: ?le

Eduardo Sanchez 12

•On peut également créer de nouveaux types, en fonction des types prédé?nis. Par exemple: type HuitBits is range 0 to 255; type CodeDEtat is (init, ST1, ST2, exit); type word is array (0 to 31) of bit; type EtatsLogiques is record valeur : integer range -127 to 128; force : integer; end record;

Eduardo Sanchez 13

•Pour la synthèse, les types de données les plus utilisés sont std_logic, pour les données à un bit, et std_logic_vector, pour les bus •Ces types ne sont pas prédé?nis: pour les utiliser, il faut déclarer le paquet (package) std_logic_1164, qui fait partie de la bibliothèque (library) IEEE: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all;

Eduardo Sanchez 14

•Une donnée de type std_logic possède une valeur parmi neuf possibles: •'U' uninitialized •'X' forcing unknown •'0' forcing 0 •'1' forcing 1 •'Z' high impedance •'W' weak unknown •'L' weak 0 (pull-down) •'H' weak 1 (pull-up) •'-' don"t care •Pour une a?ectation, les valeurs utilisées sont: 'X', '0', '1', 'Z'

Eduardo Sanchez 15

Opérateurs

•Opérations logiques: •and or nand nor xor xnor •Opérations de comparaison: •Opérations de décalage •sll srl sla sra rol ror •Opérations d"addition: •Opérations de signe: •Opérations de multiplication: •* / mod rem •Opérations diverses: •not abs **

Eduardo Sanchez 16

Signaux (introduction)

•Pour connecter les di?érents composants d"un système, VHDL utilise les signaux (signal), équivalent des ?ls ou câbles d"interconnexion dans le monde réel •Exemple: signal s : std_logic := '0'; s <= '1' after 10 ns, '0' after 18 ns, '1' after 25 ns;

0 10 18 25 t (ns) 1

0 temps actuel de simulation initialisation (à éviter dans la synthèse) aectation

Eduardo Sanchez 17

•On peut associer certains attributs aux signaux, qui produisent une valeur. Deux exemples d"attributs sont: •s'event: vrai si un événement arrive pendant le delta présent (c"est-à-dire, si le signal s change de valeur) •s'active: vrai si une transaction arrive pendant le delta présent (c"est-à-dire, si le signal s est évalué, qu"il change ou pas de valeur) •Un signal est toujours global à une architecture donnée

Eduardo Sanchez 18

Processus (process)

•Une architecture en VHDL est un ensemble de processus exécutés en parallèle (en concurrence) •L"ordre relatif des processus à l"intérieur d"une architecture n"a pas d"importance •Il existe deux types de processus: •le processus implicite ou phrase concurrente •le processus explicite architecture toto of test is begin c <= a and b; z <= c when oe='1' else 'Z'; seq: process (clk, reset) begin end process; end toto; processus explicite processus implicites

Eduardo Sanchez 19

•Un processus explicite est un ensemble de phrases exécutées séquentiellement: à l"intérieur d"un 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) begin end process; corps du processus déclarations du processus étiquette optionnelle liste de sensibilité

Eduardo Sanchez 20

•Les phrases séquentielles d"un processus s"exécutent en boucle in?nie •L"exécution de la boucle s"arrête seulement lors d"un wait on sur une liste 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 ou à la ?n du processus •Un wait on à la ?n d"un processus peut être remplacé par une liste de sensibilité, placée juste après le mot clé process. La liste de sensibilité est incompatible avec un wait: c"est l"un ou l"autre •Tout signal dont le changement de valeur a une in?uence sur le processus doit apparaître dans la liste de sensibilité. Dans le cas contraire, la simulation pourrait donner des résultats faux puisqu"elle ne serait pas enclenchée. Pour éviter des erreurs, on peut mettre dans la liste de sensibilité tous les signaux testés ou apparaissant à droite d"une a?ectation, à l"intérieur du processus

Eduardo Sanchez 21

•L"évaluation des signaux à l"intérieur d"un processus se fait séquentiellement, mais l"a?ectation des nouvelles valeurs se fait au même moment: pendant le wait ident: process déclarations begin phrases séquentielles end process ident; (A, B) wait on A, B; liste de sensibilité étiquette optionnellle •Exemple 1: entity toto is port (a: in std_logic; b: out std_logic); end toto; architecture basic of toto is signal c: std_logic; begin process (a) begin c <= a; if c='1' then b <= a; else b <= '0'; end if; end process; end basic;

Eduardo Sanchez 23

•Le signal c est a?ecté à a au début du processus, mais sa valeur est réellement mise à jour seulement à la ?n du processus. Pour cette raison, lors du if...then la valeur de c qui est testée est celle qui avait le signal à la ?n de l"exécution précédente du processus •Supposons le cas de la ?gure suivante, avec a et b égaux à '0' au début de la simulation (temps ): delay a b c

Eduardo Sanchez 24

•Au temps , a a changé. Comme le processus est sensible à a, le simulateur redémarre l"exécution du processus. Le signal c est a?ecté à a, et la condition (c='1') est testée. Le résultat du test sera false, puisque c est toujours égal à '0': la mise à jour à la valeurquotesdbs_dbs17.pdfusesText_23
[PDF] vhf frequency list philippines 2019

[PDF] viamonde calendrier 2019 2020

[PDF] viamonde calendrier elementaire 2020 2021

[PDF] viavi solutions inc news

[PDF] viavi solutions sec filings

[PDF] vibrato matlab

[PDF] PDF Doucuments