circuits logiques notions fondamentales

Transcription

circuits logiques notions fondamentales
CIRCUITS LOGIQUES
NOTIONS FONDAMENTALES
Différence entre système analogique et logique
• Analogique : les signaux sont décrits par des fonctions mathématiques
continues
• Logique : Chaque paramètre ne peut prendre que deux valeurs 0 ou 1
(vrai ou faux). C'est un système binaire
Variable d'entrée binaire Variable de sortie binaire
Exemple : Sécurisation du démarrage d'un véhicule
Le véhicule ne peut démarrer que si un certain nombre de conditions sont
remplies (celà suppose, bien entendu la présence de capteurs appropriés).
Contacts
électriques
Ouverte = 0 Fermée = 1
Portière : P
Ceinture : C Non Bouclée = 0 Bouclée = 1
Eteints = 0 Allumés = 1
Feux :
F
Photo-capteur Jour ou nuit : L
Nuit = 0
Jour = 1
Conditions de sécurité
La fonction D (démarrage) ne prendra la valeur 1 que si les conditions de
sécurité sont remplies.
D = f(P, C, F, L)
1
Nous pouvons exprimer la fonction D par un texte comportant des ET et
des OU
Le démarrage sera alors possible si:
les portières sont fermées
ET
les ceintures de sécurité bouclées
ET
si les feux sont allumés ET qu'il fait nuit
OU
si les feux sont éteints ET qu'il fait jour
Ce qui peut aussi s'écrire:
D = 1 si P=1 et C=1 et ((F=1 et L=0) ou (F=0 et L=1))
Algèbre de Boole
(détermination des fonctions logiques)
La fonction OU (Union, réunion, addition ou somme logique, OR)
≠ somme algébrique
Notation : + ou ∪ (que l'on prononce OU), f(x,y) = x+y
X
0
0
1
1
Y
0
1
0
1
2
OU
0
1
1
1
Table de vérité de la fonction OU
Vs = Ve si I1 ou I2 est fermé
Vs = 0 si I1 et I2 sont ouverts
Réalisation de la fonction OU avec des diodes:
x
s
y
La fonction ET (Intersection, produit logique, AND)
≠ produit algébrique
Notation : • ou ∩ (que l'on prononce ET), f(x,y) = x•y
X
Y
ET
0
0
0
0
1
0
1
0
0
1
1
1
Table de vérité de la fonction ET
I1
I2
Ve
Vs
Vs = Ve si et seulement si I1 et I2 sont fermés
Réalisation de la fonction ET avec des diodes
3
x
s
y
+5V
A côté des fonctions OU et ET il existe une autre fonction fondamentale: la
fonction NON
La fonction NON (négation, complément, inversion, NOT)
Notation : f(x) = x (dire x barre)
X = 0 NON X = 1
X = 1 NON X = 0
X
0
1
NON X
1
0
Table de vérité de la fonction NON
La fonction NON ne peut pas être réalisée avec des diodes. Considérons un
transistor et le diagramme de sortie Ic = f(Vce):
4
E
RB
RC
IC
E/Rc
Saturation
Blocage
E
VCE
Cherchons alors la valeur de Rb pour laquelle le transistor est saturé. Pour ce faire
on confond le point de saturation avec le point d'intersection de la droite de charge
et de l'axe Ic.
Pour Vce = 0
on a :
Ic = E/Rc
Donc :
ßIb = E/Rc Ib = E/ßRc
Par ailleurs :
Rb.Ib + Vbe = E
Si on néglige Vbe alors:
Rb = ßRc
Donc pour tout Rb tel que Rb ≤ ßRc on a Vce = 0
Dans ces conditions le transistor se comporte comme un interrupteur ouvert.
5
A l'inverse, si Ib = 0 c'est à dire si l'on déconnecte Rb de l'alimentation E, alors Ic =
0 et par conséquent Vce = E. On est au point de blocage. Le transistor se comporte
alors comme un interrupteur fermé.
Choisissons maintenant Rb ≤ ßRc et faisons le schéma suivant :
E = 5V
RC
RB
S = X (5V ou 0V)
X = 0V ou 5V
Lorsque X varie de 0 à 5 V le transistor passe de l'état bloqué (S = 5V) à l'état
saturé (S = 0V).
Extension des fonctions ET et OU
Les fonctions ET et OU s'étendent à plus de deux variables
X
0
0
0
0
1
1
1
1
Y
0
0
1
1
0
0
1
1
Z
0
1
0
1
0
1
0
1
ET
0
0
0
0
0
0
0
1
OU
0
1
1
1
1
1
1
1
Exemple de table de vérité pour 3 variables des fonctions ET et OU
A partir des fonctions ET, OU et NON on peut définir n'importe quelle fonction
aussi complexe soit elle.
6
Pour simplifier les montages d'autres fonctions ont été définies et existent
précablées, ce sont :
La fonction NI (NON OU, NOT OR, NOR)
C'est la fonction OU inversée: f(X,Y)=X+Y
X
Y
OU NOR
0
0
0
1
0
1
1
0
1
0
1
0
1
1
1
0
Table de vérité de la fonction NOR
La fonction NON ET (NOT AND, NAND)
C'est la fonction ET inversée : f(X,Y)= X.Y
X
Y
ET NAND
0
0
0
1
0
1
0
1
1
0
0
1
1
1
1
0
Table de vérité de la fonction NAND
7
La fonction OU EXCLUSIF
f(X,Y)= X⊗Y
X
0
0
1
1
Y
0
1
0
1
OU EXCLUSIF
0
1
1
0
Toutes ces fonctions existent au catalogue des constructeurs. Cependant en général,
lorsqu'il s'agit de systèmes complexes, la fonction que doit remplir le circuit est elle
aussi complexe et n'existe généralement pas précablée.
Cette fonction peut être:
• soit totalement définie
• soit incomplètement définie
X
0
0
0
0
1
1
1
1
Y
0
0
1
1
0
0
1
1
Z
0
1
0
1
0
1
0
1
f(X,Y,Z)
0
0
1
0
1
1
0
0
Exemple de fonction complètement définie
8
X
0
0
0
0
1
1
1
1
Y
0
0
1
1
0
0
1
1
Z
0
1
0
1
0
1
0
1
f(X,Y,Z)
0
*
1
0
*
1
0
1
Exemple de fonction incomplètement définie. On note par * ces valeurs non
définies peu importantes pour le fonctionnement du système (X = 1 ou 0
indifféremment)
9
Propriétés des opérateurs ET, OU et NON.
Quelques identités remarquables sont à connaître:
Fonctions Identités
Commentaires
X=X
X+0 =X
X•0 =0
X+1 =1
X•1 =X
X+X=X
X•X=X
X+X=1
X.X=0
X+X=1
2 variables X + Y = Y + X
X•Y =Y•X
3 variables X+Y+Z=(X+Y)+Z = X+(Y+Z)
X•Y•Z= (X•Y)•Z = X•(Y•Z)
3 variables X•(Y+Z) = X•Y + X•Z
X+ (Y•Z) = (X+Y)•(X+Z)
1 variable
COMMUTATIVITE
ASSOCIATIVITE
DISTRIBUTIVITE
Il existe d'autre part des théorèmes généraux qui permettent la manipulation des
fonctions logiques:
Théorème de De Morgan
X+Y+Z+....=X.Y.Z....
X.Y.Z....=X+Y+Z+...
Théorème de Shannon
f(X,Y,Z,+,.)=f(X,Y,Z,.,+)
f(X,Y,Z,+,•) = f(X,Y,Z,•,+)
Ces théorèmes sont à manipuler avec précaution
Exemple : Soit à calculer f =X+Y.Z
10
On posera A=Y.Z
Ce qui donne : X+ A=X.A=X.Y.Z=X.(Y+Z)=X.Y+ X.Z
Dans la suite nous oublierons parfois le symbole produit •
11
Une fonction quelconque peut s'exprimer avec les seuls opérateurs ET, OU et NON.
Le problème est donc de trouver la bonne combinaison.
Nous allons distinguer deux manières
1 - ECRITURE CANONIQUE
2 - METHODE DE KARNAUGH
1 - ECRITURE CANONIQUE
Cela peut se faire en utilisant des fonctions produits ou des fonctions sommes. Nous
allons traiter cette méthode dans le cas de trois variables X, Y et Z, ce qui nous
donne 8 combinaisons possibles.
a) Fonctions produits
Pour chacune des 8 combinaisons possibles on définit une fonction Pi égale au ET
des variables X ou X, Y ou Y et Z ou Z. On a donc 8 fonctions Pi qui sont :
P0 = X.Y.Z, P1 = X.Y.Z, P2 = X.Y.Z, P3 = X.Y.Z, P4 = X.Y.Z, P5 = X.Y.Z,
P6 = X.Y.Z, P7 = X.Y.Z
On obtient alors le tableau suivant :
P0
P1
P2
P3
P4
P5
F
X
Y
Z
X.Y.Z X.Y.Z X.Y.Z X.Y.Z X.Y.Z X.Y.Z
0
0
0
0
1
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
1
0
0
0
1
0
1
1
0
0
0
1
0
0
1
1
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
La fonction F est donc définie comme : F = P1 ou P3 ou P4
12
P6
P7
X.Y.Z X.Y.Z
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
=P1+P3+P4=X.Y.Z+X.Y.Z+X.Y.Z
= Somme canonique des produits
b) Fonctions sommes
Pour chacune des 8 combinaisons possibles on définit une fonction Si égale au OU
des variables X ou X, Y ou Y et Z ou Z. On a donc 8 fonctions Si qui sont :
S0 = X+Y+ Z, S1 = X+Y+ Z, S2 = X+Y+ Z, S3 = X+Y+ Z, S4 = X+Y+ Z,
S5 = X+Y+ Z, S6 = X+Y+ Z, S7 = X+Y+ Z
De la même manière que pour les fonctions produits on dresse un tableau de toutes
les combinaisons possibles
S0
F
0
1
0
1
1
0
0
0
X
0
0
0
0
1
1
1
1
Y
0
0
1
1
0
0
1
1
Z
0
1
0
1
0
1
0
1
S1
S2
S3
S4
S5
S6
S7
X +Y + Z X +Y + Z X +Y + Z X + Y + Z X + Y + Z X + Y + Z X + Y + Z X + Y + Z
0
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
0
Ainsi la fonction F est maintenant définie comme :
F = S0 ET S2 ET S5 ET S6 ET S7
= (X+Y+Z) (X+Y+Z) (X+Y+Z) (X+Y+Z) (X+Y+Z)
= Produit canonique des sommes
C'est en général la première forme canonique (somme des produits) qui est la
plus utilisée.
Cependant le résultat n'est pas sous la forme la plus simple. Il faut donc simplifier
l'expression de la fonction.
13
La simplification à l'aide de l'algèbre de Boole est en général malaisée car elle
suppose des astuces de calcul.
Exemple : Soit à simplifier : F = X.Y.Z + X.Y.Z +X.Y.Z +X.Y.Z
Il faut alors remarquer que X.Y.Z + X.Y.Z + X.Y.Z = X.Y.Z
On peut alors écrtire :
F = (X.Y.Z +X.Y.Z)+ (X.Y.Z+X.Y.Z) +(X.Y.Z +X.Y.Z)
et en faisant une mise en facteur :
F = Y.Z (X +X) + X.Z (Y + Y) + X.Y (Z + Z) = Y.Z + X.Z + X.Y
Plutôt que d'utiliser les formes canoniques on utilise en général la méthode de
Karnaugh.
1 - METHODE DE KARNAUGH
Cette méthode est basée sur l'utilisation de l'identité remarquable
a.X + a.X = a
Il s'agit d'une méthode graphique qui consiste à mettre en évidence tous les termes
produits d'une fonction qui ne diffèrent que par l'état d'une seule variable. On
appelle ces termes les termes adjacents. Par exemple, dans le cas de 4 variables les
deux produits
X.Y.Z.T et X.Y.Z.T
sont adjacents. Comme dans le cas de la première forme canonique on fait la
somme des produits en regroupant les termes adjacents.
L'utilisation de l'identité remarquable ci-dessus permet alors d'éliminer un produit
ainsi qu'une variable (ici la variable T).
Donc X.Y.Z.T + X.Y.Z.T=X.Y.Z
La méthode utilise des tableaux dont le nombre de cases correspond au nombre
total des combinaisons produits de toutes les variables d'entrée.
14
a) Exemples
2 variables (22 cases)
0
1
X
0
1
Y
3 variables (23 cases)
00 01 11 10 XY
0
1
Z
Il faut noter que l'on ne change q'une seule variable en passant d'une case à la
suivante.
4 variables (24 cases)
00 01 11 10 XY
00
01
11
10
ZT
Si l'on a plus de 4 variables on juxtapose alors des tableaux de 4 variables
Comment passe-t-on de la table de vérité définissant la fonction au tableau de
Karnaugh ?
15
b) Passage au tableau de Karnaugh
Le passage est très simple. Il consiste à écrire des 1 dans les cases du tableau de
Karnaugh qui correspondent aux combinaisons où la fonction vaut 1. Dans toutes
les autres cases on mettra des 0.
Pour mieux comprendre réalisons un exemple d'une fonction de 4 variables.
Soit la table de vérité de la fonction, F, suivante:
X
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
Y
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
Z
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
T
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
F
1
0
1
0
0
1
0
0
1
1
1
1
0
1
0
0
On remplit le tableau de Karnaugh de la manière suivante:
00
01
11
10
00 01 11 10 XY
1 0 0 1
0 1 1 1
0 0 0 1
1 0 0 1
ZT
16
On procède ensuite de la manière suivante :
a) on réalise les groupements de termes adjacents égaux à 1. Attention on ne peut
les grouper q'en un multiple de 2. On essaie d'avoir le minimum de groupements.
Les mêmes termes peuvent participer à plusieurs groupements (car x + x + x = x)
2. Dans un groupement de deux termes on élimine la variable qui a changé d'état.
On ne conserve alors que le produit des variables qui n'ont pas changé
3. idem pour les groupement de 4 termes ou de 8 termes.
4. L'expression logique finale de la fonction F est la réunion (OU) des groupements
après l'élimination des variables qui avaient changé d'état.
Dans le cas de l'exemple précédent les groupements sont les suivants:
00
01
11
10
00 01 11 10 XY
1 0 0 1
0 1 1 1
0 0 0 1
1 0 0 1
ZT
Les termes en jaune donnent : X .Y.T
Les termes en rouge donnent : Y.Z.T
Les termes en violet donnent : X.Y
La fonction F est donc définie comme :
F = X.Y.T + Y.Z.T + X.Y
17
SYMBOLES GRAPHIQUES DES FONCTIONS LOGIQUES
x
NON, NOT
x
a
ET, AND
b
a
OU, OR
b
ab
a+b
a
NON ET, NAND
ab
b
a
NON OU, NOR
a+b
b
SEPARATEUR,
BUFFER
OU EXCLUSIF,
XOR
x
x
a
a⊕
⊕b
b
18
LES DIFFERENTES FACONS DE REPRESENTER
LES NOMBRES
Différentes bases possibles:
Base 2
Base 8
Base 10
Base 16
BCD (Décimal codé binaire)
Exemple : Soit le nombre 1253 en base 10
105
104
103
1
102
2
101
5
100
3
En base 2 il s'écrira ;
212
211
210
1
29
0
28
0
27
1
26
1
25
1
24
1
23
1
22
1
21
0
20
1
Chaque colonne est représentée par une donnée (0 ou 1) appelée bit
En base 2 les nombres seront codés sur un certain nombre de bits
On a ainsi
le codage sur 4 bits qui correspond aux nombres de 0 à 15
le codage sur 8 bits qui correspond aux nombres de 0 à 255
le codage sur 12 bits qui correspond aux nombres de 0 à 4095
19
le codage sur 16 bits qui correspond aux nombres de 0 à 65535
le codage sur 32 bits qui correspond aux nombres de 0 à 4294967294
Les ordinateurs actuels travaillent sur des combinaisons élevées (16, 32, 64 bit).
On voit bien qu'en base 2 on ne pourra pas représenter tous les nombres et que la
précision dépendra du nombre de bit utilisés pour représenter l'information. Par
ailleurs, il n'y a pas que les nombres à représenter. Il y a aussi toutes sortes de
caractères , alphabet, symboles de calculs divers (+,-,x, ÷, ...) , signes de
ponctuation (, ; : ! ? .....)ainsi que des caractères dits de service.
Il existe un certain nombre de codes mais il en est un qui est très utilisé, c'est le
code ASCII (= CCITT N° 5) qui est un code à 7 bits.
chiffre 1
chiffre 9
•
•
lettre e
signe +
•
•
b6 b5 b4 b3 b2 b1 b0
1 1 0 0 0 0 1
1 1 0 1 0 0 1
0
0
1
1
1
0
1
1
0
1
1
0
0
1
Un des problèmes qui se pose souvent est le changement de code. Nous allons
indiquer la procédure en utilisant l'exemple de la conversion de binaire en BCD. Le
BCD est un code qui permet de gérer les afficheurs.
20
Décimal
Binaire
BCD
b3 b2 b1 b0 d7 d6 d5 d4 d3 d2 d1 d0
0
0 0 0 0 0 0 0 0 0 0 0 0
1
0 0 0 1 0 0 0 0 0 0 0 1
2
0 0 1 0 0 0 0 0 0 0 1 0
3
0 0 1 1 0 0 0 0 0 0 1 1
4
0 1 0 0 0 0 0 0 0 1 0 0
5
0 1 0 1 0 0 0 0 0 1 0 1
6
0 1 1 0 0 0 0 0 0 1 1 0
7
0 1 1 1 0 0 0 0 0 1 1 1
8
1 0 0 0 0 0 0 0 1 0 0 0
9
1 0 0 1 0 0 0 0 1 0 0 1
10
1 0 1 0 0 0 0 1 0 0 0 0
11
1 0 1 1 0 0 0 1 0 0 0 1
12
1 1 0 0 0 0 0 1 0 0 1 0
13
1 1 0 1 0 0 0 1 0 0 1 1
14
1 1 1 0 0 0 0 1 0 1 0 0
15
1 1 1 1 0 0 0 1 0 1 0 1
Pour résoudre ce changement de code (transcodage) nous allons utiliser la méthode
de Karnaugh.
Dans ce système les variables sont les colonnes b0 à b3 et chaque colonne d0 à d7
est une fonction qu'il faut évaluer.
La fonction qui correspond à la colonne d0 est évidente puisqu'elle correspond à la
colonne b0.
Evaluons maintenant la colonne d1:
00
01
11
10
00 01 11 10 b3b2
0 0 1 0
0 0 1 0
1 1 0 0
1 1 0 0
b1b0
21
d1 = b1 b 3 + b1 b2 b 3
b3
b1
d1
b2
Schéma de cablage de la fonction d1
De même:
d 2 = b 2 b 3 + b1 b 2
d 3 = b1 b 2 b 3
d 4 = b 2 b3 + b1 b 3
•
•
•
22
OPERATIONS ARITHMETIQUES
A - Représentation des nombres
A1 - Nombres entiers non signés
On représente alors les nombre sur un cetain nombre de bits
Par exemple sur 3 bits:
Décimal
Binaire
0
0 0 0
1
0 0 1
2
0 1 0
3
0 1 1
4
1 0 0
5
1 0 1
6
1 1 0
7
1 1 1
On voit tout de suite que pour représenter un grand nombre entier on aura besoin
d'un très grand nombre de bits
A2 - Nombre signés : ± N
Il va falloir attibuer 1 bit pour le signe. Le nombre signé sera donc sous la forme:
1 bit de signe + n bits pour la valeur absolue du nombre à représenter
Exemple d'un nombre signé repésenté sur 3 bits
On choisit comme convention :
• Signe + valeur 0
• Signe - valeur 1
23
Signe Binaire
0
0 0
0
0 1
0
1 0
0
1 1
1
0 0
1
0 1
1
1 0
1
1 1
Décimal
+0
+1
+2
+3
-0
-1
-2
-3
On s'aperçoit tout de suite d'un problème de taille.
Il existe deux valeurs pour représenter 0 !
Comment s'en sortir ?
Nous allons voir que le complément à 2 permet de résoudre ce problème.
Nous allons tout d'abord définir ce que sont les compléments.
i - complément à 1 d'un nombre binaire
Soit A un nombre de n bits, ai
A s'écrit: A = an-1 an-2 ....a1 a0
Le complément à 1 de A est le nombre A' tel que :
A' + A = 2n - 1
Cela équivaut donc pour trouver le nombre A' à inverser tous les bits du nombre A.
A' = a n−1 a n −2 ......a1 a 0
On peut le vérifier aisément:
24
A →→ a n−1a n− 2 .......a 1a 0
+
A' →→ a n−1 a n −2 ......a1 a 0
1 1 .... 1 1
ii - Complément à 2 d'un nombre binaire
Soit A un nombre de n bits, le complément à 2, A" de A est tel que:
A + A" = 2n
Comme l'on avait: A' + A = 2n - 1, alors A" = A' + 1
Ce que l'on vérifie aisément :
A →→ a n−1a n− 2 .......a 1a 0
+
A' →→ a n−1 a n −2 ......a1 a 0
+
1
= 2n
0 0 ....
0 0
Donc A + A" = 0 à 2n près. Ceci indique que A" est l'opposé de A
A3 - Représentation des nombres en complément à 2
Comme dans le cas précédent nous allons représenter sur 3 bits
Complément
à2
Signe Binaire
0
0 0
0
0 1
0
1 0
0
1 1
1
1 1
1
1 0
1
0 1
1
0 0
25
Décimal
+0
+1
+2
+3
-1
-2
-3
-4
Vérification :
+1
+1 est représenté par:
Son inverse (complément à 2) est:
-1
001
111 (c.à.d. 110 + 1)
+2
+2 est représenté par:
Son inverse (complément à 2) est:
-2
010
110 (c.à.d. 101 + 1)
Ce qui est important c'est que le 0 n'a plus qu'une seule représentation.
A4 - Représentation d'un nombre fractionnaire
Le nombre sera représenté par n bits qui seront partagés en:
• n1 bits pour la partie entière
• n2 bits pour la partie fractionnaire
• 1 bit pour le signe
•
Exemples:
a)
Signe
0
Entière
1
1
0
Fract.
1
0
S 22 21 20 2-1 2-2
0 1 1 0 1 0
⇓
⇓
⇓ ⇓
+
6
0,5
Le résultat est donc + 6,5
26
b) Soit à trouver
Signe
1
Entière
1
1
1
Fract.
0
1
Le bit de signe étant égal à 1 il s'agit d'un nombre négatif. Afin de trouver sa valeur
absolue je cherche son opposé c'est à dire que je calcule son complément à 2.
C'est: 000011
S 22 21 20 2-1 2-2
0 0 0 0 1 1
⇓
⇓
⇓ ⇓
+
0
0,75
Le nombre recherché est donc - 0,75.
Exemple d'additions et de soustractions en utilisant le complément à 2
Je veux additionner 2 et 3. Ce sont deux nombre positifs qui s'écrivent:
2 ⇒
3 ⇒
5 ⇐
S
0
0
0
Nombre
010
011
101
Je veux soustraire 3 de 2 (2 - 3). Cela revient à ajouter le nombre négatif -3 au
nombre positif + 2.
2 ⇒
-3 ⇒
-1 ⇐
S
0
1
1
Nombre
010
101
111
Compl. à 2 de +3
Le résultat, 1111 est bien le complément à 2 de +1.
27
REALISATION ELECTRIQUE DES FONCTIONS LOGIQUES
Les fonctions logiques, comme nous l'avons déjà vu, peuvent être réalisées avec des
résistances, des diodes et/ou des transistors.
+5V
S
E1
E2
+5V
Diode-Transistor logic (DTL)
E1
E2
S
Transistor-Transistor logic (TTL)
28
Si elle est réalisée en éléments discrets, une porte logique a une taille de plusieurs
centimètres carrés.
En 1965, sont apparus les premiers circuits intégrés. Il s'agit de boitiers qui
comportent un certain nombre de broches. Les boitiers les plus courants comportent
14, 16, 18, 20, 24, 28, 40 broches disposées en deux rangées parallèles.
Un boitier 14 broches (très courant) mesure 20 x 8 mm2.
Ces boitiers comportent un certain nombre de portes logiques.
Exemple : Le 7400 (quatre portes NAND)
+ Vcc
14
8
1
7
Masse
Repère
Série standard
Type de boitier
}
}
}
Famille
Usage professionnel
}
}
SN 74 LS 00 N
N° du boitier dans la famille
ici ce sont des NAND
29
On classe les circuits selon leur densité d'intégration. C'est donc quelquechose qui a
évolué avec le temps.
Ce sont :
SSI
Small Scale Integration
(quelques portes par boitier)
MSI
Medium Scale Integration (quelques dizaines de portes)
LSI
Large Scale Integration
VLSI
Very Large Scale Integration
(100 à 1000 portes)
(> 1000 portes)
Les familles de Circuits Intégrés
La famille TTL
Pendant longtemps la plus développée. Elle cosntitue un standard. Ses
caractéristique s moyennes sont :
• retard ~ 10 ns par porte
• consommation ~ 10 mW
Il existe un certain nombre de sous-familles (la ou les lettres au milieu de la
dénomination du boitier:
Famille
TTL
TTL
TTL
TTL
Sous-famille Utilisation Retard/porte Conso/porte
H
Rapide
6
22
L
Low power
33
1
S
Schottky
3
19
LS
Low power
10
2
Schottky
30
La famille ECL (Emitter Coupled Logic)
Les transistors ne travaillent pas dans le régime bloqué-saturé. Ils travaillent dans le
régime linéaire. C'est une logique extrêmement rapide (≤ 1 ns) mais elle pose de
gros problèmes d'interconnexions.
La famille MOS (Metal Oxyde Semiconductor)
Du fait de la petite taille des transistors l'échelle d'intégration est extrêmement
élevée. La consommation est aussi très faible. Elle est cependant un peu plus lente
que la TTL la plus rapide.
La famille CMOS (Complementary MOS)
On retrouve beaucoup des circuits de la TTL. Avantage du MOS: faible
consommation et vitesse très proche de la TTL-LS.
Dans toute la suite du cours on ne s'intéressera qu'à la famille TTL
Les circuits TTL sont alimentés sous 5 Volt.
Convention logique
Il s'agit de la concordance entre potentiels et états logiques.
2 possibilités
0V
0 logique
5V
1 logique
0V
1 logique
5V
0 logique
Logique positive
Logique négative
31
Différents types de portes
Portes à sortie collecteur ouvert:
+5V
E1
E2
S
Porte NAND à collecteur ouvert
Ce type de porte peut servir à différentes fonctions:
Commande d'une charge externe
+ V  5V
(potentiel de charge)
Etage de sortie
de la porte
32
Le potentiel de charge peut être soit le potentiel d'alimentation (5V) soit une
tension plus élevée (≤ 30V). Un courant assez important peut être débité (~ 40-100
mA).
Fonction ET cablée
On connecte toutes les sorties entre elles et l'on met en commun le circuit de charge.
a
bloqué
saturé
bloqué
saturé
b
bloqué
bloqué
saturé
saturé
Sortie
Vcc
0
0
0
C'est équivalent à la transmission d'une information parmi n.
+ V  5V
(potentiel de charge)
S
a
Etage de sortie
de la porte 1
b
Etage de sortie
de la porte 2
Réalisation d'une fonction ET cablée
33
Porte à sortie 3 états
Ces portes permettent de réunir les circuits par leurs sorties.
Les 3 états sont :
• état 1
basse impédance
• état 0
basse impédance
haute impédance
• état déconnecté
A
Y
C
Utilisation
Pour rentrer et sortir des données sur une même ligne
A
Vers circuit
Y
C
Y
C
34
A
Portes à entrées trigger de Schmitt
Signal d'entrée
Zone de basculement de
l'état 1 vers l'état 0
Signal d'entrée
Zone de basculement de
l'état 1 vers l'état 0
Zone de basculement de
l'état 0 vers l'état 1
Signal de sortie
Signal de sortie
Cas d'un inverseur classique
Cas d'un inverseur trigger de Schmitt
Représentation des portes trigger de Schmitt
35
LES SYSTEMES LOGIQUES
1 - Systèmes combinatoires
On ne regarde que les états des sorties à l'équilibre, c'est à dire indépendamment du
temps. On s'arrange simplement pour que les données aient le temps de se propager
à travers les portes.
L'état des sorties ne dépend que de l'état des entrées.
2 - Systèmes séquentiels
Le fonctionnement dépend du temps. L'état final qui est stable dépend de l'ordre
dans lequel les signaux sont appliqués.
3 - Les fonctions combinatoires usuelles
Nous n'allons étudier que la fonctionnalité des circuits
3.1 La comparaison (ex : 74LS85)
B3
B2
B1
B0
A>B 5
A=B 6
A<B 7
A<BIN
1
14
11
9
85
A>BIN
A3
A2
A1
A0
A=BIN
15
13
12
10
4
3
2
Résultats
Entrées de cascadage
Ce circuit peut être utilisé seul ou associé avec d'autres boitiers identiques
pour comparer des mots de plus de 4 bits. Dans le cas ou le boitier est
isolé (c'est à dire que l'on ne compare que des mots de 4 bits) les entrées
de cascadage doivent être connectées comme suit :
Entrée A<B à 0, Entrée A>B à 0 et entrée A=B à 1
36
Exemple de comparaison de deux mots de 8 bits
Bits de poids faibles
B
A>BIN
A<BIN
B3
B2
B1
B0
A>B 5
A=B 6
A<B 7
4
3
2
15
13
12
10
A3
A2
A1
A0
1
14
11
9
B3
B2
B1
B0
}
Sortie comparée
de A et de B
85
A>B 5
A=B 6
A<B 7
A<BIN
}
}
A
1
14
11
9
85
A=BIN
B
A3
A2
A1
A0
A>BIN
Bits de poids forts
15
13
12
10
A=BIN
}
}
A
4
3
2
+5V
3.2 - Décodeur binaire
Entrées
d’adressage
Entrées
de validation
}
}
Entrées
Validation Adresse
G1 G2A+G C B A
2B
x
1
1
1
1
1
1
1
1
1
1
x
0
0
0
0
0
0
0
0
x
x
0
0
0
0
1
1
1
1
x
x
0
0
1
1
0
0
1
1
x
x
0
1
0
1
0
1
0
1
Y0
Y1
Y2
Y3
138 Y4
5
Y5
4 G2B
G2A Y6
6
G1 Y7
1
2 A
B
3
C
15
14
13
12
11
10
9
7
}
Sorties
Sorties
Y0
1
1
0
1
1
1
1
1
1
1
Y1
1
1
1
0
1
1
1
1
1
1
Y2
1
1
1
1
0
1
1
1
1
1
Y3
1
1
1
1
1
0
1
1
1
1
37
Y4
1
1
1
1
1
1
0
1
1
1
Y5
1
1
1
1
1
1
1
0
1
1
Y6
1
1
1
1
1
1
1
1
0
1
Y7
1
1
1
1
1
1
1
1
1
0
3.3 Décodage BCD - 7 segments
a
b
c
d
e
f
g
Rb0
Afficheur 7 segments
7
A
1
B
2
C
6
D
}
BCD
3
5
4
Effacement
des entrées
LT
RBI
BI/RBO
A
B
C
D
E
F
G
13
12
11
10
9
15
14
}
Commande
des
segments
247
Effacement
des sorties
3.4 Multiplexage
But: aiguiller n bits d'information sur 1 bit
Exemple: le 74LS151
Validation
Entrées
{
Adresse {
7
12
13
14
15
1
2
3
4
EN
7
6
5
4
3
2
1
0
151
Y
W
9
C
10
B
11
A
38
5
6
{ Sorties
Entrées
Adresse
C B A
*
*
*
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1
Val
S
1
0
0
0
0
0
0
0
0
Sorties
Y W
0
1
d0 d0
d1 d1
d2 d2
d3 d3
d4 d4
d5 d5
d6 d6
d7 d7
3.5 Démultiplexage
C'est l'opération inverse du multiplexage. On peut utiliser le circuit décodeur
binaire 74LS138.
Adresse
{
G1 Y7
G2A Y6
5 G2B
Y5
138
Y4
3
C
Y3
2
B
Y2
1 A
Y1
Y0
7
9
10
11
12
13
14
15
{
Entrée 46
Sorties
L'information présente sur G1 sera transmise à une des sorties Yi, l'indice i étant
défini par le mot de trois bits ABC. Ex: ABC = 000 l'information présente en
G1 sera transmise en Y0.
3.6 Additionneur (ex: 74LS82; additionneur 2 bits)
Entrée A {
Entrée B {
Retenue entrante
13
B1
3
14 B0
A1
2
A0
5
Cin
82
12
1 1
0
Cout
10
39
{
Sortie A+B
Retenue sortante
3.7 Multiplieur
Commande d’arrondi{
{ Nombres signés ou non
Multiplicande
B7
B6
B5
B4
B3
B2
B1
B0
{
{
Validation
Y15
Y14
Y13
Y12
Y11
Y10
Y9
Y8
Y7
Y6
Y5
Y4
Y3
Y2
Y1
Y0
{
Multiplicateur
A7
A6
A5
A4
A3
A2
A1
A0
Sorties
3.8 Bloc de calcul arithmétique et logique
382
A
B
{
{
A3
A2
A1
A0
F3
F2
F1
F0
{
{
B3
B2
B1
B0
Résultat de
l’opération
Débordement et
retenue sortante
{
Co S0 S1S2
Code de
fonction
S2 S1 S0 Opération
0 0 0 F = 0000
0 0 1 F=B-A
0 1 0 F=A-B
0 1 1 F=A+B
1 0 0 F=A∪B
1 0 1 F=A⊕B
1 1 0 F=A∩B
1 1 1 F = 1111
40
Opérateurs
arithmétiques
Opérateurs
logiques
LES FONCTIONS SEQUENTIELLES SIMPLES
Il existe 4 fonctions de base
a) Le bistable
b) La bascule
c) Le monostable
d) L'astable (ou multivibrateur ou oscillateur)
• Le bistable: De manière générale un bistable est caractérisé par deux états de
sortie stables (0 et 1) qui sont commandables à partir des entrées.
• Le bistable RS
Entrées
{
Mise à 1
Mise à 0
S
Q
R
Q
{ Sorties
Le fonctionnement se décrit par une table de vérité qui présente la particularité
d'avoir en entrée non seulement les variables d'entrée R et S mais aussi la fonction
Q. cette table donnela nouvelle valeur de la sortie Q+ à partir des valeurs de R, S et
Q.
S
Q
R
Q
Q+
Cas 0 :
R = S = Q = 0
Q+ = S +Q = 0 +0 = 1
Q+ = Q+ + R = 1 +0 = 0
41
Si un bistable RS se trouve dans l'état 0, il conserve cet état si les entrées R et S
sont maintenues à 0
Cas 1 :
R = S = 0
Q = 1
Q+ = S +Q = 0 +1 = 0
Q+ = Q+ + R = 0 +0 = 1
Si un bistable RS se trouve dans l'état 1 il conserve cet état si les entrées R et S sont
maintenues à 0.
Les cas O et 1 sont les cas de maintien.
Cas 2 :
R = 0
S = 1
Q= 0
Q+ = S +Q = 1 +0 = 0
Q+ = Q+ + R = 0 +0 = 1
Si un bistable RS est dans l'état 0, il passera à l'état 1 si on applique 1 sur l'entrée S.
Etc …
Le fonctionnement du bistable RS est résumé dans le tableau suivant:
Cas n°
0
1
2
3
4
5
6
7
R
0
0
0
0
1
1
1
1
S
0
0
1
1
0
0
1
1
Q
0
1
0
1
0
1
0
1
Q+
0
1
1
1
0
0
*
*
Commentaires
Maintien
Maintien
Mise à 1
Mise à 1
Mise à 0
Mise à 0
Non exploité
Non exploité
Fonctionnement dynamique du bistable RS
42
S
Q
R
Q
Q+
S
R
tPLH ~ 30 ns
Q
tPHL1
Q
tPLH1
tPLH2
tPHL2
tPLH ~ 30 ns
Remarque :
Le bistable RS peut aussi être réalisé avec des pôrtes NAND.
• Le bistable D
Comme dans le cas du bistable RS il y a deux entrées et deux sorties. Dans le cas du
bistable D les entrées sont appelées D (pour data) et CK (pour clock) et les sorties
Q et Q.
43
Données
Horloge
D
{ Sorties
Q
Ck Q
D
Q
CK
Q
D
0
0
0
0
1
1
1
1
CK
0
0
1
1
0
0
1
1
Q
0
1
0
1
0
1
0
1
Q+
0
1
0
0
0
1
1
1
Table de vérité du bistable D
S
R
Q
tPLH
tPHL
44
Problème de l'utilisation du bistable D
Soit par exemple le circuit suivant :
Réseau
combinatoire
d’entrée
D
Q
D
Ck Q
Q
Ck Q
Réseau
combinatoire
d’entrée
Ce système ne peut pas marcher correctement. En effet, pendant le temps où
l'horloge est à 1, ce qui est en D passe en Q ce qui implique que le réseau
combinatoire d'entrée va calculer de nouvelles fonctions. Pour que ça marche il faut
remplacer le bistable par un circuit qui n'est actif que pendant un temps très court
(flanc montant ou descendant de l'horloge, par exemple).
Ces circuits portent le nom de BASCULES
45
• Les bascules
Il existe 3 types de bascules:
• la bascule RS (n'est pas employée seule)
• la bascule JK
• la bascule D
• La bascule JK
Preset
Mise à 1
(synchrone)
Horloge
(agit sur le flanc
montant)
Mise à 0
(synchrone)
S/
J
Q
C
K R/ Q
{ Sorties
Preset
Mise à 1
(asynchrone)
(asynchrone)
(synchrone)
S/
J
Q
C
K R/ Q
Horloge
(agit sur le flanc
descendant)
Mise à 0
Clear
(synchrone)
(asynchrone)
Preset Clear Clock J
Mode
0
1
*
*
1
0
*
*
asynchrone
0
0
*
*
1
1
0
Mode
1
1
0
1
1
1
synchrone
1
1
1
1
1
*
46
K
*
*
*
0
1
0
1
*
{ Sorties
Clear
(asynchrone)
Q + Q + Remarque
1
0
Mise à 1
0
1
Mise à 0
1
1
Instable
Q Q
Maintien
0
1
Mise à 0
1
0
Mise à 1
Q Q Commutation
Q Q
maintien
Clear
Preset
Q
Q
Mode asynchrone
Horloge
J
K
Q
Commutation
Maintien
Mise à 0
Mise à 1
Mode synchrone
• La bascule D
47
Preset
(mise à 1)
Donnée
Horloge
D
S
{
Q
CRQ
Sorties
Clear
(mise à 0)
Preset Clear CK
Mode
0
1
*
1
0
*
Asynchrone
0
0
*
Mode
1
1
1
1
Synchrone
1
1 0 ou 1
D
*
*
*
0
1
*
Q+
1
0
1
0
1
Q
Q+
0
1
1
1
0
Q
Remarques
Mise à 1
Mise à 0
Instable
Mise à 0
Mise à 1
Maintien
Table de vérité de la bascule D
D
Horloge
Q
Diagramme de fonctionnement de la bascule D
Le boitier 74LS74 contient 2 bascules D.
48
3.Le monostable
123
Entrées {
+5V
2
B
1
A
3
CLR
14
CX
15
R/C
10
B
9
A
11
CLR
6
CX
7
R/C
Entrées
Clear A
0
*
*
1
*
*
1
0
1
0
Q
Q
Q
Q
13
4
5
12
B
*
*
0
{
{
{
Sorties
Sorties
Q
Q
0
1
0
1
0
1
1
1
Table de vérité du monostable
• L'astable ou le multivibrateur ou l'oscillateur
Ce circuit fournit un signal périodique de durée d et de période T. d/T s'appelle le
rapport cyclique.
On peut réaliser des astables à partir de :
e) Un inverseur trigger de Schmitt
R
49
b) Deux monostables
1
0
123
+5V
2 B
1 A
3 CLR
14 CX
15 R/C
10 B
9 A
11 CLR
6 CX
7 R/C
Q 13
Q 4
Q 5
Q 12
Le premier monostable excite le second qui lui même excite le premier.
c) Une chaîne d'inverseurs rebouclés avec un quartz
d) Des boitiers oscillateurs: 74LS326, 555
50
FONCTIONS SEQUENTIELLES COMPLEXES
Une fonction séquentielle complexe doit gérer plusieurs éléments d'information à la
fois.
On donne le nom de registre à l'ensemble des opérations requises pour effectuer la
fonction.
En général un registre comporte:
• Un groupe de bascules alimentées par une horloge,
• Un réseau combinatoire d'entrée (il sert à élaborer les commandes d'excitation
des bascules),
• Un réseau combinatoire de sortie (il donnel'état de sortie du registre à partir de
l'état des bascules et des commandes de sortie).
Informations
d’entrée
Commande
des
entrées
Réseau d’entrée
Commande
des
bascules
Horloge
Bascules
Sortie des bascules
Commande
des
sorties
Réseau de sortie
Sorties
51
Le fonctionnement du registre se décrit par une table de vérité qui comporte:
• En entrée
•
•
•
•
•
Etat ancien des bascules
Information d'entrée
Commande d'entrée
Commande de sortie
Horloge
• En sortie
• Etat futur des bascules
• Etat de sortie du registre
Les registres peuvent avoir différentes fonctions:
• Fonction de mémorisation
• Fonction de comptage
• Fonction de décalage.
52
LES COMPTEURS
+5V
D
S
Q
D
CRQ
S
Q
D
CRQ
S
Q
D
CRQ
S
Q
CRQ
1
0
X
Y
Z
Exemple de compteur binaire 4 bits
Horloge
X
Y
Z
T
53
T