DU BINAIRE AU MICROPROCESSEUR - D ANGELIS 43 SIMPLIFICATION DES EQUATIONS BOOLEENNES Leçon 7 Le rôle de la logique combinatoire est de faciliter la simplification des circuits électriques. La simplification se fait d'abord par une rationalisation de l'étude du problème qui conduit à la mise en équation la solution. La réalisation finale s'effectuera à partir de l'équation obtenue. Il est évident que plus l'équation est simple, plus la matérialisation en sera facile et son coût réduit. Ce sixième chapitre est consacré à la simplification des équations et notamment par une utilisation rationnelle des tableaux de Karnaugh Techniques de simplification Première phase: a/ Simplification algébrique Soit l'équation suivante: S = X.Y. Z + X.Y. Z Nous pouvons lui appliquer les lois de la distributivité S = X.Y ( Z + Z ) Or les propriétés du OU logique permettent d'écrire: Z + Z = Et celles du ET S = X.Y. () = X.Y Nous en déduisons: S = X.Y. Z + X.Y. Z = X.Y Les deux termes de notre équation ne différaient que d'un seul bit, dans l'un nous avions la variable Z dans l'autre Z les deux termes étaient donc adjacents. Lorsqu'on est en présence de deux termes adjacents, une mise en facteur entraînant une simplification est donc possible. Une volonté de simplification se traduit par une recherche des adjacences b/ Simplification à l'aide du tableau de Karnaugh Entrons les deux termes de l'équation S dans un tableau de Karnaugh à 8 cases: Z Nous constatons que les deux "" qui représentent les deux termes de notre équations, deux termes adjacents, se retrouvent côte à côte dans notre tableau. Nous pouvons faire le raisonnement suivant: lorsque X et Y sont simultanément à, ce qui est le cas pour toute la colonne de notre tableau, que Z soit à ou à cela ne modifie pas l'état de notre récepteur, donc nous sommes indépendant de Z et l'équation des deux cases réunies est X.Y Ajoutons un troisième terme à notre équation Deuxième phase: a/ Simplification algébrique T = X.Y. Z + X.Y. Z + X. Y. Z
44 DU BINAIRE AU MICROPROCESSEUR - D ANGELIS Deux mises en facteur sont possibles: ou bien T = X. Y ( Z + Z ) + X. Y. Z T = X. Z ( Y + Y ) + X.Y. Z Le terme X.Y.Z est susceptible d'être utilisé dans deux mises en facteur or nous connaissons la propriété de l'opérateur OU, X + X = X il en est de même pour (X. Y. Z) + (X. Y. Z) = X. Y. Z Il est donc possible d'ajouter dans notre équation un terme qui existe déjà sans pour autant modifier sa table de vérité. T = X.Y. Z + X.Y. Z + X. Y. Z + X.Y. Z rendant ainsi les deux mises en facteur possibles: T = X.Y ( Z + Z ) + X. Z ( Y + Y ) d'ou T = X. Y + X. Z Noter qu'après ce résultat, mettre en facteur X ne ferait que modifier la présentation de l'équation mais ne la simplifierait pas. b/ Simplification à l'aide du tableau de Karnaugh Entrons les trois termes de l'équation T dans un tableau de Karnaugh à 8 cases: Z Nous constatons que les deux mises en facteur effectuées précédemment correspondent à deux regroupements de cases adjacentes. Le tableau de Karnaugh étant codé en binaire réfléchi, le codage de deux cases voisines ne diffère que d'un seul bit, deux cases voisines, verticalement ou horizontalement, sont adjacentes. Le regroupement vertical est identique au précédent et donne le terme X.Y le regroupement horizontal utilise une case déjà employée dans le premier regroupement, utiliser plusieurs fois une même case d'un tableau de Karnaugh c'est ajouter à l'équation le même terme plusieurs fois, cela ne modifie pas cette équation. Pour extraire l'équation du deuxième regroupement, nous examinons le codage de ces deux cases et constatons que c'est la variable Y qui passant de (case de gauche) à (case de droite)nous fait changer de cases sans modification du résultat, nous sommes donc dans ce cas indépendants de Y or pour les deux cases concernées les variables X et Z étant toutes les deux égales à, l'équation du regroupement horizontal est X. Z. L'équation est l'union de ces deux termes : T =( X.Y ) + ( X. Z ) En conclusion: Dans un tableau de karnaugh à N variables, il est possible de réunir deux cases voisines contenant des "", horizontalement ou verticalement ce qui entraîne l'écriture d'un terme unique pour les deux cases, codé à l'aide de N- variables du système. Dans un tableau de karnaugh il est possible d'utiliser une même case pour plusieurs regroupements. Troisième phase: Ajoutons à notre équation un quatrième terme
DU BINAIRE AU MICROPROCESSEUR - D ANGELIS 45 a/simplification algébrique manière: U = X.Y. Z + X.Y. Z + X. Y. Z + X. Y.Z Deux mises en facteur sont possibles: d'où U = X. Y ( Z + Z ) + X. Y. ( Z + Z ) U = ( X. Y ) + ( X. Y ) or cette fois ci une deuxième mise en facteur apportant simplification est possible: U = X. ( Y + Y ) d'où U = X Nous aurions pu opérer d'une autre façon et notamment débuter nos mises en facteur d'une autre U = X. Z ( Y + Y ) + X. Z ( Y + Y ) Nous aurions obtenu: U = ( X. Z) + ( X. Z ) Ce qui permettait une nouvelle simplification d'où U = X. ( Z + Z ) U = X b/ Simplification à l'aide du tableau de Karnaugh Entrons les quatre termes de l'équation U dans un tableau de Karnaugh à 8 cases: Nous pouvons effectuer des regroupements verticaux nous en tirons l'équation : U = ( X. Y ) + ( X. Y ) Z Que nous pouvons entrer dans un tableau à 4 cases: X Y d'où nous tirons l'équation: U = X Nous aurions pu opérer différemment: effectuer des regroupements horizontaux dont nous aurions tiré l'équation: U = ( X. Z ) + ( X. Z )
46 DU BINAIRE AU MICROPROCESSEUR - D ANGELIS Z Que nous pouvons entrer dans un tableau à 4 cases: X Z d'où nous tirons l'équation: U = X Nous voyons que, lorsque les cases contenant des forment un carré, elles peuvent se regrouper aussi bien horizontalement que verticalement en nous conduisant au même résultat. Nous pourrons effectuer la simplification en une seule fois: Z Nous effectuerons le regroupement des quatre cases en une seule fois puis nous chercherons quelles sont les variables qui se modifient et donc que nous allons éliminer. Ainsi le passage de la colonne de gauche à celle de droite est causée par la modification de Y de même le passage de la ligne supérieure à la ligne inférieure se fait par la modification de Z. L'élément constant de ces 4 cases est X qui est toujours égal à l'équation est donc U = X En Conclusion: Dans un tableau de Karnaugh à N variables, lorsque 4 "" forment un carré, il peuvent se regrouper et s'écrire à l'aide d'un seul terme qui sera codé avec N - 2 variables du système VI - - 4 - Quatrième phase: Prenons maintenant une nouvelle équation à quatre termes a/ Simplification algébrique V = X.Y.Z + X.Y.Z + X. Y.Z + X. Y.Z
DU BINAIRE AU MICROPROCESSEUR - D ANGELIS 47 Deux mises en facteur sont possibles: d'où V = X.Y ( Z + Z ) + X. Y. ( Z + Z ) V = ( X.Y ) + (X. Y ) puis une deuxième mise en facteur apportant simplification: d'où V = Y. ( X + X ) V = Y b/ Simplification à l'aide du tableau de Karnaugh Entrons les quatre termes de l'équation V dans un tableau de Karnaugh à 8 cases: Nous pouvons effectuer des regroupements verticaux nous en tirons l'équation : V = ( X.Y )+ (X. Y ) Z Que nous pouvons entrer dans un tableau à 4 cases: X Y d'où nous tirons l'équation: V = Y La simplification que nous venons d'effectuer aurait du être réalisée en une seule fois en remarquant que les deux regroupements verticaux sont adjacents car symétriques par rapport à l'axe du code binaire réfléchi. On se rappellera la technique de construction du code binaire réfléchi, écriture des deux premières combinaisons puis réflexion de la première colonne etc...il y a donc un axe de réflexion qui passe entre les colonnes et les deux regroupements sont donc adjacents le système se comporte comme la structure en carré précédente La mise en équation se fera de la façon suivante: - recherche de la variable faisant changer de colonne ici X qui devient X - recherche de la variable qui fait changer de ligne Z qui passe à Z - recherche des éléments constants dans les cases regroupées ici Y V = Y
48 DU BINAIRE AU MICROPROCESSEUR - D ANGELIS En Conclusion: Dans un tableau de Karnaugh à N variables, lorsque deux regroupements de 2 m cases effectués conformément aux règles, sont symétriques par rapport à l'un des axes du code binaire réfléchi ( horizontalement ou verticalement ), ils peuvent se regrouper, constituant ainsi un ensemble de 2 m+ cases et s'écrire avec un seul terme qui sera codé à l'aide de N - (m+) variables Exploitation des tableaux de Karnaugh: Nous avons vu la technique d'utilisation des tableaux de Karnaugh, nous allons maintenant à travers quelques exemples nous perfectionner. Tableaux à 6 cases er Exemple ZT 4 2 8 5 3 9 3 7 5 2 6 4 Dans le tableau ci-dessus nous avons fait apparaître les axes de symétrie l un horizontal et l autre vertical et numéroté les cases en fonction de leur codage, ceci pour rendre les explications moins laborieuses. Nous voyons que les cases et 8 contiennent un et sont symétriques par rapport à l'axe vertical elles peuvent donc se regrouper en un paquet de deux (2 ) cases qui s'écrira à l'aide de 4 - = 3 variables. Il en sera de même pour les cases 2 et, mais ces deux regroupements sont eux-même symétriques par rapport à l'axe horizontal ils peuvent donc constituer un ensemble de 4 cases (2 2 ) s'écrivant avec 4-2 variables. Élaboration de l'équation: Deux variables sont à éliminer celle qui fait changer de colonne et celle qui fait changer de ligne. La variable qui fait changer de colonne est X qui passe de à La variable qui fait changer de ligne est Z qui passe de à Les éléments constants sont donc Y et T qui ont la valeur l'équation est donc un ET entre ces deux variables complémentées. S = Y. T
DU BINAIRE AU MICROPROCESSEUR - D ANGELIS 49 2ème Exemple ZT 4 2 8 5 3 9 3 7 5 2 6 4 Dans le tableau ci dessus on retrouve les 4 cases du tableau précédent plus deux regroupements l'un de 4 cases en carré les cases 2,8,3,9 et les deux cases 5 et 7 nous voyons que la case 8 est utilisée deux fois ce qui ne pose aucun problème. L'équation sera donc composée de termes réunis par des OU, deux de deux variables et un de trois variables Codage des 4 cases,8,2, (voir page 48) donne le terme: Y. T Codage des 4 cases 2,8,3,9 éliminent Y et T et conserve X et Z d'où X. Z Codage des 2 cases 5 et 7 élimine une variable Z et conserve X,Y, T d'où X.Y. T L'équation du tableau est donc: Tableaux à 32 cases er Exemple S = Y.T + X. Z + X.Y. T XYZ TU 2 3 4 2 8 24 28 2 6 5 3 9 25 29 2 7 3 7 5 27 3 23 9 2 6 4 26 3 22 8 Cette fois notre tableau comporte trois axes de symétrie verticaux, nous les avons numéroté afin de rendre les explications plus aisées. Le et le 2 ont servi à la construction du code binaire réfléchi, le 3 est la réflexion du par rapport à l'axe 2. La technique de simplification est de rechercher des groupements de 2 cases soit côte à côte soit par symétrie, éventuellement des groupes de 4 cases en carré puis de leur chercher des symétriques.
5 DU BINAIRE AU MICROPROCESSEUR - D ANGELIS Nous voyons 4 cases en ligne 8,24,28,2 et sommes tentés de les regrouper, hélas ceci ne peut se faire, pour prendre 4 cases en ligne, un axe de symétrie doit passer au milieu (2 fois 2 cases symétriques) si les cases en question avaient été 24,28,2,6 ou 2,8,24,28,le regroupement aurait été possible. Au cas ou néanmoins le regroupement aurait été effectué, on s'apercevrait que le passage de colonne à colonne voit trois variables se modifier or 4 (2 2 ) cases ne permet l'élimination de 2 variables et non pas 3, donc regroupement incorrect. Si nous prenons les cases 8 et 24 nous leur trouvons un symétrique par rapport à l'axe horizontal, les et 26 ce qui constitue un groupe de 4 cases d'équation Y. Z.U Les cases 28 et 2 n'ont pas de symétrique leur équation est X. Z. T.U La case à 8 comme symétrique et ces deux cases ont elles mêmes 2 et comme symétrique, cela constitue un groupe de 4 cases d'équation X.Z.U Pour les cases 26 et 8 nous avons un symétrique par rapport à l'axe 2, les 2 et que nous réutiliserons leur écriture est Z.T. U 2ème Exemple D'où l'équation du tableau: S = Y. Z.U + X. Z. T.U + X.Z.U + Z.T. U XYZ TU 2 3 4 2 8 24 28 2 6 5 3 9 25 29 2 7 3 7 5 27 3 23 9 2 6 4 26 3 22 8 Le carré de 4 cases,4,,5 a un symétrique par rapport à l'axe 2 les cases 2,6,2,7 soit un groupement de 8 (2 3 ) cases donc 2 variables dans l'équation Y.T La case 5 ne peut se grouper qu'avec la 4. Leur équation est X.Y. Z. T Les cases 2 et 6 ont deux symétriques et 4 ou 4 et, nous choisirons ces deux dernières car le groupement de 4 cases ainsi réalisé possède lui même un symétrique 26,3,22,8 qui permet de faire un ensemble de 8 cases dont l'équation est T. U L'équation du tableau est: S = Y.T + X.Y. Z. T + T. U VI - 3 - Introduction d'une équation dans un tableau Il peut être nécessaire d'effectuer les opérations inverses des précédentes, introduire une équation dans un tableau de Karnaugh soit pour effectuer des simplifications qui n'auraient pas été faites, pour tester un montage en vérifiant combinaison par combinaison (case par case) son bon fonctionnement ou tout simplement pour juger de l'aspect de la fonction ( ceci sera étudié au chapitre suivant ). Si nous sommes dans un système à N variables, chaque case du tableau de Karnaugh représente une combinaison de ces N variables. Si dans l'équation à entrer dans le tableau il existe des termes à N- variables, ils vont donner lieu à l'introduction de deux. Ainsi supposons que nous ayons les variables X,Y,Z le terme X.Z dans une équation nous permettra d'introduire un dans les cases codées X.Y.Z et X. Y.Z
DU BINAIRE AU MICROPROCESSEUR - D ANGELIS 5 Exemple: Introduire l'équation S = X. Y + Y. Z + Z + X. Y. Z L'équation contient 3 variables nous utiliserons donc un tableau à 8 cases L'introduction du terme X Y correspond aux cases X. Y. Z et X. Y.Z soit: Z le terme Y. Z correspond à 2 cases également X. Y. Z et X.Y. Z Z Z nous fera introduire un dans 4 cases Z X. Y. Z, terme dans lequel toutes les variables apparaissent, n'est représenté que par une seule case Z l'équation entière correspond à la réunion de ces tableaux en un seul Z dont l'équation sera Z + Y
52 DU BINAIRE AU MICROPROCESSEUR - D ANGELIS Matérialisation des fonctions logiques Matérialisation à l aide de portes Nand Un prochain ouvrage décrira les techniques de matérialisation des fonctions logiques qui ont fortement évoluées ces dernières années notamment avec la vulgarisation des réseaux logiques programmables et les mémoires. Nous nous bornerons dans ce fascicule à évoquer le problèmes des portes logiques. Dans un souci de standardisation, il est possible de matérialiser une équation logique entièrement à l aide de portes NAND ou de portes NOR. En effet ces portes permettant d effectuer la fonction inversion sont dites universelles. Examinons le tableau ci dessous: Z L équation de ce tableau est S = ( X. Y ) + ( X. Z ) Nous savons que complémenter deux fois une variable ou une fonction binaire revient à ne pas la complémenter du tout ainsi S = S Donc nous pouvons écrire : S = ( X. Y ) + ( X. Z ) = S suivant: Si nous appliquons une fois le théorème de De Morgan à cette équation nous obtenons le résultat S = ( X. Y ). ( X. Z ) La matérialisation de S pourra donc se faire à l aide de trois portes NAND à deux entrées, l une recevant, X. Y la seconde X. Z et la troisième recevant la sortie des deux autres suivant le logigramme cidessous: X Y Z X X. Y S = (X. Y ). (X. Z) = (X. Y) + (X. Z) Z X. Z La matérialisation d une équation issue directement d un tableau de Karnaugh se fait très facilement à l aide de portes NAND chaque terme produit logique entrant dans une porte NAND et toutes les sorties convergeant elles mêmes vers une porte NAND.
DU BINAIRE AU MICROPROCESSEUR - D ANGELIS 53 dessous: Exemple: La fonction T = ( X.Y ) + ( X. Z ) + ( Y. Z ) pourra se matérialiser suivant le logigramme ci X Y Z X X. Y Y T = (X.Y). (X.Z). (Y.Z) = (X.Y) + (X.Z) + (Y.Z) Z X. Z Y. Z Matérialisation à l aide de portes NOR. Reprenons le tableaux du paragraphe précédent : Z L équation de ce tableau est S = ( X. Y ) + ( X. Z ) Si nous voulons complémenter S, nous avons deux possibilités soit sortir l équation d un tableau qui comporterait des à la place des et vice versa (ce qui revient à écrire l équation des du tableau actuel) soit placer une barre au dessus de l équation S. Dans le premier cas nous obtiendrons: S. = ( X. Y ) + ( X. Z ) Et dans le second: S = ( X. Y ) + ( X. Z ) Si, comme précédemment nous cherchons S il suffit de complémenter l une des deux expression ci dessus, nous complémenterons la première équation obtenue: S = ( X. Y ) + ( X. Z ) = S et comme précédemment nous appliquerons une fois le théorème de De Morgan ce qui nous donne: puis une seconde fois : S = ( X. Y ). X. Z ) = S
54 DU BINAIRE AU MICROPROCESSEUR - D ANGELIS S = ( X + Y ). ( X + Z ) Nous constatons que l équation de S ne se présente plus sous la forme d une somme de produits mais sous la forme d un produit de sommes. Cette nouvelle présentation de la fonction nous permettra de la matérialiser aisément à l aide de portes NOR. Comme dans l'exemple précédent nous la complémenterons deux fois et appliquerons une fois le théorème de DeMorgan; Nous obtenons: S = ( X + Y ). ( X + Z ) ) = S Puis: S = ( X + Y ) + ( X + Z ) ce qui met en évidence la matérialisation à l aide de portes NOR ci dessous: X Y Z X + Y X S = (X + Y) + (X + Z) = (X + Y). (X + Z) X + Z Z Exercices Tableaux à 8 cases (*) a/ extraire l'équation du tableau ci dessous Z b/ extraire l'équation du tableau ci dessous Z
DU BINAIRE AU MICROPROCESSEUR - D ANGELIS 55 Tableaux à 6 cases (*) a/ Extraire l'équation du tableau ci dessous ZT b/ Extraire l'équation du tableau ci dessous ZT Tableaux à 32 cases (*) a/ Extraire l'équation du tableau ci dessous XYZ TU 2 3
56 DU BINAIRE AU MICROPROCESSEUR - D ANGELIS b/ Extraire l'équation du tableau ci dessous XYZ TU 2 3