Académique Documents
Professionnel Documents
Culture Documents
Cours - Composants Logiques Programmables Et VHDL PDF
Cours - Composants Logiques Programmables Et VHDL PDF
programmables et VHDL
Sylvain MONTAGNY
sylvain.montagny@univ-savoie.fr
Btiment chablais, bureau 13
04 79 75 86 86
Retrouver tous les documents de Cours/TD/TP sur le site
www.master-electronique.com
Universit de Savoie
Prsentation cours : Sommaire
z Cours : 10.5 h en 7 sances
z Chapitre 1 : Caractristiques des circuits logiques
Universit de Savoie 2
Prsentation TD
z TD : 10.5 h en 7 sances
z TD1 : Synthse logique combinatoire, caractristiques lectriques
des portes logiques
Universit de Savoie 3
Prsentation TP
z TP : 12h en 3 sances de 4h
z TP1 : Synthse dun systme logique combinatoire dans
lenvironnement ALTERA.
Universit de Savoie 4
Examen
z Un contrle continu : 1h
75%
z Un contrle final : 1h
Universit de Savoie 5
Chapitre 1 : Caractristiques des circuits
logiques
Universit de Savoie 6
Niveaux logiques et gabarits
Niveaux logiques
vI vO
Universit de Savoie 7
Exemple : caractristique dun inverseur
Universit de Savoie 8
Exemple : caractristique dun inverseur
Universit de Savoie 9
Niveaux logiques et gabarits
Notion de gabarit
VO
z Si 0 < VI < VIL max
alors VO > V OH min
VI
VILmax VIH min
Universit de Savoie 10
Niveaux logiques et gabarits
Immunit au bruit (1)
z Immunit :
Tension parasite (bruit) que lon peut ajouter au signal
tout en conservant un fonctionnement normal
VI = VO+VB
+
VO VB VI
VB reprsente le bruit
Universit de Savoie 11
Sortie du 1er circuit Entre du 2me circuit
Marge de bruit
Niveaux logiques et gabarits
Immunit au bruit (2)
Universit de Savoie 13
Niveaux logiques et gabarits
Niveaux logiques CMOS et TTL
5V 5V
1 VIH 4,4 V VOH
3,5 V
5V 5V
1,5V
VIL VIH VOH
0 0,33 V VOL
0V 0V 2V 2,4 V
Entre CMOS 5V Sortie
0,8V
3,3 V 3,3 V VIL 0,4 V VOL
1 VIH VOH 0V 0V
2,4 V
2V
Entre TTL Sortie
0,8 V
VIL 0,4 V
0 VOL
0V 0V
Entre CMOS 3.3V Sortie
14
Chapitre 1 : Caractristiques des circuits
logiques
Universit de Savoie 15
Caractristiques des composants logiques
Sortance
90% 90%
10% 10%
Tr tf
Universit de Savoie 17
Caractristiques des composants logiques
Temps de propagation
z Cest le temps de rponse de la sortie logique sur une
modification dune des entres.
vI(t)
1 t
tpLH tpHL
Universit de Savoie 18
Chapitre 1 : Caractristiques des circuits
logiques
Universit de Savoie 19
Exemple sur datasheet 74F153
20
Exemple sur datasheet 74F153
Universit de Savoie 21
z Retrouver les gabarits dentre et de sortie
z Calculer la marge de bruit de ce composant logique
z Calculer la sortance
z Retrouver le temps de propagation
z Retrouver le temps de commutation
Chapitre 2 : Les systmes logiques
Universit de Savoie 25
quation et reprsentation graphique
Equation logique
Universit de Savoie 26
Proprits (1) de ET,OU,NON
Commutativit Idempotence
a+b = b+a a+a = a
a.b = b.a a.a = a
Associativit Absorption
a+(b+c) = (a+b)+c a+a.b = a
a.(b.c) = (a.b).c a.(a+b) = a
Distributivit Involution
a.(b+c) = a.b+a.c a=a
On garde la hirarchie classique (. est
a+(b.c) = (a+b).(a+c) prioritaire sur +)
a + (b.c) = a + b.c != (a + b). c
Universit de Savoie 27
Proprits (2) de ET,OU,NON
Elment neutre Thorme de DE Morgan
a+0 = a a+b = a . b
a.1 = a a.b = a + b
Elment absorbant
a+1 =1 Thorme du Consensus
a.0 = 0 a.x+b.x+a.b = a.x+b.x
Inverse (a+x)(b+x)(a+b)=(a+x)(b+x)
a+a = 1
a.a = 0
Universit de Savoie 28
quation et reprsentation graphique
Norme franaise
a a
& s & s a s
b b
ET NAND NON
a a a
>1 s >1 s =1 s
b b b
OU NOR XOR
Nb : La reprsentation franaise est utilise en symboles logiques
Norme ANSI/IEEE Std: 91-1984 : Standard Graphic Symbols for Logic Functions
Universit de Savoie 29
quation et reprsentation graphique
Norme amricaine
a s
a a
s s
b b
NON
ET NAND a s
a a a
s s
b b s
b
OU NOR XOR
Nb : La norme amricaine est la norme utilise dans les datasheets pour
dessiner les graphes (schmas) logiques.
Universit de Savoie 30
Chapitre 2 : Les systmes logiques
Universit de Savoie 31
Systme logique combinatoire
Dfinition
Universit de Savoie 32
Systme logique combinatoire
Exemple
Sj= fboolenne(Ii)
Ii Logique
combinatoire
Universit de Savoie 33
Systme logique combinatoire
Les composants combinatoires
z Codeurs / Dcodeurs
z Transcodeurs
Universit de Savoie 34
Chapitre 2 : Les systmes logiques
Universit de Savoie 35
Systme logique squentiel
Dfinition
Universit de Savoie 36
Systme logique squentiel
Exemple
z Exemple de systme squentiel :
z Quelles sont les entres et les sorties de ce systme?
z Dfinir les diffrents tats possibles du systme.
Universit de Savoie 37
Systme logique squentiel
Logique asynchrone
z Asynchrone signifie que les tats du systmes voluent
tout moment ds quune entre est modifie.
z Exemple : la bascule RS
R S Qt Qt+ Fonction
0 0 Q Q Mmoire Effet mmoire :
spcificit des
0 1 Q 1 Mise 1
systmes squentiels
1 0 Q 0 Mise 0
Interdit
Universit de Savoie 38
Systme logique squentiel
Logique synchrone
z Synchrone signifie que les tats du systme sont
rvalus seulement lors dun front dhorloge. Il y a
donc un effet mmoire pendant une priode dhorloge.
z Exemple : La bascule D
Horloge
Q
Q
D
Universit de Savoie 39
Chapitre 3 : Synthse de systmes
logiques combinatoires
Universit de Savoie 40
Synthse de systmes logiques
combinatoires
Universit de Savoie 41
Exemple (1)
Synthse dun additionneur 1 bit
a S
b ADD
Ri Ro
Universit de Savoie 42
Exemple (2)
Synthse dun multiplexeur
S1 S0
Raliser la synthse logique du multiplexeur 4 vers 1
Universit de Savoie 43
Multiplexeur (constitution)
I0
&
I1
&
I2 Q
& >1
I3
S1 &
S0
Universit de Savoie 44
Exemple sur datasheet du
multiplexeur 74F153
Vrifier la cohrence de votre table de vrit avec celle de la
datasheet
Universit de Savoie 45
Chapitre 3 : Synthse de systmes
logiques combinatoires
Universit de Savoie 47
Les alas dans les circuits
combinatoires
z Les alas ou glitch sont des tats instables
dun signal juste aprs que les signaux dont il
dpend est t modifi.
M DC M DC
00 01 11 10 00 01 11 10
BA 00 0 0 1 1 M 1 = D.B + D. A BA 00 0 0 1 1 M 2 = D.B + D. A + B. A
01 1 1 1 1 01 1 1 1 1
11 1 1 0 0
3 portes 11 1 1 0 0 4 portes
10 0 0 0 0 4 termes 10 0 0 0 0 6 termes
7 signaux 10 signaux
Cas ou B et A = 1
Universit de Savoie 49
Chapitre 4 : Synthse de systmes
logiques squentiels
Universit de Savoie 50
Schma gnral dun systme
squentiel
z Les sorties dpendent :
z De ltat prsent du systme (machine de Moore)
z De ltat prsent et des entres du systme (machine de Meally)
z Ltat futur dpend
z Des entres et de ltat prsent du systme
Universit de Savoie 51
Schma gnral dun systme
squentiel
z La prsence de registre nous donne une
fonction mmoire de ltat actuel. Cet tat
actuel est dterminant pour le calcul de ltat
suivant du systme.
Universit de Savoie 52
Chapitre 4 : Synthse de systmes
logiques squentiels
Universit de Savoie 53
Description par graphe dtat
Dfinition (1)
Dfinition :
z Un diagramme ou graphe dtats permet davoir une reprsentation
graphique dun systme squentiel.
z Il est constitu par lnumration de tous les tats possible du systme.
z Un seul de ces tats peut tre actif la fois.
z A chaque tat est associ la valeur de la (ou des) grandeur(s) de sortie.
Transition Etat
1 2
s=1 s=0
Valeur de la ou des sorties dans l'tat
Universit de Savoie 54
Description par graphe dtat
Dfinition (2)
z Les tats sont identifis par des cercles, avec leur nom et/ou leur code
binaire associ crit dans le cercle.
z Les transitions entre les tats sont identifies par des flches entre les
cercles.
D=1
H Q
D=0 1 2 D=1 D
Q=0 Q=1
D=0
Universit de Savoie 55
Chapitre 4 : Synthse de systmes
logiques squentiels
Universit de Savoie 56
Mthodologie de synthse
Systme squentiel
Universit de Savoie 57
Mthodologie de synthse
Exemple : Distributeur de boissons
Universit de Savoie 58
Mthodologie de synthse
1- Interprtation
z Dfinition des Entres sorties
z 2 entres :
z u : Pice de 0,2
z c : Pice de 0,1
z 1 sortie
z O : Commande douverture de la gche
z Cas ambiges : Cas ou la somme est suprieure 0,3 ?
z Ce distributeur ne rend pas la monnaie
u
Distributeur o
Monnayeur c Gche
raz H
Universit de Savoie 59
Mthodologie de synthse
2- Graphe dtat
Universit de Savoie 60
Mthodologie de synthse
3- Tableau de transition des tats
Universit de Savoie 61
Mthodologie de synthse
3- Tableau de transition des tats
D0 = Q0 .c + Q1.Q0 .c + Q1.Q0 .u
D1 = Q1.u + Q1.Q0 + Q1.Q0 .c
Universit de Savoie 64
Mthodologie de synthse
5- Implmentation
o
Q0
Q1 0 1
o = Q1.Q0
0 0 0
1 0 1
Universit de Savoie 65
Chapitre 5 : Les composants logiques
programmables
Universit de Savoie 66
Structure des PLD
z La structure de base de ces composants programmables
sont des rseaux ET et OU permettant de raliser
nimporte quelle fonctions logiques.
a
b Matrice
c ET
s1
Matrice Sorties s2
s3
OU s4
Universit de Savoie 67
Structure des PLD
Structure interne
Matrice OU
a b c d programmable
Matrice ET
programmable s1 s2 s3 s4 68
Structure des PLD
z Cette structure interne nous permet pour linstant de
traiter que les quations logiques combinatoires. Pour
les quations squentielles, il faut insrer une bascule
et un rebouclage de la sortie vers les entres.
Universit de Savoie 69
Structure des PLD
DEUX MODES DE SORTIE : COMBINATOIRE ET SQUENTIEL
OU : Sommes
ET : Produits Sortie
Universit de Savoie 70
Structure des PLD
Macrocellule de sortie (1)
MODE COMBINATOIRE
On multiplexe la sortie directe ou complmente du ET-OU
ET OU
Universit de Savoie 71
Structure des PLD
Macrocellule de sortie (2)
MODE SQUENTIEL
On multiplexe la sortie inverse ou non inverse de la bascule D
Universit de Savoie 72
PAL22V10
Chapitre 5 : Les composants logique
programmables
Universit de Savoie 74
Structure des CPLD
E/S
z Les CPLDs regroupent
plusieurs PLD interconnects
par un rseau de connexions
PLD
PLD
z Les CPLDs sont les prmisses
des premiers FPGAs.
PIM
z Ces circuits tendent tre
remplacs par les FPGAs.
PLD
PLD
E/S
Universit de Savoie 75
Structure des CPLD
z Chaque bloc logique reprsente un PLD.
z Chaque PLD est compos dun certain nombre
de macrocellules
quivaut
Universit de Savoie 77
Un bloc logique et ses macrocellules
Universit de Savoie 78
Structure des CPLD
Une macrocellule
Universit de Savoie 79
Chapitre 5 : Les composants logiques
programmables
Universit de Savoie 80
Structure des FPGA & ASICs
z Field Programmable Gate Array
Universit de Savoie 81
Structure des FPGA & ASICs
z AVANTAGES
z Possibilit de prototypage
z Time-to-market faible
z Adaptabilit aux futurs volutions grce la reconfiguration
z INCONVENIENTS
z intgration limit par les ressources de routage
z prix lunit lev pour de grosses productions
Universit de Savoie 82
Universit de Savoie 83
Les ASIC
z Application-Specific Integrated Circuits. Les ASIC
fournissent prcisment la fonctionnalit ncessaire
pour une tche spcifique. Cela leur permet d'tre :
z plus petits,
z moins chers,
z plus rapide,
z De consommer moins de puissance qu'un processeur
programmable (tel un Intel Pentium IV).
z Exemple :
Une puce graphique faite sur mesure pour un PC peut
tracer des images 10 100 fois plus rapidement qu'un
processeur central usage gnrique.
Universit de Savoie 84
Structure des FPGA & ASICs
Conclusion
Universit de Savoie 85
Chapitre 6 : Description en VHDL
Universit de Savoie 86
Prsentation du langage VHDL
La description matriel
Universit de Savoie 87
Prsentation du langage VHDL
Particularits
Universit de Savoie 88
Prsentation du langage VHDL
Objectifs
Universit de Savoie 89
Prsentation du langage VHDL
Structure dun fichier VHDL
Universit de Savoie 90
Prsentation du langage VHDL
La description
z La description VHDL consiste en une dfinition dun bloc
ENTITY et dune dfinition dun bloc ARCHITECTURE.
z ENTITY est la description physique des entres/sorties du systme
z ARCHITECTURE est la description du comportement du bloc ENTITY
A
S
Additionneur
B
(Boite noir) Cout
Cin
z Vue interne (architecture)
A
S
B
Cout
Cin
Universit de Savoie 92
Chapitre 6 : Description en VHDL
Universit de Savoie 93
La partie ENTITY
Exemple
z La partie ENTITY dcrit les Entres / Sorties
rst
q[7:0]
d[7:0]
co
clk
Universit de Savoie 94
La partie ENTITY
Port Modes
z IN Entre de du systme
Universit de Savoie 95
La partie ENTITY
Exercice (1)
a 4
4
4 somme
b Add4
co
ci
Universit de Savoie 96
La partie ENTITY
Exercice (2)
Universit de Savoie 97
Chapitre 6 : Description en VHDL
Universit de Savoie 98
La partie ARCHITECTURE
Organisation
Zone de dclaration
Zone de dfinition
Universit de Savoie 99
La partie ARCHITECTURE
Objet VHDL : La dclaration
z Initialisation rapide
Toto <=(others => 0); est quivalent Toto <= "0000000 ";
A Cout
B ADD
S
Cin
architecture structurelle1
of Additionneur is
begin
component porteOU u0 : porteET
port ( e1 : in bit; port map ( A, B, S2);
e2 : in bit;
s : out bit ); u1 : porteXOR
end component; port map ( A, B, S1);
component porteET
port ( e1 : in bit; u2 : porteET
e2 : in bit; port map ( S1, Cin, S3);
s : out bit );
end component; u3 : porteXOR
component porteXOR port map ( S1, Cin, S);
port ( e1 : in bit;
e2 : in bit; u4 : porteOU
s : out bit ); port map ( S2, S3, Cout);
end component;
end structurelle1;
signal S1, S2, S3 : bit;
Additionneur
demi_add
A S2 Cout
u2
B u0
u0
S1 S3
Cin
u1
u1
S
demi_add
component porteOU
port ( e1 : in bit;
e2 : in bit;
s : out bit );
end component;
component DemiADD
port ( e1 : in bit;
e2 : in bit;
s1 : out bit ;
s2 : out bit);
end component;
begin
u0 : DemiADD
port map ( A, B, S2, S1);
u1 : DemiADD
port map ( S1, Cin, S3, S);
u2 : porteOU
port map ( S2, S3, Cout);
end structurelle2;
Entity DemiAdd is
port (
e1 : in bit;
e2 : in bit;
s1 : out bit ;
s2 : out bit);
end DemiAdd;
component porteET
port ( e1 : in bit;
e2 : in bit;
s : out bit );
end component;
component porteXOR
port ( e1 : in bit;
e2 : in bit;
s : out bit );
end component;
begin
u0 : PorteET
port map ( e1, e2, s1);
u1 : porteXOR
port map ( e1, e2, s2);
end structurelle;
La partie ARCHITECTURE
Description structurelle (3)
z La description structurelle d'un circuit complexe en
vhdl prsente de nombreux avantages :
z Une architecture hirarchique comprhensible : il est plus
simple de sparer un circuit en un ensemble de blocs plus
petits, ayant des fonctions bien identifies. Ces blocs pourront
alors tre dcrits sous forme comportementale, ou bien leur
tour tre spars en blocs encore plus simples.
z Rgles de dnomination :
z 26 lettres de lalphabet, les 10 chiffres et _
z Le premier caractre est une lettre
z Il ne peut y avoir 2 _ de suite
z Lidentifieur ne peut se terminer par _
z Identificateurs
z Ce sont les noms de variables, de signaux, de fonctions, ...
z Ils ne peuvent contenir que des lettres, des chiffres et le
"underscore" _ .
z Ils doivent commencer par une lettre.
z Ils ne peuvent pas contenir d'espace.
z Les mots-clefs du langage ne peuvent pas tre utiliss comme
identificateurs.
z Commentaires
z Les commentaires doivent tre inclus dans le code, pour
augmenter la lisibilit et la documentation. Ils commencent
par 2 tirets (--) en se terminent en fin de ligne
http://amouf.chez.com/syntaxe.htm
Universit de Savoie 122
Description en VHDL
Les types dobjet
z Entier (integer)
z Le type entier integer prdfini dans le paquetage
standard STD permet de dfinir des nombres signs
sur 32 bits entre -231 et (231 1).
125
Description en VHDL
Les types : numrs (2)
z Dans le paquetage STD_LOGIC_1164 de la bibliothque
IEEE, le type STD_ULOGIC est dfini par :