FR2599528A1 - Additionneur bipolaire et multiplieur binaire bipolaire comprenant au moins un tel additionneur - Google Patents

Additionneur bipolaire et multiplieur binaire bipolaire comprenant au moins un tel additionneur Download PDF

Info

Publication number
FR2599528A1
FR2599528A1 FR8607714A FR8607714A FR2599528A1 FR 2599528 A1 FR2599528 A1 FR 2599528A1 FR 8607714 A FR8607714 A FR 8607714A FR 8607714 A FR8607714 A FR 8607714A FR 2599528 A1 FR2599528 A1 FR 2599528A1
Authority
FR
France
Prior art keywords
sep
adder
current
bit
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.)
Pending
Application number
FR8607714A
Other languages
English (en)
Inventor
Rolande Marbot
Jean-Pierre Polonovski
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.)
Centre National de la Recherche Scientifique CNRS
Original Assignee
Centre National de la Recherche Scientifique CNRS
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 Centre National de la Recherche Scientifique CNRS filed Critical Centre National de la Recherche Scientifique CNRS
Priority to FR8607714A priority Critical patent/FR2599528A1/fr
Publication of FR2599528A1 publication Critical patent/FR2599528A1/fr
Pending 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/5318Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel with column wise addition of partial products, e.g. using Wallace tree, Dadda counters
    • 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/50Adding; Subtracting
    • G06F7/505Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
    • G06F7/509Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination for multiple operands, e.g. digital integrators
    • 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/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/607Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers number-of-ones counters, i.e. devices for counting the number of input lines set to ONE among a plurality of input lines, also called bit counters or parallel counters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06JHYBRID COMPUTING ARRANGEMENTS
    • G06J1/00Hybrid computing arrangements
    • 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
    • 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/48Indexing scheme relating to groups G06F7/48 - G06F7/575
    • G06F2207/4802Special implementations
    • G06F2207/4818Threshold devices
    • 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/533Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
    • G06F7/5334Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product
    • G06F7/5336Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product overlapped, i.e. with successive bitgroups sharing one or more bits being recoded into signed digit representation, e.g. using the Modified Booth Algorithm
    • G06F7/5338Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product overlapped, i.e. with successive bitgroups sharing one or more bits being recoded into signed digit representation, e.g. using the Modified Booth Algorithm each bitgroup having two new bits, e.g. 2nd order MBA
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M1/00Analogue/digital conversion; Digital/analogue conversion
    • H03M1/12Analogue/digital converters
    • H03M1/34Analogue value compared with reference values
    • H03M1/38Analogue value compared with reference values sequentially only, e.g. successive approximation type
    • H03M1/44Sequential comparisons in series-connected stages with change in value of analogue signal

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Automation & Control Theory (AREA)
  • Evolutionary Computation (AREA)
  • Fuzzy Systems (AREA)
  • Software Systems (AREA)
  • Analogue/Digital Conversion (AREA)

Abstract

CET ADDITIONNEUR COMPREND 2-1 ENTREES RECEVANT CHACUNE UN BIT, OU P EST UN ENTIER ET P2, ET DELIVRANT UN NOMBRE BINAIRE DE PBITS, SE CARACTERISE EN CE QU'IL COMPREND: -2-1 GENERATEURS DE COURANT 4, 4, ...4 POUR PRODUIRE CHACUN UN COURANT ELECTRIQUE PROPORTIONNEL A UN BIT RECU EN ENTREE DE L'ADDITIONNEUR; -UN SOMMATEUR ANALOGIQUE 6 POUR ADDITIONNER LES COURANTS ELECTRIQUES DELIVRES PAR LESDITS GENERATEURS DE COURANT, ET -UN CODEUR BINAIRE 8 POUR PRODUIRE LEDIT NOMBRE BINAIRE DE PBITS EN FONCTION DU COURANT DELIVRE PAR LEDIT SOMMATEUR ANALOGIQUE. L'INVENTION CONCERNE AUSSI UN MULTIPLIEUR COMPRENANT AU MOINS UN TEL ADDITIONNEUR POUR ADDITIONNER 2-1 BITS DE MEME RANG DE LA MATRICE DES PRODUITS PARTIELS A-B, DE DEUX NOMBRES BINAIRES A ET B A MULTIPLIER.

Description

Additionneu Additionneur bipolaire et multiplieur binaire bipolaire
comprenant au moins un tel additionneur
La présente invention a pour objet un additionneur en technologie bipolaire, et plus précisément un additionneur pour délivrer un nombre de p bits, ou p est un entier, égal à la somme de 2p -1 bits reçus. L'invention a également pour objet un multiplieur binaire en technologie bipolaire pour multiplier deux nombres binaires A et B de N bits, où N est un entier, ledit multiplieur comprenant au moins un tel additionneur.
On pourra se reporter à l'ouvrage "Circuits logiques de traitement numérique de l'information", J. Chinal, chap. X, pp.
405 à 466, 1979, ed. Cepadues pour une présentation générale des multiplieurs binaires.
Pour la multiplication de deux nombres binaires de N bits, un multiplieur parallèle classique se compose de N rangées comprenant chacune N additionneurs complets à trois entrées, soit deux entrées d'opérandes et une entrée de retenue. Dans un tel multiplieur, le temps de propagation est égal à (N-1).T+(N-1).t, où T est le temps de propagation de la somme dans l'additionneur et t est celui de la retenue.
Ce multiplieur n'est pas satisfaisant car il comporte un nombre d'additionneurs important et son temps de propagationest élevé.
De manière connue, le nombre d'additionneurs peut être réduit d'un facteur 2 en utilisant l'algorithme de Booth. Cet algorithme est défini notamment dans les articles "A 16 bits16 bits Pipelined Multiplier Macrocell", D.A. Henlin et al., IEEE
Journal on Solid State Circuits, avril 1985, "A signed binary multiplication technique" A.D. Booth Quarterîy Journal of
Mechanics and Applied Mathematics, vol.4, par.2, 1951, et "A proof of the modified Booth's algorithm for multiplication L.P.
Rubenfield, IEEE Trans. Computers, vol. C-24, oct. 1975, pp.10141015. La réduction du nombre d'additionneurs n'accéLère cependant pas la vitesse de multiplication.
Des travaux visant à améliorer la vitesse de multiplication sont présentés notamment dans les articles "A Mesh
Connected Area-Time Optimal VLSI Multiplier of Large Integers",
F.P. Preparata, IEEE Transactions on Computers, vol. C-32, n 2, février 1983, "A Regular Layout for Parallel Multiplier of
O(Log N) Time", W.K. Luk, VLSI Systems and Computations, Springer
Verlag et "A suggestion for a fast multiplier" C.S. Watlace, IEEE
Trans. on Electronic Computers, feb. 1964, pp. 14-17. Ces
recherches algorithmiques n'ont réussi à gagner qu'un facteur
relativement faible, eu égard à la complexité, notamment topologique, du multiplieur obtenu.
Dans un additionneur complet, le temps de propagation de la retenue est de l'ordre de 1 ns. La multiplication de deux -nombres de 32 bits demande alors environ une soixantaine de nanosecondes, comme par exemple dans les circuits 29323 de AMD et
WTL 1064 de Weitek.
Enfin, les multiplieurs connus sont complexes, d'un point de vue topologique, et ne permettent que très difficilement un traitement de type "pipe-line".
L'invention a pour but de réduire le temps de multiplication de deux nombres binaires de N bits. Ce but est atteint par l'utilisation d'un additionneur en technologie p bipolaire permettant de calculer rapidement la somme de 2 -1 bits.
De manière précise, l'invention a pour objet un p additionneur en technologie bipolaire comprenant 2 -1 entrées recevant chacune une valeur binaire, où p est un entier et puy2, et délivrant un nombre binaire de p bits, cet additionneur
p comprenant 2 -1 générateurs de courant pour produire chacun un courant électrique proportionnel au chiffre binaire reçu sur une entrée, un sommateur analogique pour additionner les 2 -1 courants délivrés par les générateurs de courant, et un codeur binaire pour produire un nombre de p bits correspondant au courant délivré par le sommateur analogique.
L'additionneur de l'invention est un additionneur numérique réalisant un traitement analogique. Nous appellerons additionneur analogique dans la suite de la description, un tel additionneur et additionneur numérique un additionneur numérique à traitement Logique.
De manière préférée, chaque générateur de courant est constitue d'une paire différentielle de transistors bipolaires, les émetteurs desdits transistors étant reliés entre eux et à une source de courant I, les bases desdits transistors étant reliées respectivement à une entrée de l'additionneur et à une source de tension de référence, les collecteurs délivrant des courants complémentaires.
De manière préférée, le sommateur analogique comprend un premier noeud pour relier les collecteurs des transistors des générateurs de courant reliés aux entrées de l'additionneur, et un second noeud pour relier les collecteurs des autres transistors des générateurs de courant.
De manière avantageuse, le codeur binaire est de type dichotomique.
Selon un mode préféré de réalisation, le codeur binaire comprend p-l gerérateurs de courants de référence pour délivrer des courants de référence 2p-1I, p-2 des courants de référence 2P .1,2 .I,..., 2.1 ; des moyens pour additionner au moins un courant de référence au courant analogique reçu par le codeur binaire et p- comparateurs pour déterminer chacun l'un des p bits du nombre binaire délivré par le codeur binaire.
Selon une caractéristique secondaire, chaque comparateur est composé de deux transistors montés en paire différentielle.
L'invention a également pour objet un multiplieur entechnologie bipolaire pour multiplier deux nombres binaires A et
B de N bits, où N est un nombre entier, ledit multiplieur comprenant un moyen de calcul des produits partiels A xB . où A est le bit de rang i du nombre binaire A et B est le bit de rang j du nombre binaire B, oSi4N-1 et O#j < #N-1, et un moyen d'addition en technologie bipolaire pour additionner lesdits produits partiels, ledit multiplieur étant caractérisé en ce que le moyen d'addition comprend - une pluralité d'additionneurs analogiques simples, chaque
additionneur recevant 2 -1 bits de même rang, i.e. où i+j est
constant, où p)2, et délivrant un nombre binaire de p bits, - une pluralité d'additionneurs numériques complets, chaque
additionneur complet recevant deux bits de même rang et un bit
de retenue d'un rang précédent, et produisant le bit de rang r,
O$rS2N-1, du produit AxB.
De manière préférée, le moyen d'addition est découpé en plusieurs étages successifs pour permettre un traitement de type "pipe-line".
Les caractéristiques et avantages de L'invention ressortiront mieux de la description qui va suivre, donnée à titre illustratif et non limitatif, en référence aux dessins annexé-s, sur lesquels
- la figure 1 est une représentation schématique d'un additionneur analogique simple en technologie bipolaire selon l'invention,
- la figure 2 illustre un mode de réalisation des comparateurs de l'additionneur de la figure 1,
- la figure 3 est-une représentation schématique d'un multiplieur binaire en technologie bipolaire selon l'invention,
- la figure 4 représente schématiquement la structure d'un moyen d'addition d'un multiplieur selon l'invention pour la multiplication de deux nombres binaires de 32 bits,
- la figure 5 illustre la recombinaison de 2 -1 lignes en p lignes au moyen d'additionneurs de l'invention, et
- la figure 6 représente schématiquement une autre structure d'un moyen d'addition d'un multiplieur selon l'invention pour la multiplication de deux nombres binaires de 32 bits.
On a représenté sur la figure 1 un dessin schématique d'un additionneur analogique simple en technologie bipolaire selon l'invention. Cet additionneur comprend 7 entrées pour recevoir 7 bits Cl, C2,...C7 et 3 sorties pour délivrer un nombre binaire de 3 bits b2, bl, bO égal à la somme des 7 bits reçus en entrée. De manière générale, un additionneur comprend 2 ~1 entrées et délivre un nombre binaire de p bits.
L'additionneur comprend# 7 générateurs de courant 42' ' 47 un sommateur analogique 6 pour sommer les courants délivres par les générateurs de courants, et un codeur binaire 8 pour transformer Le courant analogique somme en un nombre binaire de p bits.
Chaque générateur de courant comprend 2 transistors bipolaires 10, 12 formant une paire différentielle, et ube source de courant 14 délivrant un courant I. Les émetteurs des transistors 10, 12 sont reliés entre eux et à la source de courant 14. Les bases des transistors 10 des générateurs de courant constituent les entrées de l'additionneur. Les bases des transistors 12 des générateurs de courant reçoivent une tension de référence V1.
Selon la valeur du bit reçu sur La base du transistor 10, le courant I délivré par la source de courant 14 est transmis vers le collecteur du transistor 10 ou vers le collecteur du transistor 12. Les collecteurs des transistors d'une paire différentielle délivrent donc des courants complémentaires, l'un de valeur I, l'autre de valeur nulle.
Le sommateur analogique 6 comprend un premier noeud 16 pour relier les collecteurs des transistors 10 des générateurs de courant, et pour délivrer. un courant z égal à la somme des courants desdits collecteurs. Le sommateur analogique 6 comprend également un second noeud 18 pour relier les collecteurs des transistors 12 des générateurs de courant, et pour délivrer un courant complémentaire r, égal à 7I- z
Le codeur binaire 8 fonctionne suivant une méthode séquentielle de type dichotomique. ~ Il comprend un premier comparateur 20 pour déterminer la valeur du bit de poids le plus fort b2, ou MUS8, en fonction du signe de la différence v ~ r une source de courant 22 pour ajouter un courant 4I au courant le plus faible entre i et , un deuxième comparateur 24 pour déterminer la valeur du bit b1 en fonction du signe de la différence i - #1, où S1 et il sont les courants
1 1 et X modifiés par la source de courant 22, une source de courant 26 pour ajouter un courant 21 au courant le plus faible entre il et il, et un troisième comparateur 28 pour déterminer la valeur du bit bO, ou LSB, en fonction du signe de la différence i - ou #2 i2et i 2 sont les courants il
et #1 modifiés par la source de courant 26.
Le codeur binaire comporte également des résistances 30 qui permettent de prélever une tension proportionnelle à un courant analogique, I t i 2' i i - 1 ou i w les
I 1 2 comparateurs 20, 24 et 28 déterminant respectivement les bits b2, b1-et bO en fonction de tensions proportionnelles aux courants.
Le codeur comprend un premier ensemble de trois résistances 30 en série, traversées respectivement par les courants #,# et i 2 et un deuxième ensemble de trois résistances 30 en série, traversées par les courants complémentaires # il et S 2. Les résistances consécutives d'un même ensemble sont séparées par des transistors 32, 34.
Ceux-ci reçoivent respectivement sur leur base des tensions de référence V et V3, où V3 > V2, choisies de manière à éviter la
2 saturation desdits transistors.
On va maintenant décrire un mode de réalisation d'un comparateur en référence à la figure 2. Sur cette figure, on a représenté le comparateur 20 et la source de courant 22.
Deux transistors 36, 38 sont montés en émetteurssuiveurs respectivement sur les lignes supportant les courants v et #. Le potentiel de leur base est donc transmis à leur émetteur.
Le comparateur 20 comprend deux transistors 41, 43 montés en paire différentielle, une source de courant i 47 pour alimenter la paire différentielle, et deux résistances 39 disposées chacune entre le collecteur d'un transistor 41, 43 et le potentiel le plus positif. Les bases de ces transistors 41, 43 sont reliées respectivement aux émetteurs des transistors 36, 38.
Le bit b2 (MSB) est prélevé sur l'un des deux collecteurs des transistors 41, 43. Le courant i de la source 47 et les valeurs des résistances 39 sont choisis pour fournir des valeurs
Logiques convenables.
La source de courant 22 comprend une paire différentielle composée de deux transistors 40, 42 dont les émetteurs sont reliés entre eux et à une source de courant 44 délivrant un courant 41.
Sur la figure 2, la source de courant est disposée en parallèle avec le comparateur 20. Elle pourrait également être placée en sortie du comparateur comme indiqué sur la figure 1. La première solution est plus rapide mais n'assure pas une commutation aussi parfaite de la source de courant 22.
Des sources de courant 45 délivrant des courants de polarisation i doivent être ajoutées sur les émetteurs des transistors 36, 38 pour polariser ces transistors. Les courants délivrés par les collecteurs des transistors 36 et 38 peuvent être ajoutés sur les émetteurs de transistors 34 suivant les résistances 30, pour polariser ces transistors. Ceci est surtout intéressant pour le comparateur 20. En revanche, pour Les comparateurs 24, 28, les collecteurs des transistors 36, 38 peuvent être reliés au potentiel fixe le plus positif.
Le collecteur de chaque transistor 34 est relié au coLlecteur du transistor 40, 42 correspondant.
La différence des potentiels sur les bases des transistor s 36, 38 des résistances sert à actionner la paire différentielle 40, 42 aiguillant le courant 41. Pour assurer un bon fonctionnement de la paire différentielle, on peut choisir un saut de tension de 80 mV par incrément de courant, ce qui donne des valeurs de résistance de 800 Q pour un courant I de 100 u#A.
Toutefois, des sauts de tension plus faibles sont possibles Si un véritable comparateur est disposé entre les bornes des résistances et la source de courant 22.
Le tableau joint en annexe résume la valeur du bit b2, ou MSB, en fonction des valeurs des courants i et v . On y a également indiqué les valeurs des courants 1 et i après que le courant 41 de la source de courant 22 ait été ajouté.
De la même manière, la valeur du bit bl (figure 1) est définie par le comparateur 24, et la valeur du bit bO, ou LSB, est définie par le comparateur 28 respectivement selon le signe des differences 1 - i et i2- 2. Ces valeurs sont indiquées
Il dans le tableau joint en annexe.
La suite b2,bî,b0 forme un nombre binaire constituant un codage du courant i . On appellera un tel codage un codage 7/3 (de tanière générale 2 -1/p).
L'additionneur de la figure 1 permet de réaliser un codage 7/3 en un temps de L'ordre de 2 à 3 ns avec une technologie bipolaire ayant les caractéristiques suivantes - capacité base-émetteur C : 50 fF
BE - capacité base-collecteur C : 70 fF
BC - capacité collecteur-substrat C : 150 fF.
CS
La princ#ipale limitation de vitesse est due à la forte capacité à la jonction des collecteurs des 7 transistors 10. Une réduction de la capacité C et plus particulièrement de la
BC capacité C permet une augmentation notable des performances.
L'additionneur représenté sur la figure 1 est de type 7/3 (7 entrées et sortie sur 3 bits). La même architecture peut être utilisée pour construire un additionneur de type 3/2, de type 15/4,...
Cependant, pour un additionneur de type 15/4, il est nécessaire de définir les courants avec beaucoup de précision.
Par ailleurs, un étage étant ajouté par rapport à l'additionneur de la figure 1, il y a une tension de référence V4, où V4 > V3.
Pour éviter la saturation du transistor 34, la différence entre deux tensions de référence consécutives, telles que V3 et V doit
4 être égal au moins à la somme de La chute de tension baseémetteur du transistor 34 et de la tension maximale aux bornes de
la résistance R, soit 15.I.R. La différence entre deux tensions consécutives est alors au moins de l'ordre de 1,9V.
La différence entre les tensions de référence V et V
1 4 est alors supérieure à 5V, ce qui complique L'additionneur qui ne peut etre réalisé simplement avec une aliaentation unique et standard de 5V.
En ce qui concerne L'additionneur de type 3/2, il a des performances du même ordre de grandeur qu'un additionneur numérique complet (en terminologie anglo-saxonne "Full Adder").
En revanche, le temps de propagation dans un additionneur numérique simple de type 7/3, comprenant 4 additionneurs numériques simples de type 3/2 répartis en 3 étages serait de l'ordre du temps de propagation à travers 9 portes logiques. L'additionneur analogique permet d'aller beaucoup plus vite. De plus, d'un point de vue pratique, le fonctionnement correct de l'additionneur de type 7/3 ne requiert qu'une précision de 10U environ sur les valeurs des courants.
On va maintenant décrire un multiplieur binaire conforme à l'invention en référence au dessin schématique de La figure 3
Ce multiplieur comprend un moyen de calcul 46 des produits partiels Ai.Bj, où OE O(iSN-1 et j% < N-1, des nombres binaires A et B, et un moyen d'addition 48 de ces produits partiels pour produire le produit AB.
Le moyen de calcul 46 comprend H rangées de N portes logiques ET 50, chaque ra#ngée étant décalée d'une porte par rapport à la précédente. Les produits partiels A .B sont ainsi répartis en 2N-1 colonnes. i j
Le moyen d'addition 48 comprend au moins deux types d'additionneurs : - des additionneurs analogiques 51 de type 2 -1/p, ou p32, selon
l'invention, et - des additionneurs numériques complets 52 ayant deux entrées
d'opérandes et une entrée de retenue.
p
Chaque additionneur analogique reçoit 2 -1 bits d'une même colonne. Le moyen d'addition 48 peut comporter simultanément des additionneurs analogiques de type 15/4, 7/3 et 3/2.
Certains, ou tous, les additionneurs analogiques de type 3/2 peuvent être remplaces par des additionneurs numériques simples de type 3/2.
Les additionneurs analogiques ou numériques simples sont agences de manière à réduire par additions successives de lignes les N lignes de produits partiels en seulement deux
Lignes. Ces dernières sont finalement sommées à L'aide des additionneurs numériques complets pour délivrer le produit AB.
On conçoit que de nombreuses architectures sont possibles pour agencer des additionneurs analogiques et, éventuellement, des additionneurs numériques simples de type 3/2 pour ramener les N lignes de produits partiels à deux lignes de bits.
On a représenté å titre d'exemple sur la figure 4 une telle architecture dans le cas d'un multiplieur de deux nombres de 32 bits. On suppose que le moyen de calcul est conforme à l'algorithme de Booth -modifié. Les 32 lignes de 32 bits sont alors remplacées iar 16 lignes de 33 bits, chaque ligne étant décalée de deux bits par rapport à la précédente. On suppose également qu'une 17ème ligne est rajoutée pour traiter à la fois les nombres signés et nonrsignes sur 32 bits.
Dans cet exemple, le moyen d'addition 48 se compose de 5 étages consécutifs, ce qui montre la possibilité d'un traitement de type "pipe-line".
Le premier étage El comprend un premier ensemble 54 d'additionneurs analogiques de type 7/3, un deuxième ensemble 56 d'additionneurs analogiques de type 7/3, et un troisième ensemble 58 composé d'additionneurs analogiques de type 3/2 ou d'additionneurs numériques simples de type 3/2. Ces 3 ensembles travaillent en parallèle.
Pour chaque colonne, les 17 bits délivres par le moyen de calcul 46 sont répartis sur un additionneur du premier ensemble 54, un additionneur du deuxième ensemble 56 et un additionneur du troisième ensemble 58. Les 17 lignes sont ainsi ramenées à 8 lignes.
Les 8 lignes sont traitées par un deuxième étage E2 comprenant un premier ensemble 60 d'additionneurs, analogiques ou numériques, de type 3/2, un deuxième ensemble 62 d'additionneurs, analogiques ou numériques, de type 3/2, et un ensemble 64 de registres pour mémoriser les deux lignes délivrées par L'ensemble 58. En sortie du second étage, il reste 6 lignes de bits.
Les valeurs de sorties des comparateurs 20, 24, 28 (figure 1) des additionneurs des ensembles 54, 56 sont utilisées comme valeurs d'entrée dans les additionneurs des ensembles 60, 62. Cette liaison peut se faire par des signaux de tension en sortie des comparateurs.
On peut avantageusement supprimer les résistances 39 (figure 2) de manière à sortir des comparateurs des signaux de courant qui sont directement appliqués sur les sommateurs analogiques 6 d'un additionneur de type -3/2. On fait ainsi l'économie des générateurs de courant 41* 4 et 4 des
2 3 additioneursdes ensembles 60, 62, ce qui augmente la rapidité et diminue la consommation.
Les 6 l#gnes so#t rédu#tes en deux é#tages E3 et E4 pour ne laisser subsister que deux lignes. L'étage E3 comprend un ensemble 66 d'additionneurs analogiques de type 7/3 dont une entrée est mise à zéro et L'étage E4 comprend un ensemble 68 d'additionneurs, analogiques ou numériques, de type 3/2.
On peut aisément rajouter une ou deux lignes pour réaliser une fonction d'accumulation des résultats, par exemple 1 ligne pour accumuler le résultat final et 2 lignes pour accumuler le résultat avant le dernier étage ES.
Le vernier étage ES comprend un ensemble 70 d'additionneurs numériques complets à 3 entrées dont une de retenue. Cet ensemble est avantageusement agencé de manière à mettre en oeuvre l'algorithme de Brent et Kung. Cet algorithme d'addition permet d'obtenir un résultat après la traversée d'un petit nombre de portes élémentaires. Le temps de propagation est de 2.Log N. Cet algorithme est décrit notamment dans L'article "t
2 regular Layout for Parallel Adders", R.P. Brent and H.T. Kung,
Technical report, Dept. of Computer Science, Carnegie Mellon
University, CMU.CS.79.131, juin 1979.
Le moyen d'addition représenté schématiquement sur la figure 4 permet d'obtenir, sans "pipe-line", un temps de nultiplication inférieur à 20 ns pour des nombres de 32 bits qui se décompose en 3 ns pour chacun des étages El et E3, 2 ns pour chacun des étages E2 et E4, et 10 ns pour l'étage ES. Par ailleurs, ce moyen d'addition peut facilement être décomposé en plusieurs étages consécutifs et se prête donc aisément à un traitement de type "pipe-line", ce qui procure une augmentation de vitesse très importante.
La figure 5 illustre la recombinaison de 2 -1 lignes en p lignes opérée par un additionneur analogique selon l'invention ou un additionneur numérique simple. Sur l'exemple de la figure, on a représenté le cas p=3.
Chaque colonne c#, cl 1,... de 7 bits est transformée en un nombre binaire Sj, Si 1,... de 3 bits. Les nombres binaires correspondant à des colonnes consécutives sont décalés l'un del'autre de un bit. Ils peuvent ainsi être recombinés en un ensemble de 3 lignes portant la référence 72.
On a décrit en référence à la figure 4 la structure d'un moyen d'addition pour un multiplieur de 32 bits x 32 bits utilisant L'algorithme de Booth modifié et des additionneurs de type 7/3 et 3/2.
A titre d'exemple, on va décrire en référence à la figure 6 une autre structure de moyen d'addition pour un multiplieur de 32 bits x 32 bits utilisant l'algorithme de Booth modifié.
Ce moyen d'addition est constitué de 4 étages successifs El, E2, E3 et E4. Le premier étage El comprend un ensemble 74 d'additionneurs analogiques de type 15/4 selon l'invention, et un ensemble 76 de registres.
Les 17 lignes de 33 bits délivrées par le moyen de calcul du multiplieur selon l'algorithme de Booth sont traitées de la manière suivante : 15 lignes sont traitées, colonne par colonne, par les additionneurs de l'ensemble 74 et les deux dernières lignes sont mémorisées dans des registres de L'ensemble 76.
En sortie de L'étage El, il reste donc 6 lignes de bits. Celles-ci sont reçues dans un ensemble 78 d'additionneurs analogiques de type 7/3 selon l'invention qui constitue L'étage
E2. Sur chacun de ces additionneurs, une entrée n'est pas utilisée puisqu'il n'y'a que 6 lignes. Cette entrée est mise à zéro.
Les 3 lignes délivrées par l'étage E2 sont réduites à 2 lignes par l'étage E3 compose d'un ensemble 80 d'additionneurs de type 3/2. Ces additionneurs peuvent être des additionneurs analogiques selon L'invention ou des additionneurs numériques simples.
Enfin, les 2 lignes délivrées par l'étage E3 sont additionnées entre elles, dans un étage E4 composé d'un ensemble d'additionneurs numériques complets à 3 entrées, pour produire le produit AxB.
Comme on l'a indiqué plus haut, la réalisation d'un additionneur analogique de type 15/4 est plus compliqué que la réalisation d'un additionneur analogique de type 7/3. Cependant, l'utilisation d'un additionneur analogique de type 15/4 permet une augmentation de vitesse, ce qui justifie son emploi dans certaines applications.
On a décrit en référence aux figures 4 et 6 deux modes de réalisation du moyen d'addition d'un multiplieur de 32 bits x 32 bits. L'invention n'est bien entendu pas limitée à ces exemples de réalisation, mais concerne au contraire tous les multiplieurs de N bits x N bits, où N est un entier, comprenant au moins un additionneur analogique de type 2#-1/p selon l'invention, où p est un entier.
TABLEAU
Figure img00140001
<tb> I <SEP> | <SEP> I <SEP> o <SEP> j <SEP> i <SEP> j <SEP> 21 <SEP> 31 <SEP> I <SEP> | <SEP> 41 <SEP> i <SEP> 3I <SEP> | <SEP> i <SEP> | <SEP> 61 <SEP> 1 <SEP> 71 <SEP> | <SEP> 1
<tb> I <SEP> I <SEP> I <SEP> I <SEP> I####I####I####I###
<tb> I <SEP> Z <SEP> I <SEP> 71 <SEP> 1 <SEP> 6 <SEP> 1 <SEP> 51 <SEP> | <SEP> 6 <SEP> |41 <SEP> 1 <SEP> 31 <SEP> 121| <SEP> 2I <SEP> |I <SEP> | <SEP> O <SEP> i
<tb> I <SEP> 1 <SEP> 31 <SEP> 1 <SEP> -5I <SEP> j <SEP> SI <SEP> | <SEP> j <SEP> |I| <SEP> 31 <SEP> | <SEP> 51 <SEP> I <SEP> 71 <SEP> 1
<tb> I <SEP> b2 <SEP> (MSB) <SEP> I <SEP> o <SEP> j <SEP> o <SEP> j <SEP> o <SEP> j <SEP> o <SEP> O <SEP> | <SEP> O <SEP> |I <SEP> 5f1 <SEP> |1|1 <SEP> I <SEP> i <SEP> | <SEP> I
<tb> I <SEP> 1 <SEP> 1 <SEP> 4I <SEP> 1 <SEP> 51 <SEP> j <SEP> 61 <SEP> j <SEP> 71 <SEP> 411 <SEP> |51 <SEP> I <SEP> j <SEP> |61| <SEP> j <SEP> | <SEP> 71 <SEP> I
<tb> I <SEP> ~ <SEP> I <SEP> I <SEP> I <SEP> I <SEP> I <SEP> Il <SEP> I <SEP> I
<tb> I <SEP> I <SEP> 71 <SEP> j <SEP> 61 <SEP> j <SEP> 51 <SEP> j <SEP> 41 <SEP> I-- <SEP> 71 <SEP> j <SEP> 61 <SEP> 1 <SEP> |51 <SEP> |j| <SEP> 41 <SEP> j
<tb> I <SEP> 1- <SEP> 1 <SEP> 1 <SEP> 1 <SEP> 1 <SEP> 1 <SEP> 1 <SEP> 1 <SEP> I <SEP> I
<tb> I <SEP> t <SEP> j-3Ij <SEP> -I <SEP> w <SEP> I <SEP> Il <SEP> I <SEP> -31 <SEP> I-i <SEP> I <SEP> i <SEP> 131 <SEP> I
<tb> I <SEP> I <SEP> I <SEP> I <SEP> 111111
<tb> j <SEP> bî <SEP> j <SEP> O <SEP> j <SEP> O <SEP> j <SEP> Il <SEP> il <SEP> 1 <SEP> O <SEP> i <SEP> O <SEP> o <SEP> j <SEP> il <SEP> il
<tb> <SEP> 2 <SEP> 61 <SEP> j <SEP> 71 <SEP> j <SEP> 61j|71j <SEP> 61 <SEP> j <SEP> 71 <SEP> j <SEP> 61 <SEP> | <SEP> j <SEP> 71 <SEP> I
<tb> I <SEP> ~ <SEP> I <SEP> I <SEP> 11111I
<tb> I <SEP> 2 <SEP> 1 <SEP> 71 <SEP> 1 <SEP> 61 <SEP> j <SEP> 71 <SEP> 61 <SEP> j <SEP> 71 <SEP> i <SEP> 61 <SEP> |j <SEP> |71 <SEP> |7I <SEP> | <SEP> 61 <SEP> j
<tb> <SEP> 21 <SEP> I <SEP> I <SEP> I <SEP> -I <SEP> I <SEP> -I <SEP> I <SEP> -I <SEP> I
<tb> <SEP> I <SEP> I <SEP> I <SEP> I <SEP> I <SEP> I <SEP> I <SEP> I <SEP> I
<tb> I <SEP> ~L2 <SEP> I <SEP> I <SEP> I <SEP> 1 <SEP> 111111
<tb> j <SEP> bO <SEP> CLss) <SEP> j <SEP> 0 <SEP> (LSB) <SEP> oI <SEP> 1 <SEP> 1 <SEP> | <SEP> O <SEP> |1 <SEP> 1 <SEP> j <SEP> O <SEP> j <SEP> 1 <SEP> j <SEP> O <SEP> |1 <SEP> | <SEP> 1 <SEP> | <SEP> 1
<tb> I <SEP> I <SEP> I <SEP> I <SEP> I <SEP> I <SEP> I <SEP> I
<tb>

Claims (11)

REVENDICATIONS
1. Additionneur en technologie bipolaire comprenant 2P-1 entrées recevant chacune un bit, où p est un entier et pb2, et délivrant un nombre binaire de p bits, ledit additionneur étant caractérisé en ce qu'il comprend p - 2 -1 générateurs de courant (41,4 ,... 47) pour produire
chacun un courant électrique proportionnel à un bit reçu en
entrée de l'additionneur, - un sommateur analogique (6) pour additionner les courants
électriques délivrés par lesdits générateUrs de courant, et - un codeur binaire (8) pour produire ledit nombre binaire de p
bits en fonction du courant délivré par ledit sommateur
analogique.
2. Additionneur selon la revendication 1, caractérisé en ce que chaque générateur de courant < #î' 42 t 47) est composé d'une paire différentielle de transistors bipolaires (10, 12), les émetteurs desdits transistors étant reliés entre eux et à une source de courant I 14, les bases desdits transistors (10, 12) étant reliées respectivement à une entrée de l'additionneur et à une source de tension de référence (V ), le courant I délivré par la source de courant 14 étant commuté sur le collecteur de l'un des transistors en fonction des tensions appliquées sur les bases desdits transistors.
3. Additionneur selon l'une quelconque des revendications 1 et 2, caractérisé en ce que le sommateur analogique (6) comprend un premier noeud (16) pour relier les collecteurs des transistors (10) de chaque générateur de courant dont la base est reliée à une entrée de l'additionneur, ledit premier noeud délivrant un courant analogique Z , et un second noeud (18) pour relier les collecteurs des transistors (12) de chaque générateur de courant dont la base reçoit une tension de référence (V ), ledit second noeud délivrant un courant 1 (2P~l > xl- p analogique T , où X =(2 -1)xI- Z
4. Additionneur selon l'une quelconque des revendications 1 à 3, caractérisé en ce que le codeur binaire (8) effectue un traitement séquentiel de type dichotomique.
5. Additionneur selon la revendication 4, caractérisé en ce que le codeur binaire comprend p-l générateur de courants de référence (22, 26) pour délivrer des courants de référence 2P 1.
2P .., 2.1 ; des moyens pour additionner au moins un courant de référence au courant analogique reçu par le codeur binaire ; et p comparateurs pour determiner chacun t'un des p bits du nombre binaire délivré par le codeur binaire.
6. Additionneur selon la revendication 5, caractérisé en ce que chaque comparateur (20, 24, 28) est composé de deux transistors (41, 43) montés en paire différentielle.
7. Additionneur selon l'une quelconque des revendications 5 et 6, caractérisé en ce que chaque générateur de courant (22, 26) est commandé par le signal d'entrée de l'un des p-l comparateurs délivrant un bit autre que le bit de poids le plus faible.
8. Additionneur selon L'une quelconque des revendications 5 et 6, caractérisé en ce que chaque générateur de courant (22, 26) est commandé par le signal de sortie de L'un des p-l comparateurs délivrant un bit autre que le bit de poids le plus faible.
9. Multiplieur binaire en technologie bipolaire pour multiplier deux nombres binaires A et B de N bits, ou N est un entier, ledit multiplieur comprenant un moyen de calcul des produits partiels A .B., où A est le bit de rang i du nombre
iJ i binaire A et Bj est le bit de rang j du nombre binaire B, OSi(N-1, et O(j$N-1 et un moyen d'addition en technologie bipolaire pour additionner lesdits produits partiels, Ledit multiplieur étant caractérisé en ce qu'il comprend - une pluralité d'additionneurs simples, chaque additionneur
recevant 2 -1 bits de même rang, où p32, et délivrant un nombre
binaire de p bits, chaque additionneur étant conforme à l'une
quelconque des revendications 1 à 8, et - une pluralité d'additionneurs complets, chacun recevant deux
bits de même rang et un bit de retenue d'un rang précédent, et
produisant un bit de rang r, O(rg2N-1 du produit AxB.
10. Multiplieur selon la revendication 9, caractérisé en ce qu'il comprend en outre des additionneurs numériques simples recevant chacun trois bits de même rang et délivrant un nombre binaire de 2 bits.
11. Multiplieur selon L'une quelconque des revendications 9 et 10, caractérisé en ce que les additionneurs du moyen d'addition sont agencés en plusieurs étages consécutifs indépendants permettant un traitement de type "pipe-line".
FR8607714A 1986-05-29 1986-05-29 Additionneur bipolaire et multiplieur binaire bipolaire comprenant au moins un tel additionneur Pending FR2599528A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR8607714A FR2599528A1 (fr) 1986-05-29 1986-05-29 Additionneur bipolaire et multiplieur binaire bipolaire comprenant au moins un tel additionneur

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR8607714A FR2599528A1 (fr) 1986-05-29 1986-05-29 Additionneur bipolaire et multiplieur binaire bipolaire comprenant au moins un tel additionneur

Publications (1)

Publication Number Publication Date
FR2599528A1 true FR2599528A1 (fr) 1987-12-04

Family

ID=9335778

Family Applications (1)

Application Number Title Priority Date Filing Date
FR8607714A Pending FR2599528A1 (fr) 1986-05-29 1986-05-29 Additionneur bipolaire et multiplieur binaire bipolaire comprenant au moins un tel additionneur

Country Status (1)

Country Link
FR (1) FR2599528A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0721159A1 (fr) * 1995-01-03 1996-07-10 Texas Instruments Incorporated Additionneur binaire à entrées multiples

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3636334A (en) * 1969-01-02 1972-01-18 Univ California Parallel adder with distributed control to add a plurality of binary numbers
FR2417139A1 (fr) * 1978-02-08 1979-09-07 Adersa Multiplieur-sommateur perfectionne
GB2021885A (en) * 1978-05-24 1979-12-05 Philips Nv Analogue to digital converter
FR2560409A1 (fr) * 1984-02-28 1985-08-30 Lardy Jean Louis Unite arithmetique pour additionner des bits paralleles

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3636334A (en) * 1969-01-02 1972-01-18 Univ California Parallel adder with distributed control to add a plurality of binary numbers
FR2417139A1 (fr) * 1978-02-08 1979-09-07 Adersa Multiplieur-sommateur perfectionne
GB2021885A (en) * 1978-05-24 1979-12-05 Philips Nv Analogue to digital converter
FR2560409A1 (fr) * 1984-02-28 1985-08-30 Lardy Jean Louis Unite arithmetique pour additionner des bits paralleles

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
IEEE TRANSACTIONS ON ELECTRONIC COMPUTER, vol. EC-14, no. 1, février 1965, pages 29-35, New York, US; R.H.S. RIORDAN et al.: "The use of analog techniques in binary arithmetic units" *
INTERNATIONAL JOURNAL OF ELECTRONICS, vol. 46, no. 6, juin 1979, pages 611-620, Taylor & Francis Ltd, Londres, GB; K. WAYNE CURRENT: "Quaternary logic techniques for simplified integrated digital signal processing circuitry" *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0721159A1 (fr) * 1995-01-03 1996-07-10 Texas Instruments Incorporated Additionneur binaire à entrées multiples

Similar Documents

Publication Publication Date Title
KR920007029B1 (ko) X×y 비트 배열 배율기/어큐뮬레이터 회로
EP0181664B1 (fr) Comparateur synchronisé
FR2679722A1 (fr) Processeur destine a generer une transformee de walsh.
FR2699025A1 (fr) Convertisseur analogique numérique.
EP0692762A1 (fr) Circuit logique de multiplication parallèle
EP0472447A1 (fr) Multiplieur cellulaire en arbre de type gradin inversé et son procédé de réalisation
EP0817390B1 (fr) Convertisseur analogique numérique
FR2599528A1 (fr) Additionneur bipolaire et multiplieur binaire bipolaire comprenant au moins un tel additionneur
FR2599526A1 (fr) Additionneur mos et multiplicateur binaire mos comprenant au moins un tel additionneur
EP0474567B1 (fr) Convertisseur analogique/numérique à interpolation
US5951711A (en) Method and device for determining hamming distance between two multi-bit digital words
EP0834990B1 (fr) Déphaseur numérique programmable et convertisseur analogique/numérique mettant en oeuvre un tel déphaseur
FR2593948A1 (fr) Dispositif de transformee en cosinus d&#39;un signal numerique echantillonne
EP0341097B1 (fr) Additionneur de type récursif pour calculer la somme de deux opérandes
EP0346988B1 (fr) Circuit semiconducteur intégré comprenant un circuit comparateur synchronisé
FR2768873A1 (fr) Convertisseur analogique-numerique a circuit de repliement arborescent
FR2563349A1 (fr) Multiplieur matriciel systolique de traitement de donnees numeriques
FR2655748A1 (fr) Circuit decaleur avec generateur de bits de parite.
FR2772160A1 (fr) Circuit de calcul de la transformee de fourier rapide et de la transformee de fourier rapide inverse
EP0332504B1 (fr) Procédé pour déterminer la structure d&#39;un multiplieur cellulaire en arbre, dit en racine P.ième
EP1066557B1 (fr) Additionneur complet ecl chainable rapide avec des entrees differentielles
EP0738958B1 (fr) Multiplieur
EP0718755B1 (fr) Composant électronique capable notamment d&#39;effectuer une division de deux nombres en base 4
EP0209446A1 (fr) Multiplieur pour la multiplication de deux nombres complexes
CA2359198C (fr) Unite de calcul pour l&#39;execution d&#39;un protocole cryptographique