0% ont trouvé ce document utile (0 vote)
490 vues28 pages

Cours VHDL

Transféré par

RabhiHoucem
Copyright
© Attribution Non-Commercial (BY-NC)
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
490 vues28 pages

Cours VHDL

Transféré par

RabhiHoucem
Copyright
© Attribution Non-Commercial (BY-NC)
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Langage de description de matriel VHDL

Introduction Concepts de base Modlisation du temps Conception VHDL


[email protected]

Introduction: vue densemble


VHDL signifie VHSIC (Very High Speed Integrated Circuit) Hardware Description Language. Le langage de description de matriel VHDL est: - un langage moderne, lisible, puissant et gnral mais complexe - une norme de lIEEE (Institute of Electrical and Electronics Engineers) - un standard reconnu par tous les vendeurs doutils CAO et par le dpartement de la dfense amricaine (DOD) - un langage commercialement invitable et technologiquement incontournable pour la description des systmes matriels

Introduction: applications
Le langage de description de matriel VHDL sert faire: - de la documentation - de la spcification (description et simulation) de systmes - de la preuve formelle - de la conception (description de niveau transfert de registre et synthse) de systmes

Introduction: mthodologie
Spcification (description de haut niveau) Conception (description de niveau transfert de registre) Vrification (simulation laide de modles de test) Documentation (formalisation de haut niveau) Implmentation (description structurelle)

Concepts de base: types


type (type): ensemble des valeurs prises par un objet et regroupes en quatre classes: - type scalaires (scalar): entier (integer), rel (real), numr (enumerated), physique (physical) - types composites (composite): tableau (array), enregistrement (record) - type accs (access): pointeur (pointer) permettant daccder des objets dun type donn - type fichier (file): squence de valeurs dun type donn

Concepts de base: types


type physique (physical type): caractrisation dun objet par son unit de base (base unit), lintervalle de ses valeurs et ses ventuelles sous-units

Concepts de base: types


type numr (enumerated type): caractrisation dun objet par la liste complte de ses valeurs

type tableau (array type): type composite consistant en un groupe dobjets dont le type est identique et la position indexe

Concepts de base: objets


objet (object): information manipule par le langage et rpartie en quatre classes: - constante (constant): objet de valeur fixe - variable (variable): objet de valeur modifiable par affectation (:=) - signal (signal): objet spcifique communiqu entre les parties (processus) dun modle et dont laffectation (<=) ne modifie pas la valeur prsente mais les valeurs futures prvues - fichier (file): objet servant de container pour le stockage de valeurs en mmoire de masse

Units de conception
unit de conception (design unit): unit de compilation VHDL correspondant une spcification dentit, une architecture, une spcification de paquetage, un corps de paquetage ou une configuration, stocke dans une bibliothque entit de conception (design entity): modle VHDL form dun couple spcification dentit / architecture spcification dentit (entity declaration): unit de conception correspondant la vue externe du modle et montrant ses connexions avec le monde extrieur architecture (architecture): unit de conception correspondant la vue interne du modle et servant dcrire son comportement ou sa structure configuration (configuration): unit de conception servant attribuer une architecture particulire une spcification dentit

Units de conception
spcification dentit

configuration

architecture 1

architecture 2

architecture n

entit de conception

Units de conception
Exemple: porte ET deux entres

symbole

Units de conception
Exemple: porte ET deux entres

vue externe: spcification dentit

Units de conception
Exemple: porte ET deux entres

premire vue interne: architecture comportementale

Units de conception
Exemple: porte ET deux entres

seconde vue interne: architecture flot de donnes

Concepts de base: styles


Le langage VHDL permet la description dun systme selon trois styles de description: - comportemental (behavioral): description du fonctionnement du modle qui ne prcise rien de son ventuelle ralisation - flot de donnes (data flow): description base sur les quations boolenne qui ne considre que les flots de donnes entrants et sortants du systme - structurel (structural): description de la ralisation du systme laide de composants interconnects

Concepts de base: langage


commentaires: commencent par deux tirets (--) et finissent avec la ligne identificateurs: commencent par une lettre et ne tiennent pas compte des diffrences majuscules/minuscules expressions: valeurs calcules; les feuilles de ce calcul sont des littraux ou des porteurs de valeur (variables, signaux, constantes) littraux: permettent la notation de valeurs de caractres, de chane de caractres, de nombre entiers ou rels sous forme dcimales ou base et de chanes de bits oprateurs: rpartis en six classes (oprateurs logiques, relationnels, daddition, de signe, de multiplication, divers); chacune delles est attribu un niveau de priorit mots cls (en rouge): mots rservs du langage VHDL

Concepts de base: oprateurs

logiques: relationnels: arithmtiques: concatnation:

and , or , nand , nor , xor , not = , /= , < , <= , > , >= + , - , * , / , ** , abs , mod , rem &

Modlisation du temps
Laffectation dune valeur un signal ne change pas la valeur courante du signal mais modifie la liste des valeurs futures que prendra (ventuellement) ce signal Leffet de laffectation dpend du modle de dlai inertiel (inertial delay) ou dlai pur (transport delay) propos par le langage VHDL Un dlai daffectation na deffet quaprs une clause after, dans le cas contraire on parle daffectation dun signal dlai nul ou plus exactement dlai delta (delta delay)

Modlisation du temps
Affectations vues par le simulateur

delta R S Q QB

Modlisation du temps
Affectations vues par lutilisateur

R S Q QB

10

Modlisation du temps
Pilote du signal

valeur courante du signal couple date/valeur prvue 10 ns 1 0 1 0 20 ns 30 ns

file dattente des valeurs prvues du signal

Modlisation du temps
Affectation du signal

instant prsent A B C 5 ns

vnement prvu

11

Modlisation du temps
Affectation du signal

instant prsent A B C 5 ns 5 ns

vnement prvu

Modlisation du temps
Affectation du signal

instant prsent A B C < 5 ns

vnement annul

12

Modlisation du temps
Dlai inertiel

sin sout

+10ns

+50ns

+100ns

Modlisation du temps
Dlai pur

sin sout

+10ns

+50ns

+100ns

13

Modlisation du temps
Exemple: spcification dun inverseur

caractristiques: dlai inertiel de 10 ns et dlai pur 20 ns

Modlisation du temps
Exemple: spcification dun inverseur

architecture flot de donnes

14

Conception VHDL
Le langage de description VHDL a t dvelopp pour la documentation et la spcification des circuits Toutes les descriptions VHDL ne sont par consquent pas synthtisables Nous appelons RTL (Register Transfer Level) le niveau de description pour la synthse caractris par la rduction des possibilits du langage un sous-ensemble dans lequel: - les expressions temporelles sont ignores - certaines restrictions sappliquent lcriture des processus - seul un nombre limit dobjets et de types est admis - la description est oriente vers les styles synchrones en explicitant les signaux dhorloge

Conception VHDL
Circuit combinatoire n variables dentre x et r variables de sortie z

combinational

schma-bloc

15

Conception VHDL
Circuit combinatoire n variables dentre x et r variables de sortie z

spcification dentit

Conception VHDL
Circuit combinatoire n variables dentre x et r variables de sortie z

architecture concurrente avec assignement conditionnel

16

Conception VHDL
Circuit combinatoire n variables dentre x et r variables de sortie z

architecture concurrente avec assignement slectionn

Conception VHDL
Circuit squentiel n variables dentre x, m variables internes y et r variables de sortie z

y_fut x dcodeur dtat futur rst clk registre dtat y_pres dcodeur de sortie z

schma-bloc

17

Conception VHDL
Circuit squentiel n variables dentre x, m variables internes y et r variables de sortie z

spcification dentit

Conception VHDL
Circuit squentiel n variables dentre x, m variables internes y et r variables de sortie z

architecture concurrente conditionnelle du dcodeur dtat futur

18

Conception VHDL
Circuit squentiel n variables dentre x, m variables internes y et r variables de sortie z

architecture squentielle conditionnelle du registre dtat

Conception VHDL
Circuit squentiel n variables dentre x, m variables internes y et r variables de sortie z

architecture concurrente conditionnelle du dcodeur de sortie

19

Application
Porte NAND deux entres

symbole

Application
Porte NAND deux entres

spcification dentit

20

Application
Porte NAND deux entres

architecture comportementale

Application
Porte NAND deux entres

architecture flot de donnes

21

Application
Porte NAND deux entres

schma logique

Application
Porte NAND deux entres

architecture structurelle

22

Application
Porte NAND deux entres

architecture structurelle

Application
Porte NAND deux entres

simulation laide de sondes

23

Application
Porte NAND deux entres

simulation laide dun gnrateur de stimuli

24

Laboratoire 1
Additionneur de deux nombres de 4 bits

s(3:0) = a(3:0) + b(3:0)

Laboratoire 1
Additionneur de trois bits individuels

(co,s) = a + b + ci

25

Laboratoire 1

co = ab + ac + bc s=abc

26

27

Laboratoire 1
Additionneur de deux nombres de 4 bits

banc de test

28

Vous aimerez peut-être aussi