Cours et Exercices La logique combinatoire circuits logique les règles de Karnaugh et MORGAN
La logique combinatoire
Rappels sur la logique combinatoire.
On utilisera les caractères 0 et 1 pour représenter les 2 états binaires (logique binaire).
Rappel: En logique positive: (la plus employée), le niveau logique haut "1" correspond à la tension la plus haute du circuit (Ex: +5v), le niveau logique bas "0" correspond à la tension la plus basse du circuit (Ex: 0v).
Pour une variable active au niveau haut, l'état logique "1" correspond à l'action (activer, valider). Les variables d'entrée ou de sortie (ou intermédiaires) sont repérées par des lettres, ou initiales des fonctions ou signaux qu'ils représentent (souvent par rapport aux mots anglais). Ex: CE=Chip Enable= autorisation du boitier.
Pour une variable active au niveau bas, c'est le "0" qui correspond à l'action. Afin de pouvoir utiliser les 2 types de représentations sur un schéma, il est indispensable de distinguer à l'aide d'une barre au dessus des variables celles active à l'état bas. Ex: si on trouve la variable CE1 et la variable, alors !C!E!2 il faudra un niveau 1 pour actionner le boitier 1, alors qu'il faudra un 0 pour actionner le boitier 2.
Rappels des opérations logiques:
Rappels sur les opérateurs et leur table de vérité.
Règles principales de l'algèbre de Boole.
Rappels sur les opérateurs et leur table de vérité.
Règles principales de l'algèbre de Boole.
Ces règles permettent de simplifier les équations logiques sans passer par la méthode des tableaux de KARNAUH.
Rappels sur les règles de DE MORGAN.
Les règles de De Morgan permettent de transformer les fonctions NAND et NOR en fonction ET ou en fonction OU, et vis versa.
Rappels sur les tableaux de KARNAUGH.
Les tableaux de KARNAUGH permettent de simplifier des équations logiques sous forme graphique.
- Exemple de simplification directe.
- Exemple de simplification directe.
Soit l'équation logique de y, une sortie, en fonction des variables d'entrées a, b, c.
Il est possible de simplifier directement l'équation logique, à l'aide des règles de base, en factorisant par ab le 1er et le 3eme terme et par !bc le 2eme et le dernier terme.
- Exemple de simplification en utilisant les tableaux de KARNAUGH.
Il est possible de simplifier directement l'équation logique, à l'aide des règles de base, en factorisant par ab le 1er et le 3eme terme et par !bc le 2eme et le dernier terme.
- Exemple de simplification en utilisant les tableaux de KARNAUGH.
Le tableau de Karnaugh représente l'état logique d'une sortie, en fonction des combinaisons des variables d'entrée. On représente le codage des entrées en binaire réfléchi (afin de ne changer qu'une seule variable d'entrée lorsqu'on se déplace dans le tableau, dans le sens horizontal ou vertical, d'une case à une autre case adjacente).
Les simplifications à l'aide du tableau, se déduisent de regroupements graphique de cases. Un regroupement correspond à un ensemble de cases adjacentes (le nombre de case doit être une puissance de 2. ex: 2, 4, 8, 16 cases ...etc. ). La forme des regroupements doit correspondre à des rectangles ou à des carrés. Les regroupements les plus grands permettent d'obtenir les équations les plus simples.
L'équation des regroupements est obtenue en regardant les variables qui ne change pas d'état. Ex: pour le regroupement N°1, a change d'état, donc n'intervient pas dans l'équation, alors que b vaut toujours 0 et c vaut toujours 1. L'équation du 1er regroupement est donc !bc.
Idem pour le 2eme, a=1 b=1 mais c change d'état, donc l'équation est ab. De l'équation simplifiée, on en déduit le schéma logique (logigramme).
Lorsque les schémas sont complexes, on indique souvent des variables intermédiaires de l'équation (ex: soit X1=ab et X2=!bc.
A) Complément de cours sur les tableaux de KARNAUGH.
Résolution de problème d'aléas: Les tableaux de Karnaugh permettent d'éviter des problèmes d'aléas (états indésirables des sorties lors du changement de certaines variables d'entrées. Ces aléas se produisent pendant des durées très courtes, et sont dus aux temps de propagation des portes logiques). Attention: les problèmes d'aléas sont souvent très difficile à visualiser à l'oscilloscope, car leur durée (quelques nS) rend la visualisation parfois presque impossible.
Rem: Il n'est pas toujours indispensable de se préoccuper des aléas. Lorsqu'une variation brève d'une sortie ne peut pas entraîner un dysfonctionnement (ex: transcodeur pour un système d'affichage. Il n'est pas gênant que l'affichage soit perturbé pendant un temps très court).
Détection d'un aléas: Le tableau montre un problème d'aléas, à chaque fois que 2 regroupements sont adjacents, et qu'il n'y a pas d'intersection. C'est le cas dans l'exemple vu précédemment, il y aura aléas lorsque a=1, c=1 et b passant de 0 à 1 (ou de 1 à 0), car on passe d'un regroupement à un autre alors qu'ils sont adjacents.
Explication du phénomène : En observant les chronogrammes montrant les temps de propagation, lors d'un passage de 0 à 1 de b, la sortie Y était à 1 avant grâce au regroupement 1, et doit rester à 1 après grâce au regroupement 2, et vis versa lors du passage de 1 à 0 de b. Le chronogramme de Y montre qu'il y a aléas seulement lors d'un passage de 1 à 0 de b. La sortie Y a alors le temps de repasser à 0, pendant le cours instant ou la porte U1a est déjà à 0, et ou la porte u1b n'est pas encore à 1.
Solution au problème : Il est possible de résoudre les problèmes d'aléas, directement à l'aide du tableau de Karnaugh. Pour cela il suffit d'ajouter un (ou des) regroupement(s) supplémentaire(s), afin de ne plus avoir de regroupements adjacents.
L'équation de Y devient alors:
Le dernier terme ac supprime l'aléas, car si a=1 et c=1 Y est obligatoirement à 1, indépendamment de l'état ou des transitions de b.
Avantage des tableaux de Karnaugh dans le cas d'états indifférents: Dans certain cas l'étude d'un problème logique, conduit à un (ou plusieurs) état(s) impossible(s). Ex: supposons que le système logique ne permet pas d'avoir en même temps b et c à 1. Il n'est donc pas nécessaire d'imposer l'état de Y, mais on choisira soit 0 soit 1 afin de simplifier les équations (et donc d'alléger le schéma). On note les états indifférents par la lettre X.
Ici il est préférable de prendre un regroupement de 4 cases et un de 2 cases. L'équation de Y est alors:Y = c + ab Le système est alors beaucoup plus simple (2 portes suffisent, 1 porte ET et une porte OU). De plus, il n'y a plus de problème d'aléas.
Regroupement de "0" avec les tableaux de Karnaugh : Il est parfois plus facile de travailler avec le complément de la sortie !Y (lorsqu'il y a moins de 0, et / ou lorsque les regroupements de 0 sont plus simples). Dans le tableau ci-contre, il faudrait 3 (ou 4) regroupements (4 pour supprimer tout aléas) si on désire écrire l'équation de Y. Alors que l'équation de !Y ne nécessite que 2 Y regroupements.
Soit:
On utilise Y = b.c + abc
alors les règles de bases pour obtenir Y (si besoin).
Il faut donc 1 porte OU, une porte ET et une porte NAND à 3 entrées.
Inconvénient des tableaux de Karnaugh avec les fonctions OU exclusif :
Les tableaux de Karnaugh sont plus adaptés dans le cas ou les solutions les plus courtes utilisent des portes de type ET, OU, et des inverseurs. Dans le cas ou les équations se simplifieraient très bien à l'aide de portes NAND, NOR, EXOR ou EXNOR il est souvent difficile de le voir directement sur le tableau. Il est donc indispensable de connaître parfaitement les règles de base et celle de De Morgan. Dans l'exemple ci-contre, les regroupements ne font qu'une case, d'ou une équation complexe.
Il ne reste plus que les règles de l'algèbre de Boole. Soit :
image
Il suffit donc de 2 portes OU exclusif à 2 entrées (n'existe pas en 3 entrées).
Regroupements particuliers : Il faut toujours penser que le bord gauche du tableau rejoint le bord droit (comme si le tableau était enroulé sur un tube). De même le bord supérieur rejoint le bord inférieur). Ainsi dans l'exemple ci-contre, l'équation de Y correspond à : Y= !c
B) Autres normes de représentation des portes logiques.
C) Détermination de chronogrammes.
Il est indispensable de savoir construire les chronogrammes à la sortie des portes logiques élémentaires, connaissant ceux sur les entrées.
D) Détermination de fonction logique à partir des chronogrammes (Synthèse).
Il est indispensable de savoir déterminer les équations logiques par construction d'un tableau de Karnaugh à partir des chronogrammes. Il est alors possible de faire la synthèse du système logique et d'obtenir le logigramme correspondant (schéma).
E) Transformation en NAND ou en NOR.
E) Transformation en NAND ou en NOR.
Les équations obtenues à partir du tableau de Karnaugh font souvent apparaître des fonctions OU, ET et des inverseurs. Il faut alors de nombreux boîtiers de circuits intégrés pour réaliser la fonction logique, sachant que les fonctions logiques sont regroupées par 2 3 4 ou 6 fonctions identiques dans un même boîtier (Ex: 6 inverseurs dans un même boîtier, ou 4 portes à 2 entrées, ou 3 portes à 3 entrées, ou 2 portes à 4 entrées).
On transforme alors les équations pour ne conserver que des fonctions de même type (NAND ou NOR). Rem: (On cherche plutôt à minimiser le nombre de boîtiers).
Il faudra donc 4 portes NAND (1 par barre) ce qui correspond à 1 seul boîtier.
Rem: La transformation en NOR est identique en suprimant toutes les fonctions ET à l'aide des règles de De Morgan.
-------------------------------------------------------
Suivant >>> Séries d'exercices
On transforme alors les équations pour ne conserver que des fonctions de même type (NAND ou NOR). Rem: (On cherche plutôt à minimiser le nombre de boîtiers).
Il faudra donc 4 portes NAND (1 par barre) ce qui correspond à 1 seul boîtier.
Rem: La transformation en NOR est identique en suprimant toutes les fonctions ET à l'aide des règles de De Morgan.
-------------------------------------------------------
Suivant >>> Séries d'exercices
Article plus récent Article plus ancien