EP0020185A1 - Method and apparatus for the serial-parallel addition of a great number of words - Google Patents

Method and apparatus for the serial-parallel addition of a great number of words Download PDF

Info

Publication number
EP0020185A1
EP0020185A1 EP80400354A EP80400354A EP0020185A1 EP 0020185 A1 EP0020185 A1 EP 0020185A1 EP 80400354 A EP80400354 A EP 80400354A EP 80400354 A EP80400354 A EP 80400354A EP 0020185 A1 EP0020185 A1 EP 0020185A1
Authority
EP
European Patent Office
Prior art keywords
words
binary
transcoder
weight
adder
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.)
Granted
Application number
EP80400354A
Other languages
German (de)
French (fr)
Other versions
EP0020185B1 (en
Inventor
Jean-Pierre Houdard
Jean-Jacques Julie
Bernard Georges Leoni
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.)
Thales SA
ALE International SAS
Original Assignee
Thomson CSF Telephone SA
Le Materiel Telephonique Thomson CSF
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 Thomson CSF Telephone SA, Le Materiel Telephonique Thomson CSF filed Critical Thomson CSF Telephone SA
Publication of EP0020185A1 publication Critical patent/EP0020185A1/en
Application granted granted Critical
Publication of EP0020185B1 publication Critical patent/EP0020185B1/en
Expired legal-status Critical Current

Links

Images

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/50Adding; Subtracting
    • G06F7/504Adding; Subtracting in bit-serial fashion, i.e. having a single digit-handling circuit treating all denominations after each other
    • G06F7/5045Adding; Subtracting in bit-serial fashion, i.e. having a single digit-handling circuit treating all denominations after each other for multiple operands
    • 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

Definitions

  • the present invention relates to a method for rapidly processing binary words to perform simultaneous addition, and to a rapid adder device for implementing this method.
  • the digital adders currently used to add several binary numbers, each having a large number of binary elements comprise a cascade of adding cells each carrying out two Boolean functions with three variables, the carry propagating from cell to cell, which requires a relatively long computation time.
  • additional circuits are used which provide early restraint.
  • the size of these latter adders becomes prohibitive when the format of the binary words to be added increases.
  • the subject of the present invention is a method of processing binary words allowing the simultaneous addition of a large number of words composed of a large number of binary elements in the shortest possible time with the means currently available. , and also relates to an adder device for implementing this method.
  • the processing method in accordance with the present invention consists, starting from words each stored in a shift register and extracted at the serial output of these registers, sequentially extracting all the binary elements of the same weight starting with those of most significant weight weak and progressing in order towards those of highest weight, to be determined at each times the number of "1" among all the binary elements of the same weight, to add, for each considered weight of binary elements, the number of "1" of retention relating to the binary elements of immediately lower weight, to calculate the half sum of these two numbers, to send a "1" in a shift register when this half-sum is not an integer, and a "0" otherwise, to memorize a number equal to the whole part of this half-sum, and extracting the latter number as a number of "1" holdbacks for use when calculating the immediately following half-sum.
  • the device for implementing the method of the present invention comprises a transcoder device, the different inputs of which are connected to the serial outputs of the different shift registers in which the words to be added together are stored, this transcoder device being produced so as to present on its outputs the value, in pure binary, of the number of "1" present on its inputs, the outputs of this transcoder device being connected via a flip-flop register to corresponding binary weight inputs of a circuit parallel binary adder-divider itself connected to a storage register for the sum of the holdbacks, the least significant output of this adder-divider circuit being connected to the serial input of an output shift register.
  • the transcoder device has a pyramid structure with several processing stages, the stage of input, at the base of the pyramid, comprising in parallel several elementary transcoder circuits each supplying on its different outputs the value, in pure binary, of the number of "1" for each binary weight of all the words arriving on all its inputs, the outputs of at least two different transcoder circuits being grouped, each time, at the input of an adder circuit presenting on its outputs the sum of the input values, several stages of such adder circuits being arranged in cascade, each of these stages comprising a number of adding circuits lower than that of the preceding stage, for example half, the last stage, at the top of the pyramid, comprising only one combinatory circuit.
  • the different successive stages constituting the transcoder device are interconnected by means of flip-flop registers, with parallel inputs and outputs, all of the registers being connected to a common generator of clock
  • the fast adder represented diagrammatically on the figurel is intended for the simultaneous addition of 127 words for example, each comprising a large number of binary elements, for example 32.
  • 127 words for example, each comprising a large number of binary elements, for example 32.
  • the number of words that the it can be added together may be different, and that the words may contain a different number of binary elements, the modifications to be made to the device of the invention being obvious to those skilled in the art on reading the presence description.
  • the adder of FIG. 1 comprises, on the input side, p shift registers, respectively referenced 1 to 1 P , p being the number of words to be added together, 127 in the present case, these registers for example each comprising 32 cells if the maximum number n of binary elements of the words to be added is 32.
  • the words to be added together can be introduced into these shift registers either in serial mode or in parallel mode depending on the configuration of the circuits connected upstream of the adder.
  • each register 1 1 to 1 127 is connected to a corresponding input of a transcoder 2 described in more detail below.
  • the transcoder 2 has seven outputs of respective binary weights 2 to 2.
  • the different outputs of transcoder 2 are connected, through the intermediary diary of a register 3, to a series of corresponding inputs of the same weight of a binary adder-divider circuit 4 which can for example be produced in a manner known per se using two integrated circuits 74283 from Texas Instruments.
  • Register 3 is with parallel inputs and outputs and is, for example, typically made up of eight D-type flip-flop cells, one of these cells being unused.
  • the weakest point output of the adder-divider circuit 4 is connected to the serial input of a shift register 5 comprising a number of cells sufficient to contain all the binary elements of the result. For the aforementioned example of the addition of 127 words of 32 binary elements each, it is easily demonstrated that the result comprises a maximum of 39 binary elements.
  • Register 5 will then be a standard 40 cell register.
  • the other outputs of the adder-divider circuit 4 are respectively connected to another series of its corresponding weight inputs via a register 6 with parallel inputs and outputs, of the same constitution as register 3.
  • FIG. 2 shows the detailed diagram of the transcoder device 2 in the case where 127 words of 32 binary elements each have to be added together.
  • the transcoder 2 comprises, on the input side, a first stage with eight elementary transcoder circuits respectively referenced 8 to 15.
  • These transcoder circuits for example FPLA (programmable logic networks) of the 82S100 type from Signetics with sixteen inputs, being programmed to supply each on its five outputs the value, in pure binary, of the total number of "1" present on all its inputs.
  • the inputs of these transcoder circuits are respective ment referenced E 1 to E 127 , the last input of circuit 15 not being used.
  • each time two transcoder circuits are grouped and connected, by means of flip-flop registers of type D, 16 to 19, to corresponding inputs of four adder circuits of a second processing stage, respectively referenced 20 to 23.
  • Each of these four adder circuits provides the sum of its two input values from two corresponding transcoder circuits on its outputs.
  • the outputs of the adder circuits 20 to 23 are also grouped for each time two adders and connected, via two registers 24 and 25, to corresponding inputs of two other adders 26, 27 forming the third processing stage, and finally the outputs of the adders 26 and 27 are connected via two registers 28, 29 to corresponding inputs of an adder 30 forming the last processing stage of the transcoder device and supplying the value on its seven outputs 31 to 37, pure binary, of the total of "1" of the same rank which were present simultaneously on the 127 inputs E to E 127 ,
  • the clock signal inputs of all the registers are connected to a terminal 38 which is itself connected to terminal 7.
  • the conformation of the transcoder device of FIG. 2 is due to the use of elementary trancoder circuits 8 to 15 with sixteen inputs each, the most efficient currently available, and that, of course, if transcoder circuits were available at 128 inputs, the device in FIG. 2 would be reduced to a single such circuit.
  • the pyramidal structure in stages in accordance with the invention can still be used when it is desired to add together a number of words greater than the number of inputs of the available transcoder circuits.
  • the outputs of the transcoder circuits and of the adder circuits can be grouped in a non-symmetrical manner, provided that the weights of the different outputs and inputs of the transcoder or adder circuits are respected.
  • the different registers of the transcoder device 2 are not absolutely necessary, but it is preferable to use them. to properly synchronize the operation of the different stages of this transcoder device.
  • the adder 30 On the second rising edge of the clock signal, the four partial sums supplied by the adders 20 to 23 arrive at the adders 26 and 27, the two partial sums of which reach the last adder 30 at the third rising edge of the clock signal, the adder 30 immediately providing to the input of register 3 the value in pure binary, the total of "1" of weight 2 0 words present in the input registers 1 1 to 1 127.
  • Said first edge of the clock signal not only transfers into the adders 20 to 23 the results supplied by the transcoder circuits 8 to 15 for all the binary elements of weight 20 of the words to be added, but also presents the inputs E to E 127 binary elements of weight 2 1 which follow the same treatment as binary elements of weight 2 0 , and so on up to binary elements of weight 2 31
  • the fourth rising edge of the clock signal transfers into the adder-divider 4 the first useful content of register 3, that is to say the value of the total of "1s" of weight 20 of the words to be added.
  • the adder-divider 4 adds this value to the output value of register 6, which is zero because at the start of the addition of the words there is no reserve, register 6 having been previously reset so as to appropriate, then proceeds to a shift of one step to the right (towards the least significant binary elements) of this value, that is to say that it realizes the division by 2, then it sends in the register 5 the least significant binary element after shift, namely the fraction part nary (2) of the result of the division and sends to register 6 the other shifted bits.
  • the adder 4 performs the half-sum of the value of the total of "1" of the binary weight considered and of the value of the total of "1" of carry, sends the fractional part of this half-sum in the register 5 and send the entire part to register 6 of deductions.
  • the value of the total of the elements of binary weight 2 1 of the words to be added reaches the adder-divider 4 from the adder 3, and simultaneously, the register 6 sends it the value of the total deductions for binary items of weight 2 0 .
  • the adder-divider 4 performs the sum of these two values, then divides it by two, sends the fractional part of the result in register 5 and the whole part in register 6.

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Complex Calculations (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)

Abstract

Les mots à additionner ensemble sont mémorisés dans des registres à décalage (1i à 1p) dont les sorties série sont reliées à des entrées correspondantes d'un transcodeur (2) fournissant la valeur binaire du nombre "1" pour chaque poids binaire des mots à additionner. Cette valeur est envoyée à un additionneur-diviseur (4) qui l'additionne au nombre de "1" de retenue de poids immédiatement inférieur, effectue la division par 2 de cette somme, envoie dans un registre de sortie (5) la partie fractionnaire de la demi-somme et dans un registre de retenue la partie entière. Application: filtres numériques en téléphonie MIC.The words to be added together are stored in shift registers (1i to 1p) whose serial outputs are connected to corresponding inputs of a transcoder (2) providing the binary value of the number "1" for each binary weight of the words to add. This value is sent to an adder-divider (4) which adds it to the number of "1" holding the next lower weight, divides this sum by 2, sends the fractional part to an output register (5) of the half sum and in a deduction register the whole part. Application: digital filters in MIC telephony.

Description

La présente invention se rapporte à un procédé de traitement rapide de mots binaires pour en effectuer l'addition simultanée, et à un dispositif additionneur rapide pour la mise en oeuvre de ce procédé.The present invention relates to a method for rapidly processing binary words to perform simultaneous addition, and to a rapid adder device for implementing this method.

Les additionneurs numériques actuellement utilisés pour additionner plusieurs nombres binaires, ayant chacun un grand nombre d'éléments binaires, comportent une cascade de cellules addition- neuses réalisant chacune deux fonctions booléennes à trois variables, la retenue se propageant de cellule en cellule, ce qui nécessite un temps de calcul relativement long. Pour diminuer le retard dû à la propagation de la retenue, on a recours à des circuits supplémentaires fournissant une retenue anticipée. Cependant, l'encombrement de ces derniers additionneurs devient prohibitif lorsque le format des mots binaires à additionner augmente.The digital adders currently used to add several binary numbers, each having a large number of binary elements, comprise a cascade of adding cells each carrying out two Boolean functions with three variables, the carry propagating from cell to cell, which requires a relatively long computation time. To reduce the delay due to the propagation of the restraint, additional circuits are used which provide early restraint. However, the size of these latter adders becomes prohibitive when the format of the binary words to be added increases.

Dans de nombreuses applications des additionneurs, par exemple dans les filtres numériques, les transformateurs de Fourier, les corrélateurs numériques en temps réel, il est nécessaire d'effectuer un grand nombre d'additions en un temps court, par exemple environ 65 millions d'additions par seconde sur des mots de 16 éléments binaires (bits) dans certains filtres numériques transversaux. Dans de tels cas, même les additionneurs rapides à retenue anticipée ne conviennent plus.In many applications of adders, for example in digital filters, Fourier transformers, digital correlators in real time, it is necessary to carry out a large number of additions in a short time, for example about 65 million additions per second on words of 16 binary elements (bits) in certain transverse digital filters. In such cases, even fast-hold fast adders are no longer suitable.

La présente invention a pour objet un procédé de traitement de mots binaires permettant d'effectuer l'addition simultanée d'un grand nombre de mots composés d'un grand nombre d'éléments binaires en un temps le plus court possible avec les moyens actuellement disponibles, et a également pour objet un dispositif additionneur pour la mise en oeuvre de ce procédé.The subject of the present invention is a method of processing binary words allowing the simultaneous addition of a large number of words composed of a large number of binary elements in the shortest possible time with the means currently available. , and also relates to an adder device for implementing this method.

Le procédé de traitement conforme à la présente invention consiste, à partir de mots mémorisés chacun dans un registre à décalage et extraits à la sortie série de ces registres, à extraire séquentiellement tous les éléments binaires de même poids en commençant par ceux de poids le plus faible et en progressant dans l'ordre vers ceux de poids le plus élevé, à déterminer à chaque fois le nombre de "1" parmi tous les éléments binaires de même poids, à ajouter, pour chaque poids considéré d'éléments binaires, le nombre de "1" de retenue relative aux éléments binaires de poids immédiatement inférieur, à calculer la demi-somme de ces deux nombres, à envoyer un "1" dans un registre à décalage lorsque cette demi-somme n'est pas un nombre entier, et un "0" dans le cas contraire, à mémoriser un ncmbre égal à la partie entière de cette demi-somme, et à extraire ce dernier nombre en tant que nombre de "1" de retenue pour l'utiliser lors du calcul de la demi-somme immédiatement suivante.The processing method in accordance with the present invention consists, starting from words each stored in a shift register and extracted at the serial output of these registers, sequentially extracting all the binary elements of the same weight starting with those of most significant weight weak and progressing in order towards those of highest weight, to be determined at each times the number of "1" among all the binary elements of the same weight, to add, for each considered weight of binary elements, the number of "1" of retention relating to the binary elements of immediately lower weight, to calculate the half sum of these two numbers, to send a "1" in a shift register when this half-sum is not an integer, and a "0" otherwise, to memorize a number equal to the whole part of this half-sum, and extracting the latter number as a number of "1" holdbacks for use when calculating the immediately following half-sum.

Le dispositif de mise en oeuvre du procédé de la présente invention comporte un dispositif transcodeur dont les différentes entrées sont reliées aux sorties série des différents registres à décalage dans lesquels sont mémorisés les mots à additionner ensemble, ce dispositif transcodeur étant réalisé de façon à présenter sur ses sorties la valeur, en binaire pur, du nombre de "1" présents sur ses entrées, les sorties de ce dispositif transcodeur étant reliées par l'intermédiaire d'un registre à bascules bistables à des entrées de poids binaires correspondants d'un circuit additionneur-diviseur binaire parallèle lui-même relié à un registre de mémorisation de la somme des retenues, la sortie de poids le plus faible de ce circuit additionneur-diviseur étant reliée à l'entrée série d'un registre à décalage de sortie.The device for implementing the method of the present invention comprises a transcoder device, the different inputs of which are connected to the serial outputs of the different shift registers in which the words to be added together are stored, this transcoder device being produced so as to present on its outputs the value, in pure binary, of the number of "1" present on its inputs, the outputs of this transcoder device being connected via a flip-flop register to corresponding binary weight inputs of a circuit parallel binary adder-divider itself connected to a storage register for the sum of the holdbacks, the least significant output of this adder-divider circuit being connected to the serial input of an output shift register.

Selon un mode de réalisation particulier du dispositif de l'invention,destiné à l'addition d'un grand nombre de mots, par exemple supérieur à 16, le dispositif transcodeur a une structure pyramidale à plusieurs étages de traitement, l'étage d'entrée, à la base de la pyramide, comportant en parallèle plusieurs circuits transcodeurs élémentaires fournissant chacun sur ses différentes sorties la valeur, en binaire pur, du nombre de "1" pour chaque poids binaire de tous les mots arrivant sur toutes ses entrées, les sorties d'au moins deux circuits transcodeurs différents étant regroupées, à chaque fois, à l'entrée d'un circuit additionneur présentant sur ses sorties la somme des valeurs d'entrée, plusieurs étages de tels circuits additionneurs étant disposés en cascade, chacun de ces étages comportant un nombre de circuits additionneurs inférieur à celui de l'étage précédent, par exemple la moitié, le dernier étage, au sommet de la pyramide, ne comportant qu'un seul circuit combinatoire. De préférence, les différents étages successifs constituant le dispositif transcodeur sont reliés entre eux par l'intermédiaire de registresà bascules bistables, à entrées et sorties parallèles, tous les registres étant reliés à un générateur commun de signaux d'horloge.According to a particular embodiment of the device of the invention, intended for the addition of a large number of words, for example greater than 16, the transcoder device has a pyramid structure with several processing stages, the stage of input, at the base of the pyramid, comprising in parallel several elementary transcoder circuits each supplying on its different outputs the value, in pure binary, of the number of "1" for each binary weight of all the words arriving on all its inputs, the outputs of at least two different transcoder circuits being grouped, each time, at the input of an adder circuit presenting on its outputs the sum of the input values, several stages of such adder circuits being arranged in cascade, each of these stages comprising a number of adding circuits lower than that of the preceding stage, for example half, the last stage, at the top of the pyramid, comprising only one combinatory circuit. Preferably, the different successive stages constituting the transcoder device are interconnected by means of flip-flop registers, with parallel inputs and outputs, all of the registers being connected to a common generator of clock signals.

La présente invention sera mieux comprise à l'aide de la description détaillée d'un mode de réalisation pris comme exemple non limitatif et illustré par le dessin annexé, sur lequel :

  • - la figure 1 est un schéma général d'un additionneur rapide conforme à la présente invention, et
  • - la figure 2 est le schéma détaillé du dispositif transcodeur de la figure 1.
The present invention will be better understood with the aid of the detailed description of an embodiment taken as a nonlimiting example and illustrated by the appended drawing, in which:
  • FIG. 1 is a general diagram of a fast adder according to the present invention, and
  • - Figure 2 is the detailed diagram of the transcoder device of Figure 1.

L'additionneur rapide représenté schématiquement sur la figurel est destiné à l'addition simultanée de 127 mots par exemple, comportant chacun un grand nombre d'éléments binaires, par exemple 32. Toutefois, il est bien entendu que le nombre de mots que l'on peut additionner ensemble peut être différent, et que les mots peuvent contenir un nombre différent d'éléments binaires, les modifications à apporter au dispositif de l'invention étant évidentes pour l'homme de l'art à la lecture de la présence description.The fast adder represented diagrammatically on the figurel is intended for the simultaneous addition of 127 words for example, each comprising a large number of binary elements, for example 32. However, it is understood that the number of words that the it can be added together may be different, and that the words may contain a different number of binary elements, the modifications to be made to the device of the invention being obvious to those skilled in the art on reading the presence description.

L'additionneur de la figure 1 comporte, côté entrée, p registres à décalage, respectivement référencés 1 à 1P, p étant le nombre de mots à additionner ensemble, 127 dans le cas présent, ces registres comportant par exemple chacun 32 cellules si le nombre maximal n d'éléments binaires des mots à additionner est de 32. Les mots à additionner ensemble peuvent être introduits dans ces registres à décalage soit en mode série, soit en mode parallèle selon la conformation des circuits branchés en amont de l'additionneur.The adder of FIG. 1 comprises, on the input side, p shift registers, respectively referenced 1 to 1 P , p being the number of words to be added together, 127 in the present case, these registers for example each comprising 32 cells if the maximum number n of binary elements of the words to be added is 32. The words to be added together can be introduced into these shift registers either in serial mode or in parallel mode depending on the configuration of the circuits connected upstream of the adder.

La sortie série de chaque registre 11 à 1127 est reliée à une entrée correspondante d'un transcodeur 2 décrit plus en détail ci-dessous. Dans le cas de l'addition de 127 mots, le transcodeur 2 comporte sept sorties de poids binaires respectifs 2 à 2 . Les différentes sorties du transcodeur 2 sont reliées, par l'intermédiaire d'un registre 3, à une série d'entrées correspondantes de même poids d'un circuit additionneur-diviseur binaire 4 qui peut par exemple être réalisé de façon connue en soi à l'aide de deux circuits intégrés 74283 de Texas Instruments. Le registre 3 est à entrées et sorties parallèles et se compose par exemple de façon classique de huit cellules à bascule bistable de type D, l'une de ces cellules étant inutilisée.The serial output of each register 1 1 to 1 127 is connected to a corresponding input of a transcoder 2 described in more detail below. In the case of the addition of 127 words, the transcoder 2 has seven outputs of respective binary weights 2 to 2. The different outputs of transcoder 2 are connected, through the intermediary diary of a register 3, to a series of corresponding inputs of the same weight of a binary adder-divider circuit 4 which can for example be produced in a manner known per se using two integrated circuits 74283 from Texas Instruments. Register 3 is with parallel inputs and outputs and is, for example, typically made up of eight D-type flip-flop cells, one of these cells being unused.

La sortie de point le plus faible du circuit additionneur-diviseur 4 est reliée à l'entrée série d'un registre à décalage 5 comportant un nombre de cellules suffisant pour contenir tous les éléments binaires du résultat. Pour l'exemple précité de l'addition de 127 mots de 32 éléments binaires chacun, on démontre facilement que le résultat comporte au maximum 39 éléments binaires. Le registre 5 sera alors un registre standard à 40 cellules.The weakest point output of the adder-divider circuit 4 is connected to the serial input of a shift register 5 comprising a number of cells sufficient to contain all the binary elements of the result. For the aforementioned example of the addition of 127 words of 32 binary elements each, it is easily demonstrated that the result comprises a maximum of 39 binary elements. Register 5 will then be a standard 40 cell register.

Les autres sorties du circuit additionneur-diviseur 4 sont respectivement reliées à une autre série de ses entrées de poids correspondants par l'intermédiaire d'un registre 6 à entrées et sorties parallèles, de même constitution que le registre 3.The other outputs of the adder-divider circuit 4 are respectively connected to another series of its corresponding weight inputs via a register 6 with parallel inputs and outputs, of the same constitution as register 3.

On peut disposer du résultat de l'addition soit sur la sortie série S du registre 5, et ce au fur et à mesure des opérations de calcul décrites ci-dessous, soit sur les sorties parallèles S1 à S du registre 5 à la fin des opérations de calcul.We can have the result of the addition either on the serial output S of register 5, as and when the calculation operations described below, or on the parallel outputs S 1 to S of register 5 at the end calculation operations.

La circulation des informations dans les registres à décalage 11 à 1p et 5, ainsi que le transit dans les registres 3 et 6 sont commandés par un signal d'horloge arrivant sur la borne 7 qui est reliée à l'entrée CK de signaux d'horloge de tous ces registres.The circulation of information in the shift registers 1 1 to 1p and 5, as well as the transit in the registers 3 and 6 are controlled by a clock signal arriving at terminal 7 which is connected to the input CK of signals d clock of all these registers.

On a représenté sur la figure 2 le schéma détaillé du dispositif transcodeur 2 dans le cas où l'on doit additionner ensemble 127 mots de 32 éléments binaires chacun.FIG. 2 shows the detailed diagram of the transcoder device 2 in the case where 127 words of 32 binary elements each have to be added together.

Le transcodeur 2 comporte, côté entrée, un premier étage à huit circuits transcodeurs élémentaires respectivement référencés 8 à 15. Ces circuits transcodeurs, par exemple des FPLA (réseaux logiques programmables) de type 82S100 de Signetics à seize entrées, étant programmés pour fournir chacun sur ses cinq sorties la valeur, en binaire pur, du nombre total de "1" présents sur toutes ses entrées. Les entrées de ces circuits transcodeurs sont respectivement référencées E1 à E127, la dernière entrée du circuit 15 n'étant pas utilisée.The transcoder 2 comprises, on the input side, a first stage with eight elementary transcoder circuits respectively referenced 8 to 15. These transcoder circuits, for example FPLA (programmable logic networks) of the 82S100 type from Signetics with sixteen inputs, being programmed to supply each on its five outputs the value, in pure binary, of the total number of "1" present on all its inputs. The inputs of these transcoder circuits are respective ment referenced E 1 to E 127 , the last input of circuit 15 not being used.

Les sorties de chaque fois deux circuits transcodeurs sont regroupées et reliées, par l'intermédiaire de registres à bascules bistables de type D,16 à 19, à des entrées correspondantes de quatre circuits additionneurs d'un second étage de traitement, respectivement référencés 20 à 23. Chacun de ces quatre circuits additionneurs fournit sur ses sorties la somme de ses deux valeurs d'entrée provenant de deux circuits transcodeurs correspondants. Les sorties des circuits additionneurs 20 à 23 sont également regroupées pour chaque fois deux additionneurs et reliées, par l'intermédiaire de deux registres 24 et 25, à des entrées correspondantes de deux autres additionneurs 26, 27 formant le troisième étage de traitement, et enfin les sorties des additionneurs 26 et 27 sont reliées par l'intermédiaire de deux registres 28, 29 à des entrées correspondantes d'un additionneur 30 formant le dernier étage de traitement du dispositif transcodeur et fournissant sur ses sept sorties 31 à 37 la valeur, en binaire pur, du total des "1" de même rang qui étaient présents simultanément sur les 127 entrées E à E 127,The outputs of each time two transcoder circuits are grouped and connected, by means of flip-flop registers of type D, 16 to 19, to corresponding inputs of four adder circuits of a second processing stage, respectively referenced 20 to 23. Each of these four adder circuits provides the sum of its two input values from two corresponding transcoder circuits on its outputs. The outputs of the adder circuits 20 to 23 are also grouped for each time two adders and connected, via two registers 24 and 25, to corresponding inputs of two other adders 26, 27 forming the third processing stage, and finally the outputs of the adders 26 and 27 are connected via two registers 28, 29 to corresponding inputs of an adder 30 forming the last processing stage of the transcoder device and supplying the value on its seven outputs 31 to 37, pure binary, of the total of "1" of the same rank which were present simultaneously on the 127 inputs E to E 127 ,

Les entrées de signal d'horloge de tous les registres sont reliées à une borne 38 qui est elle-même reliée à la borne 7.The clock signal inputs of all the registers are connected to a terminal 38 which is itself connected to terminal 7.

On remarquera que la conformation du dispositif transcodeur de la figure 2 est due à l'utilisation de circuits trancodeurs élémentaires 8 à 15 à seize entrées chacun, les plus performants actuellement disponibles, et que, bien entendu, si l'on disposait de circuits transcodeurs à 128 entrées, le dispositif de la figure 2 se réduirait à un seul tel circuit. Toutefois, la structure pyramidale en étages conforme à l'invention pourra toujours être utilisée lorsque l'on voudra additionner ensemble un nombre de mots supérieur au nombre des entrées des circuits transcodeurs disponibles. On remarquera également que les sorties des circuits transcodeurs et des circuits additionneurs peuvent être regroupées de façon différente non symétrique, à condition de respecter les poids des différentes sorties et entrées des circuits transcodeurs ou additionneurs.It will be noted that the conformation of the transcoder device of FIG. 2 is due to the use of elementary trancoder circuits 8 to 15 with sixteen inputs each, the most efficient currently available, and that, of course, if transcoder circuits were available at 128 inputs, the device in FIG. 2 would be reduced to a single such circuit. However, the pyramidal structure in stages in accordance with the invention can still be used when it is desired to add together a number of words greater than the number of inputs of the available transcoder circuits. It will also be noted that the outputs of the transcoder circuits and of the adder circuits can be grouped in a non-symmetrical manner, provided that the weights of the different outputs and inputs of the transcoder or adder circuits are respected.

Les différents registres du dispositif transcodeur 2 ne sont pas absolument nécessaires, mais il est préférable de les utiliser pour bien synchroniser le fonctionnement des différents étages de ce dispositif transcodeur.The different registers of the transcoder device 2 are not absolutely necessary, but it is preferable to use them. to properly synchronize the operation of the different stages of this transcoder device.

L'additionneur décrit ci-dessus fonctionne de la façon suivante: les mots à additionner ensemble sont mémorisés dans les registres d'entrée 11 à 1p (p = 127 dans l'exemple précité), l'élément binaire de poids le plus faible (20) de chacun de ces mots étant disponible à l'entrée du dispositif transcodeur 2. On dispose sur les sorties de chacun des circuits 8 à 15 de la valeur en binaire pur du total des "1" de poids 20 présents à l'entrée. Au premier front montant du signal d'horloge arrivant sur la borne 38, ces valeurs sont transférées dans les additionneurs 20 à 23 pour y être additionnées deux à deux. Au deuxième front montant du signal d'horloge, les quatre sommes partielles fournies par les additionneurs 20 à 23 arrivent aux additionneurs 26 et 27 dont les deux sommes partielles parviennent au dernier additionneur 30 au troisième front montant du signal d'horloge, l'additionneur 30 fournissant aussitôt à l'entrée du registre 3 la valeur, en binaire pur, du total des "1" de poids 20 des mots présents dans les registres d'entrée 11 à 1 127.The adder described above operates as follows: the words to be added together are stored in the input registers 1 1 to 1p (p = 127 in the above example), the least significant binary element (2 0 ) of each of these words being available at the input of the transcoder device 2. On the outputs of each of the circuits 8 to 15 are available the value in pure binary of the total of the "1" of weight 2 0 present at the entrance. At the first rising edge of the clock signal arriving at terminal 38, these values are transferred to the adders 20 to 23 to be added there in pairs. On the second rising edge of the clock signal, the four partial sums supplied by the adders 20 to 23 arrive at the adders 26 and 27, the two partial sums of which reach the last adder 30 at the third rising edge of the clock signal, the adder 30 immediately providing to the input of register 3 the value in pure binary, the total of "1" of weight 2 0 words present in the input registers 1 1 to 1 127.

Ledit premier front du signal d'horloge non seulement transfère dans les additionneurs 20 à 23 les résultats fournis par les circuits transcodeurs 8 à 15 pour tous les éléments binaires de poids 20 des mots à additionner, mais présente aux entrées E à E127 les éléments binaires de poids 21 qui suivent le même traitement que les éléments binaires de poids 20, et ainsi de suite jusqu' aux éléments binaires de poids 2 31 Said first edge of the clock signal not only transfers into the adders 20 to 23 the results supplied by the transcoder circuits 8 to 15 for all the binary elements of weight 20 of the words to be added, but also presents the inputs E to E 127 binary elements of weight 2 1 which follow the same treatment as binary elements of weight 2 0 , and so on up to binary elements of weight 2 31

Le quatrième front montant du signal d'horloge transfère dans l'additionneur-diviseur 4 le premier contenu utile du registre 3, c'est-à-dire la valeur du total des "1" de poids 20 des mots à additionner. L'additionneur-diviseur 4 additionne cette valeur à la valeur de sortie du registre 6, qui est nulle car au début de l'addition des mots il n'y a pas de retenue, le registre 6 ayant été préalablement remis à zéro de façon appropriée, puis procède à un décalage d'un pas ver la droite (vers les éléments binaires de poids plus faible) de cette valeur,c'est-à-dire qu'il en réalise la division par 2, puis il envoie dans le registre 5 l'élément binaire de poids le plus faible après décalage, à savoir la partie fractionnaire (2 ) du résultat de la division et envoie dans le registre 6 les autres éléments binaires décalés. Cela veut dire que l'additionneur 4 effectue la demi-somme de la valeur du total des "1" du poids binaire considéré et de la valeur du total des "1" de retenue, envoie la partie fractionnaire de cette demi-somme dans le registre 5 et en envoie la partie entière dans le registre 6 de retenues.The fourth rising edge of the clock signal transfers into the adder-divider 4 the first useful content of register 3, that is to say the value of the total of "1s" of weight 20 of the words to be added. The adder-divider 4 adds this value to the output value of register 6, which is zero because at the start of the addition of the words there is no reserve, register 6 having been previously reset so as to appropriate, then proceeds to a shift of one step to the right (towards the least significant binary elements) of this value, that is to say that it realizes the division by 2, then it sends in the register 5 the least significant binary element after shift, namely the fraction part nary (2) of the result of the division and sends to register 6 the other shifted bits. This means that the adder 4 performs the half-sum of the value of the total of "1" of the binary weight considered and of the value of the total of "1" of carry, sends the fractional part of this half-sum in the register 5 and send the entire part to register 6 of deductions.

Au cinquième front montant du signal d'horloge, la valeur du total des éléments de poids binaire 21 des mots à additionner parvient à l'additionneur-diviseur 4 depuis l'additionneur 3, et simultanément, le registre 6 lui envoie la valeur du total des retenues relatives aux éléments binaires de poids 20. L'additionneur-diviseur 4 effectue la somme de ces deux valeurs, puis la divise par deux, envoie la partie fractionnaire du résultat dans le registre 5 et la partie entière dans le registre 6. Ce traitement se poursuit ainsi de suite jusqu'au trente-cinquième front montant du signal d'horloge qui commande l'addition de la valeur du total des "1" de poids 231 au total des retenues relatives aux "1" de poids 230, puis la division par deux de cette somme, l'envoi dans le registre 5 de l'élément binaire de poids le plus faible et l'envoi dans le registre 6 du total des retenues. Ensuite, plus aucun "1" ne peut parvenir du registre 3 dans l'additionneur-diviseur 4, si l'on suppose qu'aucun autre mot n'est plus chargé dans les registres d'entrée 11 à 1127. Donc, à partir du trente-sixième front montant du signal d'horloge, seules les retenues circulent entre le registre 6 et l'additionneur-diviseur 4. On peut facilement démontrer que la valeur maximale du total des "1" de retenue parvenant du registre 6 à l'additionneur-diviseur 4 au trente-sixième front montant est de 126. Par conséquent, tous les 1 de retenue seront épuisés au plus tard après le quarante-deuxième front montant du signal d'horloge. Si on prend par exemple un signal d'horloge à 16 MHz, c'est-à-dire de période égale à 62,5 nanosecondes, l'addition des 127 mots de 32 éléments binaires chacun sera terminée en 2,6 µs, environ, ce qui est tout à fait compatible par exemple avec les durées maximales permises de traitement pour les filtres numériques utilisés en téléphonie MIC, et nettement inférieur au temps de traitement des additionneurs classiques de même capacité.On the fifth rising edge of the clock signal, the value of the total of the elements of binary weight 2 1 of the words to be added reaches the adder-divider 4 from the adder 3, and simultaneously, the register 6 sends it the value of the total deductions for binary items of weight 2 0 . The adder-divider 4 performs the sum of these two values, then divides it by two, sends the fractional part of the result in register 5 and the whole part in register 6. This processing continues thus until the thirtieth -th fifth rising edge of the clock signal which commands the addition of the value of the total of "1" of weight 2 31 to the total of the deductions relating to "1" of weight 2 30 , then the division by two of this sum, sending the least significant binary element to register 5 and sending the total of the deductions to register 6. Then, no more "1" can arrive from register 3 in the adder-divider 4, if we assume that no other word is no longer loaded in the input registers 1 1 to 1127. Therefore, at from the thirty-sixth rising edge of the clock signal, only the retained flows circulate between the register 6 and the adder-divider 4. It can easily be demonstrated that the maximum value of the total of the "1" of retention arriving from the register 6 to the adder-divider 4 at the thirty-sixth rising edge is 126. Consequently, all the carry 1s will be exhausted at the latest after the forty-second rising edge of the clock signal. If we take for example a clock signal at 16 MHz, that is to say with a period equal to 62.5 nanoseconds, the addition of the 127 words of 32 binary elements each will be completed in 2.6 µs, approximately , which is entirely compatible for example with the maximum permitted processing times for digital filters used in MIC telephony, and significantly less than the processing time for conventional adders of the same capacity.

De manière générale, on peut facilement démontrer que si on procède à l'addition de p mots comportant chacun n éléments binaires l'addition sera terminée au plus tard en:n + r + s périodes du signal d'horloge, avec : 2r ≤ p < 2 et s = Log2 (

Figure imgb0001
) en supposant que l'on utilise des circuits transcodeurs élémentaires à 16 entrées.In general, we can easily demonstrate that if we proceed with the addition of p words each comprising n binary elements the addition will be completed at the latest in : n + r + s periods of the clock signal, with: 2 r ≤ p <2 and s = Log 2 (
Figure imgb0001
) assuming that elementary transcoder circuits with 16 inputs are used.

On va maintenant vérifier à l'aide d'un exemple simplifié d'addition binaire que le fonctionnement de l'additionneur de l'invention est correct. On se limitera à l'addition de quatre mots a, b, c et d de cinq éléments binaires ("bits") chacun, à savoir : 11110, 01010, 01111, 01111, ce qui fait en décimal : 30, 10, 15 et 15 respectivement. On va placer ces quatre mots à la partie médiane d'un tableau dont la partie supérieure est réservée aux retenues et la ligne inférieure au résultat. On fera l'addition de façon connue analogue à celle utilisée pour réaliser par écrit des additions dans le système décimal.

Figure imgb0002
We will now verify using a simplified example of binary addition that the operation of the adder of the invention is correct. We will limit ourselves to the addition of four words a, b, c and d of five binary elements ("bits") each, namely: 11110, 01010, 01111, 01111, which makes in decimal: 30, 10, 15 and 15 respectively. We will place these four words in the middle part of a table, the upper part of which is reserved for deductions and the lower line for results. The addition will be made in a known manner analogous to that used to make written additions in the decimal system.
Figure imgb0002

Pour réaliser l'addition, on écrit, l'un en dessous de l'autre les quatre mots a à d, les bits de même poids se trouvant dans la même colonne, et on les additionne mentalement colonne par colonne en commençant par le poids le plus faible et en reportant une retenue dans la colonne de poids supérieur à chaque fois que l'on additionne deux "1". Pour la colonne de poids 20, on trouve deux "1" et il n'y a bien entendu aucune retenue provenant d'une colonne précédente. On écrit donc sur une ligne du résultat un "0" et on reporte une seule retenue dans la colonne de poids 21.To carry out the addition, one writes, one below the other the four words a to d, the bits of the same weight being in the same column, and they are added mentally column by column starting with the weight the lowest and by carrying a carry-over in the higher weight column each time two "1s" are added. For the weight column 2 0 , there are two "1" and there is of course no deduction from a pre column cedent. We therefore write on a result line a "0" and we carry a single deduction in the weight column 2 1 .

Dans la colonne de poids 21, on trouve quatre "1" provenant des quatre mots et un "I" de retenue, ce qui fait au total cinq "1". On doit donc reporter deux "1" de retenue dans la colonne de poids 22 et on inscrit un "1" pour le résultat dans la colonne 21. On procède ainsi de suite pour toutes les autres colonnes, et on trouve comme résultat : 1000110, c'est-à-dire 70 en notation décimale, qui est bien la somme de 30, 10, 15 et 15.In the weight column 2 1 , there are four "1" from the four words and a retaining "I", which makes a total of five "1". We must therefore carry two "1" retainers in the weight column 2 2 and write a "1" for the result in column 2 1 . One proceeds thus on for all the other columns, and one finds as result: 1000110, that is to say 70 in decimal notation, which is indeed the sum of 30, 10, 15 and 15.

En analysant cette façon d'additionner, on remarque que dans chaque colonne l'élément binaire du résultat est un "0" lorsque le nombre de "1" des mots et des retenues est pair et un "1" lorsque ce nombre est impair, et que d'autre part le nombre de "1" de retenue est égal à la moitié du nombre de "1" de la colonne précédente lorsque ce nombre est pair, est à la moitié du nombre immédiatement inférieur lorsque le nombre de "1" est impair, ce qui revient à dire que le nombre de "1" de retenue est égal à la partie entière de la moitié du nombre de "1" de mots et de retenue de la colonne précédente, et que l'élément binaire du résultat est égal à la partie fractionnaire de cette moitié. On peut vérifier facilement que cette règle est valable dans tous les cas. Par conséquent, le procédé de traitement de mots binaires décrit ci-dessus permet d'obtenir effectivement la somme de ces mots, et le dispositif de mise en oeuvre de ce prodécé fonctionne correctement.By analyzing this way of adding, we notice that in each column the binary element of the result is a "0" when the number of "1" of the words and of the retentions is even and a "1" when this number is odd, and that on the other hand the number of "1" withholding is equal to half the number of "1" in the previous column when this number is even, is half the number immediately below when the number of "1" is odd, which means that the number of "1" retainers is equal to the integer part of half the number of "1" words and retainers in the previous column, and that the binary element of the result is equal to the fractional part of this half. We can easily verify that this rule is valid in all cases. Consequently, the process for processing binary words described above makes it possible to effectively obtain the sum of these words, and the device for implementing this product works correctly.

Claims (5)

1. Procédé de traitement de mots binaires, permettant d'effectuer l'addition simultanée d'un grand nombre de tels mots, ces mots étant mémorisés chacun dans un registre à décalage et extraits à la sortie série de ces registres, caractérisé par le fait que l'on extrait séquentiellement tous les éléments binaires de même poids en commençant par ceux de poids le plus faible et en progressant dans l'ordre vers ceux de poids le plus élevé, que l'on détermine à chaque fois le nombre de "1" parmi tous les éléments binaires de même poids, que l'on ajoute, pour chaque poids considéré d'éléments binaires, le nombre de "1" de retenue relative aux éléments binaires de poids immédiatement inférieur, que l'on calcule la demi-somme de ces deux nombres, que l'on envoie un "1" dans un registre à décalage lorsque cette demi-somme n'est pas un nombre entier, et un "0" dans le cas contraire, que l'on mémorise un nombre égal à la partie entière de cette demi-somme et que l'on extrait ce dernier nombre en tant que nombre de "1" de retenue pour l'utiliser lors du calcul de la demi-somme immédiatement suivante.1. Method for processing binary words, making it possible to simultaneously add a large number of such words, these words being each stored in a shift register and extracted at the serial output of these registers, characterized by the fact that we sequentially extract all the binary elements of the same weight starting with those of the lowest weight and progressing in order towards those of the highest weight, that we determine each time the number of "1 "among all the binary elements of the same weight, that we add, for each considered weight of binary elements, the number of" 1 "of retention relative to the binary elements of immediately lower weight, which we calculate the half sum of these two numbers, that we send a "1" in a shift register when this half-sum is not an integer, and a "0" otherwise, that we store a number equal to the integer part of this half-sum and that we extract this last number in t ant that number of "1" deductions for use when calculating the immediately following half-sum. 2. Procédé selon la revendication 1, utilisant des circuits transcodeurs à seize entrées pour l'addition de p mots comportant chacun n éléments binaires, caractérisé par le fait que l'addition de ces p mots nécessite au maximum n + r + s périodes de signal d'horloge, avec 2r < p < 2r+1 et s = Log2 (
Figure imgb0003
).
2. Method according to claim 1, using transcoder circuits with sixteen inputs for the addition of p words each comprising n binary elements, characterized in that the addition of these p words requires at most n + r + s periods of clock signal, with 2 r <p <2 r + 1 and s = Log2 (
Figure imgb0003
).
3. Dispositif additionneur pour la mise en oeuvre du procédé selon la revendication 1 ou 2, caractérisé par le fait qu'il comporte un dispositif transcodeur (2) dont les différentes entrées sont reliées aux sorties série des différents registres à décalage (11... 1p) dans lesquels sont mémorisés les mots à additionner ensemble, ce dispositif transcodeur étant réaliser de façon à présenter sur ses sorties la valeur, en binaire pur, du nombre de "1" présents sur ses entrées, les sorties de ce dispositif transcodeur étant reliées par l'intermédiaire d'un registre à bascules bistables (3) à des entrées de poids binaires correspondants d'un circuit additionneur-diviseur binaire parallèle (4) lui-même relié à un registre de mémorisation de la somme des retenues (6), la sortie de poids le plus faible de ce circuit additionneur-diviseur étant reliée à l'entrée série d'un registre à décalage de sortie (5).3. Adding device for implementing the method according to claim 1 or 2, characterized in that it comprises a transcoder device (2) whose different inputs are connected to the serial outputs of the different shift registers (1 1 . .. 1 p ) in which the words to be added together are memorized, this transcoder device being produced so as to present on its outputs the value, in pure binary, of the number of "1" present on its inputs, the outputs of this device transcoder being connected by means of a flip-flop register (3) to corresponding binary weight inputs of a parallel binary adder-divider circuit (4) itself connected to a storage register for the sum of the deductions (6), the least significant output of this adder-divider circuit being connected to the serial input of an output shift register (5). 4. Dispositif additionneur selon la revendication 3, caractérisé par le fait que le dispositif transcodeur a une structure pyramidale à plusieurs étages de traitement, l'étage d'entrée, à la base de la pyramide, comportant en parallèle plusieurs circuits transcodeurs élémentaires (8...15) fournissant chacun sur ses différentes sorties la valeur, en binaire pur, du nombre de "1", pour chaque poids binaire de tous les mots arrivant sur toutes ses entrées, les sorties d'au moins deux circuits transcodeurs différents étant regroupées à chaque fois à l'entrée d'un circuit additionneur (20-23), plusieurs étages de tels circuits additionneurs étant disposés en cascade, le dernier étage, au sommet de la pyramide, ne comportant qu'un seul circuit additionneur (30).4. Adding device according to claim 3, characterized in that the transcoder device has a pyramidal structure with several processing stages, the input stage, at the base of the pyramid, comprising in parallel several elementary transcoder circuits (8 ... 15) each supplying on its different outputs the value, in pure binary, of the number of "1", for each binary weight of all the words arriving on all its inputs, the outputs of at least two different transcoder circuits being grouped each time at the input of an adder circuit (20-23), several stages of such adder circuits being arranged in cascade, the last stage, at the top of the pyramid, comprising only one adder circuit (30 ). 5. Dispositif additionneur selon la revendication 4, caractérisé par le fait que les différents étages successifs constituant le dispositif transcodeur sont reliésentre eux par l'intermédiaire de registres à bascules bistables, à entrées et sorties parallèles, tous les registres étant reliés à un générateur commun de signaux d'horloge.5. An adder device according to claim 4, characterized in that the different successive stages constituting the transcoder device are connected by means of flip-flop registers, with parallel inputs and outputs, all of the registers being connected to a common generator. clock signals.
EP80400354A 1979-04-12 1980-03-17 Method and apparatus for the serial-parallel addition of a great number of words Expired EP0020185B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR7909325A FR2454136B1 (en) 1979-04-12 1979-04-12 FAST SEQUENTIAL ADDER
FR7909325 1979-04-12

Publications (2)

Publication Number Publication Date
EP0020185A1 true EP0020185A1 (en) 1980-12-10
EP0020185B1 EP0020185B1 (en) 1983-11-23

Family

ID=9224273

Family Applications (1)

Application Number Title Priority Date Filing Date
EP80400354A Expired EP0020185B1 (en) 1979-04-12 1980-03-17 Method and apparatus for the serial-parallel addition of a great number of words

Country Status (8)

Country Link
US (1) US4336600A (en)
EP (1) EP0020185B1 (en)
AU (1) AU5737180A (en)
BR (1) BR8002202A (en)
CA (1) CA1158774A (en)
DE (1) DE3065651D1 (en)
FR (1) FR2454136B1 (en)
GR (1) GR67742B (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0375125A2 (en) * 1988-12-23 1990-06-27 Ampex Systems Corporation High speed digital data correlator having a synchronous pipe lined full adder cell array
GB2294138A (en) * 1994-09-23 1996-04-17 Cambridge Consultants Data processing circuits and interfaces
US5978827A (en) * 1995-04-11 1999-11-02 Canon Kabushiki Kaisha Arithmetic processing
US6311263B1 (en) 1994-09-23 2001-10-30 Cambridge Silicon Radio Limited Data processing circuits and interfaces

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0051079B1 (en) * 1980-11-03 1984-09-26 Deutsche ITT Industries GmbH Binary mos ripple carry parallel adder/subtractor and appropriate adding/subtracting stage
EP0489952B1 (en) * 1990-12-11 1998-08-19 Siemens Aktiengesellschaft Circuit device for digital bit-serial signal processing
US5361220A (en) * 1991-11-29 1994-11-01 Fuji Photo Film Co., Ltd. Discrete cosine transformation with reduced components
EP0992882A3 (en) * 1998-10-06 2003-03-05 Texas Instruments Inc. Bit field processor
US6760837B1 (en) 1998-10-06 2004-07-06 Texas Instruments Incorporated Bit field processor
TWI444021B (en) * 2007-09-17 2014-07-01 Htc Corp Method for decrypting serial transmission signal

Citations (1)

* 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

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3711692A (en) * 1971-03-15 1973-01-16 Goodyear Aerospace Corp Determination of number of ones in a data field by addition
US3723715A (en) * 1971-08-25 1973-03-27 Ibm Fast modulo threshold operator binary adder for multi-number additions
FR2212952A5 (en) * 1972-12-29 1974-07-26 Cit Alcatel

Patent Citations (1)

* 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

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
IEEE TRANSACTIONS ON COMPUTERS, Vol. C17, No. 10, Octobre 1968 New York (US) KOUVARAS et al.: "A Digital System of Simultaneous Addition of Several Binary Numbers", pages 992-997. * Figure 1; page 992, colonne de droite, alinea 2 a page 995, colonne de droite, alinea 5 * *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0375125A2 (en) * 1988-12-23 1990-06-27 Ampex Systems Corporation High speed digital data correlator having a synchronous pipe lined full adder cell array
EP0375125A3 (en) * 1988-12-23 1992-02-26 Ampex Systems Corporation High speed digital data correlator having a synchronous pipe lined full adder cell array
GB2294138A (en) * 1994-09-23 1996-04-17 Cambridge Consultants Data processing circuits and interfaces
US6311263B1 (en) 1994-09-23 2001-10-30 Cambridge Silicon Radio Limited Data processing circuits and interfaces
US6901503B2 (en) 1994-09-23 2005-05-31 Cambridge Consultants Ltd. Data processing circuits and interfaces
US5978827A (en) * 1995-04-11 1999-11-02 Canon Kabushiki Kaisha Arithmetic processing

Also Published As

Publication number Publication date
DE3065651D1 (en) 1983-12-29
EP0020185B1 (en) 1983-11-23
GR67742B (en) 1981-09-16
CA1158774A (en) 1983-12-13
FR2454136A1 (en) 1980-11-07
FR2454136B1 (en) 1985-12-06
US4336600A (en) 1982-06-22
BR8002202A (en) 1980-11-25
AU5737180A (en) 1980-10-16

Similar Documents

Publication Publication Date Title
EP0046708B1 (en) Digital distributed-arithmetic processing circuit using multiplexers at the input of a memory
EP0198729B1 (en) Electronic circuit simulation system
EP0309037A1 (en) Serial pipeline multiplier
CH616252A5 (en)
EP0020185B1 (en) Method and apparatus for the serial-parallel addition of a great number of words
FR2853424A1 (en) ARCHITECTURE OF COMBINED POLYNOMIAL AND NATURAL MULTIPLIERS
FR2871976A1 (en) LDPC DECODER
EP0262032A1 (en) Binary adder having a fixed operand, and a parallel/serial multiplier comprising such an adder
FR2656124A1 (en) PROGRAMMABLE SERIES MULTIPLIER.
EP0183610B1 (en) Read-write memory and its use in a linear interpolation circuit
EP1071008B1 (en) Method for performing multiplication with accumulation in a Galois field
FR2773284A1 (en) Reed-Solomon signal decoding circuit
EP0242258B1 (en) Device for the execution of an algorithm (leroux-gueguen) for the coding of a signal by linear prediction
EP0215497A1 (en) Autocorrelation device
EP0175623A1 (en) Device for the real-time processing of a digital signal by convolution
FR2731854A1 (en) DIGITAL FILTERING DEVICE
EP0353826B1 (en) Statistical-coding device producing code words having a variable number of binary elements
CA2359198C (en) Arithmetic unit for carrying out a cryptographic protocol
EP0169089B1 (en) Elementary data processing device
EP0046105B1 (en) Fast digital operator device
FR2647988A1 (en) DEVICE FOR DELAYING A PROGRAMMABLE DIGITAL SIGNAL AND APPLICATION TO AN ERROR-CORRECTING DEVICE
EP0125156B1 (en) Cascaded multiplier using a set of elementary operators
FR2491652A1 (en) DEVICE FOR PERFORMING A MATHEMATICAL OPERATION AND DIFFERENT APPLICATIONS THEREOF
FR2627605A1 (en) DEVICE FOR CALCULATING PARITY BITS OF A SUM OF TWO NUMBERS
FR2552904A1 (en) Calculation processor

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

AK Designated contracting states

Designated state(s): BE DE GB IT SE

17P Request for examination filed

Effective date: 19810115

ITF It: translation for a ep patent filed

Owner name: JACOBACCI & PERANI S.P.A.

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

AK Designated contracting states

Designated state(s): BE DE GB IT SE

REF Corresponds to:

Ref document number: 3065651

Country of ref document: DE

Date of ref document: 19831229

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: DE

Payment date: 19840209

Year of fee payment: 5

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: BE

Payment date: 19840331

Year of fee payment: 5

PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

26N No opposition filed
PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: SE

Payment date: 19841231

Year of fee payment: 6

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SE

Effective date: 19870318

BERE Be: lapsed

Owner name: THOMSON-CSF TELEPHONE

Effective date: 19870331

GBPC Gb: european patent ceased through non-payment of renewal fee
PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: DE

Effective date: 19871201

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: GB

Effective date: 19881118

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: BE

Effective date: 19890331

EUG Se: european patent has lapsed

Ref document number: 80400354.9

Effective date: 19880215