Cours_Num_CP_2020
Cours_Num_CP_2020
Cours_Num_CP_2020
Ecole Nationale des Sciences Appliquées, Campus Universitaire, B.P 242, Kénitra-Maroc
Tél : (+212) 5 37 32 92 46 Fax : (+212) 5 37 32 92 47
Sommaire
Chapitre I : Systèmes de numération - Arithmétique binaire codes ........................................... 4
1. Systèmes de numération ..................................................................................................... 4
1.1. Système décimal .......................................................................................................... 4
1.2. Système binaire............................................................................................................ 5
1.3. Nombres entiers positifs .............................................................................................. 5
2. Arithmétique binaire .......................................................................................................... 8
2.1. Addition binaire ........................................................................................................... 8
2.2. Ecriture des nombres signés ........................................................................................ 8
2.3. Notation en complément à 1 ........................................................................................ 9
2.4. Notation en complément à 2 ........................................................................................ 9
2.5. Addition en utilisant le complément à 2 ...................................................................... 9
3. Les principaux codes ........................................................................................................ 11
3.1. Code binaire pur ............................................................................................................ 11
3.2. Code binaire décimal (DCB) .................................................................................... 11
3.2.1. Généralités .......................................................................................................... 11
3.2.2. Principaux codes binaires décimaux .................................................................. 12
3.3. Code Gray .................................................................................................................. 13
3.4. Code ASCII: American standard code for Information Interchange ......................... 14
CHAPITRE II : ELEMENTS D’ALGEBRE DE BOOLE ...................................................... 15
1. Règles générales de l’algèbre de Boole ............................................................................ 15
1.1. Postulats de l’algèbre de Boole ................................................................................. 15
1.2. Axiomes de l’algèbre de Boole ................................................................................. 15
1.3. Conséquences directes des axiomes .......................................................................... 16
2. Les fonctions logiques ...................................................................................................... 16
2.1. Définition ................................................................................................................... 16
2.2. Table de vérité ........................................................................................................... 17
2.3. Théorème de MORGAN ........................................................................................... 17
2.4. Formes canoniques .................................................................................................... 18
2.5. Les fonctions logiques à une seule variable binaire .................................................. 18
2.6. Les fonctions logiques à deux variables binaires ...................................................... 19
CHAPITRE III: Simplification des fonctions logiques............................................................ 23
1. Méthodes algébriques ....................................................................................................... 23
1.1. Mise en facteur .......................................................................................................... 23
1.2. Adjonction à une somme d’un terme existant ........................................................... 23
2
1.3. Adjonction à une somme d’un terme nul................................................................... 23
1.4. Utilisation de l’inversion et des théorèmes de De Morgan ....................................... 23
1. Méthodes graphiques ........................................................................................................ 24
1.1. Tables de Karnaugh ................................................................................................... 24
1.2. Exemples ................................................................................................................... 25
CHAPITRE IV: Synthèse des circuits combinatoires .............................................................. 28
1. Additionneur de base ........................................................................................................ 28
1.1. Demi-additionneur ..................................................................................................... 28
1.2. Additionneur complet ................................................................................................ 29
2. Additionneurs binaires parallèles ..................................................................................... 30
3. Comparateur ..................................................................................................................... 31
4. Décodeurs ......................................................................................................................... 35
5. Codeurs............................................................................................................................. 37
6. Multiplexeurs ................................................................................................................... 39
3
Chapitre I : Systèmes de numération - Arithmétique binaire codes
1. Systèmes de numération
Le système de numération binaire est le plus important de ceux utilisés dans les circuits
numériques, bien qu'il ne faille pas pour autant négliger l'importance d'autres systèmes. Le
système décimal revêt de l'importance en raison de son acceptation universelle pour représenter
les grandeurs du monde courant. De ce fait, il faudra parfois que des valeurs décimales soient
converties en valeurs binaires avant d'être introduites dans le circuit numérique. Par exemple,
lorsque vous composez un nombre décimal sur votre calculatrice (ou sur le clavier de votre
ordinateur), les circuits internes convertissent ce nombre décimal en une valeur binaire.
De même, il y aura des situations où des valeurs binaires données par un circuit numérique
devront être converties en valeurs décimales pour qu'on puisse les lire. Par exemple, votre
calculatrice (ou votre ordinateur) calcule la réponse à un problème au moyen du système binaire
puis convertit ces réponses en des valeurs décimales avant de les afficher.
Où a i est un chiffre tel que 0 a i b 1 , les i sont des entiers positifs et n est l’exposant de
b du chiffre de poids fort. Les bi sont appelés poids ou rang et indique la grandeur de la quantité
représenté.
4
On note que le chiffre 3 est celui qui a le poids le plus élevé (MSB) et le chiffre 7 a le poids le
plus faible (LSB).
6
* Convertissez (376)8 en binaire.
3 7 6 Chiffre décimaux
011 111 110 Equivalent binaire
(376)8 = (011111110)2
* Convertissez (1101110011)2 en octal.
001 101 110 011 Triplet
1 5 6 3 Equivalent octal
(1101110011)2 = (1563)8
Conversion hexadécimal – binaire et binaire - hexadécimal
La conversion hexadécimal – binaire s’effectue en transformant chaque chiffre du nombre
hexadécimal en son équivalent binaire de quatre chiffres. L’opération inverse consiste à faire
avec le nombre binaire des groupes de quatre bits en partant du chiffre de poids le plus faible,
puis on substitue à chaque groupe son chiffre hexadécimal équivalent ; au besoin on ajoute des
zéros à gauche pour obtenir un dernier groupe de 4 bits.
Exemple :
* Convertissez (376)16 en binaire.
3 7 6 Chiffre hexadécimal
0011 0111 0110 Equivalent binaire
(376)16 = (001101110110)2
* Convertissez (11101110011)2 en hexadécimal.
0111 0111 0011 Nombre binaire
7 7 3 Equivalent hexadécimal
(11101110011)2 = (773)16
7
0,25 × 2 = 0,50 0
0,50 × 2 = 1,00 1 LSB
L’équivalent binaire de (24)10 est (11000)2
L’équivalent binaire de (24,3125)10 est (11000, 0101)2
2. Arithmétique binaire
2.1. Addition binaire
L’addition binaire s’effectue avec les mêmes règles qui s’appliquent à l’addition des nombres
décimaux. Cependant, il n’y a que quatre cas qui peuvent survenir lorsqu’on additionne deux
chiffres binaires et cela quel que soit le rang (cf. table 1). On commence par additionner les bits
correspondant au plus petits poids, les 1 de retenue sont considérés comme des nouveaux bits
et additionnés avec ceux de la colonne de poids juste supérieur.
Table 1 :
0+0=0
0+1=1
1+0=1
1+1=0 avec 1 de retenue
Exemple : Effectuer la somme de (11,011)2 et (10,110)2
11,011
+ 10,110
110,001
Comme les calculateurs numériques traitent aussi bien les nombres négatifs que les nombres
positifs, une certaine convention est adoptée pour représenter le signe du nombre (+ ou -).
Généralement, un autre bit appelé bit de signe est ajouté au nombre. La convention la plus
courante consiste à attribuer au nombre positif le bit de signe 0 et au nombre négatif le bit de
signe 1. Le nombre est donc stocké en mémoire en deux parties dont l’une est réservée à la
valeur absolue du nombre en binaire et l’autre, placée à gauche, au bit de signe.
Exemple : Nombre décimal +25 exprimé en un nombre binaire signé de 8 bits avec la notation
signe-grandeur.
0 0 0 1 1 0 0 1
8
Le nombre décimal -25 s’exprime comme suit :
1 0 0 1 1 0 0 1
Bien que cette notation signe–grandeur soit directe, les calculateurs numériques n’y ont
généralement pas recours, en raison de la complexité des circuits qui matérialisent cette notation
d’où l’utilisation dans ces machines de la notation en complément à 2 pour représenter les
nombres signés.
On va considérer un circuit additionneur à deux entrées sur lesquelles sont disponibles deux
mots de quatre bits.
1er cas : deux nombres positifs.
L’addition de deux nombres positifs est immédiate.
9
Exemple :
6 0. 0110
+ 3 + 0. 0011
9 0.1001
On effectue l’opération de la même manière que dans le deuxième cas, seulement que le résultat
sera négatif. Alors pour avoir le résultat final, on procède à la complémentation à 2 du résultat
de l’addition codée.
Exemple :
3 0.0011
-7 + 1.1001 Complément à 2 de 0111
-4 1.1100
Le résultat final de l’opération d’addition est le complément à 2 de 1.1100 qui est 1.0100.
C’est le même cas que précédemment, le résultat de la somme codée sera négatif d’où sa
complémentation à 2 pour avoir le résultat final.
Exemple :
-3 1.1101 Complément à 2 de 0011
- 7 + 1.1001 Complément à 2 de 0111
- 10 1.0110
Le résultat final de l’opération d’addition codée est le complément à 2 de 1.0110 qui est 1.1010.
Remarque :
10
Dans chacun des exemples d’addition et de soustraction que l’on vient d’étudier, les nombres
que l’on a additionnés étaient constitués à la fois d’un bit de signe et de 4 bits de grandeur. Les
réponses aussi comportaient un bit de signe et 4 bits de grandeur. Toute retenue faite sur le bit
de sixième rang était rejetée. De même, il faut que le résultat de l’opération reste inférieur
strictement à (16)10 pour ne pas avoir un dépassement de capacité.
Exemple :
9 0.1001
+8 0.1000
1 0001
bit de signe
Le bit de signe de la réponse est celui d’un nombre négatif, ce qui est manifestement une erreur.
La réponse devrait être +17. Etant donné que la grandeur est 17, il faut plus de 4 bits pour
l’exprimer, et il y a donc un dépassement sur le rang du bit de signe.
Quand on fait correspondre à un nombre décimal son équivalent binaire, on dit qu’on a fait un
codage binaire pur.
11
Pour réaliser ces codes, il faut 10 combinaisons différentes de bits 0 et 1 afin de pouvoir réaliser
les 10 symboles du système décimal.
1 seul bit permet 2 combinaisons : 0 ou 1
2 bits permettent 4 combinaisons : 00, 01, 10, 11
4 bits permettent 16 combinaisons : 0000, 0001,…..,1111
La réalisation de 10 combinaison implique donc l’emploi d’au moins 4 bits et il va donc falloir
faire un choix de 10 combinaison parmi les 16 possibles.
Le choix parmi tous les codes possibles est effectué en fonction d’un certain nombre de critères.
3.2.2. Principaux codes binaires décimaux
♦ Code décimal binaire : DCB ou 8.4.2.1
C’est un code pondéré de poids 8, 4, 2, 1, il se présente sous la forme suivante :
Nbre 8 4 2 1
0 0 0 0 0
1 0 0 0 1
2 0 0 1 0
3 0 0 1 1
4 0 1 0 0
5 0 1 0 1
6 0 1 1 0
7 0 1 1 1
8 1 0 0 0
9 1 0 0 1
Dans ce code chaque chiffre du nombre décimal doit être codé séparément par un groupe de 4
bits.
Exemple : 2571 s’écrit dans ce code : 0010 0101 0111 0001
Exemple 1 : 47 + 35 = 82
0100 0111
+ 0011 0101
0111 1100
+ 1 0110
1000 0010
On rencontre ici un mot codé qui ne correspond pas à une valeur connue ; il s’agit des six
représentations codées de 4 bits interdites ou non valides. Cette représentation est apparue parce
qu’on a additionné deux chiffres dont la somme dépasse 9. Pour résoudre ce problème, on ajoute
(6)10 = (0110)2 à ce mot codé inconnu afin de prendre en considération le fait qu’on saute six
12
représentations codées non valides. Si un report est produit, il sera ajouté à la somme DCB des
chiffres du rang suivant.
Exemple 2 : 95 + 83 = 178
1001 0101
+ 1000 0011
1 0001 1000
+ 0110
0001 0111 1000
Dans le cas où l’addition de deux chiffres donne un report (celui-ci est additionné avec le chiffre
de rang immédiatement à gauche), on ajoute une correction de (0110)2 au résultat de la somme.
Le code gray est un code non pondéré et ne convient pas aux calculs arithmétiques, en ce sens
qu’il n’y a pas de poids spécifiques qui correspondent aux positions des bits. Ce code est
caractérisé par le fait qu’en passant d’une combinaison à la suivante un seul bit change de
valeur, ce qui minimise les erreurs lors du codage. Comme par exemple les codeurs à
positionnement rotatif, où la prédisposition aux erreurs augmente selon la quantité de bits
changés entre deux nombres consécutifs d’une séquence.
Le tableau suivant énumère le code gray de 4 bits pour les nombres décimaux de 0 à 15.
Pour effectuer la conversion d’un nombre binaire en code gray, on procède selon les règles
suivantes :
1- le bit de poids le plus fort du code gray, situé à l’extrême gauche, est le même que le
MSB correspondant au nombre binaire.
2- En vous déplaçant de gauche à droite, additionnez chaque paire de bits adjacente du
code binaire pour obtenir le bit suivant du code gray. Rejetez les retenues.
13
Exemple :
1 0 1 1 0 Binaire
1 1 1 0 1 Code Gray
Pour effectuer la conversion d’un nombre codé en gray en code binaire, on procède selon les
règles suivantes :
1- Le bit de poids le plus fort du code binaire, situé à l’extrême gauche, est identique au
bit correspondant au code gray.
2- Additionnez chaque nouveau bit de code binaire crée au bit de code gray adjacent
suivant (situé immédiatement à droite) en rejetant les retenues.
Exemple :
1 1 0 1 1 Code Gray
1 0 0 1 0 Binaire
C’est un code alphanumérique universel utilisé dans la plupart des ordinateurs. Ce code
comprend 128 caractères et symboles représentés par un code binaire de 7 bits. En réalité, il
s’agit d’un code à 8 bits dont le MSB est toujours égal à 0. Ce code de 8 bits correspond aux
nombres hexadécimaux de 00 à 7F. Le code ASCII sert à coder l’information alphanumérique
transmise entre un ordinateur et ses périphériques d’entrée/sorties comme les écrans de
visualisation ou les imprimantes. Un ordinateur recourt aussi à ce code pour stocker les
informations envoyées par l’opérateur depuis son clavier.
14
CHAPITRE II : ELEMENTS D’ALGEBRE DE BOOLE
Un processeur est composé de transistors permettant de réaliser des fonctions sur des signaux
numériques. Ces transistors, assemblés entre eux forment des composants permettant de réaliser
des fonctions très simples. A partir de ces composants il est possible de créer des circuits
réalisant des opérations très complexes. L'algèbre de Boole (du nom du mathématicien anglais
Georges Boole 1815 - 1864) est un moyen d'arriver à créer de tels circuits.
L'algèbre de Boole est une algèbre se proposant de traduire des signaux en expressions
mathématiques. Pour cela, on définit chaque signal élémentaire par des variables logiques et
leur traitement par des fonctions logiques. Des méthodes (table de vérité) permettent de définir
les opérations que l'on désire réaliser, et à transcrire le résultat en une expression algébrique.
Grâce à des règles appelées lois de composition, ces expressions peuvent être simplifiées. Cela
va permettre de représenter grâce à des symboles un circuit logique, c'est-à-dire un circuit qui
schématise l'agencement des composants de base (au niveau logique) sans se préoccuper de la
réalisation au moyen de transistors (niveau physique).
Une algèbre de Boole est un ensemble quelconque d’éléments E, à valeurs dans l’ensemble
{ 0, 1}, sur lequel on a défini :
Une relation d’équivalence ( égalité = )
Deux lois de composition interne :
- l’addition ou somme logique ( +, ou )
- la multiplication ou produit logique ( . , et )
Une loi de complémentation, telle que :
pour tout élément a de E, il existe un complément noté a , on a 0 1 , 1 0 .
1.2. Axiomes de l’algèbre de Boole
Commutativité
a, b E ab ba (1 )
a.b b.a (1’)
Associativité
a, b, c E (a b) c a (b c) (2 )
(a.b).c a.(b.c) (2’)
Double distributivité
a, b, c E a.(b c) a . b a . c (3 )
a (b . c) (a b) . (a c) (3’)
Pour chacune des deux opérations, il existe un élément neutre tel que :
aE a0 a (4 )
a .1 a (4’)
Chaque élément admet un inverse ou complémentaire tel que :
aE a a 1 (5 )
15
a .a 0 (5’)
Idempotence
aE aa a (6 )
a .a a (6’)
a 1 1 , a .0 0 (7 )
L’élément neutre 1 et l’élément neutre 0 sont uniques.
Loi d’absorption :
- Dans une somme booléenne, un terme absorbe ses multiples.
- Dans un produit booléen, un facteur absorbe tous les facteurs composés de
sommes qui le contiennent.
a, b E a b .a a (8 )
a .b a a (8’)
Exemple :
Pour réaliser toutes les fonctions logiques, on a besoin de trois fonctions logiques de
base : négation, intersection et la réunion.
Ces fonctions sont représentées par des schémas appelés logigrammes. Ils sont
représentés soient par :
- les symboles européens actuels ( norme CEI : commission d’électronique
internationale)
- anciens symboles américains ( norme MIL )
- symboles DIN ( Deutch Industrie Normes)
16
2.2. Table de vérité
L’ensemble des valeurs prises par une fonction logique pour toutes les combinaisons
possibles de ses variables est rangé dans un tableau, appelé table de vérité, comportant
autant de colonne que de nombre de variables, plus une colonne pour ranger les valeurs de
la fonction, et autant de ligne qu’il est possible de faire des combinaisons différentes avec
les variables.
Exemple : somme logique
a b S=a+b S
0 0 0 1
0 1 1 0
1 0 1 0
1 1 1 0
F a b F ab
Ainsi :
F ab F a b
17
Puis : S S a b
2.4. Formes canoniques
Toute fonction F de n variables prend l’état 1 pour certaines combinaisons des états de
ces variables. Cette fonction peut être représentée dans E par un sous-ensemble F, union
des sous-ensembles élémentaires correspondants chacun à une combinaison donnant la
valeur 1 à la fonction.
Ainsi, par correspondance, l’expression algébrique de la fonction F de n variables pourra
toujours se présenter sous la forme de la somme d’un certain nombre de termes constitués
de produit de n variables, chacun de ces termes étant l’expression correspondant à un sous-
ensemble élémentaire.
Evidemment, la somme sera composée au maximum de C termes (avec C = 2n).
Cette expression sera dite première forme canonique de la fonction F.
a- Exemple :
soit la fonction F définie par sa table de vérité.
Remarque : une fonction F peut ne pas apparaître sous la forme canonique. Nous pouvons
nous y ramener en homogénéisant l’expression de F.
Ainsi pour :
F a b c a ( b b ) (c c ) b c ( a a )
F a b c a bc a bc a bc a bc
18
a f0 f1 f2 f3
0 0 1 0 1
1 0 0 1 1
l’inverseur
- fonction booléenne : a f (a ) a
- table de vérité :
a f (a)
0 1
1 0
- logigrammes
D’une façon générale, pour les fonctions de n variables les colonnes des fi comporte C lignes.
Il y aura donc N fonctions différentes avec :
N = 2C
Mais C n’est rien d’autres que le nombre de combinaisons des états des variables, soit :
C = 2n
n
D’où finalement : N 2C 22
19
0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
0 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
1 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
a b f
0 0 0
0 1 1
1 0 1
1 1 1
- logigrammes :
-
Produit logique
Elle s’appelle aussi fonction ET, AND, intersection.
- fonction booléenne : (a, b) f (a, b) a b
- table de vérité :
a b f
0 0 0
0 1 0
1 0 0
1 1 1
- logigrammes :
20
L’opérateur NOR
- fonction booléenne : (a , b) f (a , b) a b a b
- table de vérité :
a b f
0 0 1
0 1 0
1 0 0
1 1 0
- logigrammes :
L’opérateur NAND
- fonction booléenne : (a , b) f (a , b) a b a b
- table de vérité :
a b f
0 0 1
0 1 1
1 0 1
1 1 0
- logigrammes :
21
L’opérateur coïncidence
C’est l’opérateur XOR complémenté. Il donne un 0 logique à sa sortie si exclusivement une
seule des entrées est à l’état 1.
- fonction booléenne : (a , b) f (a , b) a b a b a b
- table de vérité :
a b f
0 0 1
0 1 0
1 0 0
1 1 1
- logigrammes :
Chronogramme :
En réalité les signaux électriques ne passent pas instantanément de 0 à 1, les pentes (ici
verticales) sont obliques, et le traitement des entrées cause un retard sur les sorties :
22
CHAPITRE III: Simplification des fonctions logiques
Afin d’assurer la réalisation physique d’une fonction logique d’une façon plus simple,
économique, il est nécessaire de chercher l’expression la plus simple de cette fonction.
Simplifier une expression booléenne revient à réduire :
Le nombre des opérateurs, ou le nombre des entrées sur les opérateurs réalisant la
fonction logique.
La place disponible pour les opérations.
Le nombre des interconnexions (réduire les aléas).
Le temps de propagation de l’information à travers les circuits.
Cette simplification peut être faite soit par :
des méthodes purement algébriques.
Des méthodes graphiques
1. Méthodes algébriques
1.1. Mise en facteur
Ex 1 : a + ab = a(1 + b) = a
Ex 2 : a b ab a (b b) a
y ab ab ab ab
y a ( b b) b(a a )
y a b
y b ( a c) a c
y b (a c) a c a a
y b (a c) a (c a )
y ( a c) ( a b )
y c a (a b ) c a a a b
23
y c ab
y = c(a+b)
1.5. Utilisation des distributivités
Ex : y a ab
y (a a )(a b)
yab
1. Méthodes graphiques
1.1. Tables de Karnaugh
La table de Karnaugh est un outil graphique qui permet de simplifier de manière méthodique
des expressions booléennes. Elle ressemble à une table de vérité en ce sens qu’elle présente
toutes les valeurs possibles des variables d’entrée et la sortie résultante pour chaque valeur. Au
lieu d’un arrangement de colonnes et de lignes comme dans une table de vérité, la table de
karnaugh est un tableau de carrés. Chacun d’entre eux représente une valeur binaire des
variables d’entrée. L’arrangement des carrés est conçu pour permettre la simplification d’une
expression donnée en groupant ceux-ci selon des règles précises.
Le nombre de carrés d’une table de Karnaugh est égal au nombre total de combinaisons
possibles des variables d’entrée. Pour n variables, le nombre de carrés est égal à 2n.
Dans le cas de 3 variables, la table de Karnaugh est un tableau de 8 cases dont chacune d’elles
correspond à un minterme. Dans le cas de 4 variables, c’est un tableau de 16 cases.
Avec l’ordre du remplissage choisi, lorsqu’on passe d’une case du tableau à sa voisine, il n’y a
qu’une seule variable qui change d’état.
La notion essentielle pour l’utilisation de ces tables est celle d’états adjacents, ils
correspondent :
Soit à des cases voisines. Par exemple dans la table représentée ci-dessus, la case a b c
est adjacente aux cases a b c , a b c et a b c .
Soit à des cases qui seraient voisines si on rapprochait les bords parallèles qui limitent
le rectangle. C'est-à-dire que chaque case de la ligne du haut est adjacente à la case
correspondante de la ligne du bas et chaque case de la colonne la plus à gauche est
adjacente à la case correspondante de la colonne la plus à droite. Par exemple, la case
a b c d est adjacente à la case a b c d et à la case a b c d .
24
Soit encore à des cases symétriques par rapport aux frontières qui délimitent des carrés
de 4 × 4 cases dans le cas d’un nombre de variables supérieur à 4.
Le but essentiel des tables de Karnaugh est la minimisation des expressions logiques. Cette
minimisation consiste à supprimer les termes superflus et à réduire le plus possible le nombre
des termes utiles. La réduction se fait en essayant de grouper le plus grand nombre possible de
cases adjacentes, les cases correspondantes aux termes de l’expression à réduire étant repérées,
par exemple, par des "1".
Au cours du processus de réduction, une case du tableau peut être utilisée dans plusieurs
groupements afin de rendre ceux-ci les plus grands possibles.
1.2. Exemples
1er exemple : Lorsqu’une fonction est définie par sa table de vérité, il suffit de placer des
"1" dans les cases correspondantes aux monômes où la fonction est vraie. Habituellement, les
0 ne sont pas inscrit sur la table de karnaugh.
25
Le monôme à 1 variable sera représenté par 8 "1" dans huit cases. On rejoigne donc les
8 combinaisons des variables qui manquent A, C et D au monôme B et on remplie par
des "1" les 8 cases correspondantes.
Pour simplifier la fonction booléenne, on regroupe les cases "1" pour former les boucles les
plus grandes possibles jusqu’à ce que tous les "1" soient entourés (un "1" peut être entouré
plusieurs fois).
On obtient, après simplification, la fonction suivante :
F(A, B, C, D) B A C C D
3ème exemple : il arrive parfois que des combinaisons de variables d’entrée ne soient pas
permises dans une application. Dans le premier chapitre, nous avons vu que six
combinaisons ne sont pas valides dans le code DCB : 1010, 1011, 1100, 1101, 1110, 1111.
Comme ces états ne sont pas permis et qu’ils ne se produiront jamais dans une application
fonctionnant avec le code DCB, ils peuvent être traités comme des conditions
"indifférentes". Ces états prennent indifféremment la valeur 0 ou 1.
Les termes indifférents peuvent être utilisés pour simplifier d’avantage une expression
booléenne. En effet, on place un X pour chaque terme indifférent dans la table de Karnaugh.
Lorsque les 1 sont groupés, les X peuvent servir de 1 pour permettre un groupement de plus
grande taille. Plus la taille du groupe est grande, plus le terme qui en découle est simple.
Soit la fonction F(A, B, C,D) définie par la table de vérité suivante :
26
Si les conditions indifférentes sont remplacées par des 1, l’expression simplifiée de F
s’écrira : F(A,B,C,D) = C D B D A D
Sinon : F(A,B,C,D) = B C D B D A D
27
CHAPITRE IV: Synthèse des circuits combinatoires
Table de vérité :
A B S R
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
Equation logique :
S AB RAB
Diagramme logique :
28
1.2. Additionneur complet
L’additionneur complet prend deux bits d’entrée et une retenue et produit une sortie de somme
et une retenue de sortie.
La différence fondamentale entre un demi-additionneur et un additionneur complet est que ce
dernier traite une retenue d’entrée.
Symbole logique :
Table de vérité :
A B Ci S Co
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
Equation logique :
S A B Ci Co A B (A B) Ci
Diagramme logique :
29
2. Additionneurs binaires parallèles
Le branchement de deux additionneurs complets (ou plus) forme un additionneur binaire
parallèle. Pour additionner deux nombres binaires, il faut un additionneur complet pour chaque
bit des nombres. Il faut donc deux additionneurs pour des nombres de 2 bits, quatre
additionneurs pour des nombres de 4 bits, etc. La sortie de retenue de chaque additionneur est
connectée à l’entrée de retenue de l’additionneur de bit de rang plus élevé suivant. Notez qu’on
peut utiliser un demi-additionneur pour la position de poids le plus faible, ou relier l’entrée de
retenue d’un additionneur complet à la masse, puisqu’il n’y a pas d’entrée de retenue pour la
position du bit de poids le plus faible.
Additionneur parallèle de 4 bits contenant quatre additionneurs complets :
Diagramme d’ensemble :
Symbole logique :
Table de vérité :
Cn-1 An Bn Sn Cn
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
30
Additionneur MSI (circuits d’intégration à moyenne échelle) :74LS83A, 74LS283.
Exemple :
3. Comparateur
La fonction principale d’un comparateur est de comparer les grandeurs de deux quantités
binaires afin de déterminer la relation existante entre ces quantités. Egalité et inégalité.
Egalité :
La porte ou exclusif peut servir de comparateur de base puisque sa sortie vaut 1 si les deux bits
à ses entrées sont différents et qu’elle vaut 0 si les bits d’entrées sont identiques.
31
A=A1A0, B=B1B0
La sortie de la porte Et indique l’égalité (1) ou l’inégalité (0) de deux nombres.
Inégalité :
En plus de la sortie d’égalité, la plupart des comparateurs à circuit intégré sont munis de sorties
additionnelles indiquant quel nombre binaire est le plus grand. Une sortie indique la condition
lorsque le nombre A est plus grand que le nombre B (A>B) et une autre sortie indique si le
nombre A est plus petit que le nombre B (A<B), comme l’indique le symbole logique du
comparateur de 4 bits suivant :
Symbole logique :
Le circuit intégré 7485 est un comparateur 4 bits, c'est-à-dire qu'il effectue la comparaison de
deux nombres de 4 bits.
De plus, il dispose de 3 entrées notées A = B, A > B et A < B qui autorisent la mise en cascade
de plusieurs circuits comparateurs du même type.
Ainsi, on peut comparer des nombres de 8, 12, 16 bits....
32
Brochage du circuit intégré 7485
Avec ce circuit, on compare le nombre A composé des bits A3, A2, A1 et A0 (A3 = MSB et
A0 = LSB) avec le nombre B composé des bits B3, B2, B1 et B0 (B3 = MSB et B0 = LSB).
La table de vérité ci-dessous met en évidence l'action des entrées A > B, A < B et A = B.
33
Si l'on souhaite que la sortie A = B passe à l'état 1 chaque fois que les deux nombres
binaires sont égaux, il suffit de porter l'entrée A = B à l'état 1, l'état des entrées A < B et A > B
n'ayant alors pas d'importance.
Si l'on souhaite que la sortie A > B passe à l'état 1 également dans le cas où les deux
nombres binaires sont égaux, il suffit de porter l'entrée A > B à l'état 1 et de porter les entrées
A < B et A = B à l'état 0.
Dans cette configuration de l'état des entrées A > B, A < B et A = B, la sortie A > B est à l'état
1 lorsque le nombre binaire A est supérieur au nombre binaire B ou quand ces deux nombres
sont égaux. Elle indique donc si A ³ B.
De même, en portant l'entrée A < B à l'état 1 et les entrées A > B et A = B à l'état 0, la
sortie A < B indique le nombre binaire A est inférieur ou égal au nombre binaire B.
En mettant en série deux comparateurs 7485, on peut comparer deux nombres de 8 bits. Il suffit
de relier la sortie A = B du premier comparateur à l'entrée correspondante du second et de faire
de même avec les sorties A > B et A < B. Les liaisons à effectuer sont indiquées sur la figure
suivante :
34
Ainsi, on compare le nombre A formé des 8 bits A7 à A0 (A7 = MSB et A0 = LSB) et le nombre
B formé des 8 bits B7 à B0 (B7 = MSB et B0 = LSB).
Le premier circuit compare les poids faibles de A avec le poids faibles de B. Le résultat de cette
comparaison est transmis aux entrées A < B, A = B et A > B du deuxième circuit.
Celui-ci compare les poids forts de A avec les poids forts de B et, en fonction du résultat de la
comparaison des bits de poids faibles de A et B, indique sur ses sorties A > B, A = B et A < B
le résultat de la comparaison des nombres A et B.
4. Décodeurs
Un décodeur est un circuit à n entrées d’adresses et 2n sorties dont une seule est active à la fois,
son rang étant déterminé par la valeur binaire matérialisé par l’état des n entrées. Ce circuit
s’utilise pour choisir un seul élément à la fois parmi 2n.
Table de vérité d’un décodeur à deux entrées et quatre sorties (active à 1) :
Entrées d’adresses Sorties
B (21) A (20) 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
35
Symbole logique :
Table de vérité :
Entrées Sorties
CS1 CS 2 A3 A2 A1 A0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
0 0 0 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1
0 0 0 0 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1
0 0 0 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1
0 0 0 1 0 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1
0 0 0 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1
0 0 0 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1
0 0 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1
0 0 1 0 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1
0 0 1 0 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1
0 0 1 0 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1
0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1
0 0 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1
0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1
0 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1
0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0
0 1 X X X X 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 0 X X X X 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 X X X X 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
36
Décodeur DCB-décimal :
C’est un décodeur 4 lignes d’entrée et 10 lignes de sortie ou décodeur 1 parmi 10
Exemple : 74HC42 est un décodeur DCB décimale.
Exemple : 74LS47 est un exemple de composant MSI qui permet de décoder une entrée DCB
et de piloter un afficheur à 7 segments.
5. Codeurs
Un codeur est un circuit logique combinatoire effectuant la fonction inverse du décodeur. C’est
un circuit à 2n entrées dont une seule est active et qui délivre sur n sorties le numéro codé de
cette entrée.
Codeur décimal-DCB :
Ce type de codeur possède 10 entrées (un pour chaque chiffre décimal) et 4 sorties qui
correspondent au code DCB. Il s’agit d’un codeur 10 lignes sorties 4 lignes de base.
Le numéro de l’entrée active est codé en DCB sur 4 bits, sa table de vérité est la suivante :
E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 S0 S1 S2 S3
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
37
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 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
L’état de sortie pour la valeur 0 codée par 0000 s’obtient dans le cas où aucune entrée n’est
activée et dans le cas où l’entrée E0 qui est activée, alors pour faire la différence entre les deux,
on ajoute un signal supplémentaire de contrôle qui est active à 1 si l’une des 10 entrées passe
au niveau 1.
Codeur de priorité :
C’est un codeur qui produit la même fonction de codage de base discuté précédemment. Un
codeur muni d’une fonction de priorité produit une sortie binaire ou DCB qui correspond à
l’entrée du chiffre décimal le plus élevé d’état valide et ignore toutes les autres entrées valides
des valeurs inférieures.
Exemple : Codeur de priorité 74F148 (8 vers 3).
C’est un codeur possédant 8 entrées d’état valide Bas et 3 sorties binaires d’état valide Bas. Il
possède une entrée de validation qui est active au niveau Bas. Le circuit comporte aussi une
sortie de validation E0 utilisée comme extension dans certains montages et une sortie GS qui
indique qu’au moins une entrée est valide.
Symbole logique :
Table de vérité :
Entées Sorties
EI e0 e1 e2 e3 e4 e5 e6 e7 C B A GS E0
1 x x x x x x x x 1 1 1 1 1
0 1 1 1 1 1 1 1 1 1 1 1 1 0
0 x x x x x x x 0 0 0 0 0 1
0 x x x x x x 0 1 0 1 1 0 1
0 x x x x x 0 1 1 0 0 0 0 1
0 x x x x 0 1 1 1 0 1 1 0 1
0 x x x 0 1 1 1 1 1 0 0 0 1
0 x x 0 1 1 1 1 1 1 1 1 0 1
0 x 0 1 1 1 1 1 1 1 0 0 0 1
0 0 1 1 1 1 1 1 1 1 1 1 0 1
38
Codeur entrée 16 lignes sortie 4 lignes à partir de deux codeurs 74F148 :
6. Multiplexeurs
Un multiplexeur est un composant permettant d’acheminer les informations numériques de
plusieurs sources sur une seule ligne, afin de les transmettre vers une destination commune.
C’est un circuit à 2n entrées d’information, n entrées d’adresses et une sortie. L’entrée
d’information sélectionnée à la sortie est celle dont le rang correspond à l’équivalent binaire de
l’adresse sélectionnée.
Exemple : multiplexeur 1 parmi 4
Symbole logique :
Table de vérité :
Expression logique :
Y D 0 S0 S1 D1S1S0 D 2S1S0 D 3S1S0
Logigramme :
39
40