Les circuits logiques2 [Mode de compatibilité]

publicité
Chapitre 3 : Circuits Logiques
Chapitre 3 : Circuits Logiques
Le multiplexeur (N vers 1):
Un multiplexeur est un circuit logique à N entrées dites de données (ou d’informations) et une sortie
qui transmet les informations parvenant à l’entrée sélectionnée. La sélection d’une entrée s’effectue
par le mot binaire N provenant des n entrées d’adresse. Ces entrées d’adresse (mot de commande ou
d’adresse) codent le n° de l’entrée de données. Les nombres n et N sont liés par la relation : N = 2n.
L’expression de S est pour un multiplexeur 4 vers 1 :
E0 E1
X0
E1 E2
EN-1En
0
E0
E1
1
E2
E3
S ( X 1 , X 0 , E0 , E1 , E2 , E3 )
b0 b1 b2 ... bM
Xn-1
….X0
Mot de commande
1
X1
S
E2 E3
0
(
) (
)
=
(
)
E0 X 1 X 0 + E1 X 1 X 0 + E2 X 1 X 0 + E3 ( X 1 X 0 )
Chapitre 3 : Circuits Logiques
E0
E1
S
E2
E3
G
X0
X1
Chapitre 3 : Circuits Logiques
Exemple : 74LS151
Ce circuit référencé 74LS151 est appelé sélecteur/multiplexeur 8 vers 1 c’est à dire
qu’il possède 8 entrées de données (D0 à D7) pouvant être aiguillé vers la sortie Y
(ou Y=W) grâce aux entrées de commande A, B et C.
La validité du circuit se fait par l’entrée de sélection (chip select) notée G.
(voir Mémotech électronique, p99)
Inhibition
Mot de
Commande
Entrées de
Données
EN
D0
D1
D2
D3
D4
D5
D6
D7
C
B
A
Y
W
H
X
X
X
B
H
B
B
B
B
D0
D0
Y
B
B
B
H
D1
D1
W
B
B
H
B
D2
D2
B
B
H
H
D3
D3
B
H
B
B
D4
D4
B
H
B
H
D5
D5
B
H
H
B
D6
D6
B
H
H
H
D7
D7
MUX
G
A
B
C
G
0
2
0
1
2
3
4
5
6
7
8
G 0/7
Chapitre 3 : Circuits Logiques
Complément sur la norme IEEE/ANSI :
0
Le libellé G7
signifie une dépendance fonctionnelle de type ET avec les entrées de
sélection et chacune des entrées de données de 0 à 7.
Inhibition
Mot de
Commande
Entrées de
Données
EN
MUX
G
A
B
C
D0
D1
D2
D3
D4
D5
D6
D7
0
2
0
1
2
3
4
5
6
7
8
}G 0/7
Y
W
Chapitre 3 : Circuits Logiques
Complément sur la norme IEEE/ANSI : le 74157 multiplexeur 4*(2 vers 1)
Bloc commun qui s’applique à touts les blocs.
E
S
I0a
I1a
I0b
I1b
I0c
I1c
I0d
I1d
EN
G1
1
1
1
1
1
1
1
1
Za
Zb
Zc
Zd
La notation G1 sur l’entrée de sélection et les libellés
1 et 1 sur les entrées de données illustrent une
dépendance de type ET entre l’entrée de sélection et
les entrées de données.
Le libellé 1 associé à I1a a la signification suivante :
cette entrée est dirigée sur Za seulement quand
l’entrée de sélection est à 1.
Chapitre 3 : Circuits Logiques
Exemple : Réalisation d’un multiplexeur 16 vers avec deux 74LS151
Y
Inutile si « sortie 3 états »
>1
OE
OE
D
D
ABC
ABC
Circuit avec sortie trois états
Dans certaines applications, il s’avère nécessaire de déconnecter électriquement la sortie
d’une porte logique pour l’isoler d’autres sorties attachées au même nœud électrique. En
conséquence, l’impédance de sortie doit être très grande (→∞). Un nouvel état non
logique apparaît en supplément du niveau haut et du bas : l’état de haute impédance
(HiZ). Pour mettre en oeuvre une telle porte, il faut une entrée supplémentaire
sélectionnant l’état haute impédance ou troisième état.
Contrôle
Entrée
1
Sortie
Circuit avec sortie trois états
Une sortie de type trois états est repérée par le symbole : ∇
Chapitre 3 : Circuits Logiques
Synthèse d’une fonction logique à l’aide d’un multiplexeur : soit
(0,3)
la fonction logique a réaliser : S ( X 1 , X 0 ) =
∑
S
X0
0
1 E1
1
0
0 E2
X1
0
1
0
0 E3
1
0
1
1 En
S
3
b2 ... bM
Xb01 b1….X
0
Mot de commande
Chapitre 3 : Circuits Logiques
Le démultiplexeur (1 vers N):
Un démultiplexeur est un circuit logique à une entrée de données ou d’informations et N
sorties qui reçoivent les informations d’entrée. La sélection de la sortie s’effectue par le mot
binaire N provenant des n entrées d’adresse. Ces entrées d’adresse (mot de commande ou d’adresse)
codent le n° de la sortie. Les nombres n et N sont liés par la relation : N = 2n.
S1
S0
S2
S1
E
S3
S2
S
Sn3
b0 b1 b2 ... bM
Xn-1 ….X0
Mot de commande
L’expression de Si est donc (1 vers 4) :
S0 ( X 1 , X 0 ) = E X 1 X 0
S1 ( X 1 , X 0 ) = E X 1 X 0
S 2 ( X 1 , X 0 ) = EX 1 X 0
S3 ( X 1 , X 0 ) = EX 1 X 0
Chapitre 3 : Circuits Logiques
Chapitre 3 : Circuits Logiques
Exemple : 74LS138
Ce circuit référencé 74LS138 est appelé décodeur/démultiplexeur 3 vers 8. La négation
logique en sortie indique que l’état logique bas est présent sur la sortie choisie par les
entrées de commande A, B et C.
La validité du circuit se fait par les entrées de sélection notée G1, G2x.
(voir Mémotech électronique, p102)
A
B
C
1
2
4
BIN/OCT
G1
G2A
G2B
&
0
1
2
3
4
5
6
7
1Y0
1Y1
1Y2
1Y3
2Y0
2Y1
2Y2
2Y3
C
B
A
Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
0
0
0
0
1
1
1
1
1
1
1
0
0
1
1
0
1
1
1
1
1
1
0
1
0
1
1
0
1
1
1
1
1
0
1
1
1
1
1
0
1
1
1
1
1
0
0
1
1
1
1
0
1
1
1
1
0
1
1
1
1
1
1
0
1
1
1
1
0
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
0
Chapitre 3 : Circuits Logiques
Les transcodeurs et les décodeurs
Un transcodeur permet de convertir une combinaison n de bits en une autre de p bits.
La différence entre un transcodeur et un décodeur réside dans l’application de l’objet
défini plutôt que dans la fonction réalisée. Par exemple, on parle plutôt de transcodeur
Gray/binaire mais on utilise un décodeur pour un système d’affichage sept segments
Code x
Code y
n
m
transcodeur
Code x
Cible
n
m
décodeur
Chapitre 3 : Les additionneurs
En base 2, l'addition de deux bits (si LSB : demi additionneur) avec création d’une
retenue (carry) se traduit par :
A0
B
0
C
0
S
S0
0
0
0
0
0
A0
0
1
0
1
1
0
0
B0
1
1
1
1
0
C0
Half-Adder
Il faut en fait tenir compte de la retenue des bits de poids inférieurs, un circuit
additionneur doit donc comporter trois entrées et deux sorties, comme représenté sur
la figure suivante :
Ai
Bi
Ci-1
Si
Full Adder
Ci
Chapitre 3 : Les additionneurs
On obtient alors la table de vérité pour le rang 1 :
A1
B1
C0
C1
S1
C1 = A1 B1 + A1C0 + B1C0
0
0
0
0
0
S1 = A1 B1 C0 + A1 B1 C0
0
0
1
0
1
+ A1 B1 C0 + A1B1C0
0
1
0
0
1
0
1
1
1
0
1
0
0
0
1
1
0
1
1
0
1
1
0
1
0
1
1
1
1
1
S1 =
( A1 ⊕ B1 ⊕ C0 )
A1 ⊕ B1 ⊕ ( A0 B0 )
Additionneur à
retenue générée
Montage récursif :
besoin d’avoir Ci-1 pour
obtenir Ci
Additionneur à
retenue propagée
Chapitre 3 : Les additionneurs
On obtient alors pour la retenue de rang 2 :
Additionneur à retenue
générée
C2 = A 2 B2 + A 2 C1 + B2 C1
C 2 = A 2 B2 + A 2 ( A1 B1 + A1C0 + B1C0 ) + B2 ( A1 B1 + A1C0 + B1C0 )
C 2 = A 2 B2 + A 2 ( A1 B1 + A1C0 + B1 ( A 0 B0 ) )
+ B2 ( A1 B1 + A1 ( A 0 B0 ) + B1 ( A 0 B0 ) )
Augmentation exponentielle du nombre de portes logiques en fonction
du nombre de bits de l’opération à réaliser
Chapitre 3 : Les additionneurs
Additionneur à
retenue générée
Chapitre 3 : Les additionneurs
De manière générale :
Ai-1
Bi-1
Ci-1
Ci
Si
0
0
0
0
0
0
0
1
0
1
Si = A i B i C i-1 + A i B i C i-1
0
1
0
0
1
+ A i B i C i-1 + A i B i C i-1
0
1
1
1
0
Expressions Itératives
1
0
0
0
1
Additionneur à retenue propagée
1
0
1
1
0
1
1
0
1
0
1
1
1
1
1
C i = A i B i + A i C i-1 + B i C i-1
Temps de calcul dépendant de i
Chapitre 3 : Les additionneurs
Expression utilisée dans les circuits :
Ci = A i Bi + A i Ci-1 + Bi Ci-1
Donner l’expression de
Ci
Ci = A i Bi + A i Ci-1 + Bi Ci-1
Si = A i Bi Ci-1 + A i Bi Ci-1
+ Ai Bi Ci-1 + A i Bi Ci-1
 A i Ci = Ai Bi Ci −1

 Bi Ci = Bi Ai Ci −1

Ci-1 Ci = Ci −1 Ai Bi
Si = A i Ci + Bi Ci + Ci-1 Ci + A i Bi Ci-1
Si =
( Ai +
Bi + Ci-1 ) ⋅ Ci + A i Bi Ci-1
Chapitre 3 : Les additionneurs
Ai-1 Bi-1 Ci-1
Si l’on considère que l’établissement de la sortie
d’une porte logique n’est pas instantanée (retard
: δs). Le résultat Si ne sera disponible que 2 δ
après Ci et 5 δ après l’apparition des données.
Si
Fmax = (1 / 5 δ) Hz
Il est difficile d’étendre ce type de méthode à
des mots binaires de grandes tailles. C’est
pourquoi on utilise rarement des circuits
logiques pour effectuer des calculs (Utilisation
de circuits dédiés : D.S.P.)
Ci
Chapitre 3 : Les additionneurs
Pour des opérations sur des nombres de grandes tailles, on chaîne les additionneurs
ce qui augmente le temps d’obtention du résultat définitif mais évite une
augmentation exponentielle du nombre de portes (circuits itératifs).
20δ
15δ
10δ
5δ
Chapitre 3 : Les additionneurs
Les entiers relatifs :
Avec la représentation CA2 : -A est représenté par CA2(A)+1
b i ⊕1 =
bi
Si add/sous =1 :
b i ⊕1 = b i
S = A + B +1
Si add/sous =0 :
bi ⊕ 0 = b i
S = A+ B
S = A− B
Chapitre 3 : Circuits Logiques
Les Unités arithmétique et logique
Une unité arithmétique et logique (UAL ou ALU, Arithmetic and Logic Unit en angloaméricain) permet tous les types d’opérations logiques et arithmétiques. A partir de 2 mots
binaires de n bits, le mot binaire de sortie représente une opération logique ou arithmétique
spécifiée dans une table de fonctionnement. Le résultat apparaît en sortie sur 2n bits.
Les fonctions réalisées sont l’addition, la soustraction, la multiplication, la division, la
comparaison, …
Chapitre 3 : Circuits Logiques
Unité arithmétique et logique à 1 bit
F0F1 = 11 :
+
F0F1 = 10 : NON
F0F1 = 01 : OU
F0F1 = 00 : ET
Chapitre 3 : Circuits Logiques
Chapitre 3 : Circuits Logiques
Exemple : ALU 4 bits et générateur de fonction 74LS181.
Caractéristique des portes électroniques
Technologiquement, il existe actuellement deux familles prépondérantes de circuits de logique
qui correspondent à deux techniques différentes de réalisation sous forme intégrée. Ces deux
technologies sont la famille des circuits logiques TTL et la famille des circuits logiques CMOS .
Parmi les avantages de ces deux familles, nous retiendrons la faible consommation statique
et la grande impédance d'entrée (~109 ) des CMOS, ainsi que la rapidité de la famille
TTL. Ces deux familles sont elles-mêmes divisées en plusieurs sous-classes le graphe et tableau
ci -dessous répertorient leurs dates d'apparition et leurs caractéristiques :
Types
Désignation
Temps de
propagation
Consommation
par porte
Fréquence
maximum
Tension
d'alimentation
Immunité aux
bruits
TTL standard
7400
10 ns
10 mW
35 MHz
5 V 5%
0.4 V
TTL Low Power
74L00
33 ns
1 mW
3 MHz
5 V 5%
0.4 V
TTL Hight
Speed
74H00
6 ns
22 mW
50MHz
5 V 5%
0.4 V
TTL schottky
74S00
3 ns
19 mW
125 Mhz
5 V 5%
0.4 V
TTL Low Power
Schottky
74LS00
10 ns
2 mW
45 Mhz
5 V 5%
0.4 V
TTL Advanced
L.P.S.
74ALS00
4 ns
1 mW
100 MHz
5 V 5%
0.4 V
CMOS
74C00
~100 ns
100 nW
3 MHz
3 à 18 V
20% de VCC
HCMOS
74HC00
15 ns
100 nW
15 MHz
3à6V
20% de VCC
Caractéristique des portes électroniques
Les niveaux logiques de ces deux familles sont les suivants (VDD est la tension d'alimentation
des opérateurs logiques CMOS) :
En entrée
En Sortie
Niveau haut
> 2V
> 2.4V
Niveau bas
< 0.8V
> 0.4V
Niveau haut
> VDD/2
VDD
Niveau bas
< VDD/2
VDD
TTL
CMOS
Acrobat Document
Acrobat Document
74LS04
74HC04
Caractéristique des portes électroniques
D’une manière plus précise, un circuit logique électronique est définit selon l’ensemble de
ces paramètres électriques :
—
—
—
—
—
la plage des tensions d’alimentation et la tolérance admise sur cette valeur,
la plage des tensions associée à un niveau logique, en entrée ou en sortie,
les courants pour chaque niveau logique, en entrée ou en sortie,
le courant maximum que l’on peut extraire d’une porte logique et le courant absorbé en entrée,
la puissance maximale consommée qui dépend souvent de la fréquence de fonctionnement.
Les performances dynamiques principales sont :
— les temps de montée (transi ti on bas–haut) et de descente (transi ti on haut–bas) des signaux en
sortie d’une porte,
— les temps de propagation d’un signal entre l’entrée et la sortie d’une porte logique.
Les différentes notions abordées seront illustrées de valeurs numériques issues de la
technologie TTL.
Caractéristique des portes électroniques
Notations (abréviations de termes anglo-américains)
Tensions
— VCC : tension nominale d’alimentation,
— VIH : tension d’entrée au niveau logique haut (Input High),
— VIL : tension d’entrée au niveau logique bas (Input Low),
— VOH : tension de sortie au niveau logique haut (Output High),
— VOL : tension de sortie au niveau logique bas (Output Low).
Courants : tous les courants sont entrants dans la porte.
— ICC : courant d’alimentation (suivant les conditions d’utilisation de la porte),
— IIH : courant d’entrée au niveau logique haut,
— IIL : courant d’entrée au niveau logique bas,
— IOH : courant de sortie au niveau logique haut,
— IOL : courant de sortie au niveau logique bas.
Caractéristique des portes électroniques
Au niveau logique haut
Au niveau logique bas
Caractéristique des portes électroniques
Tensions caractéristiques
Tension d’alimentation
Les circuits intégrés sont alimentés sous une tension nominale Vcc. En TTL, cette valeur est
de 5V associée à une tolérance. On distingue deux tolérances, une pour chaque série :
— Série standard 74... (commerciale) : Vcc = 5 V ± 5% ;
— Série dite « militaire » 54... : Vcc = 5 V ± 10%.
Un niveau logique correspond à une plage de tensions : le niveau logique 1 (entre Vcc et une
limite inférieure à Vcc) et le niveau 0 (de 0 V à une limite supérieure)
VIHmin < Vin < Vcc
VOHmin < Vout < Vcc
0 < Vin < VILmax
0 < Vout < VOLmax
Caractéristique des portes électroniques
Bruit statique et immunité
Un bruit est une variation intempestive (ou aléatoire) d’une grandeur physique autour de la
valeur déterminée (permanente, attendue ou nominale).
L’immunité au bruit est la marge de sécurité que l’on peut observer sans provoquer un
changement d’état logique non désiré : c’est l’amplitude maximale du signal parasite à
superposer au signal d’entrée pour provoquer un changement d’état en sortie.
Dans le cas le plus défavorable, l’immunité au bruit au niveau logique haut est VOHmin-VIHmin et
au niveau logique bas VILmax-VOLmax
Caractéristique des portes électroniques
Gabarit de transfert
Les deux graphes précédents sont rassemblés en un seul pour traduire la fonction logique
entre ces tensions : c’est le gabarit de transfert.
Une porte satisfait le gabarit si sa courbe de transfert se trouve dans la partie non grisée.
La tension de basculement, notée VT (T pour threshold, seuil), correspond à la tension
d’entrée pour laquelle la sortie change d’état (approximativement l’intersection de la tangente
au point d’inflexion de la courbe avec l’axe VIN).
Caractéristique des portes électroniques
Courants d’entrée et de sortie d’une porte
Courants d’entrée (Une entrée est équivalente à une charge électrique)
. IIL : courant qu’il faut extraire de la porte pour imposer un niveau logique bas en sortie.
En TTL LS : IIL = -400 µA (négatif avec les conventions).
IIH : courant absorbé par l’entrée de la porte au niveau logique haut. En TTL: IIH = 20 µA
(celui d’une diode en inverse, donc faible).
Courants de sortie (Une sortie est équivalente à un générateur)
IOL : ce courant est issu des différentes entrées commandées. En TTL LS : IOLmax = 8 mA
est la valeur maximale du courant en sortie qui assure que l’on se trouve encore dans le
gabarit de transfert (VOUT < VOLmax).
IOH : ce courant est issu des différentes entrées commandées. En TTL LS : IOHmax = -400
µA est la valeur maximale du courant en sortie qui assure que l’on se trouve encore dans le
gabarit de transfert (VOUT > VOHmin )
Caractéristique des portes électroniques
Marquage au niveau bas
Marquage au niveau haut
Caractéristique des portes électroniques
Charges maximales équivalentes
On définit l’impédance mini et maxi qu’il est possible de placer à la sortie d’une porte à partir
des valeurs maxi et mini des courants :
Caractéristique des portes électroniques
Sortance des portes logiques
La sortance traduit le nombre maximum d’entrées logiques que peut commander une
sortie.
Sortance au Niveau logique bas :
Sortance au Niveau logique haut :
Pour pallier l’insuffisance de sortance, on utilise une porte logique à sortie dite « bufférisée
».Dans ce cas, les gabarits de tension et les courants d’entrée sont identiques aux
caractéristiques standards, mais les courants de sortie maximum aux deux niveaux logiques
(IOL et IOH) sont plus importants. Sur le symbole de la porte, la sortie est marquée par le
signe
(amplification).
Exemple : porte logique 74LS37
sortance niveau haut : IOHmax = -1,2 mA et IIH = 20 mA
sortance = 60
sortance niveau bas : IOLmax = 24 mA et IIL = -400 mA
sortance = 60
Caractéristique des portes électroniques
Consommation des circuits logiques
Le courant total consommé (dans diverses conditions définies dans la notice du
constructeur) Icc permet de calculer la puissance dissipée dans le circuit intégré. Ces
paramètres de consommation sont nécessaires pour dimensionner l’alimentation de la carte
qui va recevoir tous les circuits.
En logique TTL, la consommation des circuits varie peu pour les fréquences faibles puis
augmente très rapidement avec la fréquence
Puissance dissipée par une porte en mW
Caractéristique des portes électroniques
Caractéristiques temporelles des portes logiques
Dans les éléments électriques, les grandeurs sont transmises avec un retard caractéristique
de la porte : c’est le temps de propagation de l ’information dans la porte. On distingue la
transition haut–bas (front descendant) ou bas–haut (front montant) :
— TpHL : temps de propagation du signal logique lorsque la sortie passe de l’état haut à l’état
bas (Propagation Time High to Low).
— TpLH : temps de propagation du signal logique lorsque la sortie passe de l’état bas à l’état
haut (Propagation Time Low to High).
Pour assurer la mesure de ces durées, une référence de tension est fixée par les
constructeurs (1,3 V en TTL) pour le début et la fin de la propagation
La sortie d’une porte est chargée par une ligne dont le comportement capacitif (capacité
répartie de la ligne, capacité d’entrée des circuits placés en aval,…) influence le temps de
retard en raison de la réponse transitoire du circuit RC équivalent. Les notices techniques
spécifient les temps de propagation pour différentes valeurs de capacité de charge (CL Load
Capacitance). Plus CL est grande, plus le temps de propagation est élevé.
Caractéristique des portes électroniques
Problèmes rencontrés : Aléas
Définition : Aléas statique
Un système combinatoire présente un aléas statique si, pour deux entrées
adjacentes, la sortie du système devant être constante ( 0 ou 1) , la sortie présente
un régime transitoire durant lequel la sortie change de valeur (1 ou 0).
e=0
e=1
e=0
S(t)
e=1
S(t)
t
t
Ces aléas ont souvent pour origine un mauvais choix des impliquants premiers
de la table de Karnaugh.
Problèmes rencontrés : Aléas
AA
Aléas statique
S
S
X
A=B
X
BB
X
BX
TpLH
AX
2TpHL
TpHL
2TpLH
S
TpHL
TpLH
Aléas de sortie
(glitch)
Chapitre 3 : Circuits Logiques
Traitement des aléas statiques : Un aléas peut apparaître si A et B valent 1
et X change de valeur.
Entrée anti-glitch : si A et B valent 1 la sortie vaut 1 donc utilisation
d’un terme supplémentaire évitant l’aléas
A
S
X
B
Chapitre 3 : Circuits Logiques
Situation typique d’apparition d’aléas : transition mal couverte.
S = A X + BX
A
Nouveau terme
anti-glitch : AB
B
Utilisation du théorème du consensus :
S = F1 X + F 2 X + F1 F 2
Chapitre 3 : Circuits Logiques
Portes évitant l’apparition de Glitch
Problèmes rencontrés : Aléas
Définition : Aléas dynamique
Un système combinatoire présente un aléas dynamique si, pour deux entrées
adjacentes, la sortie du système devant passer par la valeur 0 à la valeur 1 ( ou
de 1 à 0), il existe un régime transitoire durant lequel se présente à la sortie la
séquence 0 1 0 1 (ou 1 0 1 0).
e=0
e=1
e=0
S(t)
e=1
S(t)
t
t
Ces aléas ont souvent pour origine les limitations physiques de la technologie
qui réalise la machine logique. Exemple la logique à interrupteur :
1
a ??
0
Problèmes rencontrés : Aléas
Les aléas de séquence (course non critique) : S(a,b,c,d)
ab
cd
00
00
1
01
11
10
abcd =1100
S(1100)=1
0111
S(0111)=1
1100
1
1
0
01
1
0
0
0
11
0
1
0
1
10
0
1
1
0
0100
0110
1110
1101
0101 0110 1111 0101 1111
0111 0111 0111 0111 0111 0111
OK
PB
Téléchargement