Brevet FR2546317A1 — publié le 19841123

ADDITIONNEUR A STRUCTURE D'AIGUILLAGE La pressente invention concerne les additionneurs binaires et plus particulièrement la constitution dwun additionneur élémentaire destine à faire partie d'un réseau d'additionneurs. Cette invention est notamment applicable dans un multiplieur binaire dont la structure comporte un réseau de plusieurs rangées successives d'additionneurs élémentaires. Il existe de nombreux schémas électriques d'additionneurs binaires élémentaires ayant deux entres de variables binaires, une entrée de retenue, une sortie somme et une sortie de retenue. Ces schémas sont constitués avec des portes logiques, par exemple ET, OU et OU-Exclusif, ou encore NOR et NAND etc. Chacune de ces portes nécessite, pour sa réalisation en technologie MOS (Metal-Oxyde-Semiconducteur) par exemple, plusieurs transistors interrupteurs et au moins un transistor de charge qui est nécessairement de dimensions géométriques relativement importantes et qui consomme une puissance non negligeable L'implantation de ces additionneurs usuels sur un substrat semiconducteur occupe donc une surface importante. De plus, les schémas ne se traduisent pas par une structure régulier de transistors, ce qui nuit à la compacité de l'implantation donc encore à la réduction de l'encombrement. La présente invention propose une nouvelle structure d'additionneur qui minimise le nombre de transistors de charge et la consommation, et qui a une structure particulièrement régulière faciliant l'implantation du circuit sur un substrat semiconducteur, et permettant d'obtenir une compacité élevée donc un encombrement réduit. De plus, cette structure est conçue de manière à obtenir simultanément, donc avec des temps de propagation égaux entre les entrées et les sorties de l'additionneur, le résultat de la somme et de la retenue de l'addition effectuée. Ce dernier point permet une adaptation particulièrement facile de cet additionneur à une structure de multiplieur dans laquelle les sommes et les retenues des additionneurs d'un étage sont transmises directement à l'étage suivant (sauvegarde de retenue), alors que dans un étage d'additionneurs pris isolément, la retenue issue d'un additionneur est transmise à l'entrée de retenue de l'additionneur de poids immédiatement supérieur du même étage. Un des buts de l'invention est donc d'obtenir un additionneur dans lequel les temps de propagation de la somme et de la retenue sont égaux, ce qui évite notamment de concevoir des étages de propagation accélérée de la retenue, étages qui introduiraient une consommation de puissance élevée. Four atteindre ces divers buts, la présente invention propose un additionneur élémentaire comprenant deux entrées de variables à additionner et une entrée de retenue, un inverseur pour chacune de ces entrées, un premier aiguillage commande par les deux entrées de variables et les sorties des inverseurs correspondants, cet aiguillage ayant deux entrées de signaux a aiguiller reliées à ltentree de retenue et à la sortie de l'inverseur correspondant, et ayant une sortie reliée a une sortie somme de l'additionnneur, et un second aiguillage commande par les mêmes signaux que le premier, ayant trois entrées de signaux à aiguiller qui sont reliées à la sortie de l'inverseur de l'entée de retenue, à un niveau logique 0 et à un niveau logique 1 respectivement, ce second aiguillage ayant une sortie reliée à la sortie de retenue de l'additionneur Chaque aiguillage peut comporter quatre groupes (car il y y a quatre signaux de commande complementaires deux a deux) de deux transistors interrupteurs en série, chaque groupe éeant relié entre un point de liaison commun aux quatre groupes et une des entrées de l'aiguillage. Le point de liaison commun aux quatre groupes du premier aiguillage est relie par un inverseur à la sortie somme de 11 additionneur. Celui du deuxième aiguillage est relié par un inverseur à la sortie retenue. D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la description détaillée qui suit et qui est faite en référence aux dessins annexés dans lesquels - la figure 1 représente un schéma-bloc de l'additionneur de l'invention - la figure 2 en représente une réalisation détaillée - la figure 3 représente une variante de réalisation. Le schémasch@ma schémasch@ma bloc de l'additionneur élémentaire de l'invention, visible à la figure 1, comporte - une première entrée (A) pour une première variable binaire a, - une deuxième entrée (B) pour une deuxième variable binaire b, - une troisième entrée (C) pour une retenue c d'une addition précédente, - une sortie somme S fournissant le poids inférieur du résultat a + b + e de l'addition des signaux d'entrée, - une sortie retenue R fournissant la retenue de l'addition, c'est à dire le poids supérieur du résultat a + b + c ;; - un premier inverseur la, relié à la première entrée A et fournissant le complément a* de la première variable a, - un deuxième inverseur Ib, relié à la deuxième entrée B et fournissant le complément b* de la deuxième variable b, v - un troisième inverseur le, relie a la troisieme entres C et fournissant le complément c* de la retenue d'entrez c. - un premier aiguillage AIG1, - un second aiguillage AIG2. Les deux aiguillages (qu'on peut considérer aussi comme des multiplexeurs asynchrones), possèdent chacun quatre entrées de commande d'aiguillage reliées respectivement à la première entrée A, à la sortie de l'inverseur correspondant la, à la seconde entrée B, et à la sortie de l'inverseur correspondant lb, ceci aussi bien pour le premier que pour le second aiguillage. Le premier aiguillage AIGi possède deux entrées de signal à aiguiller respectivement reliées à l'entrée de retenue C et à la sortie de l'inverseur correspondant Ic ; il possède une sortie reliée à la sortie somme S de l'additionneur pour aiguiller sur cette sortie soit la retenue d'entrée c (pour deux conr binaisons des variables d'entrée a et b), soit le complément c* de cette retenue (pour les deux autres combinaisons possibles des variables d'entrée a et b). Le second aiguillage AIG2 possède trois entrées de signal à aiguiller, respectivement reliées à la sortie de l'inverseur Ic de l'entrez de retenue, à un niveau logique 0, et à un niveau logique 1 ; il possède une sortie reliée à la sortie de retenue R de l'additionneur pour fournir sur cette sortie soit la retenue d'entrée c, pour deux combinaisons des deux variables d'entrée a et b, soit un niveau logique 1, ou un niveau logique 0, respectivement pour chacune des autres combinaisons possibles des variables d'entree a et b. On verra que les aiguillages possèdent un inverseur de sortie qui explique notamment que le deuxième aiguillage fournisse sur la sortie R la retenue d'entrée c alors que c'est son complément c* qui est appliqué à l'entrée de l'aiguillage. Le schema-bloc de l'additionneur étant ainsi décrit, il reste à en décrire le fonctionnement et les réalisations particulières. Le fonctionnement normal est le suivant. En désignant par S et R non seulement les sorties somme et retenue mais aussi les valeurs binaires apparaissant sur ces sorties, on peut dresser le tableau d'aiguillage suivant où a et b sont les commandes d'aiguillage (avec a* et b*) et où S et R représentent les signaux aiguillés sur les sorties de même nom a=O b=O S=c R=O a = O b = 1 -S = c* R = c a = 1 b = O S = c* R = c atl b=l S=c R=l Cette table de vérité, qui permet de définir la structure interne des deux aiguillages est la table de vérité d'un additionneur. La réalisation détaillée de l'additionneur, et surtout des aiguillages, est représentée à la figure 2. Les inverseurs la, Ib, le sont très classiques et comportent chacun un transistor interrupteur en série avec un transistor de charge. Chaque aiguillage comporte quatre groupes de deux transistors interrupteurs en série, chaque groupe étant relié entre une entrée de l'aiguillage et un point commun de liaison (S' pour le premier aiguillage, R' pour le second). Le point commun de liaison S' du premier aiguillage est relié par un inverseur à la sortie somme S de l'additionneur ; le point commun R' du second aiguillage est relie par un autre inverseur à la sortie retenue R de l'additionneur. Ces inverseurs comportent chacun un transistor interrupteur, un transistor de charge. Les groupes de transistors en série des aiguillages sont agences de la manière suivante 1) aiguillage AIG1 - premier groupe, recevant c*, composé d'un transistor commandé par a et un transistor commande par b, - deuxième groupe, recevant également c*, compose d'un transistor commandé par a*, l'autre par b*, - troisième groupe7 recevant c, composé d'un transistor commande par a, l'autre par b*, - quatrième groupe, recevant également c, compose d'un transistor commande par a* l'autre par b, 2) aiguillage AIG2 - premier groupe, recevant ci, compose d'un transistor commande par a, l'autre par b*, - deuxième groupe, recevant également c*, compose d'un transistor commande par a*, l'autre par b, - troisième groupe, recevant un niveau O (tension Vss en logique positive), composé d'un transistor commandé par a, l'autre par b, - quatrième groupe, recevant un niveau 1 (tension Vdd) > composé d'un transistor commandé par a*, l'autre par b*. On peut vérifier que cette structure définit, compte tenu des inverseurs de sortie des aiguillages, un aiguillage des entrées vers les sorties tel qu'on aboutisse à la table de vérité d'une addition, définie plus haut. L'additionneur ainsi réalisé comporte cinq inverseurs et un réseau compact et régulier de seize transistors interrupteurs. La symétrie de structure des aiguillages conduit à une vitesse de propagation identique vers les deux sorties S et R de l'additionneur. A la figure 3, on a représenté une variante de réalisation, utilisable notamment dans certains réseaux d'additionreurs, par exemple dans un multiplieur. Dans un tel réseau, on peut très bien coupler les additionneurs entre eux par des liaisons qui ne véhiculent pas exactement les valeurs a, b, c, S et R mais par exemple certaines de ces valeurs et les compléments des autres. Par exemple, si l'additionneur doit effectuer l'addition a + b + c = (R, S), on peut imaginer que l'on introduit les variables a, b* > c* (et non a, b, c comme a la figure 2) ; on peut aussi imaginer que l'on obtient en sortie S et R* (et non S, R). Dans l'ensemble du réseau, cela peut ne pas avoir d'importance du fait que la sortie R* sera par exemple toujours couplée a une entrée c* d'un autre additionneur. Cependant cela change la structure interne des aiguillages de l'additionneur. La figure 3 montre un schéma correspondant à cette situation. Par rapport au schéma de la figure 2, on doit simplement modifier les commandes des transistors de certains tran slstors pour aboutir à une nouvelle table de vérité a b* c* S R* O O O o O O 1 O l 1 1 0 0 1 0 1 1 0 0 0 O 0 1 1 1 0 1 1 0 1 1 0 1 0 0 1 1 1 1 1 qui est l'equivalent exact de la table de vérité d'une addition normale. a b c S R O O O O O 0 1 0 1 0 1 0 0 1 0 1 1 0 0 1 O 0 1 1 O 0 1 1 0 1 1 0 1 0 1 1 1 1 1 1 REVENDICATIONS 1. Additionneur élémentaire, comprenant deux entrées (A et B) de variables (a et b) et une entrée (C) de retenue (c), caractérisé en ce qu'il comprend un inverseur (Ia, Ib, Ic) pour chacune de ces entrées, un premier aiguillage (AIG1) commandé par les deux entrées de variables (A et B) et les sorties des inverseurs correspondants (Ia et Ib), cet aiguillage recevant comme signaux à aiguiller le signal d'entrée de retenue (c) et son complément (c*), et ayant une sortie relie à une sortie somme (S) de l'additionneur, et un second aiguillage (AIG2) commandé par les mêmes signaux (a et b, a* et b*) que le premier, et recevant comme signaux à aiguiller le complément du signal d'entrée de retenue (c*), un niveau logique O et un niveau logique 1, ce second aiguillage ayant une sortie reliée à la sortie retenue (R) de l'additionneur. 2. Additionneur élémentaire, notamment pour un réseau d'additionneurs d'un multiplieur binaire, comprenant une première entrée (A) pour une première variable binaire (a), une deuxième entrée (B) pour une deuxième variable binaire (b), une troisième entrée (C) pour une retenue (c) d'une addition précédente, une sortie somme (S) et une sortie retenue (P), caractérisé en ce que l'additionneur est composé - d'un premier inverseur (la) relie à la première entrée (A) pour fournir le complement (a*) de la première variable a, - d'un second inverseur (lob) pour fournir le complément (b*) de la seconde variable (b), - d'un troisième inverseur (le) pour fournir le complément (c*) de la retenue d'entrée (c) de l'additionneur, - d'un premier aiguillage (AIG1) qui possède quatre entrées de commande qui sont respectivement reliées aux première et seconde entrées (A et B) et aux sorties des inverseurs correspondants (Ia et Ib), et deux entrées de signal à aiguiller qui sont respectivement reliées à l'entrée de retenue (C) et à la sortie de l'inverseur correspondant (Ic), ce premier aiguillage ayant une sortie reliée à la sortie somme (S) de l'additionneur pour aiguiller sur cette sortie soit la retenue d'entrée (pour deux combinaisons des deux variables d'entrée a et b) soit le complément de cette retenue (pour les deux autres combinaisons possibles des deux variables d'entrée a et b), - d'un second aiguillage (AIG2) qui possède quatre entrées de commande qui sont les mêmes que celles du premier aiguillage, et trois entrées de signal à aiguiller qui sont respectivement reliées a la sortie de l'inverseur de l'entrez de retenue (Ic), à un niveau logique O et à un niveau logique 1, ce deuxième aiguillage ayant une sortie reliée à la sortie retenue (R) de l'additionneur pour fournir sur cette sortie soit la retenue d'entrée, pour deux combinaisons des deux variables d'entrée, soit un niveau logique 1 ou un niveau logique O respectivement pour chacune des deux autres combinaisons possibles des deux variables d'entrée. 3. Additionneur éiémentaire selon l'une des revendications 1 et 2, caractérisé en ce que chaque aiguillage comporte quatre groupes de deux transistors interrupteurs en série, chaque groupe étant relie entre un point de liaison commun (S', R') à tous les groupes et une des entrées de l'aiguillage. 4. Additionneur élémentaire selon l'une des revendications 1 à 3, caracterise en ce que le point de liaison commun (S') des groupes de transistors du premier aiguillage (AIG1) est relie par un inverseur à la sortie somme (S) de l'additionneur et en ce que le point de liaison commun (R') des groupes de tran sisters du second aiguillage est relie par un inverseur à la sortie retenue (R) de l'additionneur.