Brevet FR2505581A1 — publié le 19821112

La présente invention concerne un compteur parallèle en circuit intégré à transistors MOS, à N entrées et n+ 1 sorties et une application de ce compteur à la réalisation d'un additionneur binaire. La réalisation d'un additionneur permettant d'additionner un grand nombre d'éléments binaires en parallèle est particulièrement intéressante dans le domaine de la réalisation d'un multiplieur o il est nécessaire d'additionner en parallèle plusieurs éléments binaires représentant les produits partiels de même poids En logique MOS, c'est- à-dire dans le cadre de circuits logiques intégrés utilisant des tran- sistors MOS, il est habituel d'utiliser des additionneurs trois entrées et deux sorties Les problèmes de propagation de la retenue et les algorithmes permettant de remédier aux retards introduits par le temps nécessaire à la propagation de la retenue sont bien connus Cependant, l'information logique devra de toute façon transiter par un certain nombre de portes, généralement des portes OU exclusif, comprenant chacune plusieurs de ces transistors MOS, et la rapidité en sera d'autant plus affectée. Ainsi, un objet de la présente invention est-il de réaliser un compteur à N entrées et n+ 1 sorties, o, dans chaque étage, l'informa- 23:: ans e tiavers un seul transistor MOS, recevant N variables binaires sur ses N entrées et dans lequel seule la sortie dont le rang correspond au nombre de variables binaires au niveau logique I fournit un signal au niveau logique 1. Il existe des compteurs parallèles de ce type, à N entrées et n+ 1 sorties, à base de logique à relais Ces compteurs sont formés à partir d'une disposition du type "arborescence" Chaque contact à deux positions, commandé par un relais donné, aiguille une information logique dans l'une ou l'autre des branches qu'il est chargé de gérer. Tous les contacts d'un même niveau de l'arbre sont commandés par un même relais, lui-même étant commandé par une des N variables d'entrée. Cependant, les problèmes dans ces logiques à relais sont différents de ceux utilisant des logiques MOS, ne serait-ce que par les rapidités différentes, et il en est de même des contraintes imposées à de tels circuits, telles par exemple que les nécessités de "mise à la masse" pour obtenir un zéro logique. Ainsi, dans la présente invention, cet objet est réalisé par le fait que ce compteur est constitué d'un réseau de cellules élémen- taires en V, comportant chacune deux entrées et une sortie dont la branche de droite comporte un transistor MOS commandé par une variable binaire et dont la branche de gauche comporte un deuxième transistor MOS commandé par le complément de cette variable, ces cellules étant disposées suivant un réseau de forme triangulaire tronquée, la première ligne étant constituée de deux telles cellules élémentaires commandées par la première variable d'entrée et ayant leurs entrées en regard reliées électriquement, la deuxième ligne, commandée par la deuxième variable d'entrée, étant constituée d'une cellule de plus que la première ligne, ces cellules ayant leurs entrées en regard reliées, ces entrées doubles étant reliées aux sorties correspondantes de ème m l'étage précédent, la i ligne, commandée par la ième variable d'entrée, étant constituée de i+l cellules, dont les entrées en regard sont reliées et constituent i entrées doubles reliées aux i sorties correspondantes de la ligne précédente, et dont les i+l sorties numé- rotées de gauche à droite de O à i sont reliées aux i+l entrées doubles correspondantes de la ligne suivante, le nième niveau, commandé par la nième variable d'entrée, comportant n+l sorties correspondant aux n+l sorties du compteur, l'entrée double de la première ligne de cellules recevant le niveau logique 1, et toutes les entrées simples des cellules de toutes les lignes recevant le niveau logique 0, de sorte que seule la sortie, dont le numéro est égal au nombre de variables d'entrée au niveau logique 1, est elle-même au niveau logique 1, les autres étant au niveau O. 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 I représente une cellule élémentaire en V à transistor MOS la figure 2 représente une schématisation pratique de la cellule selon la figure I; la figure 3 représente un réseau de cellules constituant un compteur à quatre entrées et cinq sorties; la figure 4 représente une variante de la figure 3 dans le cas d'un compteur à trois entrées et son utilisation dans un additionneur binaire; et la figure 5 représente un compteur selon la figure 3 avec régénération par circuit inverseur. Sur la figure I,est représentée une cellule élémentaire en V non symétrique utilisant des transistors MOS de transfert identiques sur chaque branche mais dont le premier, T 1, placé sur la branche oblique du V ou branche de droite, est commandé par la variable binaire Z, et dont l'autre, T 2, placé sur la branche verticale du V ou branche de gauche, est commandé par le complément Z de cette variable binaire 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 2 est bloqué La cellule reproduira alors en U la variable binaire X Inver- sement, si la variable Z est au niveau logique 0, la cellule reproduira en U la variable binaire Y Cependant, ce transfert d'éléments binaires d'une des entrées vers la sortie s'effectue avec une certaine déforma- tion due aux capacités et résistances parasites du transistor MOS Si l'on désire placer, à la suite les unes des autres, plusieurs de ces cellules, il sera nécessaire de régénérer de façon régulière les sorties de ces cellules Ceci peut s'effectuer à l'aide d'un circuit inverseur I dont la sortie est alors de façon sûre sur l'un des niveaux logiques O ou 1. Sur la figure 3, est représenté un compteur parallèle, à 4 entrées E et 4 + 1 sorties S, selon l'invention Celui-ci est cons- titué à partir de cellules élémentaires, telle celle représentée sur la figure 2, disposées suivant un réseau de forme triangulaire tronqué La première ligne de cellules au premier étage est constituée de deux telles cellules commandées par la variable binaire d'entrée A: les branches obliques des V sont commandées par la variable A et les branches verti- cales sont commandées par le complément A de cette variable Les entrées en regard des cellules de la première ligne sont électriquement reliées et constituent une entrée dite entrée double 10, au point de connexion 10 de rang O et de ligne 1 Les autres entrées 1 et Il constituent les entrées simples: le rang de l'entrée 1 n'est pas comptabilisé et l'entrée Il est une entrée simple de ligne 1 et de rang 1 Les points de connexion 20 et 21, qui constituent les sorties de la première ligne ainsi que les entrées doubles de la seconde ligne, sont désignés par un nombre dont le chiffre des unités représente le rang et le chiffre des dizaines représente le numéro de la ligne dont ils sont les entrées La deuxième ligne, commandée de la même façon par la deuxième variable d'entrée B, est constituée d'une cellule de plus que la première ligne. Les entrées en regard de chacune de ces cellules sont reliées et cons- tituent des entrées doubles 20 et 21; les entrées simples 2 et 22 de deuxième ligne sont de rang non comptabilisé pour la première et de rang 2 pour la seconde Les sorties de la deuxième ligne 30, 31, 32 sont numérotées de O à 2 (O, I et 2 constituant le rang de la sortie). Chaque ligne comportant une cellule élémentaire de plus que la précédente, la quatrième et dernière ligne comporte donc six entrées, dont quatre entrées doubles 40, 41, 42, 43 et deux entrées simples 4 et 44, et cinq sorties 50, 51, 52, 53, 54 de rang O à 4. L'entrée double unique 10 de la première ligne de cellules élémentaires reçoit le niveau logique Émet toutes les entrées simples des cellules de toutes les lignes reçoivent le niveau logique 0, de sorte que si toutes les variables binaires d'entrée sont à l'état 0, alors toutes les sorties de cellules de rang O sont à l'état I et toutes les autres sorties de cellules de rang supérieur ou égal à 1 sont à l'état 0. Le fonctionnement du compteur à quatre entrées peut alors être expliqué de la façon suivante. Si aucune des variables d'entrée n'est à l'état 1, le niveau logique I fourni en 10, ainsi que les niveaux logiques O fournis en 11, 22, 33, 44, vont être transmis verticalement sans changement de rang la sortie O sera donc à l'état 1, les sorties SI, 52, 53, 54, de rang supérieur, seront à l'état 0 Chaque fois qu'une variable &'entrée supplémentaire est à l'état 1, la ligne de cellules correspondante décalera le I logique, ainsi que tous les O logiques, situés à sa gauche, d'un rang vers la gauche Cette même ligne de cellules introduira aussi, par l'intermédiaire de l'une des entrées 1, 2, 3, 4, un niveau O supplémentaire qui sera transmis vers la sortie, avec ou sans changement de rang dans des lignes ultérieures et permettra de mettre à O toutes les sorties de rang inférieur au nombre de variables d'entrée à l'état 1. Si on considère la première cellule de la première ligne, dont les entrées sont 1 et 10 et la sortie 20 fournissant la variable binaire U et la deuxième cellule de la première ligne, dont les entrées sont 10 et Il et la sortie 21 fournissant U 21, toutes deux commandées par la variable binaire A, on constate que les variables sur les sorties s'écrivent O A + 1 A 5 _ U 21 = 1 A + OA = A On peut donc supprimer ces deux premières cellules et envoyer directe- ment en 20 et 21 respectivement A et A On obtient alors, en se limitant à trois entrées, le compteur binaire F représenté sur la figure 4 dans le cadre de son utilisation dans un additionneur ( 3, 2) à trois entrées et deux sorties utilisant le compteur à trois entrées et quatre sorties F et quatre portes NON-OU Pl à P 4 qui fournissent l'élément binaire somme S et l'élément binaire de retenue R de l'addition des trois variables d'entrée A, B, C, ainsi que leurs compléments S et R Il est possible de réaliser tout type d'additionneur ( 3, 2), ( 4, 3), ( 5, 3), ( 6, 3), ( 7, 3), certains, tels que ( 3, 2) et ( 7, 3), étant utilisés de façon optimale ou "saturée". Sur la figure 5, est représenté un compteur à N entrées et n+ 1 sorties avec une régénération des niveaux chaque fois que l'infor- mation a traversé trois cellules Ce nombre relativement faible de trois cellules a été choisi pour simplifier la représentation, mais le nombre k de lignes à partir duquel il est nécessaire d'introduire une régénération peut être supérieur On réalise une régénération des niveaux logiques grâce à une ligne supplémentaire G de portes inver- seuses Au-delà de cette ligne, les entrées simples des cellules extrêmes devront recevoir un niveau logique I si elles recevaient un niveau O aux lignes précédentes et inversement Un nombre pair de telles lignes supplémentaires doit être rajouté entre la première ligne et la sortie du comnpteur si l'on ne désire pas que les sorties du compteur soient complémentées Ce compteur à N entrées et n+ 1 sorties peut évidemment être utilisé dans le cadre d'un additionneur à N entrées en généra- lisant le principe du décodage utilisé pour le compteur à trois entrées de la figure 4. Bien que la présente invention ait été décrite dans le cadre d'exemples de réalisation particuliers, il est clair qu'elle n'est pas limitée auxdits exemples et qu'elle est susceptible de modifications ou de variantes sans sortir de son domaine En particulier, on pourrait utiliser des lignes de cellules en V commandées par des variables- auxquelles est affecté un poids de 2 u unités Celles-ci devraient faire effectuer aux informations binaires un saut de u rangs moyennant une adaptation du nombre de sorties et du nombre de mises à la masse. 250558 1 REVENDICATIONS 1 Compteur parallèle à N entrées et n+ 1 sorties numérotées de O à N en circuit intégré, utilisant des transistors MOS de transfert, recevant N variables binaires sur ses N entrées et dans lequel seule la sortie dont le rang correspond au nombre de variables binaires au niveau logique I fournit un signal au niveau logique 1, caractérisé en ce que ce compteur est constitué d'un réseau de cellules élémentaires en V comportant chacune deux entrées et une sortie dont la branche de droite comporte un transistor MOS (T 1) commandé par une variable binaire (Z) et dont la branche de gauche comporte un deuxième transistor MOS (T 2) commandé par le complément (Z) de cette variable (Z), ces cellules étant disposées suivant un réseau de forme triangulaire tronquée, la première ligne étant constituée de deux telles cellules élémentaires commandées par la première variable d'entrée (A) et ayant leurs entrées en regard reliées électriquement, la deuxième ligne, commandée par la deuxième variable d'entrée (B), étant constituée d'une cellule de plus que la première ligne, ces cellules ayant leurs entrées en regard reliées, ces entrées doubles ( 20, 21) étant reliées aux sorties corres- pondantes de l'étage précédent, la ième ligne, commandée par la ième variable d'entrée, étant constituée de i+ 1 cellules, dont les entrées en regard sont reliées et constituent i entrées doubles reliées aux i sorties correspondantes de la ligne précédente, et dont les i+l sorties numérotées de gauche à droite de O à i sont reliées aux i+ 1 entrées doubles correspondantes de la ligne suivante, le nième niveau, commandé par la nième variable d'entrée, comportant n+l sorties corres- pondant aux n+l sorties du compteur, l'entrée double ( 10) de la première ligne de cellules recevant le niveau logique I et toutes les entrées simples des cellules de toutes les lignes recevant le niveau logique 0, de sorte que seule la sortie, dont le numéro est égal au nombre de variables d'entrée au niveau logique 1, est elle-même au niveau logique 1, les autres étant au niveau 0. 2 Compteur parallèle selon la revendication 1, caractérisé en ce que la première ligne, constituée de deux cellules élémentaires, est supprimée, et en ce que la première entrée double en partant de la droite reçoit le complément de la première variable logique d'entrée (A), et la deuxième entrée double reçoit cette variable logique (A). 3 Compteur parallèle selon l'une des revendications I ou 2, caractérisé en ce qu'au-delà d'un certain nombre k de lignes, et toutes les k lignes, une ligne supplémentaire d'inverseurs (G) est intercalée entre la ligne k et la ligne k+l, toutes les entrées simples, au-delà de la ligne k, recevant alors le niveau logique 1 si elles recevaient le niveau logique O et inversement. 4 Additionneur binaire comportant un compteur parallale selon l'une quelconque des revendications 1 à 3, caractérisé en ce qu'il comprend un dispositif de décodage (Pl à P 4) des n+l sorties dudit compteur (E) pour fournir les éléments binaires (S, R) de la somme des N variables d'entrée. 5 Additionneur binaire selon la revendication 4, caractérisé en ce qu'il est constitué de portes NON-OU (Pl à P 4) dont les entrées sont reliées aux sorties convenables du compteur et dont les sorties fournissent les éléments binaires (S, R) de la somme.