Brevet FR2516675A1 — publié le 19830520

L'invention se rapportea à une cellule d'addition binaire à :rois entrées et à propagation rapide de la retenue. Ce type de cellule d'addition à trois entrées et deux sorties est utilisé dans les additionneurs à retenuie à propagation série et dans les multiplieurs asynchrones comme cellule de base Les perfor- mances des additionneurs à retenue série dépendent de la vitesse d'établissement de la retenue Sion favorise, dans chaque cellule de base, l'établissement de la retenue par rapport à l'établissement de la somme, alors on améliorera les performances de l'additionneur au niveau des vitesses de calcul Pour ce qui est des multiplieurs asynchrones, il est possible d'obtenir des structures de imltiplieur spéciales per- mettant de réduire le nombre de temps de propagation des éléments bi- naires de somme; le temps de calcul total ne dépendra alors que du nombre de temps de propagation de la reteue dans les cellules de base, celles-ci étant supposées identiques Il sera done possible d'améliorer les performances d'un multiplieur asynchrone en favorisant, dans la cellule de base, la propagation des éléments binaires de retenue par rapport aux éléments binaires de somme. Pour déterminer le temps de calcul d'un multiplieur, il est nécessaire de connaître les temps que mettent les diverses informations pour traverser chaque cellule de base Si A, B et C sont les trois variables d'entrée d'une cellule de base et si R ef S sont les variables de sortie, R étant la retenue de sortie et S la some de sortie, on est donc amené à définir six temps de transfert d'entrée à sortie: T R) T(BR) 'T(C-R) ainsi que T (A+S)' T(BOS), et (CS) Pour améliorer les performances de rapidité de calcul d'un multiplieur, on sait qu'il est important de rendre le temps de transfert T(C R) de retenue à retenue le plus faible possible tout en conservant des temps de transfert de retenue à somme T(C S), de somme à somme T(B S) et de somme à retenue T(BC) qui ne soient pas prohibitifs compte tenu des possibi- lités d'amélioration de la vitesse de propagation des éléments somme par des utilisations de structures particulières ("Theory and application of digital signal processing" par Lawrence R Rabiner, Bernard Gold; PRENTICEHALL INC, I 975) La variable A étant supposée représenter les produits partiels de la multiplication du type xi Yj Y, la cellule recevant la variable binaire A X i Y représentant ces produits partiels pourra recevoir cette variable Ai dès que l'ensemble des éléments binaires {Xi} du multiplicande et l'ensemble des éléments binaires Yj} du multiplicateur auront eté mis en mémoire Les temps de transit de cette variable A, (A S) et T(A R) de produit partiel à somme et de produit partiel à retenue, pourront donc être plus élevés que les autres, du moins pour les cees de rang supérieur à un. Ainsi, un objet de la présente invention est-il de fournx une cellule d'addition binaire à propagation rapide de la retenue, à trois variables d'entrée (A et/ou A, B et/ou B et C ou C) et deux variables de sortie (R ou R et S ou S),réalisée suivant la technique des circuits intégrés à transistors MOS, dans laquelle une entrée rapide reçoit un élément binaire de retenue (C ou C), tandis que les deux autres entrées moins rapides reçoivent chacune une des deux autres informations d'entrée (A et/ou A, B et/ou B), celles-ci étant susceptibles d'être reçues avant l'élément binaire de retenue. Cet objet est réalisé en ce que l'intervalle de temps s'écoulant entre l'arrivée de ces deux informations d'entrée et l'arrivée de l'information de retenue d'entrée est mis à profit pour former, à l'aide d'un circuit de calcul intermédiaire recevant ces deux informa- tions d'entrée, la variable intermédiaire M = A À B et son complément M de telle sorte qu'au moment de l'arrivée de la retenue C ou de son complément C, il ne soit nécessaire que d'effectuer les calculs du type R = A M + C M ou R = A M + C M et S = C M + C M ou S = C M + C M. L'invention sera mieux comprise et d'autres caractéristiques apparaîtront à l'aide de la description ci-après et des dessins joints o: la figure 1 représente une cellule en U utilisée dans la cellule d'addition selon la présente invention; la figure 2 représente une cellule de régénération non inverseuse; la figure 3 représente une cellule de régénération inverseuse; la figure 4 représente une structure simple de multiplieur utilisant des cellules d'addition à trois entrées et deux sorties; la figure 5 représente une telle cellule d'addition; la figure 6 représente une cellule NON-ET; la figure 7 représente une cellule de calcul intermédiaire; la figure 8 représente une schématisation de cette cellule de cacul intermédiaire; la figure 9 représente une première cellule d'addition selon l'invention; la figure 10 représente une première variante de cette cellule d'addition; 166 iv 5 a figure 1 représente une deuxième variante de cette cellule d'addition la figure 2 représente une troisième variante de cette cellule d'addition; et la figure 13 représente un deuxième type de cellule d'addition selon l'invention. Sur la figure I est représenté un circuit en forme de U à deux branches I et 2 formant deux entrées, recevant les variables binaires P et Q, et une sortie, fournissant la variable binaire W La branche de gauche I est constituée d'un unique transistor MOS de transfert T' commandé par le complément Z de la variable binaire Z La branche de droite 2 est aussi constituée d'un unique transistor MOS de transfert Tw commandé par la variable binaire Z Si la variable binaire de commande Z est au niveau logique 1, Z étant au niveau logique 0, le transistor T conduit et le transistor T'W est bloqué La cellule produit alors à sa sortie une variable binaire W égale à la variable binaire d'entrée Q Inversement, si la variable Z est au niveau logique 0, son complément Z étant à l'état 1, la cellule en U produira à sa sortie une variable binaire W égale à la variable binaire d'entrée P Cette cellule en U réalise donc la fonction logique W P Z + Q Z Cependant, les résistances parasites des transistors MOS utilisés peuvent conduire, surtout dans le cas de mise en cascade d'un certain nombre de telles cellules, à des niveaux logiques qui ne soient pas suffisamment bien définis Il sera alors nécessaire d'effectuer une régénération de ces niveaux logiques après un certain nombre d'étages de ces cellules. L'inverseur I, placé à la sortie de la cellule en U,permet d'effectuer une telle régénération des niveaux et fournit une variable logique complémentée W dont les niveaux logiques sont bien définis. La figure 2 représente une cellule non inverseuse à deux entrées qui sera utilisée comme cellule de découplage entre ces deux entrées et la sortie Elle est constituée de deux transistors MOS Tla et T'la commandés respectivement par la variable A et par son complément A. Ces transistors sont branchés en série entre l'alimentation 3 et la masse 4 Si la variable d'entrée A est au niveau logique 1, la sortie de la cellule sera reliée à l'alimentation 3 à travers le transistor Tla rendu passant, T'l étant bloqué (A = 0), la sortie sera pratiquement au potentiel de l'alimentation et on aura Sl = 1 Si A = O (A = 1), la sortie sera alors reliée à la masse 4 à travers le transistor T'la et on aura S, = O Cette celluie r-aiise lonc la fonction logique 51 = A avec une impédance d'entrée pratiquement infinie. La figure 3 représente une cellule inverseuse à deux entrées qui sera utilisée comme cellule de découplage entre ces deux entrées et i a sortie Son principe de fonctionnement est identique à celui de la cellule précédente représentée à la figure 2 Elle réalise la fonction logique 52 = A avec une impédance d'entrée pratiquement infinie Ces deux cellules seront utilisées pour éviter les courants de rétrocouplage. La cellule d'addition à trois entrées et deux sorties selon la présente invention est réalisée à partir d'un assemblage de plusieurs de ces trois cellules classiques et de constatations faites sur la table de vérité d'un additionneur à trois entrées. La figure 4 représente une structure connue de multiplieur o les variables de retenue, fournies par les cellules de base telles celle représentée à la figure 5, se propagent de façon "diagonale" et o les variables de somme, fournies par ces cellules, se propagent de façon "verticale" La structure choisie est une structure simple Elle n'est donnée qu'à titre d'exemple d'application et pour permettre de mieux situer les problèmes que résout l'invention Les variables X et Y. constituent les éléments binaires du multiplicande et du multiplicateur respectivement de poids i et j Les produits partiels du type Xi Y sont réalisés par des cellules NON-ET du type de celle représentée à la figure 6 o les indices i et j ont été supprimés et le resteront dans les descriptions qui suivent de façon à ne pas alourdir les notations. C'est la cellule représentée sur la figure 6 qui fournit une variable binaire A = X Y à la cellule d'addition à trois entrées. C'est une fonction logique NON-ET connue réalisée en circuit MOS Elle est constituée du transistor Tx commandé par la variable X et du tran- sistor T commandé par la variable Y. Y Le fonctionnement de la cellule d'additionneur va maintenant être expliqué en se reportant à la table de vérité de l'addition de trois variables représentée ci-dessous: A B C S = A E B C R = AB + AC + CB M= A( B 0 0 0 0 0 0 = C O O O I t BR=A=B; S=C 0 0 l 1 0 0 0 1 0 1 0 I O l O l O l 0 1 I O I 1 i i IR=C; S=C I O O 1 O 1 R =C S I 0 I 0 1 1 l 1 0 0 I O RA= -C l O O O l l i l l i iÈ O SR=CA=B;SC o l'on a introduit une nouvelle variable M = A B B, à partir des deux variables d'entrée A et 3, susceptibles d'être disponibles à l'entrée de la cellule d'addition un certain temps avant l'arrivée de la retenue C. La variable A est destinée à représenter les produits partiels du type X Yj qui seront fournis à chaque cellule dès l'instant o les éléments binaires constituant le multiplicande {Xi} et le multipli- cateur {Y} auront été mis en mémoire La variable B est destinée à représenter une variable somme fournie par une des cellules d'addition traitant des éléments binaires de même poids Elle est telle que son arrivée précède celle de la retenue d'entrée qui sera fournie par une autre cellule de poids immédiatement inférieur La retenue C devra avoir un temps de transit le plus faible possible en particulier vers la sortie fournissant la retenue R. L'introduction de cette nouvelle variable M = A @ B permet de réécrire les expressions de la somme S et de la retenue R et de leurs compléments sous la forme S =C M+ C M ( 1) S =C M + C M ( 3) IR AM + C M ( 2) + M( 4) On reconnaît en R et S des variables binaires de la forme W = P Z + Q Z que l'on peut réaliser avec des cellules en U telles celle représentée à la figure 1, dont les temps de transit sont particulièrement courts et ne dépendent que des caractéristiques des transistors utilisés. La figure 7 représente une cellule double de calcul inter- médiaire de la variable M et de son complément M Ce type de cellule réalisé à partir de deux transistors MOS Tîm, T 2 m (ou T 3 m,T 4 m) fournit la variable logique FI = A e B (ou F 2 = A E B) On obtient donc la variable M en fournissant à la cellule de gauche constituée de tran- sistors Tl et T 2 m les variables binaires A et B On aura alors en sortie la variable F 1 = M On obtient la variable M en fournissant l'une des variables A ou B et le complément B ou A de l'autre On aura alors en sortie la variable F 2 = M La variable A est obtenue par un inverseur I m à partir de son complément A venant d'une cellule de produit partiel telle que celle de la figure 6 Cette cellule double de calcul 5 a été symbolisée à la figure 8 Elle fournit la variable M et son complément M et reçoit les variables A, A, B, 3; l'une parmi ces quatre n'est pas utilisée. L'ensemble des figures 8 et 9 représente une cellule d'addition du type à trois entrées, ou couples d'entrées, recevant les variables (A, A), (B, B),C ou C et deux sorties fournissant la re- r-; tenue R (eu son complément R) et la somme S (ou son complément S). * seuse (Tla, T'l) qui fournit une variable logique A "découplée" à la branche de gauche (T 1 R) de la première cellule en U (T 1 R, T 2 R) qui reçoit d'autre part sur sa branche de droite (T 2 R) la retenue d'entrie C et qui fournit la retenue de sortie R Les transistors MOS Ti R et T 2 R constituant cette cellule en U sont commandés respectivement par le complément M' de la variable M et par cette variable M,tous deux fournis par la cellule de calcul intermédiaire 5 Cette cellule comprend de *; plus une deuxième cellule en U (T 1 s, T 2 S) recevant sur sa branche de gauche (T 2 S) la variable compl 6 ment Ee C fournie par l'inverseur 1 à partir de la retenue d'entrie C et sur sa branche de droite (T 1 s) cette retenue d'entrée C Cette cellule en U fournit donc à sa sortie la variable binaire somme S qui servira "d'entrie B" pour une cellule sui- vante, c'est-à-dire attaquera une cellule du type calcul intermédiaire qui nécessite des niveaux logiques d'entrée bien définis Une rdgéné- ration des niveaux est réalisde par la cellule inverseuse I 2 recevant la somme S et fournissant le compliment S de cette somme. La figure 10 est une variante de la partie de cellule d'addition représentée à la figure 9 La première cellule en U (T'i R, T'2 R) reçoit ici le "omplément C de la retenue C sur sa branche de droite (T'2 R) et devra donc recevoir le complément A de la variable A sur sa branche de gauche lrelation ( 4)l Cette variable complimentée A est fournie par la cellule de régénération inver- seuse (T 2 a, T'2 a) recevant la variable A et son complément A La deu- xième cellule en U (Tls, T 2 S) avec son inverseur de régénération I 2 est identique à celle utilisée à la figure 9 et comporte aussi un inverseur I 2 Si l'on désire conserver le complément S de la somme S à la sortie de la cellule il est ici nécessaire, puisque la variable d'entrée est C et non C, d'utiliser une cellule inverseuse 1 sur la branche de droite (Tis) commandée par la variable complimentée M au lieu de l'utiliser sur la branche de gauche (T 2 S) commandée par la variable M. Que l'on dispose de la variable d'entrée C ou de son complément, on peut donc obtenir en sortie, soit la somme S, soit son complément S suivant la position de l'inverseur I 1. La cellule représentee à la figure 11 est une variante de celle représentée à la figure 9 La cellule de découplage _ ' la première cellule en U sont les mêmes, et permettent d'obtenir la retenue R. Cependant, la variable de retenue C est ici fournie, à la première cel- lule en U, par l'inverseur I 3, à partir du compliment C de la retenue reçue à l'entrée Disposant à la fois de C et de C, la somme S ou le complément S de cette somme sont obtenus de façon identique aux cellules précédentes à partir d'une deuxième cellule en U (T 1 s, T 2 S) avec régé- nération par un inverseur I 2 Le temps de transit de retenue complé- mentee d'entrée à retenue de sortie T(-CR) à variable M établie, est ici augmenté du temps de transit dans l'inverseur 13. La cellule représentée à la figure 12 est une variante de celle représentée à la figure 10 La cellule de découplage (T 2 a, T'2 a) et la première cellule en U sont'les mêmes et permettent d'obtenir le complément Y de la retenue; cependant, le complément C de la retenue est ici fourni par l'inverseur 13 à partir de la retenue d'entrée C. On peut aussi obtenir la somme S ou son complément S suivant le branche- ment des branches de la deuxième cellule en U à l'entrée et à la sortie de l'inverseur I 3 Le temps de transit de retenue à retenue complé- mentée (T(C R) est ici aussi augmenté du temps de transit dans l'inverseur I 3. La figure 13 représente une cellule d'addition particuliè- rement rapide du type à trois couples d'entrées recevant les variables (A; A), (B, B) et (C, C) et deux sorties ou couples de sortie fournissant les variables (R, R) et S ou S Elle peut être considérée au niveau de la formation de la retenue de sortie (R, R) comme formée de deux cellules imbriquées telles celle de la figure Il et celle de la figure 12 Le fait de disposer à l'entrée de la retenue d'entrée C et de son complément C permet d'éliminer l'inverseur 13 au niveau du cal- cul de la retenue et de la somme de sortie On a formé ici à l'aide de la deuxième cellule en U la variable W S soit W C M + C M de façon à obtenir en sortie la variable S Le transistor T 2 S commandé par la variable M reçoit donc la retenue d'entrée C et le transistor T 1 S com- mandé par le complément M de la variable M reçoit donc le complé- ment C de la retenue d'entrée Les temps de transit de retenue à retenue T(C _R) et T() ne dépendent alors que des caractéristiques des transistors T 2 R et T' 2 R Les temps de transit de retenue à T 2 R 2 R' somme t(C S) et de retenue complémentée à somme (ou complément de la somme) T(c S) ne dépendent que des caractéristiques des transistors T 1 is et T 2 S et de l'inverseur 12. Cependant les résistances parasites des transistors T 2 R et T'2 R de transit de la retenue peuvent conduire, au bout d'un certain nombre de cellules logiques en cascade, à des valeurs des retenues de sortie dont les niveaux logiques soient mal définis Il sera alors nécessaire de rajouter des cellules d'inverseurs 13 et 14 permettant de régénérer la retenue R et son complément R Les sorties sont alors croisées si on veut retrouver dans l'ordre la retenue R et son complé- ment R Une telle cellule, dans laquelle il est possible d'obtenir la somme de sortie S ou son complément S et la retenue R ou son complément R, quellesqu'aient étélesentréesfournies (la variable ou son complément), sans retarder le transit des informations par l'introduction systématique d'inverseurs,est particulièrement commode pour réaliser des multiplieurs asynchrones rapides et favoriser le transit rapide des informations "retenue" vers les sorties en éliminant le maximum d'inverseurs. Bien entendu, les exemples de réalisation décrits ne sont nullement limitatifs de l'invention. REVENDICATIONS T Cellule d'addition binaire à propagation rapide de la retenue, à trois variables d'entrée (A et/ou A, B et/ou B et C ou C) et leux variables de sortie (R ou R et S ou S),réalisée suivant la technique des circuits intégrés à transistors MOS, dans laquelle une entree rapide reçoit un élément binaire de retenue (C ou C), tandis que les deux au- tres entrées moins rapides reçoivent chacune une des deux autres infor- mations d'entrée (A et/ou A, B et/ou B), celles-ci étant susceptibles d'être reçues avant l'élément binaire de retenue, caractérisée en ce que l'intervalle de temps s'écoulant entre l'arrivée de ces deux informations et l'arrivée de la retenue est mis à profit pour former à l'aide d'un circuit de calcul intermédiaire ( 5), recevant ces deux informations d'entrée, la variable intermédiaire M A À B et son complément M de telle sorte qu'au moment de l'arrivée de la retenue C ou de son complé- ment C, il ne soit nécessaire que d'effectuer les calculs du type R = A M + C M ou R = XAM + C Met S: CM= C M ou S C M + CM. 2 Cellule d'addition binaire selon la revendication 1, caractérisée en ce que la cellule de calcul intermédiaire ( 5) élaborant la variable intermédiaire M et son complément M est constituée de deux cellules identiques comprenant chacune deux transistors MOS (Tlm, T 2, T 3 m, T 4 m) dont les grilles sont commandées chacune par une des deux variables d'entrée susceptibles d'être présentes avant la variable de retenue d'entrée C, le drain de l'un étant relié à la grille de l'autre, et dont les sources sont connectées ensemble et reliées à l'alimenta- tion ( 3) par l'intermédiaire d'une résistance de charge (r 1; r 2) et constituent la sortie fournissant une fonction logique (F 1; F 2) égale respectivement à la variable M pour la cellule recevant les variables non complémentées (A, B) et à la variable M pour la cellule recevant l'une des variables d'entrée (B) et le complément de l'autre (A)par l'intermédiaire d'un inverseur (I). m 3 Cellule d'addition binaire selon l'une des revendications I ou 2, caractérisée en ce que les calculs du type R = A M + C M ou R A M + C M sont réalisés à l'aide d'une première cellule en U compor- tant deux transistors de transfert (TIR, T 2 R; T'IR, T'2 R), le pre- mier (Ti R; T' IR) recevant sur son entrée la variable A ou son complé- ment A et étant commandé par le complément M de la variable intermédiaire M, le second (T 2 R; T'2 R) recevant sur son entrée la variable C ou son complément C, et étant commandé par la variable M, la variable R ou son complément R étant alors formé sur leur sortie commune. - - I: 2516675 f I 4 Cellule d'addition binaire selon l'une quelconquedes reven- Jt dications 1 " 3, caractérisée en ce que les calculs du type S = C M + C I ou S = C M + C M sont réalisés à l'aide d'une deuxième cellule en U f comportant deux transistors de transfert (T Is, T 2 S) le premier (T 1 s I 5 recevant sur son entrée la variable C ou son complément C et étant t commandé par le complément M de la variable intermédiaire M, le If second (T 2 s) recevant sur son entrée le complément C de la variable C ou I cette variable C et étant commandé par la variable M, la variable S o I son complément S étant alors formé sur leur sortie commune. I 10 5 Cellule d'addition binaire selon l'une quelconque des f{ revendications 1 à 4, caractérisée en ce que l'on ajoute un circuit r; inverseur (I 2) à la suite de la deuxième cellule en U (T 1 s, T 25) pour obtenir un niveau logique parfaitement défini. 6 Cellule d'addition binaire selon l'une quelconque des l 15 revendications 1 à 5, caractérisée en ce qu'elle comprend une cellule f: de découplage non inverseuse (T la, T'la), fournissant la variable "découplée" A au premier transistor (T 1 R) de la première cellule en U, quand le second transistor (T 2 R) reçoit la retenue d'entrée C. 7 Cellule d'addition binaire selon l'une quelconque des revendications 1 à 5, caractérisée en ce qu'elle comprend une cellule de découplage inverseuse (T 2 a, T'2 a), fournissant la variable "décou- plée" complémentée A au premier transistor (T'i R) de la première cellule en U, quand le second transistor (T'2 R) reçoit le complément C de la retenue d'entrée - 8 Cellule d'addition binaire selon l'une quelconque des revendications l'à 7, caractérisée en ce qu'elle comporte un inver- seur (I 3) interposé entre l'entrée recevant la retenue d'entrée C, ou son complément C, et le second transistor (T 2 R, T'2 R) de la première cellule en U (T 1 R, T 2 R; T'1 R T' 2 R), et en ce que la deuxième cellule en U (T 1 s, T 2 S) reçoit respectivement sur son premier et son second transistor cette variable d'entrée (C ou) et le complément (C ou C) de cette variable d'entrée, fourni à la sortie de cet inverseur ( 13), ou vice-versa. 9 Cellule d'addition binaire comprenant une première cellule d'addition selon la revendication 6, comportant une cellule de décou- plage non inverseuse et une première cellule en U,recevant la retemnue d'entrée C et fournissant la retenue de sortie R, et une deuxième cellule d'addition selon la revendication 7, comportant une cellule de découplage à*-',"- "-e Il inverseuse e une première cellule en U, recevant le complément C de la retenue d'entrée et fournissant le complément R de la retenue de sortie, caractérisée en ce qu'elle comprend une deuxième cellule en U (Tis, T 25) unique qui reçoit sur sa première branche, constituée d'un premier transistor (Tis) commandé par le complément M de la variable intermé- diaire, la retenue d'entrée C, ou son complément C, et qui reçoit sur sa deuxième branche, constituée d'un second transistor (T 2 S) commandé par la variable intermédiaire M, le complément C de cette retenue d'entrée, ou cette retenue d'entrée, selon que l'on désire obtenir à la sortie de l'inverseur (I 2) de sortie de ladite deuxième cellule en U, le complé- ment S de la somme de sortie, ou cette somme de sortie. rr r