DE10305849B3 - Carry-Ripple Addierer - Google Patents

Carry-Ripple Addierer Download PDF

Info

Publication number
DE10305849B3
DE10305849B3 DE10305849A DE10305849A DE10305849B3 DE 10305849 B3 DE10305849 B3 DE 10305849B3 DE 10305849 A DE10305849 A DE 10305849A DE 10305849 A DE10305849 A DE 10305849A DE 10305849 B3 DE10305849 B3 DE 10305849B3
Authority
DE
Germany
Prior art keywords
carry
bits
input
adder
ripple adder
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
DE10305849A
Other languages
English (en)
Inventor
Joel Hatsch
Winfried Kamp
Siegmar KÖPPE
Marc Bernhardt
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.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE10305849A priority Critical patent/DE10305849B3/de
Priority to CNB2004800035787A priority patent/CN100541417C/zh
Priority to JP2006500019A priority patent/JP4157141B2/ja
Priority to EP04706161A priority patent/EP1593035A2/de
Priority to PCT/EP2004/000796 priority patent/WO2004073171A2/de
Application granted granted Critical
Publication of DE10305849B3 publication Critical patent/DE10305849B3/de
Priority to US11/203,445 priority patent/US20060294178A1/en
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/60Methods 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/607Methods 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/386Special constructional features
    • G06F2207/3872Precharge of output to prevent leakage
    • 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/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

Abstract

Die vorliegende Erfindung stellt einen Carry-Ripple Addierer (10) bereit, mit: drei ersten Eingängen (i0, i1, i2) zum Zuführen dreier zu summierender Eingangs-Bits (i0<N>, i1<N>, i2<N>) gleicher Wertigkeit 2·n·; zwei zweiten Eingängen (ci1, ci2) zum Zuführen zweier ebenfalls zu summierender Übertrags-/Carry-Bits (ci1<N>, ci2<N>) gleicher Wertigkeit 2·n·; einem Ausgang (s) zum Ausgeben eines berechneten Summen-Bits (s_n) der gleichen Wertigkeit 2·n·; und zwei Ausgängen (co1, co2) zum Ausgeben zweier berechneter Übertrags-/Carry-Bits (co1<N+1>, co2<N+1>) einer gleichen Wertigkeit 2·n+1·, die höher ist als die Wertigkeit 2·n· des Summen-Bits (s_n).

Description

  • Die vorliegende Erfindung betrifft einen Carry-Ripple Addierer und insbesondere einen "3 & 2 zu 3 Carry-Ripple Addierer".
  • Carry-Ripple Addierer sind als Addierer mit sequenzieller Übertragslogik bekannt. Ähnlich einem Carry-Save Addierer verfügen sie über mehrere Eingänge gleicher Wertigkeit und summieren im Betrieb die an diesen Eingängen anliegenden Bits auf. Die Summe der Bits wird an Ausgängen unterschiedlicher Wertigkeit beispielsweise in dualcodierter Zahlendarstellung (binary coded digits BCD) ausgegeben.
  • Zur Addition mehrerer Bits gleicher Wertigkeit, z.B. in Multiplizierern, ist es üblich, Carry-Save Addierer Arrays bzw. Anordnungen aufzubauen, beispielsweise entsprechend dem Wallace Tree Algorithmus, und die daraus resultierende Summen- und Carry-Datenrepräsentation in redundanter Zahlendarstellung abschließend mittels eines Vector Merging Adders (VMA) in eine eindeutige Zahlendarstellung zu überführen. Diese abschließende Stufe ist oft als Carry-Ripple Addierer ausgeführt, wobei jeweils zwei Bits gleicher Wertigkeit aufsummiert werden. Bei einem solchen Ansatz ist es somit erforderlich, daß der Carry-Save Addiererbaum generell bis auf zwei Bits zur Addition reduziert werden muß.
  • Bisher sind folglich nur Carry-Ripple Addierer eingesetzt worden, welche zwei Eingangs-Bits und ein Carry aufaddieren, wobei ein Summen-Bit der Wertigkeit 2n und ein Carry der Wertigkeit 2n+ 1 erzeugt werden. Daraus resultiert, daß mehrstufige Ansätze erforderlich sind, derart, daß zunächst ein Carry-Save Adder Tree entsprechend der Anzahl der Eingangs-Bits und abschließend ein 2 Bit Carry-Ripple Addierer verwendet wird.
  • Aus der Übersetzung der europäischen Patentschrift DE 692 06 604 ist eine schnelle Addierkette (carry ripple-Addierer) bekannt, welche zum Zusammenaddieren mehrerer N Digitalwörter aus n Bits vorgesehen ist, wobei N eine natürliche Zahl größer als 2 ist, umfassend mehrere kaskadierte Addierblöcke mit einem Anfangsblock, der die ersten zwei Digitalwörter empfängt und einem Endblock, der die Summe sämtlicher Wörter bildet. Bekannt ist daraus weiterhin eine Kombination aus einem Volladdierer mit zwei jeweils 2 Bits umfassenden Eingabewörtern und einem Übertrag aus einer vorhergehenden Summe, z.B. dem Übertrag aus einer vorhergehenden Stufe. Ein "4 und 1 zu 3"-Carry Ripple-Addierer ist in dieser Übersetzung der europäischen Patentschrift somit offenbart.
  • Lösungen für Carry-Ripple Addierer, welche mehrere Eingangs-Bits (bis zu fünf Eingangs-Bits) aufaddieren, sind aus der DE 101 17 041 und der DE 101 39 099 bekannt und in 10 dargestellt. Betrachtet man einen Carry-Ripple Addierer B1, B2 oder B3, so weist dieser fünf erste Eingänge i0, i1, i2, i3, i4 zur Entgegennahme von fünf zu summierenden Eingabe-Bits gleicher Wertigkeit, z.B. 2n, und zwei zweite Eingänge ci0, ci1 zur Entgegennahme von zwei Carries bzw. Übertrags-Bits der Wertigkeit 2n auf. Außerdem stellt er einen Ausgang s für ein Summen-Bit der Wertigkeit 2n und zwei Ausgänge c1, c2 für zwei Carries bzw. Übertrags-Bits der Wertigkeiten 2n+1 und 2n+2 bereit, wobei das eine Übertrags-Bit am Eingang c1 direkt an einen Eingang ci0 eines direkt benachbarten Carry-Ripple Addierers geführt wird, und der Ausgang c2 für das Übertrags-Bit der Wertigkeit 2n+2 erst an einen Eingang ci1 des übernächsten Carry-Ripple Addierers geführt wird. Diese bekannte Konfiguration ist jedoch für eine Realisierung mit komplementären CMOS-Gattern aufgrund einer auftretenden hohen Transistoranzahl, sowohl was die Verarbeitungsgeschwindigkeit als auch die benötigte Substratfläche betrifft, von Nachteil.
  • Es ist daher Aufgabe der vorliegenden Erfindung, einen Carry-Ripple Addierer bereitzustellen, welcher kleine Layouts, also eine Flächenreduktion und darüber hinaus eine Verlustleistungsreduktion im Betrieb ermöglicht.
  • Erfindungsgemäß wird diese Aufgabe durch den im Anspruch 1 angegebenen Carry-Ripple Addierer gelöst.
  • Die der vorliegenden Erfindung zugrundeliegende Idee besteht im wesentlichen darin, zwei Carries bzw. Übertrags-Bits gleicher Wertigkeit in einem Carry-Ripple Addierer zu generieren, welche direkt in die nächste Stufe eines mehrstufigen Carry-Ripple Addierers geführt und dort bewertet wird.
  • In der vorliegenden Erfindung wird das eingangs erwähnte Problem insbesondere dadurch gelöst, daß ein Carry-Ripple Addierer bereitgestellt wird mit: drei ersten Eingängen zum Zuführen dreier zu summierender Eingangs-Bits gleicher Wertigkeit 2n; zwei zweiten Eingängen zum Zuführen zweier ebenfalls zu summierender Übertrags-/Carry-Bits gleicher Wertigkeit 2n; einem Ausgang zum Ausgeben eines berechneten Summen-Bits der Wertigkeit 2n; und zwei Ausgängen zum Ausgeben zweier berechneter Übertrags-/Carry-Bits einer gleichen Wertigkeit 2n+1, die höher als die Wertigkeit 2n des Summen-Bits ist.
  • Ein Carry-Ripple Addierer gemäß der vorliegenden Erfindung erlaubt es somit bereits, ab einer Reduktion auf drei Bits eine abschließende Carry-Ripple Stufe VMA (Vector Merging Adder) einzusetzen. Auf diese Weise läßt sich entweder eine Carry Save Stufe einsparen, was sich in der Verarbeitungsgeschwindigkeit und in der Substratfläche der Gesamtschaltung vorteilhaft auswirkt, oder aber das dritte Eingangs-Bit jedes Carry-Ripple Addierers läßt sich für die effiziente Realisierung von Akkumulatoren, z.B. in MAC-Strukturen, nutzen.
  • Eine dynamische Realisierung der Carry- bzw. Übertrags-Pfade und ihre logische Implementierung innerhalb des Carry-Ripple Addierers ermöglicht, wie nachfolgend in einem Ausführungsbeispiel näher erläutert, zusätzlich eine Optimierung bezüglich der Fläche und der Geschwindigkeit im Vergleich zu komplementären oder differentiellen CMOS-Lösungen. Durch die gleichzeitige Erzeugung von zwei Carries bzw. Übertrags-Bits gleicher Wertigkeit, welche in jeder Stufe des Carry-Ripple Addierers bewertet werden, ist der Schaltungsaufwand und der interne Verdrahtungsaufwand geringer als bei mehrstufigen komplementären CMOS-Lösungen, die z.B. zusammengesetzt aus 3 Bit Carry-Save Addierern und 2 Bit Carry-Ripple Addierern sind. Dies gilt ebenso bezüglich dynamischen Carry-Ripple Addierern mit drei Eingängen.
  • Aufgrund der deutlich reduzierten Transistoranzahl im Carry-Pfad im Vergleich zu den bekannten oben erläuterten Alterna tiven ist mit dem erfindungsgemäßen Carry-Ripple Addierer ein flächen- und verlustleistungsoptimierter Addierer bereitgestellt, welcher insbesondere als Final Adder in Multiplizierern, Addiererbäumen, Filterstrukturen, Akkumulatoren und Rechenwerken einsetzbar ist.
  • In den Unteransprüchen finden sich vorteilhafte Weiterbildungen und Verbesserungen des jeweiligen Erfindungsgegenstandes.
  • Gemäß einer bevorzugten Weiterbildung weist der Carry-Ripple Addierer mindestens einen Precharge-Eingang zum Ansteuern einer integrierten Precharge-Logikstufe auf.
  • Gemäß einer weiteren bevorzugten Weiterbildung weist der Carry-Ripple Addierer eine Carry-Stufe und eine Summationsstufe auf.
  • Gemäß einer weiteren bevorzugten Weiterbildung weist die Carry-Stufe zwei Carry-Additionsblöcke auf, durch welche die Carry-Ausgangssignale unabhängig voneinander und zeitlich parallel berechenbar sind.
  • Gemäß einer weiteren bevorzugten Weiterbildung weist zumindest ein Carry-Additionsblock zwischen einem Knotenpunkt und einem Knotenpunkt einen n-Kanal-FET auf, der gate-seitig mit dem Carry-Eingang ci2 verbunden ist, und zwischen dem Knoten und einem Bezugspotential eine Reihenschaltung aus zwei n-Kanal-FETS liegt, wobei einer gate-seitig mit i1 und der andere mit i2 verbunden ist, und parallel dazu zwischen dem Knoten und einem weiteren Knoten eine Parallelschaltung aus zwei n-Kanal-FETS liegt, wobei einer gate-seitig mit i1, der zweite gate-seitig mit i2 verbunden ist und beide Drains in dem weiteren Knoten zusammengeführt werden, welcher über einen gate-seitig mit i0 beaufschlagbaren n-Kanal-FET mit dem Bezugspotential verbindbar ist.
  • Gemäß einer weiteren bevorzugten Weiterbildung weist zumindest ein Carry-Additionsblock einen gate-seitig mit dem Carry-Eingang ci2 verbundenen n-Kanal-FET zwischen einem Knoten und dem Bezugspotential auf, wobei der Knoten vorzugsweise über einen gate-seitig mit einem Precharge-Eingang verbundenen p-Kanal-FET mit einer Versorgungsspannung beaufschlagbar ist.
  • Gemäß einer weiteren bevorzugten Weiterbildung weist die Summationsstufe eine 5-fach XOR-Verknüpfung auf.
  • Gemäß einer weiteren bevorzugten Weiterbildung besteht eine Bit-Additionseinrichtung aus einer Parallelschaltung mehrerer Carry-Ripple Addierer, wobei je Carry-Ripple Addierer 3 Eingangsbits gleicher Wertigkeit 2n vorgesehen sind.
  • Gemäß einer weiteren bevorzugten Weiterbildung ist der Carry-Ripple Addierer als Final Adder in einem Multiplizierer, Addiererbaum, Akkumulator, einer Filterstruktur oder einem Rechenwerk vorgesehen.
  • Ein Ausführungsbeispiel der Erfindung ist in den Zeichnungen dargestellt und in der nachfolgenden Beschreibung näher erläutert.
  • Es zeigen:
  • 1 eine schematische Darstellung eines "3 & 2 zu 3 Carry-Ripple Addierers" zur Erläuterung einer Ausführungsform der vorliegenden Erfindung;
  • 2 eine Wahrheitstabelle für einen "3 & 2 zu 3 Carry-Ripple Addierer";
  • 3 eine schematische Darstellung des internen Aufbaus eines "3 & 2 zu 3 Carry-Ripple Addierers" zur Er läuterung einer Ausführungsform der vorliegenden Erfindung;
  • 4 eine schematische Darstellung einer Verschaltung eines Carry-Ripple Addierers für drei Eingangsworte mit jeweils fünf Bit zur Erläuterung einer Ausführungsform der vorliegenden Erfindung;
  • 5 eine schematische Darstellung einer Carry-Stufe eines Carry-Ripple Addierers zur Erläuterung einer Ausführungsform der vorliegenden Erfindung;
  • 6 ein schematisches Schaltbild eines Blockes der Carry-Stufe gemäß 5 zur Erläuterung einer Ausführungsform der vorliegenden Erfindung;
  • 7 ein schematisches Schaltbild des zweiten Blocks der Carry-Stufe gemäß 5 zur Erläuterung einer Ausführungsform der vorliegenden Erfindung;
  • 8 eine schematische Darstellung eines Summenblocks eines Carry-Ripple Addierers zur Erläuterung einer Ausführungsform der vorliegenden Erfindung;
  • 9 ein schematisches Schaltbild einer 5-fach XOR-Stufe des Summenblocks zur Erläuterung einer Ausführungsform der vorliegenden Erfindung; und
  • 10 ein schematisches Blockschaltbild zur Erläuterung eines bekannten Carry-Ripple Addierers.
  • In den Figuren bezeichnen gleiche Bezugszeichen gleiche oder funktionsgleiche Bestandteile.
  • In 1 ist eine schematische Darstellung eines "3 & 2 zu 3 Carry-Ripple Addierers" 10 dargestellt, welcher über drei Bit-Eingänge i0, i1 und i2 und je zwei gleichwertige Carry- Eingänge ci1, ci2 und Carry-Ausgänge co1, co2 sowie einen Summenausgang s verfügt.
  • 2 zeigt eine Wahrheits- bzw. Funktionstabelle für ein Bit des Carry-Ripple Addierers gemäß 1. Auf Basis der gewählten Codierung der beiden gleichwertigen Carry-Ausgangssignale co2 und co1 treten Eingangskombinationen mit ci2 = 1 und ci1 = 0 im Betrieb nicht auf (in 2 schraffiert), da ci2 nur setzbar ist, wenn auch ci1 gesetzt ist, woraus ein doppeltes Carry folgert. Diese Tatsache des Auftretens von "Don't care-Elementen" wird zur Minimierung der Schaltung ausgenutzt. Bei der Position s in der Tabelle ergibt sich die einfache Summe der fünf Eingangs-Bits an den Eingängen i0, i1, i2, ci1, ci2, und am Ausgang co1 wird ein Übertrag generiert, wenn die Summe der Eingangs-Bits beispielsweise ≥ 2 ist, wobei am Ausgang co2 eine 1 anliegt, sobald die Summe der fünf Eingangs-Bits ≥ 4 ist, jedoch dann co1 bereits auf 1 gesetzt ist, da die Summe auch ≥ 2 ist.
  • In 3 ist der prinzipielle Aufbau eines Carry-Ripple Addierers 10 mit drei Eingangs-Bits i0, i1, i2, je zwei gleichwertigen Carry-Eingängen ci1, ci2 und Carry-Ausgängen co1, co2 sowie einem Summenausgang s als Blockschaltbild dargestellt. Der Addierer 10 setzt sich aus zwei Blöcken 11, 12 zusammen, einer Carry-Stufe 11 und einer Summationsstufe bzw. Schaltung 12. Die optional zugeführten Signale prech_1 und prechq_1 steuern vorzugsweise eine integrierte Precharge-Logikstufe, wenn eine dynamische Implementierung vorgesehen ist. Die drei Eingangs-Bits i0, i1, i2 und die zwei Carry-Eingangs-Bits ci1 und ci2 werden jeweils beiden Blöcken 11 und 12 zugeführt, ebenso wie eine Versorgungsspannung vdd und ein Bezugspotential vss. Über den Carry-Block 11 werden die Carry-Ausgänge co1 und co2 bedient. Bei einer dynamischen Implementierung werden die Precharge-Signale prech_1 und prechq_1 an zwei komplementäre Eingänge des Carry-Blocks 11 gelegt. Im Gegensatz dazu verfügt der Summationsblock 12 über den Summenausgang s und wird bei einer dynamischen Implemen tierung lediglich mit dem Precharge-Signal prechq_1 an einem invertierenden Eingang beaufschlagt.
  • 4 zeigt schematisch die Verschaltung eines Carry-Ripple Addierers für drei Eingangsworte i0, i1 und i2 mit jeweils 5 Bits <4:0>, wobei 5 Carry-Ripple Addierer gemäß 2 miteinander gekoppelt sind, für jede Bit-Position <n> (n = 0 bis 4) ein Carry-Ripple Addierer 10. Dabei addiert die n-te Stufe zu den drei Eingangs-Bits i0<n>, i1<n> und i2<n> mit der Wertigkeit 2n zwei Carry-Eingangssignale ci1<n> und ci2<n>, welche ebenfalls die Wertigkeit 2n aufweisen, und erzeugt ein Summensignal s_n der gleichen Wertigkeit 2n sowie zwei Carry-Ausgangssignale co1<n+1>, co2<n+1> der nächsthöheren Wertigkeit 2n+1, welche den Carry-Eingangssignalen ci1<n+1>, ci2<n+1> der n+1-ten Stufe entsprechen, wobei n im vorliegenden Beispiel gemäß 4 eine ganze Zahl zwischen 0 und 4 inklusive ist.
  • In 5 ist schematisch eine Carry-Stufe 11 eines Carry-Ripple Addierers gemäß 3 und/oder 4 dargestellt. Die Carry-Stufe 11 weist zwei Blöcke 13 und 14 auf, welche jeweils ein Carry-Ausgangssignal co2 und co1 unabhängig voneinander und somit zeitlich parallel berechnen. Sowohl der Block 13 zur Berechnung des Carry-Ausgangssignals co2 als auch der Block 14 zur Berechnung des Carry-Ausgangssignals co1 sind mit den Eingängen i0, i1, i2, ci1 und ci2 der Versorgungsspannung vdd und dem Bezugspotential vss verbunden. Vorzugsweise sind beide Blöcke 13 und 14 bei einer dynamischen Implementierung mit den Precharge-Signalen prech und prechq, welche invertiert zueinander zugeführt werden, verbunden.
  • 6 zeigt ein schematisches Schaltbild einer dynamischen Realisierung des Blockes 13 gemäß 5 zur Erzeugung des Carry-Ausgangssignals co2 in Abhängigkeit der Signale an den drei Bit-Eingängen i0, i1, i2, den beiden Carry-Eingängen ci1 und ci2 sowie den Precharge-Signalen prech und prechq. Zwi schen der Versorgungsspannung vdd und einem Knotenpunkt 17 ist ein p-Kanal-Feldeffekttransistor P geschaltet, welcher gate-seitig vom Precharge-Signal prechq angesteuert wird. Zwischen dem Knotenpunkt 17 und einem Knotenpunkt 18 schließt sich ein n-Kanal-FET N gate-seitig mit dem Carry-Eingang ci1 verbunden an. Optional ist der Knotenpunkt 18 über einen n-FET N, welcher gate-seitig mit dem Precharge-Signal prech angesteuert wird, mit der Versorgungsspannung vdd verbindbar. Zwischen dem Knotenpunkt 18 und dem Bezugspotential vss liegt eine Reihenschaltung aus drei n-Kanal-FETS N, wobei einer gate-seitig mit i0, der nächste gate-seitig mit i1 und der dritte gate-seitig mit i2 verbunden sind.
  • Zwischen dem Knotenpunkt 17 und einem Knotenpunkt 19 ist ein n-Kanal-FET geschaltet, der gate-seitig mit dem Carry-Eingang ci2 verbunden ist. Zwischen dem Knoten 19 und dem Bezugspotential vss liegt eine Reihenschaltung aus zwei n-Kanal-FETS N, wobei einer gate-seitig mit i1 und der andere mit i2 verbunden ist. Parallel dazu liegt zwischen dem Knoten 19 und einem Knoten 20 eine Parallelschaltung aus zwei n-Kanal-FETS N, wobei einer mit i1, der zweite mit i2 gate-seitig verbunden ist und beide Drains in einem Knoten 20 zusammengeführt werden, welcher dann über einen gate-seitig mit i0 beaufschlagbaren n-Kanal-FET N mit dem Bezugspotential vss verbindbar ist. Optional ist der Knoten 19 über einen n-Kanal-FET, der mit dem Precharge-Signal prech an seiner Gate beaufschlagbar ist, mit der Versorgungsspannung vdd verbindbar. Zwischen der Versorgungsspannung vdd und dem Bezugspotential vss liegt darüber hinaus in einem weiteren Parallelstrang eine Reihenschaltung aus einem p- und einem n-Kanal-FET P, N, wobei der p-Kanal-FET P gate-seitig mit dem Knoten 17 verbunden ist, und der n-Kanal-FET N gate-seitig mit dem Precharge-Signal prech beaufschlagbar ist. Zwischen dem p-Kanal- Feldeffekttransistor P und dem n-Kanal-FET N wird der Carry-Ausgang co2 abgegriffen.
  • 7 verkörpert eine schematische Schaltung zur dynamischen Realisierung des Blockes 14 gemäß 5. Zwischen einer Versorgungsspannung vdd und einem Schaltungsknoten 21 ist ein p-Kanal-FET P geschaltet, welcher mit dem Precharge-Signal prechq an seiner Gate beaufschlagt ist. Zwischen dem Knoten 21 und einem Bezugspotential vss ist eine Reihenschaltung aus zwei n-Kanal-FETS N vorgesehen, wobei einer gate-seitig mit dem Carry-Eingang ci1 und der zweite gate-seitig mit i2 beaufschlagt ist. Parallel dazu zwischen dem Knoten 21 und einem Knoten 22 liegt eine Parallelschaltung aus zwei n-Kanal-FETS N, wobei einer gate-seitig mit i2, der andere gateseitig mit dem Carry-Eingang ci1 verbunden ist, und der Knoten 22 wiederum über eine Parallelschaltung aus zwei n-Kanal-FETS N mit dem Bezugspotential vss in Abhängigkeit von gateseitig anliegendem i0 bzw. i1 verbindbar ist.
  • Optional verfügt die Schaltung gemäß 7 darüber hinaus über die Möglichkeit, den Schaltungsknoten 22 über einen n-Kanal-FET N in Abhängigkeit vom Precharge-Signal prech mit der Versorgungsspannung vdd zu verbinden. Als weitere parallele Stränge zwischen dem Schaltungsknoten 21 und dem Bezugspotential vss ist eine Serienschaltung aus zwei n-Kanal-FETs N vorgesehen, wobei einer gate-seitig mit i1 und der andere gate-seitig mit i0 beaufschlagt wird. Weiterhin parallel dazu zwischen dem Schaltungsknoten 21 und dem Bezugspotential vss liegt ein gate-seitig mit ci2 beaufschlagter n-Kanal-FET N. Als Parallelstrang zwischen der Versorgungsspannung vdd und dem Bezugspotential vss liegt eine Serienschaltung aus einem p-Kanal-FET P und einem n-Kanal-FET N, wobei der p-Kanal-FET P gate-seitig mit dem Knoten 21 verbunden ist, und der n-Kanal-FET N gate-seitig mit dem Precharge-Signal prech beaufschlagt wird. Zwischen diesem p-Kanal-FET P und n-Kanal-FET N wird das Carry-Ausgangssignal co1 abgegriffen.
  • 8 zeigt eine schematische Darstellung des Summenblocks 12 gemäß 3 und/oder 4. In 8 (linker Teil) ist eine mögliche Realisierung der Eingangsstufe dargestellt.
  • Zwischen einer Versorgungsspannung vdd und einem Bezugspotential vss liegt eine Reihenschaltung aus einem p-Kanal- Feldeffekttransistor P und einem n-Kanal-Feldeffekttransistor N, wobei der p-Kanal-Feldeffekttransistor P gate-seitig mit dem Precharge-Signal prechq und der n-Kanal-Feldeffekttransistor N gate-seitig mit dem Signal am Carry-Eingang ci1 beaufschlagbar ist. Zwischen dem p-Kanal-FET P und dem n-Kanal-FET N liegt der Schaltungsknoten 23, an welchem das Signal i1q abgegriffen wird. Das Signal i1q am Knoten 23 wird über einen Inverter I, welcher sowohl mit dem Bezugspotential vss als auch mit der Versorgungsspannung vdd verbunden ist, in ein Signal i1 umgewandelt. Für jedes Eingangssignal ci1, ci2 und x1, welches i0 entspricht, x2, welches i1 entspricht, und x3, welches i2 entspricht (siehe 4), ist eine identische Eingangsstufe vorgesehen. Aus dem Carry-Eingang ci2 werden die Signale i2q und i2, aus dem Eingangssignal x1 werden die Signale i3 und i3q, aus dem Eingangssignal x2 werden die Signale i4 und i4q, und aus dem Eingangssignal x3 werden die Signale i5 und i5q für den Summenblock generiert.
  • 8 (rechter Teil) zeigt eine schematische Darstellung des Summenblocks, wobei hier ebenfalls wieder eine Umsortierung vorgenommen wird, da aus i3 gemäß 8 (linker Teil) x1 wird, aus i3q wird x1q, aus i4 wird x2, aus i4q wird x2q, aus i5 wird x3, aus i5q wird x3q, aus i2 wird x4, aus i2q wird x4q, aus i1 wird x5, und aus i1q wird x5q. Darüber hinaus verfügt die Summationseinrichtung gemäß 8 (rechter Teil) über einen Precharge-Zugang mit dem Signal prechq, einen Enable-Eingang EN, wobei das Signal prechq auch an dem Enable-Eingang EN anliegt, einen Summenausgang s und eine Verbindung zum Bezugspotential vss und der Versorgungsspannung vdd. Die Eingangsstufe gemäß 8 (linker Teil) dient zur Synchronisation der Summenstufe mit dynamischen Schaltungsteilen der Gesamtschaltung.
  • In 9 wird ein schematisches Schaltbild einer exemplarischen 5-fach XOR-Verknüpfung als Summenblock gemäß 8 dargestellt. Vorzugsweise sind die beiden zeitkritischen Carry-Signale ci1, welches in i1 bzw. i1q und somit x5 und x5q gewandelt werden (siehe 8), und das Carry-Eingangssignal ci2, welches zu i2 bzw. i2q und somit zu x4 bzw. x4q gewandelt wird, auf die dem Ausgang Z bzw. ZQ der XOR-Schaltung nächstgelegenen n-Kanal-Feldeffekttransistoren N geführt. Die 5-fach XOR-Stufe 15 gemäß 9 ist über eine Vorschaltung 24 in Abhängigkeit vom Precharge-Signal prechq an die Versorgungsspannung vdd anbindbar und darüber hinaus über ein Enable-Signal EN am Gate eines n-Kanal- Feldeffekttransistors N mit dem Bezugspotential vss verbindbar. Dieses Enable- Signal EN wird über den Enable-Eingang gemäß 8 (rechter Teil) zugeführt.
  • Obwohl die vorliegende Erfindung vorstehend anhand eines bevorzugten Ausführungsbeispiels beschrieben wurde, ist sie darauf nicht beschränkt, sondern auf vielfältige Weise modifizierbar.
  • So ist das Schaltungsprinzip des Carry-Pfades, welches auf der Berechnung und Weiterleitung zweier Carries gleicher Wertigkeit beruht, auch für zwei Carry-Signale, die austauschbar sind, anwendbar. Darüber hinaus sind die Blöcke, die zur Erzeugung der beiden Carry-Signale dienen, nicht zwangsläufig unabhängig voneinander. Bei einer Realisierung mit komplementären CMOS-Gattern besteht die Möglichkeit, Subblöcke gemeinsam zu nutzen. Für eine High-Performance-Anwendung ist jedoch eine Trennung von Vorteil.
  • Außerdem sind die n-Kanal-Transistoren N, welche sich im Evaluierungsteil der Carry-Gatter befinden (siehe 6 und 7), und an deren Gate das Precharge-Signal prech anliegt, für eine prinzipielle Realisierung der logischen Funktion nicht erforderlich. Sie reduzieren lediglich das Ladungs-aufteilungs- bzw. Charge-Sharing-Problem, welches je nach Technologie und Layout-Realisierung auftreten kann. Diese sind somit nur optional, können auch als p-Kanal FETS mit invertierter Ansteuerung ausgelegt werden und stellen eine vorteilhafte Optimierung dar. Schließlich kann als Summenstufe prinzipiell jedes statische oder dynamische 5-fach XOR-Gatter verwendet werden.
  • i0, il, i2
    Eingänge von Eingangs-Bits
    x1, x2, x3
    Eingänge von Eingangs-Bits
    i0<0>–i0<4>,
    i1<0>–i1<4>,
    i2<0>–i2<4>
    Eingangs-Bits an entsprechenden Eingängen
    ci1, ci2
    Eingänge von Übertrags-/Carry-Bits
    s, s_0–s_4
    Summationsausgänge
    co1, co2
    Ausgänge von Übertrags-/Carry-Bits
    2n
    Wertigkeit eines Bits (n = natürl. Zahl)
    2n+1
    um eins erhöhte Wertigkeit eines Bits
    prech, prechq
    Vorlade-/Precharge-Eingänge
    prech_1, prechq_1
    Vorlade-/Precharge-Eingänge
    vdd
    Versorgungsspannung
    vss
    Bezugspotential
    10
    Carry-Ripple Addierer/Bit-Summationseinrich
    tung
    11
    Carrystufe (Übertragsummation)
    12
    Summationsstufe (normale Summation o Übertrag)
    13
    Carry-Additionsblock
    14
    Carry-Additionsblock
    15
    5-fach Xor-Stufe
    16
    Multibit-Carry-Ripple Addierer
    17, 18, 19, 20
    Schaltungsknotenpunkte
    21, 22, 23
    Schaltungsknotenpunkte
    24
    Vorschaltung der 5-fach XOR-Stufe
    B1, B2, B2
    Carry-Ripple Addierer nach dem St.d.T mit un
    gleichen Wertigkeiten der Ausgangs-Übertrags
    bits
    P, N
    p-Kanal FET, n-Kanal FET
    en
    Enable Signal

Claims (9)

  1. Carry-Ripple Addierer (10) mit: drei ersten Eingängen (i0, i1, i2) zum Zuführen dreier zu summierender Eingangs-Bits (i0<n>, i1<n>, i2<n>) gleicher Wertigkeit 2n; zwei zweiten Eingängen (ci1, ci2) zum Zuführen zweier ebenfalls zu summierender Übertrags-/Carry-Bits (ci1<n>, ci2<n>) gleicher Wertigkeit 2n; einem Ausgang (s) zum Ausgeben eines berechneten Summen-Bits (s_n) der gleichen Wertigkeit 2n; und zwei Ausgängen (co1, co2) zum Ausgeben zweier berechneter Übertrags-/Carry-Bits (co1<n+1>, co2<n+1>) einer gleichen Wertigkeit 2n+1, welche höher ist als die Wertigkeit 2n des Summen-Bits (s_n).
  2. Carry-Ripple Addierer (10) nach Anspruch 1, dadurch gekennzeichnet, daß der Carry-Ripple Addierer (10) mindestens einen Precharge-Eingang (prech, prechq) zum Ansteuern einer integrierten Precharge-Logikstufe aufweist.
  3. Carry-Ripple Addierer (10) nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß der Carry-Ripple Addierer (10) eine Carry-Stufe (11) und eine Summationsstufe (12) aufweist.
  4. Carry-Ripple Addierer (10) nach Anspruch 3, dadurch gekennzeichnet, daß die Carry-Stufe (11) zwei Carry-Additionsblöcke (13, 14) aufweist, durch welche die Carry-Ausgangssignale (co1<n+1>, co2<n+1>) unabhängig voneinander und zeitlich parallel berechenbar sind.
  5. Carry-Ripple Addierer (10) nach Anspruch 4, dadurch gekennzeichnet, daß zumindest ein Carry-Additionsblock (13) zwischen einem Knotenpunkt (17) und einem Knotenpunkt (19) einen n-Kanal-FET (N) aufweist, der gate-seitig mit dem Carry-Eingang (ci2) verbunden ist, und zwischen dem Knoten (19) und einem Bezugspotential (vss) eine Reihenschaltung aus zwei n-Kanal-FETS (N) liegt, wobei einer gate-seitig mit (i1) und der andere mit (i2) verbunden ist, und parallel dazu zwischen dem Knoten (19) und einem Knoten (20) eine Parallelschaltung aus zwei n-Kanal-FETS (N) liegt, wobei einer gate-seitig mit (i1), der zweite gate-seitig mit (i2) verbunden ist und beide Drains in dem Knoten (20) zusammengeführt werden, welcher über einen gate-seitig mit (i0) beaufschlagbaren n-Kanal-FET (N) mit dem Bezugspotential (vss) verbindbar ist.
  6. Carry-Ripple Addierer (10) nach Anspruch 4 oder 5, dadurch gekennzeichnet, daß zumindest ein Carry-Additionsblock (14) einen gateseitig mit dem Carry-Eingang (ci2) verbundenen n-Kanal-FET (N) zwischen einem Knoten (21) und dem Bezugspotential (vss) aufweist, wobei der Knoten (21) vorzugsweise über einen gate-seitig mit einem Precharge-Eingang (prechq) verbundenen p-Kanal-FET (P) mit einer Versorgungsspannung (vdd) beaufschlagbar ist.
  7. Carry-Ripple Addierer (10) nach Anspruch 3, dadurch gekennzeichnet, daß die Summationsstufe (12) eine 5-fach XOR-Verknüpfung (15) aufweist.
  8. Carry-Ripple Addierer (10) nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß eine Bit-Additionseinrichtung (16) aus einer Parallelschaltung mehrerer Carry-Ripple Addierer (10) besteht, wobei je Carry-Ripple Addierer (10) 3 Eingangsworte (i0<n>, i1<n>, i2<n>) gleicher Wertigkeit 2n vorgesehen sind.
  9. Carry-Ripple Addierer (10) nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß der Carry-Ripple Addierer (10) als Final Adder in einem Multiplizierer, Addiererbaum, Akkumulator, einer Filterstruktur oder einem Rechenwerk vorgesehen ist.
DE10305849A 2003-02-12 2003-02-12 Carry-Ripple Addierer Expired - Fee Related DE10305849B3 (de)

Priority Applications (6)

Application Number Priority Date Filing Date Title
DE10305849A DE10305849B3 (de) 2003-02-12 2003-02-12 Carry-Ripple Addierer
CNB2004800035787A CN100541417C (zh) 2003-02-12 2004-01-29 逐位进位加法器
JP2006500019A JP4157141B2 (ja) 2003-02-12 2004-01-29 桁上げリップル加算器
EP04706161A EP1593035A2 (de) 2003-02-12 2004-01-29 Carry-ripple addierer
PCT/EP2004/000796 WO2004073171A2 (de) 2003-02-12 2004-01-29 Carry-ripple addierer
US11/203,445 US20060294178A1 (en) 2003-02-12 2005-08-12 Carry-ripple adder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10305849A DE10305849B3 (de) 2003-02-12 2003-02-12 Carry-Ripple Addierer

Publications (1)

Publication Number Publication Date
DE10305849B3 true DE10305849B3 (de) 2004-07-15

Family

ID=32520140

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10305849A Expired - Fee Related DE10305849B3 (de) 2003-02-12 2003-02-12 Carry-Ripple Addierer

Country Status (6)

Country Link
US (1) US20060294178A1 (de)
EP (1) EP1593035A2 (de)
JP (1) JP4157141B2 (de)
CN (1) CN100541417C (de)
DE (1) DE10305849B3 (de)
WO (1) WO2004073171A2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005011666B3 (de) * 2005-03-14 2006-06-29 Infineon Technologies Ag Carry-Ripple-Addierer

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2469381C1 (ru) * 2011-11-08 2012-12-10 Общество с ограниченной ответственностью "СибИС" Сумматор
CN103345378B (zh) * 2013-07-03 2016-08-24 刘杰 三加数二进制并行同步加法器
US10073677B2 (en) * 2015-06-16 2018-09-11 Microsoft Technology Licensing, Llc Mixed-radix carry-lookahead adder architecture
US11687603B2 (en) 2016-04-29 2023-06-27 Microsoft Technology Licensing, Llc Ensemble predictor
US10402165B2 (en) * 2017-08-30 2019-09-03 Gsi Technology Inc. Concurrent multi-bit adder
CN110597485B (zh) * 2019-09-10 2022-04-22 北京嘉楠捷思信息技术有限公司 模块化多位加法器及计算系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69206604T2 (de) * 1992-05-27 1996-05-09 Sgs Thomson Microelectronics Schnelle Addierkette.
DE10117041C1 (de) * 2001-04-05 2002-07-25 Infineon Technologies Ag Carry-Ripple Addierer
DE10139099A1 (de) * 2001-08-09 2003-02-27 Infineon Technologies Ag Carry-Ripple Addierer

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3535502A (en) * 1967-11-15 1970-10-20 Ibm Multiple input binary adder
US5493524A (en) * 1993-11-30 1996-02-20 Texas Instruments Incorporated Three input arithmetic logic unit employing carry propagate logic
DE19521089C1 (de) * 1995-06-09 1996-08-08 Siemens Ag Schaltungsanordnung zur Realisierung von durch Schwellenwertgleichungen darstellbaren Logikelementen
US6065033A (en) * 1997-02-28 2000-05-16 Digital Equipment Corporation Wallace-tree multipliers using half and full adders
US5805491A (en) * 1997-07-11 1998-09-08 International Business Machines Corporation Fast 4-2 carry save adder using multiplexer logic
US6345286B1 (en) * 1998-10-30 2002-02-05 International Business Machines Corporation 6-to-3 carry-save adder
US6515534B2 (en) * 1999-12-30 2003-02-04 Intel Corporation Enhanced conductivity body biased PMOS driver
US6584485B1 (en) * 2000-04-14 2003-06-24 International Business Machines Corporation 4 to 2 adder
US7085796B1 (en) * 2000-06-08 2006-08-01 International Business Machines Corporation Dynamic adder with reduced logic
DE60031109D1 (de) * 2000-08-01 2006-11-16 St Microelectronics Sa Übertragsicherstellungsaddierer
US6701339B2 (en) * 2000-12-08 2004-03-02 Intel Corporation Pipelined compressor circuit

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69206604T2 (de) * 1992-05-27 1996-05-09 Sgs Thomson Microelectronics Schnelle Addierkette.
DE10117041C1 (de) * 2001-04-05 2002-07-25 Infineon Technologies Ag Carry-Ripple Addierer
DE10139099A1 (de) * 2001-08-09 2003-02-27 Infineon Technologies Ag Carry-Ripple Addierer

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005011666B3 (de) * 2005-03-14 2006-06-29 Infineon Technologies Ag Carry-Ripple-Addierer
US7716270B2 (en) 2005-03-14 2010-05-11 Infineon Technologies Ag Carry-ripple adder

Also Published As

Publication number Publication date
CN100541417C (zh) 2009-09-16
EP1593035A2 (de) 2005-11-09
JP4157141B2 (ja) 2008-09-24
WO2004073171A3 (de) 2005-03-10
WO2004073171A2 (de) 2004-08-26
CN1748200A (zh) 2006-03-15
JP2006517700A (ja) 2006-07-27
US20060294178A1 (en) 2006-12-28

Similar Documents

Publication Publication Date Title
EP0633662B1 (de) Schaltungsanordnung für einen Ringoszillator
DE3940897C2 (de) Schaltungsanordnung und Verfahren zur Berechnung digitaler Summen in einem Halbleiteraddierer mit Parallelübertrag
DE10305849B3 (de) Carry-Ripple Addierer
DE1549508C3 (de) Anordnung zur Übertragsberechnung mit kurzer Signallaufzeit
DE10244738B3 (de) Vorrichtung und Verfahren zum Umsetzen und Addierer
EP0352549B1 (de) Carry-select-Addierer
EP0257362A1 (de) Addierer
DE3610875A1 (de) Subtrahierer in komplementaerer metalloxid-halbleitertechnologie
EP0224656B1 (de) Mehrstelliger Carry-Ripple-Addierer in CMOS-Technik mit zwei Typen von Addiererzellen
DE10117041C1 (de) Carry-Ripple Addierer
DE10324049B4 (de) Integrierte Schaltung und Verfahren zum Betreiben der integrierten Schaltung
DE3323607A1 (de) Digitales rechenwerk
DE3326388C2 (de)
DE2705989A1 (de) Mehrziffernrechenwerk
DE2017132B2 (de) Binärer Parallel-Addierer
DE10227618A1 (de) Logikschaltung
DE10206830B4 (de) Verfahren und Anordnung zur Zusammenführung von Daten aus parallelen Datenpfaden
DE19849774B4 (de) Byte schaltende Arithmetik-Einheit
DE10130484B4 (de) 7-zu-3 Bit Carry-Save Addierer und Addierer damit
DE10347077B4 (de) Multibit-Bit-Addierer
DE4329678C2 (de) Codeumsetzer-Schaltung
DE102005033812B3 (de) Paralleler skalierbarer und konfigurierbarer Addierer
DE10307942B3 (de) Halbaddierer
EP1283463A2 (de) Carry-Ripple-Addierer
DE102004025581A1 (de) Logik-Grundzelle und Logik-Grundzellen-Anordnung

Legal Events

Date Code Title Description
8100 Publication of patent without earlier publication of application
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee