DE10019698A1 - Verfahren und Vorrichtung zum Durchführen einer Summier-und-Vergleichs-Operation - Google Patents

Verfahren und Vorrichtung zum Durchführen einer Summier-und-Vergleichs-Operation

Info

Publication number
DE10019698A1
DE10019698A1 DE10019698A DE10019698A DE10019698A1 DE 10019698 A1 DE10019698 A1 DE 10019698A1 DE 10019698 A DE10019698 A DE 10019698A DE 10019698 A DE10019698 A DE 10019698A DE 10019698 A1 DE10019698 A1 DE 10019698A1
Authority
DE
Germany
Prior art keywords
carry
sum
stage
output
precharge
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.)
Granted
Application number
DE10019698A
Other languages
English (en)
Other versions
DE10019698C2 (de
Inventor
Kel D Winters
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of DE10019698A1 publication Critical patent/DE10019698A1/de
Application granted granted Critical
Publication of DE10019698C2 publication Critical patent/DE10019698C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/50Adding; Subtracting
    • G06F7/505Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
    • 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/02Comparing digital values
    • 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/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49905Exception handling
    • G06F7/4991Overflow or underflow

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Logic Circuits (AREA)

Abstract

Es sind ein Verfahren und eine Vorrichtung zum Durchführen einer schnellen Summier-und-Vergleichs-Operation offenbart. Die Vorrichtung verwendet einen einzelnen Übertrag-Speicherungs-Addierer in Verbindung mit einer Null-Erfassungsschaltung zum Durchführen von logischen Operationen, um zu bestimmen, ob die Summe einer Mehrzahl von Operanden gleich oder nicht gleich einer oder mehrerer Konstanten ist. Der Übertrag-Speicherungs-Addierer erzeugt eine Summe M und einen Übertrag L, die von dem Übertrag-Speicherungs-Addierer zu der Null-Erfassungsschaltung ausgegeben werden. Die Null-Erfassungsschaltung erzeugt innere Übertrag-Signale, die zwischen benachbarten Bitzellen der Null-Erfassungsschaltung weitergeleitet werden. Die Null-Erfassungsschaltung erzeugt Ausgangssignale Zk1 bis Zkn, die wahr sind, wenn die Bedingung A + B + C = (k1, k2, k3, ..., kn) für alle Konstanten k1 bis kn wahr ist. Die Übertrag-Signale bewegen sich durch lediglich ein Bit der Null-Erfassungsschaltung, wodurch die Summier-und-Vergleichs-Schaltung der vorliegenden Erfindung mit einer sehr hohen Geschwindigkeit versehen wird. Die Konstanten werden in die Metallmaske der Null-Erfassungsschaltung programmiert.

Description

Die vorliegende Erfindung bezieht sich allgemein auf ein Verfahren und eine Vorrichtung zum Durchführen einer Sum­ mier-und-Vergleichs-Operation und insbesondere auf eine Hochgeschwindigkeits-Summier-und-Vergleichs-Schaltung, die die Verzögerung reduziert, die durch die Bewegung des Über­ trags bewirkt wird, und die in einer relativ kleinen Chip­ bereichsmenge implementiert werden kann.
Eine sehr schnelle Erfassung und Voraussage der Ausnahmen des arithmetischen Überlaufs und des arithmetischen Unter­ laufs sind für die Leistung von fortschrittlichen Mikro­ prozessoren entscheidend. Diese Operationen erfordern ty­ pischerweise einen Vergleich eines einzigen Operanden A mit einer Konstante k, wie z. B. durch eine Vergleichsoperation A = k. Diese Operationen betreffen häufiger das Vergleichen der Summe von mehr als einem Operanden (z. B. A + B + C) mit einer oder mehreren Konstanten (z. B. k1, k2), wie z. B. durch die Summier-und-Vergleichs-Operation A + B + C = {k1, k2, k3, . . ., kn}. Die Geschwindigkeit dieser Summier-und- Vergleichs-Operation hängt von der Geschwindigkeit der Über­ trag-Bit-Bewegung durch eine n-Bit-Addition ab, wobei n die Anzahl der Bits jedes Operanden ist.
Der übliche Lösungsansatz verwendet zwei Summier-und-Ver­ gleichs-Logikblöcke mit vier Eingängen, um die Bedingung A + B + C = {k1, k2, k3, . . ., kn} zu erfassen. Die zwei Blöcke sind mit einer Logik konfiguriert, um die Funktionen A + B + C < kn bzw. A + B + C < k1 durchzuführen, wobei {k1, k2, k3, . . ., kn} benachbarte ansteigende Ganzzahlen sind. Jeder Sum­ mier-und-Vergleichs-Block ist mit einem Addierer mit vier Eingängen implementiert. Die Operation A + B + C < k1 wird beispielsweise als eine Überlaufoperation (A + B + C - (k1 + 1)) durchgeführt.
Um die Leistung zu verbessern, ist es bekannt, den Addierer, der vier Eingänge aufweist, mit zwei Übertrag-Speicherungs- Addierern (CSA; CSA = Carry Save Adder) mit drei Eingängen und einem einzelnen Übertrag-Bewegungs-Addierer (CPA; CPA = Carry Propagate Adder) zu implementieren. Jeder CSA ist eine m-Bit-Volladdiererschaltung mit drei eingegebenen Summanden (d. h. A, B und C) und zwei Ausgangssignalen, nämlich einer Summe und einem Übertrag. Die CSA sind derart kaskadiert, daß das Ausgangssignal (d. h. die Summe und der Übertrag) des ersten CSA in den zweiten CSA eingespeist wird. Der zweite CSA empfängt ferner als Eingangssignal desselben -(k1 + 1). Der CPA ist eine m-Bit-Volladdiererschaltung, die die Übertrag-Bits derselben innen bewegt. Der CPA empfängt als Eingangssignal die Ausgangssignale des Übertrags und der Summe von dem zweiten CSA. Lediglich das Ausgangssignal des CPA mit dem höchstwertigen Übertrag, das das Überlaufbit des CPA darstellt, muß ausgewertet werden, um das Resultat der Summier-und-Vergleichs-Operation zu bestimmen.
Dieser letztere Lösungsansatz weist hinsichtlich der Chip­ flächenmenge, die zur Implementation der Schaltung benötigt wird, und hinsichtlich der Leistung einige Nachteile auf. Lediglich der erste CSA-Block kann durch beide Vergleichs­ funktionen A + B + C < kn und A + B + C < k1 gemeinsam ver­ wendet werden. Folglich wird eine Gesamtzahl von drei CSA- Blöcken und zwei CPA-Blöcken benötigt, um die Funktion A + B + C = {k1, k2, k3, . . ., kn} zu realisieren, was die benötig­ te Chipbereichsmenge erhöht, um die Logik zu implementieren. Die Leistung dieser Schaltung ist durch die Geschwindigkeit der n-Bit-Übertrag-Bewegungsoperationen in dem CPA-Block be­ grenzt.
Ein Artikel mit dem Titel "Evaluating 'A + B = K' Conditions in Constant Time", in PROCEEDINGS, IEEEE INTERNATIONAL SYM­ POSIUM ON CIRCUITS AND SYSTEMS, Bd. 1, 1988, Seiten 243-6, von Cortadella und Llaberia, schlägt ein Schema zum Aus­ werten einer Summier-und-Vergleichs-Operation A + B = K mit zwei Eingangssignalen ohne eine Übertrag-Bewegung vor. Es wurde in einem Artikel mit dem Titel "Early Zero Detection", in PROCEEDINGS, 1996 INTERNATIONAL CONFERENCE ON COMPUTER DESIGN, 1996, vorgeschlagen, dieses Schema zu vereinfachen. Beide Artikel von Lutz und Jayasimha legen dar, daß das Übertrag-Ausgangssignal eines Einzel-Bit-Addierers unabhän­ gig von dem Übertrag-Eingangssignal ausgedrückt werden kann, wenn das Summenausgangssignal wie folgt bekannt ist:
Wenn S = K, dann Cout = NICHT(K)P ODER G. (Gleichung 1)
S ist die Summe von A + B, Cout ist der Übertrag von A + B,
P ist (A EXKLUSIV-ODER B), G ist AB und K ist das bekannte konstante Bit. Ein einfacher Beweis dieser Beobachtung folgt aus:
Wenn S = K, dann K = P EXKLUSIV-ODER Cin, (Gleichung 2)
Cin = P EXKLUSIV-ODER K, (Gleichung 3)
Cout = Pcin ODER G, (Gleichung 4)
Cout = P(P EXKLUSIV-ODER K) ODER G, (Gleichung 5)
Cout = P(NICHT(K)P ODER-NICHT(p)k) ODER G, (Gleichung 6)
Cout = NICHT(K)P ODER G, (Gleichung 7)
Die übliche Summengleichung
S = A EXKLUSIV-ODER B EXKLUSIV-ODER Cin, (Gleichung 8)
wird verwendet, um Gleichheit zu erfassen. Dieselbe wird gleich Null sein, wenn A + B = K.
Die Aufgabe der vorliegenden Erfindung besteht darin, eine einfache und schnelle Vorrichtung zum Durchführen einer Sum­ mier-und-Vergleichs-Operation zu schaffen, die den gleich­ zeitigen Vergleich einer Summe von Operanden mit mehreren Konstanten auf geringem Raum ermöglicht.
Diese Aufgabe wird durch eine Vorrichtung zum Durchführen einer Summier-und-Vergleichs-Operation gemäß Anspruch 1 ge­ löst.
Ein Vorteil der vorliegenden Erfindung besteht darin, daß dieselbe ein gleichzeitiges Vergleichen einer Summe von Ope­ randen mit mehreren Konstanten ermöglicht.
Ein weiterer Vorteil der vorliegenden Erfindung besteht da­ rin, daß dieselbe das Programmieren der Konstante k in eine Metallmaske ermöglicht, was es ermöglicht, daß ein einziger Schaltungsentwurf für mehrere Werte von k verwendet werden kann.
Ein weiterer Vorteil der vorliegenden Erfindung besteht da­ rin, daß die Summier-und-Vergleichs-Schaltung der vorliegen­ den Erfindung die Beobachtung nutzt, daß das Übertrag-Aus­ gangssignal unabhängig von dem Übertrag-Eingangssignal aus­ gedrückt werden kann, und daß dieselbe mit einer relativ kleinen Chipbereichsmenge oder Chipflächenmenge implemen­ tiert werden kann.
Ein weiterer Vorteil der vorliegenden Erfindung besteht da­ rin, daß die Summier-und-Vergleichs-Schaltung gleichzeitig eine Summe mit mehreren Konstanten vergleichen kann, was es ermöglicht, daß die Konstanten in einer Metallmaske program­ miert werden können, und daß die Schaltung wesentliche Leistungsverbesserungen gegenüber existierenden Summier- und-Vergleichs-Schaltungen zeigt.
Es sind ein Verfahren und eine Vorrichtung zum Durchführen einer schnellen Summier-und-Vergleichs-Operation vorgesehen. Die Vorrichtung der vorliegenden Erfindung verwendet einen einzigen Übertrag-Speicherungs-Addierer in Verbindung mit einer Null-Erfassungsschaltung zum Durchführen von logischen Operationen, um zu bestimmen, ob die Summe eine Mehrzahl von Operanden gleich einer oder mehrerer Konstanten ist oder nicht. Der Übertrag-Speicherungs-Addierer erzeugt eine Summe M und einen Übertrag L, die von dem Übertrag-Speicherungs- Addierer zu der Null-Erfassungsschaltung ausgegeben werden. Die Null-Erfassungsschaltung erzeugt innere Übertrag-Signa­ le, die zwischen benachbarten Bitzellen der Null-Erfassungs­ schaltung weitergeleitet werden. Die Null-Erfassungsschal­ tung erzeugt Ausgangssignale Zk1 bis Zkn, die wahr sind, wenn die Bedingung A + B + C = {k1, k2, k3, . . ., kn} für alle Konstanten k1 bis kn gilt.
Die Übertrag-Signale werden durch lediglich ein Bit der Null-Detektorschaltung bewegt, wodurch die Summier-und-Ver­ gleichs-Schaltung der vorliegenden Erfindung mit einer ex­ trem hohen Geschwindigkeit versehen wird. Die Null-Erfas­ sungsschaltung führt die logischen Operationen durch, die durch Zk = (L EXKLUSIV-ODER M EXKLUSIV-ODER CIN) EXKLUSIV- NICHT-ODER k dargestellt sind, wobei Zk eines der Ausgangs­ signale Zk1 bis Zkn ist, k eine der Konstanten k1 bis kn und CIN das Übertrag-Eingangssignal in die Null-Detektorbitzelle ist. Das Ausgangssignal Zk wird gleich Null sein, wenn A + B + C = K ist. Daher wird, wenn eine der Null-Detektorbitzel­ len eine Fehlübereinstimmung zwischen der Summe und der Kon­ stanten antrifft, das Ausgangssignal Zk für diese spezielle Bitzelle anzeigen, daß eine Fehlübereinstimmung aufgetreten ist.
Vorzugsweise ist die Logik des Übertrag-Summen-Addierers und des Null-Detektors in einer dynamischen Dominologik imple­ mentiert, die weiter die Geschwindigkeit der Summier-und- Vergleichs-Schaltung erhöht. Durch Verwenden eines einzigen Übertrag-Speicherungs-Addierers in Verbindung mit der Null- Detektorschaltung der vorliegenden Erfindung ist die Chipbe­ reichsmenge, die zur Implementation der Summier-und-Ver­ gleichs-Schaltung erforderlich ist, wesentlich kleiner als bei bekannten Summier-und-Vergleichs-Schaltungen, die mehre­ re Übertrag-Speicherungs-Addierer verwenden.
Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend unter Bezugnahme auf die beigefügten Zeichnungen näher erläutert. Es zeigen:
Fig. 1 ein Blockdiagramm der Summier-und-Vergleichs- Schaltung der vorliegenden Erfindung;
Fig. 2 ein Blockdiagramm einer ZD-Bitzelle, die den ZD- Block von Fig. 1 aufweist;
Fig. 3A und 3B schematische Diagramme einer Bitzelle, die der CSA-Block von Fig. 1 aufweist; und
Fig. 4A und 4B schematische Diagramme der ZD-Bitzelle, die in Fig. 2 gezeigt ist.
Die Summier-und-Vergleichs-Schaltung 10 der vorliegenden Er­ findung zum Auswerten von A + B + C = {k1, k2, k3, . . ., kn} weist vorzugsweise einen einzelnen Übertrag-Speicherungs- Addiererblock mit (CSA) 12 drei Eingängen auf, dem ein Null-Erfassungs- (ZD-; ZD = Zero Detection) Block 14 folgt, wie es in Fig. 1 gezeigt ist. Der ZD-Block 14 weist n Aus­ gangssignale Zk1 bis Zkn auf, die wahr sind, d. h. aktiviert sind, wenn die Bedingung A + B + C = {k1, k2, k3, . . ., kn} für jeweils jede der Konstanten k1 bis kn erfüllt ist.
Wie Übertrag-Bewegungsaddierer (CPAs) weist der ZD-Block 14 innere Übertrag-Signale auf, die zwischen benachbarten Bit­ zellen weitergeleitet werden. Eine der Bitzellen 17 des ZD- Blocks 14 ist in Blockdiagrammform in Fig. 2 gezeigt. Im Ge­ gensatz zu den CPAs ist jedes der Übertrag-Ausgangssignale Zk1 bis Zkn jeder Bitzelle 17 unabhängig von dem Übertrag- Eingangssignal Cin1 bis CinN derselben. Daher bewegen sich die Übertrag-Signale lediglich durch ein Bit des ZD-Blocks 14, was die Summier-und-Vergleichs-Schaltung 10 mit einer sehr hohen Geschwindigkeit versieht. Die Vergleichskonstan­ ten k1 bis kn sind in die Metallmaskenverbindungen (nicht gezeigt) dieser Übertrag-Signale programmiert, wie es im folgenden detaillierter erörtert ist. Jede ZD-Bitzelle weist zwei Übertrag-Ausgangssignale Cout0H und Cout0L und die Kom­ plemente derselben Cout1H bzw. Cout1L auf.
Jeder Übertrag-Eingang Cin1 bis CinN einer ZD-Bitzelle i ist mit einem der vier Übertrag-Ausgänge Cout0H, Cout0L, Cout1H, Cout1L der vorhergehenden Bitzelle, Bitzelle i-1 (nicht ge­ zeigt), verbunden. Der Übertrag-Ausgang einer vorhergehenden Bitzelle, Bitzelle i-1, mit dem ein Übertrag-Eingang einer Bitzelle verbunden ist, wird gemäß der folgenden Tabelle ausgewählt:
TABELLE 1
Wenn k = 0 ist, ist jeder der Übertrag-Eingänge (Cin1 bis CinN) einer Bitzelle i mit einem nicht-komplementierten Übertrag-Ausgang (Cout0H oder Cout1H) des vorhergehenden Bits, Bitzelle i-1, verbunden. Wenn k = 1 ist, ist ein Über­ trag-Eingang (Cin1 bis CinN) einer Bitzelle i mit dem kom­ plementierten Übertrag-Ausgang (Cout0L oder Cout1L) der vor­ hergehenden Bitzelle, Bitzelle i-1, verbunden. Die Art und Weise, auf die dies erreicht wird, ist im folgenden unter Bezugnahme auf Fig. 4B erörtert.
Die logischen Gleichungen für die Null-Erfassungsbitzelle 17 werden wie folgt abgeleitet:
Cout = NICHT(k)P ODER G, (Gleichung 9)
wobei das Bewegungs-Signal P von dem CSA-Block 12 als P = L EXKLUSIV-ODER M ausgedrückt werden kann, und das Erzeugungs­ signal G von dem CSA-Block 12 als G = LM ausgedrückt werden kann. Gleichung 9 kann dann wie folgt ausgedrückt werden:

Cout = NICHT(k)(L EXKLUSIV-ODER M) ODER LM (Gleichung 10)
Gleichung 10 kann für die Fälle vereinfacht werden, bei de­ nen k = 0 und k = 1 ist, um die folgenden vier Übertrag-Aus­ gangsgleichungen zu erhalten:
Cout0H = L ODER M, (Gleichung 11)
Cout0L = NICHT(L ODER M), (Gleichung 12)
Cout1H = LM (Gleichung 13)
Cout1L = NICHT(LM), (Gleichung 14)
Der Abschnitt der ZD-Bitzellenschaltung 17, der die logische Funktion durchführt, die durch die Gleichungen 9-14 darge­ stellt ist, ist in dem schematischen Diagramm von Fig. 4A gezeigt, das im folgenden detaillierter erörtert ist. Die Ausgänge Zk1 bis Zkn der ZD-Bitzelle 17 sind für alle Bits drahtmäßig "ODER-verknüpft". Diese Ausgangssignale zeigen an, ob die Summe von L, M und CIN mit der Konstante k über­ einstimmen, indem die folgende Gleichung verwendet wird:
Zk = (L EXKLUSIV-ODER M EXKLUSIV-NICHT-ODER CIN) EXKLUSIV-ODER k, (Gleichung 15)
Zk ist einer der Ausgänge Zk1 bis Zkn, k ist eine der Kon­ stanten k1 bis kn und CIN ist einer der Übertrag-Eingänge Cin1 bis CinN. Die Gleichung 15 kann für Fälle vereinfacht werden, bei denen k = 0 und k = 1 ist, um folgende Gleichung zu erhalten:
Zk NICHT(L EXKLUSIV-ODER M EXKLUSIV-ODER CIN) (Gleichung 16)
CIN ist mit dem nicht-komplementierten Übertrag-Ausgang des vorherigen Bits (COUT0H oder COUT1H) verbunden, wenn k = 0 ist, und mit dem komplementierten Übertrag-Ausgang des vor­ hergehenden Bits (COUT0L oder COUT1L) verbunden, wenn k = 1 ist.
Der Abschnitt der ZD-Bitzellen-Schaltung 17, der die lo­ gische Funktion durchführt, die durch die Gleichungen 15 und 16 dargestellt ist, ist in dem schematischen Diagramm von Fig. 4B gezeigt, das detailliert im folgenden erörtert ist.
Ein schematisches Diagramm von einer der Bitzellen des CSA- Blocks 12 ist in Fig. 3A und 3B gezeigt. Wie es für Fach­ leute offensichtlich ist, wird die Anzahl der Bitzellen, die der CSA-Block 12 und der ZD-Block 14 aufweisen, durch die Anzahl der Bits bestimmt, die die Operanden A, B und C auf­ weisen. Fachleuten wird es offensichtlich sein, daß die Sum­ mier-und-Vergleichs-Schaltung 10 nicht auf eine spezielle Länge begrenzt ist, d. h. dieselbe ist nicht bezüglich der Anzahl der Bits des Operanden begrenzt. Ferner ist die Sum­ mier-und-Vergleichs-Schaltung 10 nicht bezüglich der Anzahl der Konstanten begrenzt, mit denen die Summe verglichen wird, wie es für Fachleute offensichtlich ist.
Die Summier-und-Vergleichs-Schaltung 10 verwendet vorzugs­ weise eine dynamische Dominologik, die gemäß einem Komple­ mentär-Metalloxid-Halbleiter-(CMOS-)Verfahren gefertigt ist. Da die dynamische Dominologik in der Technik gut be­ kannt ist, ist im Interesse der Kürze hierin keine de­ taillierte Erörterung der dynamischen Dominologik vorge­ sehen. Da ferner CMOS-Fertigungsverfahren Fachleuten gut bekannt sind, wird eine detaillierte Erörterung der Art und Weise, auf die die Suminier-und-Vergleichs-Schaltung der vor­ liegenden Erfindung unter Verwendung eines CMOS-Fertigungs­ verfahrens gefertigt wird, hierin nicht geliefert. Fachleu­ ten wird es offensichtlich sein, daß eine Mehrzahl von CMOS-Fertigungsverfahren derzeit in der Industrie verwendet wird, und daß jedes dieser Verfahren zur Verwendung mit der vorliegenden Erfindung geeignet ist.
Jede CSA-Bitzelle des CSA-Blocks 12 weist vorzugsweise dop­ pelschienige, d. h. wahre und komplementierte, Eingänge und Ausgänge für die Übertrag- und Summen-Funktionen auf. Die wahren und komplementierten Eingänge und Ausgänge weisen in den Fig. 3A bis 4B einen Suffix H bzw. L auf. Alle Ausgangs­ signale werden während der Vorladephase, wenn sich das Takt­ eingangssignal in einem niedrigen Zustand befindet, in einen niedrigen Zustand getrieben, und, wenn sich das Taktsignal während der Auswertungsphase in einem hohen Zustand befin­ det, in einen gültigen Zustand ausgewertet.
Der Abschnitt 20 der CSA-Bitzelle, der die Übertrag-Aus­ gangssignale erzeugt, ist in Fig. 3A gezeigt. Der Abschnitt 30 der CSA-Bitzelle, der die Summen-Ausgangssignale erzeugt, ist in Fig. 3B gezeigt. Die Art und Weise, auf die die Über­ trag-Ausgangssignale durch den Abschnitt 20 der CSA-Bitzelle erzeugt werden, ist nun unter Bezugnahme auf Fig. 3A erör­ tert. Wie im vorhergehenden erwähnt, verwendet die Summier- und-Vergleichs-Schaltung 10 der vorliegenden Erfindung vor­ zugsweise eine dynamische Dominologik, die in der Technik gut bekannt ist. Die dynamische Dominologik ist unter Ver­ wendung einer dynamischen Vorladelogikstufe und einer sta­ tischen Ausgangsstufe implementiert. Die Übertrag-Ausgangs­ signale 21 und 22 der CSA-Bitzelle entsprechen dem Über­ trag-Ausgangssignal L des CSA-Blocks 12, der in Fig. 1 ge­ zeigt ist. Die statische Ausgangsstufe der Schaltung 20 weist die statischen Invertierer 23 und 24 auf, die das Aus­ gangssignal der Schaltung 20 puffern. Das Ausgangsignal 21 entspricht dem wahren Übertrag-Ausgangssignal, und das Aus­ gangssignal 22 entspricht dem komplementierten Übertrag-Aus­ gangssignal.
Die Vorladestufe weist einen Vorlade-PFET 27 und eine Mehr­ zahl von NFETs 25 auf, die die logischen Funktionen durch­ führen, die durch die gewöhnliche Summengleichung, Gleichung 8, dargestellt sind, um das wahre Übertrag-Ausgangssignal 21 zu erzeugen. Ähnlich weist die Schaltung 20 eine zweite Vor­ ladestufe auf, die einen Vorlade-PFET 28 und eine Mehrzahl von NFETs 26 aufweist, die die logischen Funktionen durch­ führen, die durch die Gleichung 8 dargestellt sind, um das komplementierte Übertrag-Ausgangssignal 22 zu erzeugen.
Die Vorlade-PFETs 27 und 28 laden Knoten 29 und 31 während einer Vorladephase vor, wenn sich der Takt 32 in einem nied­ rigen Zustand befindet. Wenn sich der Takt 32 in einem nied­ rigen Zustand befindet, werden die Vorlade-FETs 27 und 28 eingeschaltet und die Vorladeknoten 29 und 31 werden in ei­ nen hohen Zustand geladen. Während der Vorladephase wird ein Auswertungs-FET 33, der die Vorladestufen mit Masse (GND) verbindet, deaktiviert. Wenn der Takt 32 während der Auswer­ tungsphase in einen hohen Zustand geht, wird der Auswer­ tungs-FET 33 eingeschaltet, wodurch ein Weg von einem der Vorladeknoten 29 oder 31 zu Masse vorgesehen wird. Während der Auswertungsphase werden entweder die Vorladestufe, die die NFETs 25 aufweist, oder die Vorladestufe, die die NFETs 26 aufweist, auf Masse gezogen. Dies wird bewirken, daß sich das Übertrag-Ausgangssignal 21 in einem hohen Zustand befin­ det, wenn sich das Übertrag-Ausgangssignal 22 in einem nied­ rigen Zustand befindet, und umgekehrt.
Der Abschnitt 30 der anderen CSA-Bitzelle, die die Summen- Ausgangssignale erzeugt, ist in Fig. 3B gezeigt. Diese Schaltung ist ferner vorzugsweise in einer dynamischen Domi­ nologik implementiert und arbeitet auf eine ähnliche Art und Weise, auf die die Schaltung 20 von Fig. 3A arbeitet. Die Schaltung 40 weist einen statischen Invertierer 41 und einen statischen Invertierer 42 auf, die die Ausgangssignale 43 bzw. 44 der Schaltung 40 puffern. Die Schaltung 40 weist ei­ ne erste dynamische Vorladestufe, die einen PFET 48 und NFETs 45 und 46 aufweist, und eine zweite dynamische Vorla­ destufe, die einen PFET 49 und NFETs 46 und 47 aufweist, auf.
Der Vorlade-FET 48 arbeitet in Verbindung mit den NFETs 45 und 46. Der Vorlade-FET 49 arbeitet in Verbindung mit der Vorladestufe, die die NFETs 46 und 47 aufweist. Halter-FETs 51 und 52 halten die Ladung aufrecht, die auf den Vorlade­ knoten 53 bzw. 54 während der Vorladephase aufgebracht wur­ de. Während der Auswertungsphase wird der Auswertungs-NFET 55 aktiviert, wodurch ein Weg von den Vorladeknoten 53 und 54 zu Masse (GND) vorgesehen wird. Wenn sich das Taktsignal 32 in einem niedrigen Zustand befindet, werden die Vorlade- FETs 48 und 49 aktiviert, wodurch es ermöglicht wird, daß eine Ladung auf den Vorladeknoten 53 und 54 aufgebracht wird.
Der NFET 55 ist während der Vorladephase inaktiv. Wenn sich der Takt 32 in einem hohen Zustand befindet, wird während der Auswertungsphase der NFET 55 aktiviert, wodurch ein Weg von einem der Vorladeknoten 53 oder 54 zu Masse abhängig von den Werten der Bits, die an die Tore der NFETs 45, 46 und 47 angelegt sind, vorgesehen wird. Dies bewirkt, daß sich die Ausgangssignale 43 und 44 entweder in einem hohen oder nie­ drigen Zustand befinden. Wenn sich das Ausgangssignal 43 in einem hohen Zustand befindet, befindet sich das Ausgangssi­ gnal 44 in einem niedrigen Zustand und umgekehrt. Die Aus­ gangssignale 43 und 44 entsprechen dem Summen-Ausgangssignal M des CSA-Blocks 12. Natürlich weist das Summen-Ausgangssi­ gnal M eine Mehrzahl von Bits auf, die den Ausgangssignalen von allen CSA-Bitzellen entsprechen.
Das Übertrag-Ausgangssignal L und das Summen-Ausgangssignal M werden zu dem ZD-Block 14 geliefert, wie es in Fig. 1 ge­ zeigt ist. Das Übertrag- und das Summen-Ausgangssignal wer­ den durch die ZD-Bitzellen 17 verwendet. Fig. 4A und 4B stellen eine der ZD-Bitzellen 17 des ZD-Blocks 14 dar. Die Art und Weise, auf die die ZD-Bitzellen arbeiten, wird nun unter Bezugnahme auf Fig. 4A und 4B beschrieben.
Die Übertrag-Ausgangssignal-Erzeugungsschaltung 60 der ZD- Zelle weist doppelschienige Übertrag-Eingänge und Übertrag- Ausgänge auf, die einen Suffix H bzw. L aufweisen. Die Über­ trag-Ausgangssignal-Erzeugungsschaltung 60 weist vier stati­ sche Ausgangsinvertierer 61, 62, 63 und 64 auf, die die Aus­ gangssignale 65, 66, 67 bzw. 68 puffern. Die Schaltung 60 weist vier Vorlade-PFETs 71, 72, 73 und 74 auf, die die Vor­ ladeknoten 75, 76, 77 bzw. 78 vorladen. Die Schaltung 60 weist vier dynamische Vorladestufen auf, die die Vorlade- PFETs 71, 72, 73 und 74 und eine Mehrzahl von NFETs 81, 82, 83 und 84 aufweisen.
Die Schaltung 60 weist einen Auswertungs-FET 86 auf, der einen Weg von den Vorladeknoten 75, 76, 77 und 78 zu Masse (GND) während der Auswertungsphase aufweist. Die Schaltung 60 weist vier Halter-FETs 91, 92, 93 und 94 auf, die die Ladungen aufrechterhalten, die auf den Vorladeknoten 75, 76, 77 bzw. 78 während der Vorladephase aufgebracht wurden.
Wenn sich das Taktsignal 32 während der Vorladephase in ei­ nem niedrigen Zustand befindet, werden die Vorladeknoten 75, 76, 77 und 78 auf VDD als ein Resultat der Aktivierung der Vorlade-FETs 71, 72, 73 und 74 vorgeladen. Wenn sich das Taktsignal in einem hohen Zustand befindet, wird während der Auswertungsphase der Auswertungs-FET 86 aktiviert, wodurch ein Weg von den Vorladeknoten zu Masse (GND) vorgesehen wird. Die logische Stufe, die die NFETs 81 und PFET 71 auf­ weist, führt die logischen Operationen durch, die durch die Gleichung 12 dargestellt sind, und erzeugt ein Ausgangssi­ gnal 65, das Cout0L entspricht. Die logische Stufe, die die NFETs 82 und den PFET 72 aufweist, führt die logischen Ope­ rationen durch, die durch die Gleichung 11 dargestellt sind, um das Ausgangssignal 66 zu erzeugen, das Cout0H entspricht.
Die Vorladestufe, die die NFETs 83 und den PFET 73 aufweist, führt die logischen Operationen durch, die durch die Gleichung 13 dargestellt sind, um das Ausgangssignal 67 zu erzeugen, das Cout1H entspricht. Die Vorladestufe, die die NFETs 84 und den PFET 74 aufweist, führt die logischen Ope­ rationen durch, die durch die Gleichung 14 dargestellt sind, um das Ausgangssignal 68 zu erzeugen, das Cout1L entspricht.
Wie im vorhergehenden unter Bezugnahme auf Tabelle 1 er­ wähnt, sind die Übertrag-Ausgänge der Schaltung 60 der ZD- Bitzelle mit bestimmten Übertrag-Eingängen einer benachbar­ ten ZD-Bitzelle des ZD-Blocks 14 verbunden. Daher sind die Übertrag-Ausgänge Cout0H, Cout0L, Cout1H und Cout1L mit be­ stimmten Übertrag-Eingängen Cin0H einer benachbarten ZD-Bit­ zelle (nicht gezeigt) verbunden. Wie in Tabelle 1 gezeigt, werden die Werte der Konstanten bestimmen, welche Übertrag- Ausgänge von einer ZD-Bitzelle durch programmierbare Metall­ masken mit den Übertrag-Eingängen der benachbarten Bitzelle, wie im vorhergehenden detailliert erörtert, verbunden sind.
Fig. 4B ist ein schematisches Diagramm der Schaltung 100 der ZD-Bitzelle 17, die die Ausgangssignale Zk1 bis ZkN der Sum­ mier-und-Vergleichs-Schaltung 10 erzeugt. Die Schaltung 100 weist eine Ausgangsstufe für jedes der Zk-Ausgangssignale auf. Gemäß diesem Beispiel, bei dem die Operanden A, B und C jeweils vier Bits aufweisen, weist die Schaltung 100 vier Ausgangsstufen 101, 102, 103 und 104 auf. Für Fachleute ist es natürlich offensichtlich, daß die Summier-und-Ver­ gleichs-Schaltung 10 auf keine spezielle Größe oder auf Ver­ arbeitungsoperanden einer speziellen Länge begrenzt ist. Je­ de Ausgangsstufe weist einen statischen Ausgangsinvertierer 105 auf, der das Ausgangssignal Zk in den Leitungen 106 puffert. Jede Ausgangsstufe weist einen Vorlade-FET 108 auf, der die Vorladeknoten 107 während der Vorladephase vorlädt, wenn sich der Takt 32 in einem niedrigen Zustand befindet.
Jede der Ausgangsstufen der Schaltung 100 ist an den Knoten N2 und N3 mit der Vorladestufe der Schaltung 100 verbunden, die die NFETs 109, 110 und 111 und die Vorlade-PFETs 108 aufweist. Wenn sich das Taktsignal während der Auswertungs­ phase in einem hohen Zustand befindet, ist der Auswertungs- FET 113 aktiviert. Abhängig von den Werten des Summen-Si­ gnals M und des Übertrag-Signals L, die aus dem CSA-Block 12 ausgegeben werden, werden die Vorladeknoten 107 entweder nach unten auf Masse gezogen oder werden ihre Vorladezustän­ de beibehalten. Die NFETs 109, 110 und 111 arbeiten zusam­ men, um die logischen Funktionen durchzuführen, die durch Gleichung 15 dargestellt sind.
Die Zk-Ausgangssignale in den Leitungen 106 werden sich in einem hohen Zustand befinden, wenn sich die Vorladeknoten in einem niedrigen Zustand befinden, was folglich bewirkt, daß die NFETs 114 aktiviert werden. Jede Ausgangsstufe weist ferner einen zweiten Vorlade-FET 115 auf, der einen Knoten 116 während der Vorladephase vorlädt, wenn sich der Takt 32 in einem niedrigen Zustand befindet.
Wenn das Taktsignal während der Auswertungsphase in einen hohen Zustand geht, werden die NFETs 114 aktiviert, was folglich bewirkt, daß die Zk-Ausgangssignale nach unten auf Masse gezogen werden. Daher befinden sich die Ausgangssi­ gnale Zk1 bis Zk4 in einem niedrigen Zustand, wenn sich die Ausgangssignale der statischen Invertierer 105 in den Lei­ tungen 106 in einem hohen Zustand befinden. Zu allen anderen Zeitpunkten befinden sich die Zk-Ausgangssignale Zk1 bis Zk4 in einem hohen Zustand. Dies liegt daran, daß sich die Zk- Ausgangssignale während der Vorladephase und immer dann, wenn sich die Ausgangssignale der statischen Invertierer 105 in einem niedrigen Zustand befinden, in einem hohen Zustand befinden. Wenn sich daher eines der Zk-Ausgangssignale in einem hohen Zustand befindet, zeigt dies an, daß eine Fehl­ übereinstimmung zwischen einer speziellen Konstante und der Summe aufgetreten ist, mit der dieselbe verglichen wird. Fachleuten wird es offensichtlich sein, daß die Logik ferner derart konfiguriert sein kann, daß, wenn sich eines der Zk- Ausgangssignale in einem niedrigen Zustand befindet, eine Fehlübereinstimmung aufgetreten ist.
Die Zk-Ausgänge sind mit jeweiligen Zk-Ausgängen von anderen ZD-Bitzellen (nicht gezeigt) drahtmäßig ODER-verknüpft. Bei­ spielsweise wird der Ausgang Zk4 mit den Zk4-Ausgängen von allen anderen ZD-Bitzellen drahtmäßig ODER-verknüpft sein. Immer dann, wenn eine Fehlübereinstimmung zwischen einem der Zk4-Ausgänge und einem Bit einer Konstante k auftritt, be­ findet sich das Zk4-Ausgangssignal des ZD-Blocks 14 in einem hohen Zustand, was folglich anzeigt, daß eine Fehlüberein­ stimmung aufgetreten ist. Dies ist für alle der Zk-Ausgänge wahr.
Daher kann die Summier-und-Vergleichs-Schaltung der vorlie­ genden Erfindung konfiguriert werden, um eine oder mehrere Konstanten mit einer Summe zu vergleichen. Da außerdem die Summier-und-Vergleichs-Schaltung 10 keine Übertrag-Bewegung erfordert, ist dieselbe sehr schnell. Die Geschwindigkeit der Summier-und-Vergleichs-Schaltung wird weiter unter Ver­ wendung der dynamischen Dominologik erhöht, die die Stufen von NFETs verwendet, um die Hinunterziehgeschwindigkeit der Schaltung zu maximieren. Die Summier-und-Vergleichs-Schal­ tung erfordert ferner nicht die Verwendung von zwei Über­ trag-Speicherungs-Addierern, wie es die vorher erwähnte be­ kannte Summier-und-Vergleichs-Schaltung erfordert, sondern verwendet vielmehr den einzelnen Übertrag-Speicherungs- Addierer 12 in Verbindung mit dem Null-Erfassungsblock 14. Dies ermöglicht es, daß die Chipflächenmenge, die zur Imple­ mentation der Summier-und-Vergleichs-Schaltung 10 benötigt wird, minimiert wird.
Fachleuten wird es offensichtlich sein, daß die vorliegende Erfindung nicht auf einen speziellen Logiktyp zum Durchfüh­ ren der Funktionen derselben begrenzt ist. Fachleuten wird es weiterhin offensichtlich sein, daß es viele unterschied­ liche Arten zum Implementieren einer Logik gibt, die die notwendigen Funktionen durchführen kann.

Claims (13)

1. Vorrichtung (10) zum Durchführen einer Summier-und- Vergleichs-Operation, wobei die Vorrichtung eine Summe einer Mehrzahl von Operanden erzeugt und die Summe mit mindestens einer Konstante k vergleicht, wobei die Vorrichtung folgende Merkmale aufweist:
einen Übertrag-Speicherungs-Addierer (12), wobei der Übertrag-Speicherungs-Addierer eine Mehrzahl von Ope­ randen empfängt, die addiert werden sollen, und wobei der Übertrag-Speicherungs-Addierer eine Logik auf­ weist, die konfiguriert ist, um die Operanden zu addieren, um dadurch die Summe und einen Übertrag zu erzeugen, wobei die Summe und der Übertrag von dem Übertrag-Speicherungs-Addierer ausgegeben werden; und
eine Null-Detektorschaltung (14), wobei die Null-De­ tektorschaltung das Summen-Ausgangssignal und das Übertrag-Ausgangssignal von dem Übertrag-Speiche­ rungs-Addierer empfängt, und wobei die Null-Detektor­ schaltung eine Logik aufweist, die konfiguriert ist, um die Summe und den Übertrag zu verarbeiten, und um dieselben mit mindestens einer Konstante zu ver­ gleichen, um dadurch zu bestimmen, ob die Summe gleich oder nicht gleich der mindestens einen Konstante ist.
2. Vorrichtung gemäß Anspruch 1, bei der die Null-Detek­ torschaltung den Übertrag (L) und die Summe (M) verar­ beitet und bestimmt, ob die Summe gleich oder nicht gleich einer Mehrzahl von Konstanten ist.
3. Vorrichtung gemäß Anspruch 1 oder 2, bei der der Über­ trag-Speicherungs-Addierer und die Null-Detektorschal­ tung in einer dynamischen Dominologik implementiert sind.
4. Vorrichtung gemäß Anspruch 1, 2 oder 3, bei der der Übertrag-Speicherungs-Addierer (12) ferner eine Mehr­ zahl von Bitzellen aufweist, wobei jede Bitzelle fol­ gende Merkmale aufweist: eine Übertrag-Erzeugungsschaltung (20), die den Über­ trag erzeugt, und eine Summen-Erzeugungsschaltung (40), die die Summe erzeugt, wobei die Übertrag-Erzeu­ gungsschaltung und die Summen-Erzeugungsschaltung eine Logik zum Durchführen von logischen Operationen auf­ weisen, die durch eine Gleichung A EXKLUSIV-ODER B EXKLUSIV-ODER C dargestellt sind, um die Summe M und den Übertrag L zu erzeugen, wobei A, B und C die Ope­ randen sind, die addiert werden, wobei jeder Operand eine Mehrzahl von Bits aufweist, und wobei die Summe M und der Übertrag L jeweils eine Mehrzahl von Bits auf­ weisen.
5. Vorrichtung gemäß einem der vorhergehenden Ansprüche, bei der die Null-Detektorschaltung (14) eine Mehrzahl von Bitzellen (17) aufweist, wobei jede Bitzelle eine Logik aufweist, die konfiguriert ist, um logische Ope­ rationen durchzuführen, die durch eine Gleichung Zk = (L EXKLUSIV-ODER M EXKLUSIV-ODER CIN) EXKLUSIV-NICHT- ODER K dargestellt sind, wobei Zk das Ausgangssignal der Null-Detektorschaltung ist, CIN ein Übertrag-Ein­ gangssignal von einer benachbarten Bitzelle der Null- Detektorschaltung ist, und k die Konstante ist, mit der eine Zahl, die durch die Summe M und den Übertrag L dargestellt ist, verglichen wird, und wobei Zk Null ist, wenn A + B + C = k ist.
6. Vorrichtung gemäß Anspruch 4 oder 5, bei der jede Übertrag-Erzeugungsschaltung (20) eine erste Vorlade­ stufe aufweist, die einen ersten Vorlade-P-Feldeffekt­ transistor (PFET) (27) und eine Mehrzahl von N-Feld­ effekttransistoren (NFETs) (25) aufweist, wobei der erste Vorlade-PFET einen Gate-Anschluß, der mit einem Takt (32) verbunden ist, und einen Source-Anschluß aufweist, der mit einer Versorgungsspannung VDD ver­ bunden ist, wobei der Drain-Anschluß des PFET mit ei­ ner ersten Gruppe von NFETs (25) der erste Vorlade­ stufe kanalverbunden ist, eine zweite Gruppe von NFETs (25) der ersten Vorladestufe mit einem Auswertungs- NFET (33) kanalverbunden ist, wobei der Auswertungs- NFET (33) einen Gate-Anschluß aufweist, der mit dem Takt (32) verbunden ist, wobei jeder NFET der ersten Gruppe von NFETs (25) der ersten Vorladestufe mit ei­ nem jeweiligen NFET der zweiten Gruppe von NFETs (25) der ersten Vorladestufe verbunden ist, wobei jeder NFET (25) einen Gate-Anschluß aufweist, der ein Bit der Operanden A, B oder C empfängt, das in den Über­ trag-Speicherungs-Addierer eingegeben wird, und wobei während einer Auswertungsphase des Taktes ein Übertrag (21), der eine erste Polarität aufweist, von der Über­ trags-Erzeugungsschaltung ausgegeben wird.
7. Vorrichtung gemäß Anspruch 6, bei der jede Übertrag- Erzeugungsschaltung (20) eine zweite Vorladestufe auf­ weist, die einen zweiten Vorlade-PFET (28) und eine Mehrzahl von NFETs (26) aufweist, wobei der zweite Vorlade-PFET (28) einen Gate-Anschluß, der mit dem Takt (32) verbunden ist, und einen Source-Anschluß aufweist, der mit der Versorgungsspannung VDD verbun­ den ist, wobei der Drain-Anschluß des PFET (28) mit der dritten Gruppe von NFETs (26) der zweiten Vor­ ladestufe kanalverbunden ist, eine vierte Gruppe von NFETs (26) der ersten Vorladestufe mit dem Auswer­ tungs-NFET (33) kanalverbunden ist, und jeder NFET (26) der dritten Gruppe von NFETs (26) mit einem je­ weiligen NFET (26) der vierten Gruppe von NFETs (26) kanalverbunden ist, wobei jeder NFET (26) der zweiten Vorladestufe einen Gate-Anschluß aufweist, der ein Bit der Operanden A, B oder C empfängt, das in den Über­ trag-Speicherungs-Addierer eingegeben wird, und wobei während der Auswertungsphase des Taktes ein Übertrag (22), der eine zweite Polarität aufweist, von der Übertrag-Erzeugungsschaltung ausgegeben wird.
8. Vorrichtung gemäß einem der Ansprüche 4 bis 7, bei der jede Summen-Erzeugungsschaltung (40) eine erste Vorla­ destufe aufweist, die einen ersten Vorlade-PFET (48) und eine Mehrzahl von N-Feldeffekttransistoren (NFETs) (45, 46) aufweist, wobei der erste Vorlade-PFET (48) der Summen-Erzeugungsschaltung einen Gate-Anschluß, der mit dem Takt (32) verbunden ist, und einen Source-Anschluß aufweist, der mit der Versorgungsspan­ nung VDD verbunden ist, wobei der Drain-Anschluß des ersten Vorlade-PFET (48) der ersten Vorladestufe der Summen-Erzeugungsschaltung mit einer ersten Gruppe von NFETs (45, 46) der Summen-Erzeugungsschaltung kanal­ verbunden ist, eine zweite Gruppe von NFETs (45, 46) der Summen-Erzeugungsschaltung mit einem Auswertungs- NFET (55) kanalverbunden ist, der Auswertungs-NFET (55) der Summen-Erzeugungsschaltung einen Gate-An­ schluß aufweist, der mit dem Takt (32) verbunden ist, und jeder NFET (45, 46) der ersten Gruppe von NFETs (45, 46) der Summen-Erzeugungsschaltung mit einem je­ weiligen NFET der zweiten Gruppe von NFETs (45, 46) der Summen-Erzeugungsschaltung kanalverbunden ist, wobei jeder NFET (45, 46) der Summen-Erzeugungsschal­ tung einen Gate-Anschluß aufweist, der ein Bit der Operanden A, B oder C empfängt, das in den Übertrag- Speicherungs-Addierer eingegeben wird, und wobei während der Auswertungsphase des Taktes (32) eine Summe (43), die die erste Polarität aufweist, von der Summen-Erzeugungsschaltung ausgegeben wird.
9. Vorrichtung gemäß Anspruch 8, bei der jede Summen- Erzeugungsschaltung (40) eine zweite Vorladestufe auf­ weist, die einen zweiten Vorlade-PFET (49) und eine Mehrzahl von NFETs (46, 47) aufweist, wobei der zweite Vorlade-PFET (49) der Summen-Erzeugungsschaltung einen Gate-Anschluß, der mit dem Takt (32) verbunden ist, und einen Source-Anschluß aufweist, der mit der Ver­ sorgungsspannung VDD verbunden ist, wobei der Drain- Anschluß des zweiten PFET (49) der zweiten Vorlade­ stufe der Summen-Erzeugungsschaltung mit einer dritten Gruppe von NFETs (46, 47) der Summen-Erzeugungsschal­ tung kanalverbunden ist, eine vierte Gruppe von NFETs (46, 47) der zweiten Stufe der Summen-Erzeugungsschal­ tung mit dem Auswertungs-NFET (55) kanalverbunden ist, und jeder NFET (46, 47) der dritten Gruppe von NFETs (46, 47) der Summen-Erzeugungsschaltung mit einem je­ weiligen NFET der vierten Gruppe von NFETs (46, 47) der Summen-Erzeugungsschaltung kanalverbunden ist, wo­ bei jeder NFET (46, 47) der Summen-Erzeugungsschaltung einen Gate-Anschluß aufweist, der ein Bit der Operan­ den A, B oder C empfängt, das in den Übertrag-Speiche­ rungs-Addierer eingegeben wird, und wobei während der Auswertungsphase des Taktes (32) eine Summe (44), die die zweite Polarität aufweist, von der Summen-Erzeu­ gungsschaltung (40) ausgegeben wird.
10. Vorrichtung gemäß einem der vorhergehenden Ansprüche, bei der die Null-Detektorschaltung (14) eine Mehrzahl von Bitzellen (17) aufweist, wobei jede Bitzelle eine Übertrag-Ausgabe-Schaltung (60) und eine Z-Ausgabe- Schaltung (100) aufweist, wobei jede Übertrag-Ausga­ be-Schaltung (60) folgende Merkmale aufweist:
eine COUT0L-Stufe, wobei die COUT0L-Stufe einen ersten Vorlade-PFET (71), der einen Gate-Anschluß aufweist, der mit dem Takt (32) verbunden ist, und einen ersten und einen zweiten NFET (81) aufweist, wobei der erste und der zweite NFET (81) miteinander kanalverbunden sind, wobei der erste NFET mit dem ersten Vorlade-PFET der COUT0L-Stufe kanalverbunden ist, der zweite NFET mit einem Auswertungs-NFET (86) kanalverbunden ist, die COUT0L-Stufe einen Ausgangsanschluß (25) aufweist, der mit dem Knoten dort verbunden ist, wo der erste NFET (81) mit dem ersten Vorlade-PFET (71) kanalver­ bunden ist, wobei jeder der NFETs (81) der COUT0L-Stu­ fe einen Gate-Anschluß aufweist, der entweder ein Bit des Summen-Signals (43, 44), das von der ersten Stufe der Summen-Erzeugungsschaltung ausgegeben wird, oder ein Bit des Übertrag-Signals (21, 22) empfängt, das von der zweiten Stufe der Übertrag-Erzeugungsschaltung ausgegeben wird;
eine COUT1H-Stufe, wobei die COUT1H-Stufe einen zwei­ ten Vorlade-PFET (73), der einen Gate-Anschluß auf­ weist, der mit dem Takt (32) verbunden ist, und einen dritten und vierten NFET (83) aufweist, wobei der dritte und der vierte NFET (83) miteinander kanalver­ bunden sind, wobei der dritte NFET mit dem zweiten Vorlade-PFET (73) der COUT1H-Stufe kanalverbunden ist, der vierte NFET mit dem Auswertungs-NFET (86) kanal­ verbunden ist, die COUT1H-Stufe einen Ausgangsanschluß (77) aufweist, der mit einem Knoten dort verbunden ist, wo der dritte NFET mit dem zweiten Vorlade-PFET kanalverbunden ist, wobei jeder der NFETs (83) der COUT1H-Stufe einen Gate-Anschluß aufweist, der ent­ weder ein Bit von dem Summen-Signal (44), das von der zweiten Stufe der Summen-Erzeugungsschaltung ausgege­ ben wird, oder ein Bit des Übertrag-Signals (21), das von der ersten Stufe der Übertrag-Erzeugungsschaltung (20) ausgegeben wird, empfängt, wobei während der Aus­ wertungsphase des Taktes das COUT0L- und das COUT1H- Übertrag-Ausgabe-Signal (65, 67) von dem COUT0L-Aus­ gangsanschluß (75) und dem COUT1H-Ausgangsanschluß (77) ausgegeben werden, wobei das COUT0L-Übertrag-Aus­ gabe-Signal (65) die zweite Polarität aufweist, und das COUT1H-Übertrag-Ausgabe-Signal (67) die erste Polarität aufweist, und wobei diese Übertrag-Ausgabe- Signale (65, 67) durch eine benachbarte Bitzelle der Null-Erfassungsschaltung als Übertrag-Eingangssignale zu der benachbarten Bitzelle verwendet werden.
11. Vorrichtung gemäß Anspruch 10, bei der jede Übertrag- Ausgabe-Schaltung (60) ferner folgende Merkmale auf­ weist:
eine COUT0H-Stufe, wobei die COUT0H-Stufe einen drit­ ten Vorlade-PFET (72), der einen Gate-Anschluß auf­ weist, der mit dem Takt (32) verbunden ist, und einen fünften und einen sechsten NFET (82) aufweist, wobei der fünfte und der sechste NFET (82) miteinander kanalverbunden sind, der fünfte und der sechste NFET (82) zueinander parallel geschaltet sind und mit dem dritten Vorlade-PFET (72) der COUT0H-Stufe kanalver­ bunden sind, der fünfte und der sechste NFET (82) mit dem Auswertungs-NFET (86) kanalverbunden sind, und die COUT0H-Stufe einen Ausgangsanschluß aufweist, der mit einem Knoten dort verbunden ist, wo der fünfte und der sechste NFET mit dem dritten Vorlade-PFET (72) kanal­ verbunden sind, wobei jeder der NFETs (82) der COUT0H-Stufe einen Gate-Anschluß aufweist, der entwe­ der ein Bit des Summen-Signals (44), das von der zwei­ ten Stufe der Summen-Erzeugungsschaltung (40) ausgege­ ben wird, oder ein Bit des Übertrag-Signals (21), das von der ersten Stufe der Übertrag-Erzeugungsschaltung ausgegeben wird, empfängt; und
eine COUT1L-Stufe, wobei die COUT1L-Stufe einen vier­ ten Vorlade-PFET (74), der einen Gate-Anschluß auf­ weist, der mit dem Takt (32) verbunden ist, und einen siebten und achten NFET (84) aufweist, wobei der sieb­ te und der achte NFET (84) miteinander kanalverbunden sind, der siebte und der achte NFET (84) zueinander parallel geschaltet sind und mit dem vierten Vorlade- PFET (74) der COUT1L-Stufe kanalverbunden sind, der siebte und der achte NFET (84) mit dem Auswertungs- NFET (86) kanalverbunden sind, und die COUT1L-Stufe einen Ausgangsanschluß (78) aufweist, der mit einem Knoten dort verbunden ist, wo der siebte und der achte NFET (84) mit dem vierten Vorlade-PFET (74) kanalver­ bunden sind, wobei jeder der NFETs (84) der COUT1L- Stufe einen Gate-Anschluß aufweist, der entweder ein Bit des Summen-Signals (43), das von der ersten Stufe der Summen-Erzeugungsschaltung ausgegeben wird, oder ein Bit des Übertrag-Signals (22), das von der zweiten Stufe der Übertrag-Erzeugungsschaltung ausgegeben wird, empfängt, wobei während der Auswertungsphase des Taktes das COUT0H- und das COUT1L-Übertrag-Ausgabe-Si­ gnal (66, 68) von dem COUT0H- bzw. dem COUT1L-Aus­ gangsanschluß ausgegeben werden, wobei das COUT0H-Si­ gnal die erste Polarität und das COUT1L-Signal die zweite Polarität aufweist, und wobei diese Übertrag- Ausgabe-Signale in Verbindung mit dem COUT1H- und dem COUT0L-Signal durch eine benachbarte Bitzelle der Null-Erfassungsschaltung (60) als Übertrag-Eingangs­ signale zu der benachbarten Bitzelle verwendet werden.
12. Vorrichtung gemäß Anspruch 11, bei der jede Z-Ausga­ be-Schaltung folgende Merkmale aufweist:
eine Mehrzahl von Vorladestufen, wobei jede Vorlade­ stufe mindestens einen Eingangsanschluß (CIN1L, CIN2L, CIN3L, CIN4L) aufweist, der eines der Übertrag-Ausga­ be-Signale COUT1H, COUT1L, COUT0H oder COUT0L von ei­ ner benachbarten Übertrag-Ausgabe-Schaltung einer be­ nachbarten Bitzelle der Null-Erfassungsschaltung emp­ fängt, wobei der Eingangsanschluß einem Gate-Anschluß eines NFET (109) entspricht, jede Vorladestufe der Z- Ausgabe-Schaltung einen Vorlade-PFET (108) mit einem Gate-Anschluß, der mit dem Takt (32) verbunden ist, aufweist, wobei die Vorladestufen der Z-Ausgabe-Schal­ tung eine Mehrzahl von NFETs (109, 110, 111) gemeinsam verwenden, wobei jeder der gemeinsam verwendeten NFETs einen Gate-Anschluß aufweist, der ein Bit von entweder dem Summen-Signal (43), das von der ersten Stufe der Summen-Erzeugungsschaltung (40) ausgegeben wird, oder dem Summen-Signal (44), das von der zweiten Stufe der Summen-Erzeugungsschaltung (40) ausgegeben wird, oder dem Übertrag-Signal (21), das von der ersten Stufe der Übertrag-Erzeugungsschaltung ausgegeben wird, oder dem Übertrag-Signal (22), das von der zweiten Stufe der Übertrag-Erzeugungsschaltung ausgegeben wird, emp­ fängt; und
eine Z-Ausgabe-Stufe, die mit jeder Vorladestufe der Z-Ausgabe-Stufe elektrisch gekoppelt ist, wobei jede Z-Ausgabe-Stufe einen Ausgangsanschluß (116) aufweist, wobei während der Auswertungsphase ein Z-Ausgabe-Si­ gnal von jedem der Ausgangsanschlüsse (116) der Z-Aus­ gabe-Stufen ausgegeben wird, und wobei eine Aktivie­ rung von einem der Z-Ausgabe-Signale anzeigt, daß A + B + C nicht gleich einer Konstante k ist.
13. Vorrichtung gemäß einem der vorhergehenden Ansprüche, bei der die Sumier-und-Vergleichs-Operation die Summe der Operanden A, B und C mit einer Mehrzahl von Konstanten k1 bis kN vergleicht, und wobei die Konstanten in die Metallmaske der Bitzellen der Null- Erfassungsschaltung programmiert sind, und wobei die Werte der Konstanten spezielle Übertrag-Ausgabe-Si­ gnale von der Übertrag-Ausgabe-Schaltung einer benach­ barten Bitzelle der Null-Erfassungsschaltung bewirken, um an spezielle Eingangsanschlüsse der Z-Ausgabe- Schaltung angelegt zu werden.
DE10019698A 1999-05-13 2000-04-20 Vorrichtung zum Durchführen einer Summier-und-Vergleichs-Operation Expired - Fee Related DE10019698C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/311,516 US6466960B1 (en) 1999-05-13 1999-05-13 Method and apparatus for performing a sum-and-compare operation

Publications (2)

Publication Number Publication Date
DE10019698A1 true DE10019698A1 (de) 2000-12-28
DE10019698C2 DE10019698C2 (de) 2002-02-28

Family

ID=23207262

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10019698A Expired - Fee Related DE10019698C2 (de) 1999-05-13 2000-04-20 Vorrichtung zum Durchführen einer Summier-und-Vergleichs-Operation

Country Status (2)

Country Link
US (1) US6466960B1 (de)
DE (1) DE10019698C2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1291762A2 (de) * 2001-09-07 2003-03-12 STMicroelectronics, Inc. System und Verfahren für eine einer Addition nachgeordneten prädiktiven Vergleichung

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10085322B4 (de) * 1999-12-23 2006-10-26 Intel Corporation, Santa Clara Schaltungsanordnung, Verfahren und Datenverarbeitungs-Einrichtung zum Durchführen einer Ein-Zyklus-Addition oder -Subtraktion und eines Vergleichs bei einer Arithmetik redundanter Form
US6754689B2 (en) 1999-12-23 2004-06-22 Intel Corporation Method and apparatus for performing subtraction in redundant form arithmetic
US6826588B2 (en) * 1999-12-23 2004-11-30 Intel Corporation Method and apparatus for a fast comparison in redundant form arithmetic
US6813628B2 (en) * 1999-12-23 2004-11-02 Intel Corporation Method and apparatus for performing equality comparison in redundant form arithmetic
US7392277B2 (en) * 2001-06-29 2008-06-24 Intel Corporation Cascaded domino four-to-two reducer circuit and method
US7428568B2 (en) * 2001-09-21 2008-09-23 Intel Corporation Symmetric cascaded domino carry generate circuit
US6865590B2 (en) * 2001-12-10 2005-03-08 Infineon Technologies Ag Three input variable subfield comparation for fast matching
KR100866787B1 (ko) * 2002-01-16 2008-11-04 삼성전자주식회사 Xor에 기반한 캐리 생성기와 이를 이용한 조건 선택가산 장치 및 그 방법
US7216141B2 (en) * 2003-11-06 2007-05-08 International Business Machines Corporaiton Computing carry-in bit to most significant bit carry save adder in current stage
US7284029B2 (en) * 2003-11-06 2007-10-16 International Business Machines Corporation 4-to-2 carry save adder using limited switching dynamic logic
JP3912545B2 (ja) * 2004-03-24 2007-05-09 セイコーエプソン株式会社 非同期加算器、非同期プロセッサ、及び電子機器
US20090292757A1 (en) * 2008-05-23 2009-11-26 Steven Leeland Method and apparatus for zero prediction
US8713086B2 (en) * 2010-08-06 2014-04-29 Texas Instruments Incorporated Three-term predictive adder and/or subtracter
US9542334B2 (en) 2011-08-19 2017-01-10 Nxp Usa, Inc. Memory management unit TAG memory with CAM evaluate signal
US10164773B2 (en) * 2016-09-30 2018-12-25 Intel Corporation Energy-efficient dual-rail keeperless domino datapath circuits

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5418736A (en) * 1994-03-11 1995-05-23 Nexgen, Inc. Optimized binary adders and comparators for inputs having different widths
US5394351A (en) * 1994-03-11 1995-02-28 Nexgen, Inc. Optimized binary adder and comparator having an implicit constant for an input
US5732008A (en) * 1995-12-04 1998-03-24 The University Of Waterloo Low-power high performance adder

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1291762A2 (de) * 2001-09-07 2003-03-12 STMicroelectronics, Inc. System und Verfahren für eine einer Addition nachgeordneten prädiktiven Vergleichung
EP1291762A3 (de) * 2001-09-07 2005-09-28 STMicroelectronics, Inc. System und Verfahren für eine einer Addition nachgeordneten prädiktiven Vergleichung

Also Published As

Publication number Publication date
DE10019698C2 (de) 2002-02-28
US6466960B1 (en) 2002-10-15

Similar Documents

Publication Publication Date Title
DE10019698C2 (de) Vorrichtung zum Durchführen einer Summier-und-Vergleichs-Operation
DE3840969C2 (de)
DE69731700T2 (de) Arithmetischer Schaltkreis und arithmetisches Verfahren
DE3635761A1 (de) Programmierbares logikfeld mit dynamischer cmos-logik
DE2707451C2 (de) Paralleladdierwerk mit durchlaufendem Übertrag zum Addieren von wenigstens zwei aus mehreren Bits bestehenden Summanden
DE112005001906B4 (de) Mehrbit-Addierer und Verfahren zum Propagieren, Generieren oder Killen von Carry-In-Bits entlang einer Carry-Kette
DE4335245A1 (de) Vektorlogikverfahren und dynamisches Logikgatter für eine selbstzeitgebende, monotone Logikprogression
DE69726118T2 (de) Energiesparender passtransistorlogikschaltkreis und volladdierer damit
DE19521089C1 (de) Schaltungsanordnung zur Realisierung von durch Schwellenwertgleichungen darstellbaren Logikelementen
EP0834117B1 (de) Schaltungsanordnung zum vergleich zweier elektrischer grössen, die von einem ersten neuron-mos-feldeffekttransistor und einer referenzquelle zur verfügung gestellt werden
DE3634637A1 (de) Differentiell geschalteter kondensator-integrator mit einem einzelnen integrationskondensator
EP1540460B1 (de) Vorrichtung und verfahren zum umsetzen und addiererschaltung
EP0352549B1 (de) Carry-select-Addierer
EP0257362A1 (de) Addierer
EP0224656B1 (de) Mehrstelliger Carry-Ripple-Addierer in CMOS-Technik mit zwei Typen von Addiererzellen
DE3001389A1 (de) Schaltungsanordnung in integrierter schaltungstechnik mit feldeffekttransistoren
DE10344647B3 (de) Schaltungsanordnung und Verfahren zur Verarbeitung eines Dual-Rail-Signals
EP1723723B1 (de) Logik-grundzelle, logik-grundzellen-anordnung und logik-vorrichtung
EP1468492B1 (de) Integrierte schaltung und schaltungsanordnung zur umwandlung eines single-rail-signals in ein dual-rail-signal
EP1495542B1 (de) Schaltungsanordnung und verfahren zur erzeugung eines dual-rail-signals
DE2334744A1 (de) Binaer-logikschaltung fuer digitale rechenoperationen
EP0218071A2 (de) Addierzelle für Carry-Ripple-Addierer in CMOS-Technik
DE102016121449A1 (de) Halbleiterchip
DE2052519B2 (de) Logische Schaltung
DE102005037356B3 (de) Schaltung und Verfahren zum Berechnen einer logischen Verknüpfung zweier verschlüsselter Eingangsoperanden

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
D2 Grant after examination
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20111102