DE102005037355B3 - Schaltung und Verfahren zum Berechnen einer logischen Verknüpfung zweier Eingangsoperanden - Google Patents

Schaltung und Verfahren zum Berechnen einer logischen Verknüpfung zweier Eingangsoperanden Download PDF

Info

Publication number
DE102005037355B3
DE102005037355B3 DE102005037355A DE102005037355A DE102005037355B3 DE 102005037355 B3 DE102005037355 B3 DE 102005037355B3 DE 102005037355 A DE102005037355 A DE 102005037355A DE 102005037355 A DE102005037355 A DE 102005037355A DE 102005037355 B3 DE102005037355 B3 DE 102005037355B3
Authority
DE
Germany
Prior art keywords
values
precharge
circuit
dual
int
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
DE102005037355A
Other languages
English (en)
Inventor
Antoine Degrendel
Winfried Kamp
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 DE102005037355A priority Critical patent/DE102005037355B3/de
Priority to US11/463,190 priority patent/US7342423B2/en
Application granted granted Critical
Publication of DE102005037355B3 publication Critical patent/DE102005037355B3/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/08Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using semiconductor devices
    • H03K19/094Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using semiconductor devices using field-effect transistors
    • H03K19/096Synchronous circuits, i.e. using clock signals
    • H03K19/0963Synchronous circuits, i.e. using clock signals using transistors of complementary type
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Logic Circuits (AREA)

Abstract

Eine Schaltung zum Berechnen einer logischen Verknüpfung zweier Eingangsoperanden umfasst einen ersten Eingang zum Empfangen eines ersten Dual-Rail-Signals (A, AN), das in einem Berechnungszyklus Datenwerte des ersten Eingangs und in einem Vorladezyklus Vorladewerte aufweist, einen zweiten Eingang zum Empfangen eines zweiten Dual-Rail-Signals (B, BN), das in dem Berechnungszyklus Datenwerte des zweiten Eingangs und in dem Vorladezyklus Vorladewerte aufweist, und einen Ausgang zum Ausgeben eines dritten Dual-Rail-Signals (Z, ZN), das in dem Berechnungszyklus Ergebniswerte und in dem Vorladezyklus Vorladewerte aufweist. Ferner weist die Schaltung eine Logikschaltung (104) zum Bestimmen der Ergebniswerte gemäß der logischen Verknüpfung aus den Datenwerten des ersten Eingangs und des zweiten Eingangs und zum Ausgeben der Ergebniswerte in dem Berechnungszyklus am Ausgang und eine Vorladeschaltung (102), die ausgebildet ist, um Vorladewerte in dem Ausgang bereits dann einzuprägen, wenn Vorladewerte an einem einzigen Eingang erfasst werden, oder die ausgebildet ist, um ein Einprägen der Vorladewerte erst dann zu beenden, wenn das erste Dual-Rail-Signal (A, AN) und das zweite Dual-Rail-Signal (B, BN) Datenwerte aufweisen.

Description

  • Die vorliegende Erfindung befasst sich mit einer Schaltung und einem Verfahren zum Berechnen einer logischen Verknüpfung zweier Eingangsoperanden, die insbesondere für sicherheitsrelevante Anwendungen eingesetzt werden können.
  • Schaltungen die zur Verarbeitung sicherheitsrelevanter Daten eingesetzt werden, werden möglichst so gestaltet, dass die zu verarbeitenden Daten vor Angreifern geschützt werden, die versuchen durch eine Analyse der Schaltung an die sicherheitsrelevanten Daten zu gelangen. Aufgrund von SPA/DPA-Angriffen (SPA/DPA; SPA/DPA = Simple Power-Attack/Differential Power-Attack) ist es für Hochsicherheits-Anwendungen notwendig, den Stromverbrauch einer integrierten Schaltung, unabhängig von den prozessierten Daten zu gestalten.
  • Diese Problematik kann durch eine dynamische Dual-Rail-Schaltungstechnik gelöst werden, deren Entwurf, Charakterisierung und Verifikation allerdings zeitaufwendig ist. Eine auf der dynamischen Dual-Rail-Schaltungstechnik basierende Bibliothek ist aufgrund der, für einen Vorladezustand zwischen den Datenzuständen, erforderlichen Precharge Signale nicht synthetisierbar und für statische Timinganalysen nicht geeignet.
  • Eine statische Implementierung einer Schaltungsanordnung zur Verarbeitung zweier Dual-Rail-Signale ist in der Patentschrift DE 103 44 647 B3 beschrieben. Die Dual-Rail-Signale weisen dabei zwischen gültigen Datenwerten Vorladesignale mit Vorladewerten auf. Gültige Datenwerte sind dadurch charakterisiert, dass auf beiden Einzelsignalen des Dual-Rail-Signals jeweils zueinander invertierte logische Zustände herrschen. Vorladewerte sind dadurch charakterisiert, dass auf den beiden Signalen eines Dual-Rail-Signals gleiche logische Zustände herrschen. Gemäß der Patentschrift werden die an den Eingängen der Schaltungsanordnung anliegenden Vorladewerte auf einen Ausgang der Schaltungsanordnung durchgereicht.
  • Dieses Prinzip wird im folgenden am Beispiel einer UND-Funktion erläutert. 14a zeigt eine Wertetabelle für eine UND-Funktion. Dabei sind A, B die Eingangssignale der Schaltungsanordnung und Z der Ausgang der Schaltungsanordnung. 14b zeigt die Wertetabelle für eine Implementierung einer Schaltung zur Verarbeitung von Dual-Rail-Signalen mit Prechargesignalen gemäß dem Stand der Technik. In einem Vorladezyklus, in 14b als Idle-Zustand bezeichnet, weisen die Eingangssignale A, AN und B, BN jeweils gleiche logische Zustände, hier logisch 0 auf. In diesem Fall werden die Ausgangssignale Z, ZN ebenfalls auf Null gelegt. Liegen also an beiden Eingängen der Schaltungsanordnung Vorladewerte an, so werden diese Vorladewerte auf den Ausgang durchgeschaltet.
  • Gemäß der in 14b gezeigten Wertetabelle können bei einem Übergang von einem Berechnungszyklus mit gültigen Datenwerten in einen Vorladezyklus oder bei einem Übergang von einem Vorladezyklus in einen Berechnungszyklus Störimpulse auftreten. Dies ist insbesondere dann der Fall, wenn beim Übergang vom Berechnungszyklus in den Vorladezyklus an einem Eingangssignal bereits der Vorladewert anliegt an dem anderen Eingangssignal jedoch noch ein gültiger Datenwert anliegt. In diesem Fall kann am Ausgang bereits ein Vorladewert oder aber auch noch ein Datenwert ausgegeben werden. Es ist auch nicht aus geschlossen, dass bei dem Übergang zwischenzeitlich mehrere unterschiedliche Datenwerte am Ausgang ausgegeben werden, bevor letztendlich Vorladewerte am Ausgang ausgegeben werden. Die gleiche Problematik tritt beim Übergang von Vorladezyklus auf den Berechnungszyklus auf. Liegt an einem der Eingänge bereits ein gültiger Datenwert an, an dem anderen Eingang jedoch noch ein Vorladewert, so ist wiederum offen, ob an dem Ausgang bereits ein gültiger Datenwert, wechselnde Datenwerte oder noch ein Vorladewert anliegt. Diese Unsicherheiten können zu Störimpulsen führen und bieten einen Angriffspunkt für neueste Angriffsszenarien bei denen durch eine höhere zeitliche Auflösung des Stromverbrauchs einer Schaltung versucht wird, unterschiedliche Schaltzeitpunkte zu erkennen und dann den Stromverlauf entsprechend zu bewerten.
  • Die US-2002/0101262 A1 befasst sich mit einer Schaltung zum Berechnen eines Dual-Rail-Ergebnisoperanden aus einer logischen Verknüpfung zweier Dual-Rail-Eingangsoperanden. Die Schaltung weist eine Reihe von Transistorschaltungen auf, die so verschaltet sind, dass am Ausgang ein "Haltewert" anliegt, sobald an einem der Eingänge ein "Haltewert" anliegt. Als "Haltewerte" werden Dual-Rail Operanden mit gleichen logischen Werten beschrieben.
  • Es ist die Aufgabe der vorliegenden Erfindung, eine Schaltung zum Berechnen einer logischen Verknüpfung von Eingangsoperanden zu schaffen, die eine sichere Verarbeitung der Operanden ermöglicht.
  • Diese Aufgabe wird durch eine Schaltung gemäß Anspruch 1 gelöst.
  • Die vorliegende Erfindung schafft eine Schaltung zum Berechnen einer logischen Verknüpfung zweier Eingangsoperanden, mit:
    einem ersten Eingang zum Empfangen eines ersten Dual-Rail-Signals, das in einem Berechnungszyklus Datenwerte des ersten Eingangs und in einem Vorladezyklus Vorladewerte aufweist;
    einem zweiten Eingang zum Empfangen eines zweiten Dual-Rail-Signals, das in dem Berechnungszyklus Datenwerte des zweiten Eingangs und in dem Vorladezyklus Vorladewerte aufweist;
    einen Ausgang zum Ausgeben eines dritten Dual-Rail-Signals, das in dem Berechnungszyklus Ergebniswerte und in dem Vorladezyklus Vorladewerte aufweist;
    einer Logikschaltung zum Bestimmen der Ergebniswerte gemäß der logischen Verknüpfung aus den Datenwerten des ersten Eingangs und des zweiten Eingangs und zum Ausgeben der Ergebniswerte in dem Berechnungszyklus am Ausgang; und
    einer Vorladeschaltung, die ausgebildet ist, um Vorladewerte in dem Ausgang bereits dann einzuprägen, wenn Vorladewerte an einem einzigen Eingang erfasst werden, oder die ausgebildet ist, um ein Einprägen der Vorladewerte erst dann zu beenden, wenn das erste Dual-Rail-Signal und das zweite Dual-Rail-Signal Datenwerte aufweisen.
  • Der vorliegenden Erfindung liegt die Erkenntnis zugrunde, dass eine Voraussetzung damit Schaltungszellen gegen eine Timing-Attacke resistent sind, darin besteht, dass ein Übergang des Schaltungsausgangs in den Vorladezyklus oder Vorladezustand, auch Idle-Phase genannt, erfolgt, sobald mindestens an einem Eingang ein Vorladewert anliegt und dass ein Übergang des Ausgangs der Schaltung aus dem Vorladezyklus erst dann erfolgt, wenn an allen Eingängen keine Vorladewerte mehr anliegen. Im Vorladezyklus liegen Vorladewerte, dies sind typischerweise Werte mit gleichen logischen Zuständen, die keinen gültigen Datenwerten entsprechen, auf beiden Leitungen eines Dual-Rail-Signals an.
  • Die vorgeschlagene Schaltungstechnik soll verhindern, dass sich der Schaltungsausgang beim Eintreffen einzelner Eingangswerte schon vorab ändert, auch wenn die logische Funktion dies erlauben würde. Die Ausgangsänderung wird gemäß der vorliegenden Erfindung erst dann ausgeführt, wenn alle Eingangswerte aus dem Vorladezyklus in den bewerteten Zustand, im folgenden Berechnungszyklus oder Berechnungszustand genannt, übergegangen sind. Somit wird die Ausgangsänderung beim Übergang in den Berechnungszyklus immer vom letzten Eingang ausgelöst und es wird die Beobachtbarkeit weiter reduziert. Andererseits stellt die vorgeschlagene Schaltungstechnik sicher, dass an dem Ausgangssignal Vorladewerte anliegen, sobald an einem einzigen Eingang Vorladewerte anliegen.
  • Aufgrund der definierten Übergänge werden Störimpulse, kurzeitige Bitwechsel und undefinierte Schaltzeitpunkte, die einem Angreifer Rückschlüsse auf zu verarbeitende Daten ermöglichen, vermieden.
  • Die dem erfindungsgemäßen Ansatz zugrundeliegenden Gatter-Implementierungen sind zu jedem Zeitpunkt getrieben, dass heißt, es liegt kein dynamischer Zustand vor. Somit sind hierauf basierende Bibliotheken synthetisierbar und für statische Timinganalysen geeignet.
  • Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend bezugnehmend auf die beiliegenden Zeichnungen näher erläutert. Es zeigen:
  • 1 eine schematische Darstellung einer Schaltung gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
  • 2 eine zeitliche Darstellung von Berechnungszyklen und Vorladezyklen gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
  • 3 eine schematische Darstellung einer Schaltung gemäß einem weiteren Ausführungsbeispiel der vorliegenden Erfindung;
  • 4a, 4b Wertetabellen für einen Vorladezustand gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
  • 4c Wertetabelle einer logischen Verknüpfung gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
  • 5 und 6 Schaltbilder von Vorladeschaltungen gemäß Ausführungsbeispielen der vorliegenden Erfindung;
  • 7, 8, 9a, b, und 10 bis 13 Schaltbilder von Logikschaltungen gemäß Ausführungsbeispielen der vorliegenden Erfindung; und
  • 14a, und 14b Wertetabellen gemäß dem Stand der Technik.
  • In der nachfolgenden Beschreibung der bevorzugten Ausführungsbeispiele der vorliegenden Erfindung werden für die in den verschiedenen Zeichnungen dargestellten und ähnlich wirkenden Elementen gleiche oder ähnliche Bezugszeichen verwendet, wobei eine wiederholte Beschreibung dieser Elemente weggelassen wird.
  • 1 zeigt eine Schaltung zum Berechnen einer logischen Verknüpfung zweier Eingangsoperanden gemäß einem Ausführungsbeispiel der vorliegenden Erfindung. Die Schaltung ist in Dual-Rail-Schaltungstechnik ausgeführt. Dabei wird jedes, auf einer Dual-Rail-Leitung übertragene Bit, durch zwei Knoten dargestellt, wobei jedes Bit einen gültigen logischen Wert aufweist, wenn der erste der beiden Knoten dem wahren logischen Wert dieses Bits entspricht und der zweite der beiden Knoten dem dazu invertierten Wert. Solche gültigen logischen Werte werden im Folgenden auch als Datenwerte bezeichnet. Zwischen zwei Datenwerten mit gültigen logischen Werten 1,0 oder 0,1 wird ein sog. Vorladezustand, im Englischen auch „Precharge oder Predischarge" genannt, eingefügt. In einem solchen Vorladezustand werden beide Knoten der Dual-Rail-Leitung auf dasselbe elektrische Potential geladen und nehmen logisch ungültige Werte 1, 1 oder 0, 0 an. Solche logisch ungültigen Werte werden im Folgenden als Vorladewerte bezeichnet. In den folgenden Ausführungsbeispielen werden als Vorladewerte die Zustände 0, 0 angenommen. In diesem Fall sind die Zustände 1, 1 nicht erlaubt. Alternativ können als Vorladewerte auch die Zustände 0, 0 angenommen werden. In diesem Fall sind die Zustände 1, 1 nicht erlaubt. Berechnungszyklen, in denen gültige Datenwerte an der Schaltung anliegen, wechseln sich mit Vorladezyklen ab, in denen ungültige logische Werte in Form von Vorladewerten an der Schaltung anliegen. Liegen an einem Eingang der Schaltung Vorladewerte an, so werden diese auf den Ausgang der Schaltung durchgeschaltet, ohne dass dazu ein zusätzliches Taktsignal oder Vorladesignal erforderlich ist. Gemäß der vorliegenden Erfindung werden am Ausgang der Schaltung Vorladewerte ausgegeben, sobald mindestens an einem Eingang der Schaltung Vorladewerte anliegen. Dies entspricht dem Übergang von einem Berechnungszyklus, in dem gültige Datenwerte am Eingang der Schaltung anliegen, in den Vorladezyklus, in dem Vorladewerte an mindestens einem Eingang der Schaltung anliegen. Beim Übergang vom Vorladezyklus in den Berechnungszyklus werden am Ausgang der Schaltung solange Vorladewerte ausgegeben, bis an allen Eingängen der Schaltung keine Vorladewerte mehr anliegen.
  • Die in 1 gezeigte Schaltung weist eine Vorladeschaltung 102 und eine Logikschaltung 104 auf. Die Schaltung weist einen ersten Eingang zum Empfangen eines ersten Dual-Rail-Signals A, AN und einen zweiten Eingang zum Empfangen des Dual-Rail-Signals B, BN auf. Die Dual-Rail-Signale A, AN, B, BN weisen den Berechnungszyklus Datenwerte und im Vorladezyklus Vorladewerte auf. Dies bedeutet, dass beispielsweise im Berechnungszyklus auf dem Signal A eine 0 anliegt und auf dem Signal AN eine 1 oder auf dem Signal A eine 1 und auf dem Signal AN eine 0 anliegt. Im Vorladezyklus liegt auf den Signalen A, AN jeweils eine 0 oder eine 1 an. Die Schaltung weist ferner einen Ausgang zum Ausgeben eines Dual-Rail-Signals Z, ZN auf. Das Dual-Rail-Ausgangssignal weist ebenso wie die Dual-Rail-Eingangssignale im Berechnungszyklus Datenwerte und im Vorladezyklus Vorladewerte auf. Die Dual-Rail-Signale A, AN, B, BN werden sowohl der Vorladeschaltung 102 als auch der Logikschaltung 104 zugeführt.
  • Die Logikschaltung 104 ist ausgebildet, um eine logische Verknüpfung der Werte durchzuführen, die auf den Dual-Rail-Signalen A, AN, B, BN anliegen. Das Ergebnis der logischen Verknüpfung wird von der Logikschaltung 104 auf den Ausgang der Schaltung gelegt und kann von dem Dual-Rail-Ausgangssignal Z, ZN im Berechnungszyklus ausgegeben werden.
  • Die Vorladeschaltung 102 ist ausgebildet, um sicherzustellen, dass der Berechnungszyklus des Dual-Rail-Ausgangssignals Z, ZN, in dem die Ergebniswerte der Logikschaltung 104 ausgegeben werden, erst dann beginnt, wenn keines der Eingangssignale A, AN, B, BN mehr Vorladewerte aufweist, bzw. wenn beide der Eingangssignale, A, AN, B, BN gültige Datenwerte aufweisen. Solange an einem der Eingangssignale A, AN, B, BN noch Vorladewerte anliegen und am Eingang der Schaltung erfasst werden, prägt die Vorladeschaltung 102 auf dem Ausgangssignal Z, ZN Vorladewerte ein.
  • 2 veranschaulicht einen Übergang vom Berechnungszyklus in den Vorladezyklus und vom Vorladezyklus in einen weiteren Berechnungszyklus. Im Berechnungszyklus liegen an den Dual-Rail-Eingangssignalen A, AN und B, BN sowie am Dual-Rail-Ausgangssignal Z, ZN gültige Datenwerte an, die in 2 durch A1, B1 und Z1 bezeichnet sind. Die Signale A, B, Z weisen einen logischen Zustand 0 oder 1 auf und die dazugehörigen invertierten Signale AN, BN, ZN weisen den dazu invertierten logischen Zustand 1 oder 0 auf. Beim Übergang vom Berechnungszyklus in den Vorladezyklus nehmen alle Signale A, AN, B, BN, Z, ZN den gleichen logischen Wert, hier logisch 0 an.
  • Durch den erfindungsgemäßen Ansatz wird sichergestellt, dass das Ausgangssignal Z, ZN einen Vorladewert, hier logisch 0, aufweist, sobald das erste Eingangssignal, in diesem Fall das Eingangssignal A, AN den Vorladewert annimmt. Dies wird durch die in 1 gezeigte Vorladeschaltung 102 gewährleistet. Ohne diese Vorladeschaltung 102 könnten am Ausgang Z, ZN noch Datenwerte anliegen, solange das zweite Eingangssignal B, BN gültige Datenwerte aufweist. Ferner könnte es in diesem Zeitraum ohne die Vorladeschaltung 102 zu undefinierten Zuständen und Störimpulsen kommen. Die Vorladeschaltung 102 verhindert solche undefinierten Zustände auf dem Ausgangssignal Z, ZN, die zu Störimpulsen oder einem mehrfachen Umschalten des Ausgangssignals Z, ZN führen könnten. Beim Übergang vom Vorladezyklus in den Berechnungszyklus stellt die Vorladeschaltung 102 ebenfalls sicher, dass das Ausgangssignal Z, ZN solange Vorladewerte aufweist, solange noch an mindestens einem der Eingangssignale Vorladewerte anliegen. In diesem Fall bedeu tet dies, dass das Ausgangssignal Z, ZN erst dann gültige Datenwerte annimmt, wenn nach dem zweiten Eingangssignal B, BN auch das erste Eingangssignal A, AN gültige Datenwerte angenommen hat. Die Vorladeschaltung 102 verhindern somit, dass sich der Ausgang beim Eintreffen einzelner Eingangswerte schon vorab ändert, auch wenn die logische Funktion dies erlauben würde. Die Ausgangsänderung wird erst dann ausgeführt, wenn alle Eingangswerte aus dem Vorladezustand in den bewerteten Zustand übergegangen sind.
  • In dem Moment in dem die Vorladeschaltung 102 ausgangsseitig beide Eingänge auf logisch 0 legt, gibt es keinen Pull-Down-Zustand in der Logikschaltung 104. Dadurch wird ein Kurzschluss vermieden.
  • 3 zeigt ein weiteres Blockschaltbild einer Schaltung zum Berechnen einer logischen Verknüpfung zweier Eingangsoperanden gemäß der vorliegenden Erfindung. Die erfindungsgemäße Schaltung weist wiederum eine Vorladeschaltung 102 und eine Logikschaltung 104 auf, die beide ausgebildet sind, um die Dual-Rail-Signale A, AN und B, BN zu empfangen. Die Vorladeschaltung 102 als auch die Logikschaltung 104 sind ausgangsseitig mit einem Dual-Rail-Zwischenknoten Z_INT, ZN_INT verbunden. Ferner weist die Schaltung einen ersten Inverter 106a und einen zweiten Inverter 106b auf, die zwischen den Ausgang der Schaltung und den Zwischenknoten geschaltet sind. Der erste Inverter 106a ist ausgebildet, um einen logischen Zustand des ersten Knoten Z_INT des Zwischenknotens zu invertieren und als Ausgangssignal Z am Ausgang der Schaltung auszugeben. Der zweite Inverter 106b ist ausgebildet, um einen logischen Zustand des zweiten Knoten ZN_INT des Zwischenknotens zu invertieren und als Ausgangssignal ZN am Ausgang der Schaltung auszugeben.
  • In diesem Ausführungsbeispiel wird ein logisch erster Zustand „1" physikalisch durch ein hohes Spannungspotential VDD und ein zweiter logischer Zustand „0" durch ein niedriges Spannungspotential VSS bzw. GND realisiert.
  • Die Vorladeschaltung 102 ist als Pull-up-Netzwerk realisiert, das auf dem Zwischenknoten Z_INT, ZN_INT, abhängig von den Eingangssignalen A, AN, B, BN das hohe Spannungspotential VDD einprägt. Dazu ist die Vorladeschaltung 102 mit einem ersten, hohen Potentialanschluss VDD verbunden.
  • Die Logikschaltung 104 ist in diesem Ausführungsbeispiel als Pull-down-Netzwerk realisiert, das ausgebildet ist, um den Zwischenknoten Z_INT, ZN_INT, abhängig von den Eingangssignalen A, AN, B, BN auf das niedrige elektrische Potential zu ziehen. Dazu ist die Logikschaltung 104 mit einem zweiten, niedrigen Potentialanschluss, in diesem Fall einem Masseanschluss VSS verbunden.
  • Bei der Logikschaltung 104 kann es sich beispielsweise um eine Logikschaltung handeln, die eine logische UND-Verknüpfung der Operanden durchführt, die über die Eingangssignale A, AN, B, BN übertragen werden.
  • Die 4a und 4b zeigen allgemeine Wertetabellen, die einen Vorladezustand beschreiben. Die 4a bezieht sich auf zwei Eingangssignale A, AN, B, BN und die 4b auf drei Eingangssignale A, AN, B, BN, C, CN.
  • Die 4c zeigt eine Wertetabelle, die einer UND-Verknüpfung zugrunde liegt.
  • Gemäß dem erfindungsgemäßen Ansatz ist die in 14b gezeigte statische Dual-Rail-Werte-Tabelle um die in 4a gezeigten zwei Zeilen erweitert. Demgemäß befinden sich die Ausgangssignale Z, ZN im Vorladezustand oder Idle-Zustand, wenn an mindestens einem der Eingangssignale A, AN, B, BN Vorladewerte anliegen. Es genügt also, dass an den Eingangssignalen A, AN jeweils der Vorladezustand anliegt, um auf den Ausgangssignalen Z, ZN ebenfalls den Vorladezustand auszugeben. Der logische Zustand der Signale B, BN wird dabei nicht betrachtet. Dies ist in der Wertetabelle dadurch gekennzeichnet, dass bei den Signalen B, BN don't care (dc) eingetragen ist. Entsprechend dazu werden am Ausgang Z, ZN bereits Vorladewerte ausgegeben, wenn sich das zweite Eingangssignal B, BN im Vorladezustand befindet, unabhängig davon ob am ersten Eingangssignal A, AN Datenwerte oder Vorladewerte anliegen.
  • 4b zeigt eine entsprechende Tabelle für eine drei Inputlogik, bei der die erfindungsgemäße Schaltung drei Eingänge zum Empfangen von drei Dual-Rail-Eingangssignalen aufweist. In diesem Fall wird das Ausgangssignal Z, ZN aus einer logischen Verknüpfung aus den drei Eingangssignalen A, AN, B, BN, C, CN gebildet. Wiederum ist es ausreichend, das sich eines der Eingangssignale, beispielsweise das erste Eingangssignal A, AN im Vorladezustand befindet, damit auf dem Ausgangssignal Z, ZN Vorladewerte ausgegeben werden. In diesem Fall brauchen die anderen beiden Eingangssignale B, BN, C, CN nicht betrachtet werden.
  • Wiederum bedeutet „dc" don't care und steht für eine logische 0 oder logische 1, wobei die Kombination logisch 1, logisch 1 für ein Eingangspaar verboten ist.
  • 4c zeigt die erweiterte Tabelle der UND-Funktion gemäß dem erfindungsgemäßen Ansatzpunkt. Die Erweiterung bezieht sich insbesondere auf die zweite und dritte Zeile, die anhand von 4a beschrieben wurde.
  • Der erfindungsgemäße Ansatz wurde hier beispielhaft an einer Wertetabelle für eine UND-Funktion erläutert. Entsprechende Wertetabellen lassen sich ebenso für andere logische Funktionen aufstellen.
  • 5 zeigt ein detailliertes Schaltbild einer Vorladeschaltung 102, wie sie beispielsweise für das anhand von 3 beschriebene Ausführungsbeispiel verwendet werden kann. Die Vorladeschaltung 102 ist eine Transistorschaltung, die ein Pull-up-Netzwerk realisiert. Abhängig von den Dual-Rail-Eingangssignalen A, AN, B, BN zieht die Vorladeschaltung 102 die Knoten des Dual-Rail-Zwischenknotens Z_INT, ZN_INT auf das hohe Spannungspotential VDD. Liegen an einem der Eingangssignale A, AN bzw. B, BN Vorladewerte, also in diesem Fall ein niedriges Spannungspotential an, beispielsweise auf dem Signal A und dem Signal AN, so schaltet die Vorladeschaltung 102 das hohe Spannungspotential von dem Potentialanschluss VDD auf beide Knoten des Zwischenknotens Z_INT, ZN_INT durch. Dazu weist die Vorladeschaltung 102 Vergleichseinrichtungen 510a, 510b auf, die ausgebildet sind, um das hohe Spannungspotential VDD auf den Zwischenknoten Z_INT, ZN_INT durchzuschalten, wenn an einem der Eingangssignale A, AN, B, BN Vorladewerte anliegen. Eine Vergleichseinrichtung, beispielsweise die Vergleichseinrichtung 510a weist gemäß diesem Ausführungsbeispiel zwei in Reihe geschaltete Transistoren auf. Der Sourceanschluss des ersten Transistors ist mit dem hohen Spannungspotential VDD verbunden und der Drainanschluss des zweiten Transistors ist mit dem Zwischenknoten Z_INT bzw. ZN_INT verbunden. Der Gateanschluss des ersten Transistors wird von dem Signal AN des ersten Dual-Rail-Eingangssignals A, AN und der Gateanschluss des zweiten Transistors von dem Signal A des Dual-Rail-Eingangssignals A, AN angesteuert. Bei den Transistoren handelt es sich um Transistoren des p-Typs. Beide Transistoren schalten somit durch, wenn an beiden Gateanschlüssen das niedrige Spannungspotential anliegt. Liegt an einem der Gateanschlüsse ein hohes Spannungspotential an, wie dies der Fall ist, wenn auf dem Eingangssignal A, AN ein gültiger Datenwert anliegt, so sperrt die Vergleichseinrichtung 510a. Die zweite Vergleichseinrichtung 510b ist zur ersten Vergleichseinrichtung 510a parallel geschaltet und wird von dem zweiten Dual-Rail-Eingangssignal B, BN angesteuert. Die Vergleichseinrichtungen 510a, 510b sind jeweils doppelt ausgeführt, um beide Zwischenknoten Z_INT, ZN_INT anzusteuern.
  • Liegt an beiden Eingangssignalen A, AN, B, BN ein gültiger Datenwert an, so sperren beide Vergleichseinrichtungen 510a, 510b. Um auf dem Zwischenknoten Z_INT, ZN_INT einen gültigen Datenwert anzulegen, ist es jedoch erforderlich, dass ein Knoten des Zwischenknotens Z_INT, ZN_INT mit dem hohen Spannungspotential VDD verbunden ist. Dazu weist die Vorladeschaltung 102 ein Halteglied 512 auf, der aus zwei Transistoren besteht, die an ihren Source-Eingängen mit dem hohen Spannungspotential VDD und an ihren Drainausgängen mit dem Knoten ZN_INT bzw. dem Knoten Z_INT des Zwischenknotens verbunden sind. Die Gateanschlüsse werden jeweils von dem anderen Knoten des Zwischenknotens ZN_INT, Z_INT angesteuert, als dem Knoten mit dem der Drainanschluss des jeweiligen Transistors verbunden ist. Bei den Transistoren handelt es sich ebenfalls um Transistoren des p-Typs. Das Halteglied 512 gewährleistet, dass einer der Knoten des Zwischenknotens Z_INT, ZN_INT auf dem hohen Spannungspotential VDD gehalten wird, sobald der andere Knoten durch die Logikschaltung 104 auf ein niedriges Spannungspotential VSS gezogen wird.
  • 6 zeigt eine weitere Vorladeschaltung 102 für eine erfindungsgemäße Schaltung mit drei Eingängen A, AN, B, BN, C, CN. Im Unterschied zu der in 5 gezeigten Vorladeschaltung weist die in 6 gezeigte Vorladeschaltung 102 eine weitere Vergleichseinrichtung auf, die sicherstellt, dass der Zwischenknoten Z_INT, ZN_INT mit dem hohen Spannungspotential VDD verbunden wird, sobald an dem dritten Eingangssignal C, CN Vorladewerte anliegen.
  • Die 7 bis 13 zeigen Ausführungsbeispiele von Logikschaltungen 104, wie sie für das in 3 beschriebene Ausführungsbeispiel eingesetzt werden können. Dabei sind die in 7 und 8 beschriebenen Logikschaltungen zur Verknüpfung von zwei Eingangssignalen und die in den 9 bis 13 gezeigten Logikschaltungen 104 zur Verknüpfung von drei Eingangssignalen ausgelegt. Demgemäß können die in 7 und 8 gezeigten Logikschaltungen 104 zusammen mit der in 5 gezeigten Vorladeschaltung und die in den 9 bis 13 gezeigten Logikschaltungen 104 mit der in 6 gezeigten Vorladeschaltung 102 eingesetzt werden. Die in 7 bis 13 gezeigten Logikschaltungen 104 sind als Transistorschaltungen realisiert, die ein Pull-down-Netzwerk realisieren. Es werden Transistoren vom N-Typ eingesetzt. Die Logikschaltungen 104 sind zwischen einem zweiten Potentialanschluss mit einem Massepotential GND bzw. VSS und dem Zwischenknoten Z_INT, ZN_INT geschaltet. Die Gateanschlüsse der in den in den 513 gezeigten Logikschaltungen 104, als auch in den Vorladeschaltungen 102 eingesetzten Transistoren werden von den Eingangssignalen A, AN, B, BN bzw. den weiteren Eingangssignalen bei Schaltungen für drei Eingangssignale angesteuert. Gemäß den, in den 513 gezeigten Ausführungsbeispielen sind die Vorladeschaltungen 102 und die Logikschaltungen 104 als eigenständige Schaltungen ausgeführt, die keine gemeinsamen Transistoren aufweisen.
  • Die in den 7 bis 13 gezeigten Logikschaltungen 104 sind ausgebildet, um eine Verbindung zwischen dem niedrigen Potentialanschluss GND und den Zwischenknoten Z_INT, ZN_INT zu unterbrechen, sobald an mindestens einem der Eingangssignale A, AN, B, BN Vorladewerte anliegen. Liegen jedoch an allen Eingangssignalen A, AN, B, BN gültige Datenwerte an, so sind die gezeigten Logikschaltungen 104 ausgebildet, um entsprechend der zu realisierenden logischen Verknüpfung einen der Knoten des Zwischenknotens Z_INT, ZN_INT mit dem niedrigen Spannungspotential GND zu verbinden und somit einen gültigen Datenwert auszugeben.
  • 7 zeigt eine Logikschaltung 104 in Form einer Transistorschaltung zur Realisierung einer UND-Verknüpfung. Die Transistorschaltung 104 weist einen Endladetransistor 720 auf, der sowohl zum Entladen des Knotens Z_INT als zum Entladen des Knotens ZN_INT genutzt werden kann. Solche gemeinsamen Transistoren 720 werden, in unterschiedlichen Beschaltungen, auch in den weiteren Ausführungsbeispielen der 8 bis 13 eingesetzt, um die benötigte Transistorzahl zu reduzieren.
  • Gemäß dem in 7 gezeigten Ausführungsbeispiel einer Logikschaltung 104 zur Realisierung einer UND-Verknüpfung ist der Knoten Z_INT mit dem niedrigen Spannungspotential GND verbunden, wenn die Eingangssignale A, B eine logische 1 aufweisen. Der zweite Knoten ZN_INT ist mit dem niedrigen Span nungspotential GND verbunden, wenn an den Eingangssignalen BN, AN, den Eingangssignalen BN, A oder den Eingangssignalen AN, B eine logische 1 anliegt. In den anderen Fällen sind die Zwischenknoten Z_INT, ZN_INT nicht mit dem niedrigen Spannungspotential GND verbunden.
  • Der Zwischenknoten ZN_INT ist mit den Drain-Anschlüssen dreier Transistoren verbunden, wobei der erste Transistor von dem Signal AN und der zweite Transistor von dem Signal A angesteuert wird. Die Source-Anschlüsse dieser beiden Transistoren sind über einen weiteren Transistor, der von dem Signal BN angesteuert wird, mit dem Massepotential GND verbunden. Der dritte Transistor wird von dem Signal AN angesteuert und ist über seinen Source-Anschluss mit dem gemeinsamen Transistor 720 verbunden, der von dem Signal B angesteuert wird und mit seinem Source-Anschluss an dem Massepotential GND liegt. Der Drain-Anschluss des gemeinsamen Transistors 720 ist über einen weiteren Transistor, der von dem Signal A angesteuert wird, mit dem Knoten Z_INT verbunden.
  • 8 zeigt eine Logikschaltung 104 gemäß einem weiteren Ausführungsbeispiel, die eine logische XOR-Verknüpfung zweiter Eingangssignale A, AN, B, BN realisiert. Der Aufbau dieser Logikschaltung entspricht dem Aufbau der in 7 gezeigten Logikschaltung, wobei die in 8 gezeigte Logikschaltung 104 gemäß der XOR-Verknüpfung den ersten Knoten Z_INT mit dem niedrigen Spannungspotential GND verbindet, wenn an den Eingangssignalen AN, B oder an den Eingangssignalen A, BN eine logische 1 anliegt. Der zweite Zwischenknoten ZN_INT ist mit dem niedrigen Spannungspotential GND verbunden, wenn an den Eingangssignalen AN, BN bzw. an den Eingangssignalen A, B jeweils eine logische 1 anliegt. In allen anderen Fällen sind die Zwischenknoten Z_INT, ZN_INT nicht mit dem niedrigen Spannungspotential GND verbunden.
  • Der Knoten ZN_INT ist über eine Reihenschaltung zweier Transistoren, deren Gate-Anschlüsse von dem Signal AN bzw. dem Signal BN angesteuert sind, mit dem Massepotential GND verbunden. Der Knoten Z_INT ist über eine Reihenschaltung zweier Transistoren, die an ihren Gate-Anschlüssen von dem Signal AN bzw. dem Signal B angesteuert werden, mit dem Massepotential GND verbunden. Die Drain-Anschlüsse der gemeinsamen Transistoren 720 sind jeweils über einen weiteren Transistor, der von dem Signal A angesteuert wird, mit den Knoten Z_INT bzw. ZN_INT verbunden.
  • 9a und 9b zeigen weitere Ausführungsbeispiele einer Logikschaltung 104, die ausgebildet ist, um eine UND-Verknüpfung zwischen drei Eingangssignalen A, AN, B, BN, C, CN auszuführen. Gegenüber der in 9a gezeigte Transistorschaltung ist die in 9b gezeigte Transistorschaltung bezüglich der Anzahl der verwendeten Transistoren optimiert.
  • 10 zeigt eine Logikschaltung 104 eines weiteren Ausführungsbeispiels, die eine logische UND-ODER-Verknüpfung zwischen drei Eingangssignalen A, AN, B, BN, C, CN ausführen.
  • 11 zeigt ein weiteres Ausführungsbeispiel einer Logikschaltung 104, die ausgebildet ist, um eine logische XOR-Verknüpfung zwischen drei Eingangssignalen A, AN, B, BN, C, CN auszuführen.
  • 12 zeigt ein weiteres Ausführungsbeispiel einer Logikschaltung 104, die ausgebildet ist, um eine Multiplexer- Verknüpfung zwischen zwei Eingangssignalen A, AN, B, BN und einem Select-Signal SEL, SELN durchzuführen.
  • 13 zeigt ein weiteres Ausführungsbeispiel einer Logikverknüpfung 104, die ausgebildet ist, um eine Mehrheitsverknüpfung zwischen drei Eingangssignalen A, AN, B, BN, C, CN durchzuführen.
  • Die exakte Verschaltung der in den 5 bis 13 verwendeten Transistoren ist aus den entsprechenden Figuren ersichtlich.
  • Die in den 5 bis 13 gezeigten Schaltungen 102, 104 können für die erfindungsgemäße Schaltung, wie sie als Blockschaltbild in 3 dargestellt ist, verwendet werden. Dazu werden die in 3 gezeigten Inverter verwendet, um einen logischen Zustand der Zwischenknoten Z_INT, ZN_INT zu invertieren und am Ausgang als Ergebnissignal Z, ZN auszugeben.
  • Alle Gatter in einer auf diesem Ausführungsbeispiel basierenden Libray haben die gleiche Struktur, die sich in drei Gruppen aufteilt. Ein Pull-down-Netzwerk 104 implementiert die Logikfunktionalität. Ein Pull-up-Netzwerk 102 implementiert die Prechargefunktionalität, also das Vorladen der Ausgangssignale. Das Pull-up-Netzwerk ist für alle Gatter mit der gleichen Zahl von Eingängen gleich aufgebaut. Die dritte Gruppe bilden die beiden Ausgangsinverter.
  • Durch das Pull-up-Netzwerk ist der Vorladezustand immer definiert, solange mindestens ein Eingang im Vorladezustand ist.
  • Durch das Pull-down-Netzwerk wird im Evaluierungsfall, also dem Berechnungszyklus, nur entweder der ZN_INT-Knoten oder oder Z_INT-Knoten entladen. Die Pull-down-Netzwerke sind so entworfen, dass maximal nur ein Pfad auf das niedrige Spannungspotential, also nach VSS durchgeschaltet ist, da sonst unterschiedliche Entladungsströme bei unterschiedlichen Eingangskombinationen fließen würden.
  • Die Netzwerke zur Entladung der Knoten ZN_INT bzw. Z_INT können, sofern dies die Funktion zulässt, in Teilen dieselben Transistoren 720 nutzen, beispielsweise bei dem in 8 gezeigten Pull-down-Netzwerk 104 zur Implementierung einer XOR-Funktionalität die beiden Transistoren, deren Source-Anschluss mit dem Massepotential verbunden ist.
  • Dadurch dass bei den Dual-Rail-Schaltungstechniken im Evaluierungszustand immer eines der beiden Ausgangssignale auf 0 und das andere auf 1 ist, kann durch Vertauschen der beiden Ausgangsleitungen Z, ZN eine logische Invertierung des Gatters erreicht werden. Werden weiterhin auch noch die Eingangspaare A, AN und B, BN vertauscht, können mit zwei unterschiedlichen Pull-down-Netzwerken alle möglichen Logikfunktionen mit zwei Eingängen abgebildet werden. Für die Abbildung aller Logikfunktionen mit drei Eingängen werden nur fünf Strukturen benötigt.
  • Funktionen mit mehr Eingängen lassen sich entsprechend realisieren. Der erfindungsgemäße Ansatz lässt sich auf Schaltungen mit vier oder mehr Eingängen zum Empfangen weiterer Dual-Rail-Signale, erweitern.
  • Die in den 513 gezeigten Transistorschaltungen sind beispielhaft und können durch Schaltungen mit gleicher Funktionalität ersetzt werden. Ebenso ist die vorliegenden Erfindung nicht auf die gezeigte Transistorlogik beschränkt. Bei den logischen Verknüpfungen kann es sich beispielsweise um eine AND-, eine NAND-, eine OR-, eine NOR-, eine XOR-, eine NXOR-, eine ANDOR-, eine ORAND-, eine Multiplexer- oder eine Mehrheitsfunktion handeln.
  • 102
    Vorladeschaltung
    104
    Logikschaltung
    106a, 106b
    Inverterpaar
    510a, 510b
    Vergleichseinrichtungen
    512
    Halteglied
    720
    Entladetransistor
    A, AN
    erstes Dual-Rail-Signal
    B, BN
    zweites Dual-Rail-Signal
    Z, ZN
    drittes Dual-Rail-Signal
    C, CN
    weiteres Dual-Rail-Signal
    ZN_INT, Z_INT
    Dual-Rail-Zwischenknoten
    VDD
    erster Potentialanschluss
    VSS
    zweiter Potentialanschluss

Claims (10)

  1. Schaltung zum Berechnen einer logischen Verknüpfung zweier Eingangsoperanden, mit folgenden Merkmalen: einem ersten Eingang zum Empfangen eines ersten Dual-Rail-Signals (A, AN), das in einem Berechnungszyklus Datenwerte des ersten Eingangs und in einem Vorladezyklus Vorladewerte aufweist; einem zweiten Eingang zum Empfangen eines zweiten Dual-Rail-Signals (B, BN), das in dem Berechnungszyklus Datenwerte des zweiten Eingangs und in dem Vorladezyklus Vorladewerte aufweist; einem Ausgang zum Ausgeben eines dritten Dual-Rail-Signals (Z, ZN), das in dem Berechnungszyklus Ergebniswerte und in dem Vorladezyklus Vorladewerte aufweist; einem ersten Potentialanschluss (VDD) für ein hohes Potential und einem zweiten Potentialanschluss (VSS) für ein niedriges Potential; einer Logikschaltung (104) zum Bestimmen der Ergebniswerte gemäß der logischen Verknüpfung aus den Datenwerten des ersten Eingangs und des zweiten Eingangs und zum Ausgeben der Ergebniswerte in dem Berechnungszyklus am Ausgang, wobei die Logikschaltung (104) ein Pull-Down-Netzwerk ist, das zwischen dem zweiten Potentialanschluss und einem Dual-Rail-Zwischenknoten (ZN_INT, Z_INT) geschaltet ist und ausgebildet ist, um einem Knoten des Dual-Rail-Zwischenknotens (ZN_INT, Z_INT) das niedrige Potential einzuprägen, wenn weder an dem ersten Eingang noch an dem zweiten Eingang Vorladewerte erfasst werden; und einer Vorladeschaltung (102), die ausgebildet ist, um Vorladewerte in dem Ausgang bereits dann einzuprägen, wenn Vorladewerte an einem einzigen Eingang erfasst werden, oder die ausgebildet ist, um ein Einprägen der Vorladewerte erst dann zu beenden, wenn das erste Dual-Rail-Signal (A, AN) und das zweite Dual-Rail-Signal (B, BN) Datenwerte aufweisen, wobei die Vorladeschaltung (102) ein Pull-Up-Netzwerk ist, das zwischen dem ersten Potentialanschluss und dem Dual-Rail-Zwischenknoten geschaltet ist, und ausgebildet ist, um beiden Knoten des Dual-Rail-Zwischenknotens das hohe Potential einzuprägen, solange mindestens an einem einzigen Eingang die Vorladewerte erfasst werden, und wobei die Vorladeschaltung (102) erste Vergleichseinrichtungen (510a) und zweite Vergleichseinrichtungen (510b) aufweist, wobei die ersten Vergleichseinrichtungen ausgebildet sind, um Vorladewerte auf beide Knoten des Zwischenknotens (Z_INT, ZN_INT) einzuprägen, wenn das erste Signal und das zweite Signal des ersten Dual-Rail-Signals (A, AN) gleiche logische Werte aufweisen, und wobei die zweiten Vergleichseinrichtungen (510b) ausgebildet sind, um Vorladewerte auf beide Knoten des Zwischenknotens (Z_INT, ZN_INT) einzuprägen, wenn das erste Signal und das zweite Signal des zweiten Dual-Rail-Signals (B, BN) gleiche logische Werte aufweisen.
  2. Schaltung gemäß Anspruch 1, wobei jedes Dual-Rail-Signal (A, AN; B, BN; Z, ZN) aus jeweils einem ersten Signal (A, B, Z) und einem zweiten Signal (AN, BN, ZN) besteht, und wobei das erste und das zweite Signal der Dual-Rail-Signale bei Vorladewerten jeweils gleiche logische Zustände und bei Datenwerten bzw. Ergebniswerten zueinander invertierte logische Zustände aufweisen.
  3. Schaltung gemäß einem der vorangegangenen Ansprüche, wobei die Dual-Rail-Signale (A, AN; B, BN; Z, ZN) im Vorladezyklus gleiche Vorladewerte aufweisen.
  4. Schaltung gemäß einem der vorangegangenen Ansprüche, wobei die logische Verknüpfung eine AND-Verknüpfung gemäß der Wertetabelle
    Figure 00270001
    ist, wobei der Platzhalter (dc) für einen beliebigen der logischen Zustände 1 oder 0 steht.
  5. Schaltung gemäß einem der vorangegangenen Ansprüche, ferner mit einem Inverterpaar (106a, 106b), das zwischen dem Dual-Rail-Zwischenknoten und dem Ausgang geschaltet ist, und ausgebildet ist, um dem hohen Potential bzw. dem niedrigen Potential entsprechende logische Zustände des Dual-Rail-Zwischenknotens invertiert als drittes Dual-Rail-Signal (Z, ZN) am Ausgang bereitzustellen.
  6. Schaltung gemäß einem der vorangegangenen Ansprüche, wobei die Logikschaltung (104) und die Vorladeschaltung (102) jeweils als Transistorschaltungen realisiert sind und die Transistorschaltung der Logikschaltung (104) und die Transistorschaltung der Vorladeschaltung (102) keine gemeinsam genutzten Transistoren aufweisen.
  7. Schaltung gemäß Anspruch 6, wobei die Logikschaltung (104) einen Entladetransistor (720) aufweist, der ausgebildet ist, um in einem ersten Berechnungszyklus einem Knoten (Z_INT) des Dual-Rail-Zwischenknotens (Z_INT, ZN_INT) das niedrige Potential einzuprägen und in einem zweiten Berechnungszyklus dem anderen Knoten (ZN_INT) des Dual-Rail-Zwischenknotens das niedrige Potential einzuprägen.
  8. Schaltung gemäß einem der vorangegangenen Ansprüche, wobei die logische Verknüpfung eine AND-, eine NAND-, eine OR-, eine NOR-, eine XOR-, eine NXOR-, eine ANDOR-, eine ORAND-, eine Multiplexer- oder eine Mehrheitsfunktion ist.
  9. Schaltung gemäß einem der vorangegangenen Ansprüche, wobei die Vorladeschaltung ein Halteglied (512) aufweist, das ausgebildet ist, um einen der Knoten des Dual-Rail-Zwischenknotens (Z_INT, ZN_INT) auf dem hohen Potential (VDD) zu halten, wenn dem anderen Knoten des Dual-Rail-Zwischenknotens von der Logikschaltung das niedrige Potential (VSS) eingeprägt ist.
  10. Schaltung gemäß einem der vorangegangenen Ansprüche, ferner mit einem weiteren Eingang zum Empfangen von einem oder mehreren weiteren Dual-Rail-Signalen (C, CN), die im Berechnungszyklus Datenwerte des weiteren Eingangs und in dem Vorladezyklus Vorladewerte aufweisen; und wobei die Logikschaltung (104) ausgebildet ist, um die Ergebniswerte gemäß der logischen Verknüpfung aus den Datenwerten der ersten, zweiten und weiteren Dual-Rail-Signale (A, AN; B, BN; C, CN) zu bestimmen; und wobei die Vorladeschaltung (102) ausgebildet ist, um das Einprägen der Vorladewerte erst dann zu beenden, wenn das erste, zweite und weitere Dual-Rail-Signale Datenwerte aufweisen.
DE102005037355A 2005-08-08 2005-08-08 Schaltung und Verfahren zum Berechnen einer logischen Verknüpfung zweier Eingangsoperanden Expired - Fee Related DE102005037355B3 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102005037355A DE102005037355B3 (de) 2005-08-08 2005-08-08 Schaltung und Verfahren zum Berechnen einer logischen Verknüpfung zweier Eingangsoperanden
US11/463,190 US7342423B2 (en) 2005-08-08 2006-08-08 Circuit and method for calculating a logical combination of two input operands

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102005037355A DE102005037355B3 (de) 2005-08-08 2005-08-08 Schaltung und Verfahren zum Berechnen einer logischen Verknüpfung zweier Eingangsoperanden

Publications (1)

Publication Number Publication Date
DE102005037355B3 true DE102005037355B3 (de) 2006-12-07

Family

ID=37402219

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102005037355A Expired - Fee Related DE102005037355B3 (de) 2005-08-08 2005-08-08 Schaltung und Verfahren zum Berechnen einer logischen Verknüpfung zweier Eingangsoperanden

Country Status (2)

Country Link
US (1) US7342423B2 (de)
DE (1) DE102005037355B3 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2954868A1 (fr) * 2009-12-24 2011-07-01 St Microelectronics Rousset Procede et dispositif de contremesure pour proteger des donnees circulant dans un composant electronique

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9576094B2 (en) * 2014-08-20 2017-02-21 Taiwan Semiconductor Manufacturing Company, Ltd. Logic circuit and system and computer program product for logic synthesis
CN106330174B (zh) * 2016-08-16 2019-02-12 深圳市华星光电技术有限公司 Cmos反相器及应用该cmos反相器的电子装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020101262A1 (en) * 2001-01-31 2002-08-01 A-I-L Corporation Logical circuit
DE10344647B3 (de) * 2003-09-25 2005-02-17 Infineon Technologies Ag Schaltungsanordnung und Verfahren zur Verarbeitung eines Dual-Rail-Signals

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6066965A (en) * 1997-12-11 2000-05-23 Evsx, Inc. Method and apparatus for a N-nary logic circuit using 1 of 4 signals
US6043674A (en) * 1998-01-08 2000-03-28 Theseus Logic, Inc. Null convention logic gates with flash, set and reset capability
US6717438B2 (en) * 2002-08-30 2004-04-06 Sun Microsystems, Inc. Clocked half-rail differential logic with single-rail logic

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020101262A1 (en) * 2001-01-31 2002-08-01 A-I-L Corporation Logical circuit
DE10344647B3 (de) * 2003-09-25 2005-02-17 Infineon Technologies Ag Schaltungsanordnung und Verfahren zur Verarbeitung eines Dual-Rail-Signals

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2954868A1 (fr) * 2009-12-24 2011-07-01 St Microelectronics Rousset Procede et dispositif de contremesure pour proteger des donnees circulant dans un composant electronique
EP2343806A1 (de) * 2009-12-24 2011-07-13 STMicroelectronics Rousset SAS Verfahren und Schaltkreis zur Gegenabwehr zum Schutz von Daten in einem elektronischen Schaltkreis
US8330495B2 (en) 2009-12-24 2012-12-11 Stmicroelectronics (Rousset) Sas Countermeasure method and device for protecting data circulating in an electronic component
US9077334B2 (en) 2009-12-24 2015-07-07 Stmicroelectronics (Rousset) Sas Countermeasure method and device for protecting data circulating in an electronic component

Also Published As

Publication number Publication date
US20070035332A1 (en) 2007-02-15
US7342423B2 (en) 2008-03-11

Similar Documents

Publication Publication Date Title
DE69631351T2 (de) ASIC-Busstruktur auf Basis von Multiplexern
DE102015208720B4 (de) Gatetreibereinheit, Gatetreiberschaltung und Treiberverfahren derselben sowie Anzeigevorrichtung
DE4326134B4 (de) Eingangswechseldetektorschaltung
EP1177628B1 (de) Schaltungsanordnung zur erzeugung von strompulsen im versorgungsstrom integrierter schaltungen
DE2707451A1 (de) Einrichtung und verfahren zum addieren von wenigstens zwei aus mehreren bits bestehenden binaerzahlen
DE102016120009A1 (de) Digitalschaltung und verfahren zum herstellen einer digitalschaltung
DE10130123B4 (de) Verzögerungsregelkreis zur Erzeugung komplementärer Taktsignale
DE10019698A1 (de) Verfahren und Vorrichtung zum Durchführen einer Summier-und-Vergleichs-Operation
DE102005037355B3 (de) Schaltung und Verfahren zum Berechnen einer logischen Verknüpfung zweier Eingangsoperanden
DE102005037357B3 (de) Logikschaltung und Verfahren zum Berechnen eines maskierten Ergebnisoperanden
DE10344647B3 (de) Schaltungsanordnung und Verfahren zur Verarbeitung eines Dual-Rail-Signals
DE19709229A1 (de) Ein Zeitablauf-konsistenter dynamischer Vergleich mit einer Zwangsfehlgriffschaltung
DE102012216677B3 (de) Identifikationsschaltung
DE102004009144B4 (de) Logikzelle und Verfahren zum Durchführen einer Dual-Rail-Logikoperation und Speichermedium
DE10217375B4 (de) Schaltungsanordnung und Verfahren zur Erzeugung eines Dual-Rail-Signals
DE10202725B4 (de) Integrierte Schaltung und Schaltungsanordnung zur Umwandlung eines Single-Rail-Signals in ein Dual-Rail-Signal
DE10227618B4 (de) Logikschaltung
DE3913801C2 (de) Logikgatter
DE60210865T2 (de) Tristate-Multiplexer
DE10202726B4 (de) Integrierte Schaltung und Verfahren zum Betrieb der integrierten Schaltung
DE102005037356B3 (de) Schaltung und Verfahren zum Berechnen einer logischen Verknüpfung zweier verschlüsselter Eingangsoperanden
EP0848500B1 (de) Parallel/Seriell-Wandler
DE102004020576A1 (de) Datenverarbeitungsvorrichtung mit schaltbarer Ladungsneutralität und Verfahren zum Betreiben einer Dual-Rail-Schaltungskomponente
DE3323199A1 (de) Zaehlerschaltung
DE10324049A1 (de) Integrierte Schaltung und Verfahren zum Betreiben der integrierten Schaltung

Legal Events

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