Académique Documents
Professionnel Documents
Culture Documents
Electronique Numérique
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
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.
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.
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 :
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.
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
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).
• 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.
Partie fractionnaire :
1 1 0
Sens de lecture
(0,85)10 = (110…)2
Finalement
(965,85)10 = (1111000101,110…)2
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
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
𝑋8 = 2𝐷9𝐷
10 Polycopié de l’Electronique Numérique
6 0 7
- ↓ ↓ ↓
110 000 111
Résultat : 𝐴2 = 110000111
𝐴 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.
• CA2 de +5 : −5 =111100.
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.
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 𝑏𝑖𝑡𝑠
Coder une information c'est lui associer un symbole ou une combinaison de symboles qui
permettent de la communiquer.
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
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
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.
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.
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
1 Introduction
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.
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)
Trois fonctions suffisent pour définir une algèbre de Boole : la complémentation, le produit
logique, et l’addition logique.
A 𝑭=𝑨̅
0 1
1 0
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
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
A B ̅̅̅̅
𝑭 = 𝑨𝑩
0 0 1
0 1 1
1 0 1
1 1 0
𝐹 = 𝐴 ⊕ 𝐵 = 𝐴𝐵̅ + 𝐴̅𝐵
A B 𝐹 =𝐴⊕𝐵
0 0 0
0 1 1
1 0 1
1 1 0
𝐹 = 𝐴 ⊙ 𝐵 = ̅̅̅̅̅̅̅̅
𝐴 ⊕ 𝐵 = 𝐴𝐵 + 𝐴̅𝐵̅
A B 𝐹 =𝐴⊕𝐵
0 0 0
0 1 1
1 0 1
1 1 0
• 𝐴𝐵 = 𝐵𝐴
• 𝐴+𝐵 =𝐵+𝐴
• 𝐴. 1 = 𝐴
• 𝐴+0 =𝐴
• 𝐴. 0 = 0
• 𝐴+1 =𝐴
• 𝐴. 𝐴 = 𝐴
19 Polycopié de l’Electronique Numérique
• 𝐴+𝐴 =𝐴
• 𝐴̿ = 𝐴
• 𝐴. 𝐴̅ = 0
• 𝐴 + 𝐴̅ = 1
• 𝐴(𝐵 + 𝐶) = 𝐴𝐵 + 𝐴𝐶
• (𝐴 + 𝐵)𝐶 = 𝐴𝐶 + 𝐵𝐶
• 𝐴 + 𝐵𝐶 = (𝐴 + 𝐵)(𝐴 + 𝐶)
• 𝐴𝐵 + 𝐶 = (𝐴 + 𝐶)(𝐵 + 𝐶)
• 𝐴 + 𝐴𝐵 = 𝐴
• 𝐴(𝐴 + 𝐵) = 𝐴
• 𝐴 + 𝐴̅𝐵 = 𝐴 + 𝐵
• 𝐴(𝐴̅ + 𝐵)𝐵 = 𝐴𝐵
Théorème de De Morgan
• ̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅
𝐴 + 𝐵 + 𝐶 + 𝐷 = 𝐴̅𝐵̅ 𝐶̅ 𝐷 ̅
• ̅̅̅̅̅̅̅̅ = 𝐴̅ + 𝐵̅ + 𝐶̅ + 𝐷
𝐴𝐵𝐶𝐷 ̅
• ̅̅̅̅ = 𝐵𝐴
𝐴𝐵 ̅̅̅̅
• ̅̅̅̅̅̅̅̅
𝐴 + 𝐵 = ̅̅̅̅̅̅̅̅
𝐵+𝐴
• ̅̅̅̅̅
𝐴. 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
• 𝐴 ⊕ 𝐵 = 𝐴̅ ⊕ 𝐵̅
• 𝐴 ⊙ 𝐵 = ̅̅̅̅̅̅̅̅
𝐴 ⊕ 𝐵 = 𝐴 ⊕ 𝐵̅ = 𝐴̅ ⊕ 𝐵
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 :
• 𝐴̅ = ̅̅̅̅̅
𝐴. 𝐴
• 𝐴𝐵 = ̿̿̿̿𝐴𝐵 = ̅̅̅̅̅̅̅̅̅
̅̅̅̅
𝐴𝐵 . ̅̅̅̅
𝐴𝐵
𝐴 + 𝐵 = ̅̅̅̅
• 𝐴 + 𝐵 = ̿̿̿̿̿̿̿̿ ̅̅̅̅̅̅̅̅
𝐴̅𝐵̅ = 𝐴𝐴
̅̅̅̅ ̅̅̅̅
𝐵𝐵
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
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
A B C
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.
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
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
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
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 3 : 𝐹3 = 𝐴𝐵 + 𝐶̅ + 𝐶(𝐴̅ + 𝐵̅ )
𝐹3 = 𝐴𝐵 + 𝐶̅ + 𝐶(𝐴̅ + 𝐵̅ ) = 𝐴𝐵 + 𝐶̅ + 𝐴̅ + 𝐵̅ = 𝐴̅ + 𝐵 + 𝐶̅ + 𝐵̅ = 1 + 𝐴̅ + 𝐶̅ = 1
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
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
B
0 1
A
0 𝐴̅𝐵̅ 𝐴̅𝐵
1 𝐴𝐵̅ 𝐴𝐵
Le tableau 3.2 donne la position des 8 mintermes dans un tableau de Karnaugh à 3 variables.
BC
00 01 11 10
A
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.
CD
00 01 11 10
AB
00 𝐴̅𝐵̅ 𝐶̅ 𝐷
̅ 𝐴̅𝐵̅ 𝐶̅ 𝐷 𝐴̅𝐵̅ 𝐶𝐷 𝐴̅𝐵̅ 𝐶𝐷
̅
01 𝐴𝐵̅ 𝐶̅ 𝐷
̅ 𝐴𝐵̅ 𝐶̅ 𝐷 𝐴𝐵̅ 𝐶𝐷 𝐴𝐵̅ 𝐶𝐷
̅
11 𝐴𝐵𝐶̅ 𝐷
̅ 𝐴𝐵𝐶̅ 𝐷 𝐴𝐵𝐶𝐷 ̅
𝐴𝐵𝐶𝐷
10 𝐴𝐵̅ 𝐶̅ 𝐷
̅ 𝐴𝐵̅ 𝐶̅ 𝐷 𝐴𝐵̅ 𝐶𝐷 𝐴𝐵̅ 𝐶𝐷
̅
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.
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
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 - -
CHAPITRE IV
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.
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).
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
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
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
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.
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
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
Equations logiques :
S0 = E1 + E3 + E5 + E7
S1 = E2 + E3 + E6 + E7
S2 = E4 + E5 + E6 + E7
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.
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
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 :
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.
Ce type d’opérateur permet d’associer une sortie parmi 2n avec une information d’entrée codée sur
n bits.
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
𝑆0 = ̅̅̅
𝐸0 ̅̅̅
𝐸1
𝑆1 = 𝐸0 ̅̅̅
𝐸1
𝑆2 = ̅̅̅
𝐸0 𝐸1
𝑆3 = 𝐸0 𝐸1
36 Polycopié de l’Electronique Numérique
Logigramme
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
𝐺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
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.
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
𝑆 = ̅̅̅
𝐴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
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.
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
𝑆0 = ̅̅̅
𝐴0 ̅̅̅
𝐴1 𝐸
𝑆1 = 𝐴0 ̅̅̅
𝐴1 𝐸
𝑆2 = ̅̅̅
𝐴0 𝐴1 𝐸
𝑆3 = 𝐴0 𝐴1 𝐸
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).
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.
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.
A B S R
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
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.
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
𝑆𝑖 = 𝑅𝑖−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
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.
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
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.
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
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 :
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
𝐸 = 𝐴̅𝐵
Les équations ci-dessus peuvent être représentées à l'aide de portes logiques.
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
(a)-sortie Di
(b)-sortie Ei
𝐷𝑖 = 𝐸𝑖−1 ⊕ 𝐴𝑖 ⊕ 𝐵𝑖
Dans le deuxième tableau de Karnaugh, L’équation obtenue est,
̅𝑖 + 𝐸𝑖−1 ̅̅̅̅̅̅̅̅̅̅
𝐸𝑖 = 𝐴𝑖 𝐵 𝐴𝑖 ⊕ 𝐵𝑖
Diagramme logique du soustracteur complet :
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.
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 :
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.4 - Niveau Haut, Niveau bat, Front montant, Front Descendant
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.
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.
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 :
• 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
Exemple :
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 :
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
Exemple :
- 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 :
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
Exemple :
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 𝑄̅ 𝑄
Exemple :
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
T Q+ Q+*
X 𝑄 𝑄̅
↑
𝑄̅ 𝑄
Où
Exemple :
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 :
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∗.
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.
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.
Initialisation des Registres : La figure montre le cas d’une initialisation à 0101 d’un registre à
décalage de taille 4.
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𝑛 .
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.
Question : Quelles sont les bascules appropriées pour construire les compteurs ?
FIG 6.4- Circuit diviseur par deux, (a)-bascule JK à déclenchement par front, (b) bascule D flip-flip,
(c)-bascule T
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.
- Chronogramme :
FIG 6.6 - Chronogramme du compteur à cycle complet modulo (8), front montant
FIG 6.7 - Compteur Asynchrone à cycle complet modulo (16), front descendant
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
- 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
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
- 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
Le circuit équivalent :
70 Polycopié de l’Electronique Numérique
3 Compteurs Synchrones
• 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
Qi+=Di
̅̅̅1
𝐷1 = 𝑄1+ = 𝑄
𝐷2 = 𝑄2+ = 𝑄1 ⊕ 𝑄2
FIG 6.14 – Circuit du compteur binaire synchrone à cycle complet modulo (8) à base des bascules D
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
̅̅̅1 ̅̅̅
𝐷1 = 𝑄1+ = 𝑄 𝑄3
𝐷2 = 𝑄1 ⊕ 𝑄2
𝐷3 = 𝑄1 𝑄2
• 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
0 0 0 X
0 1 1 X
1 0 X 1
1 1 X 0
Tableau 6.5 – Table d’excitation du compteur JK synchrone modulo (8) à base des bascules JK
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
FIG 6.14 – Circuit du compteur binaire synchrone à cycle complet modulo (8)
à base des bascules JK