Brevet FR2611286A1 — publié le 19880826

Circuit intégré multiplieur, et son procédé de composition. L'invention concerne les circuits électroniques de calcul, de la catégorie circuits intégrés à très grande échelle (VLSI). Plus précisément, il s'agit de circuits propres à effectuer des multiplications sur deux opérandes : "multiplicande" et "multiplicateur". - Les circuits eux-mêmes sont dénommés ici multiplieurs" plutôt que multiplicateurs, pour éviter toute confusion. Il est maintenant courant que les utilisateurs conçoivent eux-mêmes leurs circuits sur ordinateur. Cela consiste à définir le dessin des masques de diffusion qui permettront la fabrication des circuits intégrés. A cet égard, les critères de qualité sont le temps nécessaire à la conception des circuits, le rendement de fabrication des circuits, une fois conçus, et bien entendu les performances du circuit obtenu, en termes de temps de calcul dans le cas présent. L'un des paramètres importants est la taille des opérandes, c'est-à-dire leur nombre de bits. La littérature spécialisée fournit maintenant de nombreux programmes permettant de construire, en Conception Assistée par Ordinateur (C.A.O.), un multiplieur adapté aux tailles d'opérandes voulues. Ces programmes utilisent généralement la technique dite "arbre de Wallace", dont la mise en oeuvre nécessite des moyens logiciels importants. L'une des difficultés rencontrées tient à ce que la structure de multiplieur obtenue selon cette technique n'est pas facilement transposable à d'autres tailles de multiplicande et de multiplicateur. La présente invention a pour but de fournir une architecture modulaire qui permette la construction quasi-instantanée d'un multiplieur, quelle que soit la taille ou résolution de ses opérandes. Plus précisément, il s'agit de pouvoir combiner des cellules multiplieuses de base, sans en modifier la définition, ni y ajouter d'interconnexions variables supplémentaires. L'invention a également pôur but de fournir un multiplieur capable d'un fonctionnement "pipe-line", c'est-à-dire dans lequel on peut définir une cascade de blocs successifs effectuant, à un moment donné, des calculs partiels relatifs à des opérandes d'entrée différents (successifs, en remontant des blocs aval vers les blocs amont). En permettant d'accéder à une architecture qui se contente d'un nombre minimal d'interconnexions, l'invention permet encore une réduction de la surface du circuit intégré multiplieur, et par suite une amélioration du rendement de fabrication d'un tel circuit. La nature de la présente invention fait qu'il est délicat d'en donner une définition générale concise, sans entrer dans les détails. I1 convient donc de donner quelques explications préliminaires. On considère un multiplicande Y de nl bits, et un multiplicateur X de n2 bits. Tous deux possèdent un signe défini en complément à deux. Les nombres nl et n2 sont pairs. Le multi plieur a pour fonction de délivrer un produit P possédant m bits, avec m au plus égal à nl+n2. On sait qu'à l'instar du calcul mental décimal, un multiplieur effectue une multiplication globale à l'aide de multiplications élémentaires du multiplicande par chacun des bits du multiplicateur. Les résultats de ces multiplications élémentaires sont ajoutés, avec à chaque fois un décalage du résultat élémentaire correspondant au rang du bit considéré du multiplicateur. En fait, les circuits sont généralement inaptes à considérer le multiplicande en un seul bloc de bits. I1 en résulte une seconde série de multiplications élémentaires, relatives à différentes portions du multiplicande. La littérature spécialisée fournit de nombreux programmes permettant de construire, en Conception Assistée par Orddinateur, un multiplieur dont on aura préalablement défini la taille du multiplicande et celle du multiplicateur. Ces programmes, qui utilisent généralement la technique dite "arbre de Wallace", demandent la mise en oeuvre de moyens logiciels importants. En effet, s'il permet une assez bonne optimisation du circuit finalement obtenu, l'arbre de Wallace présente l'inconvénient de fournir des structures de multiplieurs qui varient considérablement lorsqu'on modifie les tailles des entrées. En d'autres termes, cette technique ne permet pas de réaliser des multiplieurs aisément extensibles. Un autre procédé connu, dit de "Booth modifié", permet de réduire le nombre global d'opérations à effectuer, par un regroupement de l'addition élémentaire et de la multiplication élémentaire. On verra plus loin, dans la description détaillée, comment s'articule le procédé de Booth. I1 est simplement noté pour le moment que ce procédé fait intervenir - des décodeurs de Booth, propres à transformer les bits du multiplicateur, pris par triplets se chevauchant sur un bit, en des triplets décodés correspondants, et - des multiplexeurs de Booth, propres chacun à traiter une paire de bits du multiplicande et un triplet décodé, pour fournir à chaque fois un produit partiel, le produit complet étant obtenu par sommation de ces produits partiels. On exposera maintenant les différentes caractéristiques de l'invention, du moins en ce qui concerne la structure générale des éléments qu'elle fait intervenir. Le multiplieur proposé comporte au moins un module de base d'un premier type, traversé par un triplet décodé du multiplicateur, et recevant un triplet de bits du multiplicande, tout en possédant aussi une entrée de bits de retenue. Ce module comprend deux multiplexeurs de Booth, opérant respectivement sur deux paires de bits extraites du triplet du multiplicande, ainsi que sur le triplet décodé du multiplicateur. Sont ainsi fournis deux bits de produit partiel, tandis que ce module se contente de transmettre le bit de retenue qu'il a reçu. Ce module est appelé "de base", car il va servir à traiter le triplet de bits le moins significatif du multiplicateur (on verra plus loin que ce triplet comprend un bit "0" surajouté). En pratique,le multiplicande comporte en général plusieurs triplets. Sont alors prévus plusieurs modules de base du premier type, qui reçoivent respectivement des triplets successifs de bits du multiplicande, lesquels triplets se chevauchent sur un bit. On pourrait concevoir que tout le tr > : ement relatif aux triplets de poids inférieur du multiplicateur soit réalisé avec des modules du premier type, il faudrait alors ajouter un élément, afin de traiter le triplet de poids supérieur du multiplicande. La Demanderesse préfère prévoir un module incorporant un tel élément. L'invention prévoit donc en outre un module de base d'un second type, traversé par le même triplet décodé du multiplicateur, et recevant le triplet de poids supérieur du multiplicande. Ce module possède la même structure de base du premier type, avec en outre un multiplexeur de Booth complémenté, opérant sur le bit de poids supérieur du multiplicande (par ses deux entrées), et fournissant une sortie supplémentaire de produit partiel. L'homme de l'art comprendra qu'on a ainsi traité complètement le triplet de poids inférieur du multiplicateur. En règle générale, le multiplicande ne se réduira pas à un seul triplet. L'invention prévoit donc aussi l'usage d'au moins un module courant d'un premier type, agencé comme le module de base du premier type, mais recevant un triplet décodé de poids plus élevé du multiplicateur. Un tel module courant du premier type va recevoir aussi trois bits de produit partiel précédent. L'un de ces bits est une retenue précédente venant d'un module affecté au même triplet du multiplicande; les deux autres bits, représentant deux poids consécutifs, viennent d'un module affecté au triplet consécutif supérieur du multiplicande, pour le triplet de poids immédiatement inférieur du multiplicateur. Ce module courant du premier type comprend en outre un additionneur complet à deux bits, opérant sur les sorties des deux multiplexeurs de Booth qu'il possède, ainsi que sur les trois bits de produit partiel précédents qui viennent d'être définis. L'interaction sera exposée plus complètement dans la description détaillée. Avec de tels modules courants du premier type, on peut traiter la suite des triplets de poids de plus en plus élevés que comporte le multiplicateur. Mais on rencontre à nouveau la nécessité d'un élément supplémentaire, lorsqu'il va s'agir du triplet de poids supérieur du multiplicande. Pour cela, l'invention prévoit en outre un module courant d'un second type, traversé par le même triplet décodé du multiplicateur que les autres modules courants (de même rang), mais recevant le triplet de poids supérieur du multiplicande. Ce module possède la même structure qu'un module courant du premier type, avec en outre un multiplexeur de Booth complémenté monté comme celui du module de base du second type. I1 a été observé qu'avec un tel jeu de quatre modules, on peut réaliser des multiplieurs de toutes tailles désirées, d'une manière beaucoup plus simple qu'en utilisant l'arbre de Wallace. On estime actuellement qu'il est largement préférable de disposer des quatre modules. Mais, manifestement, on peut se contenter d'une partie seulement des modules, quitte à ajouter des éléments supplémentaires dans le circuit, par les techniques classiques de Conception Assistée par Ordinateur. On peut également n'utiliser que le module le plus complet, c'est-à-dire le module courant du premier type (voire celui du second type), en alimentant par des niveaux fixes les tensions des circuits qui ne serviront pas, faute de l'entrée variable qu'ils devraient traiter en position "courante". Au niveau qui vient d'être décrit, l'invention permet d'ores et déjà une grande simplification dans la Conception Assistée par Ordinateur de multiplieurs électroniques. I1 suffit en effet de stocker en bibliothèque des dessins de masques relatifs à chacun des quatre modules définis plus haut. On réalise alors le circuit par assemblage de tels modules. Cependant, l'invention est bien plus avantageuse si l'on va plus loin. Cela consiste à définir le multiplieur numérique par des blocs traitant par exemple chacun 4 x.4 bits, c'est-à-dire quatre bits du multiplicateur et quatre bits du multiplicande. Ces blocs comprennent chacun quatre modules tels que définis plus haut, qui peuvent être identiques ou différents suivant les poids concernés. I1 est alors utile de prévoir en outre - des liaisons ("verticales") permettant le transfert des produits partiels entre les blocs relatifs à différents niveaux de "quadruplets" de poids du multiplicateur, avec une géométrie choisie de connexions; - des liaisons directes ("horizontales") entre les blocs relatifs à différents quadruplets de poids du multiplicande, pour un même quadruplet du multiplicateur, également avec une géométrie choisie de connexions. Ces blocs sont en effet combinables par simple association borne à borne, les géométries de connexions étant fixes et répétitives dans l'espace. Les liaisons "verticales" comprennent des registres verrous de stockage, lorsque le multiplieur est prévu pour fonctionner en mode "pipe-line1. Le multiplieur peut alors être complété par des moyens additionneurs à propagation de retenue, pour fournir le produit complet à partir des sorties ultimes des blocs de 4 x 4 bits. Ces sorties sont à prendre par rangées et par colonnes, comme on le verra plus loin. Dans la version actuellement préférée, le multiplieur ainsi défini comprend - au moins un bloc de base d'un premier type, contenant deux modules de base du premier type et deux modules courants du premier type, - un bloc de base d'un second type, comprenant un module de base du premier type, un module de base du second type, un module courant du premier type et un module courant du second type, - au moins un bloc courant d'un premier type, comprenant quatre modules courants du premier type, et - un bloc courant d'un second type, comprenant deux modules courants du second type. Dans la plupart des cas, on sera amené à prévoir plusieurs rangées de blocs courants comportant chacune un bloc courant du second type, pour les poids supérieurs du multiplicande, et un ou plusieurs blocs courants du premier type, des mémoires tampons étant prévues de chaque côté des différentes rangées de blocs courants. Selon un autre aspect de l'invention, l'entrée de l'un des opérandes, en particulier le multiplicande, est multiplexable, afin de permettre la multiplication de nombres complexes. Ce qu'on stocke alors en bibliothèque, ce sont les dessins de masques relatifs à chacun des blocs qui viennent d'être définis. On les assemble ensuite par simple positionnement, compte tenu de leur géométrie de connexions choisie à l'avance. D'autres caractéristiques et avantages de l'invention apparaitront à l'examen de la description déraillée ci-après, et des dessins annexés, sur lesquels - la figure 1A est un schéma montrant la décomposition d'un multiplicateur en triplets; - la figure 1B est une table de vérité relative au procédé dit de "Booth modifié"; - la figure 2 est le schéma de principe d'un décodeur de Booth; - la figure 3 est le schéma de principe d'un multiplexeur de Booth; - la figure 4 est le schéma de principe d'un additionneur complet à deux bits; - les figures 5A à 5D définissent les schémas de principe des quatre modules mis en oeuvre selon l'invention; - la figure 6 illustre un premier mode de réalisation de l'invention tandis que les figures 6A1, 6A2, 6B1 et 6B2 en sont des détails; - la figure 7 illustre un second mode de réalisation de l'invention, tandis que les figures 7-C, 7-EX, 7-EY et 7S en sont des détails; et - les figures 8A et 8B sont encore plus détaillées, en référence au premier mode de réalisation. Les dessins annexés comportent pour l'essentiel des informations de caractère géométrique et/ou certain. En conséquence, ils pourront non seulement servir à mieux faire comprendre la description détaillée ci-après, mais aussi contribuer à la définition de l'invention, le cas échéant. Sur la figure 1A, un multiplicateur de huit bits est défini par des bits X0 à X7, rangés comme il est d'usage de droite à gauche dans l'ordre des poids croissants. La figure 1A montre également qu'on ajoute, dans le procédé de Booth modifié, un bit supplémentaire 0" à droite du multiplicateur. Un premier triplet TO est défini par ce bit "0" avec les bits X0 et X1 adjacents. Un second triplet T2 est défini par les bits X1 à X3, et ainsi de suite jusqu'au triplet T6 défini par les bits X5 à X7. Aux triplets TO à T6 sont associés les produits partiels PP0 à PP6. La table de vérité de la figure 1B montre la valeur du produit partiel PPi, en fonction de celle des trois bits du triplet, noté ici Xi-lr Xi et Xi+l. La figure 1B donne également la relation mathématique qui permet de définir le produit complet à partir de tels produits partiels. L'homme de l'art vérifiera aisément que la définition du produit est exacte. I1 est rappelé que les nombres négatifs sont définis en complément à deux, comme déjà indiqué. Le bit de poids le plus fort définit le signe (1 pour un nombre négatif). On a alors -A A+l c'est-à-dire que le changement du signe de A s'obtient par complémentation de A et addition de 1 (au poids le plus faible avec propagation de retenue). Sur les figures, les barres supérieures désignent le complément pur, comme défini cidessus. La deuxième expression du produit, en fonction de B2k exprime que les produits partiels sont une fonction du multiplicande Y. La figure 1B fait aussi apparaitre que lton sait associer, aux trois bits du triplet, un triplet décodé, défini par des valeurs dl, d2 et d3. La table de vérité de dl, d2, d3 en fonction de Xi+l, Xi et Xi,l est également donnée sur la figure 1B. Cette table de vérité peut être satisfaite par un montage comme celui de la figure 2. Le bit dl est défini par un OU EXCLUSIF 11 de Xi-l et Xi. Le bit d2 est défini par une fonction NON-OU (13) dl et du NON-OU-EXCLUSIF 12 de Xi et Xi+ 1. Pour sa part, le bit d3, qui représente en fait la retenue, correspond simplement au bit Xi+l. Cette structure de décodeur de Booth est ici donnée seulement pour un triplet. Dans la suite, l'expression "décodeur de Booth" est utilisée au sens large, le décodeur pouvant traiter un ou plusieurs triplets. La figure 3 donne le schéma de principe d'un multiplexeur de Booth, tel qu'utilisé selon la présente invention. I1 comporte tout d'abord trois lignes horizontales capables de propager, suivant une géométrie prédéfinie, les valeurs décodées dl, d2 et d3 déjà définies. Verticalement, il reçoit des entrées z0 et zl, relatives à deux poids consécutifs du multiplicande. Une porte ET 21 reçoit dl et zl. Une porte ET 22 reçoit d2 et z0. Les sorties de ces portes ET, réunies dans une porte OU 23, sont appliquées à une porte OU EXCLUSIF 24 qui reçoit par ailleurs le signal d3. La sortie est un bit de produits partiels pp. Le fonctionnement est le suivant - si dl est "1", on prend le bit de Y possédant le rang en courts, bit noté zl. - si d2 est "1", on prend le bit de Y possédant le rang précédent, bit noté zo; ce décalage de poids correspond à une multiplication par 2. - si d3 est "1", le résultat obtenu est complémenté (fonction "barre supérieure"). L'homme de l'art comprendra que ceci respecte la table de vérité de la figure 1B, sous réserve des décalages de poids qui vont intervenir dans la suite. La figure 4 illustre un additionneur complet à deux bits, pour deux entrées aO, a1 et bO, bl, ainsi qu'une retenue d'entrée cO. La sortie est constituée de deux bits de sommes sO et sl, ainsi que d'un bit de report c2. aO et bO forment les deux entrées d'une porte OU EXCLUSIF 34 ainsi que d'une porte ET 31. Deux autres portes ET 32 et 33 reçoivent respectivement aO et bO, et en commun la retenue cO. A côté de cela, une porte ET 35, une porte OU 36 et une porte OU EXCLUSIF 37 reçoivent al et bl comme deux entrées. La sortie de la porte OU 36 est appliquée comme première entrée à trois portes ET 38, 39 et 40. Les secondes entrées de ces portes sont respectivement la sortie de la porte ET 33, celle de la porte ET 32, et celle de la porte ET 31. Une porte OU 41 reçoit pour trois entrées les sorties des portes 31, 32 et 33. Une porte OU 42 a pour quatre entrées les sorties des portes ET 35, 38, 39 et 40, et fournit le report c2. Une porte OU EXCLUSIF 43 fournit le bit supérieur de somme sl à partir des sorties de la porte 37 et de la porte 41. Une dernière porte OU EXCLUSIF 44 fournit le bit de poids inférieur de la somme sO à partir de la retenue amont cO et de la sortie de la porte 34. On suppose maintenant que le décodage des triplets du multiplicateur est effectué. Ceci permet de décrire plus simplement les modules intervenant selon la présente invention Ces modules comportent des entrées horizontales constituées d'une part du triplet décodé dl, d2, d3 du multiplicateur qui est concerné, d'autre part d'un triplet de bits du multiplicande, que l'on désignera par yl, yO et Y-1- Les lignes dl, d, d3 traversent en ligne droite chaque module. L'entrée yl vient de gauche. Les entrées yO et y-1 viennent de droite. Un module va également comprendre des entrées supérieures, notées par la lettre u, avec un indice qui peut aller de 0 à 2. I1 comporte aussi des sorties inférieures, notées par la lettre v, avec un indice qui peut aller de O à 3. Un module de base du premier type, Ml, est illustré sur la figure 5A. Il se compose de deux multiplexeurs de Booth MB, référencés individuellement 50 et 51. Ils reçoivent le même triplet dl, d2, d3 de multiplicateurs, qui les traversent comme déjà indiqué. Les entrées zO et zl du multiplexeur 50 sont les entrées y,l et yO du module M1. Les entrées zO et zl du multiplexeur 51 sont les entrées yO et yl du module M1. Le bit de sortie de produits partiels du multiplexeur 50 fournit la sortie vO. Celui du multiplexeur 51 fournit la sortie vl. Enfin, le module M1 comporte une entrée uO qui traverse verticalement ce module pour fournir la sortie v2. La figure 5B illustre le schéma de principe d'un module de base du second type M2. I1 comporte deux multiplexeurs de Booth MB 50 et MB 51 montés comme pour le module M1. I1 s'y ajoute un multiplexeur de Booth complémenté noté MB' et référencé 52. La complémentation peut s'obtenir par substitution d'une porte OU EXCLUSIF complimentée à la porte 24 de la figure 3. Les entrées horizontales de ce multiplexeur de Booth 52 sont toujours le triplet dl, d2, d3. Ses deux entrées verticales sont constituées du bit du poids supérieur yl appliqué à l'entrée du module M2. Un module courant du premier type, MA1, est illustré sur la figure 5C. I1 comporte deux multiplexeurs de Booth 50 et 51 montés comme pour le module M1 de la figure 5A. Cependant, on observe maintenant la présence de trois entrées supérieures uO à u2. Le module MA1 comporte en plus un additionneur complet de deux bits noté AD 55. Son entrée de retenue (pour l'addition,que l'on appelle aussi report) est définie par la sortie du multiplexeur de Booth 50. Les deux bits de poids inférieur à additionner sont définis par les entrées uO et ul. L'un des bits de poids supérieur à additionner est défini par l'entrée u2, tandis que l'autre est défini par la sortie du multiplexeur de Booth 51. Les deux sorties de sommes de l'additionneur AD 55 fournissent les signaux vO et vl, dans l'ordre des poids croissants. La retenue ou report c2 fournit la sortie v2 du module MA1. Enfin, la figure 5D illustre un module courant du second type. I1 ne sera pas décrit plus en détail, car sa structure est celle du module MA1 de la figure 5C, augmentée d'un multiplexeur de Booth complémenté 52, comme déjà décrit à propos du module M2 de la figure 5B. I1 est maintenant fait référence à la figure 6, qui illustre le coeur d'un multiplicateur 8 x B bits. Après stockage dans des registres tampons notés globalement L, les huit bits XO à X7 du multiplicateur scnt appliqués à deux décodeurs de Booth DB1 et DB2 ~contenant chacun deux montages selon la figure 2). Conformément à la notation utilisée sur la figure 1B, les triplets décodés sont notés TO, T2, T4 et T6. On observera que les triplets T4 et T6 ne sont disponibles qu'après passage dans une mémoire tampon L 5, dans le cas du fonctionnement en pipe-line. Les bits yO à y7 du multiplicande sont également disponibles en aval de registres tampons (non représentés). Le multiplieur étant modulaire, les entrées verticales comportent également des reports CP2, CP4 et CP6, auxquels s'ajoute un report "1", pour l'étage de poids supérieur. On verra plus loin comment est utilisé le premier report CPO. Ces reports CPO, CP2, CP4 et CP6 sont définis par les bits d3 respectifs des triplets TO, T2, T4 et T6 définissables à partir d'un multiplicateur à huit bits, conformément à la figure 1A. Les entrées, par la gauche et par le haut, du montage de la figure 6 sont maintenant complètement définies. On observera que ce montage est constitué de quatre blocs, où chaque bloc est un ensemble de quatre modules. Ces différents blocs sont notés Al, A2, Bl, B2. Tout comme pour les modules définis plus haut, les poids inférieurs du multiplicateur et les poids supérieurs du multiplicande font l'objet d'un traitement un peu particulier. Cela est effectué par une "équerre" de blocs spéciaux. Cette équerre est définie en coin par le bloc A2. Horizontalement elle comportera des blocs Al, verticalement des blocs B2. Le bloc "courant" normal est le bloc B1. On conservera la même notation que précédemment, à savoir les blocs "de base" sont ceux associés au poids inférieur du multiplicateur. Les blocs "courants" sont associés aux autres poids du multiplicateur. La figure 6 fait clairement apparaitre que la géométrie des entrées/sorties des blocs permet leur assemblage par simple positionnement en regard les uns des autres : on observe la coincidence des connexions entre les blocs Al et A2. De même, le bloc Al est préparé pour recevoir à sa droite un nouveau bloc Al si nécessaire. Verticalement, les sorties du bloc A2 sont appliquées à un registre tampon L 6, qui peut retransmettre ses sorties suivant la même géométrie aux entrées verticales du bloc B2 sous-jacent. La même disposition existe entre les blocs Al et B1. Elle peut se répéter en dessous, entre le bloc B2 illustré et un autre bloc B2. Il en est de même entre le bloc B1 illustré et un autre bloc B1. Enfin, de gauche à droite, le bloc B2 s'interconnecte exactement avec le bloc B1, lequel peut à son tour recevoir à sa droite d'autres blocs B1. Au passage, on notera que les différents registres tampons notés L (avec une référence numérique s'ils sont visés dans la description) reçoivent tous le même signal d'horloge H. Les registres et ce signal d'horloge ne sont utiles que pour le fonctionnement "pipe-line". On commencera par décrire en référence aux figures 6 et 6A1 le bloc de base du premier type Al. A sa droite, on a tout d'abord rappelé que les triplets TO et T2 du multiplicateur traversent, "en transparence", l'ensemble de tous les circuits. Le bloc Al reçoit aussi, à droite, des bits won, constituant un bit supplémentaire de rang -1 du multiplicande, afin d'y définir des triplets analogues à ceux du multiplicateur. Ainsi, le bloc Al comporte un premier module M1 pour traiter le premier triplet du multiplicande ("0", "yO", "yl"), et le premier triplet décodé TO du multiplicateur. L'entrée supérieure (uO) de ce bloc M1 reçoit la retenue CP2. A gauche, un autre bloc M1 traite le triplet suivant yl, y2, y3 du multiplicande, et le triplet décodé TO du multiplicateur, avec la retenue CP4 sur son entrée uO. Le bloc Al comporte aussi deux modules courants du premier type, MA1, dont l'un opère sur le triplet inférieur ("0", "yO", wyl") du multiplicande, et l'autre sur le triplet adjacent de ce multiplicande, à savoir yl, y2, y3. Ces deux modules reçoivent le triplet décodé T2 du multiplicateur, comme rappelé à droite. Arrive aussi à droite le bit "0" ajouté au multiplicande. Les sorties vO et vl du module M1 de droite constituent les deux premiers bits de sortie du "coeur1 du multiplieur, dans le cas où celui-ci opère sur des opérandes de huit bits. La sortie v2 du même module va sur l'entrée uO du module MA1 sous-jacent. Les entrées ul et u2 de celui-ci reçoivent respectivement les sorties vO et vl du module M1 supérieur gauche. La sortie v2 de ce module M1 va sur l'entrée uO du module MA1 sous-jacent (de gauche). Les entrées ul et u2 de celui-ci reçoivent respectivement les sorties vO et vl du module M1 adjacent à gauche, mais de niveau supérieur, qui se trouve dans le bloc A2 que l'on décrira ci-après en référence à la figure 6A2. Ce schéma de connexion se reproduit pour les sorties des modules MA1 situées en bas dans le bloc Al. On ne le décrira pas à nouveau en détail. I1 est observé simplement que les sorties vO et vl du module MA1 de droite fournissent deux autres bits de produits partiels. Les autres sorties des deux modules MA1, ainsi que deux sorties prélevées dans le module MA1 du bloc adjacent A2, viennent sur un tampon L7 permettant le fonctionnement en pipe-line du multiplieur. On observera immédiatement que la géométrie de toutes les sorties situées à droite du bloc Al est figée. I1 en est de même pour toutes les sorties situées en bas de ce bloc Al. On conçoit donc qu'au niveau des blocs comme Al, l'invention fournit une structure répétitive qui peut être assemblée par simple positionnement des blocs, en mettant leurs entrées et sorties directement en regard, comme le comprendra le spécialiste de la Conception Assistée sur Ordinateur. Sur la figure 6A2, on trouve un bloc A2 dont la structure générale est analogue à celle de la figure 6A1. Les deux modules de droite,Ml et MAl, sont montés comme sur la figure 6A1, sauf le fait qu'ils reçoivent le triplet y5, y4 et y3 du multiplicande. Par contre, dans la partie gauche du bloc A2, on se trouve en présence du triplet le plus significatif du multiplicande, à savoir y7, y6, y5 (étant rappelé que le multiplicande a huit bits). Le module supérieur gauche est un module M2. Son entrée uO reçoit un bit "1", pour permettre l'extension du signe, des produits partiels (exprimés en complément à deux) afin d'en réaliser l'addition exacte, comme le comprendra l'homme de l'art. Tout se passe comme si l'on répétait, à gauche de chaque produit partiel, son bit de signe (plus fort poids), de manière suffisante pour que tous les produits partiels aillent jusqu'à un même bit de poids le plus fort (d'où l'expression "extension du signe"). Conformément à ce qui a été dit plus haut sur un module M2, il comporte une sortie supplémentaire v3, qui fournit l'entrée ul du module MA2 sous-jacent. L'entrée u2 de ce même module reçoit un bit "1", pour l'extension du signe, comme précédemment. Enfin, comme un module de type M2, le module MA2 possède une sortie v3, qui est appliquée au circuit tampon L6, de même que les autres sorties du module MA2, la sortie v2 du module MA1 de droite, ainsi qu'un bit supplémentaire "1" à gauche, pour la même raison que précédemment. On dispose ainsi dans la sortie basse du bloc A2 dont il s'agit d'une géométrie qui peut être rendue exactement semblable à celle du bloc Al. Il en est naturellement de même pour les sorties situées en partie latérale droite du bloc A2. Les deux autres modules du dispositif de la figure 6 seront maintenant décrits en référence aux figures 6B1 et 6B2. Le bloc B1 est constitué de quatre modules MA1, interconnectés comme les quatre modules de la figure 6A1. Là encore, la géométrie des sorties, à droite et en bas, est conservée. Et les sorties basses sont appliquées à une mémoire-tampon pour le fonctionnement pipe-line. Un tel bloc B1 peut recevoir 16 entrées supérieures d'un bloc Al ou d'un bloc B1 situé au-dessus. I1 peut recevoir ses entrées de gauche d'un bloc B2, ou d'un autre bloc B1 situé à gauche. Sur la figure 6B2, le bloc B2 a une structure analogue à celle du bloc B1 de la figure 6B1, sauf le fait qu'il comporte à gauche des modules de type MA2. Ceux-ci sont alimentés comme le module MA2 de la figure 6A2, mais reçoivent bien entendu des triplets de rang supérieur du multiplicateur, comme T4 et T6. La géométrie des connexions est conservée là aussi. Les entrées supérieures peuvent venir soit d'un bloc A2, soit d'un autre bloc B2 situé au-dessus. Les figures 6B1 et 6B2 font apparattre, au bas des blocs, une géométrie figée pour l'interconnexion avec d'autres blocs; en mode pipe-line, cette interconnexion se fait à travers des mémoires tampon Si l'on se réfère maintenant à la figure 6, les informations de produits partiels fournies comportent quatre paires de bits sortant à droite, pour atteindre un additionneur ASL qui reçoit aussi le signal de report CPO. La sortie de l'additionneur ASL consiste en les poids faibles du produit. On verra plus loin comment celui-ci peut être obtenu. En partie basse, chaque bloc fournit six informations, celles du bloc B2 de gauche étant complétées par un signal à "1", pour l'extension du signe. Les sorties se trouvent ainsi stockées dans des mémoires tampons, toujours pour le fonctionnement en pipe-line, avant d'être appliquées à un additionneur ASC à propagation de retenue, dont la sortie fournit les poids forts de produit. I1 est maintenant fait référence à la figure 7, ainsi qu'à ses détails, à savoir - la figure 7-EX, qui illustre les circuits d'entrée pour le multiplicateur; - la figure 7-EY, qui illustre les circuits d'entrée supérieurs pour le multiplicande; - la figure 7-C, qui illustre le coeur du multiplieur; et - la figure 7-S, qui illustre l'ensemble des circuits de sortie connectés à ce coeur du multiplieur. I1 s'agit maintenant d'un multiplieur 16 x 16 bits, propre à opérer sur des nombres complexes. Un multiplieur complexe doit effectuer les deux opérations suivantes xy* + yx* xy + x * y * où l'astérisque désigne la quantité conjuguée. L'homme de l'art sait que l'on peut appliquer séquentiellement la valeur réelle et la valeur imaginaire pour l'un des deux opérandes. Par contre, il faut pouvoir disposer alternativement des deux valeurs pour l'autre. On admet ici que c'est le multiplicande qui doit être disponible alternativement sous forme réelle et sous forme imaginaire. Sur la figure 7-EX, les 16 bits du multiplicateur X sont appliqués à des tampons notés globalement LX, suivis de décodeurs de Booth notés globalement DBX. Le décodeur de Booth pour les poids les plus faibles n'est pas suivi d'un registre tampon. Le suivant vers le bas est muni d'un registre tampon LX1. Le suivant reçoit deux registres tampons LX1 et LX2. Le dernier reçoit trois registres tampon LX1 à LX3. Ces registres ne sont nécessaires que pour le fonctionnement en "pipe-line" . Les sorties des registres tampons fournissent une paire de triplets appliqués à chacun des blocs du coeur du multiplieur. Les sorties des décodeurs de Booth DBX fournissent globalement huit retenues, qui sont appliquées aux entrées supérieures du multiplieur, comme déjà décrit (seulement pour quatre retenues) à propos de la figure 6. L'homme de l'art comprendra que l'ajout d'un registre tampon supplémentaire pour chaque nouvelle tranche de bits de poids plus élevé est lié au fonctionnement en pipe-line. Sur la figure 7-EY, les 16 entrées du multiplicande sont appliquées à des registres LYA, suivis aussi de registres tampons de même nature LYB. Des multiplexeurs MUY permettent la sélection entre les deux registres. On peut ainsi disposer au choix de la valeur réelle ou de la valeur imaginaire du multiplicande Y pour effectuer le produit. Le coeur du multiplieur est illustré sur la figure 7-C. Sa compréhension est aisée, compte tenu de ce qui a été exposé à propos de la figure 6. Les entrées de gauche proviennent des sorties des décodeurs de Booth, après le nombre voulu de registres tampons. Les entrées supérieures proviennent des multiplexeurs MUY, avec en outre les retenues CPX issues des décodeurs de Booth DBX. Un bloc de type A2 est prévu pour les poids supérieurs du multiplicande et les poids inférieurs du multiplicateur. Lui sont adjoints, à droite, trois blocs de type Al pour traiter les poids inférieurs du multiplicateur et les autres poids du multiplicande. Au bloc A2 sont en outre adjoints, en dessous, des blocs de type B2 pour le traitement des poids supérieurs du multiplicande, et des autres niveaux de poids du multiplicateur. Le reste du multiplieur est constitué de blocs courants du premier type, à savoir B1. La figure 7-S illustre maintenant les sorties. Les sorties de droite du coeur du multiplieur sont appliquées à un ensemble SV1 comprenant un organe d'addition, noté Ao et 3 organes d'addition notés B. Immédiatement après, l'ensemble SV2 fait suivre chaque organe de deux mémoires tampons permettant la multiplication complexe (ou un fonctionnement en multiplieur accumulateur). Viennent ensuite, dans l'ensemble SV3, des mémoires tampons assurant le rattrappage des décalages effectués à l'entrée (tampons LX, figure 7 EX); ces mémoires tampons ne sont nécessaires qu'en mode "pipeline". Enfin, l'ensemble SV4 comprend, sur chaque voie deux registres de sortie (un seul en opérations sur nombre réels). L'organe Ao comprend un additionneur deux bits pour les deux poids les plus faibles issus du module M1 du bloc Al associé (voir figures 7C et 6A1). Les sorties du module MA1 du bloc Al associé vont, à travers un tampon, vers le bloc Bo du dessous. Ce bloc Bo va donc comporter deux additionneurs deux bits, dont l'un opère sur ce qui lui vient du bloc Ao et sur la sortie des tampons d'accumulation SV2 associés. L'autre opère sur deux bits issus du module MA1 supérieur du bloc B1 situé à gauche du bloc Bo. Enfin les deux bits du module MA1 inférieur traversent simplement le bloc Bo considéré pour rejoindre son voisin du dessous, å travers un tampon, et ainsi de suite, jusqu'au bloc de coin Co. Les sorties basses du coeur du multiplieur sont reçues d'abord dans un ensemble SH1 comprenant un bloc C2 tout à fait à gauche, accompagné de trois blocs C1. Ensuite, on trouve sur chaque voie verticale - les paires de tampons SH2 pour l'accumulation, en nombres complexes; - les paires de tampons SH3, qui réalisent un temps d'attente équivalent à celui des tampons SV4. Intervient enfin un additionneur CLA, à propagation de retenue. Le bloc C2 comprend 3 additionneurs 2 bits. Les blocs C1 en comprennent quatre. Le bloc Co comprend un additionneur deux bits, et un autre additionneur deux bits augmenté d'un demiadditionneur, pour la retenue. Dans les sorties de droite, la propagation de la retenue finale se fait naturellement, verticalement, d'une ligne à l'autre, de haut en bas. Par contre, dans les sorties basses, chacun des additionneurs délivre sa 'propre retenue finale", au même moment que les autres. Ils délivrent donc chacun 3 bits, dont un de retenue. C'est pourquoi, il faut utiliser un bloc CLA formant additionneur à propagation (ou mieux anticipation) de retenue ("Carry Look-ahead Adder"). Les figures 8A et 8B donnent le schéma plus détaillé des circuits de sortie, restreint au cas d'un multiplieur 8 bits sur nombres complexes, pour simplifier. On reconnait sur ces figures des additionneurs 2 bits AD, dont le schéma détaillé a été donné en figure 4. Cependant, le bloc Co (qui apparait sur les 2 figures 8A et 8B, pour en concrétiser les liaisons) comporte un organe marqué AD + 1/2 AD, où l'additionneur 2 bits est complété d'un demiadditionneur 1 bit, pour définir une sortie de retenue annulée, notée C. Il est à remarquer que les blocs des figures 8A et 8B conservent la répétitivité dans l'espace des connexions d'entrée/sortie, selon l'invention. Comme déjà indiqué le multiplieur de la figure 7 est propre à opérer sur des nombres complexes. S'il s'agit seulement d'effectuer une multiplication sur des nombres réels, la structure du circuit peut être simplifiée. I1 suffit pour cela de remplacer par des connexions directes tous les circuits hachurés en traits tiretés. Par ailleurs, les entrées et sorties du multiplieur 8 x 8 bits de la figure 6 n'ont pas été décrites en détail. Elles peuvent être aisément déduites du montage de la figure 7. I1 suffit en effet de ne conserver, dans ce montage, que les blocs hachurés en trait plein, avec les entrées/sorties correspondantes. Ce multiplieur 8 bits est accumulateur. Un multiplieur 8 x 8 bits opérant sur des nombres complexes est obtenu en ajoutant au bloc hachuré en trait plein le bloc hachuré en traits tiretés situé sur la même ligne ou sur la même colonne, suivant le cas. L'examen global de la figure 7 permet de mieux comprendre le fonctionnement en "pipe-line". On note to le temps d'horloge auquel les informations sortent des décodeurs de Booth DBX - la première ligne opère au temps to ; ses sorties seront disponibles au temps t + 8 (en nombres complexes); - au temps t = 1, les tampons sauvegardent les résultats partiels pour la seconde ligne, et la valeur correspondante du décodeur de Booth sur l'entrée horizontale de la seconde ligne; les sept tampons de la sortie font que les données seront disponibles au temps to + 8; - ceci continue pour les lignes suivantes. Les sorties basses du coeur du multiplieur sont disponibles au temps t4, et les sorties finales au temps t + 8. Bien entendu, dès que la première ligne a passé les données à la seconde, elle peut traiter un nouvel opérande (ou la partie imaginaire après la partie réelle). Enfin, les réalisations illustrées sont Zpipelinées" au maximum. On peut naturellement ne le faire que partiellement, ou pas du tout, en supprimant convenablement les registres tampon. Revendications. 1. Multiplieur numérique, opérant sur un multiplicande (Y) et un multiplicateur (X) en particulier, possédant chacun un nombre pair de bits et comprenant des décodeurs de Booth (DB), propres à transformer les bits du multiplicateur, pris par triplets se chevauchant sur un bit, en des triplets décodés correspondants, ainsi que des multiplexeurs de Booth (MB), propres chacun à traiter une paire de bits du multiplicande et un triplet décodé (dl, d2, d3), pour fournir à chaque fois un produit partiel (PPi), le produit complet étant obtenu par sommation de ces produits partiels, caractérisé en ce qu'il comporte au moins un module de base d'un premier type (M1) traversé par un triplet décodé du multiplicateur, et recevant un triplet de bits du multiplicande, tout en possédant aussi une entrée de bit de retenue, ce module comprenant deux multiplexeurs de Booth (MB) opérant respectivement sur deux paires de bits extraites du triplet du multiplicande, et sur le triplet décodé de poids inférieur du multiplicateur, pour fournir deux bits de produit partiel, et transmettant simplement le bit de retenue. 2. Multiplieur selon la revendication 1, caractérisé en ce qu'il comporte en outre un module de base d'un second type (M2) traversé par le même triplet décodé du multiplicateur, et recevant un triplet de poids supérieur du multiplicande, ce module possédant la même structure qu'un module de base du premier type, avec en outre un multiplexeur de Booth complémenté (MB') opérant sur le bit de poids supérieur du multiplicande, et fournissant une sortie supplémentaire de produit partiel. 3. Multiplieur selon l'une des revendications 1 et 2, caractérisé en ce qu'il comporte en outre au moins un module courant d'un premier type (MA1) agencé comme le module de base du premier type, mais recevant un triplet décodé de poids plus élevé du multiplicateur, ainsi que rois bits de produit partiel précédent dont l'un est une retenue précédente venant d'un module affecté au même triplet du multiplicande et les deux autres viennent d'un module affecté au triplet consécutif supérieur du multiplicande, ce module courant du premier type comprenant en outre un additionneur complet à deux bits (AD) opérant sur les sorties des deux multiplexeurs de Booth et sur les trois bits de produit partiel précédent. 4. Multiplieur selon la revendication 3, caractérisé en ce qu'il comporte en outre un module courant d'un second type (MA2) traversé par le même triplet décodé du multiplicateur que les autres modules courants, mais recevant le triplet de poids supérieur du multiplicande, ce module possédant la même structure qu'un module courant du premier type, avec en outre un multiplexeur de Booth complémenté (MB'), monté comme celui du module de base du second type. 5. Multiplieur numérique, caractérisé en ce qu'il comprend des blocs 4 x 4 bits, (Al, A2, B1, B2) comprenant chacun quatre modules selon l'une des revendications précédentes, suivant les poids concernés, avec en outre - des liaisons dites verticales, le cas échéant munies de registres verrous permettant le stockage du produit partiel entre les blocs relatifs à différents quadruplets de poids du multiplicateur, avec une géométrie choisie de connexions, - des liaisons directes dites horizontales entre les blocs relatifs à différents quadruplets de poids du multiplicande, avec une géométrie choisie de connexions, et - des moyens additionneurs à propagation de retenue (ASL, ASC) pour fournir le produit complet à partir des sorties ultimes desdits blocs de 4 x 4 bits. 6. Multiplieur selon la revendication 5, caractérisé en ce qu'il comprend une structure régulière comportant . au moins un bloc de base d'un premier type (Al) comprenant deux modules de base du premier type et deux modules courants du premier type, . un bloc de base d'un second type (A2) comprenant un module de base du premier type, un module de base du second type, un module courant du premier type, et un module courant du second type, . au moins un bloc courant d'un premier type (B1), comprenant quatre modules courants du premier type, et . un bloc courant d'un second type (B2) comprenant deux modules courants du premier type et deux modules courants du second type. 7. Multiplieur selon la revendication 6, caractérisé en ce qu'il comprend plusieurs rangées de blocs courants comportant chacune un bloc courant du second type (B2), pour les poids supérieurs du multiplicande, et un ou plusieurs blocs courants du premier type (B1), des mémoires tampons (L) étant prévues de chaque côté des différentes rangées de blocs courants. 8. Multiplieur selon la revendication 7, caractérisé en ce que le multiplicateur est traité dans des registres d'entrée par groupes de bits décalés en retard dans l'ordre des poids croissants, chaque groupe de bits étant appliqué à une rangée de blocs, et en ce que les registres d'entrée et les registres entre rangées sont commandés en synchronisme, ce qui permet un fonctionnement en "pipe-line". 9. Procédé de conception assistée par ordinateur de circuits multiplieurs numériques, caractérisé en ce que l'on stocke en bibliothèque des dessins de masques relatifs à chacun des modules selon les revendications 1 à 4, et en ce qu'on réalise le circuit par assemblage de tels modules. 10. Procédé selon la revendication 9, caractérisé en ce que l'on stocke en bibliothèque des dessins de masques relatifs à chacun des blocs de la revendication 6, que l'on assemble ensuite de façon régulière par simple positionnement, compte tenu de leurs géométries de connexions choisies à l'avance.