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.et la porte qui l'a générée aurait pu être supprimée. Néanmoins, cela reste une bonne affaire.
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
forme normale canonique
Source Worldlex Wiki
Langue Francais
Acces Gratuit