Brevet FR2583182A1 — publié le 19861212

ADDITIONNEUR A PROPAGATION DE RETENUE AVEC PRECHARGE L'invention concerne un additionneur logique réalisé en technologie MOS (métal-oxyde-semiconducteur). Un additionneur logique est constitué par plusieurs cellules élémentaires, chaque cellule réalisant l'addition de deux chiffres binaires (bits) de même rang des nombres binaires à additionner; plus précisément, étant donné que le résultat de l'addition de deux bits de même rang dépend non seulement de ces deux bits mais aussi de la retenue de l'addition des deux bits de rang précédent, une cellule C. de rang j comporte deux entrées A. et B. pour les bits a. j j J et b. de rang j des nombres A et B à additionner, une entrée Pj J j-I pour la retenue rj -1 de l'addition de rang précédent, une sortie somme S. qui fournit le résultat s. de l'addition de rang j, et une j J sortie retenue R. qui fournit la retenue r. de cette addition. L'entrée j j de retenue R de la cellule de rang j est directement reliée à la j-I sortie de retenue (également désignée par Rj-1) de la cellule de rang immédiatement précédent j-l. Pour réaliser un additionneur rapide, il est connu d'utiliser un schéma tel que celui de la figure 1. Ce schéma présente comme particularité le fait que l'on n'effectue pas à proprement parler un "calcul" de la retenue r. de l'addition a.+b.+r. 1 en fonction des valeurs binaires de aj, b. et r. j j j-I J j-1 car ce calcul prendrait le temps complet d'une addition et retarderait le moment où la retenue r. serait disponible à la sortie de la cellule pour le calcul de l'addition de rang suivant. Au contraire on effectue une propagation rapide de la retenue rj 1 de l'entrée Rj-1 vers la sortie R., à chaque fois que le calcul laisse prévoir que la retenue r. doit être identique à la retenue rj-1. 1 Or on constate que rj=rj 1 chaque fois que a.=b., c'est-à-dire si J J l'une des deux données est égale à O et l'autre à 1. Au contraire si a.=b.=O r. sera toujours égale à 0, tandis que si aj=bj=1, rj sera JJ J Jj J toujours égale à 1. C'est pourquoi le schéma de la figure 1 comporte: - un transistor T1 interposé entre l'entrée Rj 1 et la sortie Rj ~ ce transistor est commandé par une porte OU-exclusif G1 recevant a. et b. pour propager rj-1 1 à la sortie lorsque a.=b. J JJ - un transistor T2 relié entre une ligne de masse Vss (niveau logique 0) et la sortie Rj; oe transistor est commandé par une porte NOR G2 recevant a. et b. pour établir une retenue r.=O lorsque J J J IJ - un transistor T3 relié entre une ligne d'alimentation Vdd (niveau logique 1) et la sortie R.; oe transistor est commandé par une porte ET G3 pour établir une retenue r.=l lorsque aj=bj=l. J JJ Pour le calcul de la somme sj, il est facile de montrer qu'on peut se servir de la sortie de la porte OU-exclusif G1 pour établir sur la sortie Sj le résultat correct de l'addition. En effet, une table de vérité de l'addition logique montrerait immédiatement que sj=rj-l JJ justement lorsque aj=bj ctest-à-dire lorsqu'il y a propagation de retenue, et que sj=r; 1dans le cas contraire, c'est-à-dire lorsqu'il n'y a pas propagation de retenue. Par conséquent, la sortie de la porte OU-exclusif G1 commande directement un autre transistor T4, tandis que la même sortie, inversée par un inverseur Il commande un autre transistor T5.Les transistors T4 et T5 ne sont jamais conducteurs simultanément. L'un (T4) transmet à un inverseur I2 l'état de l'entrée Rj-1 ; l'autre (T5) transmet au même inverseur I2 état, inversé à travers un inverseur I3, de l'entrée Rj-1; la sortie de l'inverseur I2 constitue la sortie somme S. de la cellule d'addition. Dans la technique antérieure, on a également proposé un autre schéma de cellule d'addition, représenté à la figure 2. La différence avec le schéma de la figure 1 réside dans l'omission de la porte ET G3 et du transistor T3 (figurés en pointillés sur la figure 2) et dans l'adjonction d'un transistor T6 entre l'alimentation Vdd et la sortie de retenue R.. Ce transistor est rendu conducteur par un signal PCH pendant une phase de précharge; au cours de cette phase de précharge, la sortie de retenue R. est systèmatiquement portée à l'état logique 1, car le schéma se fonde sur l'idée qu'il est plus rapide de faire passer un conducteur de l'état 1 à l'état 0 (en logique positive) que le contraire.A la fin de la phase de précharge le transistor T6 se bloque; la sortie R. prend la valeur r. 1 Si a.=b. car j j-i j j- le transistor T1 devient conducteur; ou alors la sortie R. prend la valeur 0 si a.=b,=O car alors le transistor T1 reste bloqué mais le transistor T2 se met à conduire; ou enfin la sortie Ri garde la valeur de précharge et reste en haute impédance à l'état logique 1 si aucune des deux situations précédentes ne se présente c'est-à-dire si a.=b.=l. Ceci explique qu'on ait pu supprimer la porte ET G3; en Jj effet, même sans cette porte, du fait de la précharge, on obtient bien r.=l lorsque a.=b.=l. j jj Ce schéma de la figure 2 est donc très intéressant puisque non seulement la précharge améliore la rapidité de réponse de la cellule (la précharge a lieu pendant que les données à additionner ne sont pas encore disponibles sur les entrées de la cellule), mais en outre elle permet de supprimer la porte G3. Malheureusement, la demanderesse s'est aperçue que ce schéma ne fonctionnait bien que si l'additionneur travaille à une fréquence élevée, c'est-à-dire si les opérations d'addition (précharge puis addition) se succèdent rapidement. Car dans le cas où le résultat r. est égal à 1, l'information de niveau logique haut sur la sortie R. risque de se perdre si un intervalle de temps trop grand a lieu entre deux phases de précharge successives; en effet, seul l'isolement en haute impédance de la sortie R. permet de conserver le niveau logique haut; mais cet isolement n'est pas parfait et le potentiel de la sortie R. va baisser progressivement en faisant disparaître l'information exacte. Le schéma ne fonctionnera donc pas à très basse fréquence. Pour permettre le fonctionnement à basse fréquence, la solution normale est de remettre la porte G3 et le transistor T3 de la figure 1: ainsi le maintien du niveau logique 1 sur la sortie R. est assuré lorsque a.=b.=l ; c'est pourquoi la porte G3 et le transistor T3 jj ont été représentés en pointillés sur la figure 2. La présente invention propose un schéma d'additionneur qui permet un fonctionnement rapide avec précharge aussi bien à fréquence élevée qu'à fréquence basse ou même en régime statique, et ceci en évitant de rajouter une porte (telle que G3 > qui a l'inconvénient d'être encombrante et de constituer une charge supplémentaire sur les entrées A. et Bj qui sont déjà chargées par les portes G1 et G2. La cellule d'addition selon l'invention comprend comme dans la technique connue deux entrées de données à additionner, une entrée de retenue, une sortie somme et une sortie retenue, avec un premier transistor, de commande de propagation de retenue, entre l'entrée de retenue et la sortie de retenue, une porte OU-exclusif recevant les données et commandant le transistor de propagation de retenue, une porte NOR recevant les données et commandant un deuxième transistor relié entre la sortie de retenue et une ligne de niveau logique bas, un troisième transistor, de précharge, relié entre une ligne de niveau logique haut et la sortie de retenue et commandé par un signal de précharge, et un inverseur à la sortie de la porte OUexclusif.Cette cellule est caractérisée en ce qu'un quatrième transistor est connecté entre la ligne d'alimentation de niveau logique haut et la sortie de retenue, ce transistor étant commandé par la sortie de l'inverseur et ayant un rapport largeur de canal/ longueur de canal largement inférieur à celui du second transistor. Par exemple le deuxième transistor a une longueur de canal de 3 à 4 micromètres et une largeur de 30 micromètres, le quatrième transistor a une longueur de canal de 16 micromètres et une largeur de 4 micromètres. On rappelle que la longueur de canal est la dimension du canal mesurée dans la direction de la source vers le drain, tandis que la largeur est la dimension dans le sens perpendiculaire à la précédente. 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: - les figures 1 et 2 déjà décrites représentent une cellule d'addition selon l'invention, - la figure 3 représente le schéma d'une cellule selon l'invention. La figure 3 comporte rigoureusement les mêmes éléments que la figure 2, à l'exoeption du transistor T3 et de la porte G3. De plus, on a rajouté un élément supplémentaire qui est le transistor T7 connecté entre la ligne d'alimentation Vdd (niveau logique 1) et la sortie de retenue R.. Le transistor T7 est commandé par la sortie de l'inverseur Il et est donc rendu conducteur lorsque a.=b. donc Jj lorsqu'il n'y a pas propagation de retenue de l'entrée R 1 vers la sortie Rj. Le schéma fonctionne de la manière suivante: dans la phase de précharge (signal PCH rendant conducteur le transistor T6), la sortie de retenue R. est systématiquement portée au niveau logique haut par le transistor T6; à la fin de la phase de précharge, l'addition a lieu et les différentes situations qui peuvent se produire sont les suivantes: 1 / aj=bj; ; il doit y avoir propagation de retenue; la porte G1 rend conducteurs les transistors T1 et T4 les autres transistors sont bloqués (notamment T7). La sortie de retenue R. prend le niveau de j l'entrée de retenue Rj 1 La sortie de somme S. prend le niveau r.-l. J J C'est ce qui est désiré. 2 / a.=b.=0; il ne doit pas y avoir propagation de retenue mais jJ r. doit prendre la valeur 0 et s. doit p#rendre la valeur r. 1 . C'est bien j j ce qui se passe pour s. grSce à la mise en conduction du transistor T5; en ce qui concerne r. on se trouve en présence d'un conflit entre le transistor T7 conducteur qui tend à tirer la sortie R. vers le potentiel haut Vdd et le transistor T2 également conducteur qui tend à tirer la sortie R. vers le potentiel bas Vss.Ce conflit est tranché très nettement en faveur du transistor T2 grâce au rapport élevé qui existe entre la conductance du transistor T2 (canal court et large) et celle du transistor T7 (canal long et étroit). existe entre la conductance du transistor T2 (canal court et large) et celle du transistor T7 (canal long et étroit). 3-/ a.=b.=l ; il ne doit pas y avoir propagation de retenue mais r. doit prendre la valeur 1 et s. la valeur C'est bien ce qui se j J ~ passe pour s. grâce à la mise en conduction du transistor T5 ; en ce qui concerne rj, le transistor T2 est bloqué et le transistor T7 est conducteur et maintient la sortie R. au potentiel haut auquel elle a été portée pendant la phase de précharge. 1l y a donc bien maintenant un maintien statique de r. à la valeur 1 dans le cas a.=b.=î, grâce au transistor T7. ll nwy a plus de risque de perte jj d'information par mauvais isolement de la ligne R.. Le schéma peut donc fonctionner à basse fréquence ou en régime statique, ainsi qu'à haute fréquence. De plus, non seulement le rapport des conductances des transistors T2 et T7 est choisi élevé, mais plus précisément le transistor T7 a une conductance suffisamment faible pour que la consommation statique de courant dans les transistors T2 et T7 (lorsqu'ils sont simultanément conducteurs) soit négligeable. Par exemple le transistor T7 a un canal de longueur 16 micromètres et de largeur 4 micromètres, d'où il résulte un courant statique (sous 5 volts) qui est de l'odre de 30 microampères. Le transistor T2 peut avoir une longueur de canal de 4 micromètres et une largeur de 30 micromètres. REVENDICATION Cellule d'addition comportant deux entrées (A., B.) de données j additionner, une entrée (R. j à additionner, une entrée (Rj 1) de retenue, une sortie somme (S.) fournissant le résultat de l'addition, et une sortie de retenue (R.) fournissant la retenue de l'addition, avec un premier transistor (T1) de commande de propagation de retenue, interposé entre l'entrée de retenue et la sortie de retenue, une porte OU-exclusif (G1) recevant les données à additionner et commandant le premier transistor, une porte NOR (G2) recevant les données à additionner et commandant un deuxième transistor (T2) relié entre la sortie de retenue (R.) et une ligne de niveau logique bas (Vss), un troisième transistor (T6) de précharge, relié entre une ligne de niveau logique haut (Vdd) et la sortie de retenue (R.) et commandé par un signal de précharge (PCH), et un inverseur (Il) à la sortie de la porte OU-exclusif (G1), cellule caractérisée en ce qu'elle comporte un quatrième transistor (T7) connecté entre la ligne d'alimentation de niveau logique haut (Vdd) et la sortie de retenue, ce transistor étant commandé par la sortie de l'inverseur (I1) et ayant un rapport largeur de canal/ longueur de canal largement inférieur à celui du deuxième transistor (T2).