ELEMENTAL OPERATOR, ESPECIALLY FOR A CASCADE-TYPE MULTIPLIER

Abstract: 1. An elementary operator for combining a first digital input signal of at least n bits (SX, X) with a second digital input signal comprising a first and a second bit (Y2j-1 , Y2j ) in order to obtain an output digital signal with an output carry bit, said operator comprising : - computing means (108) for complementing (~X) the first signal in order to offset it one step to the left (2X) while losing the high value bit and to complement (~2~X) this first offset signal ; - a first exclusive OR-gate (112) in order to receive the first and the second bits (Y2j-1 , Y2j ) of the second digital signal and to apply a first function bit ; - an n bit adder (110) ; - a first register (103) for storing the first signal and for applying it to the computing means (108) for the first signal, characterized in that it comprises : - a third input digital signal of n bits (RIj-1 ) ; - a first 4 to 1 multiplexer (109) to select a signal between the first signal, the first signal in an inverted form, the first signal in an offset form, and the first signal in an offset and inverted form, under the control of the third bit of the third signal and of the first function bit, and to supply the n high value bits of the selected signal ; - a second exclusive OR-gate (115) to receive the second and the third bits of the third signal and to supply a second function bit ; - a second 2 to 1 multiplexer (111) to select a signal between the second signal and the sum supplied by the adder under the control of either of the two function bits and to supply the fourth signal ; - in that the second digital furthermore comprises a third bit (Y2j+1 ) and an input carry bit, in that the adder is adapted to cause the addition of the third digital signal and of the signal selected by the first multiplexer with one input carry bit and to supply the sum of these signals and the output carry bit - and in that in order to store the first signal and the first register (103) supplies a fifth digital output signal comprising the n high value bits of the first signal.

Description: OPERATEUR ELEMENTAIRE, NOTAMMENT POUR MULTIPLIEUR DU TYPE EN CASCADE La présente invention se rapporte aux opérateurs élémentaires qui permettent d'effectuer très rapidement la multiplication d'un nombre binaire (multiplicande) par une petite partie d'un autre nombre binaire (multiplicateur). On peut associer ces opérateurs élémentaires de diverses manières, notamment en les mettant en cascade selon la structure connue sous le nom anglo-saxon de "pipe-line", pour obtenir en sortie du dernier le produit complet du multiplicande par le multiplicateur. Le problème de la multiplication en binaire est compliqué par l'usage -quasi général- de la représentation des nombres négatifs en complément à deux. Dans son ouvrage "Automatic Digital Calculators" (London, Butterworths Scientific Publications, 1953) Booth a décrit un algorithme qui permet de résoudre ce problème en procédant à une suite d'opérations élémentaires entre le multiplicande et chacun des bits successifs du multiplicateur, compte tenu de la valeur du bit précédent. Cet algorithme a depuis été généralisé pour pouvoir diviser le multiplicateur en groupes de bits et non plus en bits isolés. Un tel oupement complique bien entendu les opérations, et ceci d'autant plus que le nombre de bits groupés est important. Aussi dans la pratique on se contente de diviser le multiplicateur en groupes de deux bits. Selon l'invention un opérateur élémentaire pour combiner un premier signal numérique entrant d'au moins n bits avec un deuxième signal numérique entrant de n bits, un troisième signal numérique entrant comprenant un premier, un deuxième et un troisième bits, et un bit de retenue entrante, et obtenir un quatrième signal numérique sortant (5.) et un bit de retenue sortante, caractérisé en ce qu'il comprend: : - des moyens de calcul pour complémenter le premier signal, pour le décaler d'un pas à gauche en perdant le bit de poids fort, et pour complémenter ce premier signal décalé; - un premier OU-exclusif pour recevoir le premier et le deuxième bits du troisième signal et délivrer un premier bit de fonction; - un premier multiplexeur 4 vers 1 (109) pour sélectionner un signal entre le premier signal, le premier signal complémenté, le premier signal décalé, et le premier signal décalé et complémenté, sous la commande du troisième bit du troisième signal et du premier bit de fonction, et délivrer les n bits de poids forts du signal sélectionné; - un additionneur sur n bits pour additionner le deuxième signal au signal sélectionné par le premier multiplexeur, avec le bit de retenue entrante et délivrer la somme de ces signaux ainsi que le bit de retenue sortante; ; - un deuxième OU-exclusif pour recevoir le deuxième et le troisième bits du troisième signal et délivrer un deuxième bit de fonction; - un deuxième multiplexeur 2 vers 1 (111) pour sélectionner un signal entre le deuxième signal et la somme délivrée par l'additionneur, sous la commande de l'un ou de l'autre des deux bits de fonction, et délivrer le quatrième signal. D'autres particularités et avantages de l'invention apparaîtront clairement dans la description suivante présentée à titre d'exemple non limitatif et fait en regard des figures annexées qui représentent: - la figure 1, un schéma d'un multiplieur 7x2 selon l'invention; - la figure 2, le plan d'un circuit intégré prédiffusé usé; - les figures 3 à 12, le schéma de fonctions à intégrer dans le circuit de la figure 2; - la figure 13, le schéma d'un calculateur de retenue rapide pour l'additionneur 110 de la figure 1. Selon l'algorithme de Booth, une multiplication partielle de rang j entre un multiplicande X et un groupe de deux bits Y. Y21 du multiplicateur, se fait en ajoutant au résultat intermédiaire précédent RI. l'un des cinq nombres 0, X, 2X, -X, -2X, et en décalant de deux bits vers la droite le résultat Sj de cette opération pour obtenir un nouveau résultat intermédiaire RI.. Le choix entre ces cinq nombres se fait selon la valeur des deux bits Y2j 1 Y2j, et du bit Y2jY de groupe précédent, 2j-1 selon la table suivante: Y2j+l Y2j 2j-1 Nombre à ajouter 000 0 001 X 010 X 011 2X 100 -2X 101 - X 110 - X 111 0 En traduisant cette table en fonctions logiques on obtient: : S. RI j-1 .A UA ((RIj-l + X) (B .C# U (RI. ¯1+ 2X) j j-I (B.C)U(RIj-1-X)(B.C)U(RIj-1 -2X)(B.C)) avec: A = (Y2j 8 Y2j-1)U(Y2j+1 # Y2j) B = (Y2j # Y2j-1) C = Y2j+1 Dans ces expressions # désigne l'opérateur OU-exclusif. L'opérateur élémentaire représenté sur la figure 1 permet de réaliser une telle multiplication partielle entre un nombre X comportant sept bits (dont le signe) et deux bits Y2j+1 et Y2j d'un nombre Y, soit une multiplication 7x2 avec conservation du signe. En cascadant quatre de ces opérateurs, on peut réaliser une multiplication 7x8 avec conservation du signe sans aucun circuit supplémentaire. L'opérateur de la figure 1 comprend trois registres d'entrée 101, 102, 103 qui permettent de recevoir les données en entrée. Le registre 101 comprend sept cases qui permettent de mémoriser les bits de poids forts de Y non utilisés dans l'opérateur j ni dans ceux qui le précèdent. Les cases libérées par l'utilisation des bits de Y permettent de mémoriser les bits de poids faibles de la somme S., qui n'interviennent plus dans les calculs partiels ultérieurs par suite du décalage à droite dans l'algorithme de Booth. Le registre est muni d'une sortie sur laquelle on trouve une recopie de l'entrée après le pas d'horloge H appliqué au registre par quatre dispositifs de retard 104 à 107 en série dont l'utilité sera expliquée plus loin. Pour simplifier, la figure représente le cas où l'on a en entrée, et donc en sortie, du registre les six bits de poids forts de Y. Le registre 102 comprend neuf cases qui permettent de mémoriser les neuf bits de poids forts du résultat intermédiaire Riz 1 Celui-ci est obtenu par décalage de deux bits vers la droite de la somme S. 1 en sortie j,-1 de l'étage précédent et adjonction de deux bits de poids forts égaux au bit de poids fort de Sj1' Les deux bits de poids faibles qui débordent dans ce décalage sont rangés dans le registre 101 où ils remplacent Y et Y 2j 2j+l qui arrivent dans l'opérateur par d'autres entrées que celles du registre 102. Celui-ci est aussi muni d'une sortie qui recopie son entrée sous la commande de H en sortie du dispositif à retard 104. Ces différents décalages sont obtenus par câblage entre les deux opérateurs mis en cascade pour former deux étages successifs d'un multiplieur complet. Le registre 103 comprend dix cases qui permettent de mémoriser les sept bits du nombre X, ainsi que trois bits supplémentaires. Ces bits supplémentaires comprennent un bit de poids faible, dit de recoupe, qui permet d'associer opérateur élémentaire selon d'autres schémas que ceux de la cascade. Les deux autres bits supplémentaires sont deux bits de poids forts qui recopient le bit de signe de X et permettent lors des opérations de garder ce signe. En effet l'opération 2X (ou -2X) se traduit par un décalage d'un bit à gauche, et il est de plus nécessaire de prévoir le cas où l'addition des signes délivre une retenue et donc nécessite encore un autre bit à gauche. Ce registre 103 est également muni d'une sortie qui recopie son entrée sous la commande de H en sortie du dispositif à retard 105. Cette sortie du registre 103 est appliquée à un dispositif de calcul 108 suivi d'un multiplexeur 109. Ce dispositif de calcul effectue sur l'ensemble des dix bits les opérations X (transfert direct), iC (complé mentation bit à bit de X), 2X (décalage d'un bit à gauche), et 2X (complémentation suivie d'un décalage à gauche). Le multiplexeur 109 sélectionne le résultat de l'une de ces quatre opérations sous la commande de deux signaux binaires qui représentent respectivement Y 1 et B. Ces signaux sont obtenus d'une manière décrite plus loin. Le multiplexeur est conçu pour ne sélectionner que les neuf bits de poids fort en éliminant ainsi le bit de recoupe qui a servi dans la multiplication par 2 et qui n'est plus utile ensuite. Le nombre en sortie du multiplexeur 109 est additionné à RI. 1-1 disponible en sortie du registre 102, dans un additionneur de neuf bits 110. Cet additionneur est muni d'une entrée et d'une sortie de retenue. Pour l'usage de l'opérateur en multiplieur 7x2 cascadable on applique, par câblage externe, le bit Y2j+1 sur l'entrée de retenue de l'additionneur. En effet, comme on peut le voir dans le tableau ci-dessus définissant l'algorithme de Booth, l'addition de -X et -2X est à faire seulement lorsque #Y2j+l = 1. Comme on dispose de X et 2X, en sortie du multiplexeur 109 dans ce cas, le fait de rajouter 1 par l'entrée de retenue donne bien -X et -2X en complément à 2, qui est le code utilisé. La sortie de l'additionneur, ainsi que RIj 1' sont appliqués à un multiplexeur 111 qui sélectionne l'un de ces deux signaux sous la commande du signal A, obtenu de la manière expliquée plus loin, et délivre le signal S.. Les deux bits Y 2j-l et Y en provenance de l'étage précédent, sont appliqués à une porte OU-exclusif 112 qui délivre le signal B = (Y2j @ Y2j 1) défini plus haut. Ce signal B est mémorisé dans une bascule maîtreesclave 113 pour être appliqué au multiplexeur 109. Cette bascule est commandée par l'horloge H en sortie du dispositif à retard 107. Le bit Y2j+l en provenance de l'étage précédent est mémorisé dans une bascule maître-esclave 114 pour être appliqué au multiplexeur 109. Cette bascule est commandée par l'horloge H directement. Les deux bits Y et Y sont également appliqués à une porte 2j 2j+1 OU-exclusif 115 dont la sortie est connectée à une porte OU 116. L'autre entrée cl cette porte reçoit le signal B, et sa sortie délivre le signal A défini plus haut. Ce signal A est mémorisé dans une bascule maître¯ esclave 117 pour être appliqué au multiplexeur 111. Cette bascule est commandée par l'horloge H en sortie du dispositif à retard 106. Les signaux X et Y2j+l, nécessaires pour l'étage suivant, sont disponibles en sortie du registre 103 et de la bascule 114, avec le retard d'un pas d'horloge qui correspond au chargement du registre et de la bascule et à l'échelonnement des calculs dans la suite des étages du multiplieur en cascade. Il en est de même pour les signaux Y2j+2 et Y 2j+3 (contenus dans Y) et S.. Pour simplifier la figure on a représenté X sur neuf bits, ce qui inclut les deux bits de signe SX. Par contre le bit de recoupe R n'est pas disponible, parce qu'il n'y a pas d'utilité à le transmettre. Les dispositifs à retard 104 à 107 tiennent compte des temps de réponse des circuits auxquels sont appliqués les signaux. Ceci permet, en remettant les signaux en phase, d'améliorer le comportement dynamique et le comportement en fréquence de l'opérateur élémentaire. Plus précisément en admettant un retard volontaire sur chacune des opérations des circuits, on les effectue toutes ensembles lorsque tous les signaux sont disponibles au même moment, et la vitesse de calcul après ce retard volontaire est alors bien plus grande, ce qui permet d'augmenter considérablement le débit. Ceci revient à utiliser au niveau de l'opérateur élémentaire le principe qui est à la base de la structure en cascade. Il est particulièrement intéressant de fabriquer un tel opérateur élémentaire sous la forme d'un circuit intégré unique. En reliant en cascade quatre de ces circuits intégrés on aura un multiplieur 7xE complet. Une telle réalisation est encore plus intéressante si on utilise un réseau prédiffusé du commerce. On limite ainsi le nombre de masques à réaliser et il n'est pas nécessaire d'avoir de grandes séries pour réduire le coût des opérations. Par contre il faut choisir un circuit adéquat pour éviter de gaspiller des fonctions élémentaires et disposer d'un nombre suffisant d'entrées et de sorties. Dans cette optique le schéma décrit plus haut a été particulièrement adapté pour être intégré dans un circuit prédiffusé connu du type MLA36 dans la technologie ECL100K de RTC qui offre en outre l'avantage d'être très rapide. Cette réalisation utilise les 58 entréesisorties de ce circuit, 32 cellules internes sur 36, et l'ensemble des 22 cellules périphériques. On a représenté sur la figure 2 le plan du circuit MLA36 avec les emplacements de 36 cellules internes LOI à L36 et 80 emplacements périphériques repérés 101 à I42 et 001 à 038. On peut placer 22 cellules périphériques aux emplacements I07 à 109,113 à 115,128 à I30, I34 à I36, 001, 009 à 011, 019, 020, 028 à 030, et 038. On peut placer des cellules d'entrée à tous les autres emplacements périphériques, et des cellules de sortie uniquement aux emplacements 002 à 008, 012 à 018, 021 à 027, et 031 à 037. Dans la réalisation décrite on a utilisé les fonctions suivantes réalisées dans les cellules internes: - Fonction HMS04 (figure 3) qui est une double bascule maître-esclave du type D avec horloge commune. L'horloge est munie de deux entrées distinctes fonctionnant en OU avec entrée des données sur les entrées D sur le niveau haut de l'horloge et transfert sur les sorties Q à la retombée de l'horloge. - Fonction HMX05 (figure 4) qui est un double multiplexeur 4 vers 1 muni de deux entrées d'adressage AO, AI communes aux deux multiplexeurs. Chacun de ces multiplexeurs comprend quatre entrées de données DO à D3 pour l'un, et D10 à D13 pour l'autre, et une sortie Q1 pour l'un et Q2 pour l'autre. La sortie d'un multiplexeur recopie l'une de ses entrées de données selon la combinaison des états de ses deux entrées d'adressage. - Fonctions HMX06 (figure 5) qui est un quadruple multiplexeur 2 vers 1 muni de quatre entrées d'adressage AO à A3 distinctes pour chaque multiplexeur. Chaque multiplexeur est muni de deux entrées de données, soit DO et D1, D10 et Dll, D20 et D21, D30 et D31, et d'une sortie, soit QO, Q1, Q2, Q3. La sortie d'un multiplexeur recopie l'une de ses entrées de données selon l'état de son entrée d'adressage. - Fonction HEX04 (figure 6) qui est un double OU-exclusif avec un expanseur simple à deux entrées. Chaque OU-exclusif est muni de deux entrées principales Il et I3, I11 et I13, associées chacune à une entrée d'expansion (12 et 14, I12 et I14), et de deux sorties inverses l'une de l'autre (Q1 et Q2, Q11 et Q12). L'expanseur est muni de deux entrées I6 et I7 et d'une sortie non inverseuse Q3. - Fonction HEX02 (figure 7) qui est un additionneur complet sur un bit, muni de trois entrées RI, A, B, pour les deux bits à additionner et la retenue, et de deux sorties Q et RS respectivement pour le résultat de l'addition et pour la retenue. - Fonction HGT06 (figure 8) qui comprend deux portes NON-OU à trois entrées (I1, 12, 13 et 111, 112, 113) et une sortie (Q1 et Q2), et deux portes OU/NON-OU à une entrée normale (I21 et I31), une entrée d'expansion (I22 et I32) associée à l'entrée normale, et deux sorties inverses 11 une de l'autre (Q31 et Q32, Q41 et Q42). - Fonction HVA82 (figure 9) qui est un double additionneur complet sur deux nombres de deux bits. Elle comprend une entrée inversée de retenue RI, deux entrées AO et Al pour les deux bits de l'un des nombres à additionner, deux entrées BO et B1 pour les deux bits de l'autre nombre, deux sorties Q1 et Q11 pour les deux bits de la somme obtenue, et une sortie inversée de retenue RS. Il comprend par ailleurs d'autres sorties qui permettent d'obtenir la fonction OU-exclusif de AO et BO sur la sortie Q2 et de Al et B1 sur la sortie Ql2, la fonction ET de AO et BO sur la sortie Q3 et de Al et B1 sur la sortie Q13, et la fonction NOR de AO et BO sur la sortie Q4 et de Ai et B1 sur la sortie Q14. Dans les cellules périphériques on a utilisé les fonctions suivantes: - Fonction HGTE2 (figure 10) qui est une porte OU/NON-OU à deux entrées Il et I2 et deux sorties Q1 et Q2 inverses l'une de l'autre. - Fonction HGTA4 (figure 11) qui est une porte OU/NON-OU à cinq entrées Il à If et deux sorties Q1 et Q2 inverses l'une de l'autre. Dans les emplacements d'entrée/sortie on a utilisé les fonctions suivantes: - Fonction HITE1 (figure 12) qui est un adaptateur de niveau d'entrée entre la logique ECL et la logique interne du circuit. Il comprend une entrée I et deux sorties Q1 et Q2 inverses l'une de l'autre. - Fonction HOTAS (figure 13) qui est une porte de sortie NON-OU à trois entrées Il à I3, plus une entrée d'expansion 14 et une sortie Q, qui réalise en plus une adaptation de niveau vers la logique ECL extérieure au circuit. - Fonction HOTA7 (figure 14) qui est une porte de sortie NON-OU à quatre entrées Il à I4, plus une entrée d'extension 15 et une sortie Q1, qui réalise en plus une adaptation de niveau vers la logique ECL extérieure au circuit. Elle comprend en outre deux sorties supplémentaires inverses l'une de l'autre Q2 et Q3 qui sont au niveau logique interne et qui peuvent être rebouclée vers l'intérieur du circuit. - Fonction HMXA1 (figure 15) qui est un multiplexeur de sortie 2 vers 1 muni d'une entrée de commande AO, d'une entrée d'expansion de commande Al, de deux entrées de données D1 et D2, et de deux sorties QI et Q2. Selon l'état des entrées de commande, l'une des entrées de données est recopiée sur les sorties. La sortie Q1 est au niveau de logique interne, alors que la sortie Q2 réalise l'adaptation pour obtenir le niveau ECL externe. - Fonction HITA3 qui est fonctionnellement identique à la fonction HITE1, mais est implantée (ce qui est autorisé) sur un emplacement de sortie. A partir de ces fonctions, l'implantation de l'opérateur représenté en figure 1 est alors réalisée de la manière suivante: Entrée et sortie des 7 bits Y8 à Y : Entrée Emplacement Fonction Sortie Emplacement Fonction Y8 I16 HIE 1 Y8 027 HOTAS Y7 I17 HITE Y7 026 HOTAS Y6 118 HITE1 Y6 025 HOTAS Y5 119 HIE 1 Y5 024 HOTAS Y4 I20 HITE 1 Y8 023 HOTAS Y3 I21 HIE 1 Y3 022 HOTAS Entrée et sortie des bits SX1, SX0, x6 à X0, R: : Entrée Emplacement Fonction Sortie Emplacement Fonction SX1 I40 HITE1 SX1 033 HOTA7 SX0 I41 HITE1 SX0 032 HOTA7 X6 I39 HITE1 X6 034 HOTA7 X5 I38 HITE 1 X5 035 HOTA7 X4 I37 HITE1 x4 036 HOTA7 X3 I32 HITE1 X3 037 HOTA7 x2 I31 HITE1 X2 016 HOTA7 X1 I27 HITE1 x1 017 HOTA7 X0 I26 HITE1 x0 018 HOTA7 R 125 HITE1 Entrée des bits RIj-1,8 à RIj-1,0 Entrée Emplacement Fonction RIj-l,8 I11 HITE1 RTj-1,7 112 HITE1 Rij-1,6 110 HITEI RIj-l,5 106 HITE1 RIj-1,4 105 HITE1 RIj-1,3 104 HITE1 RIj-1,2 103 HITE 1 RIj-1,1 102 HITE1 RIj-1,0 101 HITE1 - Multiplexeur 111 délivrant les bits Sj,8 à Sj,0: Sortie Emplacement Fonction S; 8 014 HMXA1 Sj,7 013 HMXA1 Sj,6 012 HMXAI S. 5 008 HMXA1 sj 4 007 HMXA1 Sj,3 005 HMXA1 Sj,2 004 HMXAI Sj,1 003 HMXAI Sj,0 002 HMXA1 - Le bit de retenue entrante est appliqué à l'emplacement 006 qui contient une fonction HITA3. - Le bit de retenue sortante est appliqué à l'emplacement 031 qui contient une fonction HOTAS. - L'horloge est appliquée à l'emplacement I33 qui contient une fonction HITE1. - Les trois bits Y2j-1, Y2j, Y2j+1 du multiplicateur sont entrés de la manière suivante: Entrée Emplacement Fonction Y2j+1 I24 HITE1 Y21 I23 HITE 1 Y2j-1 122 HITE1 Pour disposer en sortie du bit Y2j+1, on utilise une fonction HOTAS à l'emplacement 015. - les registres 101, 102, et 103 sont réalisés à partir de treize fonctions HMSO4 implantées de la manière suivante: Emplacement Bits enregistrés L11 R X0 L24 x2 X1 L23 x3 x4 L36 x5 X6 L35 X7 X8 LOI RIj-1,0 RI. j-1,î L02 RIj-1,2 RIj-1,3 L13 RI. RI. L13 RIj-1,4 RIj-1,5 L14 RIj-1,6 RI. j-I'7 L25 RIj-1,8 Y2 L26 Y3 Y4 L27 Y5 Y6 L28 Y7 Y8 Le Le multiplexeur 109 est réalisé à partir de quatre fonctions HMX05 (double multiplexeur 4 vers 1) implantées aux emplacements L10, L21, L22, L33, et d'une fonction HMX06 (quadruple multiplexeur 2 vers 1) implantée à l'emplacement L34 et câblée extérieurement pour obtenir un multiplexeur 4 vers 1. Les quatre entrées de chaque multiplexeur reçoivent l'un des mots X, 2X, X, 2X. - Le circuit 108 qui permet d'obtenir ces mots est obtenu pour X et 2X par câblage direct à partir du registre 103, puisque 2X s'obtient par un décalage d'un pas à gauche. Pour X et 2X on utilise pour inverser les neuf bits de poids forts la sortie interne inversée des fonctions HOTA7 qui servent à obtenir ces bits en sortie de l'opérateur. Pour le bit de poids faible (R), qui n'est pas disponible sur une sortie, on utilise une fonction HGTE2 implantée sur l'emplacement périphérique 129. - L'additionneur 110 est réalisé, dans un premier mode de réalisation, avec quatre fonctions HVA82 implantées sur les emplacements L04-L03, L16 L15, L17-L18, L29-L30, (cette fonction nécessite deux emplacements) qui délivrent dans cet ordre les huit premiers bits (poids faibles en premier) du résultat de l'addition, et une fonction HEX02 implantée sur l'empla cement L32, qui délivre le bit de poids fort et le bit de retenue sortante. Le calcul de la retenue se fait par propagation d'étage en étage. Dans un deuxième mode de réalisation on effectue le calcul de la retenue de manière anticipée par tranches de quatre bits. Pour cela on utilise les sorties supplémentaires de la fonction HVA82. Pour une tranche de quatre bits, si on note C0 la retenue entrante, gO, gl, g2, g3 les fonctions ET des deux opérandes bit à bit par ordre croissant, et pO, pl, p2, p3 les fonctions OU-exclusif de ces mêmes opérantes, la retenue sortante C4 est donnée par: C4 = g3 U p3 g2 U p3 g2 gI U p3 p2 pî gO U p3 p2 pî pO CO En notant hO, hl, h2, h3 les fonctions NON-OU des deux opérandes, on peut transformer cette relation à l'aide des relations suivantes: : p3 g2 = h3 U g2 p3 p2 gl = h3 U h2 U gî 93 p2 pl gO = h3 U h2 U hl U gO p3 p2 pl pO CO = h3 U h2 U hl U hO U CO La fonction permettant d'obtenir C4 est alors obtenue selon le schéma de la figure 13 avec trois inverseurs 201, 202, 203, trois portes NON-OU à cinq entrées 204, 205, 206, une porte NON-OU à trois entrées 207 et une porte NON-OU à deux entrées 208. De même la fonction permettant d'obtenir C8 pour l'autre tranché de quatre bits est obtenue avec les circuits 301 à 308. Les bits g et h sont obtenus à partir des fonctions HVA 82 implantées comme dans la première réalisation. Les circuits 207, 208, 307, 308 sont obtenus avec une fonction HGT06 implantée à l'emplacement L19. Les circuits 204, 205, 206, 304, 305, 306 sont obtenus avec six fonctions HGTA4 implantées aux emplacements périphériques 010, 009, 011, 028, 029, 030. Les circuits 201, 202, 203, 301, 302, 303 sont obtenus avec six fonctions HGTE2 implantées aux emplacements 107, 108, I09, I13, 001, 020. - Le décodeur de commande des multiplexeurs 109 et 111, comprenant les circuits 112 à 117, est réalisé avec les fonctions suivantes: circuit emplacement fonction 112 115 EMI14.1 ) <tb> L12 HEX04 116 128 HGTE2 114 L09 HMS04 113 L08 HMS04 117 L07 HMS04 - Les dispositifs de retard sont réalisés de la manière suivante : Le dispositif 107 (retard 1,5 ns) comprend trois fonctions HGTE2 en série, implantées aux emplacements périphériques I36, I35, 134. Le dispositif 106 (retard 0,5 ns) est réalisé avec les parties non utilisées de la fonction HMX06 implantée à l'emplacement L34. Le dispositif 105 (retard 0,5 ns) comprend trois fonctions HGTE2 en parallèle pour disposer d'une sortance suffisante, implantées aux emplacements périphériques I14, I15, 130. Le dispositif 104 (retard 1 ns) comprend deux fonctions HGTE2 en série, implantées aux emplacements périphériques 019 et 038.

Claims: REVENDICATIONS 1. Opérateur élémentaire pour combiner un premier signal numérique entrant d'au moins n bits (SX, X) avec un deuxième signal numérique entrant de n bits (Rlj 1)' un troisième signal numérique entrant comprenant un premier, un deuxième et un troisième bits (Y2j 1 Y2j, Y23+1) et un bit de retenue entrante, et obtenir un quatrième signal numérique sortant (Sj) et un bit de retenue sortante, caractérisé en ce qu'il comprend: : - des moyens de calcul (108) pour complémenter (2) le premier signal, pour le décaler d'un pas à gauche (2X) en perdant le bit de poids fort, et pour complémenter (2a) ce premier signal décalé; - un premier OU-exclusif (112) pour recevoir le premier et le deuxième bits du troisième signal et délivrer un premier bit de fonction; - un premier multiplexeur 4 vers 1 (109) pour sélectionner un signal entre le premier signal, le premier signal inversé, le premier signal décalé, et le premier signal décalé et inversé, sous la commande du troisième bit du troisième signal et du premier bit de fonction, et délivrer les n bits de poids forts du signal sélectionné; ; - un additionneur (110) sur n bits pour additionner le deuxième signal au signal sélectionné par le premier multiplexeur, avec le bit de retenue entrante et délivrer la somme de ces signaux ainsi que le bit de retenue sortante; - un deuxième OU-exclusif (115) pour recevoir le deuxième et le troisième bits du troisième signal et délivrer un deuxième bit de fonction; - un deuxième multiplexeur 2 vers 1 (111) pour sélectionner unCnal entre le deuxième signal et la somme délivrée par lladditionneur, sous la commande de l'un ou de l'autre des deux bits de fonction, et délivrer le quatrième signal. 2. Opérateur selon la revendication 1, caractérisé en ce que les moyens (108) pour décaler d'un pas à gauche (2X) le premier signal, pour complémenter (x# le premier signal, et pour complémenter (2a) le premier signal décalé, comprennent en outre des moyens pour traiter un bit supplémentaire de recoupe (R) formant le bit de poids faible du premier signal numérique entrant, lequel comprend alors n+l bits. 3. Opérateur selon l'une quelconque des revendications 1 ou 2, caractérisé en ce qu'il comprend en outre: - un premier registre (103) pour mémoriser le premier signal, l'appliquer aux moyens de calcul (108) de ce premier signal, et délivrer un cinquième signal numérique sortant comportant les n bits de poids forts du premier signal; - un deuxième registre (102) pour mémoriser le deuxième signal et l'appliquer à l'additionneur (110) et au deuxième multiplexeur (111); - un troisième registre (101) pour mémoriser un sixième signal entrant de n-2 bits (Y) et délivrer un septième signal numérique de sortie identique au sixième signal; - une première bascule (114) pour mémoriser le troisième bit du troisième signal numérique, l'appliquer au premier multiplexeur (109) et le délivrer en sortie de l'opérateur; ; - une deuxième bascule (113) pour mémoriser le premier bit de fonction et Rappliquer au premier multiplexeur; - une porte OU (116) pour rassembler les deux bits de fonction; - une troisième bascule (117) connectée à la sortie de la porte OU et à l'entrée de commande du deuxième multiplexeur (111). 4. Opérateur selon la revendication 3, caractérisé en ce qu'il comprend en outre trois dispositifs de retard (104-107) mis en série pour retarder le signal d'horloge qui commande les circuits de l'opérateur selon des valeurs déterminées pour faire fonctionner l'ensemble de ces circuits en phase ce qui augmente le débit de l'opérateur au prix d'un retard volontaire des opérations, et que le signal d'horloge est appliqué direcpremier premier retard à la deuxième bascule (113), après un deuxième retard à la troisième bascule (117), après un troisième retard au premier registre (103), et après un quatrième retard aux deuxième et troisième registres (101, 102). 5. Opérateur selon llune quelconque des revendications 1 à 4, caractérisé en ce qu'il comprend en outre - une connexion permettant d'utiliser comme bit de retenue entrante le troisième bit (Y2j+1) du troisième signal numérique entrant, ce qui permet de faire fonctionner l'opérateur élémentaire comme un multiplieur (n-2)x2 en utilisant pour le premier signal numérique entrant un multiplicande formé de n-2 bits signés complétés par deux bits de poids forts répétant le signe, pour le deuxième signal numérique entrant un nombre formant le résultat inter médiaire d'une structure en cascade éventuelle, pour les deux derniers bits du troisième signal numérique entrant les deux bits d'un multiplicateur, et pour le premier bit de ce troisième signal le bit de poids fort de la tranche de deux bits précédente du multiplicateur dans la structure en cascade; ce multiplieur fonctionnant ainsi selon l'algorithme de Booth. 6. Opérateur selon l'une quelconque des revendications I à 5, caractérisé en ce que le nombre n est égal à 9 et qu'il est intégré dans un réseau prédiffusé du type MLA36.

Inventors: CHARLEC, JEAN-PAUL, MULLER, BERNARD-PIERRE
Applicants: THOMSON-CSF
Application year: 1983
Main classification: G06F7
IPC codes: G06F7