Professional Documents
Culture Documents
Introduction
au langage VHDL
Etienne Messerli
Mise jour le 6 octobre 2008
Contenu de la prsentation
Introduction VHDL
E. Messerli
REDS@HEIG-VD
Technologie EEPROM
EPM7128SLC84-10
9 $ 30 (-15 $20)
9 68 IOs
9 128 MacroCells
9 128 DFF
9 env. 2500 gates
9 240 MHZ
9 prix ~ 0,01 $/gate
Technologie Flash
FPGA vendu comme CPLD !
EPM1270T144C4
9 $32 (C5 $23)
9 116 IOs
9 1270 LEs
9 1270 DFF
9 env. 20'000 gates
9 8Kbits memory
9 300 MHz
9 prix ~ 0,0015 $/gate
Copyright 2008 EMI, REDS@HEIG-VD Introduction VHDL, p 10
FPGA low cost : Cyclone II
Technologie SRAM
EP2C8F256C8
9 env. 30.-
9 182 IOs
9 8256 LEs
9 8256 DFF
9 18 multiplicateurs, 2 PLLs
9 env 150000 gates (60 x EPM128!)
9 162Kbits memory
9 350 MHz
9 prix ~ 0.0002 Fr/gate Boitier 256-FBGA
Matriser la complexit
Schma-bloc Top
VHDL signifie :
9VHSIC Hardware Description Langage
(Very High Speed Integrated Circuit)
Dvelopp par le DOD (annes 1980)
(Dpartement Amricain de la dfense)
Normes IEEE: 1076 (1987, 1993),
1164 (1993) et 1076.3 (1997)
(Institute of Electrical and Electronics Engineers)
Introduction VHDL
E. Messerli,
REDS@HEIG-VD
Configuration Library
package
package
package
Library
entity
package
package
package
architecture
architecture
Unit de conception
Commentaires :
dbutent par deux tirets -- , se terminent avec la ligne
Identificateurs :
9ils doivent commencer par une lettre
9ils comportent des lettres (minuscules ou majuscules), des
chiffres et des souligns (underscore)
9un seul soulign (underscore) de suite :
Bus_Data_Interne
9le VHDL ne distingue pas les majuscules des minuscules
9exemple d'identificateurs identiques :
Bus_Data, BUS_DATA, bus_data, BuS_DatA
scalaires :
9 numrs (Boolean, Std_Logic,..),
entiers (Integer, ...), physiques (Time),
flottant (Real)
composites : tableau (array)
type Std_Logic_Vector is array( natural range<>) of Std_Logic;
in : entre
out : sortie
inout : entre/sortie,
signal bidirectionnel
buffer : sortie qui peut tre relue
Ne pas utiliser
port out
port inout
port buffer
Ne pas utiliser
Copyright 2008 EMI, REDS@HEIG-VD Introduction VHDL, p 32
Les signaux
Affectation de variable
variable := expression;
type Std_uLogic is (
'U',-- tat non initialis
'X',-- tat inconnu fort
'0',-- tat logique 0 fort
'1',-- tat logique 1 fort
'Z',-- tat haute impdance
'W',-- tat inconnu faible
'L',-- tat logique 0 faible
'H',-- tat logique 1 faible
'-' -- tat indiffrent, don't care );
Std_Logic et Std_ulogic
Syntaxe de la dclaration
signal A : Std_Logic;
type Std_Logic_Vector is
array(natural range<>) of Std_Logic;
type Std_Logic_Vector
9Remarque :
Il est possible de ne pas dfinir la taille d'un vecteur. Nous
parlons alors de vecteur non-contraint. Il s'agit d'une application
particulire pour les descriptions rutilisables
notion de temps
B
10ns
10 ns 10 ns 20 ns 30 ns 40 ns
'1'
'0' '0' '1' '0' '1'
Le VHDL pour la
synthse automatique
Introduction VHDL
E. Messerli
REDS@HEIG-VD
100 ns
HORLOGE
Traduction
VHDL
Description logique fichier SIMULATEUR
netlist (*.edf) VDHL
fonctionnelle
ModelSim
Simulation
temporelle
Placement routage
Quartus
Fichier de simulation
Intgration VHDL (*_tb.vhd)
Synthtiseur
.
VHDL
Description logique fichier SIMULATEUR
fonctionnelle Simulation
. VDHL
temporelle
Placement routage
.
Fichier de simulation
VHDL (*_tb.vhd)
Programmation circuit fichier
. VDHL
(*.vho)
Le simulateur :
9Interprte le langage VHDL
9Comprend l'ensemble du langage VHDL
Le synthtiseur :
9Traduit la description VHDL en une netlist logique
9Comprend uniquement un sous-ensemble du langage
VHDL
Le troisime outil
Le fonctionnement logique
n'est pas modifi durant cette tape
VHDL Synthtisable
VHDL
du cours
-- Librairie IEEE
library IEEE;
use IEEE.Std_Logic_1164.all; --Defini type Std_Logic
entity Exemple is
port(Entree_i : in Std_Logic;
Vecteur_i : in Std_Logic_Vector(3 downto 0);
Sortie_o : out Std_Logic;
BiDir_io : inout Std_Logic);
end Exemple;
Structure de larchitecture
(architecture)
architecture Style_Description of Exemple is
--zone de dclaration
begin
process (Liste_De_Sensibilit)
begin
--Instructions squentielles .......
end process;
end Style_Description;
Dclaration de constantes
constant Val_c : Std_Logic_Vector(2 downto 0):="101";
Dclaration de composants
Dclarations de types, de procdures et de fonctions
(pour utilisateurs expriments)
Copyright 2008 EMI, REDS@HEIG-VD Introduction VHDL, p 61
Droulement concurrent :
9 toutes les instructions concurrentes
9 les processus (instr. concurrente !)
Si plusieurs processus :
9 excution concurrente entre les processus
Droulement squentiel :
9 UNIQUEMENT l'intrieur d'un processus
Affectation
9 Y <= A and C;
Instruction de slection
9 with .... select
Instanciation de composants
instruction daffectation
Syntaxe de l'affectation avec une condition :
Instruction de slection
Exemple :
Exercices
Annexes
Introduction VHDL
E. Messerli
REDS@HEIG-VD
if
impure mod others
in out
inertial nand
inout new package
is next port
nor postponed
label not procedure
library
null process
linkage
loop
protected
of pure
map on
open range
or record
register
reject sll use
rem sra variable
report srl
return subtype wait
rol when
ror then while
to with
select transport
severity type xnor
signal xor
shared unaffected
sla units
until
Autres normalisations
1999 : Standard IEEE-1076.1, VHDL-AMS (modlisation
mixte)
Rfrences bibliographiques
[1] VHDL, Introduction la synthse logique, Philippe Larcher, Eyrolles, 1997 (Livre simple
et facile d'accs, trs bien pour les tudiants)
[2] Le langage VHDL, J. Weber & M. Meaudre, Dunod, 2001
(Bon livre pour dbuter en VHDL)
[3] VHDL. Mthodologie de design et techniques avances. Thierry Schneider, Dunod, 2001
[4] Digital System Design with VHDL, 2000, Mark Zwolinski, Prentice Hall
[5] VHDL du langage la modlisation, Airiau & Berg & Olive & Rouillard, dition 1990 et
1996, PPUR (rfrence pour les instructions VHDL)
[6] VHDL Made Easy !, D. Pellerin et D. Taylor, Hardcover, 1996
[7] IEEE Standard VHDL Language Reference Manual, ANSI/IEEE Std 1076-1993
[8] IEEE Standard Multivalue Logic System for VHDL Model Interoperability,
IEEE Std 1164-1993
[9] IEEE Standard for VHDL Register Transfer Level Synthesis, IEEE 1076.6-1999
[10] The VHDL Golden Reference Guide, compatible IEEE std 1076-2002
disponible chez : Doulos, http://www.doulos.com/
[11] ACTEL HDL Coding, Style guide, ACTEL, Edition 2003
disponible en PDF sur le site http://www.actel.com/
Questions