Brevet FR2524175A1 — publié le 19830930

La présente invention concerne une structure de multiplieur rapide en circuit intégré MOS pour la multiplication de deux mots binaires à N éléments binaires, ladite structure comprenant N 2 multi- plieurs Elémentaires disposés en matrice carrée, fournissant chacun le produit partiel d'un élément binaire d'un premier desdits mots, affecté à la colonne correspondante de la matrice, et d'un élément binaire du second mot, affecté à la ligne correspondante de la matrice, et des cellules d'additionneur binaire élémentaires associées aux multiplieurs élémentaires pour effectuer les sommes successives nécessaires pour l'obtention des 2 N éléments binaires du produit final, ces cellules étant également arrangées en une matrice associée dans laquelle la sortie somme dechaque cellule est raccordée à une entrée de la cellule adjacente dans la direction de la diagonale de la matrice passant par les multi- plieurs élémentaires fournissant des produits partiels de même poids et dans laquelle la sortie retenue de chaque cellule est raccordée à une entrée de la cellule adjacente dans la direction, ligne ou colonne de ladite matrice associée,allant vers le côté de celle-ci d'o sortent les éléments binaires de plus fort poids du produit final. Une telle structure connue utilisant la technique du "carry- save adder" est décrite par exemple dans l'article de Shlomo Waser "Righspeed monolithic multipliers for real-time digital signal processing" paru dans la revue COMPUTER, octobre 1978, pages 19 à 29, en particulier page 21 Elle est représentée sur la figure 1 de la présente demande de brevet et se caractérise essentiellement par l'ajournement de l'addition des retenues à un étage ultérieur, ce qui évite d'attendre le report de la retenue pour faire l'addition suivante Dans une telle structure, la vitesse de la multiplication est conditionnée par le délai de propagation de la retenue On connaît des cellules d'additionneur binaire assurant une propagation rapide de la retenue, ce qui permet d'améliorer les performances d'un multiplieur asynchrone d 4 type décrit ci-dessus De telles cellules sont décrites par exemple dans la demande de brevet français N O 81 21656 déposée le 19 novembre 1981 par la demanderesse, et intitulée "Cellule d'addition binaire à trois entrées à propagation rapide de la retenue" Dans ces cellules, on favorise le temps de propa- gation de la retenue par rapport au temps d'élaboration de la somme. Cependant, ceci introduit un déséquilibre des temps de propa- gation de retenue et de somme et si l'on augmente trop ce déséquilibre pour privilégier la retenue, on arrive à l'inconvénient qu'à la cellule adjacente suivante, la retenue est disponible très tôt mais on doit attendre le signal somme de la cellule précédente On perd ainsi le bénéfice d'une propagation rapide de la retenue. L'invention a pour objet de remédier à cet inconvénient en rétablissant l'équilibre dans la structure de multiplieur entre la propagation des sommes et des retenues, de manière à tirer le profit maximum de la vitesse de propagation de retenue améliorée dans les cellules d'additionneur binaire. Selon l'invention, ceci est obtenu, dans une structure de multiplieur du type décrit au début, par le fait que, les cellules d'additionneur binaire étant des cellules du type à propagation rapide de la retenue, les transferts de résultats intermédiaires à additionner dans la direction de ladite diagonale se font de p en p cellules, p étant un nombre entier supérieur à un, et par le fait que ladite matrice associée de cellules d'additionneur binaire ne comporte pas de cellules associées aux p premières lignes et colonnes de multiplieurs élémentaires et est complétée par p-i colonnes ou lignes de cellules supplémentaires sur le côté de la matrice d'ou sortent les éléments binaires de plus faible poids et par p lignes ou colonnes de cellules supplémentaires sur le côté de la matrice d'o sortent les éléments binaires de plus fort poids, lesdites cellules supplémentaires servant à rassembler les résultats intermédiaires fournis par les cellules des p colonnes et des p lignes adjacentes de la matrice associée pour élaborer les éléments binaires du produit final. Selon une autre caractéristique de l'invention, les cellules d'additionneur binaire sont d'un type à propagation rapide de la retenue tel que leur temps d'élaboration du signal somme est approximativement p fois plus grand que leur temps de propagation de la retenue. L'invention sera mieux comprise et d'autres caractéristiques apparaîtront à l'aide de la description ci-après et des dessins joints ou: la figure I représente schématiquement une structure de multi- plieur 8 x 8 connue; les figures 2 à 5 représentent schématiquement une structure de multiplieur 16 x 16 selon l'invention avec les différentes inter- connexions; et les figures 6 à 9 représentent des schémas possibles des divers types de cellules d'additionneur binaire utilisées dans la structure de multiplieur des figures 2 à 5. 2 5 2 4 1 7 5 La figure I représente un schéma connu de structure de multi- plieur 8 x 8 découlant de la structure "carry-save" décrite dans l'article précité de Shlomo Waser Ce multiplieur permet d'effectuer la multiplication de deux mots binaires à huit éléments binaires XO à X 7 et YO à Y 7 Chacun des symboles X disposés en matrice carrée repré- sente un multiplieur élémentaire, tel 200 ou 201, par exemple une porte ET, fournissant le produit partiel de l'élément binaire du premier mot correspondant à la colonne o se trouve le multiplieur (X 2 pour le multiplieur 200) par l'élément binaire du second mot correspondant à la ligne o se trouve le multiplieur (Y O pour le multi- plieur 200) La structure de multiplieur 8 x 8 comprend en outre des cellules d'additionneur binaire, telle 202 ou 203, disposées en une matrice associée et effectuant les sommes partielles nécessaires pour l'obtention des éléments binaires PO à P 15 du produit final Les cellules symbolisées par un octogone, telle 203, sont des cellules à deux entrées et deux sorties, à savoir retenue r vers le bas et somme s obliquement sur le côté Les cellules symbolisées par un carré, telle 202, sont des cellules à trois entrées dont une reçoit la retenue de la cellule précédente et à deux sorties somme et retenue disposées comme pour les cellules précédentes Les cellules entourant un symbole X sont celles dont une entrée reçoit le produit partiel fourni par le multiplieur élémentaire local Sur la figure 1, toutes les cellules sont dans ce cas, mais il n'en est pas de même pour les figures suivantes comme on le verra ci-dessous. Ainsi qu'on peut le constater, toutes les sommes fournies par les cellules sont envoyées à une entrée de la cellule adjacente de même poids, dans la direction de la diagonale de la matrice passant par les multiplieurs élémentaires fournissant des produits partiels de même poids Les retenues se propagent verticalement vers le côté de la matrice d'o sortent les éléments binaires de plus fort poids du produit final (P 8 à P 15) En sortie vers le bas de la matrice, on a deux opérandes constitués l'un des retenues du dernier étage de cellules, l'autre des sommes de ce même étage Les dernières additions sont effectuées, comme cela est connu, à l'aide d'un additionneur à prévision de retenue 204 (additionneur du type "carry look-ahead"). Comme on peut le voir, la vitesse de la multiplication est gouvernée principalement dans une telle structure par le temps de propa- gation de la retenue Par ailleurs, un additionneur à prévision de retenue devient très complexe et coûteux dès qu'on de'iasse une longueur de mots de quelques éléments binaires. Selon l'invention, on se propose de mettre à profit des cellules à propagation rapide de la retenue telles que celles décrites dans la demande de brevet français N O 81 21656 précitee et d'en tirer le bénéfice maximum sans que les performances du multiplieur soient dégradées par l'allongement relatif du temps d'élaboration de la somme. On se propose en outre d'éviter l'emploi d'additionneurs du type à prévision de retenue. On a représenté sur les figures 2 à 5 une structure de multi- plieur 16 x 16 basée sur ces principes Les quatre figures 2 à 5 repré- sentent la même structure avec les diverses interconnexions indiquées sur des figures différentes pour plus de clarté Sur ces figures, les multiplieurs élémentaires symbolisés par un X, tel 200 ou 201, sont des portes NON-ET recevant l'élément binaire X de la colonne correspon- dante et l'élément binaire Y de la ligne correspondante Les éléments binaires X O à X 15 du premier mot sont appliqués respectivement aux colonnes numérotées O à 15 et les éléments binaires YO à Y 15 du second mot sont appliqués respectivement aux lignes numérotées O à 15. La structure de multiplieur comprend en outre une matrice associée de cellules d'additionneur de quatre types différents CI, C 2, C'2 et C 3 symbolisées respectivement par des carrés, des cercles, des cercles avec un point vers le bas, pour schématiser l'inversion de la retenue, et des hexagones Toutes ces cellules ont une sortie somme représentee obliquement vers le bas dans la direction de la diagonale mentionnée plus haut et une sortie retenue représentee verticalement vers le bas, sauf la dernière ligne numérotée 18 comme on le verra ci-dessous. Dans la direction de la diagonale (direction de propagation des sommes), les résultats intermédiaires sont transf érés de trois en trois cellules (figures 3 à 5) Ainsi les trois premières lignes ( 0, 1, 2) et les trois premières colonnes ( 15, 14, 13) de la matrice de multi- plieurs élémentaires n'ont pas de cellules associées dans la matrice associée de cellules d'additionneur binaire Cette matrice associée est complétée par une "gouttière" rassemblant les résultats intermé- diaires venant des cellules des colonnes O à 2 et des lignes 13 à 15 pour former les éléments binaires du produit final PO à P 31 Cette "gouttière" est formée de deux colonnes -1, -2 et de trois lignes 16 à 18 de cellules supplémentaires Ces cellules supplémentaires ne sont pas associées à des multiplieurs élémentaires locaux. Avant d'expliquer plus en détail la structure du multiplieur et son fonctionnement, il faut préciser la constitution des différents types de cellules Toutes les cellules fournissent la somme sous forme complémentée S Par contre, la retenue est tantôt la valeur vraie Rs, tantôt la valeur complémentée, 7 selon le type de cellule. Les cellules de type Cl, symbolisées par un carré, sont repré- sentées sur la figure 6 Ce sont des cellules à trois entrées recevant les valeurs complémentées A, î et la retenue Re sous forme vraie de la cellule précédente La valeur complémentée X est obtenue, pour la cellule représentée, à partir d'un multiplieur élémentaire local formé d'une porte NON-ET effectuant le produit partiel des éléments binaires X et Y Cette porte NON-ET comprend les transistors MOS 110 et 111 en série avec un transistor MOS 122 monté en résistance Cette cellule est déjà décrite dans la demande de brevet français N O 81 21656 (figure 12). Elle comprend une cellule de calcul intermédiaire des variables M et N. o M est le résultat de la mise en OU exclusif des variables A et B. Cette cellule de calcul intermédiaire comprend les transistors MOS 112 à 115, les transistors MOS montés en résistance 123 et 124 et un inverseur 125 Une cellule de découplage ( 116, 117) permet d'envoyer la valeur A à la sortie retenue Rs lorsque la variable M est au niveau 0, par l'intermédiaire du transistor MOS 118, tandis que la sortie Rs reçoit la retenue d'entrée Re inversée par l'inverseur 126 quand la variable M est au niveau 1, par l'intermédiaire du transistor MOS 119 La somme complémentée S est obtenue à partir des valeurs de Re et Re par l'intermédiaire des transistors MOS 120 et 121 et de l'inverseur 127. Les cellules CI fournissent donc la somme et la retenue sous forme complémentée. La figure 7 représente une cellule de type C 2, symbolisée par un cercle Cette cellule-a trois entrées recevant les variables complé- mentées A, B et une retenue complémentée U delacelluleprécédente Elle fournit une sortie somme complémentée S et une sortie retenue vraie Rs. Les mêmes références que sur la figure 6 ont été utilisées Les seules différences résident dans le fait que les connexions à la masse et à la source de tension VDD de la cellule de découplage 116, 117 sont inversées de façon à fournir la valeur vraie A au transistor 118 et dans le fait que les transistors 120 et 121 sont commandés par M et M respec- tivement au lieu de M et N. La figure 8 représente une cellule de type C'2, symbolisée par un cercle avec un point en bas Cette cellule est une cellule du type C 2 modifiée par l'adjonction d'un inverseur 128 sur la sortie retenue Cette cellule n'étant pas associée à un multiplieur élémen- taire local, la porte NON-ET 110, 111, 122 de la figure 7 a été supprimée. Cette cellule C'2 a trois entrées A, B et Re et deux sorties Ts et S. Enfin, la figure 9 représente une cellule du type C 3, symbo- lisée par un hexagone Cette cellule est une cellule à deux entrées, recevant les variables complimentées X et B, et à deux sorties fournissant la somme complémentée S et la retenue vraie Rs Cette cellule comprend deux transistors MOS 130, 131 en parallèle entre la masse et un transistor MOS en résistance 135 relié à la source de tension VDD' Les transistors 130 et 131 sont commandés respectivement par les variables A et B et la sortie retenue Rs est prélevée entre les transistors 130, 131 et le transistor 135 monté en résistance La somme complémentée S est obtenue à l'aide des transistors 133 et 134 en série et du transistor 132 montés en parallèle entre la masse et un transistor 136, monté en résistance et connecté à la source de tension VDD, la somme S étant prélevée par un inverseur 137 entre les transistors 132 à 134 d'une part et le transistor 136 d'autre part. Le transistor 132 est commandé par la retenue de sortie Rs et les transistors 133 et 134 respectivement par les variables A et B. En revenant maintenant à la structure de multiplieur des figures 2 à 5, on voit que les sorties somme de toutes les cellules étant des sorties complémentées S peuvent être transférées à n'importe quelle autre cellule qui a toujours au moins deux entrées de variables complémentées Seules les sorties et les entrées de retenue présentent une alternance entre les valeurs vraies et complémentées Cela étant, la figure 2 représente la propagation des retenues entre cellules Une ligne sur deux de cellules est composée de cellules ayant une entrée de retenue vraie et une sortie de retenue complémentée et une ligne sur deux de cellules ayant une entrée de retenue complémentée et une sortie de retenue vraie, sauf l'avant-dernière ligne 17 faisant partie de la "gouttière" qui est composée de cellules C'2 fournissant une sortie retenue complémentée et la dernière ligne 18 dans laquelle les retenues se propagent le long de la ligne vers les éléments binaires de plus fort poids et qui est composée alternativement de cellules CI et C 2. La cellule se trouvant au sommet de la matrice dans la direction de la diagonale est une cellule C 3 à deux entrées et sa sortie somme fournit l'élément binaire P 16 du produit final Enfin, la première ligne 3 de la matrice associée est une ligne de cellules C 3 à deux entrées complé- mentées Cette présence de deux entrées complémentées sur chaque cellule permet d'utiliser uniquement des portes NON-ET pour les multiplieurs élémentaires et d'économiser ainsi les inverseurs qu'on devrait autrement leur associer De plus, l'alternance utilisée pour les retenues permet de réduire au minimum le nombre d'inverseurs à traverser par les retenues et donc d'accélérer leur propagation. Les figures 3, 4 et 5 représentent les interconnexions dans la direction de propagation des sommes parallèlement à la diagonale déjà mentionnée, respectivement pour les lignes 0, 3, 6, les lignes 1, 4, 7 et les lignes2, 5, 8 L'invention a été décrite dans le cadre d'un multiplieur 16 x 16 avec des transferts de trois en trois cellules Dans ce cas, les cellules d'additionneur binaire Cl, C 2, C'2, C 3 sont de préférence telles que dans une cellule le temps de propagation de la retenue soit approxi- mativement trois fois plus faible que le temps d'élaboration de la somme Mais on pourrait aussi prévoir des sauts de deux en deux, ou plus généralement de p en p pour des multiplieurs de mots à N éléments binaires, le nombre p étant choisi en fonction du nombre N pour optimiser le fonctionnement du multiplieur et des cellules d'additionneur binaire. Comme on peut facilement le vérifier, dans le cas de sauts de p en p, la "gouttière" comporterait p-1 colonnes sur le côté de la matrice de cellules d'o sortent les éléments binaires de plus faible poids et p lignes de cellules sur le côté de la matrice d'o sortent les éléments binaires de plus fort poids, la dernière ligne étant une ligne à cellules alternées et l'avant-dernière ligne fournissant des retenues complémenté-es comme dans l'exemple décrit ci-dessus. Par ailleurs, les principes de l'invention, en particulier le saut de p en p, ont été décrits en se référant à une structure de multiplieur du type "carry-save" Mais il est clair qu'ils s'appliquent aussi dans le cas d'un multiplieur utilisant une autre structure, par exemple basée sur l'algorithme de Booth ou sur une structure en arbre de Wallace. L'invention n'est donc nullement limitée à l'exemple de réalisation décrit et on peut imaginer d'autres variantes sans sortir de son cadre. REVENDICATIONS - 1 Structure de multiplieur rapide en circuit intégré MOS pour la multiplication de deux mots binaires à N éléments binaires, ladite structure comprenant N multiplieurs élémentaires disposés en matrice carrée, fournissant chacun le produit partiel d'un élément binaire d'un premier desdits mots, affecté à la colonne correspondante de la matrice, et d'un élément binaire du second mot, affecté à la ligne correspondante de la matrice, et des cellules d'additionneur binaire élémentaires associées aux multiplieurs élémentaires pour effectuer les sommes successives nécessaires pour l'obtention des 2 N éléments binaires du produit final, ces cellules étant également arrangées en une matrice associée dans laquelle la sortie somme de chaque cellule est raccordée à une entrée de la cellule adjacente dans la direction de la diagonale de la matrice passant par les multiplieurs élémentaires fournissant des produits partiels de même poids et dans laquelle la sortie retenue de chaque cellule est raccordée à une entrée de la cellule adjacente dans la direction, ligne ou colonne de ladite matrice associée, allant vers le côté de celle-ci d'o sortent les éléments binaires de plus fort poids du produit final, ladite structure étant caractérisée en ce que, les cellules d'additionneur binaire (CI, C 2, C'2, C 3) étant des cellules du type à propagation rapide de la retenue, les transferts de résultats intermédiaires à additionner dans la direction de ladite diagonale se font de p en p cellules, p étant un nombre entier supérieur à un, et en ce que ladite matrice associée de cellules d'additionneur binaire ne comporte pas de cellules associées aux p premières lignes (O, 1, 2) et colonnes ( 15, 14, 13) de multiplieurs élémentaires ( 200, 201) et est complétée par p-1 colonnes (-1, -2) ou lignes de cellules supplémen- taires sur le côté de la matrice d'o sortent les éléments binaires de plus faible poids et par p lignes ( 16, 17, 18) ou colonnes de cellules supplémentaires sur le côté de la matrice d'o sortent les éléments binaires de plus fort poids, lesdites cellules supplémentaires servant à rassembler les résultats intermédiaires fournis par les cellules des p colonnes et des p lignes adjacentes de la matrice associée pour élaborer les éléments binaires du produit final. 2 Structure de multiplieur selon la revendication 1, carac- térisée en ce que lesdites cellules d'additionneur binaire (CI, C 2, C'2, C 3) sont d'un type à propagation rapide de la retenue tel que leur temps d'élaboration du signal somme (S) est approximativement p fois plus grand que leur temps de propagation de la retenue (Rs, Rs). 3 Structure de multiplieur selon l'une des revendications 1 ou 2, caractérisée en ce que lesdites cellules d'additionneur binaire (Cl, C 2, C'2) sont du type à trois entrées (A, B, Re ou Re) et deux sorties (S, Rs ou Rs) somme et retenue, sauf les cellules de la première ligne ( 3) ou colonne sur le c 8 té de la matrice à partir duquel se propagent perpendiculairement les retenues, ces dernières cellules (C 3) comportant seulement deux entrées (A, B), et en ce que, dans la dernière ligne ( 18) ou colonne de cellules supplémentaires sur le c 8 té de la matrice d'o sortent les éléments binaires de plus fort poids du produit final, la sortie retenue de chaque cellule est envoyée à une entrée de la cellule adjacente de la même ligne dans la direction des éléments binaires de poids plus élevé, la cellule de cette dernière ligne qui se trouve au sommet de la matrice sur ladite diagonale étant une cellule à deux entrées et deux sorties (C 3) dont la sortie somme fournit le N+ 1 ième élément binaire (P 16) du produit final. 4 Structure de multiplieur selon la revendication 3, carac- térisée en ce que chaque multiplieur élémentaire ( 200, 201) est constitué par une porte NON-ET ( 110, 111, 122) fournissant le complé- ment (A) du produit partiel (XY) correspondant, en ce que chaque cellule d'additionneur binaire (Cl, C 2, C'2, C 3) est conçue pour fournir le complément de la somme (S) sur sa sortie somme, en ce que les lignes (ou colonnes) de cellules d'additionneur binaire de la matrice s'étendant perpendiculairement à la direction de propagation de la retenue comprennent alternativement une ligne ( 3, 5, 7, 9, 11, 13, 15) de cellules (C 2, C 3) fournissant la valeur vraie (Rs) de la retenue sur leur sortie retenue à partir de variables d'entrée toutes sous forme complémentée et une ligne ( 4, 6, 8, 10, 12, 14, 16) decellules (C 1) fournissant la valeur complimentée (R) de la retenue sur leur sortie retenue à partir de deux variables d'entrée complémentées et de la retenue vraie de la cellule en amont, engce que les cellules de la première ligne ( 3) sont des cellules du type à deux entrées (C 3) recevant sur leurs entrées deux valeurs complimentées (A, B), en ce que les cellules de l'avant-dernière ligne ( 17) sont des cellules (C'2) fournissant la valeur complimentée de la retenue sur leur sortie retenue et en ce que les cellules de la dernière ligne ( 18) sont alternativement des cellules (C 2) fournissant la valeur vraie et des cellules (CI) fournissant la valeur complimentée de la retenue. 2 524175 Structure de multiplieur selon la revendication 4, carac- térisée en ce que les cellules d'additionneur binaire à deux entrées (C 3) comprennent deux transistors MOS ( 130, 131) montés en parallèle entre la masse et un transistor MOS ( 135) monté en résistance et relié par ailleurs à une source de tension (VDD), la sortie retenue (Rs) étant prélevée entre les transistors en parallèle commandés respectivement par les variables d'entrée compldmentées (A, B) et le transistor monté en résistance, et en ce qu'elles comprennent en outre, montés en paral- lèle entre la masse et un transistor MOS ( 136) monté en résistance, d'une part un transistor MOS ( 132) commandé par la sortie retenue (Rs) et d'autre part deux transistors MOS ( 133, 134) en série commandés respectivement par les variables d'entrée complémentées (A, B), le transistor monté en résistance ( 136) étant relié par ailleurs à la source de tension (VDD) et la sortie somme complémentée (S) étant prélevée par l'intermédiaire d'un inverseur ( 137) sur la borne du transistor monté en résistance ( 136) qui n'est pas reliée à la source de tension.