DE3940897C2 - Schaltungsanordnung und Verfahren zur Berechnung digitaler Summen in einem Halbleiteraddierer mit Parallelübertrag - Google Patents
Schaltungsanordnung und Verfahren zur Berechnung digitaler Summen in einem Halbleiteraddierer mit ParallelübertragInfo
- Publication number
- DE3940897C2 DE3940897C2 DE3940897A DE3940897A DE3940897C2 DE 3940897 C2 DE3940897 C2 DE 3940897C2 DE 3940897 A DE3940897 A DE 3940897A DE 3940897 A DE3940897 A DE 3940897A DE 3940897 C2 DE3940897 C2 DE 3940897C2
- Authority
- DE
- Germany
- Prior art keywords
- carry
- signals
- signal
- carry signal
- incoming
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/50—Adding; Subtracting
- G06F7/505—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
- G06F7/506—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination with simultaneous carry generation for, or propagation over, two or more stages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/50—Adding; Subtracting
- G06F7/505—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
- G06F7/506—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination with simultaneous carry generation for, or propagation over, two or more stages
- G06F7/508—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination with simultaneous carry generation for, or propagation over, two or more stages using carry look-ahead circuits
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)
- Computing Systems (AREA)
- Mathematical Optimization (AREA)
- General Engineering & Computer Science (AREA)
- Logic Circuits (AREA)
Description
Die Erfindung bezieht sich auf eine Schaltungsanordnung
nach dem Oberbegriff des Anspruchs 1 sowie ein Verfahren zur
Berechnung digitaler Summen in einem Übertrags-Vorausermitt
lungsaddierer.
Eine Grundoperation für praktisch alle digitalen Mikro
prozessoren ist die Funktion der digitalen (d. h. binären)
Addition. Die Addition wird nicht nur zur Erzeugung interes
sierender numerischer Summen, sondern auch bei der Implemen
tierung zahlreicher logischer Funktionen verwendet. In einem
typischen Mikroprozessor werden viele Addierer für diese
Funktionen benutzt. Wenn zwei Digitalworte addiert werden,
muß das sich aus der Addition niedriger bewerteter Bits
ergebende Übertragsbit berücksichtigt werden. Dies läßt sich
einfach dadurch erreichen, daß ein Übertragssignal bei der
Durchführung der Addition übertragen wird. Ein Problem dabei
ist, daß besonders bei langen Wörtern (z. B. 32 Bits) eine
erhebliche Zeit zur Übertragung des Übertragssignals durch
die gesamte Additionskette erforderlich ist. Da die Addierer
häufig logische Funktionen in kritischen Zeitkanälen durch
führen, ist es möglich, daß der Mikroprozessor aufgrund der
zur Übertragung des Übertragssignals benötigten Zeit opera
tiv langsamer gemacht wird. Dieses Problem wird im Stande
der Technik mit Hilfe von Übertrags-Vorausermittlungsschal
tungen, Sprungübertragsschaltungen und mit Schaltungen mit
einer unterschiedlichen Aufteilung in Gruppen angegangen.
Diese Lösungsmöglichkeiten sind in der US-PS 4 737 926
beschrieben.
Aus DE 33 23 607 A1 ist eine Schaltungsanordnung in ei
nem Addierer mit Übertragsvorausermittlung bekannt. Der
Addierer ist in mehrere Blöcke zur Berechnung jeweils einer
Gruppe von Ausgangssummensignalen unterteilt, wobei jeder
der Blöcke ein einlaufendes Übertragssignal erhält und ein
auslaufendes Übertragssignal erzeugt. Um die Rechenzeit, die
normalerweise für den Durchlauf des Übertrags in einem Block
benötigt wird, einzusparen, ist bei der bekannten Schaltung
vorgesehen, zwei Sätze von spekulativen Übertragssignalen zu
erzeugen, wobei der eine Satz von Übertragssignalen gültig
ist, wenn der einlaufende Übertrag gleich Null ist, und der
andere Satz von Übertragssignalen gültig ist, wenn der
einlaufende Übertrag gleich Eins ist. Zur Berechnung der
beiden Sätzen von Übertragssignalen werden zwei identische
Sätze von Schaltungen verwendet, die als Eingangssignale
jeweils Übertrags-Weiterleitsignale und Übertrags-Erzeu
gungssignale von Bit-Halbaddierern empfangen und die an
ihren Ausgängen jeweils ein Übertragssignal für die zugehö
rige Bitstelle zur Verfügung stellen. Ferner wird bei der
bekannten Schaltungsanordnung eine Kette von Auswahlschal
tungen verwendet, die von dem einlaufenden Übertragssignal
des Blockes angesteuert werden und die für jede Bitstelle
eines der beiden spekulativen Übertragssignale auswählen.
Nachteilig bei der bekannten Schaltungsanordnung ist der
hohe Schaltungsaufwand, der sich aus dem Verdoppeln der
Schaltungen zur Berechnung der zwei Sätze spekulativer
Übertragssignale ergibt.
Aufgabe der Erfindung ist es daher, eine Schaltungsan
ordnung nach dem Oberbegriff des Anspruchs 1 zu schaffen,
bei der das gleiche oder ein besseres Zeitverhalten mit
einem geringeren Schaltungsaufwand erreicht wird.
Diese Aufgabe wird erfindungsgemäß durch eine Schal
tungsanordnung mit den Merkmalen des Anspruchs 1 bzw. ein
Verfahren mit den Merkmalen des Anspruchs 10 gelöst.
Bei dem erfindungsgemäßen Addierer mit Übertragsvor
ausermittlung (carry lookahead adder) werden in Abhängigkeit
von Weiterleitsignalen und Erzeugungssignalen der einzelnen
Bitstufen zwei Sätze von Übertragssignalen erzeugt. Einer
der Sätze der Übertragssignale ist gültig, wenn das einlau
fende Übertragssignale in einem ersten Zustand ist, und der
andere Satz von Übertragssignalen ist gültig, wenn das
einlaufende Übertragssignal in einem zweiten Zustand ist.
Jeder Bitstufe innerhalb eines Blocks ist jeweils ein Paar
von Übertragssignalen zugeordnet, wobei die beiden Über
tragssignale des Paares den beiden Sätzen angehören. Der
Erfindung liegt die Erkenntnis zugrunde, daß der Schaltungs
aufwand zur Erzeugung der beiden Übertragssignale eines
Paares dadurch erheblich verringert werden kann, daß das
Übertragssignal, welches sich bei vorhandenem einlaufenden
Übertrag (Übertrag = 1) ergibt, aus dem anderen Übertragssi
gnal, welches bei nicht vorhandenem einlaufenden Übertrag
(Übertrag = 0) gültig ist, ableiten läßt. Das beim einlau
fenden Übertrag gültige Übertragssignal ergibt sich aus der
logischen ODER-Verknüpfung des bei nicht einlaufendem Über
trag gültigen Übertragssignals mit dem Ergebnis der logi
schen UND-Verknüpfung der Weiterleitsignale aller vorherge
henden Bitstufen eines Addiererblocks.
Die erfindungsgemäße Schaltungsanordnung stellt eine
Verbesserung des derzeit im Intel-386-Mikroprozessor genutz
ten Addierers dar.
Ein erster Schaltungsteil der erfindungsgemäßen Schal
tungsanordnung empfängt die Weiterleit- oder Ausbreitungssi
gnale P0, P1...PN und die Erzeugungssignale G0, G1...GN. Ein
mit dem ersten Schaltungsteil gekoppelter zweiter Schal
tungsteil mit Logikgattern liefert zwei Sätze von Übertrags
signalen, die aus den Weiterleit- und Erzeugungssignalen
abgeleitet sind. Diese beiden Sätze von Übertragssignalen
werden unabhängig vom Zustand des einlaufenden Übertragssi
gnals (carry-in) entwickelt. D. h., ein Satz von Übertragssi
gnalen ist gültig, wenn das Carry-in-Signal in einem ersten
Zustand ist, und der andere Satz von Übertragssignalen ist
gültig, wenn das Carry-in-Signal in einem zweiten Zustand
ist. Ein dritter Schaltungsteil, der bei einem bevorzugten
Ausführungsbeispiel mehrere Multiplexer enthält, liefert
zwei Sätze von Summensignalen durch die Verwendung der
beiden Sätze von Übertragssignalen. Auch hier ist ein Satz
der Summensignale gültig, wenn das Carry-in-Signal in dem
ersten Zustand ist, und der andere Satz von Summensignalen
ist dann gültig, wenn sich das Carry-in-Signal in dem zwei
ten Zustand befindet. Ein mit dem dritten Schaltungsteil
gekoppelter vierter Schaltungsteil, der bei dem bevorzugten
Ausführungsbeispiel einen weiteren Satz von Multiplexern
enthält, wählt zwischen den beiden Gruppen von Summensigna
len als Funktion des einlaufenden Übertragssignals aus.
Vorteilhafte Weiterbildungen der Erfindung sind in den
Unteransprüchen gekennzeichnet.
Weitere Einzelheiten und Vorteile der Erfindung ergeben
sich aus der nachfolgenden detaillierten Beschreibung eines
Ausführungsbeispiels. In der Zeichnung zeigen:
Fig. 1 ein allgemeines Blockschaltbild zur Vermittlung
eines Überblicks über den bei der Erfindung ver
wendeten Addierer;
Fig. 2A einen ersten Teil eines elektrischen Schaltbil
des für einen 4-Bit-Scheiben-Block des bei der
Erfindung verwendeten Addierers;
Fig. 2B einen zweiten Teil des elektrischen Schaltbil
des, der in Verbindung mit dem Teilschaltbild
gemäß Fig. 2A das gesamte elektrische Schaltbild
für den 4-Bit-Scheiben-Block ergibt;
Fig. 3 ein elektrisches Schaltbild der Gruppenerzeu
gungsschaltung gemäß Fig. 2B;
Fig. 4 ein elektrisches Schaltbild der Block-Übertrags
schaltung gemäß Fig. 2A;
Fig. 5A und 5B ein Blockschaltbild des bevorzugten Aus
führungsbeispiels des neuen Addierers.
Im folgenden wird ein Metalloxidhalbleiter(MOS)-Digitaladdie
rer beschrieben. In der folgenden Beschreibung werden zahlrei
che Einzelheiten, beispielsweise spezielle Schaltungen (z. B.
spezielle Gatter) beschrieben, um das Verständnis für die
vorliegende Erfindung zu erleichtern. Es ist jedoch für den
Fachmann klar, daß die Erfindung ohne diese speziellen Details
realisiert werden kann. In anderen Fällen werden bekannte
Schaltungen nur als Blockschaltbild gezeigt, um die Erfindung
nicht mit unnötigen Einzelheiten zu belasten.
Der erfindungsgemäße Addierer wird vorzugsweise in der CMOS-
Technologie hergestellt. Die bei der Herstellung des Addie
rers verwendete besondere Technologie ist für die Erfindung
unkritisch, und es können verschiedene bekannte Prozesse zur
Realisierung der Erfindung verwendet werden.
In Fig. 1 ist zur Erläuterung des Grundkonzepts der Erfindung
ein vereinfachtes Blockschaltbild dargestellt, anhand dessen
die Operation des beschriebenen Addierers erläutert werden
soll. Bei dem beschriebenen Ausführungsbeispiel handelt es
sich um einen 32-Bit-Addierer. Dabei werden mehrere identische
4-Bit-Scheiben-Blöcke verwendet. Dies vereinfacht das Layout
des Addierers. Einer dieser Blöcke ist im einzelnen in den
Fig. 2A, 2B, 3 und 4 gezeigt. Diese Blöcke sind in Fig. 1
als Blöcke 10, 11, 12, 13, 14, 15, 16 und 17 gezeigt. Jeder
Block erhält vier Pn- und Gn-Signale und ein carry-in-Signal
und liefert Summen-, carry-out-, Blockausbreitungs- und Block
erzeugungssignale. Die Blöcke sind in der in Fig. 1 darge
stellten Weise in Reihe geschaltet, wobei der Übertragsausga
beanschluß eines Blocks mit dem Übertragseingabeanschluß des
nächsten Blocks verbunden ist. Die Blöcke sind in Gruppen
weiter unterteilt. Block 10 ist selbst eine Gruppe (Gruppe 0).
Blöcke 11 und 12, gezeigt durch die Klammer 24, bilden die
Gruppe 1. Die Blöcke 13 und 14, überspannt durch die Klammer
25, bilden die Gruppe 2; Blöcke 15 und 16, überspannt durch
die Klammer 26, bilden Gruppe 3, und schließlich enthält die
letzte Gruppe, Gruppe 4, den Block 17.
Der in Fig. 1 gezeigte Addierer weist eine Hauptparallelüber
tragsleitung auf, die vom Übertragsausgang des Blocks 10 zum
Übertragseingang des Blocks 17 verläuft. Diese Leitung ist in
drei Abschnitte, die Abschnitte 27, 29 und 31, unterteilt.
Jeder Abschnitt der Hauptparallelübertragsleitung weist einen
Feldeffekttransistor auf, der in den Abschnitt mit parallelem
Gate eingeordnet ist. Insbesondere weist Abschnitt 27 den
Transistor 28, Abschnitt 29 den Transistor 30 und Abschnitt 31
den Transistor 32 auf. (Diese Transistoren werden als Teile
jedes Abschnitts derart gebildet, daß Signale zwischen den
Source- und Drain-Zonen der n-Kanal-Feldeffekttransistoren des
Anreicherungstyps unter Steuerung des Potentials auf der Gate-
Elektrode fließen.) Jeder Abschnitt der Hauptübertragsleitung
verbindet den carry-out-Anschluß der n-ten Gruppe mit dem
carry-in-Anschluß der (n + 2)-Gruppe. So verbindet beispielswei
se der Abschnitt 27 den carry-out-Anschluß vom Block 10 der
Gruppe 0 mit dem carry-in-Anschluß von Block 13 der Gruppe 2.
Die durch die Klammern 24, 25 und 26 dargestellten Gruppen
erzeugen jeweils ein Gruppenausbreitungssignal. Dieses Signal
dient zur Steuerung der Transistoren 28, 30 bzw. 32. So lie
fern beispielsweise die Blöcke 11 und 12 ein Blockausbrei
tungssignal, das zur Erzeugung des Gruppenausbreitungssignals
dient. Dieses Gruppenausbreitungssignal steuert die Gate-Elek
trode des Transistors 28. Auch weist jede Gruppe eine Logik
zum Entkoppeln des carry-out-Anschlusses von einer internen
(Block-)Übertragsleitung auf. Diese dient zur Verringerung der
kapazitiven Belastung auf der Parallelübertragsleitung und
ermöglicht den Signalen eine raschere Ausbreitung entlang
dieser Leitung. So bestimmt beispielsweise die Logik 37, die
im Block 14 integriert ist, wann die Bedingungen zur Ausbrei
tung eines Übertrags für die Gruppe erfüllt sind, und in die
sem Falle wird der Transistor 36 ausgeschaltet. Dadurch wird
der Knotenpunkt 35 von der internen Übertragsleitung des
Blocks 14 getrennt, wodurch die Kapazität verringert wird.
Gleichzeitig wird dem Gruppenerzeugungssignal des Blocks 14
eine leichtere Kopplung auf den carry-out-Anschluß ermög
licht.
In Fig. 1 sind zwei Beispiele gezeigt, die die Operationsweise
des Addierers gemäß Fig. 1 und des genaueren Schaltbilds des
Addierers gemäß den Fig. 5A und 5B erläutern. In der in
Fig. 1 dargestellten Tabelle sind Ausbreitungs- und Erzeu
gungssignalpegel (P und G) für die Blöcke 10-17 für zwei Bei
spiele gezeigt. Beim Beispiel 1 hat Block 10 ein Ausbreitungs
signal gleich 0 und ein Erzeugungssignal gleich 1; Block 11
hat ein Ausbreitungssignal gleich 1 und Erzeugungssignal
gleich 0. Bei diesem Beispiel wird ein carry-in-Signal auf der
Leitung 20 nicht durch Block 10 übertragen; jedoch erzeugt
Block 10 ein Übertragssignal. Dieses Übertragssignal wird auf
den Abschnitt 27 der Hauptparallelübertragsleitung gekoppelt.
Beide Blöcke 11 und 12 erzeugen Ausbreitungssignale, und daher
ist Transistor 28 leitend, und das Übertragssignal wird durch
den Transistor 28 zu Block 13 übertragen. Blöcke 13 und 14
erzeugen beide Ausbreitungssignale; der Transistor 30 ist
leitend, und das Übertragssignal wird zum Block 15 übertragen.
Block 15 erzeugt ein Ausbreitungssignal; Block 16 nicht. Daher
ist Transistor 32 nicht leitend. Das Übertragssignal wird
durch die interne Übertragsleitung des Blocks 15 übertragen,
da der Transistor 33 leitend ist. Dieser Transistor wird von
dem Ausbreitungssignal des Blocks 15 gesteuert. Die Übertra
gung des Übertrags endet am Block 16. Als wichtig sollte be
achtet werden, daß das carry-in-Signal durch die Transistoren
28, 30 und 33 übertragen wurde. Wie aus den genaueren Schalt
bildern zu erkennen ist, sind die zuletzt genannten Transisto
ren die einzigen Transistoren in der Übertragskette, durch
welche das Übertragssignal durchläuft, und daher wird die
Ausbreitungszeit von drei Durchlaßgateverzögerungen für den
32-Bit-Addierer bestimmt. Dies ist eine wesentliche Verbesse
rung gegenüber bekannten Addiererausführungen. (Bei der Erfin
dung ergeben sich fünf Durchlaßgateverzögerungen in einem
64-Bit-Addierer, sechs Durchlaßgateverzögerungen in einem
80-Bit-Addierer usw..)
Bei dem zweiten Beispiel in Fig. 1 überträgt Block 10 den
Übertrag auf der Leitung 20 nicht, sondern erzeugt stattdessen
einen Übertrag. Dieser Übertrag wird zum Block 11 übertragen;
Transistor 28 ist jedoch nicht leitend. Unter diesen Bedingun
gen für die Blöcke 13, 14, 15 und 16 sind die Transistoren 30
und 32 leitend. Ein Übertragsausgangssignal aus dem Block 12
breitet sich daher durch die Transistoren 30 und 32 zum Block
17 aus. (Wie weiter unten noch zu sehen sein wird, wählt die
ser Übertragseingang vom Block 17 eine von zwei Gruppen von
Summensignalen zur Erzeugung von Ausgangssummensignalen aus.)
Bei diesem Beispiel ist zu beachten, daß erneut ein Übertrags
signal nur drei Durchlaßgateverzögerungen wie die Transistoren
34, 30 und 32 hat. Dies ist tatsächlich die maximale Anzahl
von Gateverzögerungen, die in der Übertragskette (bei einem
32-Bit-Addierer) auftreten können, bevor die Summenausgänge
auftreten.
Jeder Block, beispielsweise die Blöcke 10 bis 17, erhält vier
Ausbreitungseingangssignale und vier Erzeugungseingangssigna
le. Bei dem in den Fig. 2A und 2B gezeigten Block sind
diese als P0, G0, P1, G1, P2, G2, P3 und G3 gezeigt. Die Nume
rierung in Fig. 2A ist besonders für Block 10 angepaßt; für
den 32-Bit-Addierer gemäß den Fig. 5A und 5B sind die Num
mern als P0 bis P31 und G0 bis G31 angegeben. (Die P0-P31- und
G0-G31-Signale weichen von den Block- und Gruppenausbreitungs-
und -erzeugungssignalbezeichnungen in den Fig. 5A und 5B
für Takte und Gruppen ab. Dort bezeichnen beispielsweise PG1A
und PG1B die Ausbreitungssignale für die beiden Blöcke 11 bzw.
12 der Gruppe 1; PG1 bezeichnet das Ausbreitungssignal für
Gruppe 1. "GG" bezeichnet das Gruppenerzeugungssignal in Fig.
2B. Die Pn und Gn Ausbreitungs- und Erzeugungssignale werden
in üblicher Weise aus den Eingangssignalen des Addierers ge
bildet; d. h. aus den Digitalsignalen, die vom Addierer zu,
addieren sind. Die Gleichungen zur Entwicklung der Ausbrei
tungs- und Erzeugungssignale sind in der US-PS 4 737 926,
Spalte 2 als Gleichungen 1 und 2 angegeben. Die Block- und
Gruppenausbreitungs- und -erzeugungssignale werden in einer
durch Gleichungen 4 und 5 dieser Patentschrift definierten
Weise erzeugt. Die Summensignale sind gewöhnliche Summensigna
le, wie sie durch Gleichung 3 dieses Patents beschrieben
sind.
Soweit im Stande der Technik Parallelübertragsanordnungen
verwendet wurden, kamen auch Gruppen von Volladdierern zum
Einsatz. Die Volladdierer sind kaskadegeschaltet, wobei alle
Volladdierer im wesentlichen identisch ausgebildet sind. Sol
che Volladdierer können bei einer in Fig. 1 gezeigten Gruppie
rung verwendet werden, wobei jeder Block vier Volladdierer
zusätzlich zu der Schaltung zur Erzeugung der Block- und Grup
penausbreitungs- und -erzeugungssignale aufweist.
Bei dem beschriebenen Ausführungsbeispiel werden in den vier
Blockscheiben keine Volladdierer verwendet. Wie nachfolgend
erläutert wird, werden stattdessen Zwischenübertragssignale
von der Blockübertragsschaltung 61 in Fig. 2A erzeugt, und die
Ausgänge dieser Schaltung werden zusammen mit einer anderen
Logik zur Erzeugung der Summensignale benutzt. Das Gruppener
zeugungssignal wird von der Gruppenerzeugungsschaltung 60
erzeugt. Das Blockausbreitungssignal wird vom Gatter 44 in
Fig. 2B erzeugt, wobei ein Gruppenausbreitungssignal mit einer
Block-externen Logik entwickelt wird.
Die Funktionsweise der 4-Bit-Scheibe der Fig. 2A und 2B
läßt sich am leichtesten durch Prüfung eines einzelnen Aus
gangssignals, beispielsweise 53, begreifen. Dieses Ausgangssi
gnal wird vom Multiplexer 58 geliefert. Der Multiplexer 58
wählt aus zwei Eingangssignalen aus, wobei ein Eingangssignal
der S3C-Ausgang für den Fall ist, daß der Block einen Übertrag
erhält, und das andere Eingangssignal (S3NC) den Fall be
trifft, bei dem der Block keinen Übertrag erhält. Diese Ein
gangssignale werden von den Multiplexern 52 bzw. 53 geliefert.
Die Multiplexer 52 und 53 werden von dem P3-Signal gesteuert.
Multiplexer 53 erhält als Eingang das Zwischenübertragssignal
und dessen Komplementärwert (C3 und C3NC). Die Multiplexer 52
und 53 liefern zusammen mit ihrem Steuersignal P3 tatsächlich
die Summe auf der Basis von A3, B3, C3, wobei P3 gleich der
Summe von A3 und B3 ist (unter der Annahme, daß A0-A31 und
B0-B31 die vom Addierer zu summierenden Signale sind). Die
Schaltung 61 löst die Gleichung C3 = G2 + P2 G1 + B2 P1 G0 + P2 P1 P0
C0. In ähnlicher Weise werden C2 und C1 bestimmt. Da C0 (der
Eingabeübertrag zum Block) nicht notwendigerweise sofort be
kannt ist, wird C3 sowohl für den Übertrags- als auch für den
Nicht-Übertragsfall berechnet. Es ist der Multiplexer 58,
welcher zwischen diesen beiden Fällen auswählt.
Die P0-3 und G0-3-Ausbreitungs- und -Erzeugungssignale werden,
ausgenommen für P0, mit der Block/Gruppen-Erzeugungsschaltung
60 gekoppelt. Diese Schaltung wird in Verbindung mit Fig. 3
genauer beschrieben. Die P0, P1, P2, G0, G1 und G2-Signale
werden an die Übertragsschaltung 61 angekoppelt. Diese Schal
tung wird in Verbindung mit Fig. 4 genauer beschrieben werden.
Die Ausgangssignale dieser Schaltung 61 (Zwischenüberträge)
dienen, wie gesagt, zur Erzeugung von Summensignalen.
Eine niedrigere Zeile von Multiplexern mit den Multiplexern
48, 49, 50, 51, 52 und 53 erhält als Eingangssignale die ech
ten und komplementären Zwischenübertragssignale. Die Multiple
xer werden, wie dargestellt, gesteuert; insbesondere werden
die Multiplexer 48 und 49 vom P1-Signal, die Multiplexer 50
und 51 vom P2-Signal und die Multiplexer 52 und 53 vom P3-Si
gnal gesteuert. Diese Multiplexer wirken als Exklusiv-ODER/
NOR-Gatter, und daher können solche Gatter anstelle der Multi
plexer verwendet werden. So können beispielsweise die Multi
plexer 52 und 53 durch ein Exklusiv-ODER/NOR-Gatter ersetzt
werden, das das P3-Signal und C3C-Signal erhält. Das Ausgangs
signal des Gatters (und sein Komplementärwert) werden an den
Multiplexer 58 angelegt.
Eine obere Zeile von Multiplexern, die Multiplexer 55, 56, 57
und 58, wählen zwischen zwei Gruppen von Summensignalen aus.
Eine Gruppe dieser Signale sind die richtigen Summensignale,
wenn es keine Übertragseingabe zum Block gibt, und die andere
Gruppe stellt die richtigen Summensignale dar, wenn es eine
Übertragseingabe gibt. Die Multiplexer 55, 56, 57 und 58 wer
den vom carry-in-Signal an den Block und dessen Komplementär
wert (d. h. CS und CS#) gesteuert. Tatsächlich steuert das
Signal am carry-in-Anschluß jedes Blocks diese Multiplexer für
den zugehörigen Block. Dies erhöht die Operationsgeschwindig
keit, da es nicht notwendig ist, das Übertragssignal im Block
zu übertragen (ripple) oder eine Übertragseingabe für jedes
Bit im Block unter Verwendung eines Parallelübertrags zu er
zeugen. Wenn beispielsweise kein carry-in-Signal vorhanden
ist, so ist CS niedrig, und Multiplexer 56 wählt SINC. Das
P0-Signal und dessen Komplementärwert werden zum Multiplexer
55 übertragen, da es kein Zwischenübertragssignal für das
"0"-Bit jedes Blocks gibt.
Zahlreiche Knotenpunkte in der Schaltung werden voraufgeladen
und entladen. Diese Voraufladung und Entladung wird von dem
Potential auf der Leitung 39 und dessen Komplementärwert auf
der Leitung 40 gesteuert. Die Voraufladung/Entladung findet
bekanntlich zu Beginn jedes "Addiervorgangs" statt.
Das Übertragseingabesignal wird an die Leitung 41 und außerdem
an die obere Zeile von Multiplexern angelegt. Der carry-in-An
schluß (Leitung 41) ist mit einem Transistor 42 gekoppelt. Der
carry-out-Anschluß (Leitung 43) ist ebenfalls mit dem Transi
stor 42 gekoppelt. Daher sind der carry-in-Anschluß und der
carry-out-Anschluß über die Source- und Drain-Zonen eines
n-Kanal-Transistors 42 verbunden. (Transistor 42 entspricht
beispielsweise dem Transistor 36 in Fig. 1.) Es gibt daher nur
eine einzige Durchlaßgateverzögerung für ein Übertragssignal
zwischen dem carry-in- und dem carry-out-Anschluß jedes Blocks
(entlang der internen Blockübertragsleitung).
Die Logikschaltung 31 der Fig. 1 enthält das NAND-Gatter 44
und das NOR-Gatter 45 in Fig. 2B. Das NAND-Gatter 44 erhält
die P0, P1, P2 und P3-Signale und liefert an seinem Ausgang
ein Ausbreitungssignal für den Block, gezeigt als PB#. Der
Ausgang des Gatters 44 ist mit einem Eingangsanschluß des
NOR-Gatters 45 gekoppelt. Der andere Anschluß von Gatter 45
erhält das Ausbreitungssignal aus dem ersten Block in jeder
Gruppe. (Dieser Anschluß ist beim ersten Block in jeder Gruppe
mit Erde gekoppelt. Dies ist besser in Verbindung mit Fig. 5A
und Fig. 5B zu erkennen. Man beachte beispielsweise den geer
deten Anschluß PEXT des Blocks 11 in Fig. 5B.) Wenn beide
Blöcke in der Gruppe wahre Ausbreitungssignale haben, so ist
Transistor 42 gesperrt. Dies ergibt die Entkopplung des An
schlusses 43 vom Anschluß 41. Zu beachten ist unter diesen
Bedingungen, daß der Abschnitt der Hauptparallelübertragslei
tung den Übertrag ausbreitet. Der Transistor 42 ist anderer
seits leitend, wenn das Ausbreitungssignal für den zweiten
Block in der Gruppe (und nicht der erste) ein wahres Ausbrei
tungssignal ist.
Der Ausgang der Gruppenerzeugungsschaltung 60 "GG aus#" ist
mit einem Eingangsanschluß des UND-Gatters 64 gekoppelt; die
ser Anschluß ist außerdem mit dem positiven Potential über den
p-Kanal-Transistor 63 gekoppelt. Der andere Eingangsanschluß
zum UND-Gatter 64 ist mit dem Anschluß 43 gekoppelt. Der Aus
gang des UND-Gatters 64 ist mit einem Eingangsanschluß des
NOR-Gatters 65 gekoppelt. Der andere Eingangsanschluß zu die
sem NOR-Gatter erhält ein Voraufladungssignal über die Leitung
39. Der Ausgang des Gatters 65 ist mit der Gate-Elektrode des
Transistors 63 und den Gates der Transistoren 71 und 72 gekop
pelt. Der Transistor 70 dient zur Voraufladung des Ausgangsan
schlusses 43.
Es sei zunächst angenommen, daß GG# niedrig ist, d. h. daß ein
Erzeugungssignal ansteht. Der Ausgang von Gatter 64 ist dann
auf niedrigem und der Ausgang des Gatters 65 auf hohem Poten
tial. Das hohe Potential an den Gattern der p-Kanal-Transisto
ren 63 und 71 verhindert, daß diese Transistoren leitend wer
den. Dieses Potential macht jedoch den Transistor 72 leitend,
der den Knotenpunkt 43 entlädt und dadurch die Bedingungen für
eine Übertragsausgabe erfüllt.
Wenn der Ausgang der Schaltung 60 hoch ist, so ist der Ausgang
des Gatters 65 auf einem niedrigen Potential, wodurch die
Transistoren 63 und 71 leitend werden. Dadurch wird ein hohes
Eingangspotential am Gate 64 gehalten und der Ausgangsanschluß
auf einem positiven Potential über den Transistor 71 festge
legt.
Es sei jedoch angenommen, daß unter diesen Bedingungen der
Anschluß 43 durch einen Übertrag auf der Hauptparallelüber
tragsleitung oder über den leitenden Transistor 42 (Leitung
41) und niedrigem CIN#, nach unten gezogen wird. Sobald dies
stattfindet, sinkt das Potential auf der Leitung 66 und be
wirkt, daß der Ausgang des Gatters 64 auf den niedrigen Zu
stand umschaltet. Dies wiederum bewirkt, daß das Ausgangssi
gnal von Gate 65 ansteigt, Transistor 72 durchschaltet und
dadurch den Anschluß 43 rasch entlädt. Dies ergibt eine aktive
Umspeicherung oder Parallelpufferung, wodurch die Übertrags
ausbreitung beschleunigt wird.
Die Gruppenerzeugungsschaltung 60 der Fig. 2B liefert, wie
oben erwähnt, das Gruppenerzeugungssignal zusätzlich zum
Blockerzeugungssignal für jeden der Blöcke. Die Schaltung ist
genauer in Fig. 3 gezeigt und enthält die n-Kanal-Transistoren
80, 81, 82 und 83, die zwischen der Drain-Zone des Transistors
75 und Erde in Reihe liegen. Die Gate-Elektroden dieser Tran
sistoren erhalten G0, P1, P2 bzw. P3-Signale. Transistor 75
lädt die Leitung 64 auf. Transistoren 85 und 86 liegen in
Reihe zwischen der Source-Zone des Transistors 79 und Erde.
Diese Transistoren erhalten P2- und P3-Signale an ihren Gate-
Elektroden. Der Transistor 79 lädt den Knotenpunkt 87 auf.
Transistor 78 liegt zwischen Leitung 84 und dem Knotenpunkt
87. Sein Gate erhält das G1-Signal. Transistoren 77 und 88
liegen zwischen der Leitung 84 und Erde. Die Gate-Elektroden
dieser n-Kanal-Transistoren erhalten die G2- und P3-Signale.
Schließlich liegt Transistor 76 zwischen Leitung 84 und Erde.
Das Gate dieses Transistors erhält das G3-Signal.
Die durch diese Schaltung implementierte Logik ist ziemlich
leicht verständlich. Wenn das G3-Signal hoch ist, so ist die
Leitung 84 auf niedrigem Potential, was bedeutet, daß die
Bedingungen für das Blockerzeugungssignal gegeben sind. Wenn
G2 hoch ist und P3 hoch ist, so sind in ähnlicher Weise die
Bedingungen für das Blockerzeugungssignal erfüllt. Oder wenn
das G1-Signal hoch und die P2- und P3-Signale hoch sind, dann
wiederum sind die Bedingungen für ein Erzeugungssignal er
füllt. Wenn schließlich G0 hoch und die nachfolgenden Ausbrei
tungssignale hoch sind (P1, P2 und P3) wird die "Erzeugung
(generate)" aus dem am niedrigsten bewerteten Bit durch die
4-Bit-Scheibe übertragen, wodurch die Bedingungen für das
Erzeugungssignal erfüllt sind.
Der Übertragsblock 61 der Fig. 2A ist im einzelnen in Fig. 4
gezeigt. Diese Schaltung erhält die P0, P1, P2, G0, G1 und
G2-Signale und erzeugt aus diesen Signalen die Zwischenüber
tragssignale C2 und C3 sowohl für den Fall des carry-in als
auch ohne carry-in.
Die durch Fig. 4 implementierte Logik ist ziemlich klar. Zu
erst werden die Knotenpunkte 116, 117, 118 und 119 betrachtet.
Diese Knoten werden durch die p-Kanal-Transistoren 104, 102,
114 und 113 voraufgeladen. Der Knotenpunkt 117 ist mit Erde
verbunden, wenn die P0 und P1-Signale über Transistoren 91 und
93 hoch sind. In ähnlicher Weise ist der Knotenpunkt 116 mit
Erde verbunden, wenn die G0 und P1-Signale über die Transisto
ren 96 und 97 hoch sind. Der Knotenpunkt 116, der entladen
wird, wenn das G1-Signal hoch ist, ist durch Transistor 107
mit den Knotenpunkt 119 gekoppelt, und in ähnlicher Weise ist
der Knotenpunkt 117 mit dem Knotenpunkt 118 über den Transi
stor 108 gekoppelt. Diese Transistoren sind leitend, wenn das
P2-Signal hoch ist. Das C3 NC-Signal ist der Komplementärwert
des an dem Knoten 119 bleibenden Potentials, da der Inverter
117 dieses Ausgangssignal erzeugt. Der Transistor 116 dient
zum sicherstellen, daß Knoten 119 geladen bleibt, wenn er
nicht entladen worden ist. Das C3C-Signal wird vom NAND-Gatter
110 erzeugt. Dieses Gatter erhält Eingangssignale von den
Knoten 118 und 119. Die C2NC- und C2C-Signale werden in ähnli
cher Weise von dem Inverter 105 und dem NAND-Gatter 100 er
zeugt, wobei der Transistor 106 zur Erhaltung des Potentials
am Knotenpunkt 116 dient. Transistoren 101 und 109 dienen zur
Erhaltung des Potentials an den Knoten 118 und 117.
Zu beachten ist, daß die Zwischenübertragssignale im wesentli
chen gleichzeitig von der Schaltung erzeugt werden, d. h. sie
hängen nicht vom Durchlauf eines Übertrags ab. Dies ermöglicht
es, daß die Summen schneller erzeugt werden können, sobald das
carry-in-Signal für den Block auftritt. Ungleich anderen
Schaltungen werden zwei Pegel von carry-in-abhängigen Gruppen
von Signalen berechnet.
Das bevorzugte Ausführungsbeispiel des Addierers ist in den
Fig. 5A und 5B gezeigt. Blöcke 10, 11, 12, 13, 14, 15, 16
und 17 sind in einer allgemeinen Serienanordnung gezeigt,
wobei ein carry-out-Anschluß eines Blocks mit dem carry-in-An
schluß des nächsten Blocks verbunden ist. Block 10 (Gruppe 0)
liefert ein carry-out-Signal auf die Leitung 27, die mit dem
Block 11 verbunden ist. Block 10 liefert die Summensignale 0-3
und erhält als Eingangssignale P0-P3 und G0-G3. Das carry-in-
Signal auf der Leitung 20 liefert das CSO-Signal und sein
Komplement wird zur Steuerung der oberen Reihe von Multiple
xern der Fig. 2A verwendet. Das carry-out-Signal wird an den
carry-in-Anschluß von Block 11 über zwei Inverter angelegt,
von denen einer die Transistoren 120 und 121 enthält.
Die Blöcke 11 und 12 enthalten die nächste Gruppe im Addierer.
Der Abschnitt 27 der Übertragsleitung ist gemäß Darstellung
mit einer Zone des Transistors 28 verbunden, dessen andere
Zone mit dem Abschnitt 29 dieser Leitung gekoppelt ist. Der
Übertragseingang zum Block 13 ist über zwei Inverter, von
denen einer die Transistoren 121 und 122 enthält, gekoppelt.
Erneut liefert der carry-out aus dem Block 12 das CS3-Signal
und dessen Komplement zur Steuerung der Multiplexer, welche
die Summensignalen bilden.
Die Gruppenlogik zur Steuerung des Transistors 28 enthält das
NOR-Gatter 124. Dieses Gatter erhält als Eingangssignal die
Blockausbreitungssignale PG1A# und PG1B#. Der Ausgang dieses
Gatters liefert das Gruppenausbreitungssignal PG1, welches
bestimmt, ob der Transistor 28 leitend ist oder nicht und ob
das Übertragssignal entlang dieses Abschnitts der Hauptparal
lelübertragsleitung übertragen werden soll.
Die nächste Gruppe mit den Blöcken 13 und 14 ist in ähnlicher
Weise geschaltet und weist wiederum eine Gruppenlogik auf, die
das PG2-Signal an den Steuertransistor 30 anlegt. Die folgende
Gruppe weist die Blöcke 15 und 16 auf und enthält die Gruppen
logik zur Erzeugung des PG3-Signals, welches den Transistor 32
steuert. Der Übertragsausgang von dieser Gruppe ist durch
einen Einzelinverter zum abschließenden Gruppen/Block 17 ver
bunden.
Die Funktion des Addierers der Fig. 5A und 5B wurde anhand
Fig. 1 beschrieben. Wie gesagt, beträgt die maximale Anzahl
von Durchlaßgateverzögerungen 3 (drei) in der Übertragskette
für den 32-Bit-Addierer. Dieser beschriebene Addierer arbeitet
aufgrund seiner minimalen Anzahl von Gateverzögerungen um 50
bis 100% schneller als der Vorgängeraddierer im Intel 386-Mi
kroprozessor.
Claims (10)
1. Schaltungsanordnung in einem eine Übertrags-Vorauser
mittlung verwendenden Addierer zur Erzeugung zumindest
einiger von N Ausgangssummensignalen (S, S1, ..., S(N - 1)),
wobei der Addierer in mehrere seriell gekoppelte Blöcke (10-17)
organisiert ist, wobei jeder der Blöcke ein einlaufendes
Übertragssignal empfängt (Cein, CS) und ein auslaufendes
Übertragssignal (Caus) sowie die N Ausgangssummensignale zur
Verfügung stellt,
wobei mehrere logische Gatter zur Erzeugung zweier Sätze von Übertragssignalen (C1C, C2C, C3C; C1NC, C2NC, C3NC) für die Überträge C(N - 1), C(N - 2) und C(N - 3) aus den Weiterleit signalen P0, P1...PN und den Erzeugungssignalen G0, G1...GN vorgesehen sind, wobei einer (C1C, C2C, C3C) der Sätze der Übertragssignale gültig ist, wenn das einlaufende Übertrags signal in einem ersten Zustand ist, und der andere Satz (C1NC, C2NC, C3NC) von Übertragssignalen gültig ist, wenn das einlaufende Übertragssignal in einem zweiten Zustand ist, wobei jeweils ein Paar von Übertragssignalen für die Überträge C(N - 1), C(N - 2) und C(N - 3) erzeugt wird, wobei eines der Übertragssignale (C1C; C2C; C3C) in jedem der Paare gültig ist, wenn das einlaufende Übertragssignal in einem ersten Zustand ist, und das andere Übertragssignal (C1NC; C2NC; C3NC) in jedem der Paare gültig ist, wenn das einlaufende Übertragssignal in einem zweiten Zustand ist,
wobei die logischen Gatter mit Einrichtungen (48-53, 55-58) zum Erzeugen zumindest der Summensignale S(N - 1), S(N - 2) und S(N - 3) auf der Grundlage des Zustandes des einlaufenden Übertragssignals (CS) und der Sätze von Übertragssignalen gekoppelt sind,
dadurch gekennzeichnet, daß zumindest eines (C1C; C2C; C3C) der Übertragssignale für eines der Paare aus dem anderen Übertragssignal (C1NC; C2NC; C3NC) in dem Paar abgeleitet ist.
wobei mehrere logische Gatter zur Erzeugung zweier Sätze von Übertragssignalen (C1C, C2C, C3C; C1NC, C2NC, C3NC) für die Überträge C(N - 1), C(N - 2) und C(N - 3) aus den Weiterleit signalen P0, P1...PN und den Erzeugungssignalen G0, G1...GN vorgesehen sind, wobei einer (C1C, C2C, C3C) der Sätze der Übertragssignale gültig ist, wenn das einlaufende Übertrags signal in einem ersten Zustand ist, und der andere Satz (C1NC, C2NC, C3NC) von Übertragssignalen gültig ist, wenn das einlaufende Übertragssignal in einem zweiten Zustand ist, wobei jeweils ein Paar von Übertragssignalen für die Überträge C(N - 1), C(N - 2) und C(N - 3) erzeugt wird, wobei eines der Übertragssignale (C1C; C2C; C3C) in jedem der Paare gültig ist, wenn das einlaufende Übertragssignal in einem ersten Zustand ist, und das andere Übertragssignal (C1NC; C2NC; C3NC) in jedem der Paare gültig ist, wenn das einlaufende Übertragssignal in einem zweiten Zustand ist,
wobei die logischen Gatter mit Einrichtungen (48-53, 55-58) zum Erzeugen zumindest der Summensignale S(N - 1), S(N - 2) und S(N - 3) auf der Grundlage des Zustandes des einlaufenden Übertragssignals (CS) und der Sätze von Übertragssignalen gekoppelt sind,
dadurch gekennzeichnet, daß zumindest eines (C1C; C2C; C3C) der Übertragssignale für eines der Paare aus dem anderen Übertragssignal (C1NC; C2NC; C3NC) in dem Paar abgeleitet ist.
2. Schaltungsanordnung nach Anspruch 1, dadurch gekenn
zeichnet, daß die Eingänge der logischen Gatter zum Erzeugen
der Übertragssignale für die Überträge C(N - 1) und C(N - 2) mit
vier Knoten gekoppelt sind,
wobei der erste (116) und der zweite Knoten (119) über einen ersten Durchlaßtransistor (107) und der dritte (117) und der vierte (118) Knoten über einen zweiten Durchlaßtran sistor (108) verbunden sind, wobei der erste (107) und der zweite (108) Durchlaßtransistor von dem P2-Signal gesteuert sind; wobei der erste Knoten (116) durch das anliegende G1- Signal oder durch die gleichzeitig anliegenden P1- und G0- Signale entladen wird; wobei der zweite Knoten (119) durch das G2-Signal entladen wird; wobei der dritte Knoten (117) durch die gleichzeitig anliegenden P0- und P1-Signale entla den wird;
wobei ein mit dem ersten Knoten (116) gekoppeltes Gatter (105) ein erstes Übertragssignal (C2NC) des Paares des Übertrags C(N-2) zur Verfügung stellt;
wobei ein mit dem ersten (116) und dem dritten (117) Knoten gekoppeltes Gatter (100) das andere Übertragssignal (C2C) des Paares des Übertrags C(N - 2) zur Verfügung stellt;
wobei ein mit dem zweiten Knoten (119) gekoppeltes Gat ter (115) ein erstes Übertragssignal (C3NC) des Paares des Übertrags C(N-1)zur Verfügung stellt; und
wobei ein mit dem zweiten (119) und dem vierten (118) Knoten gekoppeltes Gatter (110) das andere Übertragssignal (C3C) des Paares des Übertrags C(N - 1) zur Verfügung stellt.
wobei der erste (116) und der zweite Knoten (119) über einen ersten Durchlaßtransistor (107) und der dritte (117) und der vierte (118) Knoten über einen zweiten Durchlaßtran sistor (108) verbunden sind, wobei der erste (107) und der zweite (108) Durchlaßtransistor von dem P2-Signal gesteuert sind; wobei der erste Knoten (116) durch das anliegende G1- Signal oder durch die gleichzeitig anliegenden P1- und G0- Signale entladen wird; wobei der zweite Knoten (119) durch das G2-Signal entladen wird; wobei der dritte Knoten (117) durch die gleichzeitig anliegenden P0- und P1-Signale entla den wird;
wobei ein mit dem ersten Knoten (116) gekoppeltes Gatter (105) ein erstes Übertragssignal (C2NC) des Paares des Übertrags C(N-2) zur Verfügung stellt;
wobei ein mit dem ersten (116) und dem dritten (117) Knoten gekoppeltes Gatter (100) das andere Übertragssignal (C2C) des Paares des Übertrags C(N - 2) zur Verfügung stellt;
wobei ein mit dem zweiten Knoten (119) gekoppeltes Gat ter (115) ein erstes Übertragssignal (C3NC) des Paares des Übertrags C(N-1)zur Verfügung stellt; und
wobei ein mit dem zweiten (119) und dem vierten (118) Knoten gekoppeltes Gatter (110) das andere Übertragssignal (C3C) des Paares des Übertrags C(N - 1) zur Verfügung stellt.
3. Schaltungsanordnung nach Anspruch 1 oder 2, dadurch
gekennzeichnet, daß die logischen Gatter die Übertragssigna
le (C3NC, C3C, C2NC, C2C, C1NC, C1C) für die Überträge C(N -
1), C(N - 2) und C(N - 3) im wesentlichen gleichzeitig zur
Verfügung stellen.
4. Schaltungsanordnung nach einem der Ansprüche 1 bis 3,
dadurch gekennzeichnet,
daß die mit den logischen Gattern gekoppelten Einrich tungen zum Erzeugen zumindest der Summensignale S(N - 1), S(N - 2) und S(N - 3) aufweisen:
mit den logischen Gattern gekoppelte Mittel (48-53) zum Erzeugen zweier Sätze (S1C, S2C, S3C; S1NC, S2NC, S3NC) von Summensignalen, wobei einer (S1C, S2C, S3C) der Sätze der Summensignale gültig ist, wenn daß einlaufende Übertragssi gnal (CS) in einem ersten Zustand ist, und der andere Satz (S1NC, S2NC, S3NC) von Summensignalen gültig ist, wenn das einlaufende Übertragssignal in einem zweiten Zustand ist; und
mit den Mitteln (48-53) zum Erzeugen zweier Sätze von Summensignalen gekoppelte Mittel (55-58) zum Auswählen zwischen den beiden Sätzen von Summensignalen, wenn sie das einlaufende Übertragssignal (CS) empfangen.
daß die mit den logischen Gattern gekoppelten Einrich tungen zum Erzeugen zumindest der Summensignale S(N - 1), S(N - 2) und S(N - 3) aufweisen:
mit den logischen Gattern gekoppelte Mittel (48-53) zum Erzeugen zweier Sätze (S1C, S2C, S3C; S1NC, S2NC, S3NC) von Summensignalen, wobei einer (S1C, S2C, S3C) der Sätze der Summensignale gültig ist, wenn daß einlaufende Übertragssi gnal (CS) in einem ersten Zustand ist, und der andere Satz (S1NC, S2NC, S3NC) von Summensignalen gültig ist, wenn das einlaufende Übertragssignal in einem zweiten Zustand ist; und
mit den Mitteln (48-53) zum Erzeugen zweier Sätze von Summensignalen gekoppelte Mittel (55-58) zum Auswählen zwischen den beiden Sätzen von Summensignalen, wenn sie das einlaufende Übertragssignal (CS) empfangen.
5. Schaltungsanordnung nach Anspruch 4, dadurch gekenn
zeichnet, daß die logischen Gatter (61) Mittel (100, 110)
zum logischen ODER-Verknüpfen zumindest eines der Übertrags
signale (C2NC, C3NC) eines der Paare mit dem Ergebnis der
logischen UND-Verknüpfung der Weiterleitsignale (P0, P1, P2)
enthalten, um das andere (C2C, C3C) der Übertragssignale für
das Paar zu erzeugen.
6. Schaltung nach Anspruch 4 oder 5, dadurch gekenn
zeichnet, daß die Mittel (55-58) zum Auswählen Multiplexer
sind, die durch das einlaufende Übertragssignal (CS) gesteu
ert sind.
7. Schaltungsanordnung nach einem der Ansprüche 4-6,
dadurch gekennzeichnet, daß die Mittel (48-53) zum Erzeugen
zweier Sätze von Summensignalen ein Exclusiv-ODER-Gatter
aufweisen.
8. Schaltungsanordnung nach Anspruch 7, dadurch gekenn
zeichnet, daß die Mittel (48-53) zum Erzeugen zweier Sätze
von Summensignalen ein Paar Multiplexer enthalten, welche
durch PN gesteuert sind.
9. Schaltungsanordnung nach einem der Ansprüche 4-8,
dadurch gekennzeichnet, daß die Mittel (55-58) zum Auswählen
einen Multiplexer (55) enthalten, welcher zwischen P0 und
seinem Komplement auswählt.
10. Verfahren zum Berechnen digitaler Summen in einem
Übertrags-Vorausermittlungsaddierer, welcher mehrere Aus
gangssummen (S0...S(N - 1)) zur Verfügung stellt und welcher
in mehrere seriell gekoppelte Blöcke (10-17) organisiert
ist, wobei jeder Block ein einlaufendes Übertragssignal
(Cein) empfängt und ein auslaufendes Übertragssignal (Caus)
zur Verfügung stellt,
wobei zwei Sätze von Übertragssignalen (C1C, C2C, C3C; C1NC, C2NC, C3NC) abgeleitet werden, von denen ein Satz gültig ist, wenn das einlaufende Übertragssignal in einem ersten Zustand ist, und der andere Satz gültig ist, wenn das einlaufende Übertragssignal in einem zweiten Zustand ist, wobei mehrere Paare von Übertragssignalen erzeugt werden, wobei eines der Übertragssignale in jedem der Paare gültig ist, wenn das einlaufende Übertragssignal in dem ersten Zustand ist, und das andere Übertragssignal in jedem der Paare gültig ist, wenn das einlaufende Übertragssignal in dem zweiten Zustand ist, wobei zumindest eines der Über tragssignale in einem der Paare von dem anderen Übertragssi gnal in dem Paar abgeleitet wird;
wobei zwei Sätze von Summensignalen (S1C, S2C, S3C; S1NC, S2NC, S3NC) aus den zwei Sätzen von Übertragssignalen (C1C, C2C, C3C; C1NC, C2NC, C3NC) abgeleitet werden, wobei ein Satz der Summensignale gültig ist, wenn das einlaufende Übertragssignal in dem ersten Zustand ist, und der andere Satz von Summensignalen gültig ist, wenn das einlaufende Übertragssignal in dem zweiten Zustand ist; und
wobei zwischen den zwei Sätzen von Summensignalen als Funktion des Zustands des einlaufenden Übertragssignals ausgewählt wird.
wobei zwei Sätze von Übertragssignalen (C1C, C2C, C3C; C1NC, C2NC, C3NC) abgeleitet werden, von denen ein Satz gültig ist, wenn das einlaufende Übertragssignal in einem ersten Zustand ist, und der andere Satz gültig ist, wenn das einlaufende Übertragssignal in einem zweiten Zustand ist, wobei mehrere Paare von Übertragssignalen erzeugt werden, wobei eines der Übertragssignale in jedem der Paare gültig ist, wenn das einlaufende Übertragssignal in dem ersten Zustand ist, und das andere Übertragssignal in jedem der Paare gültig ist, wenn das einlaufende Übertragssignal in dem zweiten Zustand ist, wobei zumindest eines der Über tragssignale in einem der Paare von dem anderen Übertragssi gnal in dem Paar abgeleitet wird;
wobei zwei Sätze von Summensignalen (S1C, S2C, S3C; S1NC, S2NC, S3NC) aus den zwei Sätzen von Übertragssignalen (C1C, C2C, C3C; C1NC, C2NC, C3NC) abgeleitet werden, wobei ein Satz der Summensignale gültig ist, wenn das einlaufende Übertragssignal in dem ersten Zustand ist, und der andere Satz von Summensignalen gültig ist, wenn das einlaufende Übertragssignal in dem zweiten Zustand ist; und
wobei zwischen den zwei Sätzen von Summensignalen als Funktion des Zustands des einlaufenden Übertragssignals ausgewählt wird.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/285,202 US5136539A (en) | 1988-12-16 | 1988-12-16 | Adder with intermediate carry circuit |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3940897A1 DE3940897A1 (de) | 1990-06-21 |
DE3940897C2 true DE3940897C2 (de) | 1999-05-12 |
Family
ID=23093209
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3940897A Expired - Fee Related DE3940897C2 (de) | 1988-12-16 | 1989-12-11 | Schaltungsanordnung und Verfahren zur Berechnung digitaler Summen in einem Halbleiteraddierer mit Parallelübertrag |
Country Status (4)
Country | Link |
---|---|
US (1) | US5136539A (de) |
JP (1) | JPH02217920A (de) |
DE (1) | DE3940897C2 (de) |
GB (1) | GB2226166B (de) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5276635A (en) * | 1992-02-04 | 1994-01-04 | Motorola, Inc. | Method and apparatus for performing carry look-ahead addition in a data processor |
EP0590251A2 (de) * | 1992-09-22 | 1994-04-06 | Motorola, Inc. | Hochgeschwindigkeitsaddierer |
US5508952A (en) * | 1993-10-19 | 1996-04-16 | Kantabutra; Vitit | Carry-lookahead/carry-select binary adder |
US5493524A (en) * | 1993-11-30 | 1996-02-20 | Texas Instruments Incorporated | Three input arithmetic logic unit employing carry propagate logic |
US5485411A (en) * | 1993-11-30 | 1996-01-16 | Texas Instruments Incorporated | Three input arithmetic logic unit forming the sum of a first input anded with a first boolean combination of a second input and a third input plus a second boolean combination of the second and third inputs |
US5581497A (en) * | 1994-10-17 | 1996-12-03 | Intel Corporation | Carry skip adder with enhanced grouping scheme |
US5636156A (en) * | 1994-12-12 | 1997-06-03 | International Business Machines Corporation | Adder with improved carry lookahead structure |
US5555517A (en) * | 1995-01-04 | 1996-09-10 | Intel Corporation | Apparatus and method for efficient carry skip incrementation |
US5732008A (en) * | 1995-12-04 | 1998-03-24 | The University Of Waterloo | Low-power high performance adder |
US6055557A (en) * | 1997-01-08 | 2000-04-25 | International Business Machines Corp. | Adder circuit and method therefor |
KR100475012B1 (ko) * | 1997-10-08 | 2005-04-14 | 삼성전자주식회사 | 그룹데이터에대한산술연산을수행하는64비트산술연산기 |
US5964827A (en) * | 1997-11-17 | 1999-10-12 | International Business Machines Corporation | High-speed binary adder |
US6438572B1 (en) | 1998-09-21 | 2002-08-20 | Rn2R, L.L.C. | Adder having reduced number of internal layers and method of operation thereof |
US6259275B1 (en) | 2000-05-01 | 2001-07-10 | Rn2R, L.L.C. | Logic gate having reduced power dissipation and method of operation thereof |
KR100459735B1 (ko) * | 2003-02-22 | 2004-12-03 | 삼성전자주식회사 | 블록 캐리 전파 즉시 합산 값을 출력하는 한 위상내 자체동기 캐리 룩어헤드 애더 및 그 합산 방법 |
CN114355174B (zh) * | 2022-03-17 | 2022-06-17 | 杭州加速科技有限公司 | 一种进位链延时测量校准方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3323607A1 (de) * | 1983-06-30 | 1985-01-03 | Siemens AG, 1000 Berlin und 8000 München | Digitales rechenwerk |
US4737926A (en) * | 1986-01-21 | 1988-04-12 | Intel Corporation | Optimally partitioned regenerative carry lookahead adder |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3100836A (en) * | 1960-02-24 | 1963-08-13 | Ibm | Add one adder |
US3553446A (en) * | 1966-08-04 | 1971-01-05 | Honeywell Inc | Carry determination logic |
US3993891A (en) * | 1975-07-03 | 1976-11-23 | Burroughs Corporation | High speed parallel digital adder employing conditional and look-ahead approaches |
IL59907A0 (en) * | 1980-04-23 | 1980-06-30 | Nathan Grundland | Arithmetic logic unit |
GB2127187B (en) * | 1982-08-23 | 1986-03-05 | Hewlett Packard Co | Circuits for operating on n-digit operands |
DE3346241A1 (de) * | 1983-03-31 | 1984-10-04 | Siemens AG, 1000 Berlin und 8000 München | Parallelverknuepfungsschaltung mit verkuerztem uebertragsdurchlauf |
AU554019B2 (en) * | 1984-11-09 | 1986-08-07 | Nippon Steel Corporation | Changing slab width in continuous casting |
US4623982A (en) * | 1985-06-10 | 1986-11-18 | Hewlett-Packard Company | Conditional carry techniques for digital processors |
BR8602717A (pt) * | 1985-09-11 | 1987-04-14 | Sperry Corp | Aparelho para efetuar adicao de binarios |
JPS62219027A (ja) * | 1986-03-20 | 1987-09-26 | Toshiba Corp | 桁上げ先見回路 |
US4811272A (en) * | 1987-05-15 | 1989-03-07 | Digital Equipment Corporation | Apparatus and method for an extended arithmetic logic unit for expediting selected floating point operations |
-
1988
- 1988-12-16 US US07/285,202 patent/US5136539A/en not_active Expired - Fee Related
-
1989
- 1989-10-11 GB GB8922879A patent/GB2226166B/en not_active Expired - Fee Related
- 1989-12-11 DE DE3940897A patent/DE3940897C2/de not_active Expired - Fee Related
- 1989-12-15 JP JP1324170A patent/JPH02217920A/ja active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3323607A1 (de) * | 1983-06-30 | 1985-01-03 | Siemens AG, 1000 Berlin und 8000 München | Digitales rechenwerk |
US4737926A (en) * | 1986-01-21 | 1988-04-12 | Intel Corporation | Optimally partitioned regenerative carry lookahead adder |
Also Published As
Publication number | Publication date |
---|---|
JPH02217920A (ja) | 1990-08-30 |
DE3940897A1 (de) | 1990-06-21 |
GB2226166B (en) | 1993-05-12 |
US5136539A (en) | 1992-08-04 |
GB2226166A (en) | 1990-06-20 |
GB8922879D0 (en) | 1989-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3940897C2 (de) | Schaltungsanordnung und Verfahren zur Berechnung digitaler Summen in einem Halbleiteraddierer mit Parallelübertrag | |
EP0086904B1 (de) | Digitale Parallel-Rechenschaltung für positive und negative Binärzahlen | |
DE3853805T2 (de) | Digitaler Multiplizierer und Multiplizierer-Akkumulator, welcher Zwischenergebnisse vorlädt und akkumuliert. | |
DE4212202A1 (de) | Logikgatter | |
DE112005001906B4 (de) | Mehrbit-Addierer und Verfahren zum Propagieren, Generieren oder Killen von Carry-In-Bits entlang einer Carry-Kette | |
DE4101004C2 (de) | Paralleler Multiplizierer mit Sprungfeld und modifiziertem Wallac-Baum | |
DE69132540T2 (de) | Programmierbare logische Schaltung | |
EP0209014B1 (de) | Anordnung mit einem sättigbaren Carry-Save-Addierer | |
DE2707451A1 (de) | Einrichtung und verfahren zum addieren von wenigstens zwei aus mehreren bits bestehenden binaerzahlen | |
EP0051079B1 (de) | Binäres MOS-Ripple-Carry-Parallel-Addier/Subtrahierwerk und dafür geeignete Addier/Subtrahierstufe | |
DE69430035T2 (de) | CMOS-Schaltung zum Ausführen von bollescher Funktionen | |
EP0383965A1 (de) | Multiplizierwerk | |
DE4335245A1 (de) | Vektorlogikverfahren und dynamisches Logikgatter für eine selbstzeitgebende, monotone Logikprogression | |
EP0178424B1 (de) | Zellenstrukturierter digitaler Multiplizierer mit semisystolischem Aufbau | |
EP0352549B1 (de) | Carry-select-Addierer | |
DE69726248T2 (de) | Addierer mit bedingter Summe unter Benutzung von Durchlasstransistor-Logik | |
EP0321589B1 (de) | Digitaler FIFO-Speicher | |
EP0224656B1 (de) | Mehrstelliger Carry-Ripple-Addierer in CMOS-Technik mit zwei Typen von Addiererzellen | |
EP0326897B1 (de) | Addierzelle mit einem Summen- und einem Carryteil | |
EP0130397B1 (de) | Digitales Rechenwerk | |
EP0208275A2 (de) | Anordnung zur bitparallelen Addition von Binärzahlen | |
DE69622486T2 (de) | Übertragvorgriffsgerät mit alternierender polarität | |
DE2165160C2 (de) | CMOS-Schaltung als exklusives ODER-Glied | |
DE2017132A1 (de) | Binarer Parallel Addierer | |
EP0333884B1 (de) | CMOS-Parallel-Serien-Multiplizierschaltung sowie deren Multiplizier- und Addierstufen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |