DE69731700T2 - Arithmetischer Schaltkreis und arithmetisches Verfahren - Google Patents

Arithmetischer Schaltkreis und arithmetisches Verfahren Download PDF

Info

Publication number
DE69731700T2
DE69731700T2 DE69731700T DE69731700T DE69731700T2 DE 69731700 T2 DE69731700 T2 DE 69731700T2 DE 69731700 T DE69731700 T DE 69731700T DE 69731700 T DE69731700 T DE 69731700T DE 69731700 T2 DE69731700 T2 DE 69731700T2
Authority
DE
Germany
Prior art keywords
circuit
signal
exclusive
partial product
circuits
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE69731700T
Other languages
English (en)
Other versions
DE69731700D1 (de
Inventor
Gensuke Nakahara-ku Goto
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of DE69731700D1 publication Critical patent/DE69731700D1/de
Application granted granted Critical
Publication of DE69731700T2 publication Critical patent/DE69731700T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/53Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
    • G06F7/5318Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel with column wise addition of partial products, e.g. using Wallace tree, Dadda counters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/50Adding; Subtracting
    • G06F7/505Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
    • G06F7/509Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination for multiple operands, e.g. digital integrators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/533Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
    • G06F7/5334Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product
    • G06F7/5336Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product overlapped, i.e. with successive bitgroups sharing one or more bits being recoded into signed digit representation, e.g. using the Modified Booth Algorithm
    • G06F7/5338Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product overlapped, i.e. with successive bitgroups sharing one or more bits being recoded into signed digit representation, e.g. using the Modified Booth Algorithm each bitgroup having two new bits, e.g. 2nd order MBA
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/20Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits characterised by logic function, e.g. AND, OR, NOR, NOT circuits
    • H03K19/21EXCLUSIVE-OR circuits, i.e. giving output if input signal exists at only one input; COINCIDENCE circuits, i.e. giving output only if all input signals are identical
    • H03K19/215EXCLUSIVE-OR circuits, i.e. giving output if input signal exists at only one input; COINCIDENCE circuits, i.e. giving output only if all input signals are identical using field-effect transistors

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Complex Calculations (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Error Detection And Correction (AREA)

Description

  • Die vorliegende Erfindung bezieht sich Addiererschaltungen, auf eine arithmetische Schaltung wie z. B. eine Multipliziererschaltung, die eine Addiererschaltung enthält, und auf eine hochintegrierte Halbleiterschaltung mit einer beliebigen derartigen Schaltung.
  • In den letzten Jahren hat mit den schnellen Fortschritten bei den Fertigungs- und Designtechnologien hochintegrierter Halbleiterschaltungen, die z. B. von Mikroprozessoren und digitalen Signalprozessoren repräsentiert werden, der Bedarf an hochintegrierten arithmetischen Hochgeschwindigkeitsschaltungen zugenommen. Insbesondere für Multipliziererschaltungen, die langwierige Berechnungen und eine größere Anzahl Schaltungen benötigen, werden Hochgeschwindigkeitsschaltungen mit einer reduzierten Anzahl Elemente benötigt.
  • Der Artikel von Kanie et al mit dem Titel "4-2 Compressor with Complementary Pass-Transistor Logic", IEICE Transactions on Electronics, E77-C, April 1994, Nr. 4, Tokio, JP, offenbart eine 4-2-Kompressorschaltung, in der ein Exklusiv-ODER eines ersten Eingangssignals und eines zweiten Eingangssignals gebildet wird. Es ist eine Multiplexerschaltung (MUX) vorgesehen, die das erste Eingangssignal (X1) als das dazwischen liegende Carry-Out-Signal abgibt, wenn das Exklusiv-ODER-Signal ein zweiter Wert ist. Die 4-2-Kompressorschaltung ist aus komplementären Transfer-Gate-Schaltungen aufgebaut.
  • Gemäß der vorliegenden Erfindung wird eine Addiererschaltung nach Anspruch 1 geschaffen.
  • Die Addiererschaltung kann in einer digitalen Multipliziererschaltung enthalten sein.
  • In bevorzugten Ausführungsformen der vorliegenden Erfindung ist es möglich, eine Addiererschaltung und konkret eine Übertrag-Sicherungs- oder Carry-Save-Addiererschaltung mit vier Eingängen für jede Ziffernstelle (eine 4-2-Kompressionsschaltung) zu schaffen, die verglichen mit Ausführungen nach dem Stand der Technik, die mehr als 50 Elemente erfordern, mit 50 oder weniger Elementen aufgebaut werden kann.
  • Die Schaltung kann zusammen mit einer zusätzlichen Schaltungsanordnung zum Implementieren von Signalverarbeitungsfunktionen integriert sein und eine hochintegrierte Halbleiterschaltung bilden.
  • In bevorzugten Ausführungsformen der vorliegenden Erfindung ist es folglich möglich, eine Multipliziererschaltung zu schaffen, deren Größe reduziert wird, indem die Anzahl notwendiger Elemente reduziert wird, ohne ihre Hochgeschwindigkeitsfähigkeit zu opfern. In einer spezifischen Ausführungsform ist eine Teilproduktbits erzeugende Schaltung (Multipliziererschaltung) vorgesehen, in der die Anzahl notwendiger Elemente um die Hälfte reduziert ist.
  • Für ein besseres Verständnis der Erfindung, und um zu zeigen, wie selbige umgesetzt werden kann, wird nun beispielhaft auf die beiliegenden Zeichnungen verwiesen, in denen:
  • 1 ein Blockdiagramm ist, das schematisch ein Beispiel einer Multipliziererschaltung nach dem Stand der Technik zeigt;
  • 2 ein Schaltungsdiagramm ist, das ein Beispiel einer Teilproduktbits erzeugenden Schaltung in einer Multipliziererschaltung nach dem Stand der Technik zeigt;
  • 3 ein Schaltungsdiagramm ist, das ein anderes Beispiel einer Teilproduktbits erzeugenden Schaltung in einer Multipliziererschaltung nach dem Stand der Technik zeigt;
  • 4 ein Schaltungsdiagramm ist, das noch ein anderes Beispiel einer Teilproduktbits erzeugenden Schaltung in einer Multipliziererschaltung nach dem Stand der Technik zeigt;
  • 5 ein Schaltungsdiagramm ist, das ein Beispiel einer 4-2-Kompressionsschaltung zeigt, die eine Wallace-Baum-Schaltung in einer Multipliziererschaltung nach dem Stand der Technik bildet;
  • 6 ein Schaltungsdiagramm ist, das eine EOR-Schaltung mit 10 Transistoren zeigt, die in einer herkömmlichen Ausführung genutzt wird;
  • 7 ein Schaltungsdiagramm ist, das eine Summensignale erzeugende Schaltung einer Volladdiererschaltung zeigt, die aus zwei EOR-Schaltungen mit 6 Transistoren gebildet ist, die einer herkömmlichen Ausführung genutzt werden;
  • 8A bis 8C Diagramme (Teil 1) zum Erläutern der Verzögerung einer Operation sind, die hervorgerufen wird, wenn ein Transfer-Gate genutzt wird;
  • 9A bis 9C Diagramme (Teil 2) sind, um die Verzögerung einer Operation zu erläutern, die hervorgerufen wird, wenn ein Transfer-Gate genutzt wird;
  • 10 ein Schaltungsdiagramm ist, das ein anderes Beispiel einer 4-2-Kompressionsschaltung zeigt, die die Wallace-Baum-Schaltung in einer Multipliziererschaltung nach dem Stand der Technik bildet;
  • 11 ein Blockdiagramm ist, das die Konfiguration einer Teilproduktbits erzeugenden Schaltung für eine Multipliziererschaltung zeigt;
  • 12 ein Schaltungsdiagramm ist, das eine Auswahlschaltung zeigt, die in der Teilproduktbits erzeugenden Schaltung von 11 genutzt werden kann;
  • 13 ein Schaltungsdiagramm ist, das eine Teilproduktbits erzeugende Schaltung für eine Multipliziererschaltung zeigt;
  • 14 ein Schaltungsdiagramm ist, das einen Booth-Codierer für eine Multipliziererschaltung zeigt;
  • 15 ein Diagramm ist, das das Layout einer Teilproduktbits erzeugenden Schaltung für eine Multipliziererschaltung zeigt;
  • 16 ein Schaltungsdiagramm ist, das eine Ausführungsform einer 4-2-Kompressionsschaltung in der Form einer Wallace-Baum-Schaltung für eine Multipliziererschaltung gemäß Ausführungsformen der vorliegenden Erfindung zeigt;
  • 17 ein Schaltungsdiagramm ist, das eine andere Ausführungsform einer 4-2-Kompressionsschaltung in der Form einer Wallace-Baum-Schaltung zeigt;
  • 18 ein Schaltungsdiagramm ist, das noch eine andere Ausführungsform einer 4-2-Kompressionsschaltung in der Form einer Wallace-Baum-Schaltung zeigt;
  • 19 ein Diagramm ist, um ein Kompressionsverfahren für Teilproduktbits für eine Multipliziererschaltung zu erläutern;
  • 20 einen ersten Teil einer Schaltung zeigt, um das Kompressionsverfahren für Teilproduktbits von 19 auszuführen;
  • 21 einen zweiten Teil einer Schaltung zeigt, um das Kompressionsverfahren für Teilproduktbits von 19 auszuführen; und
  • 22A bis 22B Diagramme sind, um ein Kompressionsverfahren für Teilproduktbits für eine Multipliziererschaltung zu erläutern.
  • Bevor man zu einer ausführlichen Beschreibung der bevorzugten Ausführungsformen der vorliegenden Erfindung weitergeht, werden zunächst mit Verweis auf 1 bis 3 Gesichtspunkte des Stands der Technik beschrieben.
  • Die Verwendung eines Booth-Algorithmus in Verbindung mit einem Wallace-Baum, um eine Hochgeschwindigkeits-Multipliziererschaltung zu implementieren, ist gut bekannt, und 1 ist ein Blockdiagramm, das ein Beispiel einer solchen Multipliziererschaltung schematisch zeigt.
  • In 1 ist Bezugsziffer 11 ein Multiplikator-Register, ist 12 ein Booth-Codierer, ist 13 ein Multiplikanden-Register, ist 14 eine Teilproduktbits erzeugende Schaltung, ist 15 eine Wallace-Baum-Schaltung, ist 16 eine Übertrag-Fortpflanzungs- oder Carry-Propagate-Addiererschaltung, und 17 ist ein Produkt-Register.
  • Wie in 1 gezeigt ist, wird jedes vom Multiplikator-Register abgegebene Multiplikatorbit über den Booth-Codierer 12 als ein Codiersignal in die Teilproduktbits erzeugende Schaltung 14 eingegeben. Auf der anderen Seite wird ein Multiplikandenbitsignal 13 direkt in die Teilproduktbits erzeugende Schaltung 14 eingespeist.
  • Die Teilproduktbits erzeugende Schaltung 14 erzeugt aus Sätzen von Multiplikandenbitsignalen und Codiersignalen Teilproduktbits für jede Ziffernstelle. Die resultierenden Produktbitsignale werden, nachdem sie geeignet verschoben wurden, in eine mehrstufige Übertrag-Sicherungs- oder Carry-Save-Addiererschaltung (4-2-Kompressionsschaltung, 1-Bit-Addiererschaltung etc.), die die Wallace-Baum-Schaltung 15 bildet, für eine Reduzierung von Bits in jeder Ziffernspalte eingespeist und werden rekursiv addiert, bis die Anzahl von Summandenbits für die gleiche Spalte 2 wird. Wenn die Anzahl von Bits für jede Spalte auf 2 reduziert ist, werden die resultierenden Signale in die Carry-Propagate-Addiererschaltung 16 eingespeist, wo eine gewöhnliche Addition mit zwei Eingaben durchgeführt wird, und ein Produktsignal für jede Ziffernstelle wird erzeugt und in das Produkt-Register 17 geladen.
  • In der in 1 gezeigten Konfiguration einer Multipliziererschaltung müssen der Booth-Codierer (der Codierer), die Teilproduktbits erzeugende Schaltung und die Wallace-Baum-Schaltung separat betrachtet werden.
  • Zunächst werden der Codierer und die Teilproduktbits erzeugende Schaltung beschrieben. Diese beiden Schaltungen hängen miteinander zusammen und müssen daher gemeinsam betrachtet werden. Ein spezifisches Beispiel eines Codierers, der auf einem (modifizierten) Booth-Algorithmus zweiter Ordnung basiert, ist zum Beispiel in der ungeprüften japanischen Patentveröffentlichung (Kokai) Nr. 55-105732 offenbart.
  • 2 ist ein Schaltungsdiagramm, das ein Beispiel der Teilproduktbits erzeugenden Schaltung 14 in der Multipliziererschaltung nach dem Stand der Technik erzeugt; dieses Beispiel ist in der obigen ungeprüften japanischen Patentveröffentlichung Nr. 55-105732 offenbart. Tabelle 1 zeigt im folgenden eine Wahrheitstabelle, um das Booth-Codierverfahren zweiter Ordnung zu erläutern.
  • Tabelle 1
    Figure 00050001
  • ai ist hier die i-te Ziffer eines m-Bit-Multiplikanden (die 0-te Ziffer ist die niedrigstwertige Ziffer, und die (m – 1)-te Ziffer ist die höchstwertige Ziffer, die das Vorzeichen angibt, wie in einer 2er(Zweier)-Komplement-Notation), und bj ist die j-te Ziffer eines n-Bit-Multiplikators, der in der gleichen Notation wie der Multiplikand dargestellt wird. Ferner sind Xj, 2Xj und Mj ein Satz von Ausgangssignalen eines Booth-Codierers zweiter Ordnung für die j-te Ziffer des Multiplikators und geben an, dass einmal der Multiplikand, zweimal der Multiplikand bzw. das Komplement des Multiplikanden als die Signale von Teilproduktbits für diesen Zifferplatz abgegeben werden. Wie in Tabelle 1 gezeigt ist, werden aus den Werten (Pegeln) des bj – 1, bj und bj + 1 des Multiplikators durch die Codieroperation im Booth-Codierer 12 Xj, 2Xj und Mj (PLj) der entsprechenden Pegel erzeugt.
  • Die Teilproduktbits erzeugende Schaltung 14, die in 2 dargestellt ist, aus den drei Signalen (Xj, 2Xj und Mj) und den Multiplikandenbits (ai und ai – 1) ein Teilproduktbit-Signal Pi, j für die i-te Ziffer des Multiplikanden und die j-te Ziffer des Multiplikators erzeugt. Mit der Teilproduktbits erzeugenden Schaltung 14 von 2 wird, da ein Satz von Ausgangssignalen des Codierers für zwei Multiplikatorbits als das Ergebnis einer Booth-Codierung erzeugt wird, verglichen mit einer direkten Summenbildung die Anzahl von Summandenbits in jeder Ziffernspalte um die Hälfte reduziert; dies liefert eine schnellere Operationsgeschwindigkeit und eine Reduzierung der Anzahl erforderlicher Schaltungselemente.
  • Wie in 2 gezeigt ist, besteht diese Teilproduktbits erzeugende Schaltung aus zwei UND-Schaltungen 101 und 102, einer NOR-Schaltung 103 und einer ENOR-Schaltung 104 und erfordert 18 Transistoren (Elemente), wenn die Schaltung unter Verwendung einer CMOS-Technologie (Complementary Metal Oxide Semiconductor) ausgeführt ist, die für die Fertigung hochintegrierter Halbleiterschaltungen am häufigsten verwendet wird.
  • 3 ist ein Schaltungsdiagramm, das ein anderes Beispiel der Teilproduktbits erzeugenden Schaltung 14 in der Multipliziererschaltung nach dem Stand der Technik zeigt; dieses Beispiel ist in der ungeprüften japanischen Patentveröffentlichung Nr. 4-227534 offenbart.
  • In dem Fall der in 3 dargestellten Teilproduktbits erzeugenden Schaltung 14 gibt der Booth-Codierer 12 fünf Sätze von Signalen ab, SX (für +2), SX2* (für –2), SX1 (für +1), SX1* (für –1) und S0 (für 0), und ein Signal des Multiplikandenbitsignals ai, ai – 1, /ai oder /ai – 1 oder ein auf 1 (hoher Pegel "H") festgelegtes Signal wird ausgewählt und über einen Inverter abgegeben. Die Teilproduktbits erzeugende Schaltung von 3 besteht aus einem Transistor (p-Kanal-MOS-Transistor) 105, vier Transfer-Gates 106 bis 109 und fünf Invertern 110 bis 114; die Anzahl in der Figur dargestellter notwendiger Elemente beträgt 19.
  • In der Teilproduktbits erzeugenden Schaltung von 3 sind überdies Signalleitungen für ai und ai – 1 (Multiplikandenbitsignale) direkt mit Eingangsanschlüssen der entsprechenden Transfer-Gates verbunden; in diesem Fall wird jedoch, es sei denn, die Ansteuerfähigkeit der Gates, die ai und ai – 1 abgeben, ist ausreichend groß, die Zeitkonstante aus dem Reihenwiderstand der Transfer- und Ansteuergates und der Kapazität, die durch die Summe der Gate-Kapazität jedes Inverters innerhalb der Schaltung, die Kapazität der mit jedem Eingangsanschluss verbundenen Leitung und die Source-Drain-Kapazität jedes Transfer-Gates bestimmt ist, sehr lang, was wegen einer Verschlechterung der Signalwellenformen zu einer Zunahme des Stromverbrauchs und wegen längerer Signalanstiegs- und -abklingzeiten einer Zunahme der Verzögerungszeit führt.
  • Dementsprechend kann die gleiche Leitung für das Signal ai höchstens mit zwei Teilproduktbits erzeugenden Schaltungen verbunden sein; falls das Signal an drei oder mehr erzeugende Schaltungen geliefert werden soll, wird eine separate Pufferschaltung notwendig. Da Inverter zum Invertieren von ai und ai – 1 benötigt werden und diese zusätzlichen Schaltungen 4 Elemente pro Bit erfordern, sind überdies insgesamt 23 Elemente (23 Transistoren) erforderlich. Falls ein invertiertes Signal von jedem der Signale SX2, SX2*, SX1 und SX1* vorher vorbereitet und in die Teilproduktbits erzeugende Schaltung eingespeist wird, werden die Inverter zum Steuern der Transfer-Gates unnötig, und die Anzahl erforderlicher Elemente kann auf 15 reduziert werden. In diesem Fall nimmt jedoch die Anzahl von Signalleitungen als ein Satz auf 9 zu, was nicht wünschenswert ist, da dies in einer LSI-Ausführung ein Verbindungsproblem aufwirft.
  • 4 ist ein Schaltungsdiagramm, das noch ein anderes Beispiel der Teilproduktbits erzeugenden Schaltung 14 in der Multipliziererschaltung nach dem Stand der Technik zeigt; dieses Beispiel ist in der ungeprüften japanischen Patentveröffentlichung Nr. 5-88852 offenbart. Die Teilproduktbits erzeugende Schaltung 14, die in 4 dargestellt ist, besteht aus einem Transistor 115, zwei Transfer-Gates 116 und 117, drei Invertern 118 bis 120 und einer ENOR-Schaltung 121 und erfordert insgesamt 21 Elemente.
  • Als nächstes wird eine Konfiguration der Wallace-Baum-Schaltung 15 nach dem Stand der Technik beschrieben. In der Wallace-Baum-Schaltung 15 werden die Teilproduktbits für jede Ziffernstelle (maximal insgesamt (n/2 + 1) Bits), die über den Booth-Codierer 12 erzeugt werden, unter Verwendung einer Carry-Save-Addiererschaltung wiederholt komprimiert, bis die Anzahl von Bits für jede Ziffernstelle schließlich 2 wird. Als die hier verwendete Carry-Save-Addiererschaltung wird eine 1-Bit-Volladdiererschaltung oder eine 4-2-Kompressionsschaltung verwendet. Wenn die Anzahl von Bits in jeder Ziffernstelle groß ist, kann die letztgenannte Schaltung oft eine Verarbeitung mit höherer Geschwindigkeit durchführen.
  • 5 ist ein Schaltungsdiagramm, das ein Beispiel der 4-2-Kompressionsschaltung zeigt, die die Wallace-Baum-Schaltung 15 in der Multipliziererschaltung nach dem Stand der Technik bildet; dieses Beispiel ist in der ungeprüften japanischen Patentveröffentlichung Nr. 2-112020 offenbart. Die in 5 dargestellte 4-2-Kompressionsschaltung besteht aus einem Inverter 122, zwei UND-Schaltungen 123 und 124, drei ODER-Schaltungen 125 bis 127, drei NAND-Schaltungen 128 bis 130, einer NOR-Schaltung und vier EOR-Schaltungen 132 bis 135. Das heißt, die in der in 5 dargestellten Konfiguration beispielhaft veranschaulichte 4-2-Kompressionsschaltung erfordert die Verwendung von vier EOR-Schaltungen 132 bis 135 zum Ausführen einer Exklusiv-ODER (EOR)-Verarbeitung an fünf Eingaben, die ein dazwischen liegendes Übertrag- oder Carry-In-Signal Cin einschließen, um ein Summensignal Si, j zu erzeugen, das eines der Ausgangssignale ist.
  • 6 ist ein Schaltungsdiagramm, das eine EOR-Schaltung mit 10 Transistoren (EOR-Schaltung mit komplementären Transfer-Gates) in einer herkömmlichen Ausführung zeigt, die verwendet wird, um ein Exklusiv-ODER-Signal (EOR-Signal) aus zwei Eingangssignalen x1 und x2 zu erzeugen. Ferner ist 7 ein Schaltungsdiagramm, das eine Summensignale erzeugende Schaltung einer Volladdiererschaltung darstellt, die aus EOR-Schaltungen mit 6 Transistoren (EOR-Schaltungen mit Einzeltransfer-Gates) EOR1 und EOR2 auf gebaut ist, die in einer herkömmlichen Ausführung genutzt wird, um ein EOR-Signal aus drei Eingangssignalen x1, x2 und x3 zu erzeugen.
  • Wie in 6 dargestellt ist, erfordert unter Verwendung der Technologie von CMOS-Schaltungen, die für die Fertigung von LSI-Schaltungen gewöhnlich verwendet wird, die EOR-Schaltung mit komplementären Transfer-Gates gewöhnlich 10 Transistoren für drei Inverter 136 bis 138 und zwei Transfer-Gates 139 und 140.
  • Wie in 7 gezeigt ist, kann gleichfalls eine EOR-Schaltung (EOR1) unter Verwendung von Transistoren 141 und 142, eines Transfer-Gate 143 und eines Inverters 144 aufgebaut werden. Das heißt, die EOR-Schaltung kann mit sechs Transistoren (Elementen) aufgebaut werden. Diese EOR-Schaltung mit Einzeltransfer-Gates und 6 Transistoren, die mit sechs Transistoren aufgebaut ist, ist in vielen Dokumenten, z. B. den ungeprüften japanischen Patentveröffentlichungen Nr. 58-211252, 59-211138, 62-262928 und 4-227534, zitiert.
  • Die Verarbeitungsgeschwindigkeit der obigen EOR-Schaltung mit 6 Transistoren ist jedoch viel langsamer als diejenige der in 6 gezeigten EOR-Schaltung mit 10 Transistoren und insbesondere, wenn zwei EOR-Schaltungen direkt miteinander gekoppelt sind, wie in 7 dargestellt ist, wird die Verarbeitungsgeschwindigkeit untragbar langsam. Der Grund ist der folgende: In 7 nehme man an, dass X1 = "1", X2 = "1" und X3 = "1" sind und sich im nächsten Moment diese Eingabebedingungen in X1 = "0", X2 = "0" und X3 = "1" ändern. Dies bewirkt, dass der n-Kanal-Transistor 142(T1) von dem AN- in den AUS-Zustand und die P-Kanal-Transistoren 141(T2) und 140(T3) vom AUS- in den AN-Zustand wechseln. Als Folge fließt nun über einen Knoten N3 ein Strom, der über einen Knoten N2 floss; da aber die Knoten N2 und N3 voneinander elektrisch isoliert (abgetrennt) sind, beeinflusst die Änderung am Knoten N2 nicht den Knoten 3, noch beeinflusst die Änderung am Knoten N3 den Knoten 2. Überdies ändert sich das Potential am Knoten N1 nur langsam, da es sich nicht ändert, bis der Strom durch die Reihenschaltung der P-Kanal-Transistoren T2 und T3 mit hohem Widerstand zu fließen beginnt.
  • Auf der anderen Seite ist der in 6 dargestellte Schaltkreis (Transfer-Gates 139 und 140) mit parallel verbundenen P-Kanal- und N-Kanal-Transistoren so aufgebaut, dass, wenn ein Transistor abgeschaltet wird, der andere eingeschaltet wird, wobei die Zustandsänderungen beider Transistoren einander beeinflussen, um die Änderung zu beschleunigen, was folglich einen Schaltvorgang mit hoher Geschwindigkeit vollbringt. Wie oben beschrieben wurde, nutzt die EOR-Schaltung mit 6 Transistoren weniger Elemente, opfert aber die Operationsgeschwindigkeit und ist daher für Schaltungsanwendungen nicht geeignet, die eine hohe Operationsgeschwindigkeit erfordern. Falls auf der anderen Seite die in 5 gezeigte Wallace-Baum-Schaltung unter Verwendung der EOR-Schaltungen mit 10 Transistoren aufgebaut ist, werden insgesamt 66 Elemente (66 Transistoren) erforderlich sein.
  • 8A bis 8C und 9A bis 9C sind Diagramme, um zu erläutern, wie die Verzögerung einer Operation hervorgerufen wird, wenn ein Transfer-Gate verwendet wird.
  • Zunächst betrachtet man den in 8A gezeigten Fall, in dem ein Signal S vom Ansteuergate DG an das Transfer-Gate TG geliefert wird und mehrere Lasten LG (z. B. n Inverter) durch die Ausgabe des Transfer-Gates TG angesteuert werden. Die äquivalente Schaltung wird dann wie in 8B gezeigt vorliegen. Wie gezeigt ist, wird die äquivalente Schaltung durch die Spannungsquelle E und einen Widerstand Rd des Ansteuergates DG, den Widerstandswert (AN-Widerstand) des Transfer-Gate TG, die Kapazitäten Cs und Cd der Source und des Drain des das Transfer-Gate TG bildenden Transistors und die Eingangskapazitäten Cg der n-Lasten LG repräsentiert.
  • Um die Erläuterung zu vereinfachen, ist, falls die äquivalente Schaltung von 8B wie in 8C gezeigt umgeschrieben wird, eine Verzögerungszeit τ1 beim Ansteigen und Abfallen des Signals S gegeben durch τ1 ∝ (Rd + Rt)·(Cs + Cd + nCg) ≒ 3/2·(n + 2)·Cg·Rd
  • Hier wird angenommen, das Rt ≒ ½·Rd und Cs ≒ Cd ≒ Cg gelten. Im Fall einer miniaturisierten Halbleitervorrichtung, wie z. B. einer CMOS-Vorrichtung mit einer Leitungsbreite von etwa 0,35 μm, gilt im wesentlichen Cs ≒ Cd ≒ Cg.
  • Wenn die Lasten LG durch das Transfer-Gate TG angesteuert werden, muss auf diese Weise das Transfer-Gate TG jede Last LG mit dessen Eingangskapazität ansteuern, die wie oben gezeigt mit 1,5 multipliziert ist, infolge dessen die Verzögerungszeit τ1 zunimmt (Ansteuergeschwindigkeit abnimmt). Betrachtet man die Effekte von +2 in dem Term (n + 2) in der obigen Gleichung, wird überdies die Zunahme in der Verzögerungszeit τ1 größer als dann, wenn die Verzögerungszeit der Anzahl n einfach proportional ist.
  • In dem in 9A gezeigten Fall, in dem das Signal S vom Ansteuergate DG direkt geliefert wird, um mehrere Lasten LG (z. B. n' Inverter) anzusteuern, wird auf der anderen Seite die äquivalente Schaltung wie in 9B gezeigt vorliegen. Die äquivalente Schaltung von 9B kann wie in 9C gezeigt weiter vereinfacht werden. Eine Verzögerungszeit τ2 beim Ansteigen und Abfallen des Signals S ist hier gegeben durch τ2 ∝ n'·Rd·Cg
  • Wenn die n' Lasten LG durch das Ansteuergate DG angesteuert werden, dargestellt in den 9A bis 9C, muss das Ansteuergate DG nur die Eingangskapazität Cg jeder Last LG, die mit der Zahl n' multipliziert ist, ansteuern, was eine höhere Ansteuergeschwindigkeit liefert, als wenn die n Lasten LG durch das Transfer-Gate TG angesteuert werden, was in 8A bis 8C gezeigt ist.
  • 10 ist ein Schaltungsdiagramm, das ein weiteres Beispiel der 4-2-Kompressionsschaltung zeigt, die die Wallace-Baum-Schaltung in der Multipliziererschaltung nach dem Stand der Technik bildet; dieses Beispiel zeigt die Konfiguration der 4-2-Kompressionsschaltung, die in dem Artikel (S. 251–257) in der Ausgabe März 1995 von "IEEE Journal of Solid-State Circuits", beschrieben ist, einem Magazin, das von The Institute of Electrical and Electronics Engineers, Inc. (IEEE), U.S.A., herausgegeben wird. Wie in 10 gezeigt ist, besteht die 4-2-Kompressionsschaltung (Dual-Pass-Transistorlogik (DPL), 4-2-Kompressor) aus acht Invertern 145 bis 152, neun komplementären Transfer-Gates 153 bis 161, wobei insgesamt 52 Elemente (52 Transistoren) genutzt werden. In der 4-2-Kompressionsschaltung von 10 nehmen jedoch auch die Anstiegs- und Abfallzeiten der Signale zu und nimmt die Verarbeitungsgeschwindigkeit ab, da der Reihenwiderstand von Transfer-Gates direkt mit dem Signaleingangsanschluss verbunden ist, falls die Eingangskapazität groß ist, z. B. wenn eine lange Verbindungsleitung mit dem Eingangsanschluss verbunden ist oder falls ein zusätzlicher Eingangswiderstand existiert.
  • Falls die Anzahl von Bits, die für jede Ziffernstelle komprimiert werden sollen, reduziert werden kann, kann in der Wallace-Baum-Schaltung die Anzahl von erforderlichen Kompressionsschaltungen reduziert werden, infolge dessen die Größe der Multipliziererschaltung reduziert werden kann. Im Stand der Technik wurde die Verringerung der Anzahl von Bits für jede Ziffernstelle in erster Linie vom Standpunkt einer Komprimierung der Vorzeichenbits von Teilprodukten aus angegangen. Spezifische Beispiele sind beispielsweise in den ungeprüften japanischen Patentveröffentlichungen Nr. 57-121736 und 59-3634 offenbart.
  • Ferner offenbart die ungeprüfte japanische Patentveröffentlichung Nr. 4-287220 ein Korrekturmittel, das ermöglicht, dass ein korrektes Berechnungsergebnis erhalten werden kann, ohne das Vorzeichen jedes Teilprodukts auf eine höhere Ziffernstelle zu erweitern, wenn Teilprodukte (Vielfache) in einer Darstellung von 2er-Komplementen addiert werden, und enthält eine Beschreibung einer Multipliziererschaltung, in der Addierer zum Addieren von Sätzen von Teilprodukten so modifiziert sind, dass, ohne eine unabhängige Korrekturschaltung zum Durchführen von Operationen an den Vorzeichen der Teilprodukte und Addieren von Korrekturwerten zu erfordern, mit der Korrekturschaltung vergleichbare Berechnungsergebnisse unter Verwendung des Korrekturmittels erhalten werden können. Mit dem Verfahren, das in der ungeprüften japanischen Patentveröffentlichung Nr. 4-287220 offenbart ist, kann jedoch, obgleich die sich auf die Vorzeichenziffer beziehende Schaltungsanordnung vereinfacht werden kann, der kritische Pfad in der Wallace-Baum-Schaltung nicht verkürzt werden, weil die maximale Anzahl (n/2 + 1) von Teilproduktbits für jede Ziffernstelle nicht geändert werden kann, wenn der Booth-Algorithmus zweiter Ordnung verwendet wird.
  • In General Lecture C-541 (A Collection of Lecture Papers, Electronics 2, S. 157), 1996 General Convention of the Institute of Electronics, Information and Communication Engineers, wird ferner ein Verfahren vorgeschlagen, in welchem ein 2er- oder Zweier-Komplement vorher für die 5 Bits niedriger Ordnung des Multiplikanden erhalten wird und, wenn das Ergebnis einer Booth-Codierung negativ ist, werden anstelle der gewöhnlichen Teilproduktbits die so erhaltenen Bits eines Zweier-Komplements ausgegeben, wodurch die maximale Anzahl von Teilproduktbits für jede Ziffernstelle auf n/2 Bits reduziert und folglich eine schnellere Operation erzielt wird. Obgleich dieses Verfahren die maximale Anzahl von Teilproduktbits für jede Ziffernstelle reduzieren und dadurch den kritischen Pfad in der Wallace-Baum-Schaltung verkürzen kann, tritt eine Verzögerung auf, die länger als die durch den Booth-Codierer eingeführte Verzögerung ist, wenn das Komplement von 5 Bits erzeugt wird, und ferner ist eine Schaltung zum Erzeugen des Komplements von 5 Bits erforderlich; daher wird der Effekt einer Erhöhung der Geschwindigkeit durch Reduzieren der maximalen Anzahl von Teilprodukten durch diese Nachteile aufgehoben, und vielmehr nimmt die Anzahl von Elementen in der Multipliziererschaltung in solchen Fällen insgesamt zu.
  • Wieder bezugnehmend auf den Codierer und die Teilproduktbits erzeugende Schaltung benötigt die Teilproduktbits erzeugende Schaltung 14 nach dem Stand der Technik etwa 20 Elemente pro Bit, und obgleich die Anzahl von für jede Ziffernstelle zusammen zu addierenden Bits durch eine Booth-Codierung um die Hälfte reduziert wird, ist die Reduzierung der Gesamtzahl von Schaltungselementen nicht so groß wie erwartet, da eine große Anzahl von Elementen zur Erzeugung der Teilproduktbits erforderlich ist. Insbesondere wenn die Anzahl n von Multiplikatorbits klein ist, kann die Gesamtzahl von Elementen zunehmen.
  • Wie oben beschrieben wurde, wurden im Stand der Technik verschiedene Anstrengungen unternommen, um die Geschwindigkeit von Multipliziererschaltungen zu erhöhen und die Anzahl notweniger Elemente zu reduzieren; es bleibt aber ein Bedarf an noch schnelleren Multipliziererschaltungen mit weniger Elementen bestehen.
  • Zunächst werden eine Teilproduktbits erzeugende Schaltung (Multipliziererschaltung) beschrieben, die eine Konfiguration verwendet, die die Anzahl notwendiger Elemente um die Hälfte reduzieren kann, und ein Codierer (Booth-Codierer), der zum Implementieren der Teilprodukte erzeugenden Schaltung geeignet ist.
  • 11 ist ein Blockdiagramm, das die Konfiguration der Teilproduktbits erzeugenden Schaltung 14 in der Multipliziererschaltung zeigt. In der Figur ist Bezugsziffer 201 eine erste Auswahlschaltung für ein Multiplikandenbit ai in der i-ten Ziffernstelle; ist 202 eine zweite Auswahlschaltung für das Multiplikandenbit ai; ist 203 eine erste Auswahlschaltung für ein Multiplikandenbit ai + 1 in der (i + 1)-ten Ziffernstelle; und 204 ist eine zweite Auswahlschaltung für das Multiplikandenbit ai + 1. Bezugsziffer 205 bezeichnet ferner einen Codierer, der Codiersignale B1j, B2j, B3j und /B3j durch Verwenden eines Multiplikatorbits bj in der j-ten Ziffernstelle und der Multiplikatorbits in deren nächsthöheren und niedrigeren Ziffernstellen erzeugt.
  • Die erste Auswahlschaltung 201 für das Multiplikandenbit ai in der i-ten Ziffernstelle gibt das Codiersignal B1j ab, wenn das Multiplikandenbit ai eine 1 ist, und gibt das Codiersignal B2j ab, wenn das Multiplikandenbit ai eine 0 ist. Die anderen Auswahlschaltungen 202 bis 204 haben ähnliche Funktionen.
  • Man nehme nun an, dass der Codierer (12) ein Booth-Codierer zweiter Ordnung ist und dass Bij = PLj (das Ergebnis einer Codierung ist positiv), B2j = Mj (das Ergebnis einer Codierung ist negativ), Bij = Xj (das Ergebnis einer Codierung ist 1 mal der Multiplikand) und /B3j = /Xj gelten, wie in der vorher beschriebenen Tabelle 1 als Wahrheitstabelle dargestellt ist. Die zweite Auswahlschaltung 202 für das Multiplikandenbit ai in der i-ten Ziffernstelle gibt dann ein Teilproduktbit Pi, j für das Multiplikandenbit ai und das Multiplikatorbit bj ab, während die zweite Auswahlschaltung 204 für das Multiplikandenbit ai + 1 in der (i + 1)-ten Ziffernstelle ein Teilproduktbit Pi + 1, j für das Multiplikandenbit ai + 1 und das Multiplikatorbit bj abgibt.
  • Das heißt, die Teilproduktbits erzeugende Schaltung von 11 erzeugt Teilproduktbits für zwei sukzessive Bits (ai, ai + 1) des Multiplikanden. Ein Bezugszeichen Ei – 1, j gibt hier das ausgewählte Signal und eine Ausgabe von der ersten Auswahlschaltung (203) für ein Multiplikandenbit ai – 1 in der nächstniedrigeren Ziffernstelle an. Signal Ei + 1j, das ausgewählt und von der Schaltung von 11 abgegeben wird, wird daher verwendet, um ein Teilproduktbit Pi + 2, j für. die nächsthöhere Ziffernstelle zu erzeugen. Wie später beschrieben wird, erlaubt die in 11 gezeigte Schaltungskonfiguration, dass die Auswahlschaltungen (201 bis 204) unter Verwendung von weniger Elementen als EOR-Schaltungen aufgebaut werden, infolge dessen Teilproduktbits unter Verwendung von weniger Elementen als der Stand der Technik und ohne Reduzieren der Verarbeitungsgeschwindigkeit erzeugt werden können.
  • 12 ist ein Schaltungsdiagramm, das ein Beispiel der Konfiguration für die Auswahlschaltungen (201 bis 204) zeigt, die für eine Teilproduktbits erzeugende Schaltung einer Multipliziererschaltung nutzbar sind.
  • Wie in 12 gezeigt ist, besteht die Auswahlschaltungskonfiguration (für die ersten Auswahlschaltungen 201, 203 und die zweiten Auswahlschaltungen 202, 204) aus zwei UND-Schaltungen 301, 302 und einer NOR-Schaltung 303. Die Signalausgabe von der ersten Auswahlschaltung 201, 203 wird hier bezüglich des ausgewählten Signals invertiert; aber dieses invertierte Signal wird wieder durch die nachfolgende zweite Auswahlschaltung 202, 204 invertiert, deren Ausgabe daher das nicht invertierte Signal des ausgewählten Signals ist. Die Teilproduktbits erzeugende Schaltung (für zwei Bits) erfordert 8 × 4 = 32 Elemente (Transistoren), d. h. 16 Elemente pro Bit. Folglich ist gezeigt, dass die Teilproduktbits erzeugende Schaltung (mit 16 Elementen pro Bit) mit weniger Elementen als irgendeine der Teilproduktbits erzeugenden Schaltungen (14) des Stands der Technik aufgebaut werden kann, die in 2 (18 Elemente pro Bit), 3 (19 Elemente pro Bit) und 4 (21 Elemente pro Bit) dargestellt sind.
  • 13 ist ein Schaltungsdiagramm, das eine andere Teilproduktbits erzeugende Schaltung 14 für eine Multipliziererschaltung zeigt. Diese Schaltung ist so aufgebaut, um verglichen mit der Teilproduktbits erzeugenden Schaltung, die mit den in 12 gezeigten Auswahlschaltungen aufgebaut ist, die Anzahl von Elementen weiter zu reduzieren.
  • Wie in 13 gezeigt ist, ist die Teilproduktbits erzeugende Schaltung (für zwei Bits) mit acht Transfer-Gates 304 bis 311 und zwei Invertern 312 und 313 aufgebaut. Im Vergleich mit der Teilproduktbits erzeugenden Schaltung 14 von 11 sind die erste Auswahlschaltung 201 und die zweite Auswahlschaltung 202 für das Multiplikandenbit ai in der i-ten Ziffernstelle aus den Transfer-Gates 306, 307 bzw. Transfer-Gates 310, 311 aufgebaut, während die erste Auswahlschaltung 203 und die zweite Auswahlschaltung 204 für das Multiplikandenbit ai + 1 in der (i + 1)-ten Ziffernstelle aus den Transfer-Gates 304, 305 bzw. den Transfer-Gates 308, 309 aufgebaut sind.
  • Das Aussgangssignal Pi + 1, j von der zweiten Auswahlschaltung 204 für das Multiplikandenbit ai + 1 und das Ausgangssignal Pi, j von der zweiten Auswahl schaltung 202 für das Multiplikandenbit ai können durch logische Ausdrücke wie im folgenden gezeigt geschrieben werden, aus denen man erkennen kann, das zwei sukzessive Teilproduktbits erzeugt werden. Pi + 1, j = (PLj·ai + 1 + Mj·/ai +1)·Xj + (PLj·ai + Mj·/ai)·/Xj Pi, j = (PLj·ai + Mj·/ai)·Xj + (PLj·ai – 1 + Mj·/ai – 1)·/Xj
  • In der in 13 dargestellten Teilproduktbits erzeugenden Schaltung (für zwei Bits) beträgt die Anzahl erforderliche Elemente 20, was 10 Elemente (10 Transistoren) pro Bit bedeutet und verglichen mit den Teilproduktbits erzeugenden Schaltungen nach dem Stand der Technik (18 bis 21 Elemente pro Bit), die in 2 bis 4 dargestellt sind, eine Reduzierung um einen Faktor von etwa 2 erreicht.
  • Die Inverter 312 und 313, in die Booth-Codiersignale /PLj (Komplement der Signalabgabe, wenn das Ergebnis einer Codierung positiv ist) und /Mj (Komplement der Signalabgabe, wenn das Ergebnis einer Codierung negativ ist) jeweils eingespeist werden, sind hier vorgesehen, um die Probleme zu vermeiden, die entstehen könnten, falls die Codiersignale direkt an die Eingangsanschlüsse der Transfer-Gates angelegt werden (die in Verbindung mit 3 beschriebenen Probleme, wie z. B. ein erhöhter Stromverbrauch aufgrund einer Verschlechterung der Signalwellenformen und eine verlängerte Verzögerungszeit aufgrund längerer Anstiegs- und Abfallzeiten von Signalen). Diese Inverter wären unnötig, falls die logischen Gatter oder Gates zum Abgeben der Codiersignale eine ausreichende Ansteuerfähigkeit hätten. Falls die Inverter 312 und 313 nicht notwendig sind, kann die Anzahl von Elementen, die erforderlich sind, um die Teilproduktbits erzeugende Schaltung (für zwei Bits) aufzubauen, unter 20 reduziert werden. Es gibt weitere erforderliche Inverter zum Erzeugen der Komplemente der Multiplikandenbits ai, ai + 1, ai – 1 etc.; aber da die Multiplikandenbitsignale und ihre Komplemente an die Gate-Anschlüsse der Transfer-Gates angelegt werden, können Eingaben in 10 oder mehr Teilproduktbits erzeugende Schaltungen von einem Signalpuffer geliefert werden, vorausgesetzt dass die Ansteuerfähigkeit des Signalpuffers ausreichend gross ist, und falls die Anzahl n von Bits im Multiplikator 16 oder mehr beträgt, kann z. B. die Addition dieser Inverter als ein Faktor, der zu einer Erhöhung der Anzahl von Elementen beiträgt, ignoriert werden.
  • 14 ist ein Schaltungsdiagramm, das ein Beispiel eines Booth-Codierers zeigt, der in einer Multiplziererschaltung nutzbar ist. Die Figur zeigt ein Beispiel der Booth-Codiersignale zweiter Ordnung erzeugenden Schaltung (Codierer) 12 für die in 13 gezeigte Schaltung. Die gezeigten Codiersignalsymbole entsprechen den in Tabelle 1 gezeigten Symbolen.
  • Wie in 14 gezeigt ist, umfasst der Booth-Codierer 12 sieben Inverter 314 bis 320, eine UND-Schaltung 321, eine ODER-Schaltung 322, eine NAND-Schaltung 323, eine NOR-Schaltung 324 und eine ENOR-Schaltung 325. Einige der an der Ausgangsseite der Codiersignale gelegenen Inverter können hier weggelassen werden, falls ein Codiersignalpuffer mit einer geringen Ansteuerfähigkeit akzeptabel ist; z. B. können die Paare sukzessiver Inverter (315/316 und 317/318), die in den Ausgangspfaden der Codiersignale /Xj und /PLj liegen, weggelassen werden. Die Anzahl von Elementen, die erforderlich sind, um den Booth-Codierer 12 aufzubauen, kann verglichen mit dem Stand der Technik ein wenig zunehmen, aber im Fall einer Mehrbit-Multipliziererschaltung, in der die Anzahl m von Bits im Multiplikanden 16 oder mehr beträgt, hat diese Zunahme einen geringen Effekt, weil für je zwei Multiplikatorbits nur ein Codierer benötigt wird.
  • Die obigen Beispiele wurden unter der Annahme der Verwendung eines Booth-Codierers zweiter Ordnung beschrieben; aber ähnliche Schaltungen können auch aufgebaut werden, wenn ein Booth-Codierer dritter oder höherer Ordnung verwendet wird; z. B. kann dies in 11 erreicht werden, indem die zweite Auswahlschaltung als eine 4 : 1-Auswahlschaltung aufgebaut wird, in welchem Fall einer von vier Ausgängen, der gemäß den Werten der Multiplikandenbits ai, ai – 1, a'i (die i-te Ziffer des dreifachen Multiplikanden) und ai – 2 ausgewählt wird, für eine Ausgabe in einer entsprechenden Beziehung zu einer Codierausgabe, die einen positiven Wert hat, unter den Codierausgaben Xj, 2Xj, 3Xj (der Multiplikand wird dreimal ausgewählt) und 4Xj (der Multiplikand wird viermal ausgewählt) ausgewählt wird. Ferner ist das Codierverfahren nicht auf ein Booth-Verfahren beschränkt, sondern andere ähnliche Codierverfahren können direkt für die Schaltung von 11 oder durch partielles Modifizieren der Schaltung angewendet werden.
  • Für eine Hochgeschwindigkeits-Multipliziererschaltung, die für eine Implementierung als eine integrierte (LSI) Schaltung geeignet ist, muss ein Layout-Verfahren, das zur Implementierung in einer integrierten Schaltungsform geeignet ist, neben einer Reduzierung der Anzahl erforderlicher Elemente berücksichtigt werden, ohne ihre Hochgeschwindigkeitstauglichkeit zu opfern. Diese Aufgabe ist in dem Artikel des aktuellen Erfinders über einen Multiplizierer in der Ausgabe September 1992 von "IEEE Journal of Solid-State Circuits", S. 1229–1236, beschrieben. Da die vorliegende Schaltung jedoch von der in diesem Artikel beschriebenen verschieden ist, muss das Layout ebenso optimiert werden. Ein Verfahren, um dies zu erreichen, wird im folgenden beschrieben.
  • 15 ist ein Diagramm ist, das das Layout der Teilproduktbits erzeugenden Schaltung für eine Multipliziererschaltung darstellt.
  • Wie in 15 gezeigt ist, sind Multiplikandenbitsignale (ai, ai + 1) entsprechend bestimmten Ziffern in dem Multiplikanden und ihre invertierten Signale (/ai, /ai + 1) parallel zueinander in einer Richtung (vertikalen Richtung) in einer zweidimensionalen Ebene verlaufend angeordnet, und Sätze von Codiersignalleitungen (Bj, Bj + 2, ...) entsprechend bestimmten Ziffern in Multiplikator sind diese schneidend (unter Verwendung horizontal verlaufender Verdrahtungsmuster auf einer von der Schicht, auf der die Leitungen für Multiplikandenbitsignale ausgebildet sind, verschiedenen Schicht) angeordnet. In 15 werden die komplementären Multiplikandenbitsignale ai und /ai z. B. durch eine einzige Signalleitung repräsentiert, die auf der linken Seite einer durchgehenden Verdrahtungsregion vertikal verläuft. Bezugszeichen 4W in 15 gibt eine 4-2-Kompressionsschaltung an, die später beschrieben wird.
  • Ferner wird eine Teilproduktbits erzeugende Schaltung (P2: 14) auf solch eine Weise wiederholt, dass sie mehrere vorbestimmte benachbarte Kreuzungen der Multiplikandenbit-Signalleitungen und Codier-Signalleitungen enthält. Indem die gleiche Schaltungszelle auf diese Weise wiederholt wird, können die Teilproduktbits erzeugenden Schaltungen einander benachbart ausgebildet werden, was es somit vereinfacht, die Hauptelemente der Multipliziererschaltung anzuordnen. Ein Teil der Schaltung kann durch eine irreguläre Schaltung ersetzt werden, da aber dies nur einen Teil der Teilproduktbits erzeugenden Schaltung beeinflusst und die geordnete Baumanordnung der Addiererschaltungen nicht stört, bleibt das Layout als Ganzes im wesentlichen unbeeinflusst.
  • Als nächstes werden Übertrag-Sicherungs- oder Carry-Save-Addiererschaltungen gemäß Ausführungsformen der Erfindung beschrieben, welche Schaltungen vier Eingänge für jede Ziffernstelle (4-2-Kompressionsschaltung) aufweisen und imstande sind, die Anzahl notwendiger Schaltungselemente zu reduzieren.
  • Eine erste Konfiguration der Carry-Save-Addiererschaltung (4-2-Kompressionsschaltung) nimmt für jede Ziffernstelle vier Eingangssignale (x1, x2, x3, x4) und ein dazwischen liegendes Carry-In-Signal (Cin) als Eingaben und erzeugt ein dazwischen liegendes Carry-Out-Signal (Cout), ein Summensignal (Si, j) und ein Übertrag- oder Carry-Signal (Ci, j) für eine Ausgabe. Ein ODER- (oder NOR-) und ein Exklusiv-ODER (EOR) des ersten Eingangssignals x1 und zweiten Eingangssignals x2 werden gebildet, und, wenn die Exklusiv-ODER-Ausgabe wahr ist (logische 1), wird das dritte Eingangssignale x3 als das dazwischen liegende Carry-Out-Signal (Cout) abgegeben, während das ODER-Ausgangssignal, wenn die EOR-Ausgabe falsch ist (logische 0), als das dazwischen liegende Carry-Out-Signal (Cout) abgegeben wird. In einer zweiten Konfiguration der 4-2-Kompressionsschaltung werden ein UND (oder NAND) und ein EOR des ersten Eingangssignals x1 und zweiten Eingangssignals x2 gebildet, und, wenn die EOR-Ausgabe wahr ist (logische 1), wird das dritte Eingangssignal x3 als das dazwischen liegende Carry-Out-Signal abgegeben, während, wenn die EOR-Ausgabe falsch ist (logische 0), das UND-Ausgangssignal als das dazwischen liegende Carry-Out-Signal abgegeben wird.
  • In jeder der ersten und zweiten Konfigurationen ist von den Schaltungen, die ein Exklusiv-ODER der fünf Eingangssignale erzeugen, um das Summensignal zu erzeugen, nur die Schaltung, die eine Exklusiv-ODER-Verarbeitung des EOR-Ausgangssignals des ersten und zweiten Eingangssignals mit dem EOR-Ausgangssignal des dritten und vierten Eingangssignals ausführt, aus einer Schaltung mit 6 Transistoren (Einzeltransfer-Gate-Schaltung) aufgebaut, und alle anderen EOR-Schaltungen sind als Schaltungen von acht und mehr Transistoren aufgebaut.
  • In der Schaltung der ersten Konfiguration kann die Schaltung, die das ODER (oder NOR) erzeugt, als Teil der Schaltung genutzt werden, die eine Exklusiv-ODER-Verarbeitung der ersten und zweiten Eingabe für jede Ziffernstelle ausführt; gleichfalls kann in der Schaltung der zweiten Konfiguration die Schaltung, die das UND (oder NAND) erzeugt, als Teil der Schaltung verwendet werden, der eine Exklusiv-ODER-Verarbeitung der ersten und zweiten Eingabe für jede Ziffernstelle ausführt. Ferner wird die Anzahl von Komponentenelementen reduziert, indem das dritte Eingangssignal oder das ODER/UND-Signal für eine Ausgabe als das dazwischen liegende Carry-Out-Signal ausgewählt wird. Indem die EOR-Schaltung mit 6 Transistoren genutzt wird, von der man erwartet, dass sie ein Problem im Hinblick auf die Geschwindigkeit aufwirft, kann überdies nur in einer Sektion, wo die Geschwindigkeit am geringsten beeinflusst wird, die Gesamtzahl von Elementen reduziert werden, ohne die Geschwindigkeit wesentlich zu reduzieren. Das heißt, gemäß der Addiererschaltung (4-2-Kompressionsschaltung) der vorliegenden Erfindung kann die Schaltung, welche im Stand der Technik mehr als 50 Elemente erfordert, mit 50 oder weniger Elementen aufgebaut werden, ohne ihre Hochgeschwindigkeitsfähigkeit zu opfern.
  • 16 ist ein Schaltungsdiagramm, das eine Ausführungsform einer 4-2-Kompressionsschaltung zeigt, die eine Wallace-Baum-Schaltung für eine Multipliziererschaltung bildet.
  • Wie in 16 gezeigt ist, umfasst die 4-2-Kompressionsschaltung dieser Ausführungsform 10 Transfer-Gates 401 bis 410, 10 Inverter 411 bis 420, eine ODER-Schaltung 421 und zwei NAND-Schaltungen 422 und 423. Eine EOR-Schaltung 430 (die aus einer ENOR-Schaltung und einem Inverter besteht und der EOR-Schaltung 133 von 5 entspricht) ist hier mit dem Inverter 412, der ODER-Schaltung 421 und den NAND-Schaltungen 422 und 423 aufgebaut; eine EOR-Schaltung 440 (die der EOR-Schaltung 132 in 5 entspricht) ist mit den Transfer-Gates 403 und 404 und den Invertern 414, 415 und 420 aufgebaut; eine EOR-Schaltung 450 (die der EOR-Schaltung 134 in 5 entspricht) ist mit den Transfer-Gates 405 und 406 und den Invertern 412, 415 und 416 aufgebaut; und eine EOR-Schaltung 460 (die der EOR-Schaltung 135 in 5 entspricht) ist mit den Transfer-Gates 407 und 408 und den Invertern 416, 417 und 418 aufgebaut.
  • Wie aus 16 ersichtlich ist, sind die EOR-Schaltungen 440, 450 und 460 jeweils aus der EOR-Schaltung mit 10 Transistoren (komplementäre Transfer-Gate-Schaltung) aufgebaut, die vorher in 6 gezeigt wurde, um die Hochgeschwindigkeitsfähigkeit der Schaltung beizubehalten. Der Inverter 412 ist ferner gemeinsam für die EOR-Schaltungen 430 und 450, der Inverter 415 gemeinsam für die EOR-Schaltungen 440 und 450 und der Inverter 416 gemeinsam für die EOR-Schaltungen 450 und 460 vorgesehen, um die Anzahl von Elementen zu reduzieren. Die EOR-Schaltung 430 ist aus der ENOR-Schaltung (421, 422, 423) und dem Inverter 412 unter Verwendung von insgesamt 12 Transistoren aufgebaut.
  • In der in 16 gezeigten 4-2-Kompressionsschaltung werden ein NAND-Signal des ersten Eingangssignals x1 und des zweiten Eingangssignals x2 und ein Exklusiv-ODER-Signal (EOR-Signal) von x1 und x2 erzeugt, und, wenn die EOR-Ausgabe (die Ausgabe des Inverters 412) wahr ist (logische 1), wird das dritte Eingangssignal x3 als das dazwischen liegende Carry-Out-Signal (Cout) abgegeben, während, wenn die EOR-Ausgabe falsch ist (logische 0), ein NOT-Signal des NAND-Signals (die Ausgabe der NAND-Schaltung 422) als das dazwischen liegende Carry-Out-Signal abgegeben wird. In dem veranschaulichten Beispiel sind die EOR-Schaltungen 440, 450 und 460 mit Ausnahme der aus einer Ansteuergate-Schaltung aufgebauten EOR-Schaltung 430 jeweils mit Invertern und Transfer-Gates mit 8 bis 10 Transistoren aufgebaut, und die gesamte Schaltung ist unter Verwendung von 50 Elementen (50 Transistoren) aufgebaut.
  • 17 ist ein Schaltungsdiagramm, das eine andere Ausführungsform der 4-2-Kompressionsschaltung, die eine Wallace-Baum-Schaltung bildet, für eine Multipliziererschaltung zeigt. Die 4-2-Kompressionsschaltung, die in 17 gezeigt ist, erreicht verglichen mit der in 16 gezeigten 4-2-Kompressionsschaltung eine weitere Reduzierung der Anzahl von Elementen.
  • Konkreter ist in der 4-2-Kompressionsschaltung von 17 von den drei Stufen von EOR-Schaltungen 440, 450 und 460 in der 4-2-Kompressionsschaltung von 16 die EOR-Schaltung (450), die in der Zwischenposition gelegen ist, wo die Effekte der Eingabe und Ausgabe am wenigsten gefühlt werden, durch eine EOR-Schaltung 450' mit 6 Transistoren ersetzt, die die gleiche wie die in 7 gezeigte ist, wodurch eine weitere Reduzierung der Anzahl von Elementen erreicht wird, während die Hochgeschwindigkeitsfähigkeit der Schaltung beibehalten wird.
  • Wie in 17 gezeigt ist, ist die Schaltung (EOR-Schaltung 450'), die das Exklusiv-ODER (EOR-Signal) des ersten Eingangssignals x1 und des zweiten Eingangssignals x2 mit dem Exklusiv-ODER (EOR-Signal) des dritten Eingangssignals x3 und vierten Eingangssignals x4 einer Exklusiv-ODER-Verarbeitung unterzieht, aus der EOR-Schaltung mit 6 Transistoren aufgebaut. Das heißt, während die EOR-Schaltung 450 in 16 mit den Transfer-Gates 405 und 406 und den Invertern 412, 415 und 416 unter Verwendung von insgesamt 10 Transistoren aufgebaut ist, ist die EOR-Schaltung 450' in 17 unter Verwendung von sechs Transistoren, d. h. Transistoren 424 und 425, eines Transfer-Gates 426 und eines Inverters 412 aufgebaut. Als Ergebnis kann die in 17 gezeigte 4-2-Kompressionsschaltung unter Verwendung von 48 Elementen (48 Transistoren) aufgebaut werden.
  • 18 ist ein Schaltungsdiagramm, das noch eine weitere Ausführungsform einer 4-2-Kompressionsschaltung zeigt, die eine Wallace-Baum-Schaltung für eine Multipliziererschaltung bildet. Auch in dieser Ausführungsform ist die 4-2-Kompressionsschaltung unter Verwendung von 48 Elementen aufgebaut.
  • Wie in 18 gezeigt ist, werden ein NOR-Signal des ersten Eingangssignals x1 und zweiten Eingangssignals x2 und ein Exklusiv-ODER-(EOR)-Signal von x1 und x2 erzeugt, und, wenn die EOR-Ausgabe (die Ausgabe der NOR-Schaltung 429) wahr ist (logische 1), wird das dritte Eingangssignal x3 als das dazwischen liegende Carry-Out-Signal (Cout) abgegeben, während, wenn die EOR-Ausgabe falsch ist (logische 0), ein NOT-Signal des NOR-Signals (die Ausgabe der NOR-Schaltung 428) als das dazwischen liegende Carry-Out-Signal abgegeben wird.
  • In den in 16 bis 18 gezeigten 4-2-Kompressionsschaltungen ist die Anzahl notwendiger Elemente auf 50 oder weniger reduziert, und dennoch wird die Schaltung durch die Verzögerung über die Transfer-Gates nicht beeinflusst, die in der Beschreibung des Standes der Technik erläutert wurde, d. h. die Reduzierung der Geschwindigkeit wird ohne Opfern der Verarbeitungsgeschwindigkeit erreicht. Nun wird ein Kompressionsverfahren für Teilproduktbits zum Reduzieren der Anzahl von Teilproduktbits für jede Ziffernstelle beschrieben, das den kritischen Pfad in der Kompressionsverarbeitung für Teilproduktbits verkürzen kann, ohne die Anzahl notwendiger Elemente verglichen mit dem Stand der Technik zu erhöhen.
  • Zunächst werden kurz die Merkmale des Kompressionsverfahrens für Teilproduktbits beschrieben. Als ein erstes Merkmal enthält eine Multipliziererschaltungen, die einen Booth-Algorithmus nutzt, eine Schaltung, welche anstelle eines Teilproduktbitsignals gemäß einem Booth-Algorithmus für jede Ziffernstelle ein Bitsignal entsprechend der Summe eines Korrekturwertes für ein 2er-Komplement des höchstwertigen Teilprodukts und eine Binärzahl direkt erzeugt, die durch ein Bit in der Vorzeichenziffer des niedrigstwertigen Teilprodukts und Bits von der niedrigstwertigen Ziffer des höchstwertigen Teilprodukts bis zu der Ziffer repräsentiert wird, die eine Stelle niedriger als die Vorzeichenziffer des niedrigstwertigen Teilprodukts ist. Als ein zweites Merkmal enthält eine Multipliziererschaltung, die ein Verfahren zum Vermeiden einer Vorzeichenerweiterung durch eine Korrekturverarbeitung nutzt, eine Schaltung, welche die Addition einer 1 zur Vorzeichenkorrektur in einer Ziffernstelle durchführt, die eine Position höher als die Vorzeichenziffer jedes Teilprodukts ist, wobei ein dazwischen liegendes Carry-Out-Signal als eine Summationsausgabe für eine Ziffernstelle, die um eine Position niedriger als die den Korrekturterm enthaltende Ziffer ist, oder ein Carry-Signal selbst in der Ziffernstelle zwei Positionen höher addiert wird, und dessen invertiertes Signal wird in einer Ziffernstelle eine Position höher addiert, wodurch offenkundig die Addition der 1 in der Summation von Bits für jede Stelle eliminiert wird.
  • Mit dem ersten Merkmal des Kompressionsverfahrens für Teilproduktbits wird es möglich, die maximale Anzahl von Teilproduktbits zu reduzieren, ohne eine zusätzliche Schaltung zur Erzeugung von 2er-Komplementen vorsehen zu müssen, wie es im Stand der Technik erforderlich ist. Mit dem zweiten Merkmal des Kompressionsverfahrens für Teilproduktbits wird es ferner durch Ausführen einer Vorzeichenzifferverarbeitung als Teil der Verarbeitung in der Kompressionsschaltung für Teilproduktbits möglich, die Anzahl von Elementen in der Verarbeitungsschaltung als Ganzes zu reduzieren. Somit kann eine Multipliziererschaltung, die schneller als der Stand der Technik ist, aufgebaut werden, ohne die zusätzliche Schaltungsanordnung vorsehen zu müssen, die zur Verlängerung des kritischen Pfades in der Wallace-Baum-Schaltung im Stand der Technik wie vorher beschrieben beitrug. Auf diese Weise kann mit dem ersten und zweiten Merkmal des Kompressionsverfahrens für Teilproduktbits eine Multipliziererschaltung aufgebaut werden, die Operationen mit höherer Geschwindigkeit als der Stand der Technik durchführen kann, während die Anzahl von Elementen verglichen mit dem Stand der Technik reduziert wird.
  • 19 ist ein Diagramm, um ein Beispiel des Kompressionsverfahrens für Teilproduktbis zu erläutern, das in einer Multipliziererschaltung verwendbar ist.
  • In 19 wird das oben beschriebene Verfahren (das erste Merkmal des Kompressionsverfahrens für Teilproduktbits) für eine Multiplikation von 8 × 8 Bits unter Ausnutzung eines Booth-Algorithmus zweiter Ordnung als ein Beispiel verwendet. Indem man das Kompressionsverfahren für Teilproduktbits für die Multipliziererschaltung verwendet, kann die Anzahl von zu verarbeitenden Teilprodukten, gewöhnlich fünf Teilprodukte, auf vier reduziert werden. Dies erlaubt z. B. die direkte Verwendung der 4-2-Kompressionsschaltung und führt zu einer Reduzierung der Schaltungsgröße. Von den Teilproduktbits werden die folgenden fünf Bits durch die Anwendung des Verfahren beeinflusst.
    Das höchstwertige Teilprodukt: PM0,6 und PM1,6
    Das niedrigstwertige Teilprodukt: PS10, PS20 und PS30
  • Die Korrespondenz mit den ursprünglichen Werten ist durch die folgende Beziehung gegeben.
  • Figure 00240001
  • Daher sollte die Logik der obigen fünf Bits so bestimmt sein, dass sie die obige Beziehung erfüllt. Konkreter sind die folgenden logischen Ausdrücke bestimmt. PM0,6 = P0,6 ⊕ M6 = a0·X6·(M6 + PL6) PM1,6 = P1,6 ⊕ (P0,6·M6) = X6·(M6·(a0 ⊕ a1) + PL6·a1) + /X6·a0·(M6 + PL6) PC6 = P1,6·P0,6·M6 = M6·/a0·(/a1·X6 + /X6) e1,6 = PL6·a1 + M6·/a1 PS10 = PC6 ⊕ /PS0 = PC6 ⊕ (M0·/as + PL0·as) PS20 = /PS0 ⊕ (PC6·/PS0) = /PC6·/PS0 PS30 = PS0 ⊕ (PC6·/PS0) = PC6 + PS0
  • PC6 ist hier ein Übertrag- oder Carry-Signal von der Ziffer von PM1,6 zur Ziffer höherer Ordnung, und e1,6 ist ein Signal, das notwendig ist, um P2,6 zu erhalten. Das niedrigstwertige Teilprodukt ist ebenfalls enthalten, weil, wie man aus den obigen Ausdrücken erkennen kann, eine Änderung des Vorzeichenzifferteils der Teilproduktbits es einfacher macht, die Logik zu vereinfachen, und den Effekt der Reduzierung der Anzahl von Elementen steigert. Beispiele von Konfigurationen logischer Schaltungen, die den obigen sieben logischen Ausdrücken entsprechen, sind in 20 und 21 dargestellt.
  • 20 und 21 sind Schaltungsdiagramme, die eine Ausführungsform zum Implementieren des Kompressionsverfahrens für Teilproduktbits von 19 zeigen.
  • Wie in 20 und 21 gezeigt ist, umfassen die den obigen sieben logischen Ausdrücken entsprechenden logischen Schaltungen zusammen: fünf Inverter 501 bis 503, 511 und 512; drei UND-Schaltungen 504, 513 und 514; sechs ODER-Schaltungen 505, 506, 515, 516, 523 und 524; sechs NAND-Schaltungen 507, 508, 517, 518, 519 und 525; drei NOR-Schaltungen 509, 520 und 521; und zwei EOR-Schaltungen 510 und 522, wobei die Gesamtzahl von Elementen 88 beträgt. In einigen Beispielen des Stands der Technik wird eine der obigen Schaltungsanordnungen entsprechende Schaltungsanordnung mit einer kleineren Anzahl von Elementen erreicht, aber in der vorliegenden Schaltungsanordnung ist die Reduzierung der Anzahl von Elementen in der Summierungsschaltung zum Komprimieren von Teilproduktbis für jede Ziffernstelle, die durch die Reduzierung von Bits für jede Ziffernstelle erreicht wird, viel größer als die Zunahme, was bedeutet, dass die Anzahl von Elementen insgesamt reduziert wird.
  • 22A und 22B sind Diagramme, um das Kompressionsverfahren für Teilproduktbits für eine Multiplizierschaltung zu erläutern. 22A dient zum Erläutern eines Beispiels eines Verfahrens nach dem Stand der Technik zur Kompression von Teilproduktbits, und 22B dient zum Erläutern des hierin beschriebenen Verfahrens zur Kompression von Teilproduktbits. Konkreter betrifft 22B das zweite Merkmal des Verfahrens zur Kompression von Teilproduktbits, das oben beschrieben wurde, wenn es auf eine Bitkompression in der zehnten und höheren Ziffernstellen angewendet wird.
  • Wie in 22A gezeigt ist, erfordert das Verfahren zur Kompression von Teilproduktbits nach dem Stand der Technik zwei 4-2-Kompressionsschaltungen (4W), eine 1-Bit-Volladdiererschaltung (3W) und eine Halb-Addiererschaltung (2W), was insgesamt 134 Elemente (134 Transistoren) erfordert.
  • Auf der anderen Seite kann, wie in 22B gezeigt ist, wenn das vorliegende Verfahren zur Kompression von Teilproduktbits verwendet wird, die notwendige Schaltungsanordnung unter Verwendung einer 4-2-Kompressionsschaltung (4W), von zwei 1-Bit-Volladdiererschaltungen (3W) und drei Invertern, d. h. insgesamt 102 Elementen (102 Transistoren), aufgebaut werden.
  • Wie in 22B gezeigt ist, wird ein dazwischen liegendes Carry-Out-Signal d in der 10. Ziffernstelle nach einer Inversion in 3W in der 11. Ziffernstelle eingegeben, während das gleiche Signal d direkt in 3W in der 12. Ziffernstelle zur Verarbeitung eingespeist wird. Das Teilproduktbit-Signal P in der 13. Ziffernstelle wird durch einen Inverter invertiert und als das Summensignal S verarbeitet, und das invertierte Signal des Summensignals S wird als das Carry-Signal C zur 14. Ziffernstelle verarbeitet. Auf diese Weise kann durch Anwenden des vorliegenden Verfahrens zur Kompression von Teilproduktbits eine Kompression von Bits in jeder Ziffernstelle unter Verwendung von weniger Elementen als im Stand der Technik erreicht werden, ohne die Verarbeitungsgeschwindigkeit zu reduzieren.
  • Folglich kann das Verfahren zur Kompression von Teilproduktbits eine Reduzierung der Anzahl von Teilproduktbits für jede Ziffernstelle erreichen und den kritischen Pfad in der Verarbeitung zur Kompression von Teilproduktbits verkürzen, ohne verglichen mit dem Stand der Technik die Anzahl notwendiger Elemente zu erhöhen.
  • Indem man die verschiedenen, oben beschriebenen Schaltungen kombiniert, kann die Anzahl von Elementen verglichen mit dem Stand der Technik um bis zu 30 bis 40% reduziert werden, und eine solche Multipliziererschaltung kann dennoch eine Verarbeitungsgeschwindigkeit aufweisen, die vergleichbar ist mit derjenigen einer Multipliziererschaltung nach dem Stand der Technik. Falls die Einsparungen der Anzahl von Elementen genutzt werden, um zusätzliche Schaltungen zum Implementieren spezifischer Signalverarbeitungsfunktionen aufzubauen, kann überdies unter Verwendung der gleichen Fertigungstechnologie eine integrierte Schaltung mit einer erhöhten Funktionalität realisiert werden.
  • Wie oben ausführlich beschrieben wurde, können überdies durch Verwenden von Schaltungen in einer Kombination, die für die erforderlichen Spezifikationen der gewünschten Multipliziererschaltungen geeignet ist, Multipliziererschaltungen in der Größe reduziert werden, indem die Anzahl von notwendigen Elementen reduziert wird, ohne die Hochgeschwindigkeitsfähigkeit der betreffenden Schaltungen zu opfern.
  • Viele verschiedene Ausführungsformen der vorliegenden Erfindung können aufgebaut werden, ohne vom Umfang der vorliegenden Erfindung abzuweichen, und es sollte sich verstehen, dass die vorliegende Erfindung nicht auf die in dieser Beschreibung beschriebenen spezifischen Ausführungsformen beschränkt ist.

Claims (8)

  1. Addiererschaltung, die für jede Zifferstelle vier Eingangssignale (x1, x2, x3, x4) und ein dazwischen liegendes Carry-In-Signal (Cin) nimmt und ein dazwischen liegendes Carry-Out-Signal (Cout) zusammen mit einem Summensignal (Si, j) und einem Carry-Signal (Ci, j) zur Ausgabe erzeugt, welche Addiererschaltung eine Schaltung enthält, um das Summensignal (Si, j) zu erzeugen, indem ein Exklusiv-ODER der fünf Eingangssignale (x1, x2, x3, x4, Cin) erzeugt wird, und umfasst: eine erste Exklusiv-ODER-Schaltung (430, 430'), um ein Exklusiv-ODER des ersten und zweiten Eingangssignals (x1, x2) zu erzeugen; eine zweite Exklusiv-ODER-Schaltung (440), um ein Exklusiv-ODER des dritten und vierten Eingangssignals (x3, x4) von der gleichen Zifferstelle wie das erste und zweite Eingangssignal zu erzeugen; eine dritte Exklusiv-ODER-Schaltung (450'), um ein Exklusiv-ODER der Ausgaben der ersten und zweiten Exklusiv-ODER-Schaltung zu erzeugen, und; eine vierte Exklusiv-ODER-Schaltung (460), um ein Exklusiv-ODER der Ausgabe der dritten Exklusiv-ODER-Schaltung (450') und des dazwischen liegenden Carry-In-Signals (Cin) zu erzeugen; dadurch gekennzeichnet, dass die dritte Exklusiv-ODER-Schaltung (450') aus einer einzigen Transfer-Gate-Schaltung (426) aufgebaut ist und die anderen Exklusiv-ODER-Schaltungen jeweils aus einer Ansteuer-Gate-Schaltung (421, 422, 423, 412) oder einer komplementären Transfer-Gate-Schaltung mit zwei Transfer-Gates (403, 404; 407, 408), aufgebaut sind.
  2. Addiererschaltung nach Anspruch 1, worin die dritte Exklusiv-ODER-Schaltung (450') sechs Transistoren aufweist.
  3. Addiererschaltung nach Anspruch 1 oder 2, ferner mit: einem ODER- oder NOR-Gatter (428), um ein ODER- oder NOR-Signal des ersten Eingangssignals (x1) und des zweiten Eingangssignals (x2) von der gleichen Zifferstelle zu bilden; und Mitteln (401, 402), um das dritte Eingangssignal (x3) von der gleichen Zifferstelle als das dazwischen liegende Carry-Out-Signal (Cout) abzugeben, wenn das Exklusiv-ODER-Signal von der ersten Exklusiv-ODER-Schaltung (430; 430') ein erster Wert ist, und um das ODER- oder NOR-Signal als das dazwischen liegende Carry-Out Signal (Cout) abzugeben, wenn das Exklusiv-ODER-Signal ein zweiter Wert ist.
  4. Addiererschaltung nach Anspruch 3, worin das ODER- oder NOR-Gatter (428) ein Teil der ersten Exklusiv-ODER-Schaltung (430; 430') ist.
  5. Addiererschaltung nach Anspruch 1 oder 2, ferner mit: einem UND- oder NAND-Gatter (422), um ein UND- oder NAND-Signal des ersten Eingangssignals (x1) und des zweiten Eingangssignals (x2) von der gleichen Zifferstelle zu erzeugen; und Mitteln (401, 403), um das dritte Eingangssignal (x3) von der gleichen Zifferstelle als das dazwischen liegende Carry-Out-Signal (Cout) abzugeben, wenn das Exklusiv-ODER-Signal von der ersten Exklusiv-ODER-Schaltung (430; 430') ein erster Wert ist, und um das UND- oder NAND-Signal als das dazwischen liegende Carry-Out-Signal (Cout) abzugeben, wenn das Exklusiv-ODER-Signal ein zweiter Wert ist.
  6. Addiererschaltung nach Anspruch 5, worin das UND- oder NAND-Gatter (422) Teil der ersten Exklusiv-ODER-Schaltung (430; 430') ist.
  7. Digitale Multipliziererschaltung, die als einen Teil davon eine Addiererschaltung nach einem der vorhergehenden Ansprüche enthält.
  8. Hochintegrierte Halbleiterschaltung, worin eine Multipliziererschaltung nach Anspruch 7 zusammen mit einer zusätzlichen Schaltungsanordnung zum Implementieren von Signalverarbeitungsfunktionen integriert ist.
DE69731700T 1996-08-29 1997-02-05 Arithmetischer Schaltkreis und arithmetisches Verfahren Expired - Fee Related DE69731700T2 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP22861896 1996-08-29
JP22861896 1996-08-29
JP27614896A JP3678512B2 (ja) 1996-08-29 1996-10-18 乗算回路、該乗算回路を構成する加算回路、該乗算回路の部分積ビット圧縮方法、および、該乗算回路を適用した大規模半導体集積回路
JP27614896 1996-10-18

Publications (2)

Publication Number Publication Date
DE69731700D1 DE69731700D1 (de) 2004-12-30
DE69731700T2 true DE69731700T2 (de) 2005-06-09

Family

ID=26528355

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69731700T Expired - Fee Related DE69731700T2 (de) 1996-08-29 1997-02-05 Arithmetischer Schaltkreis und arithmetisches Verfahren

Country Status (5)

Country Link
US (3) US5920498A (de)
EP (3) EP1475697A1 (de)
JP (1) JP3678512B2 (de)
KR (2) KR100384567B1 (de)
DE (1) DE69731700T2 (de)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001077308A (ja) * 1999-06-28 2001-03-23 Ando Electric Co Ltd 論理積回路
US6611857B1 (en) * 2000-01-05 2003-08-26 Texas Instruments Incorporated Method and system for reducing power in a parallel-architecture multiplier
KR100423903B1 (ko) * 2000-12-29 2004-03-24 삼성전자주식회사 고속 저전력 4-2 압축기
US7315879B2 (en) * 2001-02-16 2008-01-01 Texas Instruments Incorporated Multiply-accumulate modules and parallel multipliers and methods of designing multiply-accumulate modules and parallel multipliers
US6877022B1 (en) * 2001-02-16 2005-04-05 Texas Instruments Incorporated Booth encoding circuit for a multiplier of a multiply-accumulate module
US20030158880A1 (en) * 2002-02-13 2003-08-21 Ng Kenneth Y. Booth encoder and partial products circuit
US6978426B2 (en) * 2002-04-10 2005-12-20 Broadcom Corporation Low-error fixed-width modified booth multiplier
KR100505491B1 (ko) * 2002-10-02 2005-08-03 전자부품연구원 고속 연산기를 위한 4:2 비트 압축기
FI118654B (fi) * 2002-11-06 2008-01-31 Nokia Corp Menetelmä ja järjestelmä laskuoperaatioiden suorittamiseksi ja laite
FI115862B (fi) * 2002-11-06 2005-07-29 Nokia Corp Menetelmä ja järjestelmä kertolaskuoperaation suorittamiseksi ja laite
US7159003B1 (en) * 2003-02-21 2007-01-02 S3 Graphics Co., Ltd. Method and apparatus for generating sign-digit format of sum of two numbers
US7308470B2 (en) * 2003-12-05 2007-12-11 Intel Corporation Smaller and lower power static mux circuitry in generating multiplier partial product signals
US7562106B2 (en) * 2004-08-07 2009-07-14 Ternarylogic Llc Multi-value digital calculating circuits, including multipliers
JP4358272B2 (ja) * 2005-03-31 2009-11-04 富士通株式会社 Csa用5−3圧縮回路及びこれを使用したキャリアセーブ加算回路
KR100681046B1 (ko) * 2005-08-09 2007-02-08 현대자동차주식회사 차량용 커버스텝
WO2007095548A2 (en) * 2006-02-15 2007-08-23 Qualcomm Incorporated A booth multiplier with enhanced reduction tree circuitry
US7720902B2 (en) * 2006-02-28 2010-05-18 Sony Corporation Entertainment Inc. Methods and apparatus for providing a reduction array
US20090063609A1 (en) * 2007-06-08 2009-03-05 Honkai Tam Static 4:2 Compressor with Fast Sum and Carryout
JP4988627B2 (ja) * 2008-03-05 2012-08-01 ルネサスエレクトロニクス株式会社 フィルタ演算器及び動き補償装置
JP5261738B2 (ja) * 2009-01-15 2013-08-14 国立大学法人広島大学 半導体装置
CN102999312B (zh) * 2012-12-20 2015-09-30 西安电子科技大学 基16布斯乘法器的优化方法
KR102072541B1 (ko) 2018-07-31 2020-02-03 주식회사 아성기업 차량용 자동 수동전환 보조발판장치
CN109542393B (zh) * 2018-11-19 2022-11-04 电子科技大学 一种近似4-2压缩器及近似乘法器
CN110515588B (zh) * 2019-08-30 2024-02-02 上海寒武纪信息科技有限公司 乘法器、数据处理方法、芯片及电子设备
TWI707543B (zh) * 2020-02-06 2020-10-11 崛智科技有限公司 壓縮器、加法電路及其操作方法

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55105732A (en) * 1979-02-08 1980-08-13 Nippon Telegr & Teleph Corp <Ntt> Multiplier
JPS5731042A (en) * 1980-07-31 1982-02-19 Toshiba Corp Multiplaying and dividing circuits
JPS57121736A (en) * 1981-01-21 1982-07-29 Nippon Telegr & Teleph Corp <Ntt> Multiinput adder
JPS58211252A (ja) * 1982-06-03 1983-12-08 Toshiba Corp 全加算器
JPS593634A (ja) * 1982-06-30 1984-01-10 Fujitsu Ltd 乗算器
JPS59139447A (ja) * 1983-01-28 1984-08-10 Matsushita Electric Ind Co Ltd 全加算器
JPS59211138A (ja) * 1983-05-16 1984-11-29 Toshiba Corp 全加算回路
US4575812A (en) * 1984-05-31 1986-03-11 Motorola, Inc. X×Y Bit array multiplier/accumulator circuit
JPS61262928A (ja) * 1985-05-17 1986-11-20 Matsushita Electric Ind Co Ltd Cmos論理回路
FR2611286B1 (fr) * 1987-02-23 1989-04-21 Dassault Electronique Circuit integre multiplieur, et son procede de composition
US4901270A (en) * 1988-09-23 1990-02-13 Intel Corporation Four-to-two adder cell for parallel multiplication
JPH083787B2 (ja) * 1988-10-21 1996-01-17 株式会社東芝 単位加算器および並列乗算器
US5038315A (en) * 1989-05-15 1991-08-06 At&T Bell Laboratories Multiplier circuit
EP0447254A3 (en) * 1990-03-16 1993-07-28 C-Cube Microsystems Array multiplier
US5151875A (en) * 1990-03-16 1992-09-29 C-Cube Microsystems, Inc. MOS array multiplier cell
JPH081593B2 (ja) * 1990-03-20 1996-01-10 富士通株式会社 乗算器
US5040139A (en) * 1990-04-16 1991-08-13 Tran Dzung J Transmission gate multiplexer (TGM) logic circuits and multiplier architectures
JPH0492920A (ja) * 1990-08-03 1992-03-25 Fujitsu Ltd 5入力3出力の1ビット加算器
JP2518551B2 (ja) * 1990-10-31 1996-07-24 富士通株式会社 多入力加算回路
JPH04287220A (ja) * 1991-03-18 1992-10-12 Hitachi Ltd 乗算回路
US5268858A (en) * 1991-08-30 1993-12-07 Cyrix Corporation Method and apparatus for negating an operand
JPH0588852A (ja) * 1991-09-27 1993-04-09 Sanyo Electric Co Ltd 部分積生成回路及び乗算回路
JPH05108308A (ja) * 1991-10-14 1993-04-30 Fujitsu Ltd 乗算回路
JPH05150950A (ja) * 1991-11-29 1993-06-18 Sony Corp 乗算回路
JPH06242928A (ja) * 1993-02-22 1994-09-02 Nec Corp 加算器およびこれを用いた乗算回路
FR2722590B1 (fr) * 1994-07-15 1996-09-06 Sgs Thomson Microelectronics Circuit logique de multiplication parallele
US5818747A (en) * 1995-01-27 1998-10-06 Sun Microsystems, Inc. Small, fast CMOS 4-2 carry-save adder cell
US5734601A (en) * 1995-01-30 1998-03-31 Cirrus Logic, Inc. Booth multiplier with low power, high performance input circuitry
TW421757B (en) * 1996-06-06 2001-02-11 Matsushita Electric Ind Co Ltd Arithmetic processor
JP3652447B2 (ja) * 1996-07-24 2005-05-25 株式会社ルネサステクノロジ ツリー回路
JP3271932B2 (ja) 1997-06-27 2002-04-08 ブラザー工業株式会社 電極アレイ及び画像形成トナー供給装置並びに画像形成装置
US5805491A (en) * 1997-07-11 1998-09-08 International Business Machines Corporation Fast 4-2 carry save adder using multiplexer logic

Also Published As

Publication number Publication date
EP0827069A3 (de) 1998-12-30
EP0827069B1 (de) 2004-11-24
EP0827069A2 (de) 1998-03-04
DE69731700D1 (de) 2004-12-30
KR100384567B1 (ko) 2003-08-21
KR19980032041A (ko) 1998-07-25
EP1475698A1 (de) 2004-11-10
US20010016865A1 (en) 2001-08-23
US6535902B2 (en) 2003-03-18
JP3678512B2 (ja) 2005-08-03
EP1475697A1 (de) 2004-11-10
KR100449963B1 (ko) 2004-09-24
US6240438B1 (en) 2001-05-29
US5920498A (en) 1999-07-06
JPH10124297A (ja) 1998-05-15

Similar Documents

Publication Publication Date Title
DE69731700T2 (de) Arithmetischer Schaltkreis und arithmetisches Verfahren
DE69632978T2 (de) Multi-Operand-Addierer, der Parallelzähler benutzt
DE69838877T2 (de) Architektur eines schnellen regulären multiplizierers
DE69821408T2 (de) Multiplikationsverfahren und -vorrichtung
DE3686681T2 (de) Parallelmultiplizierer.
DE112005001906B4 (de) Mehrbit-Addierer und Verfahren zum Propagieren, Generieren oder Killen von Carry-In-Bits entlang einer Carry-Kette
DE69434806T2 (de) Verfahren, System und Vorrichtung zum automatischen Entwurf einer Multiplikatorschaltung und durch die Durchführung dieses Verfahrens entworfene Multiplikatorschaltung
DE4101004C2 (de) Paralleler Multiplizierer mit Sprungfeld und modifiziertem Wallac-Baum
DE102020105536A1 (de) Maschinenlerntrainingsarchitektur für programmierbare Vorrichtungen
EP0383965A1 (de) Multiplizierwerk
DE3524981A1 (de) Anordnung mit einem saettigbaren carry-save-addierer
EP1677185B1 (de) Vorrichtung und Verfahren zum Umsetzen und Addiererschaltung
DE69726248T2 (de) Addierer mit bedingter Summe unter Benutzung von Durchlasstransistor-Logik
EP0257362A1 (de) Addierer
DE3610875A1 (de) Subtrahierer in komplementaerer metalloxid-halbleitertechnologie
DE102005011666B3 (de) Carry-Ripple-Addierer
EP0130397B1 (de) Digitales Rechenwerk
EP0224656B1 (de) Mehrstelliger Carry-Ripple-Addierer in CMOS-Technik mit zwei Typen von Addiererzellen
DE3828290A1 (de) Addierer und addierschaltung zur verwendung des addierers
DE3933172A1 (de) Akkumulator fuer komplexe zahlen
DE68928370T2 (de) Logikschaltung mit Uebertragungsgesteuerten Addierer
EP0424410B1 (de) Multiplizierer
EP0752130B1 (de) Multiplizierer mit geringer laufzeit
DE69026363T2 (de) Multipositionsverschieber mit Paritätsbitgenerator
DE10130484B4 (de) 7-zu-3 Bit Carry-Save Addierer und Addierer damit

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee