Dual-Rail-Schaltungen
werden insbesondere für
kryptographische Anwendungen, aber auch für andere schnelle Logikanwendungen
bevorzugt. Hier werden für
jeden Operanden sowohl der Wert des Operanden selbst als auch der
invertierte Wert des Operanden bereitgestellt und verarbeitet. Ausgangsseitig
wird dann wieder nicht nur das berechnete Bit, sondern auch der
invertierte Wert des berechneten Bits erhalten. Damit wird sichergestellt,
dass der Stromverbrauch unabhängig
davon ist, ob die zu verarbeitenden Zahlen logische Nullen oder
logische Einsen sind.
Eine
höhere
Sicherheit mit solchen Dual-Rail-Schaltungen wird dann erreicht,
wenn ein Evaluierungsmodus oder Datenmodus immer auf einen Vorbereitungsmodus
oder Precharge-Modus oder Predischarge-Modus folgt. Im Precharge-Modus
werden immer sowohl der Eingang als auch der invertierte Eingang
auf dasselbe hohe Potential gebracht. Im Predischarge-Modus werden
dagegen sowohl der Operand als auch der invertierte Operand auf
dasselbe niedrige Potential gebracht. Wenn immer ein Datenmodus
einem Precharge-Modus folgt, wird sichergestellt, dass sich von
einem Modus zum nächsten,
also beim Übergang
von einem Vorbereitungsmodus in einen Evaluierungsmodus oder Datenmodus
immer nur eine Leitung ändert.
Damit wird ein Stromprofil erhalten, dass völlig unabhängig von den zu verarbeitenden
Daten ist.
XOR-Schaltungen
werden an verschiedenen Stellen eingesetzt. Eine Anwendung findet
in Zählern statt,
wobei hier eine XOR-Verknüpfung eines
Propagate-Signals Prop mit einem Übertrags signal Car einer nächstniedrigeren
Bit-Slice benötigt
wird. 2 zeigt eine bestehende
XOR-Schaltung zum Verknüpfen
eines Propagate-Signals Prop und eines Übertrag-Signals Car, um ein
Ergebnis zu erhalten. Die in 2 gezeigte
Schaltung ist ebenfalls in Dual-Rail-Technik ausgeführt und
umfasst vier Eingänge 21, 22, 23, 24 und
zwei Ausgänge 25, 26.
Zum Implementieren der XOR-Wahrheitstabelle, wie sie z.B. in 3 dargestellt ist, werden
bei der bekannten Schaltung sechs Transistoren P1, P2, P3, P4, P5
und P6 benötigt.
Die in 2 gezeigte Schaltung
hat als Merkmal, dass sämtliche
vier Eingänge 21 bis 24 auf je
ein Gate eines PMOS-Transistors P1, P2, P3, P4, P5, P6 geführt werden,
was bedeutet, dass keiner der Eingänge getrieben werden muss.
Zum Betrieb der in 2 gezeigten
XOR-Schaltung wird somit nur ein sehr kleiner Treiber auf Seiten
der Eingangsoperenden benötigt.
Nachteilig
an der in 2 gezeigten
Schaltung ist jedoch die Tatsache, dass dann, wenn ein Precharge
ausgeführt
wird, sämtliche
in 2 gezeigten Transistoren
gesperrt sind. Dies bedeutet, dass sämtliche inneren Knoten floaten.
Im Precharge-Zustand werden somit weder die Ausgänge 25 und 26 der
in 2 gezeigten Schaltung
noch die inneren Knoten zwischen den einzelnen Transistoren getrieben.
Geht
die Schaltung dann in die Evaluierungsphase über, dann hat sie den Nachteil,
dass nur einer der beiden Pfade mit einer logischen „1" getrieben wird.
Dies kann bei einem unglücklichen
Layout, bei dem z.B. parasitäre
Einkopplungen in der Precharge-Phase stattfinden, zu einer Fehlfunktion
der Schaltung führen.
Werden
die Eingänge
in der nächsten
Evaluierungsphase mit gültigen
Werten belegt, dann wird wieder ein Vdd-Pfad auf das Ausgangsbit
oder das invertierte Ausgangsbit gelegt. Da am inneren Knoten des
XOR-Gatters Restladung aus dem Zyklus zuvor gespeichert sein kann,
und da ferner auch an den Ausgängen
Restladung gespeichert werden kann, können sich Effekte ergeben,
die wiederum zu einer Performance-Einbuße, zu Querstrom und zu mangelnder
Betriebssicherheit führen.
So kann es beispielsweise passieren, dass aufgrund einer aus einem
vorherigen Zyklus vorhandenen Restladung getriebenes Bit zunächst gegen
die Restladung ankämpfen
muss. Hierbei fließt
ein Querstrom und die Schaltung wird langsamer als notwendig. Durch
Koppelkapazitäten
kann dieser Effekt noch erheblich verstärkt werden, was im Extremfall
sogar dazu führen kann,
dass die Restladung „gewinnt" und damit das Resultat
falsch ist.
Die
DE 197 12 553 A1 offenbart
eine Ladungsrecycling-Differenzlogik-Schaltung
und Speicherelemente, die diese Schaltung umfassen. Ein nMOS-Passtransistoren-Logiknetzwerk,
das zur Implementierung der XOR/XNOR-Funktion vier nMOS-Transistoren umfasst,
ist mit einer Vorladeschaltung gekoppelt, die dann, wenn der Takt
niedrig ist, die Ausgangsknoten verbindet, um beide Ausgangsknoten
auf eine Spannung zu bringen, die gleich der Hälfte der Differenz zwischen
Vdd und Vss ist, und um im Bewertungsmodus, der dann, wenn der Takt
hoch ist, stattfindet, die beiden Ausgangsknoten voneinander zu
trennen.
Die
Aufgabe der vorliegenden Erfindung besteht darin, eine effizientere
und flexiblere XOR-Schaltung zu schaffen.
Diese
Aufgabe wird durch eine XOR-Schaltung nach Patentanspruch 1 gelöst.
Der
vorliegenden Erfindung liegt die Erkenntnis zugrunde, dass zur Reduktion
der internen Knoten, die im Precharge-Zustand floatend sind, von der Prämisse wegzugehen
ist, dass die XOR-Schaltung so aufgebaut sein muss, dass die Eingänge nicht mehr
belastet werden, also nur auf Gates von Transistoren innerhalb der
XOR-Schaltung treffen. In anderen Worten ausgedrückt wird die Schnelligkeit
der XOR-Schaltung und auch die Betriebssicherheit der Schaltung
dadurch verbessert, dass die Anzahl von internen Knoten, die im
Precharge-Zustand nicht getrieben werden, also floaten, reduziert
wird. Bei der erfindungsgemäßen Schaltung
sind nur noch, abhängig
von den der XOR-Schaltung nachgelagerten Schaltungen, die Ausgänge im Precharge-Zustand floatend.
Dagegen existieren keine inneren Knoten mehr, die im Precharge-Zustand
undefiniert sind. Damit wird sichergestellt, dass nach einem Precharge-Zustand
keine störenden
Restladungen überwunden
werden müssen,
um ein Bit oder ein invertiertes Bit zu berechnen.
Die
erfindungsgemäße XOR-Schaltung zeichnet
sich ferner dadurch aus, dass sie weniger Fläche benötigt. So hat die er findungsgemäße XOR-Schaltung
nur vier „Rechentransistoren" und einen optionalen
Equalize-Transistor, was im Vergleich zu den sechs Transistoren
der bekannten Schaltung eine Reduktion um ein Drittel bzw. ein Sechstel
der nötigen
Fläche
darstellt. Insbesondere bei Langzahlrechenwerken, die sehr viele
Bit-Slices umfassen, führt
die Einsparung an Chipfläche
pro XOR-Gatter zu einer beträchtlichen
eingesparten Fläche
bezogen auf den gesamten Chip.
Ferner
zeichnet sich die erfindungsgemäße Schaltung
durch einen Performancegewinn, durch eine Reduzierung des Querstroms
und durch eine Erhöhung
der Betriebssicherheit aus. Ferner wird erreicht, dass das Stromprofil
unabhängig
vom Ergebnisbit ist, indem vorzugsweise der Equalize-Transistor
eingebaut wird, welcher im Precharge-Zustand die beiden Ausgänge kurzschließt, wodurch
eventuell dort verbleibende Restladungen aufgrund des vorherigen
Evaluierungsmodus auf beide Ausgänge gleichmäßig verteilt
werden und damit im nächsten Evaluierungsmodus
leichter überwunden
werden können.
Bevorzugte
Ausführungsbeispiele
der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf
die beiliegenden Zeichnungen detailliert erläutert. Es zeigen:
1 eine
erfindungsgemäße XOR-Schaltung
gemäß einem
bevorzugten Ausführungsbeispiel;
2 eine
bisher existierende XOR-Schaltung;
3 ein
XOR-Wahrheitstabelle für
ein Dual-Rail-XOR-Gatter.
1 zeigt
eine erfindungsgemäße XOR-Schaltung.
Die Schaltung umfasst einen ersten Eingang 11, einen zweiten
Eingang 12, einen dritten Eingang 13 und einen
vierten Eingang 14. Am ersten Eingang 11 liegt
die nicht-invertierte Version des ersten Operanden, also im vorliegenden
Beispiel der Propaga te-Parameter einer vorhergehenden Look-Ahead-Schaltung
an. Am zweiten Eingang 12 liegt der invertierte Wert des
Propagate-Parameters an.
Am dritten Eingang 13 liegt eine nichtinvertierte Version
des Übertrag-Bits
Car (Car = Carry) an. Am vierten Eingang 14 liegt die invertierte
Version des Übertrage-Bits
(CarQ) an. Die XOR-Schaltung hat ferner zwei Ausgänge 15 und 16,
wobei am Ausgang 15 das nicht-invertierte Bit anliegt,
und wobei am Ausgang 16 das invertierte Ergebnisbit erhalten
wird. Ferner umfasst die erfindungsgemäße Schaltung vier Schalter
P1, P2, P3, P4, die bei dem bevorzugten Ausführungsbeispiel der vorliegenden
Erfindung alle als PMOS-Transistoren ausgebildet sind, so dass sie zusammen
mit einem Precharge-Betrieb aller Eingangsoperanden an den vier
Eingängen
arbeiten. Würde
ein Predischarge-Betrieb gewählt
werden, so sollten die vier Schalter als NMOS-Transistoren ausgeführt werden.
Ferner ist optional ein Ausgleichs-Transistor P5 vorgesehen, der zwischen
dem ersten Ausgang 15 und dem zweiten Ausgang 16 geschaltet
ist, um im Vorbereitungsmodus, also im Precharge-Modus bzw. im Predischarge-Modus, die beiden
Ausgänge 15 und 16 miteinander
zu verbinden, während
im Evaluierungsmodus oder Datenmodus der Transistor P5 sperrend
ist, so dass die beiden Ausgänge 15 und 16 nicht
kurzgeschlossen sind. Sowohl der Ausgleichs-Transistor P5 als auch
eine erste Eingangsstufe 17 als auch eine zweite Eingangsstufe 18 werden
von einer Precharge-Steuerung 19 gesteuert, die ausgebildet
ist, um im Vorbereitungsmodus alle Eingangswerte an den vier Eingängen 11 bis 14 auf
dasselbe Potential zu bringen.
Die
erste Eingangsstufe ist ferner ausgebildet, um im Evaluierungsmodus
den ersten Eingang 11 bzw. den zweiten Eingang 12 zu
treiben, damit an den beiden Ausgängen 15 bzw. 16 ein
sicheres Ergebnispotential anliegt. Dagegen muss die zweite Eingangsstufe
nicht derart stark ausgelegt sein, da der zweite Eingangsoperand
und der invertierte zweite Eingangsoperand nur an Gates der Rechentransistoren
angeschlossen sind und daher keine Ausgangspotentiale treiben müssen.
Im
Einzelnen ist ein erster Schalter P1 zwischen den zweiten Eingang 12 und
den Ausgang 16 geschaltet. Die Steuerelektrode des ersten
Schalters P1 ist mit dem dritten Eingang 13 der XOR-Schaltung verbunden.
Ferner
ist ein zweiter Schalter P2 zwischen den ersten Eingang 11 und
den zweiten Ausgang 16 geschaltet. Die Steuerelektrode
des zweiten Schalters ist mit dem vierten Eingang der XOR-Schaltung gekoppelt.
Ferner
ist ein dritter Schalter P3 zwischen den ersten Eingang 11 und
den ersten Ausgang 15 geschaltet, wobei eine Steuerelektrode
des dritten Schalters P3 wiederum mit dem dritten Eingang der XOR-Schaltung
gekoppelt ist.
Schließlich ist
ein vierter Schalter P4 zwischen den zweiten Eingang 12 und
den ersten Ausgang 15 geschaltet, wobei eine Steuerelektrode
des vierten Schalters P4 mit dem vierten Eingang 14 der XOR-Schaltung
verbunden ist.
Nachfolgend
wird auf die Vorteile des erfindungsgemäßen Konzepts im Vergleich zur
bisher bestehenden Schaltung, die in 2 gezeigt
ist, noch einmal eingegangen.
So
ist in 2 ein Pfad auf „1" getrieben. Dies bedeutet, dass das
Potential Vdd entweder mit dem ersten Ausgang 25 oder dem
zweiten Ausgang 26 verbunden ist. Der andere Ausgang ist
dagegen nicht getrieben.
Wird
dann, bei der in 2 gezeigten Schaltung, in den
Precharge-Modus übergegangen,
so kann die Ladung, wenn Vdd von der Schaltung abgekoppelt wird,
nicht abfließen.
Sie bleibt daher zurück und
steht einer Umladung im nächsten
Evaluierungszyklus im Wege. Ein Pfad ist bei der in 2 gezeigten
Schaltung daher in Folge der Restladung durch die Vorgeschichte
auf einen logischen Zustand „1" aufgeladen.
Erfindungsgemäß wird dieser
Nachteil dadurch überwunden,
dass im Evaluierungsmodus ein Ausgangspfad auf einen logisch hohen
Zustand, also beispielsweise Vdd getrieben wird, während der
andere Pfad nur auf die Schwellenspannung Vth in Folge der Restladung
durch die Vorgeschichte getrieben wird. Da die Schwellenspannung
Vth jedoch bereits um einiges geringer als die Spannung Vdd ist,
wird bereits ohne Bereitstellen des Equalize-Transistors eine Verbesserung
der Schaltung erreicht, da die Restladung, die überwunden werden muss, wenn von
einem Precharge-Modus auf einen Evaluierungsmodus gewechselt wird,
deutlich kleiner ist als die Restladung bei der in 2 gezeigten
Schaltung.
Um
die erfindungsgemäße Schaltung
weiter zu verbessern, wird es ferner bevorzugt, den Ausgleichs-Transistor
P5 vorzusehen. Wenn nämlich
der XOR-Schaltung eine Schaltung folgt, die in der Precharge-Phase
die beiden Ausgänge 15 und 16 nicht
auf ein bestimmtes Potential legt, so sind diese Ausgänge 15 und 16 immer
noch floatend. Dies bedeutet, dass auf einem Ausgang aufgrund der
Vorgeschichte eine Ladung vorhanden ist, während am anderen Ausgang aufgrund
der Vorgeschichte keine Ladung vorhanden ist. So hat sich herausgestellt, dass
die Verteilung der Ladung an einem Ausgang auf beide Ausgänge zu einer
Beschleunigung und einer verbesserten Betriebssicherheit der Schaltung führen kann,
da dann, im nächsten
Evaluierungszyklus, nur gewissermaßen die halbe Restladung „überwunden" werden muss.
Da
der Eingang des Steuertransistors mit dem Precharge-Steuersignal der
umgebenden Schaltung verbunden ist, wird das Potential der beiden
Ausgänge 15 und 16 ausgeglichen
und liegt dann Technologie- und Layout-abhängig zwischen etwa dem 0,3
bis 0,7-fachen. Die Ausgänge
werden dadurch unempfindlicher gegen Einkopplungen über parasitäre Kapazitäten.
Durch
die Anordnungen der Quertransistoren P1 bis P4 wird weiterhin erreicht,
dass bei der Evaluierung beide Ausgänge 15 und 16,
wie es ausgeführt
worden ist, getrieben werden. Ein Ausgang wird mit einer logischen „1" getrieben, und der
andere Ausgang wird mit Vss minus Vthp getrieben. Dies erhöht ebenfalls
die Robustheit der Schaltung.
Die
erfindungsgemäße Schaltung
könnte auch
in statischer Logik verwendet werden, wenn der Transistor P5 nicht
vorgesehen wird, oder wenn dessen Eingang fest mit einer logischen „1" verbunden ist.
Die
erfindungsgemäße Schaltung
zeigt also eine größere Robustheit
sowohl während
der Precharge-Phase als auch während
der Evaluierungsphase und umfasst ferner einen Transistor weniger
im Vergleich zu der in 2 gezeigten Schaltung, was insbesondere
bei Langzahlrechenwerken mit vielen Bit-Slices zu einer doch erheblichen
insgesamten Chipflächeneinsparung
führen
wird.