MATHMATIQUES DISCRTES Chapitre 9 Franois Meunier DMI Algbre
MATHÉMATIQUES DISCRÈTES Chapitre 9 François Meunier DMI
Algèbre Booléenne ? l Une généralisation mineure de la logique propositionnelle. l l En général, l’algèbre est une structure mathématique satisfaisant certains axiomes algébriques standards. Généralise les règles de logiques propositionnelles sur des ensembles autres que {T, F}. l Ex. , sur l’ensemble {0, 1} de bits en base-2, ou l’ensemble {VL, VH} des niveaux de voltage bas et haut d’un circuit. Offre les opérations et les règles pour traiter les ensembles {0, 1} l Cette forme d’algèbre peut être utilisée pour le design des circuits logiques digitaux. l
Complément, Addition, Produit Correspond au NON, OU, et ET logique. l Les deux valeurs logiques sont représentées par 0: ≡F et 1: ≡T, plutôt que False (faux) et True (vrai). l Notation utilisée pour représenter les opérations algébriques Booléennes : l Précédence→
Exemples l l Avec B = {0, 1} Alors Une variable Booléenne (logique) prend seulement les valeurs de l’ensemble B. Conséquemment x+x=x x 2 = x. x = x l Complément logique, l Addition 0 + 0 = 0, 0 + 1 = 1, 1 + 0 = 1, 1 + 1 = 1 l Produit 0. 0 = 0, 1. 0 = 0, 0. 1 = 0, 1. 1 = 1
Fonctions Booléennes l Avec B = {0, 1}, l’ensemble des valeurs Booléennes. l Pour tous n Z+, des fonctions f: Bn→B sont des fonctions Booléennes de degré n. ⁿ 2 l Il existe 2 fonctions booléennes distinctes de degré n. l Puisque 2 n rangées dans une table de vérité, avec 0 ou 1 chacune.
Fonctions Booléennes Question: Combien pouvons nous avoir de fonctions Booléennes différentes de degré 1? Solution: 4, F 1, F 2, F 3, et F 4: X F 1 F 2 F 3 F 4 0 0 0 1 1 1 0 1
Fonctions Booléennes Question: Combien pouvons nous avoir de fonctions Booléennes différentes de degré 2? Solution: 16, F 1, F 2, F 3, …, F 16 X Y F 1 F 2 F 3 F 4 F 5 F 6 F 7 F 8 F 9 F 10 F 11 F 12 F 13 F 14 F 15 F 16 0 0 0 0 0 1 1 1 1 0 1 0 0 0 0 1 1 1 1 1 0 0 0 1 1 1 1 0 1 0 1 Degré 0 1 2 3 Combien 2 4 16 256 Degré Combien 4 65, 536 5 4, 294, 967, 296 6 18, 446, 744, 073, 709, 551, 616.
Expressions Booléennes Avec x 1, …, xn n variables logiques différentes. l Une expression Booléenne (définition récursive) est une chaîne pouvant avoir la forme: l l Cas de base: 0, 1, x 1, …, ou xn. Cas récursifs: E 1, (E 1 E 2), où (E 1+E 2), où E 1 et E 2 sont des expressions Booléennes: x 1. x 2 ou x 1 x 2 + x 3 etc. Une expresion Booléenne représente une fonction Booléenne. l De plus, chaque fonction Booléenne de degré n peut être représentée par une expression Booléenne.
Équivalents Booléen & opérations sur les expressions Booléennes Deux expressions Booléennes e 1 et e 2 qui représentent la même fonction f sont équivalentes. Nous écrivons alors e 1 e 2, ou e 1=e 2. l Implicitement, les deux expressions ont la même valeurs pour toutes les valeurs possibles des variables logiques dans e 1 et e 2. l Les opérateurs ¯, +, et · peuvent être appliqués sur les fonctions qu’ils représentent. l Avec F et G des fonctions Booléennes de degré n. La somme Booléenne F+G et le produit Booléen FG sont définis par: l l l (F + G)(b 1, b 2, …, bn) = F(b 1, b 2, …, bn) + G(b 1, b 2, …, bn) (FG)(b 1, b 2, …, bn) = F(b 1, b 2, …, bn) G(b 1, b 2, …, bn)
Principales identités Booléennes l Double complément: l x + (y + z) = (x + y) + z x · (y · z) = (x · y) · z x=x l Idempotence: x + x = x, l l x· 1=x Domination: x + 1 = 1, x· 0=0 l Commutativité: x + y = y + x, x · y = y · x Distributivité: x + y·z = (x + y)·(x + z) x · (y + z) = x·y + x·z Identité: x + 0 = x, l x·x=x Associativité: l De Morgan: (x · y) = x + y, (x + y) = x · y l Absorption: x + x·y = x, x · (x + y) = x
Dualité Les identités appliquées sur les expressions Booléennes permettent de transformer (simplifier) une expression A en une autre expression équivalente B. l D’autres identités peuvent être déduites en utilisant le dual d’une expression Booléenne. l Le dual d’une expression Booléenne est déduit en: l l l interchangeant la somme et le produit Booléen Interchangeant les 0 s et 1 s.
Dualité Exemples: Le dual de x(y+z) est x+yz. Le dual de x. 1+(y+z) est (x+0)(yz). l Une identité entre fonctions représentée par des expressions Booléennes reste valide quand le dual de chaque côté de l’identité est effectué. l C’est le principe de dualité l l Par exemple, loi d’absorption x∙(x + y) = x. En prenant le dual de chaque côté de cette identité, nous obtenons l’équation x + x∙y = x, qui est aussi une identité (aussi une règle d’ absorption).
Fonctions/Expressions Booléennes l Posons f: B 3→B, où f(x, y, z) = x∙y+z Cette fonction Booléenne est déterminée en évaluant f pour chacune des 8 possibilités de combinaisons binaires de 3 bits des variables x, y, z. x y z x∙y =x∙y+z 0 0 1 1 0 1 0 1 0 0 0 1 1 0 1 0 1 1 1
Représentation des Fonctions Booléennes l Définition: Un litéral est une variable Booléenne ou son complément. Donc si f est une fonction Booléenne sur n variables x 1, x 2, …, xn, chaque terme xi ou leur complément –xi, pour 1≤ i ≤ n sont des litéraux. l l Un minterm des variables Booléennes x 1, x 2, …, xn est un produit Booléen y 1 y 2…yn, où yi=xi ou yi=-xi. l l f(x, y, z) = x∙y+z : x, y et z sont des litéraux x∙y∙z est un minterm Donc, un minterm est un produit de n litéraux, avec un litéral pour chaque variable et est une conjonction fondamentale.
Simplification des Fonctions/Expressions Booléennes l Posons f: B 4→B, où f (x, y, z, w) = De. Morgan’s Law of Double Complement Associative Law of + Absorption Law (and Commutative Laws of + and. ) Commutative and Associative Laws of + Idempotent Law of +
Expensions de Sommes de Produits l Une représentation de f comme une somme de conjonctions fondamentales est appelée une forme normale disjonctive (dnf) de f. l l Le dual d’une dnf est une forme normale conjonctive (cnf). l l xyz + … (x+y+z). … Théorême: Une fonction Booléenne peut être représentée sous forme d’une somme de produits de variables et de leurs compléments.
Complétude Fonctionnelle Sachant qu’une fonction Booléenne peut être représentée utilisant l’ensemble {∙, +, ─} donc les opérateurs sont fonctionellement complet. l Selon la loi de De Morgan nous pouvons éliminer les sommes Booléennes {+} en rendant l’ensemble des opérations {∙, ─} fonctionellement complète. l 2 opérateurs NAND | et NOR ↓ peuvent fournir les fonctionnalités nécessaires pour les {∙, ─} et sont donc fonctionnellement complète. l
Portes Logiques l Application de l’algèbre Booléenne l Inverseur, Ou, Et: symbols. l Portes avec Multi-inputs. l Circuits logiques et exemples. l Additionneurs, “Demi, ” “Complet” et n-bit.
Portes Logiques: Symboles l Inverseur (NON logique, Complément Booléen). l ET (Produit Booléen). l OU (Somme Booléenne). l XOU (OU-exclusif, somme mod 2). x x y x y x·y x+y x⊕y
Multi-inputs: ET, OU, XOU l Portes avec plusieurs inputs. l Deux formes graphiques: l Le second style conserve une forme compacte de la porte. x 1 x 2 x 3 x 1 ⋮ x 5 x 1 x 2 x 3 x 1…x 5
NET, NOU, XNOU Comme les autres portes, mais avec un petit cercle en output. l L’output est complémenté. l Les cercles en inputs. l L’input est complémenté avant d’être utilisé. l x y x y
Buffer (tampon) x Un symbole d’inverseur sans un cercle? l C’est un buffer (tampon). Une fonction identitée. l Pas d’utilité logique. l Représente un délais dans un circuit. l l l x Utile pour des besoins de timing. Toutes les portes physiques, occasionnent un délais non-nul entre l’application de ses inputs et quand ses outputs sont prêts.
Combinatoire: Circuits Logiques l Circuits composés de portes logiques dont les outputs dépendent seulement de leurs plus récents inputs, et non les inputs antérieurs. l Ces circuits n’ont pas de mémoire. l Leur état persiste tant que leurs inputs restent constants, mais change dès que les inputs changent.
Exemples de circuits combinatoires Exemples: l XOU utilisant des OU / ET / NON. l Aussi, certains additionneurs binaires: 1/2 additionneur utilisant des OU/ET/NON. l Additionneur complet avec des 1/2 additionneurs. l
Circuit Combinatoire: Exemple x y xy xy + xy x
Simplification de circuits l Minimiser le nombre de portes logiques de base nécessaire pour implémenter un circuit. l l Permet aussi de minimiser le nombre de transistors, la surface du circuit, dépense d’énergie et $$. Aussi utile de minimiser le nombre de niveaux combinatoires ou la profondeur logique d’un circuit. l Permet de minimiser les délais ou latence au travers du circuit, le temps entre l’input et l’output. Solution: Table de Karnaugh l Table de Karnaugh ou K-map est une alternative aux tables de vérité pour représenter une fonction. Une table consiste de cellules correspondant aux rangées de la table de vérité. La table permet la détection des cellules qui sont adjacentes et pouvant être combinées (simplifiées). l
K-map: Exemple Déduire la K-Map pour: x x y y 1 1 1 • Les Minterms dans toutes cellules qui sont adjacentes, autant dans la même rangée ou la même colonne, peuvent être combinés. Par exemple:
K-Map: Autres Exemples l Avec 3 variables? 1) 2) 3)
Table de vérité x y z Résultat 0 0 0 1 1 0 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0
Possibilité de simplication? yz x x 1 yz yz 1 1 1 yz
Trouver les termes adjacents / combiner yz x x 1 yz yz 1 1 1 yz
Résultats comparés x y z Résultat 0 0 1 0 0 0 1 1 1 0 0 0 0 1 1 0 0
Minimiser les expressions DNF l Utilisant les DNF (ou CNF) garantissent qu’ils existent quelques circuits implémentant n’importent quelles fonctions Booléennes. l l Cependant, ces circuits sont souvent trop volumineux Il est intéressant de trouver l’expression la plus simple de la somme des produits implémentant une fonction. l l Produit un circuit plus simple. Circuits d’autres formes (pas CNF ou DNF) peuvent être encore plus petits pour des fonctions complexes.
Fonctions de 4 -degré yz yz 1 wx wx yz 1 1 1 yz
- Slides: 34