FR2540261A1 - Multiplieur parallele en circuit integre mos du type pipe-line - Google Patents

Multiplieur parallele en circuit integre mos du type pipe-line Download PDF

Info

Publication number
FR2540261A1
FR2540261A1 FR8301322A FR8301322A FR2540261A1 FR 2540261 A1 FR2540261 A1 FR 2540261A1 FR 8301322 A FR8301322 A FR 8301322A FR 8301322 A FR8301322 A FR 8301322A FR 2540261 A1 FR2540261 A1 FR 2540261A1
Authority
FR
France
Prior art keywords
line
multiplier
bits
multipliers
binary
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
FR8301322A
Other languages
English (en)
Inventor
Pierre Girard
Claude Paul Henri Lerouge
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Laboratoire Central de Telecommunications SA
Original Assignee
Laboratoire Central de Telecommunications SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Laboratoire Central de Telecommunications SA filed Critical Laboratoire Central de Telecommunications SA
Priority to FR8301322A priority Critical patent/FR2540261A1/fr
Publication of FR2540261A1 publication Critical patent/FR2540261A1/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/53Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
    • G06F7/5306Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel with row wise addition of partial products
    • G06F7/5312Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel with row wise addition of partial products using carry save adders
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/386Special constructional features
    • G06F2207/3876Alternation of true and inverted stages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/386Special constructional features
    • G06F2207/388Skewing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/386Special constructional features
    • G06F2207/3884Pipelining

Abstract

L'invention concerne un multiplieur parallèle en circuit intégré MOS du type pipe-line. Le multiplieur parallèle comporte un réseau classique de lignes et de colonnes de données distribuant les éléments binaires de multiplicande X0 à X3 et de multiplicateur Y0 à Y3. A ce réseau de données, est associé un réseau de multiplieurs élémentaires Pmn, m, n = 0 à 3 fournissant leurs produits partiels XnYm à des cellules d'addition sigma mn, m = 1 à 3 et n = 0 à 2 à trois entrées et deux sorties. Il comporte en outre un additionneur à prévision de retenue ("carry look-ahead") sigma0 à sigma 2. Ce réseau classique comporte cependant des inverseurs supplémentaires NR, NR 0 à NR 3, ainsi que NE, NE 0 à NE 3 et NS 1 à NS 6 qui sont utilisés comme mémoires dynamiques. Le transfert des informations de l'entrée à la première ligne ou d'une ligne à l'autre est réalisé à travers des transistors MOS T1,1 à T1,4 et T2,1 à T2,4 sous la commande respectivement de la première phase phi 1 et de la deuxième phase phi 2 d'un signal d'horloge. L'invention s'applique aux multiplieurs parallèles en circuit intégré MOS du type pipe-line. (CF DESSIN DANS BOPI)

Description

L'invention se rapporte à un multiplieur parallèle en circuit intégré MOS du type pipe-line.
Les multiplieurs parallèles réalisés en circuit intégré MOS sont bien connus et sont largement décrits dans la littérature. Ils sont, en particulier, décrits dans un article du journal "Philips Journal of Research" volume 36, nO 3 de 1981, pages 173 à 194 intitule : "Compact
NMOS array multipliers with inverting full adders", de N.F. Benschop et L.C.M. Pfennings. Cependant, cet article propose de plus d'effectuer un "pipe-lining" de ce multiplieur, c'est-à-dire de gérer la progression des informations. Il s'agit, dans la version la plus sophistiquée décrite, de doter les cellules d'addition à trois entrées et deux sorties ("full adders") utilisées de deux bascules à verrouillage ("latch") commandées par un signal d'horloge à double phase. Le transfert des informations, d'une ligne à la suivante, se fait alors sous la commande de cette horloge.Il est ainsi possible de réaliser, simultanément, avec le même matériel, plusieurs multiplications. Les éléments binaires relatifs à chacune des opérations sont alors fournis les uns à la suite des autres avant que le résultat de chacune de ces opérations ne soit donné. Une telle pratique, bien qu'introduisant, au niveau de chaque cellule d'addition, des retards supplémentaires dus au mode de commande choisi, de type synchrone, et au temps de transit de chaque bascule à verrouillage,permet, avec un même matériel, d'obtenir une plus grande puissance de calcul. Cependant, cet avantage n'est exploité que s'il est vraiment nécessaire de réaliser successivement un grand nombre de multiplications.
Un tel type de multiplieur nécessite l'adjonction, au multiplieur parallèle classique, d'un grand nombre de basculeshverrouil- lage : en fait deux par cellule d'addition, une pour la sortie somme et une pour la sortie de retenue. La complexité du système et donc son coût en sont très sensiblement accrus.
D'autre part, certains registres à décalage, dits de type dynamique, utilisent, pour contrôler le décalage des informations, des transistors MOS disposés le long du parcours que doit effectuer l'infor- mation binaire et commandés l'un par la première phase 1 et l'autre par la deuxième phase 2 d'une horloge de synchronisation à deux phases 1 et 2 sans recouvrement. L'information binaire est alors stockée de façon "dynamique" dans des inverseurs situés entre deux de ces transistors MOS successifs, commandés par des phases d'horloge différentes.
Ainsi la présente invention se propose de fournir un multiplieur à commande de type synchrone, et donc qui permette aussi d'effectuer le calcul simultané de plusieurs multiplications, mais qui ne nécessite pas l'introduction de bascules à verrouillage, et qui soit donc plus rapide et moins coûteux que le multiplieur décrit dans l'article cité, ce multiplieur utilisant, comme dans le cas des registres à décalage dynamique, des éléments à mémoire dynamique. Ce multiplieur parallèle, réalisable en circuit intégré MOS, est du type permettant de réaliser la multiplication d'un multiplicande X = \ ... X ... X1 XO par un multiplicateur Y = YM ... Y ... Y1 Y
m 1 O respectivement à
N+1 et M+1 éléments binaires distribués sur respectivement N+1 colonnes et M+1 lignes de données.Il comporte (M+1)(N+1) multiplieurs élémentaires Pmn, disposés suivant M+1 lignes et N+1 colonnes associées aux lignes et colonnes de données. Chaque ligne permet de réaliser les N+1 multiplications partielles correspondant au produit partiel d'un élément binaire du multiplicateur par tous les éléments binaires du multiplicande.
Chacun de ces multiplieurs élémentaires, sauf ceux de la première ligne recevant l'élément binaire XO et ceux de la dernière colonne recevant l'élément binaire YM, est associé à une cellule d'addition à trois entrées et deux sorties Emn qui reçoit, de ce
mn multiplieur élémentaire sa variable produit partiel X Y , de la cellule
n m d'addition Em 1 n située directement au-dessus son élément binaire de retenue R et de la cellule d'addition diagonalement supérieure #m-1 n+1, ou éventuellement, si m = 1 ou n = N-1, du multiplieur élémentaire diagonalement supérieur P n+1 > son élément binaire de somme S, respectivement son produit partiel X +1 Y 1.Ce multiplieur comporte de plus N cellules d'addition supplémentaires formant un additionneur série, destiné à collecter les dernières retenues recevant, de la dernière ligne d'indice M, toutes les variables binaires fournies et fournissant les N+1 éléments binaires de plus forts poids, le transfert des éléments binaires d'une cellule d'addition à la suivante se faisant sous la commande d'une horloge à deux phases 1 et 2 sans recouvrement.
Selon la présente invention, le fonctionnement de ce multiplieur reste un fonctionnement dynamique et le transfert de chacune des informations binaires transmises par une ligne à la suivante est réalisé à travers un unique transistor MOS, ces transistors étant commandés une ligne sur deux par la première phase 1 de l'horloge de commande et une ligne sur deux par la deuxième phase 2 de cette horloge de commande.
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 un multiplieur parallèle à commande synchrone
décrit dans l'art antérieur; - la figure 2 représente une cellule ET utilisée comme multiplieur
élémentaire dans le multiplieur parallèle représenté sur la figure 1; - la figure 3 représente la cellule d'addition à trois entrées et deux
sorties utilisée dans le multiplieur de la figure 1; - la figure 4 représente le multiplieur parallèle à commande synchrone
selon la présente invention; - la figure 5 représente une cellule NON-ET utilisée comme multiplieur
élémentaire; - la figure 6 représente une cellule NON-OU utilisée comme multiplieur
élémentaire ; et - la figure 7 représente un détail de ce multiplieur représenté sur
la figure 4.
Sur la figure 1,est est représenté un multiplieur 4 x 4 tel ceux décrits dans l'article de N.F. Benschop et L.C.M. Pfennings précédemment cité. Les multiplieurs de ce type permettent, de façon plus générale, de réaliser la multiplication d'un multiplicande X = XN ... X1 Xg par un multiplicateur Y s YN ... Y . Y Y
m 1 O respectivement àN+1 et M+1 éléments binaires. Cependant, de façon à simplifier la représenstation, le multiplieur décrit sur cette figure a été, comme dans cet articule, limité à N+1 - 4 et M+1 = 4 éléments binaires d'entrée. Ces éléments binaires sont répartis sur respectivement quatre lignes et quatre colonnes de données.De façon la plus generale, un tel multiplieur 4 x 4 comporte seize multiplieurs élémentaires Pmn, m,n = O à 3, chacun associé à une intersection ligne de donnee-colonne de donnée. Ces multi plieurs reçoivent de cette ligne de donnée sa variable Y et de cette
n colonne de donnée sa variable X . Ils sont donc aussi disposés suivant
n quatre lignes et quatre colonnes. Chaque ligne de multiplieurs élémentaires permet d'obtenir les quatre produits partiels. constitués du produit d'un élément binaire du multiplicateur Y par chacun des
m éléments binaires du multiplicande XO à X3. Chacun de ces multiplieurs élémentaires, sauf ceux de la première ligne, recevant l'élément binaire YO et ceux de la dernière colonne recevant l'élément binaire X3, est associé à une cellule d'addition à trois entrées et deux sorties Emns m n 1 à M et n = 1 à N-l recevant de ce multiplieur éle mentaire, sur son entrée A (figure 3), sa variable produit partiel Y Ym.
n m
Chacune des cellules d'addition de la deuxième ligne recevant,par par l'intermédiaire de son multiplieur élémentaire, un produit partiel contenant l'élément binaire Y1 et chacune des cellules d'addition d'avant-dernière colonne, recevant un produit partiel contenant l'élément binaire X2, reçoit, sur son entrée B, le produit partiel Xn+1 Yri fourni par le multiplieur Pmrl n+1 situé diagonalement au-dessus.
Chacune des autres cellules draddition Smn > 2 < m < M et O < n < N-2, reçoit de la cellule d'addition z 1 n+1 > située diagonalement au-dessus > sa variable somme S. Toutes ces cellules d'addition Emn reçoivent, sur leur entrée C, de la cellule d'addition z n située directement au-dessus s'il y en a une, sa variable de retenue R. Ce multiplieur comporte de plus N = 3 cellules d'addition supplémentaires formant un additionneur série destiné à collecter les dernières retenues.Ces cellules supplémentaires fournissant les N+1 éléments binaires de plus fort poids, soit les éléments binaires P4 à P7, cette ligne supplémentaire reçoit de la derniere ligne, hormis l'élément binaire P3, toutes les variables binaires de sortie que fournit cette ligne.
Pour réaliser de façon pratique un tel multiplieur, on peut utiliser des cellules d'addition classiques et des multiplieurs élémen- taires constitués de portes ET. En fait, il existe des cellules d'addition "inverseuses", c'est-à-dire qui, si elles reçoivent des variables d'entrée A, B, C "vraies", fournissent en sortie le complément S de la somme S et le complément R de la retenue R et qui, si elles reçoivent des variables complémentaires A, B et C, fournissent des variables de sorties "vraies" S et R. Ces cellules d'addition permettent d'optimiser le nombre de transistors MOS utilisés et sont donc moins coûteuses mais aussi plus rapides que les cellules classiques.D'autre part, les portes NON-ET, telle celle qui, sur la figure 2, est constituée de deux transistors T1 et T2 et une résistance T3 en série, sont plus simples à réaliser que les portes ET. Les portes ET, telle celle représentée sur la figure 2, comportent, en effet, une porte NON-ET T1, T2,
T3, ainsi qu'une porte inverseuse T4 et T5 en série, disposées en cascade. On utilise donc généralement, comme représenté sur la figure 1, des cellules d'addition inverseuses. Les lignes de cellules recevant des variables vraies et les lignes de cellules recevant des variables complémentées sont alors alternées.Pour obtenir des produits partiels adaptés, il est alors nécessaire d'alterner les lignes de multiplieurs, une ligne étant constituée de cellules NON-ET et une ligne étant constituée de cellules ET, sauf les derniers multiplieurs de chaque ligne qui sont inversés à partir de la ligne d'indice 1. Avec une telle configuration, on obtient des éléments binaires de sortie alternativement complémentés et vrais. Il peut alors être nécessaire d' introduire un certain nombre d'inverseurs en sortie. Cependant, le prix de revient et le temps de transit dans un tel multiplieur restent plus faibles que dans les multiplieurs n'utilisant pas ce type de cellule d'addition inverseuse.
Dans le cas particulier de la figure 1, comme dans la figure décrite sur l'article cité, les éléments binaires de sortie sont tous complémentés.
La particularité des multiplieurs décrits dans l'article cité ci-dessus vient de l'idée de réaliser un multiplieur parallèle du type pipe-line dans lequel les multiplications sont rentrées les unes à la suite des autres. Pour éviter un mélange des éléments binaires associés à chacune de ces multiplications, il est alors nécessaire de contrôler ou de commander le transit des différentes informations relatives à ces différentes multiplications. Ceci est réalisé grâce à l'introduction de deux bascules à verrouillage ("latch") introduites, dans la version la plus sophistiquée, respectivement sur les sorties somme et différence de chacune des cellules d'addition utilisées.Ces bascules à verrouillage, utilisées comme éléments à mémoire, sont commandées par une horloge à deux phases 1 et 2 la première phase 1 commandant l'écriture et la deuxième phase 2 commandant le verrouillage et la lecture.
Sur la figure 3, est représentée une cellule d'addition S à trois entrées A, B, C et deux sorties R et S à multiplieur P, de type XY, intégré ou associé, comportant un double élément à mémoire M permettant de contrôler le transit de la sortie somme et de la sortie retenue. Cette cellule est celle utilisée dans la structure de multiplieur décrite sur la figure 1. Les cellules utilisées dans la ligne supplémentaire n'ont pas de multiplieur associé et reçoivent directement, de la cellule précédente, leur variable A et, des cellules, ou multiplieur, de la dernière ligne, des éléments binaires de meme poids que cette variable A.
Sur la figure 4,est représenté le multiplieur parallèle selon la présente invention. Il comporte aussi, de façon à simplifier la représentation, seulement quatre lignes et quatre colonnes de données ainsi que MN = 16 multiplieurs élémentaires et (N-1)(M-1) = 9 cellules d'addition plus N = 3 cellules d'addition supplémentaires. Ces neuf cellules d'addition sont comme sur la figure 2 des cellules d'addition inverseuses disposées sur des lignes recevant, l'une, des variables vraies et la suivante, des variables complémentées. Les cellules d'addition supplémentaires sont aussi des cellules d'addition inverseuses à trois entrées et deux sorties mais, comme sur la figure 1, elles ne comportent pas de multiplieur M associe.Cependant, contrairement au multiplieur représenté sur la figure 1, aucune de ces cellules d'addition ne comporte en sortie de bascule à verrouillage.
Comme représenté sur cette figure 4, le multiplieur parallèle, selon la présente invention, reçoit N+1 = 4 éléments binaires de multiplicande XO à X3 et M+1 = 4 éléments binaires de multiplicateur Y0 à Y3, disposés en ligne. Chacun de ces éléments binaires doit traversier, dans l'ordre, un premier inverseur, respectivement noté NR et NE pour le multiplicande et pour le multiplicateur, une porte de transfert T1,1, ccmnnandée par la première phase 1 de l'horloge et constituée par un unique transistor MOS, et un deuxième inverseur, respectivement NR O et
NE O.Les éléments binaires du multiplicande X à X et le premier
O 3 élement binaire du multiplicateur YO sont alors fournis à leur multiplieur élémentaire de première ligne respectif. Les éléments binaires du multiplicande XO à X3 et les éléments binaires du multiplicateur d'indice supérieur ou égal à 1, Y1 à Y3, doivent alors traversier, dans l'ordre, une porte de transfert, ou transistor MOS de transfert T2 1 comnandée par la deuxième phase 2 de l'horloge de commande, suivie par un inverseur NR 1 ou NE 1. Les éléments binaires du multiplicande XO à X3 et le deuxième élément binaire du multiplicateur Y1 sont alors fournis à leurs multiplieurs élémentaires respectifs de deuxième ligne.
Les éléments binaires de multiplicande XO à X3 et les éléments binaires de multiplicateur d'indice supérieur ou égal à 2, Y2 à Y3, sont alors de la même façon fournis vers les lignes de multiplieurs élémentaires suivantes. D'autre part, le transfert des produits partiels, fournis par les multiplieurs de première ligne vers les cellules d'addition de la deuxième ligne, se fait aussi, à travers des transistors T2 1 sous la commande de la deuxième phase 2 de l'horloge.
Le transfert des résultats partiels fournis par les cellules d'addition, de deuxième ligne, ou par le multiplieur, vers les cellules d'addition de troisième ligne, se fait à travers des portes T1 2 sous la commande de la première phase 19 et ainsi de suite. Il nty a pas ici d'élément à mémoire supplémentaire. L'information binaire est stockée à la sortie de l'élément multiplieur élémentaire ou cellule d'addition utilisé. Les transferts d'information sont provoqués par les basculements des phases 1 ou 2 de horloge. La période de ces basculements est adaptée aux temps de transfert les plus importants des différents étages.Dans une technologie choisie à titre d'exemple, le temps de transfert dans un inverseur est inférieur à deux nanosecondes, le temps de transfert dans une porte NON-ET est environ de trois à quatre nanosecondes et il avoisine les trois nanosecondes dans une porte NON-OU. Dans une cellule d'addition, par contre, il faut compter environ huit nanosecondes. Le temps de transfert le plus important intervenant dans cet exemple correspond donc à un multiplieur élémentaire et à sa cellule d'addition associée, disposés en cascade ; ce qui donne environ douze nanosecondes.
Il devra donc s'écouler au moins douze nanosecondes entre le transfert d'information, à travers les transistors T1 > 1 à T1 > 4, sous la commande de la première phase +1 et le transfert d'information, à travers les transistors T2,1 à T2 49 sous la commande de la deuxième phase 2 de l'horloge. A cause des dispersions de caractéristiques, cet intervalle de temps moyen devra encore être majoré de trente à cinquante pour cent.
Cependant, le temps de transit réel est ici minimisé car il ne fait pas intervenir, dans la traversée d'une ligne, le temps de transit dans une bascule à verrouillage. Celui-ci est plus important que le temps de transit dans l'un des transistors MOS de transfert utilisé. D'autre part, on voit que l'introduction d'inverseurs n'intervient pratiquement pas dans la durée totale du calcul, puisque le temps de transit de ces inverseurs reste faible devant la période d'horloge, par exemple cinquante nanosecondes.
L'introduction d'inverseurs comme éléments à mémoire dynamique, en coordination avec le type de commande du transfert des informations utilisé, nécessite l'utilisation de lignes alternées de multiplieurs élémentaires pouvant recevoir, soit deux variables vraies, soit deux variables complémentées. D'autre part, l'amélioration apportée, au niveau cotit et rapidité, par l'utilisation de cellules d'addition inverseuses, nécessite l'obtention de lignes de produits partiels alternativement vraies et complémentées. Deux types de cellules connues particulièrement simples et rapides conviennent pour résoudre ce problème : la cellule NON
ET représentée sur la figure 5 et la cellule NON-OU représentée sur la figure 6.La cellule NON-ET représentée sur la figure 5 comporte de façon connue deux transistors T1 et T2 en série avec une résistance T3, le premier transistor T1 étant commandé par la variable binaire X et le second transistor T2 étant commandé par la variable Y. La cellule NON-OU représentée sur la figure 6 comporte de façon connue deux transistors en parallèle T1' et
T2' connectés en série avec une résistance T3', le premier transistor T1' étant commandé par le complément y de la variable X et le second transistor T2' étant commandé par le complément Y de la variable Y.
Suivant que l'on dispose de variables vraies ou complémentées, on utilisera donc des lignes de multiplieurs élémentaires constituées de cellules NON-ET ou de cellules NON-OU. La sortie de ces multiplieurs est de façon inverse complémentée ou vraie.
Un détail de la structure de multiplieur ainsi obtenue est représenté sur la figure 7. La ligne indice nrl, recevant des variables complémentées, comportera des cellules NON-OU comme multiplieur élémentaire. Le produit partiel A = XY étant non complémenté, les autres variables B et C devront aussi être non complémentées. Les éléments binaires de sortie, par contre, seront des variables R et S complémentées, qui seront fournies vers la ligne suivante d'indice m.
Cette ligne suivante,par contre, recevant des variables complémentées B et C sur ses entrées B et C, devra recevoir aussi une variable produit partiel A - XY complémentée. Cette variable produit partiel complémentée sera fournie, à partir de variables X et Y non complémentées, par une cellule NON-ET.
Il est cependant nécessaire d'adapter les variables produit partiel fournies par la première ligne de multiplieurs, constituée dans le cas de la figure 4 de cellules NON-ET, et par la dernière colonne de multiplieurs, constituée alternativement de cellules NON-ET et NON-OU.
Cette adaptation est réaiisée par l'introduction d'un inverseur à la sortie de chacun de ces multiplieurs élémentaires. Si des variables complémentées X à X3 et Y0 à Y étaient fournies en entrée, la première
-0 ligne de multiplieurs élémentaires serait bien sûr constituée de cellules NON-OU.
Le transfert de chacun des produits partiels, élaborés par la première ligne de multiplieurs élémentaires vers la ligne suivante,est réalisé par une porte T2,1 commandée par la deuxième phase 2 de l'horloge. Le transfert des éléments binaires de sortie des cellules d'addition de deuxième ligne Z10 à S30 vers la ligne suivante est réalisé par une porte T1 2 commandée par la première phase 1 du signal d'horloge, et ainsi de suite. Les retenues R fournies par la dernière ligne doivent ensuite se propager dans les cellules d'addition Zo à constituant l'additionneur à prévision de retenue. Cet additionneur est donc, dans le cadre de la figure 4, disposé suivant une colonne.Cet additionneur est destiné, de façon identique à celui de la figure 1, à collecter tous les éléments binaires fournis par la dernière ligne et non seulement les retenues fournies par cette colonne. Toutes les informations binaires,non utilisées par la première cellule supplémentaire et qui devront ensuite être transmises aux cellules d'addition suivantes, doivent donc être mémorisées sur le même niveau que cette première cellule supplémentaire avant d'être transmises vers les autres niveaux.
On utilise encore pour effectuer cette mise en mémoire des inverseurs NS 4,chacun traversé par les éléments binaires fournis par la dernière ligne. Comme ci-dessus, les éléments binaires de sortie de la dernière ligne sont donc transmis à la première cellule d'addition supplémentaire S0 et à ces inverseurs supplémentaires NS 4, chacun par une porte T1,3 commandée par la première phase 1 d'horloge.Les éléments binaires fournis sont eux-mêmes transmis, soit à la deuxième cellule supplémentaire E1 > soit à des inverseurs supplémentaires NS 5, à travers une porte T2,3 commandée par la deuxième phase 2 de l'horloge ; et ainsi de suite jusqu'au dernier niveau comportant le dernier additionneur supplémentaire E2. Ce dernier additionneur fournit, sur sa sortie retenue,l1élément binaire de sortie de plus fort poids P7 et, sur sa sortie somme, l'élément binaire de poids immédiatement inférieur P6.
De façon à obtenir des éléments binaires de sortie PO à P7 qui soient fournis de manière simultanée, il sera nécessaire de retarder l'élément binaire de plus faible poids PO de sept demi-temps d'horloge, de retarder l'élément binaire de poids directement supérieur, soit 21, de six demi-temps d'horloge, etc..Comme pour le reste du multiplieur, ceci est obtenu en introduisant des séries NS 1, NS 2, NS 3, NS 4, NS 5 et
NS 6 d'inverseurs traversés par les éléments binaires de sortie PO à P5 fournis respectivement, sur leur sortie somme, par les cellules d'addition E10 à Z30 et 20 à S1 Le transit de ces informations binaires de sortie jusqu'à la sortie du multiplieur se fait encore ici à travers des portes T2,1, T1,2, T2,2, T1,3 T2,3, T1,4, T2,4, commandées par les phases 1 et 2 alternativement. Le premier indice indique ici le numéro de la phase de commande.
Bien entendu, l'exemple de réalisation décrit n'est nullement limitatif de l'invention.

Claims (5)

REVENDICATIONS
1. Multiplieur parallèle en circuit intégré MOS permettant de réaliser la multiplication d'un multiplicande X = XN ... Xn ... X1 XO par un multiplicateur Y = YM ... Ym ... Y1 Y0 respectivement à N+1 et
M+1 éléments binaires distribués sur respectivement N+1 colonnes et
M+1 lignes de données et comportant (M+1)(N+1) multiplieurs élémentaires (fun) disposés suivant M+1 lignes et N+1 colonnes associées aux lignes et colonnes- de données, chaque ligne permettant de réaliser les N+1 multiplications partielles correspondant au produit partiel d'un élément binaire du multiplicateur par tous les éléments binaires du multiplicande, chacun de ces multiplieurs élémentaires, sauf ceux de la première ligne recevant l'élément binaire X0, et ceux de la dernière colonne recevant l'élément binaire YN, étant associé à une cellule d'addition à trois entrées et deux sorties (Emn) recevant, d'une part, de ce multiplieur élémentaire, sa variable produit partiel X Y , d'autre
n m part, de la cellule d'addition (#m-1 n) située directement au-dessus, son élément binaire de retenue R et enfin, de la cellule d'addition diagonalement supérieure (E 1 +1), ou éventuellement, si m = 1 ou n = N-i, du multiplieur élémentaire diagonalement supérieur (Pm-1 n+1), son élément binaire de somme S, respectivement son produit partiel Xn+1 Ym-1, ce multiplieur comportant de plus N cellules d'addition supplémentaires formant un additionneur série dit à prévision de retenue recevant, de la dernière ligne d'indice M, toutes les variables binaires fournies et fournissant les N+1 éléments binaires de plus fort poids, le transfert des éléments binaires d'une cellule d'addition à la suivante se faisant sous la commande d'une horloge à deux phases #1 et #2 sans recouvrement, caractérisé en ce que le fonctionnement synchrone de ce multiplieur est un fonctionnement de type dynamique et en ce que le transfert de chacune des informations binaires transmises par une ligne à la suivante est réalisé à travers un unique transistor MOS (T2,1 à T2 > 4), ces transistors étant commandés une ligne sur deux (T1 > 2, T1 > 3, T1,4) par la première phase 1 de l'horloge de commande et une ligne sur deux (T2,11 T2 2,
T2,3, T2 > 4) par la deuxième phase 2 de cette horloge de commande.
2. Multiplieur parallèle selon la revendication 1, caractérisé en ce que tous les éléments binaires du multiplicande et du multiplicateur X0 à XN et Y0 à YM sont fournis simultanément et traversent chacun, à partir de l'entrée, un inverseur (NR, NE) puis un premier transistor MOS (T1 > 1) commandé par la première phase d'horloge 1 et ensuite un inverseur de première ligne (NR 0, RE 0) pour alimenter la première ligne de multiplieurs élémentaires (P00 à P03) en ce que les éléments binaires de multiplicande X0 à XN et les éléments binaires de multiplicateur Y1 à YM non utilisés par la première ligne traversent ensuite chacun un transistor MOS (T2,1) commandé par la deuxième phase 2 de horloge, puis un inverseur de deuxième ligne (NR 1, NE 1) pour alimenter la seconde ligne de multiplieurs élémentaires et en ce que la ligne d'indice n reçoit de la ligneXdtindice n-1 les variables binaires XO à XN et Yn-1 à YM, chacune à travers un transistor MOS commandé par la phase d'horloge qui n'a pas été utilisée lors du transfert de ligne à ligne précédent, suivi par un inverseur de nième ligne.
3. Multiplieur parallèle selon l'une des revendications 1 ou 2, caractérisé en ce que la première ligne de multiplieurs (P00 à P03), recevant des variables vraies, est constituée de portes NON-ET (T1, T2,
T3), la seconde ligne de multiplieurs (P10 à P13), recevant des variables complémentées, est constituée de portes NON-OU (T1', T2', T3') et ainsi de suite alternativement, la première ligne et la Nième colonne de multiplieurs comportant, de plus, un inverseur placé en sortie de chacun de ces multiplieurs élémentaires.
4. Multiplieur parallèle selon l'une quelconque des revendications 1 à 3, caractérisé en ce que le transfert des éléments binaires fournis, par la dernière ligne, vers l'additionneur série à prévision de retenue (#0 à #2), est réalisé à travers une série de transis- tors MOS (T1,3, T2,3, T1 > 4) commandés par la première ou la deuxième phase d'horloge et une série d'inverseurs (NS 4 à NS 6), les éléments binaires de poids M+1 étant transmis directement, à travers un tel transistor (T1,3) > à la première cellule supplémentaire (z0) et les éléments binaires de poids supérieur à N+1 devront traverser chacun un inverseur (NS 4), les éléments binaires de poids égal àM+2 étant alors transmis, par les transistors suivants (T2,3), directement à la deuxième cellule supplémentaire (z1) et les autres éléments binaires devant traverser, chacun, un inverseur (NS 5) et ainsi de suite jusqu'à la Nième cellule supplémentaire, fournissant sur sa sortie retenue l'élément binaire de. poids MN et sur sa sortie somme ltélément binaire de poids MN-1.
5. Multiplieur parallèle selon l'une quelconque des reven ième dications 1 à 4, caractérisé en ce que la n ligne recevant les éléments binaires issus de la n-1 ième ligne, à travers un transistor de transfert commandé par l'une des phases d'horloge, comporte n-1 inverseurs supplémentaires (NS n-1) pour le transfert des n-1 éléments binaires de sortie PO à Pn+2 de plus faible poids et en ce que le transfert de ces éléments binaires de sortie continue à s'effectuer de même pour la traversée des lignes supplémentaires, associées chacune à une cellule d'addition supplémentaire (z0 à 62), tous les éléments binaires de sortie PO à PMN étant alors simultanément fournis au travers de la dernière ligne de transistors MOS (T2,4).
FR8301322A 1983-01-28 1983-01-28 Multiplieur parallele en circuit integre mos du type pipe-line Withdrawn FR2540261A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR8301322A FR2540261A1 (fr) 1983-01-28 1983-01-28 Multiplieur parallele en circuit integre mos du type pipe-line

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR8301322A FR2540261A1 (fr) 1983-01-28 1983-01-28 Multiplieur parallele en circuit integre mos du type pipe-line

Publications (1)

Publication Number Publication Date
FR2540261A1 true FR2540261A1 (fr) 1984-08-03

Family

ID=9285379

Family Applications (1)

Application Number Title Priority Date Filing Date
FR8301322A Withdrawn FR2540261A1 (fr) 1983-01-28 1983-01-28 Multiplieur parallele en circuit integre mos du type pipe-line

Country Status (1)

Country Link
FR (1) FR2540261A1 (fr)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0178424A2 (fr) * 1984-09-17 1986-04-23 Siemens Aktiengesellschaft Multiplieur numérique sémisystolique à structure cellulaire
EP0241181A1 (fr) * 1986-03-31 1987-10-14 AT&T Corp. Unité arithmétique à structure pipeline
EP0267425A2 (fr) * 1986-11-14 1988-05-18 International Business Machines Corporation Multiplieurs numériques binaires à structure matricielle
DE3901995A1 (de) * 1988-01-25 1989-08-03 Oki Electric Ind Co Ltd Parallelmultiplizierer

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0178424A2 (fr) * 1984-09-17 1986-04-23 Siemens Aktiengesellschaft Multiplieur numérique sémisystolique à structure cellulaire
EP0178424A3 (en) * 1984-09-17 1988-02-10 Siemens Aktiengesellschaft Berlin Und Munchen Semisystolic cell-structured digital multiplier
EP0241181A1 (fr) * 1986-03-31 1987-10-14 AT&T Corp. Unité arithmétique à structure pipeline
EP0267425A2 (fr) * 1986-11-14 1988-05-18 International Business Machines Corporation Multiplieurs numériques binaires à structure matricielle
EP0267425A3 (fr) * 1986-11-14 1990-10-17 International Business Machines Corporation Multiplieurs numériques binaires à structure matricielle
DE3901995A1 (de) * 1988-01-25 1989-08-03 Oki Electric Ind Co Ltd Parallelmultiplizierer
US4982355A (en) * 1988-01-25 1991-01-01 Oki Electric Industry Company Inc. Low-power parallel multiplier

Similar Documents

Publication Publication Date Title
EP0204603B1 (fr) Circuit de calcul rapide de la transformée en cosinus, directe ou inverse, d&#39;un signal discret
EP0369551B1 (fr) Arrangement de cellules de données et structure de réseaux de neurones utilisant un tel arrangement
FR2489554A1 (fr) Circuit de traitement numerique en arithmetique distribuee utilisant des multiplexeurs a l&#39;entree d&#39;une memoire
EP0298002B1 (fr) Mémoire de transposition pour circuit de traitement de données
EP0262032B1 (fr) Additionneur binaire comportant un opérande fixé, et multiplieur binaire parallèle-série comprenant un tel additionneur
EP0259231B1 (fr) Dispositif de détermination de la transformée numérique d&#39;un signal
EP0147268B1 (fr) Dispositif d&#39;adressage de memoire
FR2540261A1 (fr) Multiplieur parallele en circuit integre mos du type pipe-line
EP0020185B1 (fr) Procédé et dispositif d&#39;addition, de manière parallèle-série d&#39;un grand nombre de mots
FR2656124A1 (fr) Multiplieur serie programmable.
EP0110767A1 (fr) Multiplieur binaire rapide
EP0183610B1 (fr) Mémoire vive et circuit d&#39;interpolation linéaire en comportant application
EP1071008B1 (fr) Procédé pour effectuer une multiplication avec accumulation dans un corps de Galois.
EP0065460B1 (fr) Compteur parallèle en circuit intégré MOS et application à la réalisation d&#39;un additionneur binaire
EP0329572B1 (fr) Multiplieur de nombres binaires à très grand nombre de bits
EP0239168B1 (fr) Circuit arithmétique et logique
FR2548408A1 (fr) Multiplieur parallele, en circuit integre mos, fonctionnant de maniere sequentielle a l&#39;aide d&#39;elements a memoire dynamique
EP0902359B1 (fr) Procédé et dispositif de production d&#39;une division entière avec un coprocesseur d&#39;arithmétique modulaire
FR2694467A1 (fr) Procédé pour échanger des données numériques avec un opérateur asynchrone, registre numérique pour la mise en Óoeuvre de ce procédé, et unité de calcul comportant de tels registres.
FR2525781A1 (fr) Dispositif de sondage ultrasonore a balayage electronique
FR2516675A1 (fr) Cellule d&#39;addition binaire a trois entrees a propagation rapide de la retenue
EP0046105B1 (fr) Dispositif opérateur numérique rapide
EP0489885A1 (fr) Systeme de calcul neuronal
FR2505065A1 (fr) Cellule d&#39;additionneur binaire a propagation rapide de la retenue et additionneur utilisant de telles cellules
FR2705475A1 (fr) Multiplieur exempt de débordement interne, notamment multiplieur bit-série, et procédé pour empêcher un débordement interne d&#39;un multiplieur.

Legal Events

Date Code Title Description
ST Notification of lapse