Brevet FR2417139A1 — publié le 19790907

La présente invention concerne les multiplieurs et se rapporte plus particulièrement aux multiplieurs- sommateurs numériques matriciels. Un multiplieur matriciel est constitué, de façon classique, de deux éléments essentiels: a) un système de portes réalisant le produit booléen d'un multiplicande X par les éléments binaires Yi d'un multiplicateur; b) un système de sommation des mots binaires engendrés dans le système de portes. Un exemple de multiplication binaire simple utilisant une représentation sans signe du multiplicateur et du multiplicande est donné ci-après. On suppose que X = loi (5 en représentation décimale) et Y = 110 (6 en représentation décimale). Si l'on pose la multiplication de X par Y soit 101 = X x 110 = Y 000 = X x YO 101 = X x Y1 101 = X x Y2 11110 = XY On constate que les opérations X Yo a X Y2 sont assurées par la fonction a) et que le résultat XY est obtenu par sommation selon la fonction b). Les multiplieurs qui permettent de réaliser des opérations de cette nature ou multiplieurs matriciels, présentent l'avantage d'avoir une vitesse de calcul entrêmement élevée par rapport à des circuits classiques du type à addition-décalage, dans la mesure oR le dispositif de sommation des résultats intermédiaires est très rapide. Ils présentent cependant un inconvénient important. Si les opérations sont réalisées à l'aide de systèmes d'addition binaires, elles nécessitent la mise en oeuvre d'une circuiterie très importante. Chaque circuit de sommation doit être très rapide car il peut y avoir des reports de retenue à tous les niveaux, ce qui, pour une multiplication de N éléments binaires par N éléments binaires , peut introduire un retard égal à 2N x t, t étant le temps de propagation de la retenue dans un étage classique d'additionneur complet (Bit 1 + Bit 2 + retenue entrante --e- Bit résultat + retenue sortante). Pour réaliser une opération telle qu'une multiplication de façon extrêmement rapide, il est nécessaire de réduite au minimum les temps des opérations d'addition. Il faut donc effectuer la somme de plusieurs mots binaires de façon rapide, le report de retenue devant être le plus rapide possible. Un premier moyen simple consiste, après avoir posé l'opé- ration et effectue les produits élémentaires, à effectuer en une seule opération la somme de tous les éléments binaires de chacune des colonnes obtenues en effectuant lesdits produits élémentaires. Cette opération de sommation donne un résultat ainsi qu'un ensemble de retenues à reporter sur les colonnes suivantes. L'opération de sommation peut être réalisée à l'aide d'un système transformant les valeurs binaires de l'étage d'entrée ainsi que les différentes retenues, en tensions analogiques unitaires dont on effectue la somme pour obtenir une tension qu'il suffit de convertir à l'aide de convertisseurs analogique-numérique. Cette opération peut être réalisée en parallèle sur toutes les colonnes avec report asynchrone des retenues d'une colonne à l'autre. Cependant, elle entraîne un temps de conversion important dû en particulier au temps de report des retenues qui peut atteindre 2Nx (temps de traversée du système de conversion numériqueanalogique + temps de traversée du convertisseur analogiquenumérique). Pour accélérer ces opérations, une solution consiste à réaliser une somme en plusieurs étages successifs. Soit par exemple à réaliser la somme de huit nombres binaires de cinq bits chacun On effectue la somme de chaque colonne sans faire intervenir les revenues des étages précédents. Le résultat de la somme de chaque colonne est écrit sous forme binaire en log2 (8) t 1 = 4 bits. Pour obtenir la somme globale il suffit alors d'additionner les quatre nombres binaires obtenus par des méthodes qui sont soit identiques à celle qui vient d'être décrite soit purement numériques. L'invention vise à créer un multiplieur qui, tout en étant d'une construction relativement simple, soit dlun fonctionnement très rapide en comparaison avec les dispositifs connus. Il est possible d'accélérer considérablement la méthode de calcul qui vient d'être décrite en utilisant la possibilité d'additionner de façon analogique non plus une mais plusieurs colonnes à l'intérieur de la matrice des bits à sommer. Soit par exemple à réaliser un produit numérique de 15 x 15, ce qui s'écrit en binaire Si l'on dispose de codeurs à quatre bits qui sont capables de coder de O à 15 par exemple, il est possible de considérer une somme pondérée sur deux ou plusieurs colonnes simultanées. En effet pour les deux premières colonnes de ltopération ci-dessus la somme s'écrit 1 + 2 x 2 = 5. Pour les deux colonnes suivantes les sommes s'écrivent 1 x 3 + 2 x 4 = 11. Pour les trois dernières colonnes on obtient en généralisant 1 x 3 + 2 x 2 + 4 x i = 11. Une telle méthode peut donc être généralisée à un nombre de bits de codage quelconque. Elle est plus avantageuse que la précédente car elle permet, d'une part d'utiliser un nombre moins important de codeurs, mais aussi parcequ'elle permet de diminuer considérablement le nombre des retenues dans les étapes suivantes de la multiplication. Si l'on considère en effet la suite de l'opération 15 x 15 Les trois premières colonnes peuvent être additionnées et donnent les trois premiers éléments binaires du résultat ainsi qu'une retenue. Pour limiter le nombre des étages utilisés, la retenue est propagée. Dans exemple considéré cette retenue peut au maximum être propagée deux fois. Ainsi de proche en proche on obtient le résultat de l'opera- tion. L'invention a donc pour objet un multiplieur matriciel comportant un circuit d'entrée destiné à effectuer les produits élémentaires des chiffres du multiplicande par les chiffres du multiplicateur, des moyens de sommation analogique des produits élémen- taires obtenus et des moyens de conversion des signaux analogiques résultants en signaux numériques, caractérisé en ce que lesdits moyens de sommation analogique sont constitués par des circuits de sommation pondérée de courants dans au moins deux colonnes de produits partiels à la fois. Suivant une caractéristique particulière de l'invention, lesdits circuits de sommation pondérée sont constitués par un réseau de résistances associées chacune à un produit partiel connectées pour former des groupes de résistances, le nombre desdits groupes étant égal au nombre d'opération: de sommation partielle à effectuer. Suivant une autre caractéristique de l'invention,les résistances des chaque groupe comprennent des résistances de différentes valeurs correspondant au poids devant être affecté au produit partiel auquel chaque résistance est associée. Suivant encore une caractéristique de l'invention, R étant la valeur de la résistance la plus forte, les résistances associées aux colonnes de produits partiels devant être affectées du plus fort poids 2n présentent la valeur la plus faible R 7. D'autres caractéristiques de l'invention apparaîtront au cours de la description qui va suivre. Aux dessins annexés, donnés uniquement à titre d'exemple la Fig. 1 est un schéma synoptique d'un multiplieur matriciel suivant l'invention; la Fig. 2 est unschema d'un circuit entrée du dispositif de la Fig. 1, destiné à réaliser le produit Booléen de deux nombres formés de quatre éléments binaires; la Fig. 3 représente un circuit sommateur analogique des signaux de sortie du circuit de la Fig. 2; la Fig. 4 représente un circuit de sommation pondérée des signaux de sortie du circuit de la Fig. 2; la Fig. 5 est un schéma d'un circuit convertisseur analogique-numérique utilisé dans le dispositif suivant l'invention,et la Fig. 6 est un mode de réalisation particulier du circuit de la Fig. 5; ; Le multiplieur représenté à la Fig. 1 comprend une matrice XY,1, comportant des entrées X et des entrées Y et destinée à effectuer les produits élémentaires entre les chiffres du multiplicande X et ceux du multiplicateur Y. La sortie de la matrice XY qui sera décrite en référence à la Fig. 2 est connectée à un premier circuit de sommation analogique 2 qui est à son tour connecté à un premier circuit de conversion analogique-numérique 3. La sortie de ce premier circuit de conversion analogiquenumérique est connectée à un second circuit de sommation analogique 4 qui à son tour est connecté à un second circuit de conversion analogique-numérique 5. La sortie de ce dernier circuit 5 constitue la sortie du multiplieur. Le multiplieur peut comporter en outre un circuit de cummul 40 représenté en trait interrompu,connecté au premier circuit de sommation analogique,auquel cas la sortie du second circuit de conversion 5 est connectée à ce circuit de cumul 40 et c'est la sortie du circuit de cumul qui constitue la sortie du multiplieur.Ce circuit réintroduit les données à cumuler aux entrées auxiliaires K1,K2~ K3.. K6 du circuit 2 ainsi qu'on le verra par la suite en référence à la Fis. 4. La matrice XY du circuit de la Fig. 1 est représentée à la Fig. 2. Il s'agit d'un circuit de type 12L capable de réaliser le produit boléen de deux nombres X et Y de quatre éléments binaires chacun. Ce circuit comporte en totalité huit portes IL à quatre sorties. Ces portes comprennent quatre portes 6 à 9 destinées à recevoir les éléments du nombre X et comportant à cet effet chacune une entrée X1, X2, X3, X4 et quatre portes 10 à 13 destinées à recevoir les-elements du nombre Y et comprenant à cet effet chacune une entrée Y1, Y21 Y31 Y4 Les sorties des portes 6 à 9 et 10 à 13 sont reliées de façon à représenter les divers produits élémentaires X1Y1 à X4Y4 qui doivent être effectués par la matrice. A cet effet chacune des portes 7 à 13 de la matrice 1 comprend, comme la porte 6,quatre transistors 14 à 17 dont les bases sont connectées en commun à l'entrée de la porte et à une source de courant 18. Les émetteurs des transistors 14 à 17 sont connectés à la masse tandis que leurs collecteurs constituent quatre sorties de la porte. Les sorties de la porte 6 qui reçoit l'élément X1 du nombre X sont connectées chacune à une sortie des portes 10 à 13 qui reçoivent les éléments Y1 à Y4 et constituent ainsi les sorties S11, S12, S13, S14 sur lesquelles doivent apparaître les produits élémentaires Xl,Yl, X1Y21 X1Y31 X1Y4 v Les sorties des autres portes 7, 8 et 9 recevant les éléments X, X3 et X4 sont connectées de façon analogue aux autres sorties des portes 10 à 13 recevant les éléments Y1 à Y4. Les sorties S11 à S44 sont telles que si une entrée quelconque X que l'on appellera Xi et une entrée quelconque Y que l'on appellera Yj sont à l'état logique bas, la sortie Sij correspondante se trouve à l'état non conducteur alors que si Xi ou Yj est à l'état logique haut,Sij se trouve reliée à la masse du fait de la conduction du transistor correspondant de la porte dont l'entrée se trouve à l'état haut. Au circuit de la Fig. 2 est associé un circuit tel que celui de la Fig. 3. Ce circuit est constituté par un réseau de résistances connectées à 7 conducteurs suivant une configuration reproduisant la disposition des produits élémentaires résultant du produit du nombre X par le nombre Y et apparaissant sur les sorties S11 à S44 du circuit de la Fig. 2.Si l'on considère le produit X1 X2 Y1 Y2 Y3 Y4 S41 S42 S43 S44 S S S S31 S32 S33 S34 S S S S 21 22 23 S24 Sll S que pour reproduire S13 disposition des On constate que pour reproduire la disposition des produits élémentaires de cette opération, la première colonne C1 de gauche du circuit de la Fig. 3 doit comporter une résistance R, la deuxième colonne C2 doit comporter deux résistances R, le nombre de résistances par colonne croissant ainsi jusqu'à la colonne C4 comportant quatre résistances R,puis décroissant jusqu'à la septième colonne C7 qui ne comporte à nouveau d'une résistance R. Les conducteurs de colonne C1 à C7 sont alimentés par une tension continue Vc constante. Il peut donc circuler dans chaque résistance R une intensité qui est égale soit à zéro si la sortie Sij correspondante de la matrice XY 1 est à l'état non conducteur, soit à Vc - Vsat, si R Sij se trouve à l'état conducteur, Vsat étant la tension de saturation des transistors de l'étage entrée correspondant. Il en résulte que sur chaque conducteur C1 à C7 circule un courant dont l'intensité est proportionnelle au nombre de sorties Sij du circuit 1 reliées à la masse. Les signaux de sortie disponibles aux sorties du circuit 1 peuvent être sommés à raison de plusieurs colonnes à la fois, à condition d'affecter chaque colonne d'une pondération appropriée de type 2 21, 22 etc. A set effet on utilise le circuit représenté à la Fig. 4. Ce circuit est constitué dans L'exemple donné par un réseau de résistances branchées sur trois conducteurs. Sur le premier conducteur L1 sont branchées: - une résistance de valeur R correspondant à la pondération 22 = q affecté à la 22 = 4 affectée à la sortie Sll du 4 circuit 1; - deux résistances de valeur R correspondant à la pondération 21 = 2 affectée aux sorties 5212 et S12 du circuit 1; - trois résistances de valeur R correspondant à la pondération 20 = 1 affectée aux sorties S31, S221 S13. Sur le second conducteur L2 sont branchées - quatre résistances de valeur R connectées aux sorties 41 532' S32, S23 et S14 du circuit 1 2 et trois résistances de valeur R connectées aux sorties S42, S33 . et S24 dece circuit. de Enfin, sur le troisième conducteur L3 sont branchées deux résistances de valeur R connectées aux sorties S23 et S34 et 2 une résistance de valeur R connectée à la sortie 544. Les trois conducteurs L1 à L3 sont alimentés sous tension constante. En supposant que le courant circulant dans une résistance de valeur R soit représentatif de la pondération unitaire, les courants circulant respectivement dans les résistances de valeur R et R représentent les pondérations 2 et 4. 2 4 . 2 Le circuit de la Fig. 4 permet donc de disposer sur le conducteur L1 d'un signal de courant correspondant à 4 x 1 + 2 x 2 + i x 3 = 11. Sur le conducteur L2 on peut disposer d'un signal correspondant à 2 x 4 + 1 x 3 = 11 et sur le conducteur L3 on peut disposer d'un signal correspondant à 2 x 2 + 1 = 5. Dans le cas où le dispositif suivant l'invention comprend un circuit supplémentaire de cumul, les sorties de ce circuit peuvent être connectées aux conducteurs L1 à L3par l'intermédiaire d'entrées auxiliaires. Ces entrées K1 à K3 et leurs résistances de pondération associées sont représentées en pointillé à la Fig. 4. Le circuit de sommation et de pondération analogique de la Fig 4 est connecté à l'etage de conversion analogiquenumérique 3 de la Fig. 1 dont on va maintenant donner une description en référence aux Fig 5 et 6. Le circuit de conversion représenté sous forme schématique à la Fig. 5 comporte plusieurs étages, en nombre égal au nombre de bits à convertir, connectés l'un à l'autre. Un étage du circuit de conversion comprend une source de courant 20 dont la sortie est connectée à un circuit 21 générateur de tension non linéaire V=f(i) dont la borne connectée à la source de courant 20 est connectée à une entrée d'un comparateur 22 et dont la borne opposée est connectée à l'autre entrée du comparateur. La sortie du comparateur 22 est connectée à une borne de déclenchement d'une autre source de courant 23. L'intensité 1e à coder est soustraite d'une intensité I représentant la moitié de la gamme de courant à coder. Le résultat de cette différence Ie - I est appliquée au circuit 21. Si I - I est positif, la tension V engendrée par le e circuit 21 est positive V = +v. Si 1e - I est négatif, V = -v. La tension de sortie du générateur 21 commande le comparateur 22 qui agit sur la source de courant 25 de telle manière que si 1e > I, le courant délivré par la source 23 est nul alors que si 1e On dispose donc de deux sorties sur l'étage considéré a) la valeur binaire du courant b) l'intensité de sortie I dont la valeur est soit s rigoureusement égale à l'intensité d'entrée Ie, soit Ie I. A la sortie du circuit de la Fig. 4 on dispose de trois courants apparaissant sur les trois conducteurs L1, L21 L3. Le circuit de conversion doit donc comprendre trois étages analogues à celui décrit en référence à la Fig. 5. Le dernier des comparateurs tels que 22 a sa sortie connectée soit à une tension fixe soit à un pont de résistances. Le générateur de tension non linéaire 21 permet de réduire à une valeur quasi négligeable les variations des tensions appliquées à l'entrée du dispositif. Cependant il est en outre préférable d'attaquer le circuit de conversion par un étage du type à "base commune". Un exemple d'un mode de réalisation du circuit de conversion suivant l'invention va maintenant être décrit en référence à la Fig. 6. Sur ce circuit seul un étage a été représenté sous forme complète. Cet étage comprend un transistor 25 du type à base commune ayant un gain en courant voisin de 1. La base du transistor 25 est polarisée par une tension de polarisation Ypl. Une telle polarisation permet d'être sûr pi que le potentiel Vc de l'entrée du codeur est rigoureusement fixe et égal à Vpl - VBE, VBE étant la tension Base-Emetteur du transistor 25. Le collecteur de ce transistor attaque le premier étage de codage avec une intensité toujours égale à le car le gain en courant du transistor 25 est très proche de 1. Le circuit de la Fig. 6 comporte en outre une source de courant correspondant à la source 20 du circuit de la Fig. 5. Cette source de courant est constituée par un transistor PNP 26 dont la base est reliée à une tension de polarisation Vp2. L'émetteur de ce transistor est relié à un réseau de résistances R - 2R de telle sorte que I étant l'intensité du courant fourni par le transistor 26, la source correspondante de l'étage suivant, c'est-à-dire le transistor 27 fournisse toujours un courant d'intensité I. 2 Le collecteur du transistor 26 est connecté au collecteur du transistor 25 ainsi qu a une borne de deux diodes de Shottky 28, 29 montées tête-bêche qui constituent le générateur de non linéarité sous la forme d'une variation de tension limitée à quelques centaines de millivolts au maximum. La tension apparaissant aux bornes de ce circuit 28, 29 est appliquée aux entrées d'un comparateur constituté par deux transistors 30, 31 dont les émetteurs sont connectés ensemble au collecteur d'un troisième transistcr 32. La base du transistor 30 est connectée à la jonction des collecteurs des transistors 25 et 26, tandis que son collecteur est relié, comme la base du transistor 31, à la borne du circuit 28, 29 opposée à ladite jonction entre les collecteurs des transistors 25 et 26. Le collecteur du transistor 3D constitue la sortie de l'étage considéré. La base du transistor 32 est connectée à une tension de polarisation Vp3 et son émetteur est relié à la masse par une résistance 33. La borne du circuit 28, 29 générateur de non linéarité connectée à la base du transistor 38 est en outre connectée au générateur de non linéarité de l'étage de conversion suivant. On voit donc que la base du transistor 30 est attaquée par le signal de sortie correspondant du circuit de sommation de courants de la Fig. 4, tandis que la base du transistor 31 est attaquée par le signal de sortie du circuit 28, 29 générateur de non linéarité. Etant donné que le collecteur du transistor 30 est également relié à la base du transistor 31, si le - I est positif, la tension de base du transistor 31 est supérieure à la tension de base du transistor 30 de sorte que le courant de sortie ISl ne subit aucune modification supplémentaire et 151 = le - I. Si par contre le - I est négatif, le comparateur 30, 31, 32 bascule de sorte que Isi I. - I + I = in In = Iin + I= Iin La valeur binaire codée du courant appliqué à l'entrée de l'étage est disponible sur le collecteur du transistor 31. Après un changement de niveau approprié cette valeur binaire peut être appliquée aux différentes entrées du second étage du circuit de la Fig. 1, dont le sommateur analogique 4 est analogue à celui de la Fig. 2 et dont le convertisseur analogique-numérique 5 est analogue au convertisseur 3 décrit en référence aux Fig. 5 et 6. Le deuxième étage diffère en outre du premier en ce qu'il comprend des boucles 35 de report de retenues reliant les sorties du convertisseur analogique-numérique 5 et les entrées du circuit 4 de sommation analogique. En revenant à nouveau à la Fig. 6, il est possible d'accélérer légèrement le fonctionnement du circuit en introduisant de légers décalages en tension avant d'attaquer les bases des transistors 30 et 31 de façon à permettre un fonctionnement parfaitement linéaire du comparateur 30 à 32. A cet effet, entre les bases des transistors 30 et 31 et leurs connexions respectives au circuit générateur de non linéarité, on insère des éléments de décalage 36, 37 représentés en pointillé à la Fig. 6 et qui sont constitutés par exemple par des diodes. Sur la Fig. 6 seul l'étage engendrant le signal de plus fort poids a été représenté en entier. Les autres étages sont identiques à celui-ci, seuls les courants qui leur sont appliqués étant proportionnels au poids du signal de sortie qu'ils doivent délivrer. Le dispositif qui vient d'être décrit présente vis-à-vis des dispositifs multiplieurs matriciels connus les avantages suivants Il permet de réduire de façon considérable le nombre de composants entrant dans sa constitution, ce qui le rend beaucoup plus simple. Par ailleurs son fonctionnement est très rapide et il consomme très peu d'énergie. L'exemple détaillé plus haut réalise le produit de deux nombres positifs. Cependant il est évident que le produit de deux nombres signés en complément à 2 peut être réalisé de la même manière par une simple extension de l'équation décrite en page 7 qui deviens X1 X2 X3 X4 Y1 Y2 Y3 Y4 S41 S41 S41 S41 S42 S43 S44 S31 S31 S31 S32 S33 S34 S21 S21 S22 S23 S24 Sll S12 S13 S14 avec Sll S12 S13 S14 = 13 12 (X1 X2 X3 X4 + 1). 1 -REVENDICATIONS 1. Multiplieur matriciel comportant un circuit d'entrée destiné à effectuer les produits élémentaires des chiffres du multiplicande par les chiffres du multiplicateur, des moyens de sommation analogique des produits élémentaires obtenus et des moyens de conversion des signaux analogiques résultants en signaux numériques, caractérisé en ce que lesdits moyens de sommation analogique sont constitutés par des circuits de sommation pondérée de courants dans au moins deux colonnes de produits partiels à la fois (Fig. 4). 2. Multiplieur suivant la revendication 1, caractérisé en ce qu lesdits circuits de sommation pondérée sont constitués par un réseau de résistances associées chacune à un produit partiel connectées pour former des groupes de résistances, le nombre desdits groupes étant égal au nombre de systèmes de conversion analogiquenumérique utilisés. 3. Multiplieur suivant l'une quelconque des revendications 1 et 2, caractérisé en ce que les résistances de chaque groupe comprennent des résistances de différertes valeurs correspondant au poids devant être affecté au produit partiel auquel chaque résistance est associée. 4. Multiplieur suivant la revendication 3, caractérisé en ce que R étant la valeur de la résistance la plus forte, les résistances associées aux colonnes de produits partiels devant être affectées du plus fort poids 2n présentent la valeur la plus faible R 2n 5 Multiplieur suivant la revendication 1, caractérisé en ce que lesdits moyens de sommation analogique des produits élémentaires et lesdits moyens de conversion analogique-numérique sont constitués par au moins deux étages comprenant chacun un circuit (2,4) de sommation analogique dont les sorties sont reliées à un circuit (3,5) de conversion analogique-numérique. 6. Multiplieur suivant la revendication 5, caractérisé en ce que le second étage comporte en outre des boucles (35) de report de retenue reliant des sorties des moyens de conversion analogique-numérique (5) à des entrées des moyens de sommation analogique (4). 7. Multiplieur suivant l'une quelconque des revendications 5 et 6, caractérisé en ce qu'il comporte en outre des moyens de cumul de résultats précédents (4O) connectés entre les movens de conversion analogique-numérique (5) du second étage et lesdits moyens de sommation analogique de courant du premier étage. 8. Multiplieur suivant l'une quelconque des revendications précédentes, caractérisé en ce que lesdits moyens de conversion analogique-numérique sont constitués par des étages de conversion dont le nombre est égal au nombre de valeurs analogiques de courants à convertir sous forme numérique, chaque étage de conversion comprenant une source de courant (20) traversée par le courant à convertir et connectée à l'entrée d'un générateur (21) de non linéarité de tension en fonction du courant, la sortie et l'entrée dudit générateur (21) étant connectées respectivement aux entrées d'un comparateur (22) dont la sortie est connectée à une entrée de commande d'une autre source de courant (23) d'intensité égale à l'intensité (I) du courant à convertir, la sortie du générateur de non linéarité étant connectée à l'entrée du générateur de non linéarité de l'étage de conversion suivant, les étages de conversion successifs étant I I polarisés à I, 2 I 2p 2P 9. Dispositif suivant la revendication 8, caractérisé en ce que ledit générateur de non linéarité est constituté par deux diodes de Shottky (28,29) montées tête-bêche, la source de courant étant constituée par un transistor (26) dont l'émetteur est connecté à la sortie correspondante du circuit de sommation analogique associé, et dont le collecteur est connecté à l'entrée du générateur de non linéarité. 10. Dispositif suivant la revendication 8, caractérisé en ce que les entrées du comparateur (30,31,32) sont connectées aux bornes du générateur de non linéarité correspondant (28,29) par l'intermédiaire d'éléments de décalage (36,37).