DE10130483A1 - 6-zu-3 Bit Carry-Save Addierer - Google Patents
6-zu-3 Bit Carry-Save AddiererInfo
- Publication number
- DE10130483A1 DE10130483A1 DE10130483A DE10130483A DE10130483A1 DE 10130483 A1 DE10130483 A1 DE 10130483A1 DE 10130483 A DE10130483 A DE 10130483A DE 10130483 A DE10130483 A DE 10130483A DE 10130483 A1 DE10130483 A1 DE 10130483A1
- Authority
- DE
- Germany
- Prior art keywords
- adder
- add
- carry
- transistors
- inputs
- 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.)
- Ceased
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/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/607—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers number-of-ones counters, i.e. devices for counting the number of input lines set to ONE among a plurality of input lines, also called bit counters or parallel counters
Landscapes
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Logic Circuits (AREA)
- Complex Calculations (AREA)
Abstract
Ein Carry-Save-Addierer zum Summieren von Bits gleicher Wertigkeit umfasst sechs Eingänge (I0, I1, ..., I5) zur Entgegennahme von sechs zu summierenden Bits jeweils gleicher Wertigkeit w. Der Addierer weist einen Ausgang (S) für ein Summen-Bit der Wertigkeit w sowie zwei Ausgänge (C0, C1) für zwei Übertrags-Bits der Wertigkeiten 2w und 4w auf.
Description
- Die Erfindung betrifft einen Carry-Save Addierer zum Summieren einer Mehrzahl von Bits derselben Wertigkeit.
- Carry-Save (CS) Addierer sind in der Technik bekannt und werden durch elektrische Schaltungen in Form von monolithisch integrierten Bausteinen realisiert. Der am häufigsten verwendete CS Addierer ist der 3-zu-2 Bit Volladdierer, welcher drei gleichwertige (d. h. vertauschbare) Eingänge und zwei Ausgänge in Form eines Summen-Bits und eines Übertrags-Bits aufweist.
- Für die Addition von mehr als drei Bits gleicher Wertigkeit wird häufig ein Wallace-Tree-(WT-)Addierer eingesetzt. Ein WT-Addierer ist ein mehrstufiger Addierer, welcher in jeder Stufe die Anzahl der zu addierenden Bits verkleinert. Die einzelnen Stufen eines WT-Addierers sind aus parallel zueinander angeordneten 3-zu-2 CS-Volladdierern aufgebaut. Mit jeder Stufe verringert sich die Anzahl der für diese Stufe benötigten Volladdierer.
- In dem U.S.-Patent 5,504,915 ist ein modifizierter WT-Addierer beschrieben, welcher zusätzlich zu den 3-zu-2 CS Volladdierern 5-zu-3 Addierer enthält. Die 5-zu-3 Addierer weisen jeweils vier Eingänge für zu summierende Bits und einen Eingang für ein Übertrags-Bit sowie zwei Ausgänge für zwei Summen-Bits und einen Ausgang für ein Übertrags-Bit auf.
- Im folgenden werden unter CS Addierern Bit-Addierer mit logisch gleichwertigen Eingängen verstanden. Der Erfindung liegt die Aufgabe zugrunde, einen vielfältig und aufwandsgünstig einsetzbaren CS Addierer zu schaffen. Insbesondere soll der CS Addierer einen geringen Implementierungsaufwand erfordern sowie die Realisierung eines Addiererbaums mit wenigen Stufen ermöglichen. Ferner werden insbesondere kurze Signallaufzeiten und eine geringe Stromaufnahme angestrebt.
- Die der Erfindung zugrunde liegende Aufgabenstellung wird durch die Merkmale des Anspruchs 1 gelöst.
- Aufgrund seiner sechs gleichartigen Eingänge vermag der erfindungsgemäße 6-zu-3-Bit CS Addierer in einer Addiererstufe 6 Bits zu addieren. Durch die Ausgabe von zwei Überträgen unterschiedlicher Wertigkeit wird die Darstellungsmöglichkeit von drei Ausgangssignalen für die gleichzeitige Addition von sechs Eingangs-Bits gleicher Wertigkeit genutzt. Verglichen mit herkömmlichen Lösungen zur Addition von sechs Eingabe- Bits bestehend aus kaskadierten 3-zu-2 CS Addierern kann aufgrund dieser einstufigen (in bezug auf die Kaskadierung von Addiererbausteinen) Ausführung ein geringerer Verdrahtungsaufwand, schnellere Schaltzeiten und eine geringere Leistungsaufnahme erreicht werden.
- Eine besonders bevorzugte Ausgestaltung des erfindungsgemäßen 6-zu-3 CS Addierers kennzeichnet sich dadurch, dass der 6-zu- 3 CS Addierer aus drei parallel zueinander angeordneten Addierersubblöcken aufgebaut ist. Dabei erzeugt ein erster Addierersubblock das Summen-Bit der Wertigkeit w, ein zweiter Addierersubblock erzeugt das Übertrags-Bit der Wertigkeit 2w und der dritte Addierersubblock erzeugt das Übertrags-Bit der Wertigkeit 4w.
- Nach einer ersten bevorzugten Ausführungsform der Erfindung ist wenigstens ein und insbesondere jeder Addierersubblock aus Logiggattern aufgebaut. Mit dem Begriff "Logiggatter" sind hier die Grundelemente digitaler Schaltkreise, d. h. AND- Gatter (UND-Gatter), OR-Gatter (ODER-Gatter), XOR-Gatter (Exklusiv-ODER-Gatter), NAND-Gatter (invertiertes UND-Gatter) NOR-Gatter (invertiertes ODER-Gatter) und Inverter bezeichnet.
- In diesem Fall ist vorzugsweise der bzw. insbesondere jeder Addierersubblock aus maximal drei hintereinander geschalteten Logiggatterstufen realisiert, so dass sämtliche Ausgabe-Bits bereits nach drei Gatterlaufzeiten zeitgleich zur Verfügung stehen (Inverter werden bei der Zählung der Logiggatterstufen nicht berücksichtigt).
- Eine zweite bevorzugte Ausführungsform der Erfindung kennzeichnet sich dadurch, dass ein und insbesondere jeder Addierersubblock aus einer Mehrtransistorschaltung besteht, welche nicht in eine Mehrzahl von Logikgattern (gemäß vorstehender Definition) auflösbar ist. Mit anderen Worten bildet jeder Addierersubblock ein einzelnes, eigenständiges "Komplexgatter" ohne interne Logiggatterstruktur, welches darüber hinaus unabhängig von den anderen Addierersubblöcken ist. Hierdurch können besonders schnelle sowie platz- und stromsparende Schaltungen realisiert werden, da die Anzahl der Transistoren solcher Schaltungen kleiner gehalten werden kann als bei Schaltungen, die auf Logiggatterebene konzipiert sind.
- Eine besonders bevorzugte Ausgestaltung eines solchen übertragserhaltenden Addierers umfasst eine Aufladeschaltung, die mit der jeweiligen Mehrtransistorschaltung derart verbunden ist, dass sie über diese in Abhängigkeit von den an den Eingängen des Addierers anliegenden Bits entladen wird. Diese Auslegung des erfindungsgemäßen Addierers, welche dem Konzept der dynamischen Schaltungsauslegung folgt, minimiert den Leistungsbedarf des Addierers.
- Weitere vorteilhafte Ausgestaltungen der Erfindung sind in den Unteransprüchen angegeben.
- Die Erfindung wird nachfolgend anhand von Ausführungsbeispielen unter Bezugnahme auf die Zeichnung beschrieben; in dieser zeigt:
- Fig. 1 eine Schaltungsdarstellung eines 3-zu-2 CS Addierers auf Gatterebene nach dem Stand der Technik;
- Fig. 2 ein Schaltbild eines NAND-Gatters auf Transistorebene nach dem Stand der Technik;
- Fig. 3 einen WT-Addierer, welcher aus kaskadierten 3-zu-2 CS Addierern aufgebaut ist, nach dem Stand der Technik;
- Fig. 4 eine schematische Darstellung eines erfindungsgemäßen 6-zu-3 CS Addierers;
- Fig. 5 eine Wahrheitstabelle für einen erfindungsgemäßen 6-zu-3 CS Addierer;
- Fig. 6 ein Blockdiagramm eines erfindungsgemäßen 6-zu-3 CS Addierers;
- Fig. 7 ein Blockschaltbild eines ersten Addierersubblocks ADD-S aus Fig. 6 gemäß einem ersten Ausführungsbeispiel der Erfindung;
- Fig. 8 ein Blockschaltbild eines zweiten Addierersubblocks ADD-C0 aus Fig. 6 gemäß dem ersten Ausführungsbeispiel der Erfindung;
- Fig. 9 ein Blockschaltbild eines dritten Addierersubblocks ADD-C1 aus Fig. 6 gemäß dem ersten Ausführungsbeispiel der Erfindung;
- Fig. 10 ein Blockschaltbild eines ersten Addierersubblocks ADD-S aus Fig. 6 gemäß einem zweiten Ausführungsbeispiel der Erfindung;
- Fig. 11 ein Blockschaltbild eines zweiten Addierersubblocks ADD-C0 aus Fig. 6 gemäß dem zweiten Ausführungsbeispiel der Erfindung; und
- Fig. 12 ein Blockschaltbild eines dritten Addierersubblocks ADD-C1 aus Fig. 6 gemäß dem zweiten Ausführungsbeispiel der Erfindung;
- Fig. 1 zeigt einen 3-zu-2 CS Volladdierer, welcher ausschließlich aus NAND-Gattern 10 mit zwei Eingängen aufgebaut ist. Der 3-zu-2 CS Volladdierer weist drei Eingänge A, B, Ci (Carry in) und zwei Ausgänge S, Co (Carry out) auf. Die drei Eingänge sind gleichwertig, der Ausgang S gibt das Summen-Bit der Wertigkeit der Eingänge und der Ausgang Co das Übertrags- Bit der zweifachen Wertigkeit aus. Im Gegensatz zu den Eingängen A, B, Ci sind die Ausgänge S und Co also nicht vertauschbar. In dieser Schaltung werden zur Ergebnisberechnung 6 Gatterlaufzeiten benötigt.
- Fig. 2 zeigt die Transistorschaltung eines NAND-Gatters 10 in CMOS-Technik gemäß dem Stand der Technik. Die beiden Eingänge des NAND-Gatters 10 sind mit X1, X2, der Ausgang des NAND- Gatters 10 mit Y, das Bezugspotential mit vss und die Betriebsspannung mit vdd bezeichnet. Das NAND-Gatter 10 besteht aus zwei in Reihe geschalteten N-Kanal-Feldeffekt-Transistoren N1, N2 und zwei parallel geschalteten P-Kanal-Feldeffekt- Transistoren P1, P2. Die Ausgangsspannung UY ist nur dann 0 V, wenn beide N-Kanal-Feldeffekt-Transistoren N1, N2 leitend sind. Das ist der Fall, wenn für die beiden Eingangsspannungen UX1, UX2 die Beziehung UX1 = UX2 = vdd gilt. Mit UX1 = 0 oder UX2 = 0 sperrt ein N-Kanal-Feldeffekt-Transistor N1, N2 und ein P-Kanal-Feldeffekt-Transistor P1, P2 leitet, so dass UY = vdd ist.
- Fig. 3 zeigt einen fünf-stufigen WT-Addierer 1 zur Addition von 13 Eingabe-Bits 2 gleicher Wertigkeit nach dem Stand der Technik.
- Der WT-Addierer 1 umfasst insgesamt 11 3-zu-2 CS Volladdierer 3, die z. B. gemäß den Fig. 1 und 2 aufgebaut sind.
- Die fünf Stufen 1.1, 1.2, 1.3, 1.4, 1.5 des WT-Addierers 1 umfassen 4, 3, 2, 1 bzw. 1 3-zu-2 CS Volladdierer 3. Die 13 Eingänge des WT-Addierers 1 sind durch die 12 Eingänge 2 der ersten Stufe 1.1 und einen Eingang 2 der zweiten Stufe 1.2 realisiert.
- Während die Ausgänge S der ersten Stufe 1.1 jeweils Eingängen der 3-zu-2 CS Volladdierer 3 der zweiten Stufe 1.2 zugeführt werden, werden die 4 Ausgänge Co, welche ein Übertrags-Bit 4 bereitstellen, einer zweiten Stufe eines (nicht dargestellten) WT-Addierers zur Addition eines Bit-Satzes mit einer nächst höheren Wertigkeit zugeleitet. In analoger Weise empfangen die 3-zu-2 CS Volladdierer 3 der zweiten Stufe 1.2 jeweils ein oder zwei Übertrags-Bits 5, welche von einer ersten Stufe eines (ebenfalls nicht dargestellten) WT-Addierers für einen Bit-Satz mit nächst niedrigerer Wertigkeit ausgegeben werden.
- Dieses Prinzip setzt sich über die zweite 1.2 und dritte 1.3, dritte 1.3 und vierte 1.4 und vierte 1.4 und fünfte 1.5 Stufe des WT-Addierers 1 fort. Der Ausgang des WT-Addierers wird durch ein Summen-Bit 6 und ein partielles Übertrags-Bit 7, welches von der fünften Stufe des WT-Addierers 1 nächst niedrigerer Wertigkeit stammt, repräsentiert.
- Fig. 4 zeigt eine schematische Darstellung eines erfindungsgemäßen 6-zu-3 CS Addierers. Der Addierer weist die Eingänge I0, I1, I2, I3, I4, I5 und die Ausgänge S, C0, C1 auf. Die Addition von sechs Bits umfasst einen Wertebereich zwischen Null und sechs. Die drei Ausgänge des 6-zu-3 CS Addierers repräsentieren die Summe der an den Eingängen anliegenden Bits in dualkodierter Form. Der Ausgang S für das Summen-Bit weist die gleiche Wertigkeit wie der Satz von Eingangs-Bits I0 bis I5 auf. Bei dem Ausgang C0 handelt es sich um einen Übertrags-Ausgang, welcher eine um den Faktor 2 höhere Wertigkeit als der Ausgang S für das Summen-Bit aufweist. Der Ausgang C1 ist ebenfalls ein Ausgang für ein Übertrags-Bit jedoch mit einer nochmals um den Faktor 2 erhöhten Wertigkeit gegenüber dem Ausgang C0. Mit anderen Worten weisen die Ausgänge S, C0 und C1 die Wertigkeiten 20, 21 und 22 bezogen auf die Wertigkeit des Bit-Satzes am Eingang des 6-zu-3 CS Addierers auf.
- Fig. 5 gibt die Wahrheitstabelle eines 6-zu-3 CS Addierers wieder.
- Fig. 6 zeigt in beispielhafter Weise den Aufbau eines erfindungsgemäßen 6-zu-3 Addierers. Die sechs äquivalenten Eingänge des 6-zu-3 CS Addierers sind wiederum mit den Bezugszeichen I0, I1, I2, I3, I4, I5 bezeichnet.
- Der 6-zu-3 CS Addierer umfasst drei Addierersubblöcke, die mit den Bezugszeichen ADD-S, ADD-C0 und ADD-C1 bezeichnet sind. Jeder Addierersubblock ADD-S, ADD-C0, ADD-C1 weist die sechs Eingänge I0, I1, I2, I3, I4, I5 auf. Die Addierersubblöcke ADD-S, ADD-C0, ADD-C1 sind mit Ausnahme der eingangsseitigen Kopplung nicht untereinander verschaltet.
- Der Addierersubblock ADD-S gibt an seinem Ausgang S das Bit der Wertigkeit 20 aus. Die entsprechenden Ausgänge C0 und C1 der zweiten und dritten Addierersubblöcke ADD-C0 und ADD-C1 geben jeweils das Bit der Wertigkeit 21 (Ausgang C0) bzw. das Bit der Wertigkeit 22 (Ausgang C1) aus.
- In den Fig. 7 bis 9 sind mögliche Realisierungen der Gatterstrukturen der einzelnen Addierersubblöcke ADD-S, ADD-C0 und ADD-C1 gemäß einem ersten Ausführungsbeispiel des erfindungsgemäßen 6-zu-3 CS Addierers gezeigt. Jeder Addierersubblock ADD-S, ADD-C0 und ADD-C1 ist bei diesem Ausführungsbeispiel aus einzelnen Logiggattern aufgebaut, welche in mehreren hintereinander angeordneten Gatterstufen angeordnet sind. Gemäß dem hier verwendeten Sprachgebrauch enthält eine Gatterstufe genau ein Logikgatter, wie beispielsweise XOR, NAND, usw., oder eine Parallelanordnung derartiger Logikgatter. Inverter bilden keine Gatterstufen.
- Fig. 7 verdeutlicht die Gatterstruktur des Addierersubblocks ADD-S. Die Eingänge I0, I1, . . ., I5 sind paarweise mit den jeweils zwei Eingängen von insgesamt drei XOR-Gattern 11 der ersten Stufe ST1 des Addierersubblocks verbunden. Die (auf Gatterebene) zweite Stufe ST2 des Addierersubblocks ADD-S wird durch ein XOR-Gatter 11 realisiert. Die zwei Eingänge dieses Gatters werden durch die zwei Ausgänge von zwei XOR- Gattern 11 der ersten Stufe ST1 gebildet.
- Eine dritte und letzte Stufe ST3 des Addierersubblocks ADD-S wird durch ein weiteres einzelnes XOR-Gatter 11 realisiert, das von dem Ausgang des XOR-Gatters 11 der zweiten Stufe ST2 und dem Ausgang des verbleibenden Gatters 11 der ersten Stufe ST1 gespeist wird. Der Ausgang des XOR-Gatters 11 der dritten Stufe ST3 ist der Summen-Bit Ausgang des 6-zu-3 CS Addierers.
- Der detaillierte Aufbau des Addierersubblocks ADD-C0 ist in Fig. 8 dargestellt. Er besteht ebenfalls lediglich aus drei Stufen ST1, ST2, und ST3 (wobei wie bereits erwähnt die in der Zeichnung durch Dreieck-Symbole dargestellten Inverter nicht als Stufen gezählt werden). Die erste Stufe ST1 ist aus 20 NAND-Gattern 12 mit jeweils fünf Eingängen und einem NAND- Gatter 13 mit 6 Eingängen ausgebildet, die zweite Stufe ST2 umfasst drei NAND-Gatter 14 mit jeweils sieben Eingängen und die dritte Stufe ST3 wird durch ein NAND-Gatter 15 mit drei Eingängen gebildet. Der Ausgang des NAND-Gatters 15 der dritten Stufe ST3 realisiert den Ausgang C0 der Wertigkeit 2 1 des 6-zu-3 CS Addierers aus Fig. 4.
- Die Verschaltung der einzelnen NAND-Gatter 12 bis 15 der drei Stufen ST1-3 des Addierersubblocks ADD-C0 wird durch die in Fig. 8 angegebenen Bezugszeichen erläutert. Dabei bezeichnen NI0 bis NI5 die invertierten Eingänge 10 bis 15. Dies ist im rechten oberen Teil von Fig. 8 symbolisch dargestellt.
- Fig. 9 zeigt den Aufbau des Addierersubblocks ADD-C1 aus Fig. 6 gemäß dem ersten Ausführungsbeispiel auf Gatterebene. Wiederum sind drei Stufen ST1, ST2 und ST3 vorhanden. Die erste Stufe ST1 umfasst 15 NAND-Gatter 16 mit jeweils vier Eingängen, die zweite Stufe ST2 umfasst drei NAND-Gatter 12 mit jeweils fünf Eingängen und die dritte Stufe ST3 umfasst ein NAND-Gatter 15 mit drei Eingängen. Die Verschaltung der einzelnen Stufen ST1, ST2, ST3 sowie die Belegung der jeweils vier Eingänge der NAND-Gatter 16 der ersten Stufe ST1 sind der Fig. 9 unter Zuhilfenahme der Bezugszeichen zu entnehmen. Wie erkennbar, werden sämtliche Eingänge nicht-invertiert angesteuert.
- Es wird deutlich, dass der in den Fig. 6 bis 9 erläuterte 6- zu-3 CS Addierer mit lediglich drei Stufen ST1, ST2 und ST3 auf (Logik-)Gatterebene für die Addition von sechs Bits auskommt.
- Die Fig. 10 bis 12 zeigen den Aufbau der in Fig. 6 dargestellten Addierersubblöcke ADD-S, ADD-C0 und ADD-C1 gemäß einem zweiten Ausführungsbeispiel der Erfindung. Das zweite Ausführungsbeispiel der Erfindung unterscheidet sich von dem ersten Ausführungsbeispiel im wesentlichen dadurch, dass die einzelnen Addierersubblöcke ADD-S, ADD-C0 und ADD-C1 jeweils aus einer Mehrtransistorschaltung aufgebaut sind, die nicht in einzelne Logiggatter zerlegbar ist. Die logischen Funktionen dieser Mehrtransistorschaltungen werden durch den Schaltungsaufbau auf Transistorebene bestimmt.
- Die Mehrtransistorschaltung des Addierersubblocks ADD-S wird mit MS, die Mehrtransistorschaltung des Addierersubblocks ADD-C0 wird mit MC0 und die Mehrtransistorschaltung des Addierersubblocks ADD-C1 wird mit MC1 bezeichnet.
- Sämtliche Mehrtransistorschaltungen MS, MC0 und MC1 weisen einen Knoten K1 auf, welcher mit der Bezugsspannung vss verbunden ist. Ferner ist ihnen gemeinsam, dass sie über zwei Knoten K2 und K3 mit einer Treiberschaltung TR verbunden sind. Der Treiberschaltung TR wird die Betriebsspannung vdd zugeführt.
- Eine weitere Gemeinsamkeit besteht darin, dass sämtliche Mehrtransistorschaltungen MS, MC0, MC1 zusätzlich zu ihren jeweiligen Bit-Ausgängen S bzw. C0 bzw. C1 auch (in Fig. 6 nicht dargestellte) invertierte Bit-Ausgänge NS bzw. NC0 bzw. NC1 aufweisen. Der Knoten K2 steht mit dem jeweiligen nicht invertierten Bit-Ausgang S, C0, C1 in Verbindung und der Knoten K3 ist mit dem jeweiligen invertierten Bit-Ausgang NS, NC0, NC1 verbunden.
- Nach Fig. 10 umfasst die Mehrtransitorschaltung MS insgesamt 22 N-Kanal-Transistoren, die über ihre Basis entweder mit den Eingängen I0, . . ., I5 oder den entsprechenden invertierten Eingängen NI0, . . ., NI5 angesteuert werden.
- Zwei den Eingängen I0/NI0 zugeordnete Transistoren N1_1, N1_2 liegen mit ihren Source-Anschlüssen an der Bezugsspannung vss und speisen mit ihren Drain-Anschlüssen die restliche Mehrtransistorschaltung MS. Diese weist für jeden der Eingänge I1/NI1, . . ., I5/NI5 jeweils vier N-Kanal-Transistoren N2_1, . . ., N2_4 bzw. N3_1, . . ., N3_4 bzw. N4_1, . . ., N4_4 bzw. N5_1, . . ., N5_4 bzw. N6_1, . . ., N6_4 auf. Die Drain-Anschlüsse der Transistoren Ni_1 und Ni_3 sind miteinander verbunden und stehen mit den Source-Anschlüssen der Transistoren N(i + 1)_1 und N(i + 1)_2 in Verbindung, und andererseits sind die Drain-Anschlüsse der Transistoren Ni_2 und Ni_4 miteinander verbunden und stehen mit den Source-Anschlüssen der Transistoren N(i + 1)_3 und N(i + 1)_4 in Verbindung, i = 1, . . ., 5.
- Ausgangsseitig steht der Knoten K2 mit den Drain-Anschlüssen der Transistoren N6_1 und N6_3 in Verbindung und der Knoten K3 steht mit den Drain-Anschlüssen der Transistoren N6_2 und N6_4 in Verbindung. Dabei werden die Transistoren Ni_1 und Ni_4 jeweils nicht-invertiert und die Transistoren Ni_2 und Ni_3 jeweils invertiert von dem betreffenden Eingang angesteuert.
- Nach Fig. 11 weist die Mehrtransistorschaltung MC0 zwei den Eingängen I0/NI0 zugeordnete N-Kanal-Transistoren N1_1 und N1_2, vier den Eingängen I1/NI1 zugeordnete N-Kanal-Transistoren N2_1, . . ., N2_4, sechs den Eingängen I2/NI2 zugeordnete N-Kanal-Transistoren N3_1, . . ., N3_6, acht den Eingängen I3/NI3 zugeordnete N-Kanal-Transistoren N4_1, . . ., N4_8, acht den Eingängen I4/NI4 zugeordnete N-Kanal-Transistoren N5_1, . . ., N5_8, und vier den Eingängen I5/NI5 zugeordnete N-Kanal- Transistoren N6_1, . . ., N6_4 auf. Die Transistoren Ni_j mit einem geraden Index j werden invertiert angesteuert, während Transistoren mit einem ungeraden Index j nicht-invertiert angesteuert werden.
- Die Source-Anschlüsse der beiden Transistoren N1_1 und N1_2 stehen mit K1 in Verbindung. Die Source-Anschlüsse der Transistoren N2_1 und N2_2 sind mit dem Drain-Anschluss des Transistors N1_1 verbunden, und die Source-Anschlüsse der Transistoren N2_3 und N2_4 sind mit dem Drain-Anschluss des Transistors N1_2 verbunden. Die Source-Anschlüsse der Transistor- Paare N3_1, N3_2 bzw. N3_3, N3_4 bzw. N3_5, N3_6 sind mit den Drain-Anschlüssen der Transistoren N2_1 bzw. N2_2 und N2_3 bzw. N2_4 verbunden.
- Die Source-Anschlüsse der Transistor-Paare N4_1, N4_2 bzw. N4_3, N4_4 bzw. N4_5, N4_6 bzw. N4_7, N4_8 sind mit den Drain-Anschlüssen der Transistoren N3_1 bzw. N3_2 und N3_3 bzw. N3_4 und N3_5 bzw. N3_6 verbunden. Die Source-Anschlüsse der Transistor-Paare N5_1, N5_2 bzw. N5_3, N5_4 bzw. N5_5, N5_6 bzw. N5_7, N5_8 sind mit den Drain-Anschlüssen der Transistoren N4_1 und N4_8 bzw. N4_2 und N4_3 bzw. N4_4 und N4_5 bzw. N4_6 und N4_7 verbunden. Die Source-Anschlüsse der Transistoren N6_1 und N6_2 sind mit den Drain-Anschlüssen der Transistoren N5_1 und N5_8 und die Source-Anschlüsse der Transistoren N6_3 und N6_4 sind mit den Drain-Anschlüssen der Transistoren N5_4 und N5_5 verbunden. Der Knoten K2 steht mit den Drain-Anschlüssen der Transistoren N6_2, N5_2, N5_3 und N6_3 in Verbindung, und der Knoten K3 ist mit den Drain-Anschlüssen der Transistoren N6_1, N6_4, N5_6 und N5_7 verbunden.
- Nach Fig. 12 sind bei der Mehrtransistorschaltung MC1 zwei N- Kanal-Transistoren N1_1, N1_2 den Eingängen I0/NI0 zugeordnet, vier N-Kanal-Transistoren N2_1, . . ., N2_4 sind den Eingängen I1/NI1 zugeordnet, sechs N-Kanal-Transistoren N3_1, . . ., N3_6 sind den Eingängen I2/NI2 zugeordnet, sechs N- Kanal-Transistoren N4_1, . . ., N4_6 sind den Eingängen I3/NI3 zugeordnet, vier N-Kanal-Transistoren N5_1, . . ., N5_4 sind den Eingängen I4/NI4 zugeordnet, und zwei N-Kanal-Transistoren N6_1, N6_2 sind den Eingängen I5/NI5 zugeordnet.
- Bezüglich der Transistoren Ni_j mit i = 1, 2, 3, 4 ist die Mehrtransistorschaltung MC1 identisch mit der Mehrtransistorschaltung MC0, mit Ausnahme der Tatsache, dass die Transistoren N4_7 und N4_8 nicht vorhanden sind. Die Source-Anschlüsse der Transistor-Paare N5_1, N5_2 bzw. N5_3, N5_4 sind mit den Drain-Anschlüssen der Transistoren N4_2 und N4_3 bzw. N4_4 und N4_5 verbunden. Die Source-Anschlüsse der Transistoren N6_1 und N6_2 sind mit den Drain-Anschlüssen der Transistoren N5_2 und N5_3 verbunden. Der Knoten K2 ist mit den Drain- Anschlüssen der Transistoren N6_2, N5_4, N4_6 und N3_6 verbunden, und der Knoten K3 steht mit den Drain-Anschlüssen der Transistoren N4_1, N5_1 und N6_1 in Verbindung. Auch hier gilt, dass die Transistoren Ni_j mit einem geraden Index j invertiert angesteuert werden, während Transistoren mit einem ungeraden Index j nicht-invertiert angesteuert werden.
- Die Schaltung gemäß dem zweiten Ausführungsbeispiel kann je nach Ausführung der Treiberschaltung TR auf zwei unterschiedliche Weisen betrieben werden. Bei einer ersten Betriebsform, welche mit dem Begriff "dynamische Schaltungstechnik" umrissen wird, ist die Treiberschaltung TR als Aufladeschaltung ausgeführt, welche vor einem Rechenvorgang die beiden Knoten K2 und K3 auf Betriebsspannung vdd lädt. Damit werden beide Ausgänge S, NS bzw C0, NC0 bzw. C1, NC1 auf vdd vorgeladen. In dieser Vorladephase müssen die Mehrtransistorschaltungen MS, MC0, MC1 so angesteuert werden, dass sie hochohmig sind, d. h. die Ausgänge gegen vss isolieren.
- Nach dem Aufladen der Knoten K2, K3 wird die Treiberschaltung TR hochohmig geschaltet, d. h. die Knoten K2 und K3 werden von vdd getrennt.
- In einem nächsten Schritt werden die Transistoren der Mehrtransistorschaltungen MS, MC0, MC1 über die Eingänge I0/NI0, . . ., I5/NI5 angesteuert, wodurch entsprechend der Bit-Belegung der Eingänge I0/NI0, . . ., I5/NI5 partielle bzw. selektive Entladungspfade durch die Mehrtransistorschaltungen MS, MC0, MC1 ausgebildet werden. Diese bewirken die Signalerzeugung an dem Summen-Ausgang S und den Übertrags-Ausgängen C0 und C1 sowie an den entsprechenden invertierten Ausgängen NS, NC0 und NC1 innerhalb eines Entladezyklus.
- Die beschriebene Vorgehensweise gemäß der dynamischen Schaltungstechnik weist einen minimalen Leistungsbedarf und kurze Signallaufzeiten auf.
- Eine zweite Betriebsform der in den Fig. 6 und 10 bis 12 gezeigten Schaltung besteht darin, einen zeitlich dauerhaften Stromfluss durch die Schaltung vorzusehen. Die Treiberschaltung TR dient in diesem Fall als Vorwiderstand, welcher kleiner als der Widerstand der jeweiligen Mehrtransistorschaltung MS bzw. MC0 bzw. MC1 im sperrenden Zustand sein muss. Bei dieser Variante können ebenfalls kurze Signallaufzeiten erreicht werden, es tritt allerdings eine höhere Leistungsaufnahme als bei der ersten Variante auf. Vorteilhaft gegenüber der ersten Variante ist jedoch die Tatsache, dass kurzzeitige Spannungsverluste an Eingängen I0/NI0, . . ., I5/NI5 während eines Rechenvorgangs kompensiert werden können, während dies bei der erstgenannten Variante (dynamischen Schaltungstechnik) aufgrund der dort auftretenden irreversiblen Entladevorgänge nicht möglich ist. Diese bei der zweiten Variante gegebene Möglichkeit der "Berichtigung" eines durch Störungen bzw. Spannungsabfälle verfälschten Berechnungsergebnisses innerhalb eines Rechenzyklus kann einen Vorteil der zweiten Variante gegenüber der aufgrund der transienten Entladeströme leistungsaufnahmeärmeren ersten Variante darstellen.
Claims (9)
1. Carry-Save Addierer zum Summieren von Bits gleicher
Wertigkeit,
dadurch gekennzeichnet,
dass der Carry-Save Addierer
6 Eingänge (I0, I1, . . ., I5) zur Entgegennahme von 6 zu summierenden Bits jeweils gleicher Wertigkeit w und
einen Ausgang (S) für ein Summen-Bit der Wertigkeit w sowie zwei Ausgänge (C0, C1) für zwei Übertrags-Bits der Wertigkeiten 2w und 4w aufweist.
6 Eingänge (I0, I1, . . ., I5) zur Entgegennahme von 6 zu summierenden Bits jeweils gleicher Wertigkeit w und
einen Ausgang (S) für ein Summen-Bit der Wertigkeit w sowie zwei Ausgänge (C0, C1) für zwei Übertrags-Bits der Wertigkeiten 2w und 4w aufweist.
2. Carry-Save Addierer nach Anspruch 1
dadurch gekennzeichnet,
dass der Carry-Save Addierer aus drei parallel zueinander
angeordneten Addierersubblöcken aufgebaut ist, wobei ein
erster Addierersubblock (ADD-S) das Summen-Bit erzeugt, ein
zweiter Addierersubblock (ADD-C0) das Übertrags-Bit der
Wertigkeit 2w erzeugt und der dritte Addierersubblock (ADD-
C1) das Übertrags-Bit der Wertigkeit 4w erzeugt.
3. Carry-Save Addierer nach Anspruch 2,
dadurch gekennzeichnet,
dass wenigstens ein und insbesondere jeder Addierersubblock
(ADD-S, ADD-C0, ADD-C1) aus Logiggattern aufgebaut ist.
4. Carry-Save Addierer nach Anspruch 3,
dadurch gekennzeichnet,
dass der und insbesondere jeder Addierersubblock (ADD-S,
ADD-C0, ADD-C1) aus maximal drei hintereinander
geschalteten Logiggatterstufen realisiert ist.
5. Carry-Save Addierer nach Anspruch 2,
dadurch gekennzeichnet,
dass ein und insbesondere jeder Addierersubblock (ADD-S,
ADD-C0, ADD-C1) aus einer Mehrtransistorschaltung besteht,
welche nicht in Logikgatter auflösbar ist.
6. Carry-Save Addierer nach Anspruch 5,
dadurch gekennzeichnet,
dass in der Mehrtransistorschaltung (MS), die den
Addierersubblock (ADD-S) zur Berechnung des Summen-Bits bildet,
jeder Eingang (I0/NI0, . . ., I5/NI5) vier Transistoren (Ni_j)
ansteuert.
7. Carry-Save Addierer nach Anspruch 5,
dadurch gekennzeichnet,
dass in der Mehrtransistorschaltung (MC0), die den
Addierersubblock (ADD-C0) zur Berechnung des Übertrags-Bits der
Wertigkeit 2w bildet, ein erster Eingang (I0/NI0) zwei
Transistoren, ein zweiter (I1/NI1) und ein dritter (I5/NI5)
Eingang jeweils vier Transistoren, ein vierter Eingang
(I2/NI2) sechs Transistoren und ein fünfter (I3/NI3) und
ein sechster (I4/NI4) Eingang jeweils 8 Transistoren
ansteuern.
8. Carry-Save Addierer nach Anspruch 5,
dadurch gekennzeichnet,
dass in der Mehrtransistorschaltung (MC1), die den
Addierersubblock (ADD-C1) zur Berechnung des Übertrags-Bits der
Wertigkeit 4w bildet, ein erster (I0/NI0) und ein zweiter
(I5/NI5) Eingang jeweils zwei Transistoren, ein zweiter
(I1/NI1) und ein dritter (I4/NI4) Eingang jeweils vier
Transistoren und ein fünfter (I2/NI2) und ein sechster
(I3/NI3) Eingang jeweils 6 Transistoren ansteuern.
9. Carry-Save Addierer nach einem der Ansprüche 5 bis 8,
gekennzeichnet durch
eine Aufladeschaltung (TR), die mit der
Mehrtransistorschaltung (MS; MC0; MC1) derart verbunden ist, dass sie
über diese in Abhängigkeit von den an den Eingängen des
Addierers anliegenden Bits entladen wird.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10130483A DE10130483A1 (de) | 2001-06-25 | 2001-06-25 | 6-zu-3 Bit Carry-Save Addierer |
PCT/DE2002/002088 WO2003001361A2 (de) | 2001-06-25 | 2002-06-07 | 6-zu-3 bit carry-save addierer |
EP02754190A EP1399806A2 (de) | 2001-06-25 | 2002-06-07 | 6-zu-3 bit carry-save addierer |
US10/735,956 US20040159712A1 (en) | 2001-06-25 | 2003-12-15 | 6-To-3 bit carry-save adder |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10130483A DE10130483A1 (de) | 2001-06-25 | 2001-06-25 | 6-zu-3 Bit Carry-Save Addierer |
Publications (1)
Publication Number | Publication Date |
---|---|
DE10130483A1 true DE10130483A1 (de) | 2003-03-20 |
Family
ID=7689304
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10130483A Ceased DE10130483A1 (de) | 2001-06-25 | 2001-06-25 | 6-zu-3 Bit Carry-Save Addierer |
Country Status (4)
Country | Link |
---|---|
US (1) | US20040159712A1 (de) |
EP (1) | EP1399806A2 (de) |
DE (1) | DE10130483A1 (de) |
WO (1) | WO2003001361A2 (de) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220342634A1 (en) * | 2021-04-27 | 2022-10-27 | Texas Instruments Incorporated | Compact, high performance full adders |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5504915A (en) * | 1993-08-05 | 1996-04-02 | Hyundai Electronics America | Modified Wallace-Tree adder for high-speed binary multiplier, structure and method |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3757098A (en) * | 1972-05-12 | 1973-09-04 | Rca Corp | Carry generation means for multiple character adder |
US4399517A (en) * | 1981-03-19 | 1983-08-16 | Texas Instruments Incorporated | Multiple-input binary adder |
US6345286B1 (en) * | 1998-10-30 | 2002-02-05 | International Business Machines Corporation | 6-to-3 carry-save adder |
US6578063B1 (en) * | 2000-06-01 | 2003-06-10 | International Business Machines Corporation | 5-to-2 binary adder |
DE60031109D1 (de) * | 2000-08-01 | 2006-11-16 | St Microelectronics Sa | Übertragsicherstellungsaddierer |
DE10117041C1 (de) * | 2001-04-05 | 2002-07-25 | Infineon Technologies Ag | Carry-Ripple Addierer |
-
2001
- 2001-06-25 DE DE10130483A patent/DE10130483A1/de not_active Ceased
-
2002
- 2002-06-07 WO PCT/DE2002/002088 patent/WO2003001361A2/de not_active Application Discontinuation
- 2002-06-07 EP EP02754190A patent/EP1399806A2/de not_active Withdrawn
-
2003
- 2003-12-15 US US10/735,956 patent/US20040159712A1/en not_active Abandoned
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5504915A (en) * | 1993-08-05 | 1996-04-02 | Hyundai Electronics America | Modified Wallace-Tree adder for high-speed binary multiplier, structure and method |
Also Published As
Publication number | Publication date |
---|---|
EP1399806A2 (de) | 2004-03-24 |
WO2003001361A3 (de) | 2003-05-30 |
US20040159712A1 (en) | 2004-08-19 |
WO2003001361A2 (de) | 2003-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69731700T2 (de) | Arithmetischer Schaltkreis und arithmetisches Verfahren | |
DE3901995C2 (de) | ||
DE112005001906B4 (de) | Mehrbit-Addierer und Verfahren zum Propagieren, Generieren oder Killen von Carry-In-Bits entlang einer Carry-Kette | |
DE69132540T2 (de) | Programmierbare logische Schaltung | |
DE2707451C2 (de) | Paralleladdierwerk mit durchlaufendem Übertrag zum Addieren von wenigstens zwei aus mehreren Bits bestehenden Summanden | |
DE3940897C2 (de) | Schaltungsanordnung und Verfahren zur Berechnung digitaler Summen in einem Halbleiteraddierer mit Parallelübertrag | |
EP0209014B1 (de) | Anordnung mit einem sättigbaren Carry-Save-Addierer | |
EP0178424B1 (de) | Zellenstrukturierter digitaler Multiplizierer mit semisystolischem Aufbau | |
DE2165445C3 (de) | Logikschaltung | |
DE69726248T2 (de) | Addierer mit bedingter Summe unter Benutzung von Durchlasstransistor-Logik | |
DE19826315A1 (de) | Binärer Komparator | |
DE102005011666B3 (de) | Carry-Ripple-Addierer | |
EP0257362A1 (de) | Addierer | |
DE3751085T2 (de) | Volladdiererschaltung. | |
EP0224656A2 (de) | Mehrstelliger Carry-Ripple-Addierer in CMOS-Technik mit zwei Typen von Addiererzellen | |
DE2525690C3 (de) | Logische DOT-Verknüpfungsschaltung in Komplementär-Feldeffekttransistor-Technik | |
DE60210865T2 (de) | Tristate-Multiplexer | |
DE10130483A1 (de) | 6-zu-3 Bit Carry-Save Addierer | |
DE2017132A1 (de) | Binarer Parallel Addierer | |
DE2264308A1 (de) | Verknuepfungsschaltungsnetzwerk und bei diesem verwendbare dynamische pufferschaltung | |
DE10130484B4 (de) | 7-zu-3 Bit Carry-Save Addierer und Addierer damit | |
WO2004073171A2 (de) | Carry-ripple addierer | |
EP0218071B1 (de) | Addierzelle für Carry-Ripple-Addierer in CMOS-Technik | |
DE69026363T2 (de) | Multipositionsverschieber mit Paritätsbitgenerator | |
DE102015107509A1 (de) | Chip und Verfahren zum Betreiben einer Verarbeitungsschaltung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8131 | Rejection |