Académique Documents
Professionnel Documents
Culture Documents
VHDL
VHDL
de matériel VHDL
Introduction
Concepts de base
Modélisation du temps
Conception VHDL
andre.stauffer@epfl.ch
1
Introduction: applications
Introduction: méthodologie
2
Concepts de base: types
type (type): ensemble des valeurs prises par un objet et regroupées
en quatre classes:
- type scalaires (scalar): entier (integer),
réel (real),
énuméré (enumerated),
physique (physical)
- types composites (composite): tableau (array),
enregistrement (record)
- type accès (access): pointeur (pointer) permettant d’accéder à
des objets d’un type donné
- type fichier (file): séquence de valeurs d’un type donné
3
Concepts de base: types
type énuméré (enumerated type): caractérisation d’un objet par
la liste complète de ses valeurs
4
Unités de conception
unité de conception (design unit): unité de compilation VHDL
correspondant à une spécification d’entité, une architecture, une
spécification de paquetage, un corps de paquetage ou une
configuration, stockée dans une bibliothèque
entité de conception (design entity): modèle VHDL formé d’un
couple spécification d’entité / architecture
spécification d’entité (entity declaration): unité de conception
correspondant à la vue externe du modèle et montrant ses
connexions avec le monde extérieur
architecture (architecture): unité de conception correspondant
à la vue interne du modèle et servant à décrire son comportement
ou sa structure
configuration (configuration): unité de conception servant à
attribuer une architecture particulière à une spécification d’entité
Unités de conception
spécification
configuration
d’entité
entité de conception
5
Unités de conception
Exemple: porte ET à deux entrées
symbole
Unités de conception
Exemple: porte ET à deux entrées
6
Unités de conception
Exemple: porte ET à deux entrées
Unités de conception
Exemple: porte ET à deux entrées
7
Concepts de base: styles
8
Concepts de base: opérateurs
Modélisation du temps
L’affectation d’une valeur à un signal ne change pas la valeur
courante du signal mais modifie la liste des valeurs futures que
prendra (éventuellement) ce signal
L’effet de l’affectation dépend du modèle de délai inertiel (inertial
delay) ou délai pur (transport delay) proposé par le langage
VHDL
Un délai d’affectation n’a d’effet qu’après une clause after, dans
le cas contraire on parle d’affectation d’un signal à délai nul ou
plus exactement à délai delta (delta delay)
9
Modélisation du temps
Affectations vues par le simulateur
delta
R
S
Q
QB
Modélisation du temps
Affectations vues par l’utilisateur
R
S
Q
QB
10
Modélisation du temps
Pilote du signal
10 ns 20 ns 30 ns
1
0 1 0
Modélisation du temps
Affectation du signal
instant événement
présent prévu
A
B
C
5 ns
11
Modélisation du temps
Affectation du signal
instant événement
présent prévu
A
B
C
5 ns 5 ns
Modélisation du temps
Affectation du signal
instant événement
présent annulé
A
B
C
< 5 ns
12
Modélisation du temps
Délai inertiel
sin
sout
Modélisation du temps
Délai pur
sin
sout
13
Modélisation du temps
Exemple: spécification d’un inverseur
Modélisation du temps
Exemple: spécification d’un inverseur
14
Conception VHDL
Le langage de description VHDL a été développé pour la
documentation et la spécification des circuits
Toutes les descriptions VHDL ne sont par conséquent pas
synthétisables
Nous appelons RTL (Register Transfer Level) le niveau de
description pour la synthèse caractérisé par la réduction des
possibilités du langage à un sous-ensemble dans lequel:
- les expressions temporelles sont ignorées
- certaines restrictions s’appliquent à l’écriture des processus
- seul un nombre limité d’objets et de types est admis
- la description est orientée vers les styles synchrones en
explicitant les signaux d’horloge
Conception VHDL
Circuit combinatoire à n variables d’entrée x et à r variables
de sortie z
x combinational z
schéma-bloc
15
Conception VHDL
Circuit combinatoire à n variables d’entrée x et à r variables
de sortie z
spécification d’entité
Conception VHDL
Circuit combinatoire à n variables d’entrée x et à r variables
de sortie z
16
Conception VHDL
Circuit combinatoire à n variables d’entrée x et à r variables
de sortie z
Conception VHDL
Circuit séquentiel à n variables d’entrée x, à m variables
internes y et à r variables de sortie z
y_fut
x décodeur décodeur
registre
d’état rst y_pres de z
d’état
futur sortie
clk
schéma-bloc
17
Conception VHDL
Circuit séquentiel à n variables d’entrée x, m variables
internes y et à r variables de sortie z
spécification d’entité
Conception VHDL
Circuit séquentiel à n variables d’entrée x, m variables
internes y et à r variables de sortie z
18
Conception VHDL
Circuit séquentiel à n variables d’entrée x, m variables
internes y et à r variables de sortie z
Conception VHDL
Circuit séquentiel à n variables d’entrée x, m variables
internes y et à r variables de sortie z
19
Application
Porte NAND à deux entrées
symbole
Application
Porte NAND à deux entrées
spécification d’entité
20
Application
Porte NAND à deux entrées
architecture comportementale
Application
Porte NAND à deux entrées
21
Application
Porte NAND à deux entrées
schéma logique
Application
Porte NAND à deux entrées
architecture structurelle
22
Application
Porte NAND à deux entrées
architecture structurelle
Application
Porte NAND à deux entrées
23
Application
Porte NAND à deux entrées
24
Laboratoire 1
Additionneur de deux nombres de 4 bits
Laboratoire 1
Additionneur de trois bits individuels
(co,s) = a + b + ci
25
Laboratoire 1
co = ab + ac + bc
s=a⊕b⊕c
26
27
Laboratoire 1
Additionneur de deux nombres de 4 bits
banc de test
28