Cours M1214
Bases d’automatisme
GMP 1ère année
S. AMARI
Maître de Conférences HdR 1
GMP - IUT de Saint-Denis - Université Sorbonne Paris Nord
Chapitre 1
Logique combinatoire
Algèbre de Boole
• Définition des variables et fonctions logiques
• Les opérateurs de base et les portes logiques .
• Les lois fondamentales de l’algèbre de Boole
2
1. Introduction
• Les machines numériques sont constituées d’un ensemble
de circuits électroniques.
• Chaque circuit fournit une fonction logique bien déterminée (
addition, comparaison ,….).
A
F(A,B)
Circuit
B
La fonction F(A,B) peut être : la somme de A et B, ou le
résultat de la comparaison de A et B ou une autre fonction
3
• Pour concevoir et réaliser ce circuit, on doit avoir
un modèle mathématique de la fonction réalisée
par ce circuit (fonction logique).
• Ce modèle (fonction logique) doit prendre en
considération le système binaire (0 ou 1).
• Le modèle mathématique utilisé est celui de
l’algèbre de Boole.
4
2. Algèbre de Boole
• George Boole est un mathématicien anglais (1815-1864).
• Les fonctions ( expressions ) utilisées sont constituées par
des variables qui peuvent prendre deux valeurs ‘1’ ou ‘0’ .
• Cette algèbre est utilisée pour faire l’étude des systèmes qui
possèdent deux états opposés
– Le système peut être uniquement dans un des deux états
E1 et E2 tel que E1 est l’opposé de E2.
– Le système ne peut pas être dans l’état E1 et E2 au même
temps
• Cette théorie est bien adaptée au Système Binaire.
5
Exemple de systèmes à deux états
• Un interrupteur est ouvert ou non ouvert ( fermé )
(L=1 ou L=0)
• Une lampe est allumée ou non allumée ( éteinte )
• Une porte est ouverte ou non ouverte ( fermée )
• ……………………………………
6
3.1 Variable logique ( booléenne )
• Une variable logique ( booléenne ) est une variable qui
peut prendre soit la valeur 0 ou 1.
• Généralement elle est exprimée par un seul caractère
alphabétique ( A , B, S , …)
• Exemple :
Une lampe : allumée L=1
éteinte L=0
– Interrupteur ouvert : I =1
fermé : I=0
7
3.2. Fonction logique
• C’est une fonction qui relie N variables logiques avec un
ensemble d’opérateurs logiques de base.
• Dans l’algèbre de Boole il existe trois opérateurs
logiques de base : NON, ET, OU.
• La valeur d’une fonction logique est égale à 1 ou 0 selon
les valeurs des variables logiques.
• Si une fonction logique possède N variables logiques
2n combinaisons la fonction possède 2n valeurs.
• Les 2n combinaisons sont représentées dans une table
qui s’appelle Table de vérité. 8
Exemple d’une fonction logique
F( A, B, C) A.B.C A.B.C A.B.C A.B.C
La fonction possède 3 variables 23 combinaisons
F(0,0,0) 0.0.0 0.0.0 0.0.0 0.0.0 0 A B C F
F(0,0,1) 0.0.1 0.0.1 0.0.1 0.0.1 1 0 0 0 0
F(0,1,0) 0.1.0 0.1.0 0.1.0 0.1.0 0 0 0 1 1
F(0,1,1) 0.1.1 0.1.1 0.1.1 0.1.1 1 0 1 0 0
0 1 1 1
F(1,0,0) 1.0.0 1.0.0 1.0.0 1.0.0 0
1 0 0 0
F(1,0,1) 1.0.11.0.11.0.11.0.11 1 0 1 1
F(1,1,0) 1.1.0 1.1.0 1.1.0 1.1.0 0 1 1 0 0
F(1,1,1) 1.1.11.1.11.1.11.1.1 1 1 1 1 1
9
Une table de vérité
4. Opérateurs logiques de base
4.1 NON ( négation )
• NON : est un opérateur qui a pour rôle d’inverser la valeur
d’une variable.
F(A)= Non A = A
( lire : A barre )
0 1
1 0
10
4.2 ET ( AND )
• Le ET est un opérateur binaire et qui a pour rôle de
réaliser le Produit logique entre deux variables
booléennes.
• Le ET fait la conjonction entre deux variables.
.
• Le ET est défini par : F(A,B)= A B
A B A.B
0 0 0
0 1 0
1 0 0
11
1 1 1
4.3 OU ( OR )
• Le OU est un opérateur binaire de base et a pour rôle de
réaliser la somme logique entre deux variables logiques.
• Le OU fait la disjonction entre deux variables.
• Le OU est défini par F(A,B)= A + B ( il ne faut pas
confondre avec la somme arithmétique )
A B A+B
0 0 0
0 1 1
1 0 1
1 1 1 12
4.4 Lois fondamentales de l’Algèbre de Boole
•L’opérateur NON
A A
A A 1
A.A 0
13
•L’opérateur ET
(A.B).C A.(B.C) A.B.C Associativ
ité
A.B B.A Commutativité
A.A A Idempotence
A.1 A Elémentneutre
A.0 0 Elément
absorbant
14
• L’opérateur OU
(A B) C A (B C) A B C Associativ
ité
A B B A Commutativité
A A A Idempotenc
e
A 0 A Elémentneutre
A11 Elémentabsorbant
A. ( B C) ( A. B) ( A. C) Distributi
vitédu ETsur leOU
A ( B. C) (A B).(A C) Distributi vitédu OUsur leET
15
5. Théorème de DE MORGAN
•La somme logique complimentée de deux variables est
égale au produit des compléments des deux variables.
A B A . B
• Le produit logique complimenté de deux variables est égale
au somme logique des compléments des deux variables.
A. B A B
A.B.C...... A B C ..........
A B C ..........
. A.B.C...... 16
6. Autres opérateurs logiques
6.1 OU exclusif ( XOR)
F(A, B) AB
AB A.B A.B
17
6.2 NAND ( NON ET )
F(A,B) A. B
18
6.3 NOR ( NON OU )
F(A,B) A B
19
6.4 NAND et NOR sont des opérateurs
universels
• En utilisant les NAND et les NOR on peut
exprimer n’importe qu’elle expression ( fonction )
logique.
• Pour cela, Il suffit d’exprimer les opérateurs de
base ( NON , ET , OU ) avec des NAND et des
NOR.
20
Exercice
• Exprimer le NON , ET , OU en utilisant
des NAND ?
F(A,B) A. B
21
7. Portes logiques
Une porte logique est un circuit électronique élémentaire qui
permet de réaliser la fonction d’un opérateur logique de base
A A
Inverseur
A A
A.B A+B
B Porte ET B Porte OU
22
A A
A B A B
B Porte NAND B Porte NOR
A
A B
B Porte XOR
Remarque :
•Les portes ET , OU , NAND , NOR peuvent avoir plus
que deux entrées
•Il n’existe pas de OU exclusif à plus de deux entrées
23
7.1 Schéma d’un circuit logique ( Logigramme)
•C’est la traduction de la fonction logique en un schéma électronique.
•Le principe consiste à remplacer chaque opérateur logique par la porte
logique qui lui correspond.
Exemple 1
B F
F( A, B, C) A.B B.C
24
Chapitre 2 :
Réalisation d’un circuit logique
- Définition textuelle d’un fonctionnement
- Table de vérité (entrées/sorties)
- Formes algébriques des sorties
- Simplification algébrique (méthode Karnaugh)
- Réalisation du circuit avec des portes logiques
(logigramme)
25
1. Définition textuelle d’une fonction logique
• Généralement, la définition du fonctionnement d’un
système est donnée sous un format textuelle.
• Pour faire l’étude et la réalisation d’un tél système, on
doit avoir son modèle mathématique (fonction logique).
• Donc il faut tirer (déduire) la fonction logique à partir de
la description textuelle. Table de vérité.
26
Exemple : définition textuelle du fonctionnement
d’un système
• Une serrure de sécurité s’ouvre en fonction de trois clés.
Le fonctionnement de la serrure est défini comme suit :
– La serrure est ouverte si au moins deux clés sont
utilisées.
– La serrure reste fermée dans les autres cas .
Donner la schéma du circuit qui permet de contrôler
l’ouverture de la serrure ?
27
2. Étapes de conception et de réalisation d’un circuit
logique
Pour faire l’étude et la réalisation d’un circuit, il faut suivre
le étapes suivantes :
1. Il faut bien comprendre le fonctionnement du système.
2. Il faut définir les variables d’entrée.
3. Il faut définir les variables de sortie.
4. Etablir la table de vérité.
5. Ecrire les équations algébriques des sorties ( à partir de la
table de vérité ).
6. Effectuer des simplifications des équations logiques
7. Faire le logigramme avec un minimum de portes logiques.
28
Si on reprend l’exemple de la serrure :
– Le système possède trois entrées : chaque entrée
représente une clé.
– On va correspondre à chaque clé une variable logique : clé
1 A , la clé 2 B , la clé 3 C
• Si la clé 1 est utilisée alors la variable A=1 sinon A =0
• Si la clé 2 est utilisée alors la variable B=1 sinon B =0
• Si la clé 3 est utilisée alors la variable C=1 sinon C =0
– Le système possède une seule sortie qui correspond à
l’état de la serrure ( ouverte ou fermée ).
– On va correspondre une variable S pour designer la sortie :
• S=1 si la serrure est ouverte ,
• S=0 si elle est fermée
29
S=F(A,B,C)
F(A,B,C)= 1 si au mois deux clés sont introduites
F(A,B,C)=0 si non .
A
S=F(A,B,C)
B Circuit logique
C
• La fonction logique possède 3 variables logiques
23 combinaisons la fonction possède 23
valeurs.
30
Table de vérité
A B C S
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1
Extraction de la fonction logique à partir de la table de vérité
F( A, B, C) A. B. C A. B. C A. B. C A. B. C 31
Simplification de la fonction logique
F( A, B,C) A. B. C A. B. C A. B. C A. B. C
Algébrique ou par la méthode de
la table de Karnaugh
32
3. Simplification des fonctions logiques
• L’objectif de la simplification des fonctions logiques est de :
– réduire le nombre de termes dans une fonction
– et de réduire le nombre de variables dans un terme
• Cela afin de réduire le nombre de portes logiques utilisées
réduire le coût du circuit
• Plusieurs méthodes existent pour la simplification :
– La Méthode algébrique
– Les Méthodes graphiques : ( ex : table de karnaugh )
– Les méthodes programmables
33
4. Méthode algébrique
• Le principe consiste à appliquer les règles de l’algèbre de
Boole afin d’éliminer des variables ou des termes.
• Mais il n’y a pas une démarche bien spécifique.
• Voici quelques règles les plus utilisées :
A. B A. B B
A A. B A
A A. B A B
( A B)( A B) A
A. ( A B) A
A. (A B) A. B
34
4.1 Règles de simplification
• Règles 1 : regrouper des termes à l’aide des règles
précédentes
• Exemple
ABC ABC ABCD AB(C C) ABCD
AB ABCD
A ( B B (CD))
A ( B CD)
AB ACD
35
• Règles 2 : Rajouter un terme déjà existant à une expression
A BC ABC ABC ABC
ABC ABC ABC ABC ABC ABC
BC AC AB
36
5. Simplification par la table
de Karnaugh
37
5.1. Les termes adjacents
•Examinons l’expression suivante :
A. B A. B
•Les deux termes possèdent les mêmes variables. La
seule différence est l’état de la variable B qui change.
•Si on applique les règles de simplification; on obtient :
AB AB A(B B) A
•Ces termes sont dites adjacents.
38
Exemple de termes adjacents
Cest ermessontadjacent s
A.B A.B B
A.B.C A.B.C A.C
A.B.C.D A.B.C.D A.B.D
Cest ermesnesontpasadjacent s
A.B A.B
A.B.C A.B.C
A.B.C.D A.B.C.D
39
5.1 Description de la table de Karnaugh
•La méthode de Karnaugh se base sur la règle d’adjacence
• La méthode consiste à mettre en évidence par une méthode
graphique (un tableau) tous les termes qui sont adjacents (qui ne
différent que par l’état d’une seule variable).
•La méthode peut s’appliquer aux fonctions logiques de 2,3,4,5 et 6
variables.
•Un tableau de Karnaugh comportent 2n cases ( N est le nombre de
variables ).
40
A AB
B 0 1 C 00 01 11 10
0 0
1 1
Tableau à 2 variables Tableau à 3 variables
41
Tableau à 4 variables
AB
CD 00 01 11 10
00
01
11
10
42
Tableau à 5 variables
AB AB
CD 00 01 11 10 CD 00 01 11 10
00 00
01 01
11 11
10 10
U=0 U= 1
43
Dans un tableau de karnaugh, chaque case possède un certain nombre
de cases adjacentes.
AB AB
C 00 01 11 10 CD 00 01 11 10
0 00
1 01
11
Les trois cases bleues sont des
10
cases adjacentes à la case rouge
44
5.2 Passage de la table de vérité à la table de Karnaugh
•Pour chaque combinaison qui représente un terme lui correspond une case
dans le tableau qui doit être mise à 1 .
A B C S
0 0 0 0 AB
C 00 01 11 10
0 0 1 0
0 1
0 1 0 0
0 1 1 1 1 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1
45
5.3 Méthode de simplification (Exemple : 3 variables )
•L’idée de base est d’essayer de regrouper (faire des regroupements ) les
cases adjacentes qui comportent des 1 ( rassembler les termes
adjacents).
•Essayer de faire des regroupements avec le maximum de cases ( 16,8,4
ou 2 )
•Dans notre exemple on peut faire uniquement des regroupements de 2
cases.
AB
C 00 01 11 10
0 1 ABC ABC AB
1 1 1 1
46
•Puisque il existent encore des cases qui sont en dehors d’un
regroupement; on refait la même procédure : former des regroupements.
•Une case peut appartenir à plusieurs regroupements
AB
C 00 01 11 10
0 1 ABC ABC AB
1 1 1 1 ABC ABC AC
47
•On s’arrête lorsque il y a plus de 1 en dehors des regroupements
•La fonction finale est égale à la somme des termes après simplification.
AB
C 00 01 11 10
0 1 ABC ABC AB
1 1 1 1 ABC ABC AC
ABC ABC BC
F(A, B,C) AB AC BC
48
En résumé, pour simplifier une fonction par la table de
karnaugh il faut suivre les étapes suivantes :
1. Remplir le tableau à partir de la table de vérité
2. Faire des regroupements de16,8,4,2 cases (les mêmes
termes peuvent participer à plusieurs regroupements )
1. Dans un regroupement :
Qui contient deux termes on peut éliminer une variable ( celle qui
change d’état ).
Qui contient 4 termes on peut éliminer 2 variables.
Qui contient 8 termes on peut éliminer 3 variables.
Qui contient 16 termes on peut éliminer 4 variables.
4. L’expression logique finale est la somme des groupements
après simplification et élimination des variables qui changent
d’états.
49
Exemple 1 : 3 variables
AB
C 00 01 11 10
0 1
1 1 1 1 1
F(A, B,C) C AB
50
Exemple 2 : 4 variables
AB
CD 00 01 11 10
00 1
01 1 1 1 1
11
10 1
F( A, B, C, D) C.D A.B.C A.B.C.D
51
Exemple 3 : 4 variables
AB
CD 00 01 11 10
00 1 1
01 1 1 1
11 1
10 1 1
F( A, B, C, D) AB BD BCD 52
Exemple 4 : 5 variables
AB AB
CD 00 01 11 10 CD 00 01 11 10
00 1 00 1
01 1 1 01 1 1
11 1 1 11 1 1
10 1 10 1 1
U=0 U= 1
F(A,B,C,D,U) A B A.B.D.U A.C.D.U A.B.D.U
53
Exercice
Trouver la forme simplifiée des fonctions à partir des
deux tableaux de Karnaugh suivants ?
AB
CD 00 01 11 10
AB
C 00 01 11 10 00 1 1 1
0 1 1 1 01
1 1 1 1 11
10 1 1 1 1
54