Lois fondamentales de l'algèbre de Boole L1 MIPCSPI - EC163 2015 - 2016 Sommaire Les opérateurs de base Lois fondamentales de l'algèbre de Boole Expression d’une fonction logique Table de vérité formes canoniques Simplification des fonctions logiques Simplification algébrique Diagramme de Karnaugh Réalisation à l’aide de portes Algèbre de Boole
Présentation Georges Boole (1815-1864), physicien Anglais définit en 1847 un algèbre qui porte son nom. algèbre applicable au raisonnement logique traite des fonctions à variables binaires Variable booléenne : peut prendre la valeur 0 ou 1 , Vrai ou Faux , Allumé ou Eteint … Trois opérateurs de base : NON, ET, OU
Représentation des opérateurs Les opérateurs peuvent être représentés par une représentation électrique: schéma à base de contacts une représentation algébrique : équation logique une représentation arithmétique : table de vérité (état de la sortie en fonction de l’état des entrées pour toutes les valeurs possibles des entrées) une représentation schématique : symbole logique un chronogramme : représentation temporelle
Les opérateurs de base : OUI Fonction : conserve la valeur de l’entrée E Représentation électrique Equation : Table de vérité Chronogramme Symboles schéma E S = E S E 1 E S 1 Notation Européenne Américaine E S t 1
Les opérateurs de base : NON ( ou NOT) Fonction : inverse ou complémente la valeur de l’entrée E Représentation électrique Equation : Table de vérité Chronogramme Symboles schéma E S = E ou S = /E S E 1 E S 1 Notation Européenne Américaine E S t 1
Les opérateurs de base : ET ( ou AND) Fonction : vaut 1 si e1 ET e2 valent 1, sinon vaut 0 Représentation électrique Equation : Table de vérité Chronogramme Symboles schéma e1 e2 S = e1 . e2 (ou e1 e2) S e2 1 e1 e2 S t 1 e1 e1 e2 S & Notation Européenne Américaine
Les opérateurs de base : OU ( ou OR) Fonction: vaut 1 si e1 OU e2 valent 1, sinon vaut 0 Représentation électrique Equation : Table de vérité Chronogramme Symboles schéma e1 e2 S = e1 + e2 S e2 1 e1 e2 S t 1 e1 e1 e2 S 1 Notation Européenne Américaine
Et par association: NAND (NON-ET) Fonction: vaut 0 si e1 ET e2 valent 1, sinon vaut 1 Représentation électrique Equation : Table de vérité Chronogramme Symboles e1 e2 S = e1 . e2 S e2 1 e1 e2 S t 1 e1 e1 e2 S & Notation Européenne Américaine
Et par association: NOR (NON-OU) ou NI Fonction : vaut 0 si e1 OU e2 valent 1, sinon vaut 1 Représentation électrique Equation : Table de vérité Chronogramme Symboles schéma e1 e2 S = e1 + e2 S e2 1 e1 e2 S t 1 e1 e1 e2 S 1 Notation Européenne Américaine
Et le dernier : XOR (OU-EXCL) Fonction : vaut 1 si e1 et e2 sont différents , sinon vaut 0 Représentation électrique Equation : Table de vérité Chronogramme Symboles schéma e1 e2 + S = e1 e2 S e2 1 e1 e2 S t 1 e1 e1 e2 S =1 Notation Européenne Américaine
a . 1 = a a + 1 = 1 a a a. a a+ a Propriétés de base Involution 𝑎 = a Idempotence a . a = a a + a = a Complémentarité a . 𝑎 = 0 a + 𝑎 = 1 Identités remarquables a . 0 = 0 a + 0 = a a . 1 = a a + 1 = 1 a 1 a 1 a. a a+ a 1
Commutativité a . b = b . a a + b = b + a Propriétés de base Commutativité a . b = b . a a + b = b + a Associativité a.(b.c) = (a.b).c a+(b+c)=(a+b)+c Distributivité du ET sur le OU a.(b+c) = (a.b)+(a.c) du OU sur le ET a+(b.c) = (a+b).(a+c) Absorption a + a.b = a et a + 𝑎 .b = a + b a.(1+b) = a.1 = a (factorisation) ( 𝑎 +a).(a+b) = 1.(a+b) = a+b (distributivité)
Universalité des fonctions NAND et NOR Théorèmes Théorème de De Morgan 𝒂 . 𝒃 = 𝒂 + 𝒃 𝒂+𝒃 = 𝒂 . 𝒃 Théorème de Dualité Les fonctions vont toujours par 2 . On trouve la deuxième en remplaçant les ET par des OU, les OUI par des NON et réciproquement Exemple si F = 𝑎 .b + a. 𝑐 .d alors 𝐹 = (a+ 𝑏 ) . ( 𝑎 +c+ 𝑑 ) Universalité des fonctions NAND et NOR Toute expression booléenne peut se réaliser uniquement avec des fonctions NAND ou NOR
Théorèmes F = 𝑎 .b + a. 𝑐 .d alors 𝐹 = 𝑎 .b + a. 𝑐 .d = 𝑎 .b . a. 𝑐 .d Théorème de Dualité F = 𝑎 .b + a. 𝑐 .d alors 𝐹 = 𝑎 .b + a. 𝑐 .d = 𝑎 .b . a. 𝑐 .d = ( 𝑎 + 𝑏 ) . ( 𝑎 + 𝑐 + 𝑑 ) = (a+ 𝑏 ) . ( 𝑎 + c + 𝑑 )
Expression d’une fonction logique Table de vérité Equation : les formes canoniques Simplification de l’équation Simplification algébrique Diagramme de Karnaugh Réalisation à l’aide des portes
Table de vérité ou table d’implication C’est la table qui donne l’état d’une fonction (0 ou 1) pour chacune des combinaisons des variables d’entrées Pour une fonction à 3 entrées A, B, C, il y a 8 (=23) combinaisons N Combinaison A B C f0 0 0 0 1 f1 0 0 1 2 f2 0 1 0 3 f3 0 1 1 4 f4 1 0 0 5 f5 1 0 1 6 f6 1 1 0 7 f7 1 1 1 F 1 𝑭 1 Pour une fonction à n entrées , 2n combinaisons Exemple :
Equation : Formes canoniques - Définitions Pour une fonction logique à X variables Un min-terme = groupe des X variables liées par des ET Un max-terme = groupe des X variables liées par des OU Les X variables peuvent être complémentées Ex pour une fonction à 3 variables min-terme : A.B. 𝐶 max-terme : 𝐴 +𝐵+𝐶 Formes canoniques de la fonction 1ère forme = union (OU) de min-termes 2ème forme = intersection (ET) de max-termes
Formes canoniques 1ère forme canonique : disjonctive Cn A B C f0 0 0 0 1 f1 0 0 1 2 f2 0 1 0 3 f3 0 1 1 4 f4 1 0 0 5 f5 1 0 1 6 f6 1 1 0 7 f7 1 1 1 F 1 𝑭 1 Formes canoniques 1ère forme canonique : disjonctive On a F = 1 si l’une de ses combinaisons fi est à 1 Ici F = f1 + f2 + f3 + f6 + f7 càd : F = 𝐴 . 𝐵 .C + 𝐴 .B. 𝐶 + 𝐴 .B.C + A.B. 𝐶 + A.B.C F est exprimée comme une somme de produits (min-termes) Cette forme est préférée pour réaliser la fonction à l’aide de NAND 2ème forme canonique : conjonctive On a F = 0 si 𝐹 = 1 càd si l’une de ses combinaisons fi est à 1 Ici 𝐹 = f0 + f4 + f5 ou F = f0 + f4 + f5 càd F = f0 . f4 . f5 càd : F = ( 𝐴 . 𝐵 . 𝐶 ). ( 𝐴 . 𝐵 .𝐶 ). ( 𝐴. 𝐵 .𝐶 )= (A+B+C).(A+B+ 𝐶 ).( 𝐴 +B+ 𝐶 ) F est exprimée comme un produit de sommes (max-termes) Cette forme est préférée pour réaliser la fonction à l’aide de NOR
Simplification de fonctions logiques L1 MIPCSPI - EC163 2015 - 2016 Simplification de fonctions logiques Simplification algébrique En se servant des différentes propriétés En factorisant , en distribuant … En utilisant l’involution : x = 𝑥 Mais pas toujours évident => Diagramme de Karnaugh Algèbre de Boole
Diagramme de Karnaugh - Exemple Table pour 3 variables Sous forme de Diagramme de Karnaugh A B C F 0 0 0 0 0 1 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 BC A 𝐵 . 𝐶 0 0 𝐵 .C 0 1 B.C 1 1 B. 𝐶 1 0 𝐴 0 1 A 1
Diagramme de Karnaugh C’est la table de vérité représentée sous forme d’un tableau à 2 dimensions Chaque dimension concerne une ou plusieurs variables Entre 2 colonnes successives, il n’y a modification que d’une seule valeur de variable (=> code binaire réfléchi) Entre 2 lignes successives, il n’y a modification que d’une seule valeur de variable (=> code binaire réfléchi) Chaque case du tableau contient une valeur booléenne On peut regrouper les cases du tableau par blocs de 2n cases A chaque bloc correspond un terme dans lequel on ne conserve que les variables qui ne varient pas (car x+ 𝐱 =1)
Code binaire réfléchi ou code Gray permet de ne faire changer qu'un seul bit à la fois quand un nombre est incrémenté ou décrémenté d'une unité. méthodes: - Effet miroir Code binaire naturel Code binaire réfléchi 0 0 0 0 0 0 1 0 0 1 0 0 1 2 0 1 0 0 1 1 3 0 1 1 0 1 0 4 1 0 0 1 1 0 5 1 0 1 1 1 1 6 1 1 0 1 0 1 7 1 1 1 1 0 0 - Règle pour passer d’un nombre au suivant: - lorsqu'il y a un nombre pair de 1 on inverse le dernier bit - sinon on inverse le bit directement à gauche du 1 le plus à droite - Règle pour passer du code naturel au réfléchi: - on conserve le bit de gauche puis OU EXCLUSIF successifs entre 2 bits
Diagramme de Karnaugh Table pour 3 variables B C 𝐴 .C B A A B C F 0 0 0 0 0 1 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 BC A 𝐵 . 𝐶 0 0 𝐵 .C 0 1 B.C 1 1 B. 𝐶 1 0 𝐴 0 1 A 1 𝐴 .C B A On peut regrouper par blocs de 2n Si on regroupe 2 cases => on supprime 1 variable => terme à 2 variables Si on regroupe 4 cases => on supprime 2 variables => terme à une variable => F = B + 𝑨 . C
Diagramme de Karnaugh Diagramme pour 4 variables ( 2 en horizontal, 2 en vertical ) A B F = D + 𝐁 . 𝐂 + 𝐀 . B . C CD|AB 0 0 0 1 1 1 1 0 1 Démarche: On commence par les plus gros regroupements 8 cases => 23 => - 3 variables => terme à 1 variable 4 cases => 22 => - 2 variables => terme à 2 variables 2 cases => 21 => - 1 variable => terme à 3 variables D C La table se referme sur elle-même en horizontal et en vertical
Réalisation du circuit = logigramme On câble l’équation obtenue à l’aide des portes correspondantes : F = D + B . C + A .B.C On commence par l’opérateur qui sépare l’équation 1 C & A B D A .B.C B . C ≥1 F A .B.C B . C D
Autre exemple de diagramme de Karnaugh Fonction de 4 variables 1. On commence par remplir le tableau On peut ranger les variables comme on veut A B C D F 1 CD AB 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 1 1 1 1 1 1 Rq: cette fonction n’est définie que pour des valeurs de 0 à 9 (décimal)
Autre exemple de diagramme de Karnaugh Fonction de 4 variables 2. On regroupe les cases Démarche: On commence par les plus gros regroupements 8 cases : possible si on met à 1 les cases non utilisées CD AB 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 Les cases non utilisées vont pouvoir être mises à 1 ou 0 indifféremment pour obtenir la plus grande simplification 1 1 1 1 Puis 4 cases Puis 2 cases 1 1 On peut réutiliser plusieurs fois une case si c’est dans le but de simplifier mais pas si cela rajoute un terme à l’équation
Autre exemple de diagramme de Karnaugh Fonction de 4 variables 3. On établit l’équation Pour une fonction de 4 variables : groupe de 8 cases => terme à 1 variable groupe de 4 cases => terme à 2 variables groupe de 2 cases => terme à 3 variables CD AB 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 F = A + C . 𝐃 + 𝐁 . C + B . 𝐂 . D 1 1 1 1 1 1
3ème exemple de diagramme de Karnaugh Fonction de 4 variables On peut aussi chercher l’équation de 𝑭 ZT XY 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 ZT XY 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 F = 𝐗 . 𝐘 . Z + X . 𝐘 . 𝒁 𝐅 = Y + 𝐗 . 𝐙 + X . Z F = 𝐘 . ( 𝐗 . Z + X . 𝒁 ) F = 𝐘 . (X + Z) .( 𝐗 + 𝐙 ) F = 𝐘 . (X. 𝐗 + X. 𝐙 +Z. 𝐗 + Z. 𝐙 ) F = 𝐘 . (X. 𝐙 +Z. 𝐗 )