Vous êtes sur la page 1sur 76

Polycopié Pédagogique

Electronique Numérique

Première Année Cycle Ingénieur, Filières GSTR et GSEA

M. Moussaoui
3 Polycopié de l’Electronique Numérique

TABLE DE MATIERE

CHAPITRE I 6
REPRESENTATION DE L’INFORMATION NUMERIQUE ET ARITHMETIQUE BINAIRE 6
1 Introduction 6
2 Représentation numérique de l’information 6
2.1 Représentation polynomiale 6
2.2 Bases de numération conventionnelle 6
2.3 Conversions entre bases de numération 7
2.3.1 Base b vers base 10 7
2.3.2 Base 10 vers base b 7
2.3.3 Base 2 vers base 2n 8
2.3.4 Base 2n vers base 2 10
2.4 Représentation binaire des nombres signés 10
2.4.1 Représentation en complément à 2 10
2.5 Les codes 11
2.5.1 Codes binaire naturel, octal et hexadécimal 11
2.5.2 Code BCD 12
2.5.3 Code binaire réfléchi ou code de GRAY 12
2.6 Opérations arithmétiques sur les nombres binaires 12
2.6.1 Addition binaire 12
CHAPITRE II 14
VARIABLES ET FONCTIONS LOGIQUES 14
1 Introduction 14
2 Algèbre de Boole 14
2.1 Définitions 14
2.2 Table de vérité d’une fonction logique 14
2.3 Les fonctions logiques élémentaires 15
2.3.1 La fonction de complémentation ou fonction NON 15
2.3.2 La fonction produit logique ou fonction ET 15
2.3.3 La fonction addition logique ou fonction OU 16
2.3.4 La fonction NON ET ou NAND : 16
2.3.5 La fonction NON OU ou NOR 17
2.3.6 La fonction OU exclusif (abrégé OUEX ou XOR) 17
2.3.7 La fonction ET inclusif (abrégé XNOR) 18
2.4 Propriétés des fonctions logiques élémentaires 18
2.4.1 Propriétés des fonctions NON, ET, et OU 18
4 Polycopié de l’Electronique Numérique

2.4.2 Propriétés des fonctions NON, ET, et OU 19


2.4.3 Propriétés des fonctions OU exclusif et ET inclusif 19
2.4.4 Opérateurs complets 20
2.5 Représentation des fonctions Booléennes 20
2.5.1 Forme Canonique Disjonctive (FCD) (somme des produits) 20
2.5.2 Forme Canonique Disjonctive (FCD) (somme des produits) 21
2.5.3 Logigramme d’une fonction booléenne 21
2.5.4 Représentations de référence d’une fonction logique 22
2.5.5 Critères de choix d’une représentation 22
CHAPITRE III 24
SIMPLIFICATION DES FONCTIONS LOGIQUES 24
1 Introduction 24
2 Simplification algébrique 24
3 Simplification par diagramme de Karnaugh 24
3.1 Adjacence logique 25
3.2 Construction du Diagramme de Karnaugh 25
3.3 Procédure de simplification 27
3.4 Fonctions définies partiellement 28
CHAPITRE IV 29
CIRCUITS LOGIQUES COMBINATOIRES 29
1 Définition 29
2 Les opérateurs de transcodage 29
2.1 Les codeurs 29
2.1.1 Codeur BCD décimal vers binaire (10 entrées vers 4 sorties) 29
2.1.2 Codeur binaire (2n entrées vers n sorties) 31
2.1.3 Codeur prioritaire 33
2.2 Les décodeurs 35
2.2.1 Les décodeurs binaires 35
2.3 Les transcodeurs 36
3 Les opérateurs d’aiguillage 38
3.1 Les multiplexeurs 38
3.2 Les démultiplexeurs 40
4 Les opérateurs de comparaison 41
5 Les opérateurs arithmétiques 43
5.1 Les additionneurs 43
5.1.1 Demi-additionneur binaire 43
5.1.2 Additionneur complet 1-bit 43
5.1.3 Additionneur parallèle à propagation de retenue 45
5.1.4 Additionneur à retenue anticipée (carry look-ahead adder) 46
5 Polycopié de l’Electronique Numérique

5.2 Les soustracteurs 48


5.2.1 Demi-soustracteur 48
5.2.2 Soustracteur Complet 49
5.2.3 Soustracteur Parallèle 51
CHAPITRE V 52
LOGIQUE SEQUENTIELLE 52
1 Système Séquentiel 52
1.1 Système Séquentiel Synchrone 52
1.2 Système Séquentiel Asynchrone 53
2 Les bascules 54
2.1 Le point mémoire élémentaire 54
2.2 Bascule RS Asynchrone 54
2.3 Les Bascules Synchrones 56
2.3.1 Bascule RSH 56
2.3.2 Bascule D Latch 57
2.3.3 Bascule D à déclenchement sur front (D flip-flop) 58
2.3.4 Bascule JK à déclenchement sur front 59
2.3.5 Bascule T 60
2.4 Initialisation des circuits séquentiels 61
3 Les Registres 62
3.1 Les Registres de mémorisation 62
3.2 Les Registres à décalage 63
CHAPITRE VI 64
LES COMPTEURS 64
1 Introduction 64
2 Compteurs Asynchrones 65
2.1 Compteurs asynchrones à cycles complets à bascules D, front montant 65
2.2 Compteurs asynchrones à cycles complets à bascules D, front descendant 66
2.3 Compteurs asynchrones à cycles complets à bascules JK, front montant 66
2.4 Compteurs asynchrones à cycles complets à bascules JK, front descendant 67
2.5 Décompteurs asynchrones à cycles complets à bascules D, front montant 68
2.6 Décompteurs asynchrones à cycles complets à bascules JK, front montant 68
2.7 Compteurs asynchrones à cycles incomplets 69
3 Compteurs Synchrones 70
3.1 Compteurs Synchrones à base des bascules D 70
3.2 Compteurs Synchrones à base des bascules JK 73
6 Polycopié de l’Electronique Numérique

CHAPITRE I

REPRESENTATION DE L’INFORMATION
NUMERIQUE ET ARITHMETIQUE BINAIRE

1 Introduction
Les systèmes numériques complexes tels que les calculateurs doivent traiter des nombres, des
chaînes de caractères alphanumériques, des instructions. A cette fin, ces informations sont
représentées à l’aide de l’élément binaire, noté bit (binary digit). L’objectif de ce chapitre n’est pas
de démontrer des théorèmes, ni de présenter de manière exhaustive « l’art de la numération », qui
fait toujours l’objet de recherches, mais plutôt de rappeler les notions fondamentales du codage de
l’information utilisé par les systèmes numériques.

2 Représentation numérique de l’information

Les informations numériques ou digitales sont des informations numérisées qui ne prennent en
compte qu’un nombre fini de valeurs discrètes. Nous allons étudier ici les divers codages employés
pour les traiter.

2.1 Représentation polynomiale

De manière générale l’expression d’un nombre N en base b peut se décomposer sous la forme
polynomiale suivante en fonction des puissances entières de la base :

𝐴𝑏 = 𝑆(𝑎𝑛 𝑏 𝑛 + 𝑎𝑛−1 𝑏 𝑛−1 + ⋯ + 𝑎0 𝑏 0 + 𝑎−1 𝑏 −1 + ⋯ + 𝑎−𝑚 𝑏 −𝑚 )


Avec

• S est le signe du nombre


• 𝑎𝑖 est le symbole de rang i, et,
• 𝑎𝑛 est le symbole de poids le plus fort (MSB)
• 𝑎−𝑚 est le symbole de poids le plus faible (LSB)

Le nombre 𝐴𝑏 s’exprime en numérotation de position par 𝑆𝑎𝑛 𝑎𝑛−1 … 𝑎0 𝑎−1 … 𝑎−𝑚 Les
symboles 𝑎𝑛 𝑎𝑛−1 … 𝑎0 et représentent la partie entière et les symboles 𝑎−1 … 𝑎−𝑚 la partie
fractionnaire.

2.2 Bases de numération conventionnelle

Les bases de numération les plus employées sont la base décimale (b = 10), la base binaire (b =
2), et les bases dérivées de la base binaire : base octale (b = 8) et base hexadécimale (b = 16).
7 Polycopié de l’Electronique Numérique

La numération binaire utilise les 2 bits 0 et 1, la numération octale utilise 8 chiffres : 0, 1, 2, 3, 4, 5,


6, 7, et la numération hexadécimale utilise 16 symboles : 0, 1, 2, ..., 9, A, B, C, D, E, F (les symboles
A à F ont pour équivalents décimaux les nombres 10 à 15).
Le système binaire et ses dérivés sont ceux utilisés pour le codage des informations dans les
systèmes numériques. La base 16 est couramment utilisée car elle peut être considérée comme une
écriture condensée de l’écriture binaire et, par conséquent, sa conversion vers le binaire est
particulièrement aisée. Les conversions les plus utilisées sont les suivantes
• base b vers base 10
• base 10 vers base b
• base 2 vers base 2n (8 ou 16)
• base 2n (8 ou 16) vers base 2

2.3 Conversions entre bases de numération


2.3.1 Base b vers base 10

Pour convertir un nombre d’une base b vers la base décimale, on utilise la méthode dite des
additions qui consiste à utiliser la représentation du nombre sous forme polynomiale (équation 1).

Exemple : conversion du nombre binaire entier N2 = 1101 0011 en base 10.

N10 = 1. 27 +1 .26 + 0. 25 + 1 .24 + 0 .23 + 0 .22 + 1 .21 + 1. 20 = 128 + 64 + 16 + 2 + 1= 211

N. B. : La méthode des additions requiert la connaissance des puissances successives de la base de


départ.

2.3.2 Base 10 vers base b

• Nombres entiers

Pour effectuer une conversion d’un entier décimal dans une autre base b on applique la méthode
des divisions successives : on effectue des divisions successives du nombre par cette base, les
restes successifs forment alors le nombre converti.
Exemple : conversion de A10 = 965 en base 2

965 2
1 482 2
0 241 2
1 120 2
0 60 2
0 30 2
0 15 2
1 7 2
Résultat
1 3 2
𝐴2 = 1111000101 2
1 1
1 0
8 Polycopié de l’Electronique Numérique

• Nombres fractionnaires

Pour convertir un nombre fractionnaire de la base 10 vers une autre base, il faut procéder en deux
étapes. La partie entière du nombre est convertie comme indiqué précédemment ; la partie
fractionnaire du nombre est convertie par multiplications successives : on multiplie
successivement la partie fractionnaire par la base cible, en retenant les parties entières qui
apparaissent au fur et à mesure. La conversion peut ne pas se terminer et que l’on obtient, en
s’arrêtant à un nombre fini de positions une approximation de la représentation du nombre.

Exemple : conversion de A10 = 965,85 en base 2

Partie entière : (965)10 = (1111000101)2

Partie fractionnaire :

0,85x2=1,70=1+0,7 0,7x2=1,4=1+0,4 0,4x2=0,8=0+0,8 ….

1 1 0
Sens de lecture

(0,85)10 = (110…)2

Finalement
(965,85)10 = (1111000101,110…)2

2.3.3 Base 2 vers base 2n

L’utilisation des bases 2n (8 et 16) permet de réduire le nombre de symboles à écrire tout en
conservant la possibilité de conversion instantanée en binaire. Pour convertir un nombre de la base
2 vers la base 2n, il suffit de regrouper les bits par groupes de n (3 pour la base octale et 4 pour la
base hexadécimale), et de remplacer chacun de ces groupes par le symbole correspondant dans la
base d’arrivée.
Le tableau suivant donne la correspondance entre les nombres Octaux, Hexadécimaux et
respectivement triplets et quartets binaires :
9 Polycopié de l’Electronique Numérique

Chiffre Chiffre Nombre binaire Nombre


Octal Hexadécimal Pour Pour Décimal
Octal Hexadécimal
0 0 000 0000 0
1 1 001 0001 1
2 2 010 0010 2
3 3 011 0011 3
4 4 100 0100 4
5 5 101 0101 5
6 6 110 0110 6
7 7 111 0111 7
8 1000 8
9 1001 9
A 1010 10
B 1011 11
C 1100 12
D 1101 13
E 1110 14
F 1111 15

- Exemple 1 : Conversion de binaire en octal 𝐴2 = 10111010 → 𝐴8

Le nombre binaire 𝑨𝟐 est converti en octal de la façon suivante : ce nombre divisé en triplets,
puis on écrit pour chaque triplet le nombre octal correspondant
010 111 010
↓ ↓ ↓
2 7 2
Résultat :
𝑋8 = 272

- Exemple 2 : Conversion de binaire en Hexadécimal 𝐴2 = 10110110011101 → 𝐴16

Le nombre binaire 𝑨𝟐 est converti Hexadécimal de la façon suivante : ce nombre divisé en


quartets, puis on écrit pour chaque quartets le nombre Hexadécimal correspondant

0010 1101 1001 1101


↓ ↓ ↓ ↓
2 𝐷 9 𝐷
Résultat :

𝑋8 = 2𝐷9𝐷
10 Polycopié de l’Electronique Numérique

2.3.4 Base 2n vers base 2

Pour la conversion inverse, il suffit de développer chaque symbole de la représentation dans la


base 2n sur n bits.

- Exemple 1 : Le nombre octal 607 est converti en binaire de la façon suivante :

6 0 7
- ↓ ↓ ↓
110 000 111
Résultat : 𝐴2 = 110000111

- Exemple 2 : Le nombre hexadécimal A8B est converti en binaire de la façon suivante :

𝐴 8 𝐵
- ↓ ↓ ↓
1010 1000 1011
Résultat : 𝐴2 = 101010001011
2.4 Représentation binaire des nombres signés

Les systèmes numériques doivent être capables de traiter des nombres positifs et négatifs.
L’utilisation d’une représentation signée suppose l’utilisation d’un format (nombre de bits) fixé au
préalable.

2.4.1 Représentation en complément à 2

Le complément à 2 est le mode de représentation le plus utilisé en arithmétique binaire et donc


dans les ordinateurs pour coder les nombres entiers. Dans cette représentation, les nombres
positifs se représentent par leur valeur binaire naturelle.
La représentation des nombres négatifs s’obtient comme suit :
- On part de la représentation binaire naturelle de l’opposé arithmétique du nombre à coder
(nombre positif),
- On calcule son complément à 1 (CA1) ou complément restreint. Celui-ci est obtenu en
inversant tous ses bits,
- On en déduit son complément à 2 (CA2) ou complément vrai en ajoutant 1 au niveau du
LSB.

- Exemple : représentation de -4 en CA2 sur un format de 6 bits :


• Représentation binaire naturelle de +4 : 4 = 000100,
• CA1 de +5 = 111011,
11 Polycopié de l’Electronique Numérique

• CA2 de +5 : −5 =111100.

La représentation en complément à 2 présente les caractéristiques suivantes :


- Le principe d’obtention de l’opposé d’un nombre négatif est le même que celui permettant
d’obtenir l’opposé d’un nombre positif,
- Le nombre 0 a une représentation unique,
- Un format sur n bits permet de coder en CA2 les nombres N compris entre : −2𝑛−1 ≤
𝑁 ≤ 2𝑛−1 − 1 ;

Un format de n = 4 bits permet de coder en CA2 les nombres :

Décimal +7 +6 +5 +4 +3 +2 +1 0 -1 -2 -3 -4 -5 -6 -7 -8
CA2 0111 0110 0101 0100 0011 0010 0001 0000 1111 1110 1101 1100 1011 1010 1001 1000

Le bit de poids fort (MSB) est représentatif du bit de signe, mais il est traité comme les autres bits
dans les opérations arithmétiques : si MSB = 0 le nombre est positif, si MSB = 1 le nombre est
négatif.

• Extension d’un nombre codé en CA2

L’extension d’un nombre codé sur n bits à un format sur n+k bits est réalisé comme suit :
- Si le nombre est positif, on complète les k bits de poids forts par des 0.
Par exemple
0111 → 0000111
𝐴𝐶𝐴2 =
+7 𝑠𝑢𝑟 4 𝑏𝑖𝑡𝑠 → +7 𝑠𝑢𝑟 7 𝑏𝑖𝑡𝑠

- Si le nombre est négatif, on complète les k bits de poids forts avec des 1.
Par exemple,
1010 → 1111010
𝐴𝐶𝐴2 =
−6 𝑠𝑢𝑟 4 𝑏𝑖𝑡𝑠 → −6 𝑠𝑢𝑟 7 𝑏𝑖𝑡𝑠

2.5 Les codes

Coder une information c'est lui associer un symbole ou une combinaison de symboles qui
permettent de la communiquer.

2.5.1 Codes binaire naturel, octal et hexadécimal

Le système de numération binaire est considéré comme un code binaire naturel, il permet en effet
de représenter des nombres sous forme binaire. Pour des nombres binaires à un grand nombre de
bits, la manipulation devient difficile. Pour cela, on utilise le code octal ou hexadécimal. La majorité
des calculateurs utilisent en effet le codage hexadécimal pour représenter des nombres binaires.
12 Polycopié de l’Electronique Numérique

2.5.2 Code BCD

BCD Binary Coded Decimal: Décimal Codé en Binaire. C'est le code le plus répandu. Dans ce
code, chaque digit est représenté par une combinaison binaire de quatre bits. Les unités sont
représentées par un quartet. Les dizaines sont représentées par un quartet. Les centaines sont
représentées par un quartet, etc… Ce code est aussi appelé code 8.4.2.1 qui sont les poids respectifs
des bits de chaque quartet.

Exemple de conversion décimal vers BCD : on code chaque digit (chiffre) décimal par un ensemble
de quatre chiffres binaires. = 568 10 = 0101 0110 1000 BCD

2.5.3 Code binaire réfléchi ou code de GRAY

On définit ce code de la façon suivante : à chaque augmentation d'une unité du chiffre décimal, un
seul bit du nombre binaire équivalent change de valeur par rapport au nombre binaire précédant.
Le tableau ci-dessous présente le code de GRAY des nombres décimaux compris entre 0 et 9.

Décimal Code binaire Code de GRAY


naturel
0 0000 0000
1 0001 0001
2 0010 0011
3 0011 0010
4 0100 0110
5 0101 0111
6 0110 0101
7 0111 0100
8 1000 1100
9 1001 1101

2.6 Opérations arithmétiques sur les nombres binaires

Les diverses opérations arithmétiques qui interviennent dans les ordinateurs et les calculatrices
portent sur des nombres exprimés en notation binaire. Dans cette partie, nous allons nous
concentrer sur les principes de base qui nous permettent de comprendre comment les machines
numériques (c'est-à-dire les ordinateurs) réalisent les opérations arithmétiques de base en essayant
de montrer comment effectuer manuellement ces opérations.

2.6.1 Addition binaire

L'addition de deux nombres binaires est parfaitement analogue à l'addition de deux nombres
décimaux. On commence par additionner les chiffres du rang de poids faible, les chiffres du
deuxième rang sont ensuite additionnés, et ainsi de suite. Les mêmes règles s'appliquent à l'addition
13 Polycopié de l’Electronique Numérique

binaire. Cependant, il n'y a que quatre cas, qui peuvent survenir lorsqu'on additionne deux chiffres
binaires et cela quel que soit le rang. Ces quatre cas sont :
• 0+0=0
• 1+0=1
• 1 + 1 = 10 = 0 + report de 1 sur le rang de gauche
• 1 + 1 + 1 = 11 = 1 + report de 1 sur le rang de gauche

Exemple :

1
0 1 1 0 (+6)
+ 1 1 0 1 (+13)
1 0 0 1 1 (+19)

Le principe de l’addition : on additionne symbole par symbole en partant des poids faibles, et en
propageant éventuellement une retenue. Si le format des nombres est fixe, le résultat de l’addition
peut donner lieu à un dépassement de capacité.
Par exemple, le résultat de l’addition de 2 nombres binaires codés sur n bits peut dépasser la plus
grande valeur codée sur n bits (2n −1 en binaire naturel).

La soustraction : en arithmétique binaire, est le plus souvent appliquée sur des nombres signés.
Dans ce cas, cette opération se ramène dans tous les cas à une addition.
Dans le cas où les nombres sont codés en complément à 2, l’addition de 2 nombres exprimés sur
n bits fournit toujours un résultat correct, sauf dans le cas où le résultat n’est pas représentable sur
les n bits. Il y a alors dépassement de capacité lorsque les deux opérandes sont de même signe et
que le résultat est de signe opposé. Dans le registre d’état d’un ordinateur, deux indicateurs viennent
renseigner le programmeur (ou le système d’exploitation) sur la validité des résultats obtenus : la
retenue (carry C) et le débordement (overflow OVF). L’indicateur C signale la présence d’une
retenue au niveau des poids forts ; l’indicateur OVF indique que le résultat de l’opération n’est pas
représentable dans le système du complément à 2 sur le format défini au départ.
Nous allons illustrer le positionnement de la retenue et du débordement par quatre

- Exemple :

0 0 0 0 0 1 1 0 (+6)
+ (+4) 𝑂𝑉𝑆𝐹 = 0
→ 𝑅é𝑠𝑢𝑙𝑡𝑎𝑡 𝐶𝑜𝑟𝑟𝑒𝑐𝑡
𝐶=0
0 0 0 0 0 1 0 0 (+10)
0 0 0 0 1 0 1 0
14 Polycopié de l’Electronique Numérique

CHAPITRE II

VARIABLES ET FONCTIONS LOGIQUES

1 Introduction

Le fonctionnement des systèmes numériques repose sur la manipulation de variables et fonctions


dont les valeurs sont représentées par des grandeurs physiques dites binaires car ne pouvant
prendre que deux valeurs (généralement notées 0 et 1). La structure mathématique permettant de
formaliser les opérations de manipulation de ces grandeurs binaires est dite algèbre de commutation
ou plus communément algèbre de Boole. Nous nous intéressons dans ce chapitre aux bases et aux
propriétés fondamentales de l’algèbre de Boole indispensables à la compréhension du
fonctionnement des systèmes numériques.

2 Algèbre de Boole

2.1 Définitions

Dans l’algèbre de commutation, une variable ne peut prendre que 0 ou 1 comme valeur possible.
Une telle variable est dite variable logique, variable binaire, ou variable booléenne. De même, une
fonction de n variables logiques ne peut prendre comme valeur que 0 ou 1. Elle est dite fonction
logique, fonction binaire, ou fonction booléenne.

2.2 Table de vérité d’une fonction logique

C’est une table donnant l’état logique de la fonction pour chacune des combinaisons des états de
ses variables. Une fonction de n variables est représentée par une table de vérité à n+1 colonnes et
au plus 2n lignes. Le tableau 2.1 donne la table de vérité d’une fonction de trois variables logiques.

A B C F(A,B,C)
0 0 0 F(0,0,0)
0 0 1 F(0,0,1)
0 1 0 F(0,1,0)
0 1 1 F(0,1,1)
1 0 0 F(1,0,0)
1 0 1 F(1,0,1)
1 1 0 F(1,1,0)
1 1 1 F(1,1,1)

Tableau 2.1 - Table de vérité d’une fonction de trois variables logiques


15 Polycopié de l’Electronique Numérique

2.3 Les fonctions logiques élémentaires

Trois fonctions suffisent pour définir une algèbre de Boole : la complémentation, le produit
logique, et l’addition logique.

2.3.1 La fonction de complémentation ou fonction NON

Le complément de la variable A se note 𝐴̅ (lire « A barre » ou « non A ») vaut 1 (respectivement 0)


si et seulement si A vaut 0 (respectivement 1). On parle encore de fonction d’inversion logique.
Le tableau donne la table de vérité de la fonction de complémentation. Les symboles usuellement
utilisés pour représenter graphiquement l’opérateur correspondant, appelé inverseur, sont ceux de
la figure.

A 𝑭=𝑨̅
0 1
1 0

Tableau 2.2 - Table de vérité de la fonction NON

Notation usuelle Notation normalisée IEEE


Ancienne notation US Ancienne notation européenne

FIG 2.1 - Symboles logiques d’un inverseur

2.3.2 La fonction produit logique ou fonction ET

Le produit logique de 2 variables se note A.B, AB, ou bien encore A∧B (lire « A et B »). A.B vaut
1 si et seulement si A et B valent 1. Le tableau 2.3 donne la table de vérité de la fonction ET, et la
figure 2.2 donne les symboles logiques de l’opérateur associé.

A B 𝑭 = 𝑨𝑩
0 0 0
0 1 0
1 0 0
1 1 1
Tableau - 2.3 - Table de vérité de la fonction ET
16 Polycopié de l’Electronique Numérique

FIG 2.2 - Symboles logiques de l’opérateur ET

2.3.3 La fonction addition logique ou fonction OU

L’addition logique de 2 variables se note A+B ou A∨B (lire « A ou B »). A+B vaut 0 si et seulement
si A et B valent 0. Le tableau 2.4 donne la table de vérité de la fonction OU, et la figure 2.3 donne
les symboles logiques de l’opérateur associé.

A B 𝑭=𝑨+𝑩
0 0 0
0 1 1
1 0 1
1 1 1

Tableau 2.4 - Table de vérité de la fonction OU

FIG 2.3 - Symboles logiques de la fonction OU

2.3.4 La fonction NON ET ou NAND :

La table de vérité de la fonction NON ET se déduit immédiatement de celle de la fonction ET


par inversion du résultat (tableau 2.5 ).

A B ̅̅̅̅
𝑭 = 𝑨𝑩
0 0 1
0 1 1
1 0 1
1 1 0

Tableau 2.5 - La table de vérité de la fonction NON ET.


17 Polycopié de l’Electronique Numérique

FIG 2.4 - Symboles logiques de de l’opérateur NON ET

2.3.5 La fonction NON OU ou NOR

La table de vérité de la fonction NON OU se déduit immédiatement de celle de la fonction OU


par inversion du résultat (tableau).
A B 𝑭 = ̅̅̅̅̅̅̅̅
𝑨+𝑩
0 0 1
0 1 0
1 0 0
1 1 0

Tableau 2.6 - Table de vérité de la fonction NON OU

FIG 2.5 - Symboles logiques de l’opérateur NON OU

2.3.6 La fonction OU exclusif (abrégé OUEX ou XOR)

𝐹 = 𝐴 ⊕ 𝐵 = 𝐴𝐵̅ + 𝐴̅𝐵

A B 𝐹 =𝐴⊕𝐵
0 0 0
0 1 1
1 0 1
1 1 0

Tableau 2.7 - Table de vérité de la fonction OU exclusif

FIG 2.6 - Symboles logiques de l’opérateur OU exclusif.


18 Polycopié de l’Electronique Numérique

2.3.7 La fonction ET inclusif (abrégé XNOR)

𝐹 = 𝐴 ⊙ 𝐵 = ̅̅̅̅̅̅̅̅
𝐴 ⊕ 𝐵 = 𝐴𝐵 + 𝐴̅𝐵̅

A B 𝐹 =𝐴⊕𝐵
0 0 0
0 1 1
1 0 1
1 1 0

Tableau 2.8- Table de vérité de la fonction ET inclusif

FIG 2.7- Symboles logiques de l’opérateur ET inclusif.

2.4 Propriétés des fonctions logiques élémentaires

2.4.1 Propriétés des fonctions NON, ET, et OU

Commutativité des fonctions ET et OU :

• 𝐴𝐵 = 𝐵𝐴
• 𝐴+𝐵 =𝐵+𝐴

Associativité des fonctions ET et OU :

• 𝐴(𝐵𝐶) = (𝐴𝐵)𝐶 = 𝐴𝐵𝐶


• 𝐴 + (𝐵 + 𝐶) = (𝐴 + 𝐵) + 𝐶 = 𝐴 + 𝐵 + 𝐶

Eléments neutres pour les fonctions ET et OU

• 𝐴. 1 = 𝐴
• 𝐴+0 =𝐴

Eléments absorbants pour les fonctions ET et OU

• 𝐴. 0 = 0
• 𝐴+1 =𝐴

Propriété d’idempotence des fonctions ET et OU

• 𝐴. 𝐴 = 𝐴
19 Polycopié de l’Electronique Numérique

• 𝐴+𝐴 =𝐴

Propriétés de l’inversion logique

• 𝐴̿ = 𝐴
• 𝐴. 𝐴̅ = 0
• 𝐴 + 𝐴̅ = 1

Distributivité de ET par rapport à OU

• 𝐴(𝐵 + 𝐶) = 𝐴𝐵 + 𝐴𝐶
• (𝐴 + 𝐵)𝐶 = 𝐴𝐶 + 𝐵𝐶

Distributivité de OU par rapport à ET

• 𝐴 + 𝐵𝐶 = (𝐴 + 𝐵)(𝐴 + 𝐶)
• 𝐴𝐵 + 𝐶 = (𝐴 + 𝐶)(𝐵 + 𝐶)

Autres relations de simplification utiles

• 𝐴 + 𝐴𝐵 = 𝐴
• 𝐴(𝐴 + 𝐵) = 𝐴
• 𝐴 + 𝐴̅𝐵 = 𝐴 + 𝐵
• 𝐴(𝐴̅ + 𝐵)𝐵 = 𝐴𝐵

Théorème de De Morgan

• ̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅
𝐴 + 𝐵 + 𝐶 + 𝐷 = 𝐴̅𝐵̅ 𝐶̅ 𝐷 ̅
• ̅̅̅̅̅̅̅̅ = 𝐴̅ + 𝐵̅ + 𝐶̅ + 𝐷
𝐴𝐵𝐶𝐷 ̅

2.4.2 Propriétés des fonctions NON, ET, et OU

• ̅̅̅̅ = 𝐵𝐴
𝐴𝐵 ̅̅̅̅
• ̅̅̅̅̅̅̅̅
𝐴 + 𝐵 = ̅̅̅̅̅̅̅̅
𝐵+𝐴
• ̅̅̅̅̅
𝐴. 1 = 𝐴̅
• ̅̅̅̅̅̅̅
𝐴+1 =0
• ̅̅̅̅̅
𝐴. 0 = 1
• ̅̅̅̅̅
𝐴. 𝐴 = 𝐴̅
• ̅̅̅̅̅̅̅̅
𝐴 + 𝐴 = 𝐴̅
• ̅̅̅̅̅
𝐴. 𝐴̅ = 1
• ̅̅̅̅̅̅̅̅
𝐴 + 𝐴̅ = 0
2.4.3 Propriétés des fonctions OU exclusif et ET inclusif

• 𝐴 ⊕ 𝐵 = 𝐵 ⊕ 𝐴 (Commutativité)
• 𝐴 ⊕ (𝐵 ⊕ 𝐶) = (𝐴 ⊕ 𝐵) ⊕ 𝐶 = 𝐴 ⊕ 𝐵 ⊕ 𝐶 (associativité)
• 𝐴⊕0= 𝐴
20 Polycopié de l’Electronique Numérique

• 𝐴⊕𝐴 = 0
• 𝐴 ⊕ 1 = 𝐴̅
• 𝐴 ⊕ 𝐴̅ = 1
• 𝐴 ⊕ 𝐵 = 𝐴̅ ⊕ 𝐵̅
• 𝐴 ⊙ 𝐵 = ̅̅̅̅̅̅̅̅
𝐴 ⊕ 𝐵 = 𝐴 ⊕ 𝐵̅ = 𝐴̅ ⊕ 𝐵

2.4.4 Opérateurs complets

Un opérateur logique est dit complet s’il permet de réaliser les trois fonctions de base de l’algèbre
de Boole et, par conséquent, toutes les fonctions logiques.
Par exemple, l’opérateur NON ET est complet :
• 𝐴̅ = ̅̅̅̅̅
𝐴. 𝐴
• 𝐴𝐵 = ̿̿̿̿𝐴𝐵 = ̅̅̅̅̅̅̅̅̅
̅̅̅̅
𝐴𝐵 . ̅̅̅̅
𝐴𝐵
𝐴 + 𝐵 = ̅̅̅̅
• 𝐴 + 𝐵 = ̿̿̿̿̿̿̿̿ ̅̅̅̅̅̅̅̅
𝐴̅𝐵̅ = 𝐴𝐴
̅̅̅̅ ̅̅̅̅
𝐵𝐵

Il en est de même pour l’opérateur NON OU :


• 𝐴̅ = ̅̅̅̅̅̅̅̅
𝐴+𝐴
𝐴 + 𝐵 = ̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅
• 𝐴 + 𝐵 = ̿̿̿̿̿̿̿̿ ̅̅̅̅̅̅̅̅
𝐴 + 𝐵 + ̅̅̅̅̅̅̅̅
𝐴+𝐵
• 𝐴𝐵 = 𝐴𝐵 ̅̅̅̅̅̅̅̅ ̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅
̿̿̿̿ = 𝐴̅ + 𝐵̅ = ̅̅̅̅̅̅̅̅
𝐴 + 𝐴 + ̅̅̅̅̅̅̅̅
𝐵+𝐵

2.5 Représentation des fonctions Booléennes

2.5.1 Forme Canonique Disjonctive (FCD) (somme des produits)

Un minterme de N variables est le produit de ces N variables ou de leurs complémentaires.


Exemple : Soit A,B,C et D 4 variables booléennes, 𝐴𝐵𝐶𝐷, 𝐴̅𝐵𝐶𝐷, 𝐴𝐵̅ 𝐶̅ 𝐷 … sont des mintermes.
La forme canonique disjonctive (FCD) est la somme des mintermes pour lesquels la fonction vaut
1, cette forme est la plus utilisée.
Exemple : la fonction représentée par sa table de vérité suivante :

A B C F(A,B,C)
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 0
1 1 1 1
21 Polycopié de l’Electronique Numérique

La forme canonique disjonctive de F est :

𝐹 = 𝐴𝐵̅ 𝐶̅ + 𝐴𝐵̅ 𝐶 + 𝐴𝐵𝐶

2.5.2 Forme Canonique Disjonctive (FCD) (somme des produits)

Définition : Un maxterme de N variables est une somme de ces N variables ou de leurs


complémentaires.
Exemple : Soit A, B, C, D 4 variables booléennes, 𝐴 + 𝐵 + 𝐶 + 𝐷, 𝐴̅ + 𝐵 + 𝐶 + 𝐷, 𝐴 + 𝐵̅ +
𝐶̅ + 𝐷 … sont des maxtermes .
Définition : La forme canonique conjonctive (FCC) est le produit des maxtermes pour lesquels
la fonction vaut 0.
Exemple : la fonction représentée par sa table de vérité suivante :

A B C F(A,B,C)
0 0 0 0
0 0 1 0
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 0
1 1 1 1

La forme canonique disjonctive de F est :

𝐹 = (𝐴 + 𝐵 + 𝐶)(𝐴 + 𝐵 + 𝐶̅ )(𝐴 + 𝐵̅ + 𝐶̅ )(𝐴̅ + 𝐵̅ + 𝐶)

2.5.3 Logigramme d’une fonction booléenne

C’est la traduction de la fonction logique en un schéma électronique, elle consiste à remplacer


chaque opérateur logique par la porte logique correspondante.
Exemple : Tracer le logigramme de la fonction suivante :

A B C

FIG 2.8- logigramme de la fonction F


22 Polycopié de l’Electronique Numérique

2.5.4 Représentations de référence d’une fonction logique

Parmi les différentes représentations des fonctions logiques étudiées dans ce chapitre, trois d’entre
elles peuvent être considérées comme des représentations de référence en raison de leur unicité :
- La table de vérité,
- Les deux formes canoniques.
En effet, deux fonctions logiques sont égales si et seulement si leurs tables de vérité ou leurs formes
canoniques sont identiques.

2.5.5 Critères de choix d’une représentation

L’un des deux types de représentation, forme disjonctive ou conjonctive, peut être préférable à
l’autre si des contraintes sont imposées sur la réalisation matérielle des fonctions. En particulier,
dans le cas de l’utilisation de circuits logiques réalisant les fonctions logiques élémentaires, le type
de circuits disponibles peut favoriser une des deux formes. En générale
- La forme disjonctive est bien adaptée à une réalisation à base d’opérateurs NON ET.
- La forme conjonctive est bien adaptée à une réalisation à base d’opérateurs NON OU.

Exemple 1 : soit F une fonction de 3 variables écrite sous la forme disjonctive suivante :
𝐹 = 𝐴𝐵̅ 𝐶̅ + 𝐴𝐵𝐶̅ + 𝐴𝐵𝐶
Pour implémenter cette fonction à l'aide de l'opérateur NAND et de l'inverseur, le théorème de
Morgan doit être appliqué :
̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿
̅ 𝐶̅ + 𝐴𝐵𝐶̅ + 𝐴𝐵𝐶 = 𝐴𝐵 ̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅
̅̅̅̅̅̅̅
̅ ̅̅̅̅̅̅̅
̅ 𝐶.
𝐹 = 𝐴𝐵 𝐴𝐵𝐶̅ . ̅̅̅̅̅̅
𝐴𝐵𝐶
Il reste ensuite à assembler le nombre adéquat d’opérateurs élémentaires pour réaliser F. La figure
montre un schéma de réalisation (ou logigramme) de F utilisant 3 opérateurs NON ET et 1
inverseur. Si l’opérateur d’inversion n’est pas disponible, il peut lui-même être réalisé à l’aide d’un
opérateur NON ET.

A B C

FIG 2.9 - Logigramme de la fonction F a base des portes NAND

Exemple 2 : soit F une fonction de 4 variables écrite sous la forme conjonctive suivante :
23 Polycopié de l’Electronique Numérique

𝐹 = (𝐴 + 𝐵)(𝐶̅ + 𝐷
̅)
On applique le théorème de Morgan :

𝐹 = (𝐴 + 𝐵)(𝐶̅ + 𝐷 ̅ ) = ̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅
̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿ 𝐴 + 𝐵 + ̅̅̅̅̅̅̅̅̅
̅̅̅̅̅̅̅̅ 𝐶̅ + 𝐷̅

A B C D

FIG 2.10- Logigramme de la fonction F a base des portes NOR

Lorsqu’aucune contrainte extérieure n’impose l’une des représentations, la forme disjonctive est
traditionnellement plus utilisée que la forme conjonctive, en raison de l’analogie de notation entre
les opérations logiques et arithmétiques.
Lors de la mise en œuvre d’une fonction logique dans un circuit, deux types de contraintes peuvent
être prises en compte : optimiser la vitesse du circuit (c.-à-d. obtenir une fréquence maximale de
fonctionnement la plus grande possible) ou bien optimiser sa complexité (c.-à-d. obtenir un
encombrement sur silicium minimal). Dans le cas où la contrainte de complexité est la plus forte,
il faut utiliser le minimum de matériel. Il est, pour cela, nécessaire de représenter la fonction à
réaliser sous une forme simplifiée, c’est-à-dire utilisant un nombre minimal d’opérateurs. Le
problème de la simplification des fonctions logiques est traité dans la section suivante.
24 Polycopié de l’Electronique Numérique

CHAPITRE III

SIMPLIFICATION DES FONCTIONS LOGIQUES

1 Introduction
Simplifier une fonction logique consiste à rechercher une expression de cette fonction conduisant
à la réalisation d’un circuit de coût minimal. Il faut cependant noter que la minimisation à tout prix
du nombre d’opérateurs n’est pas toujours le but recherché. Dans le cas de fonctions complexes,
des contraintes de vitesse ou de testabilité peuvent aller à l’encontre d’une minimalisation des
expressions.
On peut, par exemple, être amené à augmenter la complexité des opérateurs d’un circuit pour
accroître sa vitesse de fonctionnement, ou à limiter la simplification d’une fonction pour extraire
du circuit des variables logiques internes.

2 Simplification algébrique

Elle consiste à appliquer les propriétés de l’algèbre de Boole aux expressions algébriques des
fonctions logiques. Il s’agit principalement de « recettes » dont l’application demande un peu
d’entraînement. Nous allons traiter quelques exemples qui permettront de passer en revue la plupart
des astuces utilisées pour mener à bien les simplifications.

Exemple 1 : 𝐹1 = (𝐴 + 𝐵)(𝐴̅ + 𝐵)
𝐹1 = (𝐴 + 𝐵)(𝐴̅ + 𝐵) = 𝐴𝐴̅ + 𝐴𝐵 + 𝐴̅𝐵 + 𝐵𝐵 = 𝐴𝐵 + 𝐴̅𝐵 = 𝐵(𝐴 + 𝐴̅) = 𝐵

Exemple 2 : 𝐹2 = 𝐴̅𝐵̅ + 𝐴𝐵 + 𝐴̅𝐵


𝐹2 = 𝐴̅𝐵̅ + 𝐴𝐵 + 𝐴̅𝐵 = 𝐴̅(𝐵̅ + 𝐵) + 𝐴𝐵 = 𝐴̅ + 𝐴𝐵 = 𝐴̅ + 𝐵

Exemple 3 : 𝐹3 = 𝐴𝐵 + 𝐶̅ + 𝐶(𝐴̅ + 𝐵̅ )
𝐹3 = 𝐴𝐵 + 𝐶̅ + 𝐶(𝐴̅ + 𝐵̅ ) = 𝐴𝐵 + 𝐶̅ + 𝐴̅ + 𝐵̅ = 𝐴̅ + 𝐵 + 𝐶̅ + 𝐵̅ = 1 + 𝐴̅ + 𝐶̅ = 1

3 Simplification par diagramme de Karnaugh

Il s'avère que les règles et propriétés de l'algèbre booléenne permettent de simplifier les expressions
logiques des fonctions. Cependant, cette procédure est relativement lourde et vous ne pouvez pas
savoir si vous allez vous retrouver avec une expression minimale pour votre fonction. La méthode
dite tableau de Karnaugh facilite et simplifie le travail du logicien.
Le diagramme ou tableau de Karnaugh est un outil graphique qui permet de simplifier de façon
méthodique une fonction logique. Bien que les diagrammes de Karnaugh soient applicables en
théorie à des fonctions ayant un nombre quelconque de variables, ils ne sont en pratique utilisables
« à la main » que pour un nombre de variables inférieur ou égal à 6.
25 Polycopié de l’Electronique Numérique

3.1 Adjacence logique

Deux termes sont dits logiquement adjacents s’ils ne diffèrent que par une variable. Par exemple,
et sont deux termes produits adjacents, et sont deux termes sommes adjacents. La somme de deux
produits adjacents et le produit de deux sommes adjacentes peuvent être simplifiés par mise en
facteur, en raison des propriétés de distributivité réciproque des opérateurs ET et OU.
En effet 𝐴𝐵𝐶𝐷 + 𝐴𝐵𝐶𝐷 ̅ = 𝐴𝐵𝐶 (Distributivité de ET par rapport à OU),
Et (𝐴 + 𝐵 + 𝐶 + 𝐷)(𝐴 + 𝐵 + 𝐶 + 𝐷 ̅ ) = 𝐴 + 𝐵 + 𝐶 (Distributivité de OU par rapport à ET).
Un diagramme de Karnaugh est une forme particulière de la table de vérité disposée de telle sorte
que tous les termes(minterms) logiquement adjacents soient également géométriquement adjacents,
c-à-d, on passe de l’un à l’autre par changement d’une seule variable

3.2 Construction du Diagramme de Karnaugh

Dans un diagramme de Karnaugh, la correspondance entre adjacence logique et adjacence


géométrique est due au codage des combinaisons de variables : deux combinaisons voisines ne
varient que par un seul bit. Chaque case du tableau représente un minterme, et pour une fonction
de n variables, chaque case est adjacente à n autres cases, représentant les n mintermes adjacents.
Lors du remplissage du diagramme, la valeur logique 1 est inscrite dans les cases correspondant aux
mintermes présents dans l’expression de la fonction, puis le tableau est complété par des 0. Les 0
peuvent être omis pour alléger l’écriture.
Le tableau 3.1 donne la position des 4 mintermes dans un tableau de Karnaugh à 2 variables. Le
terme 𝐴̅𝐵̅ est adjacent aux termes 𝐴̅𝐵 et 𝐴𝐵̅ . Le terme 𝐴𝐵 est adjacent aux termes 𝐴̅𝐵 et 𝐴𝐵̅

B
0 1
A

0 𝐴̅𝐵̅ 𝐴̅𝐵

1 𝐴𝐵̅ 𝐴𝐵

Tableau 3.1- Diagramme de Karnaugh à 2 variables, position des mintermes

Le tableau 3.2 donne la position des 8 mintermes dans un tableau de Karnaugh à 3 variables.

BC
00 01 11 10
A

0 𝐴̅𝐵̅ 𝐶̅ 𝐴̅𝐵̅ 𝐶 𝐴̅𝐵𝐶 𝐴̅𝐵 𝐶̅

1 𝐴𝐵̅ 𝐶̅ 𝐴𝐵̅ 𝐶 𝐴𝐵𝐶 𝐴𝐵𝐶̅

Tableau 3.2- Diagramme de Karnaugh à 3 variables, position des mintermes


26 Polycopié de l’Electronique Numérique

Le terme 𝐴̅𝐵̅ 𝐶̅ repéré par la couleur bleue, est adjacent aux termes 𝐴̅𝐵̅ 𝐶 , 𝐴𝐵̅ 𝐶̅ et 𝐴̅𝐵 𝐶̅ repérés
par la couleur rouge. Il faut remarquer que les cases aux deux extrémités de la première ligne sont
adjacentes. Plus généralement, deux cases situées aux extrémités d’une même ligne ou d’une même
colonne sont adjacentes. Ceci est dû au code de Gray qui est un code cyclique.

Le tableau 3. 3 donne la position des 16 mintermes dans un tableau de Karnaugh à 4 variables.

CD
00 01 11 10
AB

00 𝐴̅𝐵̅ 𝐶̅ 𝐷
̅ 𝐴̅𝐵̅ 𝐶̅ 𝐷 𝐴̅𝐵̅ 𝐶𝐷 𝐴̅𝐵̅ 𝐶𝐷
̅

01 𝐴𝐵̅ 𝐶̅ 𝐷
̅ 𝐴𝐵̅ 𝐶̅ 𝐷 𝐴𝐵̅ 𝐶𝐷 𝐴𝐵̅ 𝐶𝐷
̅

11 𝐴𝐵𝐶̅ 𝐷
̅ 𝐴𝐵𝐶̅ 𝐷 𝐴𝐵𝐶𝐷 ̅
𝐴𝐵𝐶𝐷

10 𝐴𝐵̅ 𝐶̅ 𝐷
̅ 𝐴𝐵̅ 𝐶̅ 𝐷 𝐴𝐵̅ 𝐶𝐷 𝐴𝐵̅ 𝐶𝐷
̅

Tableau 3.3- Diagramme de Karnaugh à 4 variables, position des mintermes

Les adjacences sur les bords d’un tableau à quatre variables sont mises en évidence par la figure
2.14. L'arrangement des termes dans de tableau Karnaugh pour une fonction de 4 variables
représentées sur le plan et sur la surface du tore. L'image à la surface du tore montre clairement les
cases situées aux extrémités d’une même ligne ou d’une même colonne sont adjacentes. Les cases
marquées de points sont adjacentes.

FIG 3.1- Le diagramme de Karnaugh représente un tore


27 Polycopié de l’Electronique Numérique

3.3 Procédure de simplification

• Former des groupes (impliquants) contenant le plus de ‘1’ possible (puissances de 2 : 1, 2,


4, 8, 16, …)
• Commencer par les plus grands regroupements.
• Essayer de minimiser le nombre de groupements afin de minimiser le nombre de termes
dans l’expression de la fonction.
• Si le regroupement couvre un endroit où la variable passe de 0 à 1 ou de 1 à 0 alors cette
variable ne fait pas partie du terme (minterm) correspondant.
• Vérifier que toutes les cases d’un groupe partagent le même nombre d’adjacences avec leurs
congénères du groupe (soit n adjacences pour un groupe de 2n cases).

Exemple : la fonction F définit par sa table de vérité suivante

A B C D F
0 0 0 0 0
0 0 0 1 0
0 0 1 0 1
0 0 1 1 1
0 1 0 0 1
0 1 0 1 1
0 1 1 0 1
0 1 1 1 0
1 0 0 0 1
1 0 0 1 1
1 0 1 0 0
1 0 1 1 0
1 1 0 0 1
1 1 0 1 1
1 1 1 0 1
1 1 1 1 0

Tableau de Karnaugh de F :

CD
00 11 10
01
AB

00 0 0 1 1
01 1 1 0 1
11 1 1 0 1
10 1 1 0 0

La fonction F simplifiée :

𝐹 = 𝐵𝐶̅ + 𝐴𝐶̅ + 𝐵𝐷
̅ + 𝐴̅𝐵̅ 𝐶
28 Polycopié de l’Electronique Numérique

3.4 Fonctions définies partiellement


Nous avons supposé que la valeur des fonctions logiques soit spécifiée exactement pour chaque
entrée possible. En pratique, ce n’est pas toujours nécessaire. Si une combinaison de variables
d’entrée est impossible, alors on « se fiche » de la valeur que la fonction pourrait prendre dans ce
cas. Cette valeur est sans importance, puisqu’on considère qu’elle ne peut survenir. On indique ces
situations par un ‘X’ ou un tiret (-) dans la table de vérité et dans la table de Karnaugh de la fonction.
Comme la combinaison d’entrées correspondant à un ‘-’ est impossible, on peut assigner la valeur
‘0’ ou ‘1’ à ce ‘-’,. Dans la table de Karnaugh, si ce ‘-’ permet de combiner un plus grand nombre
de ‘1’ ensemble, on l’interprète comme un ‘1’. Sinon, on l’interprète comme un ‘0’.
Les règles suivantes doivent alors être respectées :
• Effectuer d’abord les regroupements sans tenir compte des cases X ou -,
• Utiliser ensuite les cases X ou - pour réunir les groupes préexistants ou augmenter leur
taille,
• Ne jamais utiliser une case X ou - pour créer un nouveau groupe, ceci irait à l’encontre du
principe de minimisation du nombre de termes.

Exemple : Fonction F définit par sa table de vérité suivante

E4 E3 E2 E1 F
0 0 0 0 1
0 0 0 1 0
0 0 1 0 0
0 0 1 1 0
0 1 0 0 1
0 1 0 1 1
0 1 1 0 1
0 1 1 1 0
1 0 0 0 1
1 0 0 1 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 -
Tableau de Karnaugh de F
CD
00 01 11 10
AB
00 1 1 - 1
01 0 1 - 1
11 0 0 - -
10 0 1 - -

La fonction F simplifiée : 𝐹 = 𝐶 + 𝐵̅ 𝐷 + 𝐵𝐷 + 𝐴̅𝐵̅


29 Polycopié de l’Electronique Numérique

CHAPITRE IV

CIRCUITS LOGIQUES COMBINATOIRES

1 Définition

On appelle opérateur ou fonction combinatoire un opérateur logique dont les sorties ne dépendent,
à chaque instant, que de l’état de ses entrées. A chaque configuration des entrées correspond une
configuration des sorties et une seule. Un circuit numérique réalisant une fonction combinatoire
est un circuit combinatoire. Outre les opérateurs élémentaires cités au chapitre 2, on distingue
comme opérateurs combinatoires standard :
• Les opérateurs de transcodage,
• Les opérateurs d’aiguillage,
• Les opérateurs de comparaison,
• Les opérateurs arithmétiques.

2 Les opérateurs de transcodage

On désigne par opérateur de transcodage un opérateur qui traduit une information dans un code
donné (codeur ou encodeur) ou bien qui, au contraire, permet d’extraire une ou des informations
à partir d’un code donné (décodeur) ou bien encore réalise la conversion d’un code vers un autre
(convertisseur de code ou transcodeur).

2.1 Les codeurs

Le principe de fonctionnement d’un codeur est le suivant : lorsqu’une entrée est activée, les sorties
affichent la valeur correspondant au numéro de l’entrée dans le code binaire choisi. Un codeur peut
être vu comme un convertisseur du code décimal vers un code binaire. Une seule entrée du codeur
doit normalement être activée à la fois. Dans le cas où le code en sortie est le code binaire pur, le
circuit correspondant possède N entrées et n sorties, avec.
2.1.1 Codeur BCD décimal vers binaire (10 entrées vers 4 sorties)

Ce type de codeur se compose généralement de dix lignes d'entrée et de quatre lignes de sortie.
Chaque ligne d'entrée correspond à un chiffre décimal et 4 sorties correspondent au code BCD.
Ce codeur reçoit un chiffre décimal sur une des dix lignes d’entrée et génère l’équivalent binaire sur
les sorties S0 à S3. Une seule entrée doit être active à la fois.
La figure ci-dessous montre le symbole logique de base du codeur décimal vers BCD.
30 Polycopié de l’Electronique Numérique

FIG 4.1- Codeur décimale vers BCD

On trouvera ci-après (tableau 4.1) sa table de vérité.

E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 S3 S2 S1 S0
1 0 0 0 0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0 0 0 0 1
0 0 1 0 0 0 0 0 0 0 0 0 1 0
0 0 0 1 0 0 0 0 0 0 0 0 1 1
0 0 0 0 1 0 0 0 0 0 0 1 0 0
0 0 0 0 0 1 0 0 0 0 0 1 0 1
0 0 0 0 0 0 1 0 0 0 0 1 1 0
0 0 0 0 0 0 0 1 0 0 1 1 1
0 0 0 0 0 0 0 0 1 0 1 0 0 0
0 0 0 0 0 0 0 0 0 1 1 0 0 1

Tableau 4.1 -: Table de vérité du codeur 10 vers 4

A partir de la table de vérité, nous obtenons les expressions des sorties en fonction des entrées :
S3 = E8 + E9
S2 = E4 + E5 + E6 + E7
S1 = E2 + E3 + E6 + E7
S0 = E1 + E3 + E5 + E7 + E9

À partir des expressions ci-dessus, le circuit logique de codeur décimal vers BCD peut être
implémenté en utilisant un ensemble de portes OU, comme indiqué dans la figure ci-dessous.
31 Polycopié de l’Electronique Numérique

FIG 4.2- le circuit logique de codeur décimal vers BCD

2.1.2 Codeur binaire ( 2n entrées vers n sorties)

Le codeur binaire 2n entrées vers n sorties est un circuit logique qui possède 2n voies entrées, dont
une seule est activée et n voies de sorties. En fonction de la ligne d'entrée activée, il fournit en
sortie le code binaire correspondant.
La figure ci-dessous montre le schéma fonctionnel d'un codeur binaire qui se compose de 2n lignes
d'entrée et de n lignes de sortie.

FIG 4.3- Le codeur binaire 2n entrées vers n

Exemple 1 : codeur binaire 8 vers 3

Ce codeur reçoit une information codée sur une de ses huit entrées et génère l’équivalent binaire
sur les sorties S0 , S1 et S2 . Une seule entrée doit être active à la fois.
32 Polycopié de l’Electronique Numérique

FIG 4.4- codeur binaire 8 vers 3

On trouvera ci-après (tableau 4.2) sa table de vérité.

E0 E1 E2 E3 E4 E5 E6 E7 S2 S1 S0
1 0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0 1
0 0 1 0 0 0 0 0 0 1 0
0 0 0 1 0 0 0 0 0 1 1
0 0 0 0 1 0 0 0 1 0 0
0 0 0 0 0 1 0 0 1 0 1
0 0 0 0 0 0 1 0 1 1 0
0 0 0 0 0 0 0 1 1 1 1

Tableau 4.2- Table de vérité du codeur binaire 8 vers 3

Equations logiques :
S0 = E1 + E3 + E5 + E7
S1 = E2 + E3 + E6 + E7
S2 = E4 + E5 + E6 + E7

FIG 4.5- Logigramme codeur binaire 8 vers 3


33 Polycopié de l’Electronique Numérique

2.1.3 Codeur prioritaire

Ce type de codeur fixe un ordre de priorité entre les entrées. Dans le cas d’un encodage en binaire
pur, l’encodeur prioritaire génère un code binaire correspondant au numéro de l'entrée active ayant
le poids le plus élevé (ou, le plus souvent, le nombre le plus élevé). Par exemple, si les entrées 1, 7
et 8 sont activées simultanément, le codage de sortie correspondra à l’entrée 8. Il peut être utilisé
dans les applications suivantes :

• Codeur clavier : lorsque plusieurs touches sont enfoncées simultanément, seule la touche
avec le numéro le plus élevé est prise en compte ;
• Unité de traitement des demandes d'interruption dans un microprocesseur : en cas de
demandes d'interruption simultanées, seule la demande de priorité la plus élevée est
acceptée.

Exemple 1 : Codeur prioritaire 4 : 2


La table de vérité d’un encodeur de priorité 4: 2 est donnée dans le tableau 4.3, où x représente un
état sans importance. Pour un mot d’entrée, l’entrée actif Ei avec le poids le plus élevé est prioritaire.
L’entrée E3 correspond à l’entrée la plus prioritaire, et l’entrée E0 correspond à l’entrée la moins
prioritaire.

E3 E2 E1 E0 S1 S0 V
0 0 0 0 0 0 0
0 0 0 1 0 0 1
0 0 1 X 0 1 1
0 1 X X 1 0 1
1 X X X 1 1 1

Tableau 4.3 - La table de vérité d’un encodeur de priorité 4: 2


Les tableaux de Karnaugh présentés ci-dessous ont été construits en supposant que chaque état X
soit au niveau logique 0 ou au niveau logique 1.
La sortie S1 :

E3E2
00 01 11 10
E1E0
00 0 1 1 1
01 0 1 1 1
11 0 1 1 1
10 0 1 1 1

𝑆1 = 𝐸2 + 𝐸3
34 Polycopié de l’Electronique Numérique

La sortie S0:

E3E2
00 01 11 10
E1E0
00 0 0 1 1
01 0 0 1 1
11 1 0 1 1
10 1 0 1 1

𝑆0 = 𝐸3 + 𝐸1 ̅̅̅
𝐸2
La sortie de Validation V :

E3E2
00 01 11 10
E1E0
00 0 1 1 1
01 1 1 1 1
11 1 1 1 1
10 1 1 1 1

𝑉 = 𝐸0 + 𝐸1 + 𝐸2 + 𝐸3
L’encodeur prioritaire 4: 2 peut être implémenté comme illustré à la Figure suivante :

FIG 4.6- Codeur prioritaire 4 : 2 avec sortie de validation


35 Polycopié de l’Electronique Numérique

2.2 Les décodeurs

Un décodeur est un opérateur à n entrées et N sorties (N ≤ 2n). Une seule sortie du décodeur est
activée lorsqu'une configuration particulière de code est indiquée en entrée. Selon le nombre de
sorties, le décodeur peut décoder toutes les configurations possibles du code d'entrée ou seulement
une partie. Un décodeur à n entrées possédant 2n sorties, peut décoder toutes les configurations du
code binaire pur de n bits. Une seule sortie est active à la fois. Certains décodeurs ont une ou
plusieurs entrées de validation, le décodage est autorisé si l'entrée de validation est active. Sinon les
sorties sont inhibées et restent inactives. Ces entrées de vérification permettent de regrouper
plusieurs décodeurs pour augmenter l'amplitude de décodage.

2.2.1 Les décodeurs binaires

Ce type d’opérateur permet d’associer une sortie parmi 2n avec une information d’entrée codée sur
n bits.

FIG 4.7- décodeur binaire n vers 2n


Exemple 1 : décodeur 2 vers 4
La table de vérité d'un décodeur ``2 vers 4'' (n = 2) est la suivante :

E1 E0 S3 S2 S1 S0
0 0 0 0 0 1
0 1 0 0 1 0
1 0 0 1 0 0
1 1 1 0 0 0

Tableau 4.4 - Table de vérité d’un décodeur binaire 2 vers 4


Equations de sorties

𝑆0 = ̅̅̅
𝐸0 ̅̅̅
𝐸1

𝑆1 = 𝐸0 ̅̅̅
𝐸1

𝑆2 = ̅̅̅
𝐸0 𝐸1

𝑆3 = 𝐸0 𝐸1
36 Polycopié de l’Electronique Numérique

Logigramme

FIG 4.8- Schéma d'un décodeur 2 vers 4


2.3 Les transcodeurs

Ces opérateurs permettent de convertir un nombre écrit dans un code C1 vers un code C2.
Exemple 1 : convertisseur binaire/Gray
Le code de Gray ou code binaire réfléchi est largement utilisé dans les systèmes numériques,
notamment dans les capteurs de position (pour coder des positions angulaires, par exemple) ainsi
que dans les applications où la probabilité d'erreurs de commutation doit être réduite.
Le code Gray est un code construit de telle sorte que la représentation de deux nombres consécutifs
ne diffère que d'un seul bit et les risques d’informations parasites lors des transitions sont éliminés.
La table de vérité suivante montre la conversion du code binaire au code Gray sur 4 bits

Tableau 4.5 - Table de vérité du transcodeur code binaire/Gray sur 4 bits


Les équations logiques d’un convertisseur de code binaire/Gray s’établissent sans problème à l'aide
de la méthode de Karnaugh.

- La sortie 𝐺3 : depuis la table de vérité, on remarque : 𝐺3 = 𝐵3


- La sortie 𝐺2 :
37 Polycopié de l’Electronique Numérique

𝐺2 = 𝐵2 ̅̅̅
𝐵3 + ̅̅̅
𝐵2 𝐵3 = 𝐵2 ⊕ 𝐵3

- La sortie 𝐺1 :

𝐺1 = ̅̅̅
𝐵1 𝐵2 + 𝐵1 ̅̅̅
𝐵2 = 𝐵1 ⊕ 𝐵2

- La sortie 𝐺0 :

𝐺0 = ̅̅̅
𝐵0 𝐵1 + 𝐵0 ̅̅̅
𝐵1 = 𝐵0 ⊕ 𝐵1
38 Polycopié de l’Electronique Numérique

Le circuit logique correspondant est illustré sur la figure suivante :

FIG 4.9- Convertisseur de code binaire en code Gray sur 4 bits

• Les opérateurs arithmétiques.

3 Les opérateurs d’aiguillage

Il existe deux types d'opérateurs d’aiguillage : le multiplexeur et le démultiplexeur.

3.1 Les multiplexeurs

Les multiplexeurs sont des fonctions logiques combinatoires qui permettent d’acheminer une
entrée Ei parmi N=2n d’entrées d’information ou de données, E0, E1, E2,…,EN-1 vers une sortie S
à l'aide de n entrées de sélection An-1 An-2,…, A1, A0. L'affichage d’une adresse de sélection permet
de sélectionner une entrée de données parmi N, pour la guider vers la sortie S.

FIG 4.10 - Multiplexeur 2n vers 1


39 Polycopié de l’Electronique Numérique

Exemple : multiplexeur 8 vers 1

FIG 4.11- Multiplexeur 8 vers 1


Le fonctionnement de cette fonction multiplexeur peut être résumé dans la table suivante :

A2 A1 A0 S
0 0 0 E0
0 0 1 E1
0 1 0 E2
0 1 1 E3
1 0 0 E4
1 0 1 E5
1 1 0 E6
1 1 1 E7

Tableau 4.6 - La table de vérité du multiplexeur 8 vers 1


L'équation qui donne la sortie en fonction des entrées se déduit directement du tableau :

𝑆 = ̅̅̅
𝐴0 ̅̅̅
𝐴2 ̅̅̅
𝐴3 𝐸0 + 𝐴0 ̅̅̅
𝐴2 ̅̅̅̅
𝐴3 𝐸1 + ̅̅̅
𝐴0 𝐴1 ̅̅̅
𝐴2 𝐸2 + ̅̅̅
𝐴0 𝐴1 𝐴2 𝐸3 + ̅̅̅
𝐴0 ̅̅̅
𝐴1 𝐴2 𝐸4 + 𝐴0 ̅̅̅
𝐴1 𝐴2 𝐸5
+ 𝐴0 𝐴1 ̅̅̅
𝐴2 𝐸6 + 𝐴0 𝐴1 𝐴2 𝐸7
40 Polycopié de l’Electronique Numérique

FIG 4.12- Circuit de multiplexeur 8 :1

3.2 Les démultiplexeurs

Le démultiplexeur réalise l’inverse d’un multiplexeur : il aiguille une seule entrée vers une parmi 2n
vois de sorties. Ils comportent une entrée de donné E, n entrées de sélection An-1, An-2,…,A0 et
N=2n sorties S0, S1,…, SN-1. L'affichage d’une adresse de sélection permet de sélectionner une sortie
correspondante parmi N=2n sorties, vers laquelle l’entrée E sera aiguillée. Tout comme les
multiplexeurs, les démultiplexeurs peuvent être doté d'une entrée de validation.
Exemple : démultiplexeur 1 vers 4

Le démultiplexeur 1x4 a une entrée E, deux entrées de sélection, A1 et A0 et quatre sorties S3, S2, S1
et S0. Le schéma fonctionnel du démultiplexeur 1x4 est illustré dans la figure suivante.

FIG 4.13 - Démultiplexeur 1x4


L’entrée « E » sera aiguillée à l'une des quatre sorties, S3 à S0 en fonction des valeurs des entrées
de sélection A1 et A0. La table de vérité du démultiplexeur 1x4 est présentée ci-dessous.
41 Polycopié de l’Electronique Numérique

A1 A0 S0 S1 S2 S3
0 0 1 0 0 0
0 1 0 1 0 0
1 0 0 0 1 0
1 1 0 0 0 1

Tableau 4.7 - La table de vérité du démultiplexeur 1x4


À partir de la table de vérité ci-dessus, nous pouvons écrire directement les fonctions booléennes
des sorties comme :

𝑆0 = ̅̅̅
𝐴0 ̅̅̅
𝐴1 𝐸

𝑆1 = 𝐴0 ̅̅̅
𝐴1 𝐸

𝑆2 = ̅̅̅
𝐴0 𝐴1 𝐸

𝑆3 = 𝐴0 𝐴1 𝐸

Le schéma de circuit du démultiplexeur 1x4 est illustré dans la figure suivante.

FIG 4.14 - Circuit de démultiplexeur 1 :4

4 Les opérateurs de comparaison

Un opérateur de comparaison ou comparateur est un circuit numérique capable comparer deux


nombres binaires A et B de n bites, pour déterminer si un nombre donné est inférieur, égal ou
supérieur à un autre nombre.
42 Polycopié de l’Electronique Numérique

Un comparateur de deux éléments binaires de 1 bit a deux entrées (A1, B) et trois sorties (SA <B, SA
= B, SA> B).

FIG 4.15- Le symbole d’un comparateur 1-bit


Le tableau suivant donne la table de vérité décrivant le fonctionnement du comparateur. Les
équations logiques de sortie peuvent être écrites comme suit :

A B SA> B SA = B SA <B
0 0 0 1 0
0 1 0 0 1
1 0 1 0 0
1 1 0 1 0

Tableau 4.8 - Table de vérité d’un comparateur de deux éléments binaires de 1 bit
Les équations logiques de sortie peuvent être écrites comme suit :

𝑆𝐴>𝐵 = 𝐴 𝐵̅

𝑆𝐴=𝐵 = 𝐴 𝐵 + 𝐴̅𝐵̅ = 𝐴 ⊙ 𝐵 = ̅̅̅̅̅̅̅̅


𝐴⊕𝐵

𝑆𝐴<𝐵 = 𝐴̅𝐵
Le circuit logique d’un comparateur 1-bit est représenté sur la figure 4.16.

FIG 4.16 - Le circuit logique d’un comparateur 1-bit


43 Polycopié de l’Electronique Numérique

5 Les opérateurs arithmétiques

5.1 Les additionneurs

L’addition est la fonction arithmétique la plus couramment rencontrée dans les systèmes
numériques. En effet, la conception d’additionneurs rapides est importante pour effectuer des
additions, et donc des multiplications et des divisions, de la manière la plus efficace possible. Ce
circuit est très présent dans les ordinateurs pour le calcul arithmétique mais également pour le calcul
d'adresses, d'indice de tableau dans le processeur.

5.1.1 Demi-additionneur binaire

Le demi-additionneur est un circuit combinatoire qui permet de réaliser la somme arithmétique de


deux éléments binaires A et B sur un 1 bit chacun et retourne deux sorties : la somme (S) et la
retenue (R). La table de vérité de demi-additionneur est

A B S R
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1

Tableau 4.9 - Table de vérité de demi-additionneur


À partir de cette table de vérité on peut par construire le circuit demi-additionneur suivant :

FIG 4.17- Logigramme de Demi-additionneur (1 bit)

5.1.2 Additionneur complet 1-bit

Le circuit demi-additionneur additionne deux nombres binaires d'un seul bit. Normalement,
lorsque l'on doit additionner des nombres de n bits chacun, il devient nécessaire de disposer de
circuits qui tiennent compte de la retenue de la somme effectuée sur les bits de rang immédiatement
inférieur. Il faut donc réaliser un circuit « Additionneur complet » qui permet d’additionner les deux
44 Polycopié de l’Electronique Numérique

bits de même rang d'un nombre binaire avec la retenue de l'étage précédent. L'additionneur complet
dispose donc de trois entrées, deux pour les bits de même poids (Ai, Bi) et une pour la retenue Ri-1
de l’addition précédente. L'additionneur binaire complet 1 bit est la brique des additionneurs à n
bits.

FIG 4.18 - Symbole d’un additionneur complet


La table de vérité d'un additionneur complet est :

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

Tableau 4.10 -: Table de vérité d'un additionneur complet 1-bit


Les tableaux de Karnaugh correspondants reportés ci-dessous.

Tableau 4.11 -: Tableaux de Karnaugh des sorties Si et Ri


Du premier tableau de Karnaugh, on tire l'équation de Si suivante :

𝑆𝑖 = 𝑅𝑖−1 ⊕ 𝐴𝑖 ⊕ 𝐵𝑖
Dans le deuxième tableau de Karnaugh, Nous n'avons pas recherché les groupements optimaux
et ce, pour pouvoir mettre en évidence la fonction Ai⊕Bi déjà réalisé avec la somme Si.

𝑅𝑖 = 𝐴𝑖 𝐵𝑖 + 𝑅𝑖−1 𝐴𝑖 ⊕ 𝐵𝑖
45 Polycopié de l’Electronique Numérique

Le circuit correspondant à l'additionneur complet, est composé de deux demi-additionneurs en


série accompagnés d'une porte OU pour calculer la retenue.

FIG 4.19 -: Logigramme de l’additionneur complet 1-bit

FIG 4.20 - Additionneur complet 1-bit à base de deux ½ Additionneurs

5.1.3 Additionneur parallèle à propagation de retenue

L’additionneur parallèle à propagation de retenue est un circuit qui permet de faire l’addition de
nombres binaires A et B de n-bits chacun. Pour réaliser un additionneur parallèle à propagation de
retenue, Il suffit de chaîner n additionneurs complet 1-bit. Chaque retenue sortante Ri de l'étage
d'addition i servant de retenue entrante dans l'étage i+1. La retenue entrante au premier étage est
positionnée à 0. La retenue sortante du dernier étage pourra servir d'indicateur de débordement.

Exemple : Additionneur de 4 bits

Un additionneur à 4 bits est implémenté en utilisant un additionneur complet 1-bit pour chaque
bit et en connectant retenue sortante Ri d’un étage donné à l'entrée retenue de l'étage suivant,
comme le montre la figure x pour les nombres à 4 bits. L’entrée retenue R-1 de l’additionneur
complet 1-bit qui fournit le LSB est mise à 0. La figure xx montre le symbole d'un additionneur de
4 bits.
46 Polycopié de l’Electronique Numérique

FIG 4.21 - Additionneur parallèle à propagation de retenue de 4 bits Générateur retenue anticipée 4 bits

5.1.4 Additionneur à retenue anticipée (carry look-ahead adder)

L’inconvénient de l’additionneur avec propagation de retenue est le temps nécessaire à la réalisation


de l’addition. Ce temps est en effet conditionné par la propagation de la retenue à travers tous les
additionneurs élémentaires. Cela impose d'utiliser d'autres techniques pour des additionneurs ayant
un nombre important de bits pour accélérer le calcul des retenues. La première technique appelée
anticipation de retenue consiste à faire calculer les retenues par un circuit extérieur.
Soient A = An-1…A0 et B = Bn-1…B0 deux entrées de n bits.
Afin de faciliter le calcul des retenues, on détermine pour chaque étage i les qualités Pi (pour
Propagate en anglais) et Gi (pour Generate en anglais) suivantes :

Pi=Ai⊕Bi (Pi est le terme de propagation d’une retenue).


Gi=Ai.Bi (Gi est le terme de génération d’une retenue).
Le circuit suivant permet de calculer les deux quantités Gi et Pi.

FIG 4.22 - Circuit de deux quantités Gi et Pi.


La valeur Gi est la retenue engendrée par l'addition des deux bits Ai et Bi et la valeur de Pi
détermine si la retenue Ri se propage. On a donc la formule suivante qui exprime simplement que
la retenue Ri+1 provient soit directement de l'addition des bits Ai et Bi soit de la propagation de la
retenue Ri.

Ri+1 = Gi + PiRi
47 Polycopié de l’Electronique Numérique

En utilisant plusieurs fois cette formule, on peut obtenir les formules suivantes qui expriment Ri+1
en fonction d'une retenue précédente et des valeurs Gj et Pj intermédiaires.

Ri+1 = Gi + PiGi-1 + PiPi-1Ri-1


Ri+1 = Gi + PiGi-1 + PiPi-1Gi-2 + PiPi-1Pi-2Ri-2

Ri+1 = Gi + PiGi-1 + PiPi-1Gi-2 + PiPi-1Pi-2Gi-2+…+ PiPi-1Pi-2Pi-3…PoR0

Exemple : Additionneur à retenue anticipée de 4 bits

En utilisant les formules ci-dessus, on obtient les formules suivantes pour les retenues R1, R2, R3,
et R4 à partir de R0 et des signaux G0, P0, G1, P1, G2, P2 G3 et P3.

R1 = G0 + P0R0
R2 = G1 + P1G0 + P1P0R0
R3 = G2 + P2G1 + P2P1G0 + P2P1P0R0
R4 = G3 + P3G2 + P3P2G1 + P3P2P1G0 + P3P2P1P0R0

Comme la retenue R4 n'est pas nécessaire pour calculer les sommes S0, S1, S2 et S3, celle-ci peut
être calculée en utilisant la formule suivante.

R4 = R3 + P3C3

FIG 4.23 - Additionneur 4 bits avec calcul anticipé des retenues


La figure suivante donne le Circuit de générateur retenue anticipée 4-bits :
48 Polycopié de l’Electronique Numérique

FIG 4.24 - Circuit de générateur retenue anticipée 4-bits

5.2 Les soustracteurs

Un soustracteur binaire est un circuit combinatoire qui réalise l’opération de soustraction deux
nombres binaires et produit le résultat. Un soustracteur binaire est nécessaire pour le calcul
numérique à l'intérieur d'un appareil numérique ou d'un ordinateur numérique. La méthode la plus
pratique de soustraction des nombres binaires non signés est la méthode des compléments.

5.2.1 Demi-soustracteur

Le demi-soustracteur est un type de circuit combinatoire. Initialement, deux bits d'entrée sont
appliqués pour générer deux valeurs de sorties qui sont le bit de différence et le bit d'emprunt. Le
schéma de circuit des demi-soustracteurs :

FIG 4.25 - Schéma fonctionnel du demi-soustracteur

Les combinaisons de soustraction de deux nombres binaires à un seul bit sont représentées dans la
table de vérité du demi-soustracteur :
49 Polycopié de l’Electronique Numérique

A B Différence Emprunt Remarques


(D) (E)
0 0 0 0
On emprunte une dizaine qui devient 10, et on
0 1 1 1
retranche la dizaine au nombre gauche, puis on pose 1
1 0 1 0
1 1 0 0

Tableau 4.11 -:: Table de vérité du demi-soustracteur

Par conséquent, à partir de la table de vérité, il est constaté que,


𝐷 =𝐴⊕𝐵

𝐸 = 𝐴̅𝐵
Les équations ci-dessus peuvent être représentées à l'aide de portes logiques.

FIG 4.26 - logigramme de demi-soustracteur

5.2.2 Soustracteur Complet

Le soustracteur complet exécute le processus de soustraction qui implique trois bits d'entrée qui
génère deux bits en sortie. Parmi ces trois bits, deux sont des bits Ai et Bi préférables pour la
soustraction et l'autre bit, Ei-1 représente l’emprunt entrant qui provient de la soustraction du range
i-1. La table de vérité d’un soustracteur complet est :

Ai Bi Ei-1 Di Ei
0 0 0 0 0
0 0 1 1 1
0 1 0 1 1
0 1 1 0 1
1 0 0 1 0
1 0 1 0 0
1 1 0 0 0
1 1 1 1 1

Tableau 4.12 -:: La table de vérité d’un soustracteur complet


Les tableaux de Karnaugh correspondants reportés ci-dessous.
50 Polycopié de l’Electronique Numérique

(a)-sortie Di

(b)-sortie Ei

Tableau 4.13 -:: Tableaux de Karnaugh des sorties Di et Ei

Du premier tableau de Karnaugh, on tire l'équation de Di suivante :

𝐷𝑖 = 𝐸𝑖−1 ⊕ 𝐴𝑖 ⊕ 𝐵𝑖
Dans le deuxième tableau de Karnaugh, L’équation obtenue est,
̅𝑖 + 𝐸𝑖−1 ̅̅̅̅̅̅̅̅̅̅
𝐸𝑖 = 𝐴𝑖 𝐵 𝐴𝑖 ⊕ 𝐵𝑖
Diagramme logique du soustracteur complet :

FIG 4.27 - Logigramme du soustracteur complet 1-bit


51 Polycopié de l’Electronique Numérique

5.2.3 Soustracteur Parallèle

Les valeurs binaires « A3A2A1A0 » connues sous le nom de Minuends dans les circuits sont
soustraites par le sous-ensemble de « B3B2B1B0 ». L'emprunt généré peut être connecté en tant que
valeur d'entrée pour l'unité de soustraction précédente.

Un soustracteur parallèle de 4 bits peut être dessiné comme,

FIG 4.28 - Soustracteur parallèle de 4 bits


52 Polycopié de l’Electronique Numérique

CHAPITRE V

LOGIQUE SEQUENTIELLE

1 Système Séquentiel

En logique combinatoire les signaux de sortie et à un instant donné, ne dépendent que des états
des variables d'entrée appliquées à ce même instant.
Il existe d'autres types des circuits qui ont la faculté de mémoriser les signaux. Ces circuits sont
appelés couramment circuits séquentiels. Un système est dit séquentiel lorsque le niveau de sa sortie
est non seulement lié aux niveaux des entrées, mais également, en raison de sa propriété de
mémoire, des niveaux des entrées mémorisés appliqués antérieurement. Une mémoire est donc
nécessaire pour stocker une indication sur la séquence des entrées : c'est l'état du système. De
manière générale, un système séquentiel peut se présenter ainsi :

FIG 5.1 - Schéma de base d'un système séquentiel

1.1 Système Séquentiel Synchrone

Dans un système séquentiel synchrone, le changement d'état des sorties est synchronisé. La
synchronisation s’effectue soit par les entrées elles-mêmes ou par une commande externe appelée
horloge commune à tout le système séquentiel, et cela pour éviter les multiples états transitoires
notamment lorsque des entrées changent d’état simultanément.
Une horloge est une variable logique qui passe successivement de 0 à 1 et de 1 à 0 d’une façon
périodique. Cette variable est utilisée souvent comme une entrée des circuits séquentiels
synchrones. L’horloge est notée par H ou CK ( clock) ou Timing ( T ).
53 Polycopié de l’Electronique Numérique

FIG 5.2 - Horloge

FIG 5.3 - Circuit séquentiel synchrone

FIG 5.4 - Niveau Haut, Niveau bat, Front montant, Front Descendant

1.2 Système Séquentiel Asynchrone

Lorsqu’un circuit séquentiel n’a pas d’horloge comme variable d’entrée ou si le circuit fonctionne
indépendamment de cette horloge alors ce circuit est asynchrone.

FIG 5.5- Circuit séquentiel asynchrone


54 Polycopié de l’Electronique Numérique

2 Les bascules

Les bascules sont les circuits de bases de la logique séquentiel. Une bascule peut posséder une
horloge (synchrone) ou non (asynchrone). Chaque bascule possède des entrées et deux sorties et
. Une bascule possède la fonction de mémoration et de basculement.

FIG 5.6 -: Bascule

2.1 Le point mémoire élémentaire

La fonction mémoire sous sa forme la plus élémentaire est obtenue en connectant deux
inverseurs tête-bêche. Ce circuit permet de mémoriser deux états possibles :

FIG 5.7- Point mémoire élémentaire

2.2 Bascule RS Asynchrone

Symbole de la Bascule RS Asynchrone Circuit d'une bascule RS à NOR

Fonctionnement de la bascule RS Asynchrone


55 Polycopié de l’Electronique Numérique

• Mode mémoire :
Si R = S = 0, les entrées R et S n’ont aucune action sur le circuit. Celui-ci se comporte
comme le bistable.
• Ecriture d’un 0 :
Si R = 1 et S = 0, la sortie Q est forcée à la valeur logique 0. Par propagation dans la
porte du bas, la sortie Q∗ est alors forcée à 1. R est l’entrée de mise à zéro ou de reset.
• Ecriture d’un 1 : Si R = 0 et S = 1, la sortie Q∗ est forcée à la valeur logique 0. Par
propagation dans la porte du haut, la sortie Q est alors forcée à 1. S est appelée entrée
de mise à un ou de set.
• La combinaison R = S = 1 est interdite car elle entraîne une mise à 0 des deux sorties

R S Q+ Q+* Remarque
0 0 Mémorisation
0 1 1 0 Mise à 1
1 0 0 1 Mise à 0
1 1 0 0 Combinaison interdite

Tableau 5.1 - Table de transition de la bascule RS asynchrone

Exemple :

FIG 5.8- Chronogramme Bascule RS


56 Polycopié de l’Electronique Numérique

2.3 Les Bascules Synchrones

La variation de l'état de sortie dans une bascule synchrone n'est possible qu'à la présence simultanée
du signal de commande (entrée) et du signal de synchronisation. Le signal de synchronisation
appelé Horloge (H) ou Clock pulse (CK) ou Timing (T). La synchronisation s’effectue soit sur le
niveau ou le front du signale d’Horloge, il y a quatre configurations possibles suivantes :

a. L’horloge agit pendant toute la durée du niveau haut.

b. L’horloge agit pendant toute la durée du niveau bas.

c. L’horloge agit pendant le front montant

d. L’horloge agit pendant le front descendant

2.3.1 Bascule RSH

La bascule RSH est une bascule RS synchronisée par un signal d’horloge H.

Symbole de la Bascule RSH Circuit d'une bascule RSH


57 Polycopié de l’Electronique Numérique

La table de transition de la bascule RSH est donnée dans le tableau suivant :

H R S Q+ Q+* Remarque
0 X X Mémorisation
1 0 0
1 0 1 1 0 Bascule RS
1 1 0 0 1
1 1 1 0 0

Tableau 5.2 - Table de transition de la bascule RSH

Exemple :

FIG 5.9 - Chronogramme Bascule RSH

2.3.2 Bascule D Latch

FIG 5.10 - Symbole de la Bascule D Latch Sur niveau Haut « 1 »


58 Polycopié de l’Electronique Numérique

- Mode de fonctionnement :
• Si H = 1, Q +=D. Le signal présent sur l’entrée D est copié sur la sortie Q. La bascule est
alors en mode transparent ou mode d’acquisition.
• Si H = 0, Q + = Q. La sortie Q garde sa valeur quelle que soit la valeur du signal présent
sur l’entrée D. La bascule est alors en mode mémorisation.

Exemple :

FIG 5.11 - Chronogramme Bascule D Latach sur niveau Haut « 1 »

2.3.3 Bascule D à déclenchement sur front (D flip-flop)

FIG 5.12 - Symbole de la bascule D flip-flop, (a)-front montant, (b)-front descendant

La table de transition de la bascule D flip-flop front montant est donnée dans le tableau suivant :

H D Q+ Q+*
0 X 𝑄 𝑄̅
1 0 𝑄 𝑄̅
↑ 0 0 1
↑ 1 1 0

Tableau 5.3 - Table de transition de la bascule D flip-flop sur front montant


59 Polycopié de l’Electronique Numérique

Exemple :

FIG 5.13 - Chronogramme la bascule D à déclenchement sur front montant

2.3.4 Bascule JK à déclenchement sur front

La bascule JK est une version synchrone de la bascule RS. L’entrée J joue le rôle de l’entrée S (mise
à un), et K joue le rôle de R (mise à zéro). L’activité de cette bascule peut être conditionnée par les
fronts montants ou descendants du signal d’horloge.

(a) (b)

FIG 5.14- Représentation symbolique d’une bascule JK à déclenchement sur front (a)-montant, (b)-descendant

La table de transition de la bascule JK à déclenchement sur front descendant est donnée dans le
tableau suivant :

H J K Q+ Q+*
0 X X 𝑄 𝑄̅
1 X X 𝑄 𝑄̅
↓ 0 0 𝑄 𝑄̅
↓ 0 1 0 1
↓ 1 0 1 0
↓ 1 1 𝑄̅ 𝑄

Tableau 5.4- Table de transition de la bascule JK à déclenchement sur front descendant


60 Polycopié de l’Electronique Numérique

Exemple :

FIG 5.15 - Chronogramme la bascule JK à déclenchement sur front descendant

2.3.5 Bascule T

La principale fonction d'une bascule T est de réaliser un changement d'état du signal de sortie « Q
» quand le signal de d'horloge est actif :

• Si la sortie « Q » est à un niveau logique « bas », alors elle passe à un niveau logique « haut
».
• Si la sortie « Q » est à un niveau logique « haut », alors elle passe à un niveau logique « bas
».
• Le basculement du signal de sortie « Q » intervient soit sur un front montant, soit sur un
front descendant

FIG 5.16 - Symbole de la bascule T

La table de transition de la bascule Test donnée dans le tableau suivant :


61 Polycopié de l’Electronique Numérique

T Q+ Q+*
X 𝑄 𝑄̅

𝑄̅ 𝑄

Tableau 5.4 - Table de transition de la bascule T

Exemple :

FIG 5.17 - Chronogramme la bascule T sur front montant

2.4 Initialisation des circuits séquentiels

Les bascules RSH, D, T, et JK ont un fonctionnement synchrone par rapport à un signal d’horloge
(H). Pour le fonctionnement d’un système, il est souvent nécessaire que ces bascules soient
initialisées, c’est à dire que leur sortie Q soit à 1 ou à 0 et ce indépendamment du signal d’horloge.
Ce mode asynchrone est en général appliqué à la mise sous tension du circuit, pour l’amener dans
un état initial connu avant le démarrage du mode opératoire normal. Il s’agit de la phase
d’initialisation du circuit. C’est le rôle de ces deux entrées supplémentaires :

• PR∗ (Preset ou Set) : mise à 1 de la sortie Q


• CLR∗ (Clear ou Reset) : mise à 0 de la sortie Q.

Remarque : les deux entrées PR∗ et CLR∗ fonctionnent avec la logique négative, et elles sont plus
prioritaire que l’horloge.

Exemple : Bascule D flip-flop avec les deux entrées dynamiques asynchrones prioritaires PR∗ et
CLR∗.
62 Polycopié de l’Electronique Numérique

FIG 5.18- Bascule D flip-flop avec les deux entrées PR∗ et CLR∗.

La table de transition est donnée dans le tableau suivant :

PR* CLR* CK D Q+ Q+*


0 0 X X Etat interdit
0 1 X X 1 0 Mise à 1 asynchrone
1 0 X X 0 1 Mise à 0 asynchrone
1 1 0 X
1 1 1 X Bascule D flip-flop
1 1 ↑ 0 0 1
1 1 ↑ 1 1 0
Tableau 5.5 - Table de transition de la Bascule D flip-flop avec les deux entrées PR∗ et CLR∗.

3 Les Registres

Un registre est un ensemble de bascules permettant de stocker une information en attendant son
traitement. Suivant l’interconnexion des bascules, les données stockées peuvent être soumises à
différents types de manipulations.

3.1 Les Registres de mémorisation

FIG 5.19 - Registre de mémorisation


63 Polycopié de l’Electronique Numérique

3.2 Les Registres à décalage

La bascule de rang i recopie la sortie de la bascule de rang i - 1. Son entrée D est donc connectée
à la sortie Q de rang i – 1.

FIG 5.20 - Registre à décalage

Initialisation des Registres : La figure montre le cas d’une initialisation à 0101 d’un registre à
décalage de taille 4.

FIG 5.21 - Initialisation à 0101 d’un registre à décalage de taille 4.


64 Polycopié de l’Electronique Numérique

CHAPITRE VI

LES COMPTEURS

1 Introduction

Un compteur est une association de n bascules permettant de décrire, au rythme d’une horloge,
une séquence déterminée (cycle du compteur).
Une combinaison de sortie d’un compteur (Qn-1, …, Q1, Q0) est appelée « état ».
Le nombre d’états différents (Si) pour un compteur est appelé le « modulo (m) » de compteur avec
𝑚 ≤ 2𝑛 .

FIG 6.1 - Compteur « modulo (m)

Exemple : Compteur modulo 4 (cycle complet)

Nombre Sorties Valeur


d’impulsion Q1 Q0 décimale
(H)
0 0 0 0
1 0 1 1
2 1 0 2
3 1 1 3
4 0 0 0
5 0 1 1

FIG 6.2 - Compteur « modulo (4)


65 Polycopié de l’Electronique Numérique

Les compteurs sont classés en deux catégories suivant leur mode de fonctionnement et leur
structure. On distingue :
• Les compteurs asynchrones : les bascules possèdent des horloges différentes.
• Les compteurs synchrones : les bascules possèdent la même horloge.

2 Compteurs Asynchrones

De manière générale, seule la première bascule reçoit le signal d'horloge. Toutes les bascules qui
suivent celle-ci sont commandées par la bascule précédente.

FIG 6.3 - Schéma général d’un compteur asynchrone

Question : Quelles sont les bascules appropriées pour construire les compteurs ?

Réponse : Circuit bascule Diviseur par 2 :

(a) (b) (c)

FIG 6.4- Circuit diviseur par deux, (a)-bascule JK à déclenchement par front, (b) bascule D flip-flip,
(c)-bascule T

2.1 Compteurs asynchrones à cycles complets à bascules D, front montant

La première bascule est cadencée par l’horloge du circuit H, chaque bascule suivante utilise
comme horloge la sortie de la bascule précédente.

Exemple d’un compteur à cycle complet modulo (8), front montant :


66 Polycopié de l’Electronique Numérique

FIG 6.5 - Compteur à cycle complet modulo (8), front montant

- Chronogramme :

FIG 6.6 - Chronogramme du compteur à cycle complet modulo (8), front montant

2.2 Compteurs asynchrones à cycles complets à bascules D, front descendant

Brancher les sorties Qi de chaque bascule sur l’horloge de la bascule suivante.

- Exemple d’un compteur à cycle complet modulo (16), front descendant :

FIG 6.7 - Compteur Asynchrone à cycle complet modulo (16), front descendant

2.3 Compteurs asynchrones à cycles complets à bascules JK, front montant

La première bascule est cadencée par l’horloge du circuit H, chaque bascule suivante utilise
comme horloge la sortie de la bascule précédente.

- Exemple d’un compteur à cycle complet modulo (8) à bascules JK, front montant
67 Polycopié de l’Electronique Numérique

FIG 6.8- Circuit du Compteurs asynchrones à cycles complets modulo (8) à bascules JK, front montant

FIG 6.9 - Chronogramme du compteur asynchrone à cycle complet modulo (8) à bascules JK, front montant

2.4 Compteurs asynchrones à cycles complets à bascules JK, front descendant

Brancher les sorties Qi de chaque bascule sur l’horloge de la bascule suivante.

- Exemple d’un compteur à cycle complet modulo (8) à bascules JK, front descendant :
68 Polycopié de l’Electronique Numérique

FIG 6.10 - Circuit du compteur à cycle complet modulo (8) à bascules JK, front descendant

2.5 Décompteurs asynchrones à cycles complets à bascules D, front montant

Les bascules sont également utilisées en diviseur par 2 et cascadées, mais utilisent comme horloge
la sortie Q des bascules précédentes, et non la sortie.

Exemple d’un décompteur à cycle complet modulo (8) à bascules D, front montant :

FIG 6.11 – Circuit du décompteur à cycle complet modulo (8) à bascules D, front montant

FIG 6.12 – Chronogramme du décompteur à cycle complet modulo (8) à bascules D, front montant

2.6 Décompteurs asynchrones à cycles complets à bascules JK, front montant

Brancher les sorties Qi de chaque bascule sur l’horloge de la bascule suivante.

- Exemple d’un décompteur asynchrone à cycle complet modulo (8) à bascules JK, front
montant :
69 Polycopié de l’Electronique Numérique

FIG 6.12 – Circuit du décompteur asynchrone à cycle complet modulo (8) à bascules JK, front montant

2.7 Compteurs asynchrones à cycles incomplets

- Exemple : Modulo (5)

Tableau 6.1 – Table de Transition du compteur asynchrone modulo (5)

Détection de l’état 101 et remise à zéro asynchrone :𝐶𝐿𝑅 ∗ = ̅̅̅̅̅̅̅̅̅̅


𝑄1̅̅̅
𝑄2𝑄3

Le circuit équivalent :
70 Polycopié de l’Electronique Numérique

FIG 6.13 – Circuit du Compteurs asynchrones à cycles incomplets modulo (5)


à base des bascules D

3 Compteurs Synchrones

3.1 Compteurs Synchrones à base des bascules D

• Exemple de synthèse de compteur binaire synchrone à cycle complet modulo (8) à base
des bascules D.

La table de transition réduite du compteur binaire modulo 8 est donnée par le tableau suivant :

Tableau 6.2 – La table de transition réduite du compteur synchrone binaire à base des bascules D modulo 8

L’expression des entrées D des bascules en fonction de Q1 , Q2 , et Q3 est directement déduite de


la table de transitione, car pour les bascules D :
71 Polycopié de l’Electronique Numérique

Qi+=Di

Le tableau de Karnaugh de Q1+ :

̅̅̅1
𝐷1 = 𝑄1+ = 𝑄

Le tableau de Karnaugh de Q2+ :

𝐷2 = 𝑄2+ = 𝑄1 ⊕ 𝑄2

Le tableau de Karnaugh de Q3+ :

𝐷3 = 𝑄3+ = ̅̅̅ ̅̅̅1 𝑄3 + 𝑄1 𝑄2 ̅̅̅


𝑄2 𝑄3 + 𝑄 𝑄3 = 𝑄1 𝑄2 ⊕ 𝑄3

Le circuit équivalent est donné dans la figure suivante :


72 Polycopié de l’Electronique Numérique

FIG 6.14 – Circuit du compteur binaire synchrone à cycle complet modulo (8) à base des bascules D

• Exemple de synthèse de compteur binaire synchrone à cycle incomplet à base des


bascules D : compteur modulo 5

La table de transition réduite du compteur binaire modulo 5 est donnée par le tableau suivant :

Tableau 6.3 – La table de transition réduite du compteur synchrone binaire à base des bascules D modulo 5
73 Polycopié de l’Electronique Numérique

Le tableau de Karnaugh de Q1+ :

̅̅̅1 ̅̅̅
𝐷1 = 𝑄1+ = 𝑄 𝑄3

Le tableau de Karnaugh de Q2+ :

𝐷2 = 𝑄1 ⊕ 𝑄2

Le tableau de Karnaugh de Q3+ :

𝐷3 = 𝑄1 𝑄2

3.2 Compteurs Synchrones à base des bascules JK

• Exemple de synthèse de compteur binaire synchrone Modulo 8 à base des bascules JK.

Table d’excitation : elle permet de déterminer quelles valeurs qu’il faut appliquer aux entrées
synchrones pour faire évoluer la sortie de la bascule d’un état vers un autre.
74 Polycopié de l’Electronique Numérique

États Contributions

Etat présent Etat J K


suivant
Q
Q+

0 0 0 X

0 1 1 X

1 0 X 1

1 1 X 0

Tableau 6.4– Table d'excitation de la bascule JK

Table d'excitation du circuit

Tableau 6.5 – Table d’excitation du compteur JK synchrone modulo (8) à base des bascules JK

Les tableaux de Karnaugh de J1 et K1 :

J1=1
75 Polycopié de l’Electronique Numérique

K1=1
Les tableaux de Karnaugh de J2 et K2 :

J2=Q1

K2=Q1
Les tableaux de Karnaugh de J3 et K3 :

J3=Q1Q3

K3=Q1Q3
76 Polycopié de l’Electronique Numérique

Le circuit équivalent est donné dans la figure suivante :

FIG 6.14 – Circuit du compteur binaire synchrone à cycle complet modulo (8)
à base des bascules JK

Vous aimerez peut-être aussi