ELP304 Poly1
ELP304 Poly1
ELP304 Poly1
André Thépaut
ELP304/203 : ELECTRONIQUE
NUMERIQUE
Polycopié 1/2
Logique combinatoire et circuits MOS
Sommaire
1. INTRODUCTION..............................................................................................................................................1
3. OPERATIONS ARITHMETIQUES..............................................................................................................16
3.1 ADDITION ET SOUSTRACTION ............................................................................................................................16
3.2 MULTIPLICATION ET DIVISION ..........................................................................................................................16
3.2.1 Multiplication et division par 2 k ..............................................................................................................16
3.2.2 Cas général...............................................................................................................................................17
4. CONCLUSION ................................................................................................................................................18
5. BIBLIOGRAPHIE...........................................................................................................................................18
i
Sommaire
1. INTRODUCTION............................................................................................................................................19
5. BIBLIOGRAPHIE...........................................................................................................................................41
ii
Sommaire
Chapitre 3 : Electronique des circuits logiques. Eléments de circuiterie MOS et CMOS .............43
iii
Sommaire
4. BIBLIOGRAPHIE...........................................................................................................................................98
1. DEFINITIONS .................................................................................................................................................99
iv
Sommaire
6. BIBLIOGRAPHIE .......................................................................................................................................129
v
Sommaire
vi
Chapitre 1 : Représentation de l'information numérique et arithmétique binaire
1. Introduction
Les systèmes numériques complexes tels que les calculateurs doivent traiter des nombres, des chaînes de
caractères alphanumériques, des instructions. A cette fin, ces informations sont représentées à l’aide de
l’élément binaire, noté eb ou bit (binary digit). L’objectif de ce chapitre n’est pas de démontrer des
théorèmes, ni de présenter de manière exhaustive « l’art de la numération », qui fait toujours l’objet de
recherches, mais plutôt de rappeler les notions fondamentales du codage de l’information utilisé par les
systèmes numériques.
avec
• an est le symbole de poids le plus fort (MSB : Most Significant Bit si b = 2), et a− m est le
symbole de poids le plus faible (LSB : Least Significant Bit si b = 2)
Le nombre N (b) s’exprime en numérotation de position par S an an −1K a0 , a−1K a− m . Les symboles
an an−1K a0 et a−1K a − m représentent respectivement la partie entière et la partie fractionnaire de N.
On appelle dynamique ou amplitude de codage d’une représentation la différence entre le plus grand
nombre et le plus petit nombre représentables. On appelle résolution ou précision d’une représentation la
différence entre deux nombres consécutifs. A titre d’exemple pour une représentation décimale d’entiers
positifs sur 5 chiffres, la dynamique est égale à 99999 et la résolution est égale à 1.
1
Chapitre 1 : Représentation de l'information numérique et arithmétique binaire
Le système binaire et ses dérivés sont ceux utilisés pour le codage des informations dans les systèmes
numériques. La base 16 est couramment utilisée car elle peut être considérée comme une écriture condensée
de l’écriture binaire et, par conséquent, sa conversion vers le binaire est particulièrement aisée.
Exemple 1 : conversion du nombre binaire entier N (2) = 1101 0011(2) en base 10.
N = 1. 2 7 + 1. 2 6 + 0. 25 + 1. 2 4 + 0. 2 3 + 0. 2 2 + 1. 21 + 1. 2 0 = 128 + 64 + 16 + 2 + 1 = 211(10)
N = 1. 25 + 1. 2 4 + 1. 21 + 1. 2 0 + 1. 2 −1 + 1. 2 −4 = 51, 5625(10)
2
Chapitre 1 : Représentation de l'information numérique et arithmétique binaire
N. B. : La méthode des additions requiert la connaissance des puissances successives de la base de départ.
• Nombres entiers
Pour effectuer une conversion d’un entier décimal dans une autre base on applique la méthode des
divisions successives : on effectue des divisions successives du nombre par cette base, les restes successifs
forment alors le nombre converti.
A titre d’exemple, dans le cas d’une conversion d’un nombre décimal en son équivalent binaire, on
réalisera des divisions successives par 2. Les restes de ces divisions formeront le nombre converti dans la
base 2.
52 2
0 26 2
0 13 2
1
6 2
0 3 2
sens de
lecture
1 1 2
1 0
52 (10) = 110100(2)
3
Chapitre 1 : Représentation de l'information numérique et arithmétique binaire
90 8
2 11 8
3 1 8
1
0
90(10) = 132 (8)
Chaque division revient à opérer un décalage à droite d’une position et permet ainsi d’isoler un bit dans
la partie fractionnaire.
Si les puissances successives de la base d’arrivée sont connues, on peut également, plutôt que d’utiliser
la méthode précédente, effectuer la transformation par soustractions successives de ces puissances. Cette
méthode est illustrée sur les deux exemples traités précédemment.
• Nombres fractionnaires
Pour convertir un nombre fractionnaire de la base 10 vers une autre base, il faut procéder en deux étapes.
La partie entière du nombre est convertie comme indiqué précédemment ; la partie fractionnaire du nombre
est convertie par multiplications successives : on multiplie successivement la partie fractionnaire par la base
cible, en retenant les parties entières qui apparaissent au fur et à mesure.
4
Chapitre 1 : Représentation de l'information numérique et arithmétique binaire
• partie fractionnaire :
Il est visible sur les deux exemples précédents que la conversion peut ne pas se terminer et que l’on
obtient, en s’arrêtant à un nombre fini de positions une approximation de la représentation du nombre.
Soit ( an an −1K a0 , a−1K a− m ) (10) et ( a p a p −1K a0 , a −1K a− k ) (b) les numérotations de position d’un
même nombre N exprimé respectivement en base 10 et en base b. La résolution est conservée lors du passage
de la base 10 à la base b si et seulement si b − k ≤ 10− m , c’est-à-dire si k log b ≥ m log 10 , soit
log 10
k ≥m
log b
Exemple 1 : pour conserver la résolution lors du passage de 0, 925(10) en base 2, il faut garder
log 10
k ≥3 ≈ 9 , 97 , soit 10 bits après la virgule.
log 2
Exemple 2 : pour conserver la résolution lors de la conversion de 0, 45(10) en base 8, il faut garder
5
Chapitre 1 : Représentation de l'information numérique et arithmétique binaire
log 10
k ≥2 ≈ 2 , 2 , soit 3 bits après la virgule.
log 8
L’utilisation des bases 2 n (8 et 16) permet de réduire le nombre de symboles à écrire tout en conservant
la possibilité de conversion instantanée en binaire.
Pour convertir un nombre de la base 2 vers la base 2 n , il suffit de regrouper les bits par groupes de n (3
pour la base octale et 4 pour la base hexadécimale), et de remplacer chacun de ces groupes par le symbole
correspondant dans la base d’arrivée. En effet, considérons par exemple un nombre exprimé en binaire sur 12
bits :
Pour la partie entière, le regroupement part du bit de poids le plus faible, et pour la partie fractionnaire,
du bit de poids le plus fort (de la virgule). Lorsqu’un groupe est incomplet, on le complète avec des 0.
6
Chapitre 1 : Représentation de l'information numérique et arithmétique binaire
Pour la conversion inverse, il suffit de développer chaque symbole de la représentation dans la base 2 n
sur n bits.
Dans cette représentation, les nombres positifs se représentent par leur valeur binaire naturelle. Par
exemple +6 est représenté par 0000 0110 sur un format de 8 bits.
On identifie le CA2 d’un nombre à son opposé arithmétique car A + ( − A) = 2 n = 0 mod 2 n , si n est le
format de représentation du nombre A. En effet, soit A = an −1K a1a0 , alors A = an −1K a1 a0 , et donc
A + A = 11K11 , soit A + A = 2 n − 1 , et − A = A + 1 .
7
Chapitre 1 : Représentation de l'information numérique et arithmétique binaire
• Le principe d’obtention de l’opposé d’un nombre négatif est le même que celui permettant
d’obtenir l’opposé d’un nombre positif,
−2 n −1 ≤ N ≤ +2 n−1 − 1
On peut ainsi représenter des nombres compris entre -4 et +3 sur un format de 4 bits, entre -16 et
+15 sur un format de 5 bits, entre -32 et +31 sur un format de 6 bits, entre -64 et +63 sur un
format de 7 bits, etc.
• Le bit de poids fort (MSB) est représentatif du bit de signe, mais il est traité comme les autres
bits dans les opérations arithmétiques : si MSB = 0 le nombre est positif, si MSB = 1 le nombre
est négatif.
• Le nombre +2 n −1 n’est pas représenté. En effet, dans le cas où n = 4, le calcul du CA2 de 1000
donne -(-8) = 0111 + 1 = 1000 = -8. Ce qui est arithmétiquement incorrect, car 0 est le seul entier
à être son propre opposé. On a donc choisi de supprimer la représentation du nombre +2 n −1 , un
MSB à 1 étant représentatif d’un nombre négatif.
L’extension d’un nombre codé sur n bits à un format sur n+k bits est réalisé comme suit :
• Si le nombre est positif, on complète les k bits de poids forts par des 0. Par exemple,
6 bits
0110(CA2) → 000110(CA2) .
14243
6(10) codé
sur 4 bits
8
Chapitre 1 : Représentation de l'information numérique et arithmétique binaire
• Si le nombre est négatif, on complète les k bits de poids forts avec des 1. Par exemple,
6 bits
1010(CA2) → 111010(CA2) .
14243
−6(10) codé
sur 4 bits
Dans cette représentation, le bit de poids le plus fort représente le signe (MSB = 0 => nombre positif,
MSB = 1 => nombre négatif), et les autres bits la valeur absolue du nombre. Ainsi, un format de n bits
permet de coder les nombres compris entre − ( 2 n −1 − 1) et 2 n −1 − 1 . Dans cette représentation, le zéro
possède deux notations possibles.
0 0000 1000 0
1 0001 1001 -1
2 0010 1010 -2
3 0011 1011 -3
4 0100 1100 -4
5 0101 1101 -5
6 0110 1110 -6
7 0111 1111 -7
L’extension d’un nombre codé sur n bits à un format sur n+k bits consiste à décaler le bit de signe à la
position du MSB et à compléter les autres positions par des 0, que le nombre soit positif ou négatif. Par
exemple
6 bits 6 bits
0110( M +S) → 000110(M +S) , et 1110( M +S) → 1 00110( M +S) .
14243 S
{
14243 S
{
9
Chapitre 1 : Représentation de l'information numérique et arithmétique binaire
0 1000 1000 0
1 1001 0111 -1
2 1010 0110 -2
3 1011 0101 -3
4 1100 0100 -4
5 1101 0011 -5
6 1110 0010 -6
7 1111 0001 -7
0000 -8
10
Chapitre 1 : Représentation de l'information numérique et arithmétique binaire
N = S . M . be (équation 2)
avec :
• S : signe du nombre,
• M : mantisse,
• e : exposant.
Exemple : représentation normalisée IEEE simple précision des nombres flottants en machine sur 32 bits
(Standard IEEE 754-1985)
31 30 23 22 0
S Caractéristique C Mantisse M
Chaque valeur à représenter est dans ce cas déterminée par l’expression suivante :
où la valeur de l’exposant e est donnée par e = C − 127 . L’addition de 127 à e permet de coder l’exposant en
binaire naturel et de s’affranchir du problème de son signe.
• C = 0 et M = 0 : nombre zéro,
11
Chapitre 1 : Représentation de l'information numérique et arithmétique binaire
31 30 23 22 0
0 0111 1111 000000 .....................................................0000
soit 3F800000(16).
La représentation en virgule flottante autorise une dynamique plus grande qu’en virgule fixe. Dans le
format précédent, on peut coder des nombres dont la valeur absolue va de 10−38 à 1038 , et le standard
d’écriture en virgule flottante double précision (sur 64 bits) permet de représenter des nombres atteignant
10300 .
L’ensemble des codes binaires peuvent être regroupés en deux classes : les codes pondérés et les codes
non pondérés.
12
Chapitre 1 : Représentation de l'information numérique et arithmétique binaire
N (10) N ( XS3)
0 0 0 1 1
1 0 1 0 0
2 0 1 0 1
3 0 1 1 0
4 0 1 1 1
5 1 0 0 0
6 1 0 0 1
7 1 0 1 0
8 1 0 1 1
9 1 1 0 0
Il est obtenu en décalant le code binaire de trois lignes vers le haut. Ce code peut être intéressant pour
effectuer des soustractions car le complément à 1 de la représentation binaire d’un chiffre correspond au
complément à 9 de ce chiffre. Ainsi, toute opération de soustraction se ramène à une addition.
Par exemple 5(XS3) = 1000 , son complément à 1 est obtenu par inversion des bits,
5(XS3) = 0111 = 4 (XS3) , le résultat en excédent 3 est le nombre 4, qui est le complément à 9 de 5 en décimal.
Ainsi, pour faire une soustraction, il suffit d’ajouter le complément à 1 du nombre à retrancher, puis 1. Par
exemple, ( 7 − 5) (XS3) = 7 (XS3) + 5(XS3) + 1(XS3) = 1010 + 0111 + 0100 = 0101 = 2 (XS3) .
13
Chapitre 1 : Représentation de l'information numérique et arithmétique binaire
0 0 0 0 0 0 0 0 0 0
1 0 1 0 0 1 0 0 0 1
1 1 0 1 1 0 0 1 1
sur 1 bit 1 0 0 1 0 0 0 1 0
1 1 0 0 1 1 0
sur 2 bits 1 1 1 0 1 1 1
1 0 1 0 1 0 1
1 0 0 0 1 0 0
1 1 0 0
sur 3 bits 1 1 0 1
1 1 1 1
1 1 1 0
1 0 1 0
1 0 1 1
1 0 0 1
1 0 0 0
sur 4 bits
14
Chapitre 1 : Représentation de l'information numérique et arithmétique binaire
• Code p parmi n
n!
Ce code est constitué de Cnp = mots de code. Chaque mot de code est codé sur n bits et
p!( n − p )!
contient exactement p "1" et (n - p) "0". Par exemple, le code 2 parmi 5 (tableau 5) est constitué de 10 mots
de codes et permet de coder les chiffres décimaux.
N (10) N (2 parmi 5)
0 0 0 0 1 1
1 1 1 0 0 0
2 1 0 1 0 0
3 0 1 1 0 0
4 1 0 0 1 0
5 0 1 0 1 0
6 0 0 1 1 0
7 1 0 0 0 1
8 0 1 0 0 1
9 0 0 1 0 1
L’utilisation de ce code permet, à la réception d’une information, de vérifier par comptage du nombre de
1 si une erreur s’est introduite dans l’information transmise. Dans le cas où plus d’une erreur s’est glissée
dans un mot de code, la détection n’est pas assurée dans tous les cas. Ce code ne permet pas non plus de
trouver la place de l’erreur, donc de la corriger. D’autre part, le décodage des combinaisons est
particulièrement simple, car il ne porte que sur 2 bits par combinaison.
15
Chapitre 1 : Représentation de l'information numérique et arithmétique binaire
3. Opérations arithmétiques
Si le format des nombres est fixe, le résultat de l’addition peut donner lieu à un dépassement de capacité.
Par exemple, le résultat de l’addition de 2 nombres binaires codés sur n bits peut dépasser la plus grande
valeur codable sur n bits (2 n − 1 en binaire naturel).
La soustraction, en arithmétique binaire, est le plus souvent appliquée sur des nombres signés. Dans ce
cas, cette opération se ramène dans tous les cas à une addition.
Dans le cas où les nombres sont codés en complément à 2, l’addition de 2 nombres exprimés sur n bits
fournit toujours un résultat correct, sauf dans le cas où le résultat n’est pas représentable sur les n bits. Il y a
alors dépassement de capacité lorsque les deux opérandes sont de même signe et que le résultat est de signe
opposé. Dans le registre d’état d’un ordinateur, deux indicateurs viennent renseigner le programmeur (ou le
système d’exploitation) sur la validité des résultats obtenus : la retenue (carry C) et le débordement
(overflow OVF). L’indicateur C signale la présence d’une retenue au niveau des poids forts; l’indicateur
OVF indique que le résultat de l’opération n’est pas représentable dans le système du complément à 2 sur le
format défini au départ. Nous allons illustrer le positionnement de la retenue et du débordement par quatre
exemples :
0000 0110 (+6) 0111 1111 (+127) 0000 0100 (+4) 0000 0100 (+4)
+ + + +
0000 0100 (+4) 0000 0001 (+1) 1111 1110 (-2) 1111 1100 (-4)
0000 1010 (+10) 1000 0000 (-128) 1 0000 0010 (+2) 1 0000 0000 (0)
OVF=0 OVF=1 OVF=0 OVF=0
C=0 C=0 C=1 ignoré C=1 ignoré
résultat correct résultat incorrect résultat correct résultat correct
Pour que le résultat d’une opération sur n bits soit correct dans la méthode du complément à 2, il faut que
les retenues de rang n et de rang n+1 soient identiques.
16
Chapitre 1 : Représentation de l'information numérique et arithmétique binaire
• Multiplication par 2 k
Multiplier un nombre binaire par 2 k consiste à décaler la virgule de k positions vers la droite, ou à
ajouter k "0" au niveau des bits de poids faible dans le cas des entiers. Par exemple, soit
N = 18(10) = 10010(2) . La multiplication de N par 2 donne N . 2 (10) = 36(10) = 100100(2) , et sa multiplication
par 4, N . 4 (10) = 72 (10) = 1001000(2) . Le mécanisme est le même que celui appliqué lors de la multiplication
• Division par 2 k
Le mécanisme est inverse de celui de la multiplication. Diviser un nombre binaire par 2 k consiste à
décaler la virgule de k positions vers la gauche, ou à enlever les k bits de poids faible dans le cas d’une
division entière. Par exemple, soit N = 37 (10) = 100101(2) . La division entière de N par 4 donne
N / 4 (10) = 9 (10) = 1001(2) , tandis que la même division considérée sur des réels donne
N / 4 (10) = 9 , 25(10) = 1001, 01(2) .
A3 A2 A1 A0 Multiplicande A
× B3 B2 B1 B0 Multiplieur B
A3 B0 A2 B0 A1 B0 A0 B0 Produit partiel A × B0
A3 B1 A2 B1 A1 B1 A0 B1 A × B1 décalé de 1 rang
A3 B2 A2 B2 A1 B2 A0 B2 A × B2 décalé de 2 rangs
A3 B3 A2 B3 A1 B3 A0 B3 A × B3 décalé de 3 rangs
P7 P6 P5 P4 P3 P2 P1 P0 Produit P = A × B
Lorsque les nombres à multiplier sont signés, le principe de l’opération devient plus complexe et fait
appel à des algorithmes non traités dans ce cours (cf. par exemple [Aum96]). Néanmoins, dans le cas d’une
représentation en complément à 2, l’algorithme de multiplication précédent est applicable, moyennant une
légère modification, si le multiplieur est positif :
17
Chapitre 1 : Représentation de l'information numérique et arithmétique binaire
• Si le multiplicande est négatif, tous les produits partiels sont négatifs ou nuls. Il faut étendre les
produits partiels non nuls à 2n bits en rajoutant des 1 sur les bits de poids forts.
Exemple :
1 0 1 1 (-5)
× 0 0 1 1 (+3)
1 1 1 1 1 0 1 1
1 1 1 1 0 1 1
0 0 0 0 0 0
0 0 0 0 0
1 1 1 1 0 0 0 1 (-15)
Dans les systèmes numériques, la division binaire n’est pas réalisée suivant la méthode utilisée en
décimal [Aum96].
4. Conclusion
Ce chapitre présente les systèmes de numération et de codage les plus utilisés dans les systèmes
numériques. La numération fait encore, néanmoins, l’objet de recherches. De nouveaux codages des
nombres, réels notamment, sont à l’étude pour effectuer plus rapidement certaines opérations et améliorer les
performances des opérateurs [Mul89]. La réalisation des opérations de codage, décodage, conversion de
codes ainsi que des opérations arithmétiques est étudiée dans le chapitre 4, intitulé « Fonctions et circuits
combinatoires ».
5. Bibliographie
[Aum96] M. Aumiaux, Logique arithmétique et techniques synchrones, 1ère partie : Arithmétique
binaire et décimale, Enseignement de l’électronique, Masson, 1996.
[LV86] J.-C. Lafont et J.-P. Vabre, Cours et problèmes d’électronique numérique, Ellipses, 1986.
[Mul89] J.-M. Muller, Arithmétique des ordinateurs, opérateurs et fonctions élémentaires, Etudes et
recherches en informatique, Masson, 1989.
18
Chapitre 2 : Propriétés des variables et fonctions logiques
1. Introduction
Le fonctionnement des systèmes numériques repose sur la manipulation de variables et fonctions
dont les valeurs sont représentées par des grandeurs physiques dites binaires car ne pouvant prendre
que deux valeurs (généralement notées 0 et 1). La structure mathématique permettant de formaliser les
opérations de manipulation de ces grandeurs binaires est dite algèbre de commutation ou plus
communément algèbre de Boole. Nous nous intéressons dans ce chapitre aux bases et aux propriétés
fondamentales de l’algèbre de Boole indispensables à la compréhension du fonctionnement des
systèmes numériques.
2.1 Définitions
Dans l’algèbre de commutation, une variable ne peut prendre que 0 ou 1 comme valeur possible.
Une telle variable est dite variable logique, variable binaire, ou variable booléenne. De même, une
fonction de n variables logiques ne peut prendre comme valeur que 0 ou 1. Elle est dite fonction
logique, fonction binaire, ou fonction booléenne.
A B F(A,B)
0 0 F(0,0)
0 1 F(0,1)
1 0 F(1,0)
1 1 F(1,1)
19
Chapitre 2 : Propriétés des variables et fonctions logiques
A A A 1 A
A A
0 1
(a) (b)
1 0
tableau 2.2 : table de vérité de la figure 2.1 : symboles logiques d’un inverseur
fonction NON (a) notation usuelle (ancienne notation US)
(b) notation normalisée IEEE (ancienne notation européenne)
Le produit logique de 2 variables se note A.B, AB, ou bien encore A∧B (lire « A et B »). A.B vaut 1
si et seulement si A et B valent 1. Le tableau 2.3 donne la table de vérité de la fonction ET, et la
figure 2.2 les symboles logiques de l’opérateur associé.
A B A.B A A
A.B & A.B
0 0 0 B B
0 1 0
1 0 0
(a) (b)
1 1 1
tableau 2.3 : table de vérité de la fonction ET figure 2.2 : symboles logiques de l’opérateur
ET.
(a) notation usuelle
(b) notation normalisée IEEE
L’addition logique de 2 variables se note A+B ou A∨B (lire « A ou B »). A+B vaut 0 si et
seulement si A et B valent 0. Le tableau 2.4 donne la table de vérité de la fonction OU, et la figure 2.3
les symboles logiques de l’opérateur associé.
20
Chapitre 2 : Propriétés des variables et fonctions logiques
A B A+B
A A
0 0 0 A+ B ≥1 A+ B
B B
0 1 1
1 0 1
(a) (b)
1 1 1
tableau 2.4 : table de vérité de la fonction OU figure 2.3 : symboles logiques de l’opérateur
OU.
(a) notation usuelle
(b) notation normalisée IEEE
AB = BA
A+ B = B+ A
A.1 = 1. A = A
A+0= 0+ A = A
A. 0 = 0. A = 0
A +1 = 1+ A = 1
A. A = A
A+ A= A
A=A
A. A = 0
A + A=1
21
Chapitre 2 : Propriétés des variables et fonctions logiques
• Théorème de De Morgan
A + B = A. B
A. B = A + B
∑ Xi = ∏ Xi
i i
∏ Xi = ∑ Xi
i i
N. B. On notera que l’analogie entre l’addition logique (resp. produit logique) et l’addition (resp.
multiplication) de l’arithmétique classique se limite à un nombre très restreint de propriétés.
A B A. B
A A
A. B & A. B
B B
0 0 1
0 1 1
(a) (b)
1 0 1
1 1 0
figure 2.4 : symboles logiques de l’opérateur NON ET.
tableau 2.5 : table de vérité de la (a) notation usuelle
fonction NON ET (b) notation normalisée IEEE
22
Chapitre 2 : Propriétés des variables et fonctions logiques
A B A+ B
A A
0 0 1 A+ B ≥1 A+ B
B B
0 1 0
1 0 0
(a) (b)
1 1 0
tableau 2.6 : table de vérité de la figure 2.5 : symboles logiques de l’opérateur NON OU
fonction NON OU (a) notation usuelle
(b) notation normalisée IEEE
AB = BA A+ B = B+ A
( AB ) C = A( BC ) = ABC mais ABC ≠ ABC
( A + B ) + C = A + ( B + C ) = A + B + C mais A + B + C ≠ A + B + C
A.1 = A A +1= 0
A. 0 = 1 A+0= A
A. A = A A+ A= A
A. A = 1 A + A=0
A B A⊕B
A A
0 0 0 A⊕ B =1 A⊕ B
B B
0 1 1
1 0 1
(a) (b)
1 1 0
23
Chapitre 2 : Propriétés des variables et fonctions logiques
A⊕ B =1 ⇔ A ≠ B
A B A B
0 0 1 A A
A B =1 A B
0 1 0 B B
1 0 0
(a) (b)
1 1 1
A B = A⊕ B = A⊕ B = A⊕ B
A⊕ B =1 ⇔ A = B
24
Chapitre 2 : Propriétés des variables et fonctions logiques
En effet,
A = A. A
A. B = AB. AB
A + B = A + B = A . B = AA. BB
De même,
A= A+ A
A. B = A. B = A + B = A + A + B + B
A+ B= A+ B+ A+ B
A B C numéro de la F(A,B,C) F( A, B , C )
combinaison
0 0 0 0 1 0
0 0 1 1 1 0
0 1 0 2 0 1
0 1 1 3 0 1
1 0 0 4 1 0
1 0 1 5 1 0
1 1 0 6 1 0
1 1 1 7 0 1
25
Chapitre 2 : Propriétés des variables et fonctions logiques
On peut extraire une expression de F en exprimant les combinaisons des variables A, B, et C pour
lesquelles F est égale à 1 : F vaut 1 pour les combinaisons 0, 1, 4, 5, et 6, c’est-à-dire si A B C = 1,
A B C = 1 , A B C = 1 , A B C = 1, ou AB C = 1. La fonction F peut donc s’écrire sous la forme :
F( A, B , C ) = A B C + A B C + A B C + A B C + AB C
L’expression obtenue est une somme logique de produits logiques, il s’agit d’une forme
algébrique disjonctive, encore appelée forme ΣΠ . Les produits logiques font intervenir toutes les
variables, sous leur forme directe ou complémentée. Ces produits élémentaires sont appelés
mintermes. Pour n variables logiques, il existe 2n mintermes différents, chaque minterme étant égal à
1 pour une seule combinaison des n variables. La représentation d’une fonction sous la forme d’une
somme de mintermes est dite forme canonique disjonctive ou première forme canonique.
On peut extraire une seconde expression de F en exprimant les combinaisons des variables A, B, et
C pour lesquelles F est égale à 0. F vaut 0 pour les combinaisons 2, 3, et 7, ce qui peut encore s’écrire :
F( A, B, C) = ( A + B + C).( A + B + C ).( A + B + C )
Cette nouvelle expression a une forme duale de la précédente. C’est un produit logique de sommes
logiques, il s’agit d’une forme algébrique conjonctive ou forme ΠΣ . Les sommes logiques
composant le produit font intervenir toutes les variables, sous leur forme directe ou complémentée.
Elles sont appelées maxtermes. Pour n variables logiques, il existe 2n maxtermes différents, chaque
maxterme étant égal à 0 pour une seule combinaison des n variables. La représentation d’une fonction
sous la forme d’un produit de maxtermes est dite forme canonique conjonctive ou seconde forme
canonique.
• la table de vérité,
• les deux formes canoniques.
En effet, deux fonctions logiques sont égales si et seulement si leurs tables de vérité ou leurs formes
canoniques sont identiques.
Ainsi, la forme disjonctive est bien adaptée à une réalisation à base d’opérateurs NON ET. En
effet, soit F une fonction de 4 variables écrite sous la forme disjonctive suivante (non canonique dans
le cas traité, puisque les produits ne sont pas des mintermes) :
F( A, B, C, D) = A. B + C D
26
Chapitre 2 : Propriétés des variables et fonctions logiques
Pour réaliser cette fonction à l’aide d’opérateurs NON ET et d’inverseurs, il faut dans un premier
temps transformer la fonction pour l’écrire sous la forme d’une combinaison de fonctions élementaires
NON ET et d’inversion (application du théorème de De Morgan):
F( A, B , C , D ) = A. B + C D = A. B + C D = A. B. C D
A
B
F(A,B,C,D)
C
De même, la forme conjonctive est bien adaptée à une réalisation à base d’opérateurs NON OU.
En effet, soit une fonction G de 4 variables écrite sous une forme conjonctive :
G( A, B , C , D ) = ( A + B ).( C + D ) = ( A + B ).( C + D ) = A + B + C + D
La fonction G peut être réalisée à l’aide de 3 opérateurs NON OU et 2 inverseurs (figure 2.9).
B G(A,B,C,D)
C
D
Lorsqu’aucune contrainte extérieure n’impose l’une des représentations, la forme disjonctive est
traditionnellement plus utilisée que la forme conjonctive, en raison de l’analogie de notation entre les
opérations logiques et arithmétiques.
Lors de la mise en œuvre d’une fonction logique dans un circuit, deux types de contraintes
peuvent être prises en compte : optimiser la vitesse du circuit (c.-à-d. obtenir une fréquence maximale
de fonctionnement la plus grande possible) ou bien optimiser sa complexité (c.-à-d. obtenir un
encombrement sur silicium minimal). Dans le cas où la contrainte de complexité est la plus forte, il
faut utiliser le minimum de matériel. Il est, pour cela, nécessaire de représenter la fonction à réaliser
sous une forme simplifiée, c’est-à-dire utilisant un nombre minimal d’opérateurs. Le problème de la
simplification des fonctions logiques est traité dans la section suivante.
27
Chapitre 2 : Propriétés des variables et fonctions logiques
Dans les exemples suivants, la technique consiste à regrouper judicieusement les termes puis à
simplifier en utilisant les relations de simplification vues au §2.3.4.
AB + B = B , donc F1 = BC + AC + B,
d’où F1 = AC + B , car BC + B = B .
( X + C ) C = C , d’où F2 = ( A + B ) C = AC + B C .
Dans d’autres cas, il faut « compliquer » l’expression en utilisant les propriétés d’idempotence du
ET et du OU, ou les propriétés de l’inversion, pour éliminer des termes superflus.
28
Chapitre 2 : Propriétés des variables et fonctions logiques
F4 = A B + AC + ( A + A ) BC .
F4 = A B + AC + ABC + A BC
= A B (1 + C ) + AC (1 + B )
d’où F4 = A B + AC .
F5 = ( A + B )( A + C )( B + C + A A) .
F5 = ( A + B )( A + C )( A + B + C )( A + C + B )
= ( A + B + 0. C )( A + C + 0. B )
d’où F5 = ( A + B )( A + C ) .
4.2.7 Conclusion
Les méthodes algébriques de simplification présentent un inconvénient majeur : elles ne sont pas
systématiques, et leur efficacité dépend donc largement du savoir-faire de la personne qui les applique.
Elles ne peuvent, par conséquent, être utilisées que ponctuellement sur des cas simples.
29
Chapitre 2 : Propriétés des variables et fonctions logiques
4.3.1 Introduction
Le diagramme ou tableau de Karnaugh est un outil graphique qui permet de simplifier de façon
méthodique une fonction logique. Bien que les diagrammes de Karnaugh soient applicables en théorie
à des fonctions ayant un nombre quelconque de variables, ils ne sont en pratique utilisables « à la
main » que pour un nombre de variables inférieur ou égal à 6.
La somme de deux produits adjacents et le produit de deux sommes adjacentes peuvent être
simplifiés par mise en facteur, en raison des propriétés de distributivité réciproque des opérateurs ET
et OU. En effet,
et
Un diagramme de Karnaugh est une table de vérité disposée de telle sorte que tous les termes
logiquement adjacents soient également géométriquement adjacents, afin de mettre visuellement en
évidence les simplifications possibles.
La méthode de Karnaugh est applicable à partir d’une représentation de la fonction sous une de ses
deux formes algébriques canoniques. En pratique, la première forme canonique (forme disjonctive) est
la plus utilisée. Par la suite, le principe de la simplification est détaillé dans ce cas, mais toutes les
étapes décrites sont également applicables pour une représentation sous la forme conjonctive.
Lors du remplissage du diagramme, la valeur logique 1 est inscrite dans les cases correspondant
aux mintermes présents dans l’expression de la fonction, puis le tableau est complété par des 0. Les 0
peuvent être omis pour alléger l’écriture.
30
Chapitre 2 : Propriétés des variables et fonctions logiques
A A A
AB AB c n 1 1
B AB AB B c B 1 0
A BC A BC AB C AB C n c d c 1 1 1 0
C A BC A BC ABC AB C C c d o d C 1 0 1 0
Pour le terme ABC , l’adjacence géométrique est évidente. En revanche, pour retrouver l’adjacence
géométrique dans le cas de A B C , il faut remarquer que les cases aux deux extrémités de la première
ligne sont adjacentes. Ceci est mis en évidence en représentant le tableau sous forme cylindrique
comme le montre la figure 2.12.
31
Chapitre 2 : Propriétés des variables et fonctions logiques
AB C
AB C
AB C
A BC A BC
ABC
A BC
A BC
Plus généralement, deux cases situées aux extrémités d’une même ligne ou d’une même colonne
sont adjacentes. Ceci est dû au code de Gray qui est un code cyclique.
B A B A
c n c 1 1
D c d D
d o d 1 1
C C
c d 1
(a) (b)
Les adjacences sur les bords d’un tableau à quatre variables sont mises en évidence par les deux
représentations de la figure 2.14.
32
Chapitre 2 : Propriétés des variables et fonctions logiques
AB CD AB C D
A B CD
AB CD A BC D AB CD
A B CD AB C D
A BC D
A B CD A B CD A BCD ABCD A B CD
A B CD AB C D
A BC D
A B CD ABC D
A B CD ABCD A BCD A B CD
A BCD
A B CD ABC D A BC D
A BCD
(a) (b)
(b)
figure 2.15 : forme générale d’un diagramme de Karnaugh à 5 variables (a) et à 6 variables (b)
(a) termes adjacents à A B CDE (symbole n) et à ABCD E (symbole o)
(b) termes adjacents à A B CDEF (symbole n) et à A BCDEF (symbole o)
On notera qu’à partir de 5 variables, le repérage des termes adjacents devient beaucoup plus
délicat, et qu’une représentation similaire à celle de la figure 2.14 est irréalisable. La limite de cette
méthode, utilisée « à la main », est donc liée au problème de visualisation des adjacences.
33
Chapitre 2 : Propriétés des variables et fonctions logiques
A B A A
B B
1 1 1 1 1
C C 1 C
F = BC F = AB F= BC
(a) (b) (c)
A A B A
B B
1 1 1 1 1 1 1 1
C 1 1 C C 1 1
F= B F=C F= B
(d) (e) (f)
Dans le cas plus général où plusieurs regroupements sont possibles, il faut remarquer qu’une case
peut être utilisée plusieurs fois, en raison de la propriété d’idempotence de la fonction OU :
A + A + ... = A. Considérons les exemples de la figure 2.17 dans le cas de fonctions de 4 variables :
34
Chapitre 2 : Propriétés des variables et fonctions logiques
B A A A
B B
1 1 1 1 1 1 1
D 1 1 1 1 D 1 1 D 1
1 1 1
C C C
1 1
F = BC + C D F = B + A CD F = BC D + A C D + AB C
(a) (b) (c)
figure 2.17 : exemples de regroupements multiples dans des diagrammes de Karnaugh de 4 variables
• Vérifier que toutes les cases d’un groupe partagent le même nombre d’adjacences avec
leurs congénères du groupe (soit n adjacences pour un groupe de 2n cases).
• Les groupements de 1 doivent être les plus grands possibles (minimisation du nombre de
variables).
35
Chapitre 2 : Propriétés des variables et fonctions logiques
4.3.4.2 Exemples
• Exemple 1 : Simplification de
F1 = A B CD + AB CD + A B CD + A BCD + AB CD + AB CD + A B CD + ABCD + AB CD + A BCD .
A B A
B
1 1 1 1
D 1 1 1 1 D 1 1 1 1
1 1 1 1 1 1
C C
1 1
B A A
B
1 1 1 1
D 1 1 1 1 D 1 1 1 1
1 1 1 1 1 1
C C
1 1
Après regroupement des 1 suivant les règles définies précédemment (figure 2.18), on obtient la
forme simplifiée suivante : F1 = C D + AD + B D + A B C + AB C + A BCD .
36
Chapitre 2 : Propriétés des variables et fonctions logiques
• Exemple 2 : Simplification de
F2 = A B C D + A BC D + A B C D + A BC D + AB C D + A B C D + A B CD + A BCD + ABCD + A B CD .
B A B A A
B
1 1 1 1 1 1 1 1 1
D 1 1 1 D 1 1 1 D 1 1 1
1 1 1 1 1 1 1 1 1
C C C
1 1 1
(a) diagramme de Karnaugh de F2 (b) identification des groupes de (c) identification des groupes de
taille 4 taille 2
Les regroupements ont été effectués de façon à minimiser le nombre de groupes. On obtient alors
F2 = BD + A C D + A B C + A B C .
A+ B+C A+ B +C A + B +C A +B+C
C A+ B+C A+ B +C A + B +C A + B+C
(a)
A B A
B
0 0
C 0 0 0 C 0 0 0
(b) (c)
37
Chapitre 2 : Propriétés des variables et fonctions logiques
Remarque : Le résultat de la simplification peut ne pas être unique. Par exemple, soit
F4 = A B C + A BC + A BC + ABC + A B C + A B C. La figure 2.21 donne deux résultats de
simplification de même complexité.
A B A
B
1 1 1 1 1 1
C 1 1 1 C 1 1 1
(a) F4 = A C + BC + A B (b) F4 = B C + A B + AC
• Utiliser ensuite les cases X ou - pour réunir les groupes préexistants ou augmenter leur
taille,
• Ne jamais utiliser une case X ou - pour créer un nouveau groupe, ceci irait à l’encontre du
principe de minimisation du nombre de termes.
B A A
B
X X
D 1 1 1 D 1 1 1
X X X X X X X X
C C
1 1 X X 1 1 X X
(a) (b)
La présence d’états indifférents permet d’optimiser les regroupements comme indiqué sur la
figure 2.22(b). Ainsi, pour l’écriture de F5 sous forme simplifiée, les états indéterminés insérés dans
38
Chapitre 2 : Propriétés des variables et fonctions logiques
les groupements sont considérés comme des 1 et les autres comme des 0. On obtient alors
F5 = C + A D + B D.
1 1
A B A D 1 1
1 1 1 1 1
C
B 1 C 1 1 1 1
1 1 1 1
D 1 1 1 1
1 1 1 1
C
1 1 1 1
(d) F = A ⊕ B ⊕ C ⊕ D ⊕ E
Pour obtenir les diagrammes de Karnaugh de la fonction ET inclusif, il faut échanger la place des
0 et des 1.
Dans les deux cas, la fonction n’est pas simplifiable sous la forme classique car aucun
regroupement de 1 n’est possible. Il faut donc savoir reconnaître cet opérateur lorsqu’il apparaît dans
un tableau de Karnaugh. Par exemple, la simplification de la fonction donnée par la figure 2.24 donne
F = A ⊕ B ⊕ C ⊕ D + A C + BD .
39
Chapitre 2 : Propriétés des variables et fonctions logiques
B A
1 1 1
D 1 1 1
1 1 1
C
1 1
4.3.4.5 Conclusion
Lorsque le nombre de variables devient important, au-delà de 6, la manipulation des diagrammes
de Karnaugh devient quasi-impossible. Il est alors nécessaire de recourir à des méthodes
algorithmiques et d’utiliser un calculateur. Ce sont de telles méthodes qui sont utilisées dans les outils
de synthèse automatique que l’on trouve actuellement sur le marché. Leur présentation sort du cadre
de ce cours, mais les lecteurs intéressés pourront trouver de plus amples informations dans [Dan96] et
[Sas93].
La minimisation des fonctions logiques permet une réalisation pratique utilisant un nombre
minimal de composants, mais elle n’est pas une fin en soi. Dans les techniques actuelles d’intégration,
la minimisation du nombre de composants n’est pas toujours le principal objectif : certaines
contraintes de vitesse, de fiabilité peuvent même amener à augmenter la complexité d’un circuit. De
plus, le progrès technologique aidant, la densité d’intégration est devenue aujourd’hui telle que le gain
de quelques dizaines d’opérateurs logiques est souvent négligeable devant la complexité des circuits
(plusieurs centaines de milliers d’opérateurs élémentaires par circuit en technologie CMOS).
40
Chapitre 2 : Propriétés des variables et fonctions logiques
5. Bibliographie
[Dan96] J. D. Daniels, Digital design from zero to one, John Wiley & Sons, 1996.
[LV86] J.-C. Lafont et J.-P. Vabre, Cours et problèmes d’électronique numérique, Ellipses,
1986.
[Sas93] T. Sasao, Logic synthesis and optimization, Kluwer Academic Publishers, 1993.
41
Chapitre 2 : Propriétés des variables et fonctions logiques
42
Chapitre 3 : Electronique des circuits logiques. Eléments de circuiterie MOS et CMOS
En 1956, Bardeen, Brattain, et Shockley reçurent le prix Nobel de physique pour l’invention du
transistor. Ce fut le premier prix Nobel décerné pour un dispositif technique.
En septembre 1958 naquit le premier circuit intégré : Kilby réalisa chez Texas Instruments un
oscillateur sur une plaquette de 1,1 cm sur 0,5 cm comportant plusieurs transistors, condensateurs, et
utilisant le procédé mesa sur silicium (cette contribution à l’invention du circuit intégré lui valut, plus
de 40 ans plus tard, le prix Nobel de physique 2000 !). Cette même année vit la mise au point du
procédé planar sur silicium (Hoerni et Noyce, chez Fairchild). Ce procédé reprend le concept de
fabrication globale de plusieurs composants sur une même plaquette, mais les diffusions sont réalisées
dans des zones délimitées par des masques. Le masquage utilise la couche de silice superficielle
obtenue par simple oxydation du silicium et gravée par photogravure. L’oxyde de silicium sert
également à passiver les transistors (c’est-à-dire les rendre étanche aux contaminations chimiques
extérieures) et à isoler les connexions métalliques. Il n’existe pas de procédé planar sur germanium.
Très rapidement (fin 1959), le procédé planar sur silicium s’imposa.
43
Chapitre 3 : Electronique des circuits logiques. Eléments de circuiterie MOS et CMOS
En 1951, Shockley proposa une structure de transistor à effet de champ à jonction JFET. Mais
cette structure fut reléguée temporairement en raison de premiers essais de fabrication infructueux. Le
premier JFET fut fabriqué en France par Tezner en 1958. Mais c’est finalement la mise au point de la
technologie planar qui a permis l’émergence des transistors à effet de champ avec la découverte du
transistor MOS (Métal-Oxyde-Semiconducteur) par Khang et Atalla dans les Bell Labs en 1960. Deux
ans plus tard, Hofstein et Heiman (RCA, USA) déposèrent le premier brevet sur la fabrication intégrée
des transistors MOS.
• 1964 : circuits SSI (Small Scale Integration), moins de 100 transistors par puce,
• 1967 : circuits MSI (Medium Scale Integration), 100 à 3000 transistors par puce,
• 1973 : circuits LSI (Large Scale Integration), 3000 à 100 000 transistors par puce,
• 1982 : circuits VLSI (Very Large Scale Integration), 100 000 à 1 000 000 detransistors par
puce,
• 1989 : circuits ULSI (Ultra Large Scale Integration), plus de 1 000 000 de transistors par
puce.
Les années 60 furent l’ère de la fabrication de fonctions à l’aide de composants SSI et MSI (séries
NS4000 : fonctions combinatoires élémentaires, bascules, petites unités arithmétiques et logiques,
compteurs, ...) assemblés sur des petites cartes.
Les années 70 ont débuté avec l’invention de la mémoire RAM dynamique DRAM et la
fabrication du premier microprocesseur 4 bits (Intel 4004) et se sont terminées avec la réalisation d’un
microprocesseur 32 bits, le Motorola 68000. Les cartes étaient basées sur des circuits réalisant des
fonctions standard complétées par des composants logiques SSI/MSI.
44
Chapitre 3 : Electronique des circuits logiques. Eléments de circuiterie MOS et CMOS
Dans les années 80, l’industrie du circuit intégré a été confrontée à la difficulté croissante de
pouvoir identifier des fonctions standard adaptées à la conception d’une large gamme de systèmes. Est
alors apparu le concept ASIC (Application Specific Integrated Circuit) ou circuit spécifique dont le
principe est d’intégrer toutes les fonctions nécessaires à une application adonnée sur une seule puce.
Par là-même, les circuits de type SSI/MSI ont alors quasiment disparu. Depuis la fin des années 80,
une part de plus en plus importante du marché des ASICs est occupée par les circuits dits
programmables ou FPGA (Field Programmable Gate Array), dont la fonctionnalité peut être
programmée en laboratoire et qui sont utilisés pour les opérations de prototypage ou lorsque le nombre
de puces à fabriquer est limité. Actuellement, des systèmes complets peuvent être embarqués sur une
puce, pouvant comprendre de la mémoire, un ou plusieurs microprocesseurs, des périphériques
d'interface, ou tout autre composant nécessaire à la réalisation de la fonction attendue. On parle alors
de System-on-Chip ou SoC.
En 1965, Gordon Moore (alors directeur de la recherche chez Fairchild, et plus tard co-fondateur
d’Intel) notait dans un article de la revue Electronics que la complexité des composants intégrés de
coût minimal avait doublé chaque année depuis le premier prototype fabriqué en 1959. Cette
croissance exponentielle du nombre de transistors par circuits pour un coût minimal de fabrication a
par la suite donné lieu à plusieurs reformulations et est devenue la « loi de Moore ». Dans les années
80, la loi de Moore prévoyait que le nombre de transistors par circuit serait doublé tous les 18 à 24
mois. Depuis le début des années 90, une interprétation courante est également la multiplication par
deux de la puissance de calcul tous les 18 à 24 mois, pour un coût donné. Les différentes formulations
de cette « pseudo-loi » ont ainsi permis de prévoir l’évolution des différentes familles de circuits
intégrés depuis quarante ans. La figure 3.1 illustre l’évolution de la complexité des microprocesseurs
de la famille Intel depuis près de 40 ans.
figure 3.1 : Illustration de la loi de Moore : évolution de la densité d’intégration des micrprocesseurs
Intel [Intel]
45
Chapitre 3 : Electronique des circuits logiques. Eléments de circuiterie MOS et CMOS
• 1971 : premier microprocesseur 4 bits (Intel 4004) en technologie MOS canal P à grille en
aluminium, premières mémoires dynamiques de 1024 bits (Intel 1103),
• 1974 : apparition de la logique CMOS à faible consommation, qui permet de réaliser des
circuits de forte densité d’intégration,
• 1974 : utilisation des logiques TTL (Transistor-Transistor Logic) et TTL Schottky (TTL
avec diodes Schottky pour augmenter la rapidité) pour des petits montages logiques
rapides,
• 1975 : technologie I2L (Integrated Injection Logic) utilisant des transistors NPN à
multicollecteurs et présentant une plus forte densité d’intégration que le TTL,
• 1979 : technologie ECL (Emitter Coupled Logic), permettant de réaliser des circuits très
rapides.
• la mobilité des porteurs de type N est 6 fois supérieure à celle du silicium, et la vitesse
limite des porteurs est plus élevée que dans le silicium, ce qui permet de réaliser des
composants à faibles temps de propagation,
46
Chapitre 3 : Electronique des circuits logiques. Eléments de circuiterie MOS et CMOS
• le matériau non dopé présente une haute résistivité qui constitue un isolant naturel des
composants intégrés.
Les techniques d’intégration sur GaAs ont commencé à être maîtrisées au milieu des années 80.
Ce type de transistor a paru alors bien adapté à la réalisation de circuits intégrés numériques rapides
(fréquences de fonctionnement au-delà du GHz). L’arséniure de gallium a cependant des points faibles
vis à vis du silicium, essentiellement :
• l’absence d’oxyde stable compliquant les procédés planar (production 10 fois plus
coûteuse que pour les circuits Si),
• la faible mobilité des trous rendant sans intérêt les logiques de type complémentaire
analogues au CMOS.
Les circuits GaAs n’ont finalement pas réellement percé sur le marché des circuits intégrés
numériques.
On observe ensuite, à la fin des années 80, l’apparition d’une technologie mixte, appelée
BiCMOS, combinant des opérateurs CMOS et des transistors bipolaires, permettant ainsi d’atteindre
des performances en termes de vitesse, consommation, et densité d’intégration impossibles à obtenir
avec chacune des technologies prise séparément. La technologie BiCMOS permet de réaliser des
circuits plus rapides que les circuits CMOS, et avec une consommation plus faible que les circuits
bipolaires. Dans les années 90, la technologie BiCMOS a connu une forte croissance, notamment pour
la réalisation de circuits VLSI rapides : en 1997, les circuits BiCMOS occupaient 17 % du marché des
circuits intégrés. Cependant, le coût élevé de production des circuits BiCMOS, lié à la complexité du
process technologique, a fait rapidement régresser cette technologie au profit des circuits CMOS dont
les performances en vitesse ne cessent de croître.
A partir du milieu des années 90, les technologies GaAs et BiCMOS sur silicium ont commencé à
céder la place aux circuits SiGe BiCMOS qui combinent des transistors bipolaires à hétérojonction
Si/SiGe aux opérateursCMOS pour permettre la fabrication de circuits numériques rapides (fmax au
delà de10 GHz) et de faible consommation à plus faible coût.
47
Chapitre 3 : Electronique des circuits logiques. Eléments de circuiterie MOS et CMOS
14%
9% Circuits intégrés
numériques
7% Circuits intégrés
analogiques
Composants discrets
et capteurs
Composants opto-
électroniques
70%
Bipolaire
La figure 3.3 montre que les circuits numériques sont réalisés en quasi-totalité sur la base de
technologies MOS. En pratique, hormis pour certaines mémoires faisant appel à des procédés de
1
Source WSTS (World Semiconductor Trade Statistics) http://www.wsts.org/
48
Chapitre 3 : Electronique des circuits logiques. Eléments de circuiterie MOS et CMOS
fabrication spécifiques (flash, EPROM, EEPROM, cf. section 7 du chapitre 5, polycopié 2), ces
circuits sont réalisés en technologie MOS complémentaire ou CMOS.
Le tableau 3.1 présente l’état actuel de la technologie de fabrication des circuits intégrés CMOS
ainsi qu’un aperçu de son évolution dans les années à venir.
tableau 3.1: prévision de l’évolution de la technologie de réalisation des circuits intégrés jusqu’en
2020 [ITRS07]
49
Chapitre 3 : Electronique des circuits logiques. Eléments de circuiterie MOS et CMOS
grille
Lj Lj
W -,
é P
source dop
-->
S -)
N MOpé N
t ( o
b stra --> d
L su OS
PM polysilicium cristallin
oxyde de silicium (SiO2)
+ drain
NMOS : diffusion N
+
PMOS : diffusion P
La figure 3.4 présente la structure simplifiée d’un transistor MOS. On appelle surface active du
transistor la surface délimitée par le canal de conduction et qui correspond approximativement à la
surface délimitée par l’oxyde de grille du transistor. Les quatre électrodes d’un transistor MOS, grille,
source, drain, et substrat, sont dans la suite désignées par les lettres G (Gate), S (Source), D (Drain), et
B (Bulk).
La figure 3.5 donne les symboles usuellement utilisés dans les schémas électriques pour
représenter les transistors MOS canal N et canal P.
50
Chapitre 3 : Electronique des circuits logiques. Eléments de circuiterie MOS et CMOS
D D
IDS IDS
G B VDS G B VDS
VGS VGS
S S
(a) (b)
figure 3.5 : symboles électriques des transistors MOS canal N (a) et canal P (b)
La conduction d’un transistor MOS est conditionnée par sa tension de seuil VT (Threshold
Voltage). Dans le cas d’un transistor NMOS :
• Régime ohmique (ou linéaire, ou quadratique) : VDS < VDSsat , où VDSsat = VGS − VT .
⎡ V ⎤
I DS = β ⎢(VGS − VT ) − DS ⎥VDS
⎣ 2 ⎦
W
avec β = μ s Cox , où
L
V − VDSsat
I DS = I DSsat (1 + DS )
Ve
51
Chapitre 3 : Electronique des circuits logiques. Eléments de circuiterie MOS et CMOS
β
où I DSsat = (VGS − VT )2 et Ve est la tension d'Early (Ve > 0).
2
Pour un transistor NMOS passant, on définit la résistance équivalente à l'origine RDS 0 (VGS ) par
1 1
RDS 0 (VGS ) = =
⎛ ∂I DS ⎞ β (VGS − VT )
⎜ ⎟
⎝ ∂VDS ⎠ V = 0
DS
RDS 0 (VGS ) est la résistance drain/source équivalente d'un transistor MOS en régime ohmique parfait.
Pour un transistor NMOS utilisé en commutation (VGS = VSS ou VDD ), on désigne par RDS 0 la
résistance équivalente à l’origine pour VGS = VDD :
1
RDS 0 =
β (VDD − VT )
I DS
I DSsat = f (VDSsat )
régime
ohmique VGS = 5V
régime
saturé
pente VGS = 4V
1 / RDS 0
VGS = 3V
VGS = 2V
VDS
VGS < VT
Dans le cas du transistor canal P, VT < 0 pour un transistor à enrichissement et VT > 0 pour un
transistor à déplétion.
52
Chapitre 3 : Electronique des circuits logiques. Eléments de circuiterie MOS et CMOS
⎡ V ⎤
I DS = − β ⎢(VGS − VT ) − DS ⎥VDS
⎣ 2 ⎦
V − VDSsat
I DS = I DSsat (1 − DS )
Ve
β
où I DSsat = − (VGS − VT )2 et Ve > 0.
2
Dans la plupart des cas, on pourra également faire l’approximation I DS ≈ I DSsat en régime saturé.
VGS = −3V
pente
1 / RDS 0
VGS = −4V
régime
saturé
VGS = −5V régime
ohmique
I DSsat = f (VDSsat )
figure 3.7 : caractéristique courant/tension d'un transistor MOS canal P
53
Chapitre 3 : Electronique des circuits logiques. Eléments de circuiterie MOS et CMOS
Cette capacité est due aux charges réparties le long du canal lorsque le transistor est passant. On a
l'habitude de la représenter sous la forme de la somme de deux capacités : capacités grille/source CGS
et grille/drain CGD .
En régime ohmique, la capacité totale grille/canal vaut WLCox . On considère alors, pour
simplifier, que les charges présentes dans le canal proviennent pour moitié de la source et pour moitié
du drain, soit :
1
CGD ≈ WLCox ≈ CGS (régime ohmique)
2
2
En régime saturé, on peut montrer que la capacité totale grille/canal vaut WLCox . Le canal étant
3
pincé du côté du drain, on considère alors que la capacité est entièrement due à la source :
CGD = 0
2 (régime saturé)
CGS ≈ WLCox
3
Grille Grille
Source Drain Source Drain
CGS CGD CGS
Canal Canal
Substrat Substrat
(a) (b)
N. B. Les capacités de recouvrement de l’oxyde de grille sur le drain et la source sont négligées.
54
Chapitre 3 : Electronique des circuits logiques. Eléments de circuiterie MOS et CMOS
• Capacité grille/substrat
Cette capacité n’intervient que lorsque le transistor est bloqué. En effet, dans le cas contraire, le
canal conducteur se comporte comme un écran électrique. Elle vaut
CGB ≈ WLCox
Grille
Source Drain
CGB
Substrat
La capacité totale de grille est donc de l’ordre de grandeur de WLCox , quel que soit le régime de
fonctionnement du transistor.
CG ≈ WLCox
CSB = CDB = WL j C j
Grille
Source Drain
CSB CDB
Substrat
N. B.
55
Chapitre 3 : Electronique des circuits logiques. Eléments de circuiterie MOS et CMOS
Avec la mise au point récente des technologies « silicium sur isolant » SOI (Silicon-On-Insulator),
les drains et sources des transistors sont diffusés dans une fine couche de silicium reposant sur un
isolant (oxyde de silicium). Les jonctions PN drain/substrat et source/substrat, ainsi que les
capacités parasites correspondantes, sont alors éliminées. Les premiers circuits CMOS sur substrat
SOI ont été mis sur le marché en 1999.
Grille
Source Drain
Si
SiO2
Si
C ox ≈ 7,7 × 10 −3 pF / μm 2
C j ≈ 7,3 × 10 −4 pF / μm 2
L ≈ 0 ,18 μ m
W ≈ 0 , 33 μ m
L j ≈ 0 , 33 μ m
⎧ 4 , 6 × 10 − 4 pF en ré gime ohmique
⎪
G GD + C GS ≈ ⎨ 3 , 0 × 10 − 4 pF en ré gime saturé
⎪
⎩ 0 en ré gime bloqué
⎧⎪ 4 , 6 × 10 − 4 pF en ré gime bloqué
C GB ≈ ⎨
⎪⎩ 0 en ré gime ohmique ou saturé
C SB ≈ 8 × 10 − 5 pF
56
Chapitre 3 : Electronique des circuits logiques. Eléments de circuiterie MOS et CMOS
Dans la suite de ce chapitre, on désigne par porte ou opérateur logique un circuit logique
réalisant une fontion logique élémentaire (NON, NAND, NOR, …).
Le premier circuit étudié est la porte logique d’inversion. C’est le circuit logique le plus simple.
Son étude détaillée va permettre de définir un certain nombre de caractéristiques générales des portes
logiques, représentatives de leurs performances.
R
S
I DS
E NMOS
57
Chapitre 3 : Electronique des circuits logiques. Eléments de circuiterie MOS et CMOS
• lorsque E = VSS < VT , le transistor est bloqué ( I DS = 0 ), il joue le rôle d'un interrupteur
ouvert,
• lorsque E = VDD > VT , le transistor est passant ( I DS ≠ 0 ), il joue le rôle d'un interrupteur
fermé.
D VDD D
G <=> 0 G <=> 1
VSS VSS
S S
VSS
N.B. Rappel : Le substrat du transistor est relié à VSS afin que les jonctions PN entre substrat et
diffusions soient polarisées en inverse.
• Lorsque le transistor est bloqué, il n’y a pas de courant dans la résistance R et S = VDD .
Le modèle de l’interrupteur idéal est suffisant pour déterminer la fonction logique d’un opérateur
logique. Il n’est cependant pas assez précis pour estimer ses performances. Dans ce cas, l’utilisation du
modèle fourni en section 2.2 est nécessaire. Le fonctionnement de l’inverseur est par la suite détaillé
lorsqu’il est au repos (caractéristiques statiques), puis lors des commutations de l’entrée et de la
sortie (caractéristiques dynamiques).
58
Chapitre 3 : Electronique des circuits logiques. Eléments de circuiterie MOS et CMOS
I DS
VGS = E = VDD
VDD
R
VGS = E = VSS
VDS = S
V0 V1 = VDD
figure 3.14 : détermination des niveaux de sortie de l'inverseur
Lorsque E = VGS = VDD , on suppose que le transistor est en régime ohmique parfait (le niveau en
sortie doit être proche de 0V pour être interprété comme un 0 logique), et une valeur approchée de
S = V0 est obtenue par résolution de :
⎧ I DS ≈ β (VDD − VT )V0
⎨
⎩V0 = VDD − RI DS
soit
VDD VDD
V0 ≈ ≈
1 + Rβ (VDD − VT ) 1+
R
RDS 0
R
V0 ≈ DS 0 VDD
R
car R >> RDS 0 (ordre de grandeur : R ≈ qqs 10 kΩ, RDS 0 ≈ qqs 100 Ω ).
Contrainte sur V0 : il faut que le niveau bas de sortie soit inférieur à la tension de seuil VT afin que
l’opérateur attaqué par l'inverseur puisse fonctionner correctement.
VDD = 5 V, VSS = 0 V
μ sCox = 100 μA / V2 , W / L = 3
VT = 0,75 V, R = 10 kΩ
59
Chapitre 3 : Electronique des circuits logiques. Eléments de circuiterie MOS et CMOS
S (V)
V1 = VDD
M
inverseur idéal
V0 N
0V E (V)
0 VDD / 2 V1 = VDD
Sur cette figure apparaît également, en pointillés larges, la caractéristique de transfert de l’inverseur
idéal.
• Points de fonctionnement
Les points J et K de la figure 3.16 sont les points de la caractéristique de transfert vérifiant
dS
= −1 (points de gain unitaire). La zone J K de la caractéristique est appelée région de transition.
dE
dS dS
Dans la région de transition, > 1, et en dehors < 1. Ainsi, si un signal dynamique parasite
dE dE
(bruit) vient perturber l’entrée de l’inverseur :
60
Chapitre 3 : Electronique des circuits logiques. Eléments de circuiterie MOS et CMOS
dS
S (V) = −1
dE
M J
5
S = E − VT
hm ré
e o sa t u
ue
4
iq
gim e
ré gim
or r ré
ns sisto
3
n
t ra
région de transition
ist dS
tr a
2 = −1
dE
K
1
N
0 E (V)
V0 VT EJ EK V1 = VDD
NM0 NM1
On appelle marges de bruit les plages de tension dans lesquelles E peut varier sans entraîner
d'erreur sur l'interprétation du 0 ou du 1 logique en sortie de l’opérateur. On parle de marge de bruit
haute, NM1 (NM : Noise Margin) pour le niveau logique 1 et de marge de bruit basse NM0 pour le
niveau logique 0. Elles sont définies par :
NM1 = V1 − E K
NM0 = E J − V0
L’immunité au bruit d’un opérateur est d’autant meilleure que ses marges de bruit sont grandes.
La détermination des marges de bruit de l’inverseur NMOS à charge résistive passe par le calcul
dS
des tensions E J et E K . Elles sont obtenues par la résolution de l'équation = −1, en régime saturé
dE
pour E J , et en régime ohmique pour E K , soit :
61
Chapitre 3 : Electronique des circuits logiques. Eléments de circuiterie MOS et CMOS
1
EJ = + VT
βR
1 ⎡VDD ⎤ S 2VDD
EK = ⎢ − 1⎥ + VT + K où SK =
βR ⎣ S K ⎦ 2 3βR
VDD = 5 V VSS = 0 V
μ sCox = 100 μA / V2 , W / L = 3
VT = 0,75 V, R = 10 kΩ
donne E J ≈ 11
, V, E K ≈ 2,5 V, d' où NM0 ≈ 0,7 V et NM1 ≈ 2,5 V . Le niveau logique 1 présente une
meilleure immunité au bruit que le niveau 0.
1
Pstat = ( P0 + P1)
2
où P0 est la puissance moyenne consommée lorsque la sortie de l’opérateur est à l'état bas et P1 la
puissance moyenne consommée à l'état haut. Cette définition suppose que la sortie de l’opérateur
considéré est en moyenne aussi longtemps à l'état bas qu'à l'état haut.
Dans le cas de l'inverseur NMOS à charge résistive, P1 = 0 car le transistor est bloqué lorsque
V − V0 VDD2
E = 0, et P0 = VDD DD ≈ , d'où
R R
2
1 VDD
Pstat ≈
2 R
62
Chapitre 3 : Electronique des circuits logiques. Eléments de circuiterie MOS et CMOS
• la capacité d'entrée pour les opérateurs en charge (capacité de grille, cf. 2.3.1),
• et une capacité due aux interconnexions entre l'opérateur et les opérateurs en charge
(proportionnelle à la longueur des interconnexions).
Lorsque la sortie de l'opérateur considéré commute de l'état bas à l'état haut, ou vice versa, elle
passe par un régime transitoire dont la durée depend de la valeur de la charge (figure 3.17).
V DD
R
S
CL
E
On définit le temps de montée tr (respectivement temps de descente t f ) d'un signal comme étant
le temps que met ce signal pour passer de 10% à 90% (respectivement de 90% à 10%) de la valeur de
son amplitude totale (figure 3.18).
On appelle temps de propagation le retard de l'évolution d’une sortie par rapport à l’évolution
d'une entrée de commande, les deux signaux étant considérés à la moitié de leur amplitude maximale
(figure 3.18). On distingue le temps de propagation t pHL correspondant au passage du signal de sortie
63
Chapitre 3 : Electronique des circuits logiques. Eléments de circuiterie MOS et CMOS
du niveau haut au niveau bas, et le temps de propagation t pLH correspondant au passage du signal de
sortie du niveau bas au niveau haut. Le temps de propagation moyen est alors défini par :
t pHL + t pLH
t pmoy =
2
E 50%
t pHL
t pLH
90%
t f : t fall
S 50%
tr : trise
10%
t pHL : t propagation High→ Low
t pLH : t propagation Low→ High
tf tr
3.1.3.2 Calcul des temps de montée et de descente pour l'inverseur NMOS à charge
résistive. Résistance équivalente d'un transistor NMOS
• Temps de montée
On suppose qu’au départ l’inverseur est au repos, E est à l'état logique 1, la capacité CL est
déchargée, la sortie S est à l’état logique 0 ( S = V0 ). Lorsque E passe à la valeur logique 0, le
transistor se bloque instantanément, et la capacité CL se charge à travers la résistance R jusqu’à ce que
S = V1 = VDD .
R
IR
CL
VDD VDS
figure 3.19 : schéma équivalent de l’inverseur NMOS pour le calcul du temps de montée
64
Chapitre 3 : Electronique des circuits logiques. Eléments de circuiterie MOS et CMOS
On a
V − VDS dV
I R = DD = CL DS
R dt
d'où
dVDS
dt = RCL
VDD − VDS
dV DS
[ ]
0,9VDD 0,9VDD
t r = RC L ( ∫0,1V
DD V DD − V DS
) = − RC L ln(V DD − V DS )
0,1VDD
t r = ln 9 RC L ≈ 2,2 RC L .
• Temps de descente
On suppose qu’au départ l’inverseur est au repos, E est à l'état logique 0, la capacité CL est
chargée, la sortie S est à l’état logique 1. Dans ces conditions, le transistor est bloqué et aucun courant
ne circule dans le montage, la capacité est isolée. Lorsque E passe de 0 à 1, le transistor devient
passant, un courant I DS circule entre le drain et la source, qui provoque la décharge progressive de la
capacité jusqu'à ce que S = V0 .
On suppose que les constantes de temps considérées dans cette transition sont très inférieures à
RCL . Le temps de descente de l'inverseur NMOS se calcule alors comme le temps de décharge de la
capacité CL à travers le transistor (figure 3.20), selon le même principe que précédemment, mais la
relation I = f (VDS ) est plus complexe que dans le cas du réseau RC.
D I DS
G CL
VDS
VDD S
Au début de la décharge, le transistor est en régime saturé, puis il passe ensuite en régime
ohmique. Il faut donc tenir compte des deux régimes pour le calcul de t f . On utilisera les équations de
65
Chapitre 3 : Electronique des circuits logiques. Eléments de circuiterie MOS et CMOS
conduction simplifiées, c'est-à-dire que l'on suppose Ve >> VDS − VDSsat . On considérera également
que V0 << V1 = VDD pour simplifier les calculs.
β 1
I DS = (VDD − VT )2 = (VDD − VT )
2 2 RDS 0
dVDS
or I DS = − CL ,
dt
dVDS
d'où dt = −2 RDS 0CL .
VDD − VT
⎡ V ⎤ 1 ⎛ VDS ⎞
I DS = β ⎢(VDD − VT ) − DS ⎥VDS = ⎜1 − ⎟VDS
⎣ 2 ⎦ RDS 0 ⎝ 2(VDD − VT ) ⎠
dVDS
or I DS = − CL ,
dt
dVDS
d'où dt = − RDS 0CL 2
.
VDS
VDS −
2(VDD − VT )
On en déduit
tf = t fs + t fo
{ {
régime saturé régime ohmique
et
Calcul de t fs :
2 RDS 0CL VT − 0,1VDD
t fs =
VDD − VT
[VDS ]V0,DD
9VDD
−VT
= 2 RDS 0CL
VDD − VT
Calcul de t fo :
⎛ 1 ⎞
⎜ ⎟
VDD −VT
⎜ 1 2(VDD − VT ) ⎟
t fo = RDS 0CL ∫
0,1VDD ⎜ VDS
+
VDS
dV
⎟ DS
⎜ 1− ⎟
⎝ 2(VDD − VT ) ⎠
66
Chapitre 3 : Electronique des circuits logiques. Eléments de circuiterie MOS et CMOS
VDD −VT ⎛ 1 1 ⎞
t fo = RDS 0CL ∫ ⎜ − ⎟ dVDS
0,1VDD ⎝ VDS VDS − 2(VDD − VT ) ⎠
[
t fo = RDS 0CL lnVDS − lnVDS − 2(VDD − VT ) DD T]V
0,1VDD
−V
V −V
⎡ VDS ⎤ DD T
t fo = RDS 0CL ⎢ln ⎥
⎣ 2(VDD − VT ) − VDS ⎦0,1VDD
19VDD − 20VT
t fo = RDS 0CL ln
VDD
d’où
⎡ V − 0,1V DD 19V DD − 20VT ⎤
t f = R DS 0 C L ⎢2 T + ln ⎥
⎣ V DD − VT V DD ⎦
t f ≈ 3RDS 0CL
Si l'on fait correspondre cette expression avec l'expression du temps de descente d'un réseau RC,
RC ln 9 , on peut calculer la résistance équivalente du transistor NMOS passant :
t f = ln 9 R N C L
pour
R N ≈ 1,3R DS 0
RN est donc la valeur de la résistance qui présenterait exactement le même temps de descente que
le transistor.
N. B. RN et RDS0 étant du même ordre de grandeur, il est fréquent d'utiliser RDS0 à la place de RN .
1
RDS 0 = ≈ 780 Ω
β (VDD − VT 0 )
RN ≈ 1 kΩ
t f ≈ 0,11 ns
67
Chapitre 3 : Electronique des circuits logiques. Eléments de circuiterie MOS et CMOS
• Temps de propagation
On peut calculer les temps de propagation t pLH et t pHL de manière similaire aux calculs
précédents en intégrant entre 0 et 0, 5VDD pour t pLH et entre VDD et 0, 5VDD pour t pHL .
On obtient alors
et
⎡ 2VT 3V − 4VT ⎤
t pHL = RDS 0CL ⎢ + ln DD ⎥
⎣VDD − VT VDD ⎦
t pLH ≈ 0,35 ns
t pmoy ≈ 0,2 ns
1 2
• CLVDD est dissipée par effet Joule dans R,
2
1 2
• CLVDD est emmagasinée sous forme d’énergie potentielle par CL .
2
Lors de la transition HL, l’énergie emmagasinée par CL est dissipée dans le transistor.
68
Chapitre 3 : Electronique des circuits logiques. Eléments de circuiterie MOS et CMOS
VDD
R LH
1 2
CLVDD
2 S
1 2
HL CLVDD
E 2
CL
1 2
CLVDD
2
2
Pdyn = fVDD CL
On définit la puissance totale comme étant la somme des puissances statique et dynamique :
N. B. Le calcul précédent ne prend pas en compte le courant qui s’établit entre l’alimentation et la
masse lors de la transition HL (lorsque S < VDD , I R ≠ 0 ). La puissance ainsi dissipée est également
négligeable devant Pstat .
69
Chapitre 3 : Electronique des circuits logiques. Eléments de circuiterie MOS et CMOS
E PMOS
Le transistor utilisé est un transistor à enrichissement ( VT < 0). D’un point de vue purement logique,
son comportement est celui d’un interrupteur (figure 3. 23).
• Lorsque E = VDD , VGS > VT , le transistor est bloqué, il joue le rôle d’un interrupteur
ouvert,
• Lorsque E = VSS , VGS < VT , le transistor est passant, il joue le rôle d'un interrupteur
fermé.
VDD S S
G <=> 1 G <=> 0
VDD VDD
VSS
D D
N. B. Rappel : Le substrat du transistor est relié à V DD afin que les jonctions PN diffusions/substrat
soient polarisées en inverse.
70
Chapitre 3 : Electronique des circuits logiques. Eléments de circuiterie MOS et CMOS
L’étude des caractéristiques statiques et dynamiques de l’inverseur PMOS est similaire à celle
menée pour l’inverseur NMOS. Pour résumer,
• Points de fonctionnement
V0 = VSS
R
V1 ≈ VDD
R + RDS 0
• Marges de bruit
On observe que contrairement au cas de l’inverseur NMOS, la marge de bruit basse est plus
grande que la marge de bruit haute. Le niveau logique 0 présente une meilleure immunité au bruit que
le niveau logique 1.
• Consommation
Globalement la consommation statique est la même que pour l’inverseur NMOS, mais elle a lieu
lorsque la sortie de l’inverseur est à l’état haut.
V V2
P0 = 0 , P1 = VDD 1 ≈ DD ,
R R
2
1 VDD
Pstat ≈
2 R
2
Pdyn ≈ fVDD CL
• Temps de commutation
En comparaison avec l’inverseur NMOS, l’inverseur PMOS présente des caractéristiques statiques
et dynamiques qui sont duales de celles de l’inverseur NMOS.
Cependant, en pratique, les transistors PMOS ne sont pas utilisés seuls pour la réalisation de portes
logiques. En effet, pour des transistors canal N et canal P issus du même processus de fabrication :
71
Chapitre 3 : Electronique des circuits logiques. Eléments de circuiterie MOS et CMOS
VTP ≈ −VTN
μ sN ≈ 3μ sP
soit, pour des transistors de mêmes dimensions, RDS 0 P ≈ 3RDS 0 N . Dans ces conditions, on observe un
rapport 3 entre t rP et t fN , autrement dit, l’inverseur NMOS est 3 fois plus rapide que l’inverseur
PMOS.
A titre d’exemple, en technologie NMOS, une solution consiste à remplacer la résistance par un
transistor NMOS à appauvrissement ou déplétion ( VT < 0 ), dont on relie la grille et la source
(figure 3.24). Le transistor de charge est alors toujours passant. La figure 3.25 permet de comparer les
caractéristiques de charge de l'inverseur à charge résistive et à charge déplétée dans des conditions de
consommation statique identiques (même courant I 0 ). Les points de fonctionnement de l’inverseur à
charge déplétée sont les mêmes que ceux de l’inverseur à charge résistive et ses caractéristiques
dynamiques sont meilleures. En effet, le courant moyen parcourant la charge pendant les
commutations est supérieur à celui parcourant la résistance (la courbe de charge est au dessus de la
droite de charge de la résistance sur la figure 3.25). En conséquence, les charges et décharges de la
capacité de sortie et donc les commutations sont plus rapides.
VDD
72
Chapitre 3 : Electronique des circuits logiques. Eléments de circuiterie MOS et CMOS
E = V DD
charge déplétée
I0
résistance
S
S0 S1 = VDD
En pratique, on ne fabrique presque plus de portes logiques NMOS (les circuits NMOS
représentent en 2000 moins de 1% de l’ensemble des circuits MOS fabriqués). La solution la plus
utilisée consiste à associer les deux types de transistors, à canal N et à canal P, afin d’éliminer leurs
inconvénients et d’associer leurs avantages respectifs. Il s’agit de la logique MOS complémentaire
ou CMOS. La structure de l’inverseur CMOS est obtenue par la mise en parallèle d’un inverseur
NMOS et d’un inverseur PMOS dont on supprime les résistances de charge (figure 3.26).
VDD
VDD VDD
R E PMOS
S
E S
S
E NMOS
R
73
Chapitre 3 : Electronique des circuits logiques. Eléments de circuiterie MOS et CMOS
• Lorsqu’un 1 logique est appliqué sur l’entrée de l’inverseur, le transistor canal P est
bloqué, et le transistor canal N est passant, la sortie est reliée à VSS (figure 3.27 (a)),
• Lorsqu’un 0 logique est appliqué sur l’entrée de l’inverseur, le transistor canal P est
passant, et le transistor canal N est bloqué, la sortie est reliée à VDD (figure 3.27 (b)).
VDD VDD
PMOS
PMOS
0 1
1 0
NMOS NMOS
(a) (b)
74
Chapitre 3 : Electronique des circuits logiques. Eléments de circuiterie MOS et CMOS
VDD
S
G TP (VTP < 0, β P )
E S
D
G
TN (VTN > 0, β N )
La figure 3.29 résume les différents régimes de fonctionnement des deux transistors en fonction de
E et S. Ce diagramme a été tracé dans le cas particulier d’un inverseur électriquement symétrique, à
savoir :
VTN = −VTP = VT
βN = βP = β
Cette seconde relation suppose que, si les transistors sont issus du même processus de fabrication
W W W W
(même Cox ), μ N N = μ P P , soit P ≈ 3 N .
LN LP LP LN
75
Chapitre 3 : Electronique des circuits logiques. Eléments de circuiterie MOS et CMOS
VDD
VSS = 0 V
TP bloqué ⎫
TN ohmique ⎬
o
⎭
r
⎫ VDD − VT
⎬
TP saturé
TN ohmique S = E − VT
⎭
TN et TP saturés } VDD / 2 p
TP ohmique ⎫ S = E + VT
TN saturé ⎬
⎭ VT q
TP ohmique ⎫
TN bloqué ⎬ n
⎭ VDD
VSS = 0 V
• zone n : E < VT , TN est bloqué. Il ne passe pas de courant dans TN, donc le courant dans
TP est également nul, bien que TP soit passant. Donc S = VDD .
• zone o : E > V DD − VT , TP est bloqué. Il ne passe pas de courant dans TP, donc le courant
dans TN est également nul, bien que TN soit passant. Donc S = VSS = 0 V .
• zone p : Dans cette zone, les 2 transistors sont en régime saturé. On a I DST = − I DST ,
N P
soit
β β
( E − VT )2 = ( E − VDD + VT )2
2 2
d’où
E − VT = ±( E − VDD + VT ) .
76
Chapitre 3 : Electronique des circuits logiques. Eléments de circuiterie MOS et CMOS
• zone q TN est en régime saturé et TP en régime ohmique. L’égalité des courants dans les
deux transistors s’écrit alors sous la forme :
β ⎡ 1 ⎤
I DST = ( E − VT )2 = − I DST = β ⎢( E − VDD + VT ) − ( S − VDD )⎥( S − VDD )
N 2 P ⎣ 2 ⎦
• zone r TP est en régime saturé et TN en régime ohmique. L’égalité des courants dans les
deux transistors s’écrit alors sous la forme :
⎡ S⎤ β
I DST = β ⎢( E − VT ) − ⎥ S = − I DST = ( E − VDD + VT )2
N ⎣ 2⎦ P 2
A partir de cette étude, le tracé de la caractéristique de transfert de l’inverseur CMOS est immédiat
(figure 3.30).
VDD
n inverseur idéal
M J
NM0 q S = E + VT
p
seuil S = E − VT
r NM1
K
o N E
VT VDD VDD − VT VDD
2
77
Chapitre 3 : Electronique des circuits logiques. Eléments de circuiterie MOS et CMOS
• Points de fonctionnement
Les points de fonctionnement M et N ont pour coordonnées (VSS ,VDD ) et (VDD ,VSS ) , donc
V0 = VSS et V1 = VDD . Les niveaux haut et bas sont indépendants du RDS 0 , donc du β des transistors.
Cette propriété est vraie que l’inverseur soit électriquement symétrique ou non.
• Marges de bruit
NM0 = E J − VSS = E J
NM1 = VDD − E K
dS
où J et K sont les points de gain unitaire ( = −1 ), et E J et E K leur abscisse sur la caractéristique de
dE
transfert.
Le point J appartient à la zone q et le point K à la zone r. On dispose dans les 2 cas de la relation
S = f (E). Il suffit donc de la dériver. On obtient :
3VDD + 2VT
EJ =
8
5VDD − 2VT
EK =
8
d’où
3VDD + 2VT
NM0 = NM1 =
8
78
Chapitre 3 : Electronique des circuits logiques. Eléments de circuiterie MOS et CMOS
Pstat = 0
L’inverseur CMOS ne consomme pas en statique ! C’est une des propriétés majeures des circuits
CMOS.
1 2
• CLVDD est dissipée dans le transistor PMOS,
2
1 2
• CLVDD est emmagasinée par la capacité CL .
2
Lors de la transition HL, l’énergie emmagasinée par CL est dissipée dans le transistor NMOS.
La puissance totale consommée par un inverseur CMOS commutant à la fréquence f est donc égale à :
2
Ptot = Pdyn = fVDD CL
79
Chapitre 3 : Electronique des circuits logiques. Eléments de circuiterie MOS et CMOS
⎡ 2VTP 3V + 4VTP ⎤
t pLH = RDS 0 PCL ⎢− + ln DD ⎥
⎣ VDD + VTP VDD ⎦
où
1 LP
R DS 0 P = =
β P (V DD + VTP ) μ Ps Cox WP (V DD + VTP )
VDD
I
TP
CL
t r ≈ 3R DS 0 P C L
t
t pLH ≈ 1,5R DS 0 P C L ≈ r
2
⎡ 2VTN 3V − 4VTN ⎤
t pHL = RDS 0 N CL ⎢ + ln DD ⎥
⎣VDD − VTN VDD ⎦
80
Chapitre 3 : Electronique des circuits logiques. Eléments de circuiterie MOS et CMOS
où
1 LN
R DS 0 N = =
β N (V DD − VTN ) μ Ns Cox WN (V DD − VTN )
VDD
I
TN
CL
t f ≈ 3R DS 0 N C L
tf
t pHL ≈ 1,5R DS 0 N C L ≈
2
N. B. Dans un circuit intégré numérique CMOS, la longueur de canal est la même pour tous les
transistors, NMOS ou PMOS. D’autre part, VTP ≈ −VTN , d’où :
tr μ W W
= Ns N ≈ 3 N
tf μ Ps WP WP
Dans ces conditions, l’inverseur est électriquement symétrique si WP = 3WN . Les temps de
commutation en montée et en descente sont alors égaux : t f = tr et t pHL = t pLH .
En logique CMOS, les temps de commutation en montée et en descente sont du même ordre de
grandeur (voire égaux si l’opérateur est électriquement symétrique), ce qui n’est pas le cas pour les
logiques NMOS ou PMOS à charge résistive. Le temps de montée est bien inférieur au temps de
montée de l’inverseur NMOS, et le temps de descente est bien inférieur au temps de descente de
l’inverseur PMOS. L’association des 2 transistors complémentaires permet de construire une porte
logique plus rapide.
81
Chapitre 3 : Electronique des circuits logiques. Eléments de circuiterie MOS et CMOS
3.5.1 Notation
Pour construire les opérateurs CMOS, on associe toujours le même nombre de transistors NMOS
et PMOS. Pour distinguer aisément les deux types de transistors, on adopte en général le symbolisme
simplifié de la figure 3.33.
NMOS
PMOS
• Lorsque le réseau N est passant, le réseau P doit être bloqué afin qu’aucun courant ne
circule dans le circuit et que S = VSS = 0 V ,
• Lorsque le réseau P est passant, le réseau N doit être bloqué afin qu’aucun courant ne
circule dans le circuit et que S = VDD .
Pour ce faire, chaque entrée de la porte logique est reliée à la grille de 2 transistors de type opposé,
et les deux réseaux N et P ont des structures duales.
Un transistor NMOS « transmet » un 0 logique vers la sortie d’une porte logique lorsqu’un 1
logique est appliqué sur sa grille et un transistor PMOS « transmet » un 1 logique vers la sortie
lorsqu’un 0 logique est appliqué sur sa grille. En conséquence, un circuit MOS réalise toujours une
fonction logique complémentée.
82
Chapitre 3 : Electronique des circuits logiques. Eléments de circuiterie MOS et CMOS
VDD
réseau de
PMOS
Ei S
réseau de
NMOS
• Lorsque les entrées A et B sont au niveau logique 1, les 2 transistors N sont passants, les 2
transistors P sont bloqués, S = VSS (niveau logique 0),
• Lorsque A vaut 0 ou B vaut 0, l’un au moins des transistors P est passant et l’un au moins
des transistors N est bloqué, le réseau P est donc globalement passant et le réseau N
globalement bloqué, S = VDD (niveau logique 1).
De manière similaire, une porte NAND à 3 entrées est constituée de 3 transistors N placés en série
et de 3 transistors P placés en parallèle.
Pour réaliser la fonction ET, il faut associer une porte NAND et un inverseur. Deux couches
logiques sont donc nécessaires pour construire une porte ET.
83
Chapitre 3 : Electronique des circuits logiques. Eléments de circuiterie MOS et CMOS
VDD
• Lorsque les entrées A et B sont au niveau logique 0, les 2 transistors P sont passants, les 2
transistors N sont bloqués, S = VDD (niveau logique 1),
• Lorsque A vaut 1 ou B vaut 1, l’un au moins des transistors N est passant et l’un au moins
des transistors P est bloqué, le réseau N est donc globalement passant et le réseau P
globalement bloqué, S = VSS (niveau logique 0).
On en déduit S = A. B = A + B .
De manière similaire, une porte NOR à 3 entrées est constituée de 3 transistors N placés en
parallèle et de 3 transistors P placés en série.
84
Chapitre 3 : Electronique des circuits logiques. Eléments de circuiterie MOS et CMOS
VDD
La construction directe des fonctions combinatoires permet de réaliser des blocs logiques moins
encombrants et plus rapides, car nécessitant moins de couches logiques, que par assemblage de portes
élémentaires. En revanche, la seconde approche ne requiert pas une connaissance approfondie de la
réalisation des portes à partir des transistors.
• Si la fonction f peut s’écrire sous la forme d’un complément, la synthèse de f est directe,
sinon synthétiser f et faire suivre d’un inverseur.
85
Chapitre 3 : Electronique des circuits logiques. Eléments de circuiterie MOS et CMOS
• Exemple 1 : synthèse de S = AB + C
S ne s’écrit pas sous la forme d’un complément, on synthétise donc S et on inverse. La réalisation de
S requiert donc 2 couches logiques.
VDD
VDD
A B
S
S
C
B
• Exemple 2 : synthèse de S = A B + C D
S peut s’écrire sous la forme d’un complément : S = ( A + B)(C + D) , la synthèse est donc directe (une
seule couche logique).
86
Chapitre 3 : Electronique des circuits logiques. Eléments de circuiterie MOS et CMOS
VDD
A C
B D
A B
C D
D’un point de vue logique la porte de transfert présente deux modes de fonctionnement normal :
87
Chapitre 3 : Electronique des circuits logiques. Eléments de circuiterie MOS et CMOS
Dans le cas où CB ≠ C , l’un des transistors est passant et l’autre bloqué, la porte de transfert est
globalement passante, mais son fonctionnement est dégradé d’un point de vue électrique :
• Lorsque C = CB = 0 (tension VSS ), seul le transistor PMOS peut être passant. Il est en
régime ohmique lorsqu’un 1 logique (tension V DD ) est appliqué en entrée de
l’interrupteur, mais bloqué si on applique VSS en entrée. Il faut appliquer une tension au
moins égale à −VTP pour que l’interrupteur devienne passant et que S = E.
L’association des deux types de transistors, avec des commandes complémentaires, permet de
masquer le défaut de chacun d’eux. Les signaux appliqués à l’entrée de l’interrupteur CMOS sont
restitués en sortie sans dégradation.
CB
CB
E S E S
C
(a) (b)
88
Chapitre 3 : Electronique des circuits logiques. Eléments de circuiterie MOS et CMOS
A B
S
B
S
S = AB + AB
V DD
T
T
E S
S' S
E
T
T
(a) (b)
89
Chapitre 3 : Electronique des circuits logiques. Eléments de circuiterie MOS et CMOS
• Dans un circuit CMOS, les niveaux logiques 1 et 0 sont représentés par les tensions V DD
et VSS ,
2
Pdyn = f S V DD CL
Dans le cas plus général d’un circuit piloté par un signal de référence (horloge) de fréquence f, si
α représente le nombre moyen de transitions montantes (ou descendantes) de la sortie de la porte
considérée par période de l’horloge, la puissance consommée par cette porte est égale à :
Pdyn = αfV DD
2
CL
La puissance totale consommée par un circuit est obtenue en sommant les puissances élémentaires
consommées par chaque porte logique.
90
Chapitre 3 : Electronique des circuits logiques. Eléments de circuiterie MOS et CMOS
chaque cas. On obtient en effet une bonne approximation en considérant que, lors des commutations,
chaque transistor passant se comporte comme une résistance.
• Le temps de descente est le même que celui d’un réseau RC pour une résistance
R N ≈ 1,3R DS 0 N ,
• Le temps de montée est le même que celui d’un réseau RC pour une résistance
R P ≈ 1,3R DS 0 P .
Les valeurs des temps de commutation pour une porte quelconque sont obtenues en remplaçant
chaque transistor passant par son modèle de résistance équivalente et en calculant la résistance
équivalente totale de l’étage passant. On notera R f la résistance équivalente de l’étage N pour la
descente, et Rr la résistance équivalente de l’étage P pour la montée. Avec ces notations :
t f ≈ ln 9 R f C L
t r ≈ ln 9 Rr C L
• Pour la transition descendante, les deux transistors NMOS sont passants. La résistance
équivalente R f de l’étage N est alors égale à 2R N , si les 2 transistors NMOS sont
identiques. En comparaison avec un inverseur réalisé avec les mêmes transistors :
t f ( NAND2) = 2t f ( INV ) .
1. les deux transistors PMOS sont passants, la résistance équivalente de l’étage P vaut
R t ( INV )
Rr = P , et t r ( NAND2) = r ,
2 2
Dans le cas d’un bloc logique complexe, les temps de commutation sont donnés par la dernière
couche logique du bloc.
91
Chapitre 3 : Electronique des circuits logiques. Eléments de circuiterie MOS et CMOS
On appelle capacité de sortie CS d’une porte logique la capacité vue en régime dynamique par
cette porte logique sur son nœud de sortie lorsqu’elle n’attaque aucune autre porte. CS est égale à la
somme des capacités parasites des transistors de la porte reliés à la sortie, et est essentiellement
constituée des capacités de jonctions de ces transistors. Par exemple, dans le cas d’un inverseur
CMOS (figure 3.42), la capacité de sortie est constituée des capacités de jonction drain/substrat des
deux transistors N et P (cf. section 2.3.2). Les capacités de jonctions source/substrat n’interviennent
pas ici car elles sont court-circuitées.
CDBP
CDBN
CS = ∑Cj N
+ ∑Cj P
On appelle capacité d’entrée CE d’une porte logique, relativement à une de ses entrées, la
capacité vue en régime dynamique sur les grilles des transistors reliés à cette entrée. Dans le cas de
l’inverseur CMOS, les différentes capacités intervenant dans la capacité d’entrée sont détaillées sur la
figure 3.43.
92
Chapitre 3 : Electronique des circuits logiques. Eléments de circuiterie MOS et CMOS
CGBP + CGS P
CGDN + CGDP
CGBN + CGS N
figure 3.43 : capacités intervenant dans la capacité d'entrée d'un inverseur CMOS
C E = CG N + CG P
C E ≈ WN L N Cox + WP L P Cox
Pour une porte logique quelconque, la capacité d’entrée CE s’écrit sous la forme :
CE = ∑ CG N
+ ∑ CG P
où CG N et CGP représentent les capacités de grille des transistors NMOS et PMOS connectés à
l’entrée considérée.
La capacité totale de charge CL d’une porte logique dans un circuit numérique peut être exprimée
comme la somme de trois termes :
A titre d’exemple, dans le cas de la figure 3.44, la capacité de charge CL de la porte logique n est
égale à CL = CS1 + Cint + CE 2 + CE 3 + CE 4 , où :
93
Chapitre 3 : Electronique des circuits logiques. Eléments de circuiterie MOS et CMOS
o
CE2
p
CE3
n
CS1 Cint
q
CE4
On appelle entrance ou fan-in d’un opérateur logique, relativement à une de ses entrées, le
rapport de la capacité CE présentée à cette entrée à Cmin .
CE
Fin =
Cmin
A titre d’exemple, une porte NAND ou NOR constituée de transistors de taille minimale présente
une entrance de 1 sur chacune de ses entrées : chaque entrée est reliée à 2 transistors, 1 NMOS et 1
PMOS, la capacité d’entrée est donc égale à Cmin . Un inverseur de taille double
( WN = 2WNmin , WP = 2WPmin ) a une entrance de 2.
On appelle sortance ou fan-out d’un opérateur logique la somme des entrances des opérateurs en
charge. Ainsi, dans l’exemple de la figure 3.44, si tous les transistors sont de taille minimale, les portes
o, p, et q ont chacune une entrance égale à 1 et la sortance de n vaut 3.
94
Chapitre 3 : Electronique des circuits logiques. Eléments de circuiterie MOS et CMOS
Pour une porte logique élémentaire constituée d’une seule couche logique, les temps de
propagation sont proportionnels à R f C L pour t pHL , à Rr C L pour t pLH . En tenant compte de
l’expression précédente de CL , les différents temps de propagation peuvent être écrits sous la forme
générale :
t p = t p int + t p0 + τFout
où t p int est le retard lié aux connexions en sortie de la porte, t p0 est le retard intrinsèque lié aux
capacités de jonctions des transistors en sortie de la porte, et τ représente le retard engendré par une
charge minimale en sortie de la porte.
La valeur de t p int n’est pas calculable à partir du seul schéma logique du circuit. Elle ne peut être
calculée de façon précise qu’après l’étape de placement-routage du circuit, lorsque l’on dispose de la
description topologique du circuit et que les longueurs des interconnexions entre portes sont connues.
La connaissance des paramètres τ et t p0 pour une porte de taille minimale permet de calculer les
temps de propagation des portes du même type de toute taille, et dans toutes les conditions de charge.
En effet, pour un opérateur de taille k (transistors k fois plus larges que le transistor de taille minimale)
:
1
• le paramètre τ est multiplié par par rapport à l’opérateur de taille 1, car R f et Rr
k
sont inversement proportionnels à la largeur W des transistors,
• le paramètre t p0 est indépendant de k car les capacités de jonction des transistors sont
proportionnelles à la largeur des diffusions et les termes R f C S et Rr C S sont donc
indépendants de k.
Ces deux paramètres sont fournis par les bibliothèques logiques des fondeurs, et sont utilisés par
les outils de conception assistée par ordinateur (CAO) pour calculer les temps de propagation dans les
portes logiques d’un circuit.
95
Chapitre 3 : Electronique des circuits logiques. Eléments de circuiterie MOS et CMOS
Fout
taille 1 taille 4
t1 t2
τ
Temps de propagation du second inverseur : t 2 = t p0 + Fout
4
τ
Temps de propagation total : t p = 2t p0 + 4τ + Fout
14243 { 4
t ′p 0 τ′
Cet exemple permet de mettre en évidence que l’écriture des temps de propagation sous la forme
t p = t p0 + τFout est en fait applicable pour tout bloc logique, quelle que soit sa complexité.
• Si les dimensions W et L des transistors sont divisées par k, leur surface est divisée par
k 2 , et la densité d’intégration est donc multipliée par k 2 .
96
Chapitre 3 : Electronique des circuits logiques. Eléments de circuiterie MOS et CMOS
est accrue dans un rapport k i , où i est compris entre 1 et 2, tendant vers 1 lorsque L
décroît.
• La consommation d’une porte logique est proportionnelle à C L , soit à WLCox . Cox est
inversement proportionnel à l’épaisseur de l’oxyde de grille Tox . La puissance
consommée diminue donc dans un rapport k pour une fréquence de fonctionnement et une
tension d’alimentation inchangées.
La réduction des géométries sur un circuit intégré permet donc a priori de gagner sur tous les
tableaux : surface, consommation, et vitesse. Néanmoins, un problème crucial se pose du point de vue
de la consommation : si l’on profite de l’accroissement de la vitesse des circuits pour augmenter
d’autant leur fréquence de fonctionnement, et sachant que la complexité des circuits est également
accrue à surface constante, la consommation totale des circuits intégrés s’accroît en fait dans un
rapport de k 3 , tendant vers k 2 . La consommation est donc actuellement le facteur principal qui limite
la croissance de la densité d’intégration des circuits.
97
Chapitre 3 : Electronique des circuits logiques. Eléments de circuiterie MOS et CMOS
4. Bibliographie
[DOC95] J.-P. Dauvin, J. Olliver, et D. Coulon, Les composants électroniques et leur industrie,
Collection Que sais-je, PUF, Paris, 1995.
[Intel] http://www.intel.com/technology/silicon/index.htm
[LXZ99] S. Luryi, J. Xu, and A. Zaslavsky, Future Trends in Microelectronics – The Road
Ahead, Wiley-Interscience Pub, 1999.
[RP96] J. M. Rabaey and M. Pedram, Low Power Design Methodologies, Kluwer Academic
Publishers, 1996.
98
Chapitre 4 : Fonctions et circuits combinatoires
1. Définitions
On appelle opérateur ou fonction combinatoire un opérateur logique dont les sorties ne
dépendent, à chaque instant, que de l’état de ses entrées. A chaque configuration des entrées
correspond une configuration des sorties et une seule. Un circuit numérique réalisant une fonction
combinatoire est un circuit combinatoire.
Avertissement : L’étude de ces différents opérateurs est illustrée par des exemples de circuits
standard issus de catalogues de fabricants de circuits intégrés. Les références complètes de ces circuits
contiennent, outre un numéro caractéristique de la fonctionnalité du circuit, des informations
complémentaires inutiles dans le cadre de ce chapitre (fabricant, technologie de fabrication, produit
commercial ou militaire, etc.). Nous nous limiterons donc, ici, à fournir une référence générique
n’indiquant que la fonctionnalité du circuit. A titre d’exemple, « XX 85 » représente tous les circuits
dont la référence se termine par 85, numéro désignant un comparateur de deux mots de 4 bits. Les
fiches techniques (data sheets) des circuits cités dans ce chapitre peuvent être consultées dans des
catalogues tels que [Mot], [TI], ou [NS], par exemple.
2.1 Définition
On désigne par opérateur de transcodage un opérateur qui traduit une information dans un code
donné (codeur ou encodeur) ou bien qui, au contraire, permet d’extraire une ou des informations à
partir d’un code donné (décodeur) ou bien encore réalise la conversion d’un code vers un autre
(convertisseur de code ou transcodeur).
99
Chapitre 4 : Fonctions et circuits combinatoires
Une seule entrée du codeur doit normalement être activée à la fois. Dans le cas où le code en
sortie est le code binaire pur, le circuit correspondant possède N entrées et n sorties, avec
2 n −1 < N ≤ 2 n .
Ce codeur reçoit un chiffre décimal sur une des dix entrées et génère l’équivalent binaire sur les
sorties A0 à A3 . Une seule entrée doit être active à la fois.
E0
E1
E2 A0
A1 sorties
entrées codeur A2
A3
E9
On trouvera ci-après (tableau 4.1) la table de vérité simplifiée et les équations de fonctionnement
de ce type de codeur.
Sorties
Entrée
activée (= 1) A3 A2 A1 A0
E0 0 0 0 0
E1 0 0 0 1
E2 0 0 1 0
E3 0 0 1 1
E4 0 1 0 0
E5 0 1 0 1
E6 0 1 1 0
E7 0 1 1 1
E8 1 0 0 0
E9 1 0 0 1
100
Chapitre 4 : Fonctions et circuits combinatoires
Equations logiques :
A0 = E 1 + E 3 + E 5 + E 7 + E 9
A1 = E 2 + E 3 + E 6 + E 7
A2 = E 4 + E 5 + E 6 + E 7
A3 = E 8 + E 9
Cet opérateur, qui n’existe pas sous forme de circuit intégré standard, peut facilement être réalisé
à partir de portes élémentaires.
Ce codeur reçoit une information codée sur une de ses huit entrées et génère l’équivalent binaire
sur les sorties A0 à A2 . Une seule entrée doit être active à la fois.
E0
E1
E2
A0
codeur A1 sorties
entrées A2
E7
Sorties
Entrée A2 A1 A0
activée (= 1)
E0 0 0 0
E1 0 0 1
E2 0 1 0
E3 0 1 1
E4 1 0 0
E5 1 0 1
E6 1 1 0
E7 1 1 1
Equations logiques :
A0 = E 1 + E 3 + E 5 + E 7
A1 = E 2 + E 3 + E 6 + E 7
A2 = E 4 + E 5 + E 6 + E 7
Dans les deux exemples précédents il n’y a en théorie qu’une seule entrée active parmi N. Si, dans
une application, plusieurs entrées peuvent être actives simultanément il faut utiliser un codeur
prioritaire.
101
Chapitre 4 : Fonctions et circuits combinatoires
E0
E1 A0
entrées encodeur sorties
prioritaire A1
E2
E3
Sa table de vérité et ses équations de fonctionnement sont présentées ci-après (tableau 4.3).
E3 E2 E1 E0 A1 A0
1 X X X 1 1
0 1 X X 1 0
0 0 1 X 0 1
0 0 0 1 0 0
A0 = E 3 + E 2 E1
A1 = E 3 + E 2
Un décodeur est un opérateur à n entrées et N sorties avec N ≤ 2 n . Une sortie du décodeur est
activée lorsqu’une configuration particulière du code est affichée en entrée. Suivant le nombre de
sorties, le décodeur peut décoder toutes les configurations possibles du code en entrée ou une partie
seulement. Un décodeur à n entrées, permettant de décoder toutes les configurations du code binaire
pur sur n bits, possède 2 n sorties. Une seule sortie est activée à la fois. En plus des n entrées, certains
décodeurs possèdent une ou plusieurs entrées de validation. Par exemple, pour une validation active
au niveau bas, si l’entrée de validation V vaut 0, alors le décodage est autorisé ; dans le cas contraire
(V = 1), les sorties sont inhibées et restent inactives. Ces entrées de validation permettent de grouper
plusieurs décodeurs afin d’augmenter l’amplitude de décodage (voir section 2.3.2).
102
Chapitre 4 : Fonctions et circuits combinatoires
Ce type d’opérateur permet d’associer une sortie parmi 2 n avec une information d’entrée codée
sur n bits.
0
1
An-1 2
3
A0
n
2 -1
E1 E0 S0 S1 S2 S3
0 0 0 1 1 1
0 1 1 0 1 1
1 0 1 1 0 1
1 1 1 1 1 0
Dans cet exemple, on a choisi d’associer la valeur "0" lorsque la sortie est décodée (sorties actives
à 0). Les équations de fonctionnement de ce circuit sont les suivantes :
S 0 = E 1. E 0
S1 = E 1. E 0
S 2 = E 1. E 0
S 3 = E 1. E 0
Contrairement à l’exemple précédent, on associe la valeur logique "1" lorsque le rang de la sortie
active correspond à la valeur binaire présentée en entrée (sorties actives à 1). La table de vérité
(tableau 4.5) comporte 8 sorties qui correspondent aux mintermes des variables d’entrée.
103
Chapitre 4 : Fonctions et circuits combinatoires
Entrées Sorties
C B A S0 S1 S2 S3 S4 S5 S6 S7
0 0 0 1 0 0 0 0 0 0 0
0 0 1 0 1 0 0 0 0 0 0
0 1 0 0 0 1 0 0 0 0 0
0 1 1 0 0 0 1 0 0 0 0
1 0 0 0 0 0 0 1 0 0 0
1 0 1 0 0 0 0 0 1 0 0
1 1 0 0 0 0 0 0 0 1 0
1 1 1 0 0 0 0 0 0 0 1
S0 = C B A
S1 = C B A
L
S7 = C B A
C
1
B
1
A
1
& &
S0 S7
104
Chapitre 4 : Fonctions et circuits combinatoires
Table de vérité :
A B C D S0 S1 S2 S3 S4 S5 S6 S7 S8 S9
0 0 0 0 0 1 1 1 1 1 1 1 1 1
0 0 0 1 1 0 1 1 1 1 1 1 1 1
0 0 1 0 1 1 0 1 1 1 1 1 1 1
0 0 1 1 1 1 1 0 1 1 1 1 1 1
0 1 0 0 1 1 1 1 0 1 1 1 1 1
0 1 0 1 1 1 1 1 1 0 1 1 1 1
0 1 1 0 1 1 1 1 1 1 0 1 1 1
0 1 1 1 1 1 1 1 1 1 1 0 1 1
1 0 0 0 1 1 1 1 1 1 1 1 0 1
1 0 0 1 1 1 1 1 1 1 1 1 1 0
1 0 1 0 1 1 1 1 1 1 1 1 1 1
1 0 1 1 1 1 1 1 1 1 1 1 1 1
1 1 0 0 1 1 1 1 1 1 1 1 1 1
1 1 0 1 1 1 1 1 1 1 1 1 1 1
1 1 1 0 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1
S0
S1
A
B Décodeur
C BCD
D
S9
105
Chapitre 4 : Fonctions et circuits combinatoires
a b a b a b a b
≥ 11 0 ≥ 11 4 ≥ 11 12 ≥ 11 8
c
d &
≥ 11 1 ≥ 11 5 ≥ 11 13 ≥ 11 9
c
d &
≥ 11 3 ≥ 11 7 ≥ 11 15 ≥ 11 11
c
d &
c ≥ 11 2 ≥ 11 6 ≥ 11 14 ≥ 11 10
d &
Dans la matrice de la figure 4.7, chaque case du tableau de Karnaugh ou chaque ligne de la table
de vérité correspond à une structure matérielle composée de 2 portes NAND et d’une porte NOR.
L’utilisation multiple des mintermes des variables c et d, ainsi que des variables a et b, permet réduire
la complexité matérielle par rapport à un circuit décodant les seize sorties indépendamment les unes
des autres. On notera également que tous les chemins entre entrées et sorties traversent des couches
logiques identiques.
106
Chapitre 4 : Fonctions et circuits combinatoires
S0
e A S1
d B
c C
b D 1
G1
a S15
G2
S16
A S17
B
C 2
D
1 G1
S31
G2
N-1
x bits
n bits
code de 1
(x+n) bits n° (X-1) 0
VX-1
n bits
N-1
n bits
1
VX-1 n° i 0
X-1
xbits i vi X. N sorties
1
0
N-1
Validation
n bits
1
n° 1 0
V1
N-1
n bits
1
n° 0 0
V0
107
Chapitre 4 : Fonctions et circuits combinatoires
Dans l’exemple de la figure 4.9, le dispositif, qui possède deux niveaux de décodeurs, accepte
x + n entrées et délivre X . N sorties, avec X = 2 x et N = 2 n . Le premier niveau est constitué d’un
décodeur de type 1 parmi X. Celui-ci reçoit x bits en entrées et fournit sur une des sorties V 0 à
VX − 1 un signal de sélection qui est utilisé pour valider un des X décodeurs du second niveau. Ces X
décodeurs reçoivent en entrée les n bits restants et possèdent chacun N sorties. Le signal Validation
appliqué sur le décodeur de premier niveau permet d’autoriser ou non le décodage.
• Exemple 1 : décodage d’adresse d’une mémoire ou sélection de composants dans une carte
microprocesseur
Dans une carte mère, qui possède en général un microprocesseur et plusieurs composants annexes
(RAM, ROM, REPROM, boîtiers d’entrées-sorties, etc.), la fonction de décodage est essentielle afin
de ne valider qu’un seul boîtier à la fois. Les signaux qui servent au décodage, et donc à la sélection
des boîtiers sont issus du bus d’adresse et du bus de contrôle du microprocesseur. La figure 4.10
montre un synoptique simplifié d’une telle application des décodeurs.
Bus données
Nous avons vu dans la section 2.3.1.1 que les sorties Si d’un décodeur 3 vers 8 étaient régies par
les équations suivantes :
S0 = C B A
S1 = C B A
L
S7 = C B A
108
Chapitre 4 : Fonctions et circuits combinatoires
d’un décodeur 3 vers 8 associé à des portes OU. Il est cependant à noter que l’utilisation de décodeurs
en générateur de fonctions est en pratique peu fréquente.
• Exemple 3 : démultiplexage
Le décodeur est parfois utilisé pour démultiplexer des informations. Dans ce type d’application,
son rôle consiste à aiguiller une information présente sur une entrée vers une sortie choisie parmi les N
disponibles.
S0
a A S1
b B
c C
d D
entrée G1
S15
G2
Dans l’exemple de la figure 4.11, les informations multiplexées sont injectées dans les entrées de
validation ( G1 et G 2 ) du décodeur 4 vers 16. Les entrées A, B, C, et D possèdent ici un rôle d’entrées
d’adressage. Elles servent à aiguiller l’information présente sur G1 et G 2 vers une des 16 sorties Si .
N. B. Les sorties du décodeur XX 154 sont actives au niveau bas (à 0).
S0
A S1
B S2
S3
C S4
S5
D S6
Transcodeur
BCD / 7 segments
109
Chapitre 4 : Fonctions et circuits combinatoires
Les équations logiques du transcodeur de la figure 4.12 s’établissent sans difficultés à l’aide de 7
tableaux de Karnaugh :
S 0 = A. C + A. C + B + D
S1 = A. C + A. B + B. C + D
S 2 = A. C + A. B
S 3 = A. B. C + A. C + A. B + B. C + D
S4 = A + B + C
S 5 = B. C + A. B + B. C + D
S 6 = A. B + C
Ces transcodeurs existent sous la forme de circuits standard proposés par les fabricants sous les
références XX 46 à XX 49. Ces circuits possèdent des entrées de contrôle supplémentaires : extinction
de l’affichage des segments, allumage de tous les segments, etc. D’autres types de transcodeurs sont
capables de commander des afficheurs alphanumériques. Les fonctions de trancodages sont parfois
intégrées dans les afficheurs.
Les équations logiques d’un convertisseur de code Gray/binaire ou binaire/Gray s’établissent sans
problème à l'aide de la méthode de Karnaugh à partir de la table de vérité suivante :
110
Chapitre 4 : Fonctions et circuits combinatoires
• Convertisseur Gray/binaire
Bn = G n
et
Bn −i = Gn ⊕ Gn −1 ⊕ L ⊕ Gn −i pour i = 1,K , n − 1
• Convertisseur binaire/Gray
Gi = Bi ⊕ Bi +1 pour i = 1,K , n − 1
et
Gn = Bn
111
Chapitre 4 : Fonctions et circuits combinatoires
E0
E1
E2
n
2 entrées S
n
E 2 -1
An-1 A0
code adresse
sur n bits
La fonction logique réalisée par le multiplexeur est régie par l’équation suivante :
2n −1
S= ∑ mi Ei
i =0
112
Chapitre 4 : Fonctions et circuits combinatoires
E0
E1
S
E2
E3
A1 A0
S = A1 . A0 . E 0 + A1 . A0 . E1 + A1 . A0 . E 2 + A1 . A0 . E 3
T T
A
A
S
S
B
B
S = AT + BT
figure 4.15 : représentation usuelle et réalisation en logique CMOS d’un multiplexeur 2 vers 1
Dans l’exemple de la figure 4.16, deux multiplexeurs élémentaires 8 vers 1 avec entrées de
validation sont associés afin d’obtenir un dispositif capable d’aiguiller 1 entrée parmi 16 vers la sortie.
On remarque que le fil d’adresse A3 joue un rôle particulier. Si A3 = 0 , le multiplexeur 1 est validé,
et le multiplexeur 2, qui correspond aux 8 bits de poids forts, est inhibé (sa sortie est forcée à 0). Les
adresses A0 à A2 permettent donc de choisir une des 8 entrées du premier multiplexeur. Lorsque le
signal A3 vaut 1, le premier multiplexeur est inhibé (sortie à 0) et le second validé. Une porte OU
permet de recueillir la sortie du multiplexeur validé.
113
Chapitre 4 : Fonctions et circuits combinatoires
E0 e0 1
E1 e1
MUX
8:1
E7 e7
V a2 a1 a0
A3
≥1
A2 1 S
A1
A0
V a2 a1 a0
E8 e0
E9 e1 MUX
8:1
E15 e7 2
figure 4.16 : réalisation d’un multiplexeur 16 vers 1 à partir de deux multiplexeurs 8 vers 1
0
Mot 0
x-1
0 0
Mot 1 x-1
x-1
MUX
0
n
Mot 2 -1 x-1
114
Chapitre 4 : Fonctions et circuits combinatoires
• Conversion parallèle/série
La fonction première du multiplexeur est d’aiguiller des informations provenant de N canaux vers
un canal unique. Ce dispositif permet donc de convertir une information présente en parallèle sur les
entrées d’information en une information de type série, si toutes les combinaisons d’adresses sont
énumérées sur les entrées de sélection.
• Génération de fonctions
Les multiplexeurs peuvent également, tout comme les décodeurs, être utilisés pour la génération
de fonctions logiques. En effet, toute fonction logique peut se décomposer sous la forme d’une somme
de mintermes (cf. chapitre 2, section 3.1) :
2n −1
f( x n −1 ,K x1 , x 0 ) = ∑ d i . mi
i =0
A B F(A,B)
0 0 1
0 1 0
1 0 1
1 1 1
115
Chapitre 4 : Fonctions et circuits combinatoires
VDD
E0
E1 F
E2
E3
VDD
A B
Entrées
G B A Y0 Y1 Y2 Y3
1 X X 1 1 1 1
0 0 0 0 1 1 1
0 0 1 1 0 1 1
0 1 0 1 1 0 1
0 1 1 1 1 1 0
tableau 4.9 : table de vérité d’un décodeur/démultiplexeur 1 vers 4 du circuit de référence XX 139
116
Chapitre 4 : Fonctions et circuits combinatoires
& Y0
G 1
& Y1
A
1 1 & Y2
B
1 1 & Y3
Lorsque ce circuit est utilisé en décodage, l’entrée G , active à 0, est utilisée pour valider ou non
les sorties. Dans ce mode de fonctionnement, les sorties sont également actives à la valeur logique 0.
En mode démultiplexage, A et B sont les entrées d’adresse et G joue le rôle d’entrée d’information.
Décodeur/
Démultiplexeur
Adresse
de la sortie
117
Chapitre 4 : Fonctions et circuits combinatoires
4.1 Définition
On désigne par opérateur de comparaison ou comparateur un opérateur capable de détecter
l’égalité ou l’inégalité de 2 nombres (comparateur simple) et éventuellement d’indiquer le plus grand
ou le plus petit (comparateur complet). Le tableau 4.10 donne le résultat de la comparaison de 2
éléments binaires.
A B A= B A> B A< B
0 0 1 0 0
0 1 0 0 1
1 0 0 1 0
1 1 1 0 0
( A = B) = A ⊕ B
( A > B) = A B
( A < B) = A B
S = A0 ⊕ B0 .L. Ai ⊕ Bi .L. An −1 ⊕ Bn −1
n −1
S= ∏ Ai ⊕ Bi
i =0
soit encore :
S = ( A0 ⊕ B0 ) + ( Ai ⊕ Bi ) + ( An −1 ⊕ Bn −1 )
n −1
S= ∑ Ai ⊕ Bi
i =0
Cette détection peut être réalisée à l’aide d’opérateurs OU exclusif et d’une fonction NOR
(figure 4.21).
118
Chapitre 4 : Fonctions et circuits combinatoires
A0
B0 =1
Ai S
=1 ≥ 11
Bi
An
Bn =1
Dans le cas d’une comparaison complète de deux nombres binaires A et B, les sorties A < B et
A > B sont obtenues en effectuant une comparaison complète des bits de même rang, Ai et Bi , de
façon prioritaire à partir des bits de poids forts (cf. tableau 4.11). Par exemple, si An > Bn alors
A > B , et si An < Bn alors A < B . Mais si An = Bn , il est nécessaire de comparer les bits de rang
n − 1 pour décider, et ainsi de suite …
comparateur
xx 85
A3
A A2
A1
A0
B3 A > B out
B2 A = B out sorties
B
B1 A < B out
B0
A > B in
A = B in
A < B in
119
Chapitre 4 : Fonctions et circuits combinatoires
A3 > B3 X X X X X X 1 0 0
A3 < B3 X X X X X X 0 0 1
A3 = B3 A2 > B2 X X X X X 1 0 0
A3 = B3 A2 < B2 X X X X X 0 0 1
A3 = B3 A2 = B2 A1 > B1 X X X X 1 0 0
A3 = B3 A2 = B2 A1 < B1 X X X X 0 0 1
A3 = B3 A2 = B2 A1 = B1 A0 > B0 X X X 1 0 0
A3 = B3 A2 = B2 A1 = B1 A0 < B0 X X X 0 0 1
A3 = B3 A2 = B2 A1 = B1 A0 = B0 1 0 0 1 0 0
A3 = B3 A2 = B2 A1 = B1 A0 = B0 0 0 1 0 0 1
A3 = B3 A2 = B2 A1 = B1 A0 = B0 0 1 0 0 1 0
À titre d’exemple, pour comparer deux nombres de 8 bits, il suffit de relier les sorties A > Bout ,
A = Bout , et A < Bout du comparateur gérant les 4 bits de poids faibles aux entrées A > Bin , A = Bin
et A < Bin du comparateur gérant les bits de poids forts. Dans ce cas, les valeurs logiques 010 sont
appliquées sur les entrées A > Bin , A = Bin et A < Bin du premier comparateur.
120
Chapitre 4 : Fonctions et circuits combinatoires
Ak Bk Sk Ck
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
Ak Bk
Bk Ak
& =1
Rk
Ck SPk
k
Pour additionner deux nombres binaires à plusieurs bits, une technique consiste à additionner
successivement les bits de même poids avec la retenue de l’addition précédente. L’opérateur de base,
appelé additionneur complet, doit alors prendre en compte une retenue entrante C k −1 .
121
Chapitre 4 : Fonctions et circuits combinatoires
Sk = Ak ⊕ Bk ⊕ Ck − 1
Ck = Ak Bk + ( Ak + Bk ) Ck − 1 = Ak Bk + ( Ak ⊕ Bk ) Ck − 1
L’additionneur complet peut, par exemple, être réalisé à partir de deux demi-additionneurs et d’un
opérateur OU (figure 4.24).
Bk Ak Ck −1
1/2 add.
Ak Bk Ak ⊕ Bk
Ck 1/2 add.
≥g1
(Ak ⊕ Bk )Ck −1
Sk = Ak ⊕ Bk ⊕ Ck −1
Sn-1 S1 S0
122
Chapitre 4 : Fonctions et circuits combinatoires
Cette solution est intéressante d’un point de vue matériel car répétitive. Cependant, le résultat de
l’opération n’est disponible en sortie de l’additionneur que lorsque toutes les retenues, du poids le plus
faible au poids le plus fort, ont été calculées (d’où le nom d’additionneur à retenue propagée). Le
temps de calcul du résultat est donc directement proportionnel à la taille des nombres manipulés et
donc au nombre d’étages du dispositif, soit n. La technique de calcul anticipé de la retenue permet de
remédier à ce défaut.
L’équation logique de la retenue sortante de l’additionneur complet établie en section 5.1.1 peut
s’écrire :
C k = Ak Bk + ( Ak ⊕ Bk )C k −1 = G k + Pk C k −1
Le tableau 4.14 permet d’analyser l’obtention de la retenue sortante à partir des termes Pk et G k .
n° de ligne Ak Bk C k −1 Ck Pk Gk
1 0 0 0 0 0 0 Retenue sortante à 0
2 0 0 1 0 0 0
3 0 1 0 0 1 0 Retenue entrante
4 0 1 1 1 1 0 propagée vers
5 1 0 0 0 1 0 la sortie
6 1 0 1 1 1 0
7 1 1 0 1 0 1 Retenue sortante à 1
8 1 1 1 1 0 1
On observe que :
• Lignes 7 à 8 : une retenue sortante à 1 est délivrée en sortie. Ces 2 lignes sont
caractérisées par la relation G k = Ak . Bk = 1. G k est appelé terme de génération de
retenue. C’est encore l’expression de la retenue Rk en sortie d’un demi-additionneur
(figure 4.23).
Dans le cas de l’addition de 2 nombres A et B de n bits, le bit de retenue de rang k est donc donné
par la relation C k = G k + C k −1 Pk .
123
Chapitre 4 : Fonctions et circuits combinatoires
A3 ... A0 B3 ... B0
C2 C1 C0
P3 P2 P1 P0
=1 =1 =1 =1
C3 S3 S2 S1 S0
Cette solution architecturale mène à des circuits plus rapides que les additionneurs à retenue
propagée, car le nombre de blocs logiques traversés pour le calcul des sorties de l’additionneur est
indépendant de la taille des mots en entrée. Néanmoins, ce type d’additionneur est plus encombrant
que l’additionneur à retenue propagée, la logique de génération des retenues étant plus complexe. Les
constructeurs proposent des circuits connus sous le nom de CLU (Carry Look-ahead Unit) qui
assurent le calcul des termes précédents (ex : référence XX 182).
Les solutions étudiées ne permettent pas de traiter le cas de l’addition de deux nombres de signes
différents. Ce problème est lié à celui de la soustraction qui est traitée dans le paragraphe suivant.
124
Chapitre 4 : Fonctions et circuits combinatoires
Le principe de la multiplication en base 2 a été présenté au chapitre 1, section 3.2.2. Il existe deux
types de solutions pour la réalisation des opérateurs correspondants.
• Solution séquentielle : cette solution sort du cadre de ce chapitre car non combinatoire. La
multiplication est réalisée en plusieurs étapes faisant intervenir des opérations successives
d’addition et de décalage (cf. chapitre 5) réutilisant les mêmes opérateurs. L’implantation
de cette solution est beaucoup moins encombrante que la précédente, mais présente des
performances de vitesse dégradées, car elle nécessite plusieurs étapes de calcul.
La réalisation de diviseurs est en fait plus délicate que celle des multiplieurs mais les divisions
sont en pratique beaucoup moins courantes dans les systèmes numériques que les
additions/soustractions et les multiplications. L’approche la plus simple, qui consiste à implanter la
division sous forme d’additions/soustractions et de décalages, conduit à des performances médiocres
en terme de vitesse de calcul et n’est guère utilisée.
125
Chapitre 4 : Fonctions et circuits combinatoires
B0
A3 A2 A1 A0
B1
A3 A2 A1 A0
b3 a3 b2 a2 b1 a1 b0 a0
Additionneur 4 bits
r3 r-1 0
s3 s2 s1 s0
B2
A3 A2 A1 A0
b3 a3 b2 a2 b1 a1 b0 a0
Additionneur 4 bits
r3 r-1 0
s3 s2 s1 s0
B3
A3 A2 A1 A0
b3 a3 b2 a2 b1 a1 b0 a0
Additionneur 4 bits
r3 r-1 0
s3 s2 s1 s0
P7 P6 P5 P4 P3 P2 P1 P0
126
Chapitre 4 : Fonctions et circuits combinatoires
S0 0 ALU S2 S1 S0
S1 1
S2 2
Cn
B1
Cn C1 A3 ... A0
ALU F3 ... F0
A0 P
Q
(1) F0 382
B0
A1 P
(2) F1 OVR
B1 Q
A2 P F2
Cn+4
(4)
B2 Q
OVR
A3 P
(8) B0 Cn+4 B3 ... B0
B3 Q C0
F3
Le tableau 4.15 présente une table de vérité partielle de l’UAL de référence XX 382. Seuls les cas
où A et B sont égaux à 0000 ou 1111 sont traités à titre d’exemple.
• S 2 S1 S 0 = 011 , « A plus B » :
• S 2 S1 S 0 = 001 , « B moins A » :
• S 2 S1 S 0 = 010 , « A moins B » :
Dans ces trois modes arithmétiques, la sortie Cn+4 est activée ( Cn+ 4 = 1) lorsque l’addition
génère une retenue. La sortie OVR indique un dépassement de capacité de l’additionneur. Cette
situation n’est pas considérée pas dans le tableau 4.15. A titre d’exemple, dans le mode « A plus B »,
la sortie OVR est activée si A = B = 0111.
127
Chapitre 4 : Fonctions et circuits combinatoires
Entrées de
sélection Opération A= B= F=
arithmétique/logique Cn A3 A2 A1 A0 B3 B2 B1 B0 F 3 F 2 F1 F 0 OVR Cn+4
S 2 S1 S 0 1
Cette UAL permet également d’effectuer 3 opérations logiques sur les mots A et B : OU exclusif,
OU et ET. Ces trois opérations s’effectuent bit à bit. En outre, les sorties F 3F 2 F 1F 0 peuvent être
forcées à 0 ou à 1. Les sorties Cn+4 et OVR ne sont, a priori, utilisées que dans les modes
arithmétiques, leurs valeurs ne sont donc pas données dans les modes logiques car sans intérêt.
1
Cn : entrée de retenue pour l’addition et entrée de retenue inversée pour la soustraction
128
Chapitre 4 : Fonctions et circuits combinatoires
6. Bibliographie
[BH90] J.-M. Bernard et J. Hugon, Pratique des circuits logiques, Collection technique et
scientifique des télécommunications, Eyrolles, 1990.
[Mot] http://www.motorola.com/
[NS] http://www.national.com/
[TI] http://www.ti.com/
129