Chap 3
Chap 3
Chap 3
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
a. Mise en facteur
Ex 1 : a + ab = a(1 + b) = a
Ex 2 : a b ab a(b b) a
b. Adjonction à une somme d’un terme existant
Ex : y a b a b a b
y ab ab ab ab
y a (b b) b(a a)
y a b
c. Adjonction à une somme d’un terme nul
Ex : y a b ac bc
y b(a c) ac
y b(a c) ac aa
y b(a c) a(c a)
y (a c) (a b)
d. Utilisation de l’inversion et des théorèmes de DeMorgan
Ex : y c(a ab)
y c a(a b) c aa a b
y c ab
y = c(a+b)
e. 5. Utilisation des distributivités
Ex : y a ab
y (a a)(a b)
yab
2. Méthodes graphiques
a. 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 .
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 grand possible.
b. 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.
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 :
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
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 :
b. 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 :
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
Exemple :
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 :
3.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
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
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.
3.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
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
3.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é :
Entrées de sélection Entrée sélectionnée
S1 S0
0 0 D0
0 1 D1
1 0 D2
1 1 D3
Expression logique :
Y D 0 S0 S1 D1S1S0 D 2S1S0 D 3S1S0
Logigramme :