Telechargé par Eddy Ouattara

Cours circuits Logiques Chapitre 1 SYSTE

publicité
Chapitre 1
SYSTEMES DE NUMERATION
ET OPERATIONS ARITHMETIQUES
A-
SYSTEMES DE NUMERATION :
Pour qu’une information numérique soit traitée par un circuit, elle doit être mise sous
forme adaptée à celui-ci. Il y a lieu alors de choisir un système de numération de base B
(B un nombre entier naturel ≥ 2).
De nombreux systèmes de numération sont utilisés en technologie numérique. Les
plus courants sont les systèmes décimal, binaire et hexadécimal.
Ι- Les différents types de numération :
1- Système Décimal :
Le système décimal comprend 10 chiffres qui sont 0,1,2,3,4,5,6,7,8,9. Ce système est
appelé aussi système à base 10, il s’est imposé tout naturellement à l’Homme qui possède
dix doigts.
Exemple 1 :
2 5 7 = 2 . 1 0 2 + 5 . 10 1 + 7 . 10 0
Le 2 est le chiffre de poids le plus fort.
Le 7 est le chiffre de poids le plus faible.
Exemple 2 :
2745,214 = 2.103 + 7.102 + 4.101 + 5.100 + 2.10-1 + 1.10-2 + 4.10-3
De manière général, tout nombre est égale à la somme de produits de chaque chiffre par le
poids de son rang dans le nombre.
2- Système Binaire :
Le système décimal est difficile à adapter aux systèmes numériques. Par exemple, il est
difficile de concevoir des équipements électroniques qui puissent fonctionner avec dix
niveaux de tensions différents. Par contre, il est très facile d’imaginer des systèmes
électroniques qui fonctionnent seulement avec deux niveaux de tension. C’est le raison
pour laquelle la plus part des systèmes numériques ont recours au système binaire (base 2)
comme système de numération. Dans le système binaire, il n’y a que deux chiffres
possibles 0 et 1.
Dans le système binaire, le chiffre binaire est souvent abrégé en bit.
Exemple 1 :
1011 = 1.23 + 0.22 + 1.21 + 1.20 = 11(10)
Cours circuits Logiques
1
El Amjed HAJLAOUI
Exemple 2 :
1011,101 = 1.23 + 0.22 + 1.21 + 1.20 + 1.2-1 + 0.2-2 + 1.2-3 = 11.62510
3- Système Hexadécimal :
Le système hexadécimal ou base 16 contient 16 chiffres qui sont les dix chiffres 0 à 9
plus les lettres A, B, C, D, E, F.
Le tableau ci-dessous montre les équivalences entre les systèmes hexadécimal, décimal
et binaire.
Hexadécimal
Décimal
0
0
Binaire
0000
1
1
0001
2
2
0010
3
3
0011
4
4
0100
5
5
0101
6
6
0110
7
7
0111
8
8
1000
9
9
1001
A
10
1010
B
11
1011
C
12
1100
D
13
1101
E
14
1110
F
15
1111
Exemples :
356(16) = 3.162 + 5.161 + 6.160 = 854(10)
2AF(16) = 2.162 + 10.161 + 15.160 = 687(10)
Notez dans le deuxième exemple qu’on a substitué à A la valeur 10 et à F la valeur 15.
ΙΙ- Les différent types de conversions
Il s’agit de processus de conversion d’un système de base B1 à un système de base B2.
1- Conversion Binaire- Décimal :
Tout nombre binaire peut être transformé en son équivalent décimal simplement en
additionnant les poids des diverses positions où se trouve la valeur 1.
Voici un exemple :
1
1
0
1
1
1.24 + 1.23 + 0.22 + 1.21 + 1.20 = 16+8+2+1 = 2710
Cours circuits Logiques
2
El Amjed HAJLAOUI
2- Conversion Décimal- Binaire :
Pour convertir un nombre décimal en nombre binaire, on recourt à la répartition de la
division par 2 du nombre décimal à convertir et au report des restes pour chaque division
jusqu’à ce que le quotient soit 0. Le nombre binaire cherché est obtenu en écrivant le
premier reste à la position du bit de poids le plus faible et le dernier reste à la position du
bit de poids le plus fort.
Exemple : 25 2
1 12 2
0
6
2
0
3
2
1
1
2
1
0
Donc 2510 = 11001
3- Conversion Hexadécimal – Décimal :
Un nombre hexadécimal peut être converti en son équivalence décimal en additionnant le
produit de chaque chiffre du nombre hexadécimal par le poids correspondant.
Exemple :
2AF16 = 2.162 + 10.161 + 15.160 = 512 +160 +15 = 68710
4-Conversion Décimal - Hexadécimal :
Pour convertir un nombre décimal en nombre hexadécimal, on procède à la division
successive par 16.
Exemple : 423 16
7 26 16
10
1
16
1
0
Donc 42310 = 1A716
On remarque que les restes supérieurs à 9 exprimés au moyen des lettres A à F.
5- Conversion Hexadécimal – Binaire
La conversion d’un nombre hexadécimal en nombre binaire ne pose aucun problème,
puisque chaque chiffre hexadécimal est remplacé par son équivalence binaire de 4 bits.
Exemple :
9
F
1001
1111
2
0010 =
Cours circuits Logiques
100111110010
3
El Amjed HAJLAOUI
6- Conversion Binaire – Hexadécimal
Cette conversion est tout simplement l’inverse de la précédente. Le nombre binaire est
divisé en groupe de 4 bits, puis on substitue à chaque groupe son chiffre hexadécimal
équivalent.
Au besoin, on ajoute des 0 à gauche pour obtenir un groupe de 4 bits.
Exemple :
0011
1010
0110
3
B-
A
6
= 3A616
ARITHMETIQUE BINAIRE
Ι- Ecriture d’un nombre binaire signe
Un nombre binaire signé est composé par :
• Le nombre binaire en question ( grandeur exacte)
Exemple : 4710 = 101111
• Un bit de signe indique si le nombre est positif ou négatif. Ce bit de signe est le
premier bit à gauche de l’ensemble de bits.
Exemple :
Nombre positif :
+4710 = 0 1 0 1 1 1 1
Bit de
signe
Nombre négatif :
-4710 = 1
grandeur = 4710
exacte
101111
Bit de grandeur = 4710
Signe
exacte
Cette méthode présente plusieurs inconvénients :
- Pour effectuer une opération sur des entiers positifs et négatifs, il faut tester
systématiquement le bit de signe.
- Il est nécessaire de définir une opération de soustraction des valeurs absolues.
- Il existe deux représentations du 0, qui peut être interprété comme 0 positif ou négatif.
C’est pour ces raisons qu’on n’utilise pas cette convention pour écrire les nombres
négatifs, mais plutôt la notation en complément à 2, qui est définit de la façon
suivante :
Complément à 2 :
Le complément à 2 d’un nombre binaire s’obtient en changeant chaque 0 par 1 et chaque 1
par 0( cette étape est appelée complément à 1) et en ajoutant 1 au bit de poids le plus faible.
La notation en complément à 2 est très utile car avec, on peut faire une soustraction en
effectuant en réalité une addition. Cela est très important dans le cas des ordinateurs et les
calculateurs, puisque avec les mêmes circuits, on effectue l’adition et la soustraction.
Exemple : le complément à 2 de 4510 = 101101 est :
Le complément à 1 :
010010
+
1
Le complément à 2 :
010011
Remarque 1 : Pour revenir d’un nombre complémenté à 2 au nombre binaire initial, il faut de
nouveau complémenter à 2.
Remarque 2 : En notation en complément à 2 et avec N bits, on représente les nombres signés
compris entre -2N-1 à 2N-1 -1
Cours circuits Logiques
4
El Amjed HAJLAOUI
A titre d’exemple : pour N = 3 bits, on a :
Valeur Décimal
-8=-23
-7
-6
-5
-4
-3
-2
-1
0
1
2
3
4
5
6
7=23 -1
Nombre Binaire Signe en
Complément à 2
1000
1001
1010
1011
1100
1101
1110
1111
0000
0001
0010
0011
0100
0101
0110
0111
ΙΙ- Addition Binaire
Trois cas peuvent se présenter avec l’addition binaire :
• L’addition de deux nombres positifs.
• L’addition de deux nombres de signes contraires.
• L’addition de deux nombres négatifs.
La méthode consiste à écrire les nombres positifs en notation exacte et remplacer les
nombres négatifs par leur complément à 2 avant l’addition. Si le résultat est positif, il est en
notation exacte, s’il est négatif, il est en notation complément à 2.
1-Addition des nombres non signes
Effectuons l’addition des deux nombres suivants. L’écriture de l’addition est la suivante :
1er nombre : +910
2ème nombre : +410
Résultat :
1001
0100
1101
REMARQUE TRES IMPORTANTE :
Il faut s’assurer que le résultat se tient dans N bits, pour cela le résultat doit se tenir dans
l’intervalle [0,2N -1], sinon, il y aura un dépassement et par conséquence le résultat est
inexact.
Exemple :
1er nombre :
+910
1001
2ème nombre :
+810
1000
Résultat
Cours circuits Logiques
1 0001
↑
dépassement
5
El Amjed HAJLAOUI
2-Addition des nombres signes :
Effectuons l’addition des deux nombres suivants : 710 – 410 ; Comme – 410 est un nombre
négatif, il faut le remplacer par son complément à 2.
Donc l’addition est :
710 → 0111
– 410 → 1100
complément à 2 de 4
1 0011
↑
← 310
Débordement à éliminer
Effectuons l’addition des deux nombres suivants : -610 + -210
Comme -610 et -210 sont des nombres négatifs, il faut les remplacer par leur complément à 2.
Donc l’addition est :
-610 → 1010 complément à 2 de 6
-210 → 1110 complément à 2 de 2
1 1000
↑
Débordement à éliminer
Le résultat est un nombre négatif, on doit prendre son complément à 2.
Le résultat est donc en notation exacte 1000 = 810 en valeur absolue.
REMARQUE TRES IMPORTANTE :
En arithmétique signée sur N bits, il faut s’assurer que le résultat soit dans l’intervalle
[-2N-1 ,2N-1 -1], pour que le résultat ne soit pas erroné.
Exemples :
• 1er nombre :
+910 → 1001
2ème nombre : -1 → 1111 complément à 2 de 1
1 1000 le résultat est négatif, ce qui est absurde
•
1er nombre :
2ème nombre :
↑
Débordement à éliminer
-610 → 1010 complément à 2 de 6
-310 →
1101 complément à 2 de 3
1 0111 le résultat est positif, ce qui est absurde
↑
Débordement à éliminer
N.B. : Avec l’addition des nombres signés, le débordement est toujours ignoré.
ΙΙΙ-MILTIPLICATION BINAIRE
On multiplie les nombres binaires de la même façon qu’on multiplie les nombres
décimaux. Voici un exemple de multiplication de nombres binaires non signés.
1 0 0 1 → 910
x 1 0 1 1 → 1110
1001
1001
0000
1001
1 1 0 0 0 1 1 → 9910
Cours circuits Logiques
6
El Amjed HAJLAOUI
dans cet exemple, les valeurs sont en notation binaire exacte et il n’y a pas de bit de signe.
La marche à suivre est la même que pour les multiplications décimales. Les circuits
numériques n’additionnent pas l’ensemble des produits partiels directement mais deux par
deux : le premier avec le deuxième puis la somme obtenue avec le troisième et ainsi de suite.
C’est ce qu’on illustre ci-après :
1 0 0 1 → premier produit partiel
1 0 0 1 → second produit partiel décalé vers la gauche
1 1 0 1 1 → somme des deux premiers produits partiels
0000
→ troisième produit partiel décalé vers la gauche
0 1 1 0 1 1 → somme des trois premiers produits partiels
1001
→ quatrième produit partiel décalé vers la gauche
1 1 0 0 0 1 1 → somme des quatre produits partiels
Si les nombres sont négatifs, ce sont leurs compléments à 2 qui sont pris en considération
avant la multiplication et le résultat est en notation exacte.
Si l’un des nombres est négatif, on prend son complément à 2 avant la multiplication, le
résultat est le complément à 2 du produit cherché.
REMARQUE TRES IMPORTANTE :
Il faut toujours s’assurer que le résultat se tient dans l’intervalle [0,2N -1] avec des nombres
non signés à N bits, ou dans l’intervalle [-2N-1 ,2N-1 -1] avec des nombres signés.
410 - - - - - - -→ 00100
-410 - - - - - - -→ 11100
Complément à 2
-310 - - - - - - → 11101
-310 - - - - - - - → 11101
Complément à 2
complément à 2
Donc
x
donc
11101
00100
x
= 1 1 1 0 1 0 0 -------→01100= 1210
Complément
à2
(en valeur absolue)
11100
11101
=11001 0 1 1 0 0 = +1210
ΙV- DIVISION BINAIRE
La division binaire est identique à celle de la division de deux nombres décimaux.
Exemple :
110110
-1010
00111
-00000
1110
-1010
0100
Cours circuits Logiques
7
El Amjed HAJLAOUI
Soit 1101102 = 10102 x 1012 + 1002
Si les nombres sont signés, la division s’effectue de la même façon que la multiplication :
• Si les nombres sont négatifs, on prend leurs compléments à 2 avant la division, le
quotient est en notation exacte.
• Si l’un des nombres est négatif, on prend son complément à 2 avant la division, le
résultat est le complément à 2 du quotient cherché.
C- ARITHMETIQUE HEXADECIMALE
Les nombres hexadécimaux sont utilisés dans la programmation en langage machine, et
aussi pour désigner les adresses indiquant les cases mémoires.
Ι- Addition Hexadécimal :
Ce type d’addition est effectué de la même façon que l’addition décimale, tout en
notant que le chiffre le plus grand en hexadécimal est F.
La procédure proposée est celui-ci :
• Additionner les deux chiffres hexadécimaux comme des chiffres décimaux, en
remplaçant mentalement les lettres par leurs équivalences.
• Si la somme ≤ 15, inscrire directement le chiffre hexadécimal.
• Si la somme ≥ 16, soustraire 16 et reporter 1 sur le rang à gauche.
Exemples :
58
+ 34
-------= 8C
58
+ 4B
--------=A3
3AF
+43C
--------=7EB
CAFE
+ CAF E
----------=195FC
ΙΙ- Soustraction Hexadécimale
On peut soustraire les nombres hexadécimaux en utilisant la même méthode que celle
pour les nombres binaires. Le diminuteur hexadécimal est complémenté à 2 puis
additionner au diminuante.
1ère méthode : convertir le nombre hexadécimal en binaire, prendre le complément à
2 de son équivalent binaire puis convertir le résultat en hexadécimal.
• 2ème méthode : soustraire chaque chiffre hexadécimal de F, puis ajouter 1.
Exemples :
1ère méthode :
7 3 A -------→0111 0011 1010-------→1000 1100 0110-------→8 C 6
•
binaire
complément
à2
2ème méthode :
hexadécimal
F F F
- 7 3 A
--- --- --- ←soustraire chaque chiffre de F
8 C 5
+
1 ← additionner 1
-------------8 C 6 ←le complément à 2 du nombre hexadécimal
Cours circuits Logiques
8
El Amjed HAJLAOUI
Exercice :
Effectuer la soustraction des deux nombres hexadécimaux suivants :
592 – C5B = ?
D- Les Codes
L’action de faire correspondre à des nombres, des lettres ou des mots, un groupe
spécial de symboles s’appelle codage. Ce groupe de symboles s’appelle code.
Ι-Code BCD (Binary Coded Decimal)
On représente chaque chiffre d’un nombre décimal par son équivalent binaire sur 4
bits comme le montre le tableau suivant.
Code
0
1
2
3
4
5
6
7
8
9
Décimal
Code
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001
BCD
Quand on code en BCD, chaque chiffre individuel est remplacé par son équivalent
binaire.
8
7
4
décimal
Exemple :
↑
↑
↑
1000
0111
0100
BCD
ΙΙ-Code Majoré de Trois
Le code majoré de trois d’un nombre décimal se calcule de la même façon que le
code BCD, sauf qu’on ajoute trois à chaque chiffre décimal avant d’opérer la
conversion.
Exemple :
4
9
+3
+3
--------7
12
↑
↑
0111
1100
Le tableau suivant donne la liste du code majoré de trois pour les dix chiffres décimaux.
0
1
2
3
4
5
6
7
8
9
Code Décimal
0011 0100 0101 0110 0111 1000 1001 1010 1011 1100
Code Majoré de 3
ΙΙΙ - Code de Gray
C’est un code qui appartient à la catégorie des codes dit à distance minimale, du fait
q’une représentation codée ne diffère de celle qui la précède que par un bit, comme le
montre le tableau suivant :
Cours circuits Logiques
9
El Amjed HAJLAOUI
Décimal Binaire Gray
Décimal Binaire
Gray
0000
0000
1000
1100
0
8
0001
0001
1001
1101
1
9
0010
0011
1010
1111
2
10
0011
0010
1011
1110
3
11
0100
0110
1100
1010
4
12
0101
0111
1101
1011
5
13
0110
0101
1110
1001
6
14
0111
0100
1111
1000
7
15
Le code Gray sert souvent dans des situations où d’autres codes, comme le code
binaire, peuvent produire des résultats ambigus quand il y a changement de plusieurs
bits.
Par exemple, en code binaire, quand on passe de 0111 à 1000 les 4 bits changent en
même temps. Cette transition effectuée par le circuit en question, pourra occasionner un
ou plusieurs états intermédiaires. Donc, il peut arriver que par exemple le bit de poids le
plus fort (ou un autre) change avant les autres, on observera les transitions suivantes :
0 1 1 1 chiffre 7
↓
1 1 1 1 code erroné
↓ ↓ ↓
1 0 0 0
chiffre 8
L’apparition de 1111 qui est seulement temporaire, peut donner lieu à un
fonctionnement imprévisible des circuits contrôlés par ces bits.
Avec le code de Gray, une telle situation est impossible puisqu’un seul bit est changé à
la fois au cours d’une transition.
Cours circuits Logiques
10
El Amjed HAJLAOUI
CHAPITRE 2
ALGEBRE DE BOOLE
ET PORTES LOGIQUES
Les circuits numériques fonctionnent en mode binaire, c'est-à-dire en mode dans lequel les
tensions sont 0 ou 1. C’est une caractéristique des circuits logiques qui font appel à l’algèbre
de Boole pour l’analyse et la conception des circuits numériques. L’algèbre Booléenne se
distingue de l’algèbre ordinaire par des variables qui ne peuvent prendre que les deux valeurs
possibles 0 et 1.
Dans l’algèbre de Boole, on ne trouve que trois opérations Booléennes élémentaires :
• L’addition logique, dite aussi OU. Le symbole de cette opération est (+).
• La multiplication logique, dite aussi ET. Le symbole de cette opération est (.).
• L’inverse logique, dite aussi NON. Le symbole de cette opération est (---).
Ι- La Porte OU (OR)
Soit deux variables logiques indépendantes, A et B. L’addition logique de ces deux
variables donne : X = A + B
Dans cette équation, le signe + n’indique pas une addition ordinaire, mais plutôt l’addition
logique (opération ou) dont les règles sont définis dans la table de vérité ci-dessous :
A
0
0
1
1
B
0
1
0
1
X=A+B
0
1
1
1
Le circuit électronique qui réalise cette fonction est la porte OU (OR) ayant au moins deux
entrées et dont la sortie est égale à la somme logique des entrées.
Remarque : La même discussion s’applique à plus de deux entrées. La figure ci-dessous
montre une porte OU à trois entrée ainsi que table de vérité.
Cours circuits Logiques
11
El Amjed HAJLAOUI
A
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
X=A+B+C
0
1
1
1
1
1
1
1
ΙΙ-La porte ET (AND)
Si deux variables logiques A et B sont combinées par la multiplication logique (ET), le
résultat s’exprime ainsi : X = A . B
Dans cette expression, le signe (.) signifie l’opération booléenne ET, dont les règles sont
données dans la table de vérité ci-dessous :
A
0
0
1
1
B
0
1
0
1
X= A. B
0
0
0
1
Le circuit électronique réalisant cette fonction est la porte ET ayant au moins deux entrées et
dont la sortie est égale au produit logique des entrées.
Remarque : Il exista des portes ET à plus de deux entrées. A titre d’exemple la figure cidessous montre une porte ET à trois entrées.
A
0
0
0
0
1
1
1
1
Cours circuits Logiques
B
0
0
1
1
0
0
1
1
C X =A . B . C
0
0
1
0
0
0
1
0
0
0
1
0
0
0
1
1
12
El Amjed HAJLAOUI
ΙΙΙ- La Porte NON
L’opération NON, contrairement aux opérations précédentes, ne concerne qu’une seule
variable d’entrée. Si une variable A est soumise à une opération NON, le résultat X est donné
par :
X=Ā
Le circuit électrique qui réalise cette fonction est l’inverseur ayant une seule entrée.
A X=Ā
0
1
1
0
Tout circuit logique quelle que soit sa complexité, peut être décrit au moyen des opérations
booléennes déjà décrites, car la porte ET, la porte OU et la porte inverseuse sont les circuits
constitutifs élémentaire des systèmes numériques.
ΙV- Porte NI (NOR), Porte NON- ET (NAND)
En technique numérique, on retrouve très souvent deux autres types de portes logiques : la
porte NI et la porte NON ET. En réalité ces portes correspondent à des combinaisons
d’opérations élémentaires ET, OU et NON.
1- Porte NI (NOR)
La porte NI est équivalente à une porte OU suivie d’un inverseur. L’expression de sortie
d’une fonction NI est :
X=A+B
Le tableau de vérité ainsi que le symbole de la porte NI sont donnés par le figure ci-dessous :
A
0
0
1
1
Cours circuits Logiques
B
0
1
0
1
A+B
0
1
1
1
13
A+B
1
0
0
0
El Amjed HAJLAOUI
2- Porte NON ET (NAND)
La porte NON ET est équivalent à une porte ET suivie d’un inverseur.
Le symbole de la porte NON ET est :
V- Porte OU Exclusif (XOR), NI Exclusif (XNOR)
Deux circuits logiques spéciaux interviennent souvent dans les systèmes numériques : le
circuit OU exclusif et le circuit NI exclusif.
1-OU exclusif (XOR)
C’est une porte logique à deux entrées A, B. ces deux entrées sont combinées pour que la
sortie soit égale :
X=A⊕B
Le signe ⊕ représente l’opération OU exclusif.
La table de vérité ainsi que le symbole d’une porte OU exclusif sont donnés par la figure cidessous :
A B
X=A (+) B
0 0
0
0 1
1
1 0
1
1 1
0
La porte OU exclusif produit en sortie un niveau Haut quand les signaux sur les deux
entrées sont opposés.
Cours circuits Logiques
14
El Amjed HAJLAOUI
2- NI exclusif :
Le NI exclusif a un fonctionnement opposé à celui du circuit OU exclusif.
Le table de vérité ainsi que le symbole de la porte NI exclusif sont donnés par la figure cidessous :
A
B
0
0
1
1
0
1
0
1
A⊕B
1
0
0
1
La porte NI produit en sortie un niveau Haut quand les deux entrées sont identiques.
VΙ-Théorèmes de Boole
1- Théorèmes pour une variable
Ce tableau ci-dessous résume le groupe des théorèmes à une variable logique X :
X .0 = 0
X+1 =1
X.1 = X
X+0 =X
X .X = X X+X = X
_
_
X. X = 0 X+X =1
2- Théorèmes pour plusieurs variables
•
•
•
•
•
•
•
•
•
•
X+Y = Y+X
X .Y = Y .X
X +(Y+Z) = (X+Y) +Z =X+Y+Z
X. (Y .Z) = (X. Y). Z =X .Y .Z
X. (Y+Z) = X .Y + X .Z
X +(Y .Z) = (X+Y). (X+Z)
X+X. Y =X
X. (X+Y) = X
_
X + X .Y = X+Y
Preuve :
_
_
X + X .Y = X + X .Y + X. Y car X= X + X .Y
_
_
= X+ Y. (X +X) = X .Y
X. (X +Y)= X .Y
Cours circuits Logiques
15
El Amjed HAJLAOUI
3- Théorèmes de Morgan
Deux des plus importants des théorèmes de l’algèbre Booléenne sont donnés par le
mathématicien DE MORGAN :
_ _
X +Y = X. Y
_ _
X .Y = X+Y
Vérification :
X
0
0
1
1
Y
0
1
0
1
____
X+Y
1
0
0
0
_ _
X .Y
1
0
0
0
____
X .Y
1
1
1
0
_ _
X+Y
1
1
1
0
VII - Simplification Algébrique
Les théorèmes de l’algèbre de Boole étudiés précédemment peuvent nous être d’un grand
secours pour simplifier une expression logique.
Pour cela prenons quelques exemples :
Exemple-1- :
_
_
Z = A .B .C + A .BC + ABC
_
_
=A .B(C+C) + A .B .C
_
=A .B + A .B .C
_
=A. (B+B .C)
_
D’après le théorème : X+X .Y = X+Y
Z =A .(B+C)
_
_
Exemple-2- :
Z = (A+B). (A+B+D)D
_ ___ _
_ _
_
_
_
_
= A. A .D +A .B .D+A .D. D+B .A .D +B .B .D +B .D .D
↑
↑
↑
0
0
0
_
_
_
_
= A. B. D +B. A .D +B. D
_ _
_
=B. D. (A+A)+B. D
_ _
=B .D.(A+A+1)
_
=B. D
Cours circuits Logiques
16
El Amjed HAJLAOUI
Exemple-3-:
_ _ _ _
Z= A. B+A. B+A. B
_
_ _
=B. (A+A) +A .B
_ _
=B + A .B
_ _
__
=A+B
car X + X. Y =X + Y
La simplification des expressions Booléennes, s’effectue en appliquant les théorèmes de
l’algèbre de Boole. Parfois, il n’est pas toujours facile de savoir quels théorèmes il faut
utiliser, pour obtenir le résultat, ou de savoir si l’expression simplifiée est sous sa forme
minimale, et qu’il n’y a pas d’autres simplifications possibles. Pour ces raisons, on utilise
souvent le diagramme de KARNAUGH.
1-Diagrammme de Karnaugh :
Le digramme de Karnaugh est un outil graphique qui permet de simplifier de manière
mathématique une expression Booléenne d’un circuit logique.
Les règles à suivre pour l’élaboration d’un tableau de Karnaugh sont les suivantes :
•
•
•
Le diagramme de Karnaugh d’une fonction logique à n variables est constitué d’un
rectangle divisé en 2N cases. Chaque case correspond donc à une combinaison de l’état
logique que peut prendre la variable de sortie.
L’ordre des variables en abscisse et en ordonnée est choisi de telle sorte que lorsqu’on
passe d’une case à une case adjacente, une seule variable soit modifiée (on codifie le
tableau selon le code Gray).
Le regroupement des cases doit être égale à une puissance de 2, soit 2, 4, 8…cases.
Pour le regroupement des cases périphériques, on suppose que le tableau est de forme
cylindrique, et pour le regroupement des cases de coins, on peut supposer que le
tableau à la forme d’une sphère.
2-Exemples
a- Cas des deux variables
_
B B
_
A 1
0
A 0
1
_ _
X= A .B + A. B
Cours circuits Logiques
17
El Amjed HAJLAOUI
_
B B
_
A 1
1
A 0
1
_
X =A + B
b- Cas des trois variables
_
C C
_ _
A .B
_
A .B
A .B
_
A .B
0
0
1
0
1
0
0
0
_
X = B .C
_
C C
_ _
A .B 0
_
A .B 1
A .B 0
_
A .B 0
0
_
X=A.B
1
0
0
X=C
Cours circuits Logiques
18
El Amjed HAJLAOUI
_
C C
_ _
A .B
_
A .B
A .B
_
A .B
0
1
0
1
0
1
0 1
_
C C
_ _
A .B 1
_
_
A .B C
0
_ _
A
.B 10
A .B
__
A
.B 11
A .B
A .B
_
A .B
_ _
X= B . C
0
C
0
10
_ _
X = A+B .C
10
0
0
0
1
c- Cas de quatre variables :
_ _ _
_
C .D C .D C .D C .D
_ _
A .B
_
A .B
A .B
_
A .B
0
0
0
1
0
1
1
0
0
1
1
0
0
0
1
0
_ _ _
_
C .D C .D C .D C .D
_ _
A .B
_
A .B
A .B
_
A .B
0
1
0
0
0
1
1
1
0
0
0
1
1
1
0
1
Cours circuits Logiques
_ _
_
X = A. B .C .D + A .C D + B .D
_
_ _ _
_ _
X =A. B. D +B. C .D + B. C .D +A .B .D
19
El Amjed HAJLAOUI
_ _ _
_
C .D C .D C .D C .D
_ _
A .B
_
A .B
A .B
_
A .B
1
0
0
1
0
0
0
0
0
0
0
0
1
0
0
1
_ _ _
_
C .D C .D C .D C .D
_ _
A .B
_
A .B
A .B
_
A .B
0
0
1
0
1
1
1
1
1
1
0
0
0
0
0
0
_ _ _
_
C .D C .D C .D C .D
_ _
A .B
_
A .B
A .B
_
A .B
1
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
_ _ _
_
C .D C .D C .D C .D
_ _
A .B
_
A .B
A .B
_
A .B
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
Cours circuits Logiques
_ _
X = B. D
_
_ _
X= A. B +B .C +A. C .D
_
X= B
_
X=C
20
El Amjed HAJLAOUI
d- Cas de cinq variables
_ _ _
_
C. D C. D C. D C. D
_ _ _
A. B .E
_
_
A. B .E
_
A. B .E
_ _
A. B .E
_
A. B .E
A. B .E
_
A. B .E
_ _
A. B .E
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
1
1
0
0
0
0
1
1
1
1
0
0
0
0
_
_
_
X= B. E + A .B .E. C + A. B. E
e- Cas de six variables
_ _ _ _
_
_
_ _
_
_
_ _
C. D. F C. D. F C. D. F C. D. F C. D .F C. D. F C. D. F C. D. F
_ _ _
A. B. E
_
_
A. B. E
_
A. B. E
_ _
A. B. E
_
A. B. E
A. B. E
_
A. B. E
_ _
A. B. E
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
1
0
0
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
1
1
1
0
1
1
0
0
0
0
0
0
0
0
0
_ _ _
_
_
_
X= C. F. E + A. B. E. F + A. B. E .F + B. E. D. F
N.B: Pour plus de variables, il faut faire appel à d’autres méthodes.
Cours circuits Logiques
21
El Amjed HAJLAOUI
VIII - Conception de Circuits Logiques Combinatoires
Une fois l’expression logique de sortie est établie par exemple à partir d’une table
de vérité, on la simplifie en utilisant le diagramme de Karnaugh ou les théorèmes de Boole. A
partir de cette expression simplifiée, on peut construire le circuit logique correspondant.
Exemple 1 : déterminer le circuit logique à trois entrées A, B, C de façon que la sortie
X est haute quand au moins deux entrées sont à l’état Haut.
La table de vérité est donc la suivante :
A
0
0
0
B
0
0
1
C
0
1
0
X
0
0
0
0
1
1
0
1
0
1
0
1
0
1
1
1
1
0
1
1
1
1
1
_
A. B. C
_
A. B. C
_
A. B. C
A. B. C
_
_
_
Donc X = A. B .C + A. B .C + A. B .C + A. B .C
Cette expression peut être simplifié à l’aide de diagramme de Karnaugh :
_
C
_ _
A. B 0
_
A. B 0
A. B 1
_
A. B 0
C
0
1
1
1
Donc X= A. B + A. C +B. C
Exemple 2 :
Déterminer le circuit logique à quatre entrées A, B, C, D,(dont les valeurs sont données au
tableau suivant) qui donnent en sortie un niveau Haut quand le chiffre présent sur les entrées
est supérieur à 00110 = 610
A
0
0
0
B
0
0
0
C
0
0
1
D
0
1
0
X
0
0
0
Cours circuits Logiques
22
El Amjed HAJLAOUI
0
0
0
0
0
1
1
1
1
0
0
1
1
0
1
0
0
0
0
0
0
1
1
1
1
1
0
0
0
1
1
0
0
1
1
1
0
1
0
1
1
0
1
1
1
1
1
0
0
1
1
1
0
1
1
1
1
1
0
1
_
A. B. C. D
_ _ _
A. B. C. D
_ _
A. B. C. D
_
_
A. B. C. D
_
A. B. C. D
_ _
A. B. C. D
_
A. B. C. D
_
A. B. C. D
1
1
1
1
1
A. B. C. D
_
_ _ _
_ _
_
_
_
_ _
X = A .B .C .D+ A .B .C .D+ A .B .C .D+ A .B .C .D+ A .B .C .D+ A .B .C .D+
_
_
A .B .C .D+ A .B .C .D+ A .B .C .D
En utilisant le diagramme de Karnaugh, on simplifie cette expression.
_ _ _
_
C. D C. D C. D C. D
_ _
A. B 0
0
0
0
_
A. B 0
0
1
0
A. B 1
1
1
1
_
A. B 1
1
1
1
_
X= A+ A .B C. D =A+ B. C. D
Exemple 3 : à la fin de l’année scolaire, un lycée examine le cas de chaque élève. Trois
critères sont utilisés :
• Ayant une moyenne à l’examen :M
• Est redoublant :R
• Ayant une bonne appréciation
Le règlement de l’établissement est le suivant :
1- Tout élève qui a la moyenne passe au niveau supérieur.
Cours circuits Logiques
23
El Amjed HAJLAOUI
2-Tout redoublant qui n’a pas la moyenne est renvoyé.
3-Tout élève non redoublant, qui n’a pas eu la moyenne mais ayant une bonne
appréciation, est admis à redoubler.
4-Tout élève non redoublant, qui n’a pas eu la moyenne et n’ayant pas de bonne
appréciation est réorienté.
Dresser la table de vérité et écrire l’expression logique de chaque cas du règlement du
lycée en fonction des critères utilisés.
M
0
0
0
0
1
1
1
1
R
0
0
1
1
0
0
1
1
B NIVEAU SUP RENVOYE REDOUBLE REORIENTE
0
0
0
0
1
1
0
0
1
0
0
0
1
0
0
1
0
1
0
0
0
1
0
0
0
1
1
0
0
0
0
1
0
0
0
1
1
0
0
0
Le diagramme de Karnaugh correspondant.
__
RB
_
RB
RB
_
RB
__
M Reo
Red
Renv
Renv
M
N.Sup N.Sup N.Sup N.Sup
On a :
_ _ _
Reo = M. R. B
_ _
Red = M. R. B
Cours circuits Logiques
_
Renv = M. R
N.Sup = M
24
El Amjed HAJLAOUI
CHAPITRE III
DECODEURS - CODEURS
MULTIPLEXEURS – DEMULTIPLEXEURS
A- Décodeurs
Ι- Définition
Un décodeur est un circuit numérique qui a N entrées et 2N sorties. Pour chacune des
combinaisons possibles des entrées, seule une ligne de sortie est validée (soit à un niveau
Haut, soit à un niveau Bas selon le type du décodeur).
2N sorties
N entrées
Certains décodeurs sont dotés d’une ou plusieurs entrées de validation qui servent à
commander son fonctionnement.
La figure ci-dessous nous montre l’exemple d’un décodeur en CI (74138) très utile, ayant
trois voies d’entrée donc 23 = 8 voies de sortie (décodeur 1 parmi 8). Remarquez que pour un
code d’entrée donné, une seule sortie est vraie au niveau Bas.
A
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
Q0
0
1
1
1
1
1
1
1
Q1
1
0
1
1
1
1
1
1
Q2
1
1
0
1
1
1
1
1
Q3
1
1
1
0
1
1
1
1
Q4
1
1
1
1
0
1
1
1
Q5
1
1
1
1
1
0
1
1
Q6
1
1
1
1
1
1
0
1
Q7
1
1
1
1
1
1
1
0
Les décodeurs servent chaque fois qu’on a besoin d’une sortie soit validée, quand une
certaine combinaison de niveaux est présentée à l’entrée. Ces niveaux d’entrée sont
fréquemment fournis par un compteur qui dénombre sans arrêt les sorties du décodeur et
peuvent alors servir à une tâche de synchronisation ou de séquencement pour mettre en
marche ou en arrêt différents dispositifs.
II- Décodeur DCB- Décimal
La figure ci-dessous montre le schéma logique d’un décodeur DCB- décimal (7442). Une
sortie ne passe à 0 qu’au moment où son entrée correspondante DCB est appliquée. Par
Cours circuits Logiques
25
El Amjed HAJLAOUI
exemple la sortie O5 ne devient au niveau Bas que lorsque les valeurs sur les entrées sont
DCBA = 0101.
A B C D Sortie active
__
B B B B
Q0
__
B B B H
Q1
__
B B H B
Q2
__
B B H H
Q3
__
B H B B
Q4
__
B H B H
Q5
__
B H H B
Q6
__
B H H H
Q7
__
H B B B
Q8
__
H B B H
Q9
H B H B AUCUNE
H B H H AUCUNE
H H B B AUCUNE
H H B H AUCUNE
H H H B AUCUNE
H H H H AUCUNE
Cours circuits Logiques
26
El Amjed HAJLAOUI
III- Décodeur DCB- 7 segments
Un domaine d’application considérable de décodeurs est celui de la conversion de données
binaires en une forme se prêtant à un affichage numérique.
Les dix chiffres de 0 à 9 sont affichés au moyen d’un afficheur à 7segments. Ces symboles
sont représentés au moyen de 7 segments lumineux qui sont des diodes électroluminescentes
LED ou des cristaux liquides.
La table de vérité ci-dessus détaillant le fonctionnement du décodeur permettant un
affichage des différents chiffres. Les variables d’entrée son écrites en DCB : elles sont à
décoder. Par exemple pour afficher le chiffre 6, il faut éteindre les segments a et b, les autres
sont allumés.
Le décodeur 7446 et7447 ont été conçus de façon à allumer certains segments même si le
code d’entrée est supérieur à 9 (1001).
B- Codeurs
I- Définition
Le processus inverse du décodage est le codage. Un codeur à M voies d’entrée dont une
seule est active lui correspond une représentation de sortie de N bits.
CODEUR
2N sorties
N entrées
II- Codeur DCB
Nous avons vu précédemment le décodeur DCB- décimal qui fait correspondre à un code
de 4 bits une seule des dix voies de sortie possible. A l’inverse, un codeur à dix voies d’entrée
Cours circuits Logiques
27
El Amjed HAJLAOUI
(les chiffres décimaux) produit en sortie l’équivalent binaire du chiffre décimal correspondant
à cette entrée.
La table de vérité du codeur est la suivante :
Chiffre E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 S3 S2 S1 S0
décimal
0
1
0 0 0 0
0 0 0 0 0 0 0 0 0
1
0
1 0 0 0
0 0 0 0 0 0 0 0 1
2
0
0 1 0 0
0 0 0 0 0 0 0 1 0
3
0
0 0 1 0
0 0 0 0 0 0 0 1 1
4
0
0 0 0 1
0 0 0 0 0 0 1 0 0
5
0
0 0 0 0
1 0 0 0 0 0 1 0 1
6
0
0 0 0 0
0 1 0 0 0 0 1 1 0
7
0
0 0 0 0
0 0 1 0 0 0 1 1 1
8
0
0 0 0 0
0 0 0 1 0 1 0 0 0
9
0
0 0 0 0
0 0 0 0 1 1 0 0 1
Les équations logiques associées aux sorties sont:
S0 = E1 + E3 + E5 + E7 + E9
S1 = E2 + E3 + E6 + E7
S2 = E4 + E5 + E6+ E7
S3 = E8 + E9
L’implantation du circuit logique correspondant à ces équations est le suivant :
L’entrée E0 n’est pas reliée car les sorties affichent 0000 lorsque toutes les autres entrées sont
à l’état 0.
Ce codeur ne fonctionne convenablement que si une seule entrée est activée à la fois. Si
deux entrées sont activées simultanément à 1 les entrées E2 et E4 , on obtient en sortie le
nombre binaire 0110, ce qui correspond au code binaire de l’entrée E6 . pour éviter les erreurs,
il faut utiliser un codeur de priorité.
C- Multiplexeur
I- Définition
Un multiplexeur est circuit logique ayant plusieurs entrées de données, mais seulement une
sortie qui communique les données.
L’aiguillage des données d’entrée vers la sortie est commandé par les entrées Select (ou
entrée d’adresse).
Cours circuits Logiques
28
El Amjed HAJLAOUI
1
Sortie
2n
Entrées
MUX
II- Exemples de Multiplexeurs
1- Multiplexeur à 2 entrées :
Un multiplexeur à 2 entrées est un circuit logique qui est formé de deux entrées I0 et I1, et
une seule entrée de sélection S.
L’expression de sortie est donc :
Z = I0 . S + I1 . S
• Quand S = 0
Z = I0
Ce qui implique que Z est identique au signal d’entrée I0 , signal qui peut être au niveau
logique permanent ou variable.
• Quand S =1
Z = I1
Ce qui montre que la sortie Z est identique à l’entrée I1 .
2- Multiplexeur à 4 entrées
Le même principe de base sert à construire un multiplexeur à 4 entrées comme celui de la
figure ci- dessous.
S1
0
0
1
1
Cours circuits Logiques
S0
0
1
0
1
29
Sortie
Z= I0
Z= I1
Z= I2
Z= I3
El Amjed HAJLAOUI
Dans ce cas, il y a 4 entrées I0, I1, I2, I3 qui sont transmises à la sortie selon le choix indiqué
par l’une des quatre combinaisons possibles des sorties de sélection S0 S1.
3- Multiplexeur à 8 entrées
La figure ci- dessous montre le schéma d’un multiplexeur à huit entrées (74151).
E
Cours circuits Logiques
_
S2 S1 S0 Z
H X
X
X
B B
B
B
B B
B
H
B B
H
B
B B
H
H
B H
H
B
B H
H
H
B H
H
B
B H
H
H
30
H
_
I0
_
I1
_
I2
_
I3
_
I4
_
I5
_
I6
_
I7
Z
B
I0
I1
I2
I3
I4
I5
I6
_
I7
El Amjed HAJLAOUI
Ce multiplexeur dispose d’une entrée de validation E et il fournit la sortie normale et la
sortie complémentée.
• Quand E = 0, les entrées de sélection S0, S1, S2 choisissent une entrée de donnée (I0 à
I7 ) qui se trouve à la sortie Z.
_
• Quand E= 1, le multiplexeur est invalide de sorte que Z = 0, quel que soit le code
d’entrée de sélection, comme le montre le tableau de la figure ci- dessus.
III- Applications des Multiplexeurs
Les applications des multiplexeurs dans le domaine des techniques numériques sont
nombreuses et variées. Nous citons les plus importantes.
1- Génération d’une fonction logique
Il est possible d’utiliser les multiplexeurs pour matérialiser directement les fonctions
logiques à partir d’une table de vérité, sans devoir passer par le processus de simplification.
Quand on utilise un multiplexeur à cette fin, les entrées de sélection reçoivent les variables
logiques et chaque entrée est raccordée en permanence à 0 ou à 1, de façon à respecter la table
de vérité.
La figure ci-dessous montre comment on utilise un multiplexeur à 8 entrées pour
matérialiser un circuit logique qui fonctionne conformément à la table de vérité ci- dessous :
C
0
0
0
0
1
1
1
1
Cours circuits Logiques
B
0
0
1
1
0
0
1
1
A
0
1
0
1
0
1
0
1
Z
0
1
1
0
0
0
0
1
31
El Amjed HAJLAOUI
I0 I1
I2
I3 I4 I5 I6 I7
74151 MUX
Les variables A, B, C sont raccordées respectivement à S0, S1, S2. La sortie Z doit être à 0
quand CBA= 000, donc l’entrée du multiplexeur I0 doit être raccordée à 0.
De la même façon, Z= 0 quand CBA = 011, 100, 101, 110, de sorte quand les entrées I3 I4 I5
et I6 sont raccordées en permanence à 0.
La sortie Z= 1 quand CBA = 001, 010 et 111 de sorte que les entrées I1, I2 et I7 du
multiplexeur sont raccordés en permanence à 1.
Il est facile de voir que la table de vérité à 3 variables peut être matérialise du moyen d’un
_ _ _
_
Multiplexeur à 8 entrées. Z = A .B. C + A. B. C + A. B. C
2-Conversion parallèle- série
Dans de nombreuses applications numériques, le traitement des données binaire se fait en
parallèle (simultanément) parce que c’est une technique plus rapide.
Cependant, quand on doit transférer ces données sur de longues distances, il n’est pas
souhaitable de fonctionner en parallèle parce que cela exige un grand nombre de lignes de
transmission. C’est la raison pour laquelle les données binaires sont souvent converties sous
forme série avant d’être transmises à un endroit éloigné. Une des façons d’effectuer la
conversion parallèle- série consiste à utiliser un multiplexeur de la manière illustrée par la
figure ci- dessous :
Cours circuits Logiques
32
El Amjed HAJLAOUI
X0
X1
X2
74151
X3
MULTIPLEXEUR
8 ENTREES
X4
X5
X6
X7
A
J
A
CLK
K
J
A
CLK
J
CLK
K
K
Les données sont présentées sur les sorties du registre X et viennent alimenter le
multiplexeur à 8 entrées. Un compteur 3 bits (Modulo- 8) sert à produire les bits du code de
sélection S2 S1 S0, et ce code parcourt toutes les valeurs 000 à 111 quand les impulsions
d’horloge sont appliquées à ce compteur.
De cette façon, la sortie du multiplexeur sera X0 pendant la première période du signal
d’horloge, X1 pendant la deuxième période et ainsi de suite. La forme d’onde qu’on observe
sur Z est une représentation série de la donnée d’entrée parallèle. On remarque que le bit de
poids faible X0 est transmis en premier et le bit de poids fort X7 est transmis en dernier.
3- Ordonnancement d’opérations
Un Ordonnanceur est circuit qui respecte un circuit qui respecte une séquence préétablie, et
à chaque étape de la séquence, il met en marche une partie du procédé physique.
Un exemple d’Ordonnanceur de commande est donné par la figure ci- dessous :
_
Au départ, le compteur est à 0000, donc la sortie O0 du décodeur égal à 0 et toutes les autres
_ _
sont à 1, de sorte que les entrées de l’actionneur du procédé sont toutes à 0. La sortie Z= I0 =
1.
L’impulsion DEBUT lance l’opération d’Ordonnancement et met dans le compteur l’état
_
001. la sortie O1 du décodeur se trouve maintenant au niveau Bas, ce qui déclenche
l’actionneur 1 correspondant à la première étape du procédé.
Un peu plus tard, la sortie du capteur -1 passe à 1, ce qui indique la fin de la première étape.
_ _
Ce niveau Haut se trouve à présent à l’entrée I1 du multiplexeur donc Z = I1 . La valeur base
_
de Z est appliquée à l’entrée CLK du compteur qui sera incrémenté à la valeur 010.
_
La sortie O2 passe au niveau Bas, ce qui déclenche l’actionneur -2 correspondant à la seconde
étape du procédé. Quand cette étape est achevée, la sortie du capteur -2 passe au niveau Haut,
_
Cours circuits Logiques
33
El Amjed HAJLAOUI
produisant ainsi un niveau Bas sur Z et faisant incrémenter le compteur à la valeur 011.
La même chose se répète pour chacun des autres étapes. A la fin de la septième étape, la
sortie du compteur passe au niveau Haut amenant ainsi le compteur de 111 à 000, état où il
demeure jusqu’à ce qu’une autre impulsion DEBUT réamorce la séquence.
4- Aiguillage des données
Les multiplexeurs peuvent servir à aiguiller les données entre plusieurs sources et une seule
destination.
D- Démultiplexeur
I- Définition
Un démultiplexeur est circuit logique qui a une seule entrée et N voies de sortie. Il reçoit
les données d’entrée et choisit de les diriger vers une des N voies de sortie possibles, il
fonctionne comme un commutateur.
Une
Entrée
DéMultiplexeur
2n
Sorties
II- Exemple
La figure ci-dessous montre un démultiplexeur à huit voies de sortie. La ligne d’entrée I est
connectée aux huit portes ET, mais une seule de ces portes est validée par les entrées
SELECT.
Cours circuits Logiques
34
El Amjed HAJLAOUI
S2
0
0
0
0
1
1
1
1
S1
0
0
1
1
0
0
1
1
S0
0
1
0
1
0
1
0
1
O7
0
0
0
0
0
0
0
1
O6
0
0
0
0
0
0
1
0
O5
0
0
0
0
0
1
0
0
O4
0
0
0
0
1
0
0
0
O3
0
0
0
1
0
0
0
0
O2
0
0
1
0
0
0
0
0
O1
0
1
0
0
0
0
0
0
O0
1
0
0
0
0
0
0
0
Ce circuit démultiplexeur est très semblable à celui du décodeur d’entrée à 3 voies et de
sorties 8 voies, si on excepte le fait qu’une entrée I a été ajouté à chaque porte. Or de
nombreux décodeurs intégrés ont une entrée de validation. Ce genre de décodeur peut donc
servir de démultiplexeur. Les entrées du code ABC jouent le rôle des entrées SELECT et
l’entrée de VALIDATION joue le rôle d’entrée des données I. c’est donc une des raisons pour
laquelle les fabricants de CI donnent souvent le nom de décodeur/ démultiplexeur à ce
dispositif.
Cours circuits Logiques
35
El Amjed HAJLAOUI
CHAPITRE IV
Les Circuits Arithmétiques
Les quatre opérations binaires : l’addition, soustraction, la multiplication et la division
peuvent être effectuées à l’aide de manipulation sur l’addition .Pour cet effet on utilise deux
types de circuits, les demi- additionneurs et les additionneurs complets .
A- ADDITIONNEUR
DEMI-ADDITIONNEUR
C’est un circuit qui fournit la somme et la retenue de deux chiffres binaires.
Appelons A et B les deux variables d’entrée représentant les bits à additionner. On a la table
de vérité de l’addition binaire :
Ai
0
0
1
1
Bi
0
1
0
1
Si
0
1
1
0
Ri
0
0
0
1
On a donc d’après le tableau ci-dessus :
Si = Ai .Bi’+Ai’ .Bi
Ri = Ai .Bi
Le demi-additionneur ne peut faire que l’addition des deux chiffres de plus faible poids,
puisqu’il ne peut pas prendre en compte la retenue qui provient d’une colonne précédente.
Pour relever cette difficulté on utilise l’additionneur complet
ADDITIONNEUR COMPLET
C’est un circuit qui fournit la somme et la retenue de deux chiffres binaires et de la
retenue du rang précédent.
Pour cela l’additionneur complet est un circuit à trois entrées Ai, Bi et Ri-1(report précédent)
Et possédant toujours deux sorties somme Si et retenue Ri.
La table de vérité de l’additionneur complet est la suivante:
Cours circuits Logiques
36
El Amjed HAJLAOUI
Ai
0
0
0
0
1
1
1
1
Ri-1’
Ri-1
Bi
0
0
1
1
0
0
1
1
Ai’. Bi’
0
0
Ri-1
0
1
0
1
0
1
0
1
Si
0
1
1
0
1
0
0
1
Ai’. Bi
0
1
Ri
0
0
0
1
0
1
1
1
Ai. Bi
1
1
Ai. Bi’
0
1
L’expression de la somme Si est alors :
Si = Ai.Bi’.Ri-1’+Ai’. Bi. Ri-1’+Ai’.Bi’.Ri-1+Ai.Bi.Ri-1
L’expression de la retenue Ri est :
Ri=Ai’.Bi.Ri-1+Ai.Bi’.Ri-1’+Ai.Bi.Ri-1’+Ai.Bi.Ri-1
Cette expression peut se simplifier à l’aide de diagramme de Karnaugh
Ri = Ai. Bi+Bi. Ri-1+Qi.Ri-1
Donc l’implantation de l’additionneur sera la suivante :
ADDTIONNEUR PARALLELE
1-ADDITIONNEUR PARALLELE A DEUX NOMBRES
cet additionneur est capable de fournir l’addition de deux nombres binaires. Pour cela il
nécessite un additionneur complet (AC) pour chaque chiffre à traiter.
Cours circuits Logiques
37
El Amjed HAJLAOUI
a0
b0
A
S0
S1
a1
b1
A
a2
b2
A
S2
a3
A
S3
b3
A titre d’exemple le 7483 est additionneur parallèle 4 bits, dont le schéma est le suivant.
A3 A2 A1 A0
additionneur parallèle
de 4 bits 74LS83
C4
S3 S2 S1 S0 B3 B2 B1 B0
Il est possible de raccorder deux ou plusieurs additionneurs parallèles en cascade afin
d’additionner des nombres ayant un plus grand nombre de bits. A titre d’illustration, la figure
ci-dessous montre deux additionneurs 7483, qui sont reliés de façon à additionner deux
nombres 8 à bits.
A7 A6 A5 A4
A3 A2 A1 A0
C8
Additionneur de 4
bits
B7 B6 B5 B4
Additionneur de 4
bits
B3 B2 B1 B0
S7 S6 S5 S4
S3 S2 S1 S0
Cours circuits Logiques
38
El Amjed HAJLAOUI
ADDITIONNEUR SERIE
Dans l’additionneur série, les chiffres à additionner sont présentés séquentiellement, c’est à
dire les uns après les autres à un additionneur complet.
Nb binaire
N1
A
S
additionneur
complet
B
Rn
Nb S
Nb binaire
N2
D
Q
Les nombres à additionner N1etN2 et la somme S sont stockés dans des registres à décalage.
Chaque chiffre des nombres N1etN2 est décalé dans l’additionneur quand arrive le front
d ‘horloge (H), en commençant par le chiffre de plus faible poids.
En supposant que la sortie de la bascule D est initialement à l’état 0, l’application de la
première impulsion d’horloge a pour effet de présenter le chiffre de faible poids des deux
nombres N1et N2 aux entrées A et B de l’additionneur. La borne apparaît en sortie : la retenue
est appliquée à l’entrée de la bascule D. A l’impulsion d’horloge suivante, le chiffre suivant
des deux nombres N1et N2 est présenter aux entrées A et B de l’additionneur, la somme
précédente S est décalée dans le registre à décalage, la retenue précédente est enregistrée par
la bascule, et se présente alors à l’entrée de Rn-1 de l’additionneur. Cette procédure se répète
jusqu’à la fin de l’addition des chiffres des deux nombres N1et N2.On note bien que
l’additionneur série est moins rapide que l’additionneur parallèle pour donner le résultat de
l’addition.
B- SOUSTRACTEUR
La soustraction se résume à une opération d’addition, si on exprime les nombres négatifs
selon la notation en complément à2.
Quand on soustrait en utilisant la notion en complément à 2, le diminuteur est complémenté
à2 puis additionné au diminuante.
Le circuit additionneur parallèle 7483 peut être modifié pour obtenir le complément à 2 du
diminuteur contenu par exemple dans un registre B.
En effet on utilise les sorties complémentées du registre B et on applique 1 à l’entrée C0, de
sorte qu’on additionne ainsi un 1 au bit de poids le plus faible. C’est ainsi qu’on obtient la
somme d’un nombre avec un nombre complémenté à 2, comme le montre la figure ci-dessous.
A3 A2
C4
A1 A0
ADDITIONNEUR PARALLELE
B3’ B2’
Cours circuits Logiques
B2’ B1’ S3 S2 S1
C0-1
S0
39
El Amjed HAJLAOUI
ADDITIONNEUR BCD
-
La marche à suivre pour additionner en BCD est la suivante
Additionner les représentations codées BCD pour chaque rang du chiffre décimal
Pour les rangs du nombre dont la somme est inférieur à 9, la repense est déjà une
représentation BCD
Quand la somme dépasse 9, il faut faire une correction en additionnant 6(0110)
et additionner le report au rang supérieur
EXEMPLE
889
+376
1265
1000 1000 1001
0011 0111 0110
1100 0000 1111
0110 0110 0110
terme de correction
report
1 0010 0110 0101
Un additionneur BCD doit pouvoir matérialiser les étapes précédentes.
En générale, si deux représentations codées BCD A3A2A1A0 et B3B2B1B0 sont appliquées
à un additionneur parallèle 4 bits, qui réalise l’opération suivante :
A3A2A1A0
+ B3B2B1B0
S4S3S2S1S0
S4est en réalité C4, report produit par le rang de bits le plus fort.
En BCD, il existe 6 pseudo-tétrades qui sont 1010, 1011, 1100, 1101, 1110 et 1111. Chaque
fois que le résultat soit une pseudo-tétrade ou S4=1, il faut faire la correction en ajoutant
6(0110).
00
01
11
10
Pour cela il faut détecter ces pseudo tétrades
00
0
1
3
2
ainsi que la retenue d’ordre le plus élevé S4.
01
4
5
7
6
Le diagramme de Karnaugh suivant, nous
11
12
13
15
14
montre comment on effectue cette opération.
10
8
9
11
10
P: presence de pseudo-tétrade P=S2S3+S1S3= S3(S1+S2)
Comme la correction doit se faire en présence d’une pseudo-tétrade ou en présence de S4,
définit alors le terme X par :
X=S4+S3(S1+S2)
Cours circuits Logiques
40
El Amjed HAJLAOUI
Quand X=1, il faut additionner la correction (0110).
La figure ci-dessous montre le circuit complet d’un additionneur BCD, y compris les portes
logique qui produisent le terme de correction X.
D-MULTIPLICATION
L’opération de la multiplication est illustrée par l’exemple suivant :
1011 MULTIPLICANDE
1101 MULTIPLICATEUR
1011
0000
01011
1011
110111
1011
10001111
Le circuit réalisant cette fonction doit comporte :
•
Un registre Q à décalage de 8 bits qui contient le multiplicande. Il décale son contenue
vers la gauche à chaque descendant de CLK.
Un registre B à décalage de 4 bits qui contient le multiplicateur. il décale son contenu
vers la droite à chaque front descendant de CLK.
Un registre X qui sert d’accumulateur, c’est dans ce registre que les produits partiels
sont additionnés.
•
•
C- COMPARATEUR
Un comparateur est un circuit dont la fonction est d’indiquer, si un nombre binaire est
inférieur, égale ou supérieur à un autre nombre binaire.
1-COMPARATEUR DE 2 NOMBRES BINAIRES A 1 BIT
le tableau ci-dessous montre une comparaison de 2 nombres binaires à 1 bit.
ai
0
0
1
1
bi
0
1
O
1
Si(>) Ii(<) Ei(=)
0
0
1
0
1
0
1
0
0
0
0
1
Cours circuits Logiques
41
El Amjed HAJLAOUI
On a donc Si=ai. bi’
Ii= ai’. bi
Ei= ai. Bi+ ai’. bi’
A3 .B3
A2B2
A1B1
A0B0
A3>B3
A3<B3
X
X
X
X
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
A2>B2
A2<B2
A2=B2
A2=B2
A2=B2
A2=B2
A2=B2
A2=B2
A2=B2
A2=B2
A2=B2
X
X
A1>B1
A1<B1
A1=B1
A1=B1
A1=B1
A1=B1
A1=B1
A1=B1
A1=B1
Cours circuits Logiques
42
X
X
IA>IB IA<IB
IA=IB
X X X
X X X
A>B A<B
A=B
H B B
B H B
X
X
X
X
A0>B0
A0<B0
A0=B0
A0=B0
A0=B0
A0=B0
A0=B0
X
X
X
X
X
X
H
B
X
B
H
H
B
H
B
H
B
H
B
B
H
B
X X
X X
X X
X X
X X
X X
B B
HB
X H
B B
H B
B
H
B
H
B
H
B
H
B
H
B
B
B
H
B
B
B
B
B
H
B
B
El Amjed HAJLAOUI
CHAPITRE V
LES BASCULES
La bascule (flip flop) est l’élément de base de la logique séquentielle, elle est aussi
l’élément de mémorisation le plus important, qui est constitué de portes logiques. Ces
bascules sont divisées en deux groupes :
Bascules asynchrones : la sortie de ces bascules peut changer d’état à tout moment, quand une
ou plusieurs entrées changent.
Bascules synchrones : la sortie de ces bascules ne change d’état qu’à un moment exact
commandé par un signal appelé signal d’horloge.
I- Bascule R- S
1- Bascules R- S Asynchrone :
a- Structure d’une bascule RS asynchrone
Cette bascule, la plus élémentaire, est constituée à partir de deux portes NAND et ayant
une table de vérité suivante :
S
1
0
1
0
R
1
1
0
0
Q
inchangée
Q=1
Q=0
Ambiguë
S = R = 1(Mode mémoire) : cette condition correspond à l’état repos car elle
n’affecte pas l’état de sortie de la bascule. Les sorties Q et Q demeurent dans l’état quelles
occupaient avant l’application de cette condition d’entrée.
S = 0 , R= 1 (Ecriture d’un 1) : cette condition entraîne toujours la sortie dans l’état 1 où elle
demeure même après le retour de S au niveau Haut (on retrouve le cas précédent). On dit que
c’est la condition de mise à 1 de la bascule.
S = 1, R = 0 (Ecriture d’un 0) : cette condition entraîne toujours la sortie dans l’état 0 où elle
demeure même après le retour de R au niveau Haut (état -1). On dit que c’est la condition de
mise à 0 de la bascule
Cours circuits Logiques
43
El Amjed HAJLAOUI
S = R = 0 : cette condition est équivalente à vouloir mettre la bascule à la fois à 1 et à 0, ce
qui donne lieu à des résultats ambigus.
La bascule R- S peut être constituée à partir de deux portes NOR au lieu de deux portes
NAND.
S
0
1
0
1
R
0
0
1
1
Q
Inchangée
Q=1
Q=0
Ambiguë
S = R= 0 (Mode mémoire, cette condition représente l’état normal de repos de la bascule en
NOR, et ne modifie en rien l’état de sortie. Q et Q demeurent dans l’état quelles occupaient
avant l’arrivée de l’impulsion d’entrée.
S = 1, R = 0 (Ecriture d’un 1) : cette condition a toujours pour effet de mettre Q à l’état 1, état
qui ne change pas même quand S revient à 0.
S = 0, R = 1 (Ecriture d’un 0) : cette condition a toujours pour effet de mettre Q à l’état 0, état
qui ne change pas même quand R revient à 0.
S= R = 1 : cette condition est équivalente à vouloir mettre la bascule à 1 et à 0 en même
temps, donc il ne faut jamais se servir de cette condition d’entrée.
La bascule NOR fonctionne comme la bascule NAND, à l’exception des entrées S et R qui,
maintenant sont vraies au niveau Haut plutôt qu’au niveau Bas, et de l’état de repos qui est S
= R = 0. Q sera mis à 1 par une impulsion de niveau Haut appliquée sur S, et sera mis à 0 par
une impulsion toujours de niveau Haut sur R.
On remarque dans le symbole de la bascule en NOR qu’il n’y a pas de rond associé aux
entrées, ceci indique que les entrées sont vraies au niveau Haut.
Exemple :
b- Application de la bascule RS
Une application très utile de la bascule R- S est l’interrupteur sans rebonds. Il est
pratiquement impossible de construire un interrupteur mécanique dans lequel il n’y aurait
qu’une seule transition entre deux tensions, à cause du phénomène de rebondissement des
contacts. Ce phénomène est illustré par la figure ci- dessous :
Cours circuits Logiques
44
El Amjed HAJLAOUI
2- Bascule R- S synchrone :
a- Structure d’une bascule RS synchrone
Toutes les bascules synchrones disposent d’une entrée d’horloge que nous désignons
par l’abréviation CLK. Cette entrée est symbolisée par un petit triangle qui signale que cette
bascule ne réagit qu’au passage d’un des fronts du signal d’horloge.
S
0
1
0
1
S
0
1
0
1
R CLK
Q
0
↑
Q0(inchangée)
0
↑
1
1
↑
0
1
↑
Ambiguë
R CLK
Q
0
↓
Q0(inchangée)
0
↓
1
1
↓
0
1
↓
Ambiguë
Les entrées R et S commandent la sortie Q de la bascule de la même manière que dans le cas
asynchrone, sauf qu’ici la sortie n’est pas modifiée avant qu’arrive le front montant ou
descendant du signal d’horloge.
Une bascule R- S peut être utilisée pour supprimer ce rebondissement aléatoire qui dure
généralement quelques millisecondes, mais qui peut être très gênant pour certaines
applications.
Supposons que l’interrupteur soit au début en position 1, de sorte que R est au niveau
Bas, donc Q=0. Quand l’interrupteur est amené en position 2, R passe au niveau Haut et S au
niveau Bas, cela a pour effet de placer la sortie Q à 1. Maintenant, si l’interrupteur rebondit S
Cours circuits Logiques
45
El Amjed HAJLAOUI
passe au niveau Haut, ce qui n’affecte en rien la valeur de Q (car S= R= 1). On voit bien que
Q reste inchangé malgré les rebonds de la lame sur le contact 2.
De même, quand l’interrupteur passe de la position 2 à la position 1, S passe à 1 et R à
0, donc Q passe à 0 et conserve cet état même si la lame rebondit.
Donc l’insertion de cette bascule, fait de sorte que Q effectue une seule transition quand
l’interrupteur change de position.
b- Circuit interne de la bascule R -S déclenchée par un signal d’horloge
La figure ci-dessous nous montre une bascule R- S déclenchée par un front (montant ou
descendant). On note à titre de passage que ces circuits sont intégrés dans la même puce.
On trouve dans un tel circuit trois sections :
1- Une bascule R- S en NAND (elle peut être en NOR).
2- Un circuit d’aiguillage de l’impulsion constitué par deux portes NAND.
3- Un circuit de détection de front.
Le circuit de détection de front génère une impulsion étroite CLK*. La figure ci-dessous
montre comment le signal CLK* est produit dans le cas des bascules déclenchées par le front
montant ou descendant d’un signal d’horloge.
II- Bascule T (Toggle)
Une bascule T correspond à une bascule R- S synchrone, dont les entrées S et R sont
__
Respectivement reliées à Q et Q.
De cette façon, la bascule T permute ses sorties à chaque impulsion d’entrée T.
T
↓
Qt+1
__
Qt
III- Bascule J- K Synchrone
1- Description de la bascule JK synchrone
Une bascule J- K synchrone déclenchée par un front montant d’un signal d’horloge est
donnée par la figure ci-dessous avec sa table de vérité.
J
0
1
0
Cours circuits Logiques
K
0
0
1
CLK
↑
↑
↑
Q
Q0(inchangée)
1
0
46
El Amjed HAJLAOUI
1 1
↑
__
Q0(basculement)
Les entrées J et K commandent l’état de la bascule comme les entrées de la bascule R- S
synchrone, à l’exception importante que J=K=1 ne donne pas lieu à une situation ambiguë.
Quand cette condition survient, la bascule passe par l’état opposé à l’arrivée du front montant
du CLK. Dans ce mode, si on laisse les entrées J et K toutes les deux au niveau Haut, la
bascule va passer à l’état opposé à chaque signal d’horloge.
La table de vérité de la bascule J- K est identique à la bascule R- S synchrone sauf pour
__
J=k=1, on a pour résultat Q= Q0 ce qui signifie que la nouvelle valeur de Q est l’inverse de
celle existant avant le front montant de l’horloge, on dit qu’il y a basculement.
A titre d’exemple, la figure ci-dessous illustre le fonctionnement de la bascule J- K
synchrone :
Au départ toutes les entrées sont à 0 et par hypothèse la sortie Q est à 1.
Quand arrive le front montant de la première impulsion d’horloge (point -a-) J=0 et K=1.
Dans cette condition, la bascule est mise à 0.
Quand arrive la deuxième impulsion (point -c-), on a J=K=1 de sorte qu’au moment de la
transition montante, la bascule passe à l’état opposé soit Q=1.
Au point e de la forme d’horloge, J et K sont tous les deux à 0 et la bascule reste dans le
même état pendant cette transition.
Au point g, J=1 et K=0, on reconnaît la condition qui met à 1 la bascule. Toutefois, comme
elle est déjà à 1, son état demeure inchangé.
Au point i, J=K=1, ce qui fait passer la bascule dans un état opposé. La m^me chose se
produit au point K.
On remarque à la lumière de cet exemple que cette bascule ne réagit pas aux fronts
descendants du CLK.
Le symbole de la synchrone J- K synchrone déclenchée par le front descendant est
montré à la figure ci-dessous :
J
0
1
0
1
Cours circuits Logiques
K
0
0
1
1
CLK
↓
↓
↓
↓
Q
Q0(inchangée)
1
0
__
Q0(basculement)
47
El Amjed HAJLAOUI
Le petit rond à l’entrée de CLK indique que la bascule est déclenchée quand a lieu la
transition de 1 à 0du signal d’horloge (front descendant).
La bascule J- K est plus polyvalente que la bascule R- S du fait quelle ne possède pas
d’état ambigu. La bascule J- K fait tout ce que fait la bascule R- S plus le basculement (qui
correspond à J=K=1).
2- Circuit interne de la bascule J- K déclanchée par un signal
d’horloge
La figure ci-dessous représente le circuit interne d’une bascule J- K déclenchée par un
signal d’horloge.
On voit très bien la même structure interne de la bascule R- S déclenchée par un signal
_
d’horloge. La seule différence vient des sorties Q et Q qui sont ramenées sur les entrées des
portes NAND d’aiguillage de l’impulsion. Cette connexion en rétroaction dote la bascule J- K
du mode basculement quand J=K=1 . En effet, supposons qu’à l’arrivée de l’impulsion CLK,
_
J=K=1 et Q=0 (donc Q=0), la porte NAND-1 dirige CLK* sur l’entrée S pour donner Q=1
Si nous supposons qu’à l’arrivée de l’impulsion CLLK, J=K=1 et Q=1 (Q=0), la porte
NAND-2 dirige CLK* sur l’entrée R pour donner Q=0.
Ainsi Q se trouve toujours dans l’état opposé du précédent.
IV- Bascule D synchrone
Cette bascule dispose d’une seule entrée appelée l’entrée D. le signal de synchronisation
peut être actif sur un front, la bascule est appelée alors « D edge triggered », ou actif sur le
niveau et elle est appelée « D latch ».
1- D-edge triggered :
La figure ci-dessous donne le symbole d’une bascule D synchrone déclenchée par un
front montant du signal d’horloge.
D CLK Q
0 ↑
0
1 ↑
1
Cours circuits Logiques
48
El Amjed HAJLAOUI
Cette bascule ne possède qu’une entrée de commande synchrone appelé D. le
fonctionnement de la bascule D est très simple. Q prend l’état de l’entrée D à l’instant du
front montant de la CLK autrement dit, la valeur de D sera mémorisée dans la bascule (Q
prend la valeur de Q) à un moment très précis celui du front montant de CLK .
Les formes d’ondes sont illustrées par la figure ci-dessous :
Une bascule déclenchée par un front descendant fonctionne exactement comme on vient
de le décrire, à la seule exception que le passage de la valeur de D sur Q survient aux
moments des fronts descendants de CLK.
Réalisation d’une bascule D-edge triggered
Une bascule D déclenchée par un signal d’horloge n’est pas difficile à construire : il
suffit d’ajouter un inverseur à une bascule R- S déclenchée par un signal d’horloge ou une
bascule J- K, comme le montre la figure ci-dessous :
2- Bascule D- latch (Verrou) :
La bascule D- edge triggered déclenchée par un signal d’horloge possède un circuit
détecteur de front qui garantit que la sortie prend la valeur de D seulement quand se produit
un front de CLK (front montant ou descendant selon le cas). Si ce détecteur est supprimé, on
obtient un circuit qui fonctionne différemment. Ce circuit est appelé élément de mémoire ou
D- latch, dont le schéma est le suivant :
CLK D
Q
0
X Q0(inchangée)
1
0
0
1
1
1
L’entrée d’horloge,dans ce cas, n’agit pas uniquement à l’instant de passage des fronts.
En effet :
Quand CLK est à 1, la sortie Q à la forme d’onde que D dans ce mode, on dit que l’élément de
mémoire D est transparent.
Quand CLK est à la sortie Q demeure au niveau qu’elle avait avant que CLK passe au niveau
0. en d’autre terme, la sortie est verrouillée sur son niveau actuel et na change pas tant que
CLK reste au niveau Bas, même si D change.
A titre d’exemple, la figure ci-dessous montre la forme d’onde Q d’une bascule D.
Avant T1, CLK est au niveau bas, de sorte que Q est verrouillée sur le niveau courant 0
et reste fixe malgré les changements du niveau D. durant l’intervalle T1 à T2, CLK est au
Cours circuits Logiques
49
El Amjed HAJLAOUI
niveau Haut, de sorte que Q varie exactement comme la signal D donc Q passe au niveau
Haut en T et y demeure puisque D ne change pas. Quand CLK revient à 0, en T2, Q est
verrouillé sur le niveau Haut, celui qu’il avait en T2 et reste à ce niveau tant que CLK est au
niveau Bas. En T3, quand CLK repasse au niveau Haut, Q reflète les changement de D, et cela
jusqu’au retour de CLK au niveau Bas. Pendant l’intervalle T3 et T4, la mémoire D est
transparente. Et T4, Q se verrouille sur le niveau 0, qui est le niveau de la sortie à l’instant T4.
CHAPITRE VI
COMPTEURS ET REGISTRES
A- Compteurs
Cours circuits Logiques
50
El Amjed HAJLAOUI
Les compteurs sont des éléments très utiles en logique séquentielle. Ils permettent en effet
d’établir une relation d’ordre de succession d’événements. L’élément de base de ces
compteurs est la bascule.
Les compteurs sont classés en deux catégories suivant leur mode de fonctionnement.
•
Les compteurs asynchrones (ou à propagation) : la caractéristique principale de ces
compteurs asynchrones est la propagation en cascade de l’ordre de changement d’état
de bascules.
•
Les compteurs synchrones (ou parallèles) : le signal d’horloge synchronise toutes les
bascules simultanément.
I- Compteurs Asynchrones
1- Compteur Asynchrone MODULO 2N
A titre d’exemple, la figure ci-dessous montre un compteur à 4 bits constitué à partir
dequatrebascuK.
Q0
J0
CLK0
_
Q0 K0
•
Q0
J0
CLK0
_
Q0 K0
Q0
J0
CLK0
_
Q0 K0
Q0
J0
CLK0
_
Q0 K0
Les impulsions d’horloges sont appliquées à la borne CLK de la bascule A qui
commute chaque fois qu’arrive un front descendant. On note que toutes les bascules
ont la condition J=K=1.
La sortie de la bascule A est le signal d’horloge pour la bascule B, de sorte que cette
dernière commute à chaque fois que le signal issu de A passe de 1 à 0. de la même
manière commute la bascule C quand la sortie B passe de 1 à 0 et D commute quand C
passe de 1 à 0.
Cours circuits Logiques
51
El Amjed HAJLAOUI
•
Le tableau ci-contre montre la suite des états binaires pris par les bascules après
chaque impulsion d’horloge.
A la 15ème impulsion, les bascules du compteur sont à l’état 1111. Quand la 16ème
impulsion atteint la borne CLK de la bascule A, le compteur revient à son état initial, on
dit que le compteur est recyclé.
Ce type de compteur, dans lequel la sortie de chaque bascule agit comme le signal
d’horloge de la suivante, est appelé compteur asynchrone. Ce nom vient du fait que les
quatre bascules ne changent pas d’état toutes en même temps à la transition du signal
d’horloge. Donc, il s’établit un retard entre la réponse de chaque bascule et c’est pour
cette raison qu’on désigne souvent ce circuit par compteur à propagation.
On analyse maintenant les formes d’ondes de ce compteur à 4 bits qui sont données par
la figure ci-dessous :
On remarque que chaque bascule du compteur donnait en sortie une forme d’onde dont
la fréquence est la moitié de la fréquence d’horloge. A titre d’illustration, si on suppose
que la fréquence d’horloge est de 16 Khz, la forme d’onde à la sortie de A est de 8 Khz,
celle de B est 4 Khz, celle à la sortie de C est de 2 Khz et celle à la sortie de D est de 1
Khz.
En règle générale, la sortie de la dernière bascule d’un compteur est une onde
dont la fréquence est celle du signal d’horloge divisé par le MODULO du compteur.
MODULO : le compteur étudié précédemment possède 16 états distincts (0000 à
1111), on dit que c’est un compteur MODULO-16.
Le MODULO est donc le nombre d’états occupés par le compteur pendant un cycle
complet avant son recyclage à l’état initial.
MODULO = 2N
avec N : nombre de bascules formant le compteur
On peut dire aussi qu’un compteur MODULO X est compteur diviseur par X.
2- Compteur asynchrone à MODULO <2N
Un compteur peut avoir un MODULO inférieur à 2N (valeur maximale qu’on peut
obtenir avec un compteur à N bascules). Donc, pour construire un compteur MODULO X,
il faut suivre les étapes suivantes :
Cours circuits Logiques
52
El Amjed HAJLAOUI
•
Trouver le plus petit nombre N tel que 2N ≥ X
si 2N = X les étapes suivantes sont inutiles.
•
Connecter la sortie d’une porte Nand aux entrées RAZ de toutes les bascules du
compteur.
Déterminer quelles bascules sont à l’état 1 quand le nombre est X, et raccorder ces sorties
qui sont à 1 aux entrées de la porte Nand.
La figure ci-dessous montre un exemple d’un compteur MODULO-6 obtenu à partir
d’un compteur MODULO-8, ainsi que la forme d’onde correspondante.
La figure ci-dessous montre un deuxième exemple d’un compteur MODULO-14 et
compteur MODULO-10 obtenu à partir d’un compteur MODULO-16.
Exercice d’application
Réaliser un compteur MODULO-60.
On a 2N = 64 > 60 donc N=6, il faut un compteur à six bascules. D’autre part, le compteur
doit être initialisé quand il atteint le nombre 111100, les sorties qu’il faut raccorder aux
entrées de la porte NAND sont C, D, E et F comme le montre la figure cidessous :
A
J
RAZ
K
Cours circuits Logiques
53
El Amjed HAJLAOUI
3-Décompteur asynchrone
Tous les compteurs étudiés comptaient progressivement à partir de zéro, c’étaient tous
les compteurs progressifs. Il est relativement facile de construire de décompteurs asynchrones,
c'est-à-dire qui partent d’un nombre maximal pour arriver à zéro.
Le même circuit est utilisé pour un décompteur qu’un compteur, à la différence que
cette fois c’est les sorties complémentées qui sont utilisées, c'est-à-dire chaque entrée CLK
des bascules est reliée à la sortie complimentée de la bascule qui la précède, comme l’indique
la figure ci-dessous pour un compteur MODULO-8.
C
J
CLK
_
C
K
J
A
K
_ CLK
A
K
B
CLK
_
B
J
4- Retard de propagation
Les compteurs asynchrones (ou de propagation) sont les compteurs les plus simples,
mais présentent un inconvénient majeur dû au principe fondamental de leur fonctionnement.
Chaque bascule est déclenchée par la transition de la sortie de la bascule qui la précède. A
cause du retard de propagation tpd, la première bascule ne réagit qu’après cette durée à partir
du front déclenchant du signal d’horloge, la deuxième bascule ne régit que 2. tpd après
l’arrivée d’horloge et ainsi de suite…Autrement dit, les retards de propagation introduits par
les bascules s’additionnent de sorte que la nième bascule ne change d’état que N. tpd unité de
temps après l’arrivée de l’impulsion d’horloge.
La figure ci-dessous est une illustration de formes d’ondes d’un compteur à propagation
de 3 bits.
Dans cette exemple, le signal d’horloge CLK a une période T=1000ns, le retard de
propagation de chaque bascule est tpd =50 ns. On remarque que la sortie de la bascule A
commute 50 ns après le front descendant CLK. De même, B commute 50 ns après que la
Cours circuits Logiques
54
El Amjed HAJLAOUI
sortie A passe de 1 à 0 et C commute 50 ns après que la sortie B passe de 1 à 0. Au total,
quand arrive la 4ème impulsion de CLK, la sortie C passe au niveau Haut après un retard de
150 ns.
Pour que le compteur fonctionne convenablement,il faut que :
Thorloge > N.tpd donc FMAX = 1/N. tpd
FMAX : est la fréquence maximale de CLK.
II- Compteurs Synchrones
1- Réalisation d’un compteur synchrone
On a vu précédemment que l’association en cascade de bascule dans un compteur
asynchrone entraînait des retards de propagation. Ces retards limitent la fréquence
maximale d’utilisation. On contourne cette limitation en utilisant des compteurs synchrones
ou parallèles, dans lesquels toutes les bascules sont déclenchées simultanément (en parallèle)
par les impulsions d’horloge d’entrée.
Le principe de fonctionnement d’un compteur synchrone est illustré dans l’exemple de
la figure ci-dessous qui représente un compteur synchrone MODULO-16.
D
J
C
CLK
B
J
K
K
A
J
CLK
CLK
CLK
K
J
K
Si on compare le montage de ce compteur synchrone avec celui de son équivalent
asynchrone, on relève les différences suivantes :
Cours circuits Logiques
55
El Amjed HAJLAOUI
Les entrées CLK de toutes les bascules sont raccordées ensemble afin que le signal d’horloge
arrive simultanément sur toutes les bascules.
Seule la bascule du rang de poids faible (Bascule A) à ses entrées J et K en permanence au
niveau Haut. Les entrées J, K des autres bascules sont pilotées par une certaine combinaison
de sorties des bascules.
Le compteur synchrone nécessite plus de circuits que le compteur asynchrone.
2- Fonctionnement d’un compteur synchrone
La bascule A change d’état à chaque front descendant. C’est pour cette raison que ses
entrées J et K sont toujours gardés à 1.
La bascule B change d’état à chacun des fronts descendant survenant quand A=1.
Ce fonctionnement est obtenu en raccordant la sortie de A aux entrées J et K de la bascule B,
de sorte que J=K=1 tant que A=1.
La bascule C change d’état à chacun des fronts descendants survenant quand A=B=1.
Ce fonctionnement est réalisé grâce au raccordement du signal A B sur les entrées J et K de la
bascule C.
Enfin, la bascule D commute à chaque front descendant qui survient quand A=B=C=1.
cela se produit quand on raccorde le signal A B C sur les entrées J et K de la bascule D.
Nous allons donner une procédure de conception plus rigoureuse du compteur
synchrone MODULO-16.
Avant de commencer la conception proprement dite, on rappelle le fonctionnement
d’une bascule J-K en partant d’une approche différente : celle de la table d’excitation cidessous.
Qn
0
0
1
1
Qn+1
0
1
0
1
J
0
1
X
X
K
X
X
1
0
X : état indifférent
Grâce à cette table d’excitation, on peut déduire à partir de chaque état de sortie des
bascules J-K formant le compteur synchrone, l’état d’entrée correspondant.
Le tableau suivant résume les différents cas possibles.
Cours circuits Logiques
56
El Amjed HAJLAOUI
DCBA
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
J0
1
X
1
X
1
X
1
X
1
X
1
X
1
X
1
X
K0
X
1
X
1
X
1
X
1
X
1
X
1
X
1
X
1
J1
0
1
X
X
0
1
X
X
0
1
X
0
0
1
X
X
K1
X
X
0
1
X
X
0
1
X
X
0
X
X
X
0
1
J2
0
0
0
1
X
X
X
X
0
0
0
1
X
X
X
X
K2
X
X
X
X
0
0
0
1
X
X
X
X
0
0
0
1
J3
0
0
0
0
0
0
0
1
X
X
X
X
X
X
X
X
K3
X
X
X
X
X
X
X
X
0
0
0
0
0
0
0
1
Cherchons l’expression booléenne de chaque entrée Ji et Ki en utilisant le
diagramme de Karnaugh.
_ _ _
_
B.A B.A B.A B.A
_ _ _
_
B.A B.A B.A B.A
_ _
D.C
_
D.C
D.C
_
D.C
1
X
X
1
1
X
X
1
1
X
X
1
1
X
J0 = 1
X
1
_ _
D.C
_
D.C
D.C
_
D.C
D.C
_
D.C
0
0
1
0
X
X
X
X
X
X
X
0
0
0
1
0
Cours circuits Logiques
1
X
X
0
1
X
X
0
1
X
X
0
1
X
J1 = A
X
_ _ _
_
B.A B.A B.A B.A
_ _ _
_
B.A B.A B.A B.A
_ _
D.C
_
D.C
0
_ _
D.C
_
D.C
D.C
_
D.C
57
0
0
0
0
0
0
1
0
X
X
X
X
X
X
X
X
El Amjed HAJLAOUI
J2 = A.B
J3 = A.B.C
_ _ _
_
B.A B.A B.A B.A
_ _
D.C
_
D.C
D.C
_
D.C
X
1
1
X
X
1
1
X
X
1
1
X
X
1
1
X
_ _ _
_
B.A B.A B.A B.A
_ _
D.C
_
D.C
D.C
_
D.C
X
X
1
0
X
X
1
0
X
X
1
0
X
X
1
0
K0 = 1
K1 = A
_ _ _
_
B.A B.A B.A B.A
_ _
D.C
_
D.C
D.C
_
D.C
X
X
X
X
0
0
1
0
0
0
1
0
X
X
X
X
_ _ _
_
B.A B.A B.A B.A
_ _
D.C
_
D.C
X
X
X
X
X
X
X
X
0
0
1
0
0
0
0
0
D.C
_
D.C
K2 = A.B
K3 = A.B.C
On retrouve bien les niveaux d’entrées nécessaires des différentes bascules J-K pour la
conception du compteur synchrone MODULO-16 donné précédemment.
REMARQUE :
Dans le cas d’un compteur synchrone, toutes les bascules changent d’état en même
temps, c'est-à-dire quelles sont synchrones sur le front descendant des signaux d’horloge.
Ainsi, contrairement aux compteurs asynchrones, les retards de propagation des bascules ne
s’additionnent pas.
Au contraire, le temps de réponse total d’un compteur parallèle est égal au retard d’une
seule bascule plus le temps de retard d’une seule porte ET.
Retard total = tpd (d’une bascule) + tpd (d’une porte ET)
Cette équation montre q’un compteur parallèle peut fonctionner à des fréquences de loin
supérieures à celle d’un compteur asynchrone ayant le même nombre de bascules. C’est le
grand atout des compteurs parallèles.
Cours circuits Logiques
58
El Amjed HAJLAOUI
Application :
Déterminer FMAX pour un compteur synchrone MODULO-16, si le tpd de chaque
bascule est de 50 ns et tpd de chaque porte ET est de 20 ns. Comparer cette FMAX à celle d’un
compteur asynchrone MODULO-16.
t horloge > 50 + 20 = 70 ns
donc FMAX = 1/70 = 14,3 Mhz
Un compteur asynchrone MODULO-16 utilise 4 bascules ayant tpd = 50 ns
Donc FMAX = 1/4.50 ns = 5 Mhz.
3- Décompteur et compteur réversible parallèle
On peut construire un décompteur parallèle en utilisant les sorties complémentées des
bascules pour alimenter les entrées J K suivantes. Pour réaliser un compteur/décompteur
parallèle, on utilise les entrées COMPTAGE et DECOMPTAGE pour déterminer si on
alimente les entrées J et K avec les sorties normales ou complémentées.
Le compteur de la figure ci-dessous est un compteur réversible MODULO-8 (dit aussi
compteur/décompteur) qui dénombre les états 000 jusqu’à 111 lorsque l’entrée de commande
COMPTAGE est à 1 et qui dénombre régressivement les états 111 jusqu’à 000 lorsque
l’entrée de commande DECOMPTAGE est à 1.
4-Compteur préréglage
Plusieurs compteurs réalisés en C.I sont préréglages, c'est-à-dire qu’il est possible
d’installer dans le compteur en tout instant un nombre de départ d’une façon asynchrone ou
synchrone.
La figure ci-dessous montre un compteur parallèle 3 bits préréglage d’une façon
asynchrone.
Un nombre qu’on souhaite introduire dans le compteur est introduit par les entrées
parallèles PA, PB , PC . Ce transfert est indépendant des entrées J K et de CLK. L’effet
d’horloge CLK est neutralisé tant que PL revient au niveau Haut, les bascules peuvent alors
réagir aux entrées CLK et le comptage peut reprendre en commençant par le nombre qui a été
changé dans le compteur.
B- Les
registres
Cours circuits Logiques
59
El Amjed HAJLAOUI
L’utilisation des bascules, permet la mémorisation d’un élément binaire. Le stockage
d’un ensemble de n éléments (n bits) se fait en regroupant n bascules, pour constituer un
registre.
Il existe de différents types de registres qui peuvent être classés selon leur type
d’écriture (chargement) et de lecture des données.
Voici les différents types de registres :
•
Registres à écriture série/lecture série
•
Registres à écriture parallèle/lecture parallèle
•
Registres à écriture parallèle/lecture série
•
Registres à écriture série/lecture parallèle
I- Registre à Ecriture Série/Lecture Série
C’est un registre qui est formé d’un ensemble de bascules câblées de manière à ce que
les informations mémorisées dans les bascules soient déportées d’une bascule à la suivante à
chaque impulsion d’horloge.
La figure ci-dessous montre quatre bascules D câblées de manière à constituer un
registre à décalage de 4 bits.
Les bascules D sont raccordées pour que la sortie Q3 dans Q1 , et celle de Q1 dans Q0 .
Les formes d’ondes de la figure ci-dessous, montrent comment l’application d’une
succession d’impulsions d’horloge déplace les données d’entrée de gauche à droite d’une
bascule à une autre. On suppose que toutes les bascules sont à l’état bas avant l’application du
signal d’horloge.
On remarque bien qu’à chaque front descendant de l’impulsion d’horloge CLK, les
sorties des bascules prennent la valeur de sortie qu’avait la bascule immédiatement à gauche
avant le front descendant. Evidemment Q3 prend la valeur fournie par la ligne d’entrée de
données avant le front descendant CLK
Exemple : la figure ci-dessous représente deux registres à décalage de 3 bits raccordés
de telle sorte que le contenu du registre X est transféré par le décalage dans le registre Y.
chacun de ces registres est formé de trois bascules D. les impulsions d’horloge déclenchent le
transfert de l’information selon le schéma suivant : X2 --→X1 --→X0 --→Y2 --→Y1 --→Y0.
Supposons qu’avant l’arrivée de la première impulsion, le contenu du registre X est 101
c'est-à-dire (X2= 1, X1= 0, X0= 1) et qu’il n’y ait que des zéros dans le registre Y.
Cours circuits Logiques
60
El Amjed HAJLAOUI
On remarque :
•
•
•
Au front descendant de chaque impulsion, les bascules prennent la valeur
mémorisée dans la bascule immédiatement à gauche.
Après trois impulsions d’horloge, le 101 mémorisé dans le registre X a été
transmis par décalage dans le registre Y.
Il a fallu trois impulsions pour transférer trois bits d’informations.
REMARQUE : il est indispensable que les bascules du registre aient en temps de
maintien tH excessivement faible, au moins inférieur au retard de propagation. Heureusement
les bascules modernes déclenchées par un signal d’horloge respectant cette exigence.
II- Registre à Ecriture Parallèle/Lecture Parallèle
Dans un registre à écriture parallèle, le chargement s’effectue au même instant dans
toutes les bascules. Les informations ei se présentent simultanément sur les bornes d’entrée du
registre.
La figure ci-dessous illustre le cas d’un registre 4 bits à écriture et lecture parallèles.
III- Registre à Ecriture Série/Lecture Parallèle
Dans ce cas, les bits d’entrée sont appliquées successivement (en série) sur les bornes
d’entrée. Chaque impulsion d’horloge CLK fait avancer les bits de sortie d’une bascule à la
suivante.
A la 4ème impulsion CLK, le premier bit se trouve mémorisé dans la dernière bascule, le
second dans l’avant dernière, le troisième dans la deuxième bascule et le dernier bit d’entrée
dans la première bascule.
La lecture du contenu du registre se fait d’une façon simultanée, pour cela il faut
attendre que le registre soit rempli (4 impulsions CLK sont nécessaires).
IV- Registre à Ecriture Parallèle/Lecture Série
Comme le montre la figure suivante, un circuit logique additif de portes NAND est
nécessaire pour charger ce registre.
____
A l’entrée PRE on a : PRE = α . ei
_______
Cours circuits Logiques
61
El Amjed HAJLAOUI
_____
_
A l’entrée CLR on a : CLR = α . ei . α = α . ei +α
• Si α = 0
On a alors CLR = 1
PRE = 1
•
Si α = 1
CLR = ei
On a alors
_
Q = ei (chargement)
PRE = ei
Quand l’ordre de changement apparaît (quand α = 1), les données ei des bascules sont
appliquées à ses entrées asynchrones, ce qui force les sorties des différentes bascules à suivre
les états d’entrée, comme le montre les équations précédentes. La lecture des données
chargées parallèlement s’achève après 4 impulsions d’horloge.
Cours circuits Logiques
62
El Amjed HAJLAOUI
Téléchargement