Vous êtes sur la page 1sur 62

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 Binaire
0 0 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 2
1001 1111 0010 = 100111110010

Cours circuits Logiques 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 A 6 = 3A616

B- 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 grandeur = 4710
signe exacte
Nombre négatif : -4710 = 1 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 Nombre Binaire Signe en
Complément à 2
-8=-23 1000
-7 1001
-6 1010
-5 1011
-4 1100
-3 1101
-2 1110
-1 1111
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7=23 -1 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 1001


2ème nombre : +410 0100

Résultat : 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 1 0001

dépassement

Cours circuits Logiques 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

Débordement à éliminer
• 1er nombre : -610 → 1010 complément à 2 de 6
2ème nombre : -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 donc
11101 11100
x 00100 x 11101

= 1 1 1 0 1 0 0 -------→01100= 1210 =11001 0 1 1 0 0 = +1210


Complément (en valeur absolue)
à2

Ι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 58 3AF CAFE
+ 34 + 4B +43C + CAF E
-------- --------- --------- -----------
= 8C =A3 =7EB =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 hexadécimal
à2
2ème méthode :
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.
Exemple : 8 7 4 décimal
↑ ↑ ↑
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.
Code Décimal 0 1 2 3 4 5 6 7 8 9
Code Majoré de 3 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100

ΙΙΙ - 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
0 0000 0000 8 1000 1100
1 0001 0001 9 1001 1101
2 0010 0011 10 1010 1111
3 0011 0010 11 1011 1110
4 0100 0110 12 1100 1010
5 0101 0111 13 1101 1011
6 0110 0101 14 1110 1001
7 0111 0100 15 1111 1000
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 B X=A+B
0 0 0
0 1 1
1 0 1
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 B C X=A+B+C
0 0 0 0
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 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 B X= A. B
0 0 0
0 1 0
1 0 0
1 1 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 ci-
dessous montre une porte ET à trois entrées.

A B C X =A . B . C
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

Cours circuits Logiques 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 B A+B A+B
0 0 0 1
0 1 1 0
1 0 1 0
1 1 1 0

Cours circuits Logiques 13 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 ci-
dessous :
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 ci-
dessous :

A B A⊕B
0 0 1
0 1 0
1 0 0
1 1 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 Y X+Y X .Y X .Y X+Y
0 0 1 1 1 1
0 1 0 0 1 1
1 0 0 0 1 1
1 1 0 0 0 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 _ _
X= A .B + A. B
A 0 1

Cours circuits Logiques 17 El Amjed HAJLAOUI


_
B B
_
A 1 1 _
X =A + B
A 0 1

b- Cas des trois variables

_
C C
_ _
A .B 0 0
_ _
A .B 1 0 X = B .C

A .B 1 0
_
A .B 0 0

_
C C
_ _
A .B 0 0 _
_ X=A.B
A .B 1 1

A .B 0 0
_
A .B 0 0

X=C

Cours circuits Logiques 18 El Amjed HAJLAOUI


_
C C
_ _
A .B 0 1
_
A .B 0 1 _ _
X= B . C
A .B 0 1
_
A .B 0 1
_
C C
_ _
A .B 1 0
_ _
A .B C0 C
0
_ _
A .B 10
A .B 10
__ _ _
A .B 11
A .B 10 X = A+B .C

A .B 0 0
_
A .B 0 1

c- Cas de quatre variables :

_ _ _ _
C .D C .D C .D C .D
_ _ _ _ _
A .B 0 0 0 1 X = A. B .C .D + A .C D + B .D
_
A .B 0 1 1 0

A .B 0 1 1 0
_
A .B 0 0 1 0

_ _ _ _
C .D C .D C .D C .D
_ _ _ _ _ _ _ _
A .B 0 1 0 0 X =A. B. D +B. C .D + B. C .D +A .B .D
_
A .B 0 1 1 1

A .B 0 0 0 1
_
A .B 1 1 0 1

Cours circuits Logiques 19 El Amjed HAJLAOUI


_ _ _ _
C .D C .D C .D C .D _ _
_ _ X = B. D
A .B 1 0 0 1
_
A .B 0 0 0 0

A .B 0 0 0 0
_
A .B 1 0 0 1

_ _ _ _
C .D C .D C .D C .D
_ _ _ _ _
A .B 0 0 1 0 X= A. B +B .C +A. C .D
_
A .B 1 1 1 1

A .B 1 1 0 0
_
A .B 0 0 0 0

_ _ _ _
C .D C .D C .D C .D
_ _ _
A .B 1 1 1 1 X= B
_
A .B 0 0 0 0

A .B 0 0 0 0
_
A .B 1 1 1 1

_ _ _ _
C .D C .D C .D C .D
_ _ _
A .B 1 1 0 0 X=C
_
A .B 1 1 0 0

A .B 1 1 0 0
_
A .B 1 1 0 0

Cours circuits Logiques 20 El Amjed HAJLAOUI


d- Cas de cinq variables

_ _ _ _
C. D C. D C. D C. D
_ _ _
A. B .E 0 0 0 0
_ _
A. B .E 1 1 1 1
_
A. B .E 1 1 1 1 _ _ _
_ _ X= B. E + A .B .E. C + A. B. E
A. B .E 0 0 0 0
_
A. B .E 0 0 1 1

A. B .E 0 0 0 0
_
A. B .E 1 1 1 1
_ _
A. B .E 0 0 0 0

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 1 1 0 0 0 0 0 0
_ _
A. B. E 1 1 0 0 0 0 0 0
_
A. B. E 1 1 0 0 1 1 1 1
_ _
A. B. E 1 1 0 0 0 0 0 0
_
A. B. E 0 0 0 0 0 0 0 0

A. B. E 0 0 0 0 0 1 1 0
_
A. B. E 1 1 1 1 0 1 1 0
_ _
A. B. E 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 B C X
0 0 0 0
0 0 1 0
0 1 0 0
_
0 1 1 1 A. B. C
1 0 0 0
_
1 0 1 1 A. B. C
_
1 1 0 1 A. B. C

1 1 1 1 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 C
_ _
A. B 0 0
_
A. B 0 1

A. B 1 1
_
A. B 0 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 B C D X
0 0 0 0 0
0 0 0 1 0
0 0 1 0 0

Cours circuits Logiques 22 El Amjed HAJLAOUI


0 0 1 1 0
0 1 0 0 0
0 1 0 1 0
0 1 1 0 0
_
0 1 1 1 1 A. B. C. D
_ _ _
1 0 0 0 1 A. B. C. D
_ _
1 0 0 1 1 A. B. C. D
_ _
1 0 1 0 1 A. B. C. D
_
1 0 1 1 1 A. B. C. D
_ _
1 1 0 0 1 A. B. C. D
_
1 1 0 1 1 A. B. C. D
_
1 1 1 0 1 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 R B NIVEAU SUP RENVOYE REDOUBLE REORIENTE


0 0 0 0 0 0 1
0 0 1 0 0 1 0
0 1 0 0 1 0 0
0 1 1 0 1 0 0
1 0 0 1 0 0 0
1 0 1 1 0 0 0
1 1 0 1 0 0 0
1 1 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 Renv = M. R
_ _
Red = M. R. B N.Sup = M

Cours circuits Logiques 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).

N entrées 2N sorties

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 B C Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7
0 0 0 0 1 1 1 1 1 1 1
0 0 1 1 0 1 1 1 1 1 1
0 1 0 1 1 0 1 1 1 1 1
0 1 1 1 1 1 0 1 1 1 1
1 0 0 1 1 1 1 0 1 1 1
1 0 1 1 1 1 1 1 0 1 1
1 1 0 1 1 1 1 1 1 0 1
1 1 1 1 1 1 1 1 1 1 0

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
2n Sortie
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 S0 Sortie
0 0 Z= I0
0 1 Z= I1
1 0 Z= I2
1 1 Z= I3
Cours circuits Logiques 29 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 S2 S1 S0 Z Z

H X X X H B
_
B B B B I0 I0
_
B B B H I1 I1
_
B B H B I2 I2
_
B B H H I3 I3
_
B H H B I4 I4
_
B H H H I5 I5
_
B H H B I6 I6
_ _
B H H H I7 I7

Cours circuits Logiques 30 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 B A Z
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 1

Cours circuits Logiques 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
X4 8 ENTREES

X5

X6

X7

A J A J A J

CLK CLK CLK

K 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.

2n
Une DéMultiplexeur
Sorties
Entrée

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 S1 S0 O7 O6 O5 O4 O3 O2 O1 O0
0 0 0 0 0 0 0 0 0 0 1
0 0 1 0 0 0 0 0 0 1 0
0 1 0 0 0 0 0 0 1 0 0
0 1 1 0 0 0 0 1 0 0 0
1 0 0 0 0 0 1 0 0 0 0
1 0 1 0 0 1 0 0 0 0 0
1 1 0 0 1 0 0 0 0 0 0
1 1 1 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 Bi Si Ri
0 0 0 0
0 1 1 0
1 0 1 0
1 1 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 Bi Ri-1 Si Ri
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1

Ai’. Bi’ Ai’. Bi Ai. Bi Ai. Bi’


Ri-1’ 0 0 1 0
Ri-1 0 1 1 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 A S0
b0

S1
a1 A
b1

a2 A S2
b2

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
C4 de 4 bits 74LS83

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

Additionneur de 4 Additionneur de 4
C8 bits bits

B7 B6 B5 B4 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 A S Nb S
N1 additionneur
complet
B Rn
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 A1 A0

C4 ADDITIONNEUR PARALLELE C0-1

B3’ B2’ B2’ B1’ S3 S2 S1 S0

Cours circuits Logiques 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 1000 1000 1001


+376 0011 0111 0110
1265 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 bi Si(>) Ii(<) Ei(=)


0 0 0 0 1
0 1 0 1 0
1 O 1 0 0
1 1 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 IA>IB IA<IB A>B A<B


IA=IB A=B
A3>B3 X X X X X X H B B
A3<B3 X X X X X X B H B
A3=B3 A2>B2 X X X X X H B B
A3=B3 A2<B2 X X X X X B H B
A3=B3 A2=B2 A1>B1 X X X X H B H
A3=B3 A2=B2 A1<B1 X X X X B H B
A3=B3 A2=B2 A1=B1 A0>B0 X X X H B B
A3=B3 A2=B2 A1=B1 A0<B0 X X X B H B
A3=B3 A2=B2 A1=B1 A0=B0 H B B H B B
A3=B3 A2=B2 A1=B1 A0=B0 B HB B H B
A3=B3 A2=B2 A1=B1 A0=B0 X X H B B H
A3=B3 A2=B2 A1=B1 A0=B0 B B B H H B
A3=B3 A2=B2 A1=B1 A0=B0 H H B B B B

Cours circuits Logiques 42 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 R Q
1 1 inchangée
0 1 Q=1
1 0 Q=0
0 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 R Q
0 0 Inchangée
1 0 Q=1
0 1 Q=0
1 1 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 R CLK Q
0 0 ↑ Q0(inchangée)
1 0 ↑ 1
0 1 ↑ 0
1 1 ↑ Ambiguë

S R CLK Q
0 0 ↓ Q0(inchangée)
1 0 ↓ 1
0 1 ↓ 0
1 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 K CLK Q
0 0 ↑ Q0(inchangée)
1 0 ↑ 1
0 1 ↑ 0

Cours circuits Logiques 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 K CLK Q
0 0 ↓ Q0(inchangée)
1 0 ↓ 1
0 1 ↓ 0
1 1 ↓ __
Q0(basculement)

Cours circuits Logiques 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 Q0 J0 Q0 J0 Q0 J0
CLK0 CLK0 CLK0 CLK0
_ _ _ _
Q0 K0 Q0 K0 Q0 K0 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 ci-
dessous :

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 B J A J
CLK CLK
_ _ _ CLK
C K B K A K

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 J B J A J

CLK CLK CLK CLK

K K K 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 ci-
dessous.
Qn Qn+1 J K
0 0 0 X
0 1 1 X
1 0 X 1
1 1 X 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 J0 K0 J1 K1 J2 K2 J3 K3
0 0 0 0 1 X 0 X 0 X 0 X
0 0 0 1 X 1 1 X 0 X 0 X
0 0 1 0 1 X X 0 0 X 0 X
0 0 1 1 X 1 X 1 1 X 0 X
0 1 0 0 1 X 0 X X 0 0 X
0 1 0 1 X 1 1 X X 0 0 X
0 1 1 0 1 X X 0 X 0 0 X
0 1 1 1 X 1 X 1 X 1 1 X
1 0 0 0 1 X 0 X 0 X X 0
1 0 0 1 X 1 1 X 0 X X 0
1 0 1 0 1 X X 0 0 X X 0
1 0 1 1 X 1 0 X 1 X X 0
1 1 0 0 1 X 0 X X 0 X 0
1 1 0 1 X 1 1 X X 0 X 0
1 1 1 0 1 X X 0 X 0 X 0
1 1 1 1 X 1 X 1 X 1 X 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 1 X X 1 D.C 0 1 X X
_ _
D.C 1 X X 1 D.C 0 1 X X

D.C 1 X X 1 D.C 0 1 X X
_ _
D.C 1 X X 1 D.C 0 1 X X
J0 = 1 J1 = A
_ _ _ _
_ _ _ _ B.A B.A B.A B.A
B.A B.A B.A B.A _ _
_ _ D.C 0 0 0 0
D.C 0 0 1 0 _
_ D.C 0 0 1 0
D.C X X X X
D.C X X X X
D.C X X X 0 _
_ D.C X X X X
D.C 0 0 1 0

Cours circuits Logiques 57 El Amjed HAJLAOUI


J2 = A.B J3 = A.B.C

_ _ _ _ _ _ _ _
B.A B.A B.A B.A B.A B.A B.A B.A
_ _ _ _
D.C X 1 1 X D.C X X 1 0
_ _
D.C X 1 1 X D.C X X 1 0

D.C X 1 1 X D.C X X 1 0
_ _
D.C X 1 1 X D.C X X 1 0

K0 = 1 K1 = A

_ _ _ _ _ _ _ _
B.A B.A B.A B.A B.A B.A B.A B.A
_ _ _ _
D.C X X X X D.C X X X X
_ _
D.C 0 0 1 0 D.C X X X X

D.C 0 0 1 0 D.C 0 0 1 0
_ _
D.C X X X X D.C 0 0 0 0
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

Vous aimerez peut-être aussi