Article de reference

forme normale canonique

Cet article présente une vision incomplète du sujet . ( Apprenez comment et quand supprimer ce message ) En algèbre de Boole , toute fonction booléenne peut être exprimée sous f...

  • Cet article présente une vision incomplète du sujet .
( Apprenez comment et quand supprimer ce message )

En algèbre de Boole , toute fonction booléenne peut être exprimée sous forme normale disjonctive canonique ( FNDC ), forme canonique minterme , ou somme de produits ( SOP ) , qui est une disjonction (OU) de mintermes. Le dual de De Morgan est la forme normale conjonctive canonique (FNCC), forme canonique maxterme, ou produit de sommes (POS ) , qui est une conjonction ( ET ) de maxtermes . Ces formes peuvent s'avérer utiles pour la simplification des fonctions booléennes, ce qui est crucial pour l'optimisation des formules booléennes en général et des circuits numériques en particulier.

Parmi les autres formes canoniques, on peut citer la somme complète des implicants premiers ou forme canonique de Blake (et sa duale), et la forme normale algébrique (également appelée Zhegalkin ou Reed-Muller).

Mintermesvariablesminterme est un terme produit dans lequel chacun desexactement une fois (sous sa forme complémentée ou non). Un minterme est donc une expression logique de n variables qui utilise uniquement l'opérateur de complément et l'opérateur de conjonction ( ET logique ). Un minterme vaut vrai pour une seule combinaison des variables d'entrée, soit la plus petite combinaison non triviale. Par exemple, a b c est vrai uniquement lorsque a et c sont tous deux vrais et b est faux ; la combinaison a = 1, b = 0 et c = 1 donne 1.

indexation des mintermes

Il existe 2 <sup> n </sup> mintermes de n variables, car une variable dans l'expression minterme peut être sous sa forme directe ou sa forme complémentée — deux choix par variable. Les mintermes sont souvent numérotés par un codage binaire du schéma de complémentation des variables, celles-ci étant écrites dans un ordre standard, généralement alphabétique. Cette convention attribue la valeur 1 à la forme directe (2 = 6 10 et désigné

forme canonique de Minterm

Étant donné la table de vérité d'une fonction logique, il est possible d'écrire cette fonction comme une « somme de produits » ou une « somme de mintermes ». Il s'agit d'une forme particulière de la forme normale disjonctive . Par exemple, étant donné la table de vérité du bit de somme arithmétique u d'une position logique d'un circuit additionneur, en fonction de x et y, les termes de l'addition, et de la retenue d'entrée ci :

Constatant que les lignes ayant une sortie de 1 sont la 2e, la 3e, la 5e et la 8e, nous pouvons écrire u comme une somme de mintermes.

Maxterms variablesmaxterme est une somme où chacune des variables qui utilise uniquement l'opérateur de complément et l'opérateur de disjonction ( OU logique ). Les maxtermes sont le dual du concept de minterme, suivant la symétrie complémentaire des lois de De Morgan . Au lieu d'utiliser les opérateurs ET et complément, on utilise les opérateurs OU et complément, et le raisonnement est similaire. Il est clair qu'un maxterme est faux pour une seule combinaison des variables d'entrée, c'est-à-dire qu'il est vrai pour le nombre maximal de possibilités. Par exemple, le maxterme a + b + c est faux uniquement lorsque a et c sont tous deux vrais et b est faux — la configuration d'entrée où a = 1, b = 0, c = 1 donne 0.

Indexation maxterms

Il y a à nouveau 2 <sup> n </sup> maxtermes de et 1 à la forme complémentaireM 6 . Le complément

Forme canonique de Maxterm

Si l'on dispose de la table de vérité d'une fonction logique, il est possible d'écrire cette fonction comme un « produit de sommes » ou un « produit de maxtermes ». Il s'agit d'une forme particulière de la forme normale conjonctive . Par exemple, si l'on dispose de la table de vérité du bit de retenue de sortie co d'une position de bit dans la logique d'un circuit additionneur, en fonction de x et y provenant des termes d'addition et de la retenue d'entrée ci :

Constatant que les lignes ayant une sortie de 0 sont la 1re, la 2e, la 3e et la 5e, nous pouvons écrire co comme un produit de maxtermes.

L'évaluation pour les 8 combinaisons des trois variables correspondra au tableau.

Formulaires de points de vente et de procédures opérationnelles minimales

Il arrive souvent que la forme minterme canonique soit équivalente à une forme SoP plus simple. Cette forme plus simple consiste toujours en une somme de termes produits, mais avec moins de termes produits et/ou des termes produits contenant moins de variables. Par exemple, la fonction à 3 variables suivante :

possède la représentation canonique des mintermesformes SoP minimales . En général, il peut exister plusieurs formes SoP minimales, aucune n'étant clairement plus petite ou plus grande qu'une autre. De même, une forme maxterme canonique peut être réduite à diverses formes PoS minimales.

Bien que cet exemple ait été simplifié en appliquant des méthodes algébriques normales [

Exemple d'application

Les exemples de tables de vérité pour les mintermes et les maxtermes ci-dessus permettent d'établir la forme canonique d'un bit dans l'addition de nombres binaires, mais ne suffisent pas à concevoir la logique numérique, sauf si votre stock de portes logiques inclut les portes ET et OU. Lorsque les performances sont un facteur critique (comme pour l'ordinateur de guidage Apollo), les composants disponibles seront plus probablement des portes NAND et NOR, en raison de la complémentarité inhérente à la logique transistorisée. Les valeurs sont définies comme des états de tension : l'un proche de la masse et l'autre proche de la tension d'alimentation continue Vcc , par exemple +5 Vcc. Si la tension la plus élevée est définie comme la valeur « vraie », une porte NOR est l'élément logique utile le plus simple.

Plus précisément, une porte NOR à 3 entrées peut être constituée de 3 transistors bipolaires dont les émetteurs sont reliés à la masse, les collecteurs étant connectés entre eux et reliés à Vcc par une impédance de charge. Chaque base est connectée à un signal d'entrée, et le collecteur commun fournit le signal de sortie. Toute entrée à l'état haut (1) sur sa base court-circuite l'émetteur du transistor à son collecteur, ce qui provoque la circulation d'un courant à travers l'impédance de charge et ramène la tension de collecteur (la sortie) très près de la masse. Ce résultat est indépendant des autres entrées. Ce n'est que lorsque les 3 signaux d'entrée sont à l'état bas (0) que les impédances émetteur-collecteur des 3 transistors restent très élevées. Dans ce cas, le courant est très faible et l'effet diviseur de tension dû à l'impédance de charge impose au collecteur une tension élevée très proche de Vcc .

La propriété de complémentarité de ces circuits de portes peut sembler un inconvénient lorsqu'on essaie d'implémenter une fonction sous forme canonique, mais il existe un avantage compensatoire : une telle porte avec une seule entrée implémente la fonction de complémentarité, qui est fréquemment requise en logique numérique.

Cet exemple suppose l'inventaire des pièces d'Apollo : uniquement des portes NOR à 3 entrées, mais la discussion est simplifiée en supposant que des portes NOR à 4 entrées sont également disponibles (dans Apollo, celles-ci étaient composées de paires de portes NOR à 3 entrées).

Conséquences canoniques et non canoniques des portes NOR

Un ensemble de 8 portes NOR, si leurs entrées sont toutes les combinaisons des formes directes et complémentaires des 3 variables d'entrée ci, x et y , produit toujours des mintermes, jamais des maxtermes — c'est-à-dire que, parmi les 8 portes nécessaires pour traiter toutes les combinaisons de 3 variables d'entrée, une seule a la valeur de sortie 1. C'est parce qu'une porte NOR, malgré son nom, pourrait mieux être considérée (en utilisant la loi de De Morgan) comme le ET des compléments de ses signaux d'entrée.

La raison pour laquelle cela ne pose pas de problème est la dualité des mintermes et des maxtermes, c'est-à-dire que chaque maxterme est le complément du minterme indexé de la même manière, et vice versa.

Dans l'exemple de minterme ci-dessus, nous avons écrit

Dans l'exemple du maxterme ci-dessus, nous avons écrit

Compromis de conception pris en compte en plus des formes canoniques

On pourrait supposer que la conception de l'étage d'addition est maintenant terminée, mais nous n'avons pas abordé le fait que les trois variables d'entrée doivent apparaître sous leurs formes directe et complémentaire. Les termes x et y ne posent aucun problème à cet égard, car ils sont statiques pendant toute l'addition et sont donc généralement stockés dans des circuits de verrouillage qui possèdent couramment des sorties directes et complémentaires. (Le circuit de verrouillage le plus simple, composé de portes NOR, est une paire de portes couplées en croix pour former une bascule : la sortie de chaque porte est câblée comme entrée de l'autre.) Il n'est pas non plus nécessaire de calculer le complément de la somme u . Cependant, la retenue de sortie d'un bit doit être transmise comme retenue d'entrée du bit suivant, sous ses formes directe et complémentaire. La méthode la plus simple consiste à faire passer co à travers une porte NOR à une entrée et à nommer la sortie co , mais cela introduirait un délai de porte au pire endroit possible, ralentissant la propagation des retenues de droite à gauche. Une porte NOR supplémentaire à 4 entrées, construisant la forme canonique de co (à partir des mintermes opposés à co ), résout ce problème.

Le compromis nécessaire pour maintenir la pleine vitesse de cette manière inclut un coût imprévu (en plus de l'utilisation d'une porte logique plus grande). Si nous avions simplement utilisé cette porte à une entrée pour compléter co , le minterme aurait été inutile.

Nous aurions pu implémenter ces fonctions exactement selon leurs formes canoniques SoP et PoS, en transformant des portes NOR en les fonctions spécifiées. Une porte NOR devient une porte OR en faisant passer sa sortie par une porte NOR à une entrée ; et elle devient une porte AND en faisant passer chacune de ses entrées par une porte NOR à une entrée. Cependant, cette approche augmente non seulement le nombre de portes utilisées, mais double également le nombre de délais de propagation des signaux, divisant ainsi la vitesse de traitement par deux. Par conséquent, lorsque la performance est cruciale, il est judicieux d'aller au-delà des formes canoniques et d'effectuer les opérations booléennes nécessaires pour que les portes NOR non améliorées remplissent la fonction.

Conception descendante vs conception ascendante

Nous avons vu comment les outils minterm/maxterm permettent de concevoir un étage additionneur sous forme canonique, enrichi de quelques opérations d'algèbre booléenne, pour un coût de seulement deux temps de propagation par sortie. Il s'agit de l'approche « descendante » pour concevoir le circuit numérique de cette fonction, mais est-ce la meilleure ? La discussion s'est concentrée sur l'identification du critère « le plus rapide » comme critère « le meilleur », et la forme canonique augmentée répond parfaitement à ce critère. Cependant, d'autres facteurs peuvent parfois prévaloir. Le concepteur peut avoir pour objectif principal de minimiser le nombre de portes logiques et/ou le nombre de sorties des signaux vers d'autres portes, car un nombre élevé de sorties réduit la robustesse face à une alimentation dégradée ou à d'autres facteurs environnementaux. Dans ce cas, le concepteur peut développer la conception sous forme canonique comme base, puis essayer un développement ascendant, et enfin comparer les résultats.

Le développement ascendant consiste à constater que u = ci XOR ( x XOR y ), où XOR signifie OU exclusif (vrai si au moins une entrée est vraie, mais faux si les deux le sont), et que co = ci x + xy + y ci . Un tel développement utilise douze portes NOR : six portes à deux entrées et deux portes à une entrée pour produire u en cinq délais, puis trois portes à deux entrées et une porte à trois entrées pour produire co en deux délais. La conception de référence utilise huit portes NOR à trois entrées et trois portes NOR à quatre entrées pour produire u, co et co en deux délais. Si le circuit comprend effectivement des portes NOR à quatre entrées, la conception de référence descendante s’avère plus performante en termes de nombre de portes et de vitesse. Mais si (contrairement à notre hypothèse de facilité) les circuits sont en réalité des portes NOR à 3 entrées, dont deux sont nécessaires pour chaque fonction NOR à 4 entrées, alors la conception canonique utilise 14 portes contre 12 pour l'approche ascendante, tout en produisant le chiffre de la somme u considérablement plus rapidement. Le tableau comparatif des taux de charge est présenté ci-dessous :

La description du développement ascendant mentionne co comme sortie, mais pas co . Ce circuit n'a-t-il donc jamais besoin de la forme directe de la retenue ? En réalité, oui et non. À chaque étape, le calcul de co dépend uniquement de ci , x et y , ce qui signifie que la propagation de la retenue se fait aussi rapidement le long des bits que dans le circuit classique, sans jamais calculer co . Le calcul de u , qui nécessite que ci soit calculé à partir de ci par une porte NOR à une entrée, est plus lent, mais pour toute longueur de mot, ce surcoût n'est supporté qu'une seule fois (lors du calcul du bit de somme le plus à gauche). En effet, ces calculs se chevauchent, chacun dans son propre pipeline, sans incidence sur le calcul du bit de somme suivant. De plus, la valeur de co en sortie du bit le plus à gauche devra probablement être complémentée dans le cadre de la logique déterminant un éventuel dépassement de capacité lors de l'addition. Mais en utilisant des portes NOR à 3 entrées, la conception ascendante est presque aussi rapide pour effectuer une addition parallèle sur une longueur de mot non triviale, réduit le nombre de portes et utilise des charges de branchement plus faibles... elle gagne donc si le nombre de portes et/ou la charge de branchement sont primordiaux !

Nous laissons au lecteur intéressé le soin de détailler le circuit exact de la conception ascendante qui sous-tend toutes ces affirmations, en s'appuyant sur une formule algébrique supplémentaire : u = ci ( x XOR y ) + ci ( x XOR y ) ] . Le découplage de la propagation de la retenue de la formation de la somme de cette manière est ce qui confère à un additionneur à anticipation de retenue des performances supérieures à celles d'un additionneur à propagation de retenue .

Application dans la conception de circuits numériques

L'algèbre booléenne trouve notamment son application dans la conception de circuits numériques, avec pour objectif de minimiser le nombre de portes logiques et le temps de réponse.

Il existe seize fonctions possibles de deux variables, mais dans le matériel logique numérique, les circuits de portes les plus simples n'en implémentent que quatre : la conjonction (ET), la disjonction (OU inclusif) et leurs compléments respectifs (NAND et NOR).

La plupart des circuits de portes acceptent plus de 2 variables d'entrée ; par exemple, l' ordinateur de guidage spatial Apollo , qui a été le pionnier de l'application des circuits intégrés dans les années 1960, a été construit avec un seul type de porte, une porte NOR à 3 entrées, dont la sortie est vraie uniquement lorsque les 3 entrées sont fausses.

Plus d articles de Worldlex Wiki

Revenez a l index pour explorer davantage de pages sur l histoire, la science, la culture, la geographie et la societe en francais.

Explorer l index