DE10324049B4 - Integrierte Schaltung und Verfahren zum Betreiben der integrierten Schaltung - Google Patents

Integrierte Schaltung und Verfahren zum Betreiben der integrierten Schaltung Download PDF

Info

Publication number
DE10324049B4
DE10324049B4 DE10324049A DE10324049A DE10324049B4 DE 10324049 B4 DE10324049 B4 DE 10324049B4 DE 10324049 A DE10324049 A DE 10324049A DE 10324049 A DE10324049 A DE 10324049A DE 10324049 B4 DE10324049 B4 DE 10324049B4
Authority
DE
Germany
Prior art keywords
data
multiplexors
data output
phase
mux4
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
DE10324049A
Other languages
English (en)
Other versions
DE10324049A1 (de
Inventor
Thomas Dr. Künemund
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 DE10324049A priority Critical patent/DE10324049B4/de
Priority to FR0404740A priority patent/FR2855627B1/fr
Priority to US10/857,616 priority patent/US7583129B2/en
Priority to JP2004158363A priority patent/JP4095578B2/ja
Publication of DE10324049A1 publication Critical patent/DE10324049A1/de
Application granted granted Critical
Publication of DE10324049B4 publication Critical patent/DE10324049B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/75Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/01Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
    • G06F5/015Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising having at least two separately controlled shifting levels, e.g. using shifting matrices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C19/00Digital stores in which the information is moved stepwise, e.g. shift registers
    • G11C19/28Digital stores in which the information is moved stepwise, e.g. shift registers using semiconductor elements
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K17/00Electronic switching or gating, i.e. not by contact-making and –breaking
    • H03K17/51Electronic switching or gating, i.e. not by contact-making and –breaking characterised by the components used
    • H03K17/56Electronic switching or gating, i.e. not by contact-making and –breaking characterised by the components used by the use, as active elements, of semiconductor devices
    • H03K17/687Electronic switching or gating, i.e. not by contact-making and –breaking characterised by the components used by the use, as active elements, of semiconductor devices the devices being field-effect transistors
    • H03K17/693Switching arrangements with several input- or output-terminals, e.g. multiplexers, distributors

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Electronic Switches (AREA)
  • Storage Device Security (AREA)
  • Logic Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

Integrierte Schaltung mit folgenden Merkmalen:
– zumindest zwei kaskadisch verschaltene Multiplexoren (Mux1, Mux2, Mux4), welche jeweils eine Mehrzahl an Dateneingängen (ar, arq; a0, a0q; al, alq), einen Datenausgang (z,zq) und einen Steuereingang (sr, s0, sl) aufweisen, wobei durch das an dem Steuereingang anliegende Signal (shj<2:0>, j = 1, 2, 4) festgelegt wird, welcher der Dateneingänge mit dem Datenausgang verbunden wird,
– der Datenausgang (z, zq) eines Multiplexors ist mit einem der Dateneingänge (a0, a0q) des nachgeschalteten Multiplexors verbunden, wodurch ein durch die Kaskade führender Datenpfad gebildet ist,
– jeder Dateneingang und jeder Datenausgang weist zwei Anschlüsse zum Anlegen eines Dual-Rail-Signals auf, und
– es ist zumindest eine mit einem Steuersignal (PrShQ) ansteuerbare Vorladeeinheit (VE) vorgesehen, die mit dem Datenausgang oder dem Dateneingang eines der Multiplexoren (Mux1, Mux2, Mux4) verbunden ist, und
– eine mit den Multiplexoren (Mux1, Mux2, Mux4) und der Vorladeeinheit (VE) verbundene Ansteuerschaltung...

Description

  • Die Anmeldung betrifft eine integrierte Schaltung, insbesondere einen logarithmischen Shifter, und ein Verfahren zum Betreiben der integrierten Schaltung.
  • Im Kern der Verarbeitungseinheit moderner Mikroprozessoren und -controller, der sogenannten „Central Processing Unit" (CPU), befindet sich der Datenpfad, welcher die Zusammenschaltung sämtlicher Funktionseinheiten zur Verarbeitung von Daten darstellt. Die Zusammenschaltung erfolgt über Leitungsbündel, sogenannte Datenbusse, und umfasst unter anderem die Funktionseinheiten Multiplexor, arithmetisch-logische Einheit (ALU), Shifter und Register File. Der Aufbau und das Zusammenwirken der Funktionseinheiten von Datenpfaden ist dem Fachmann hinlänglich bekannt, so dass auf eine genauere Beschreibung verzichtet wird.
  • Der Shifter dient der Bitmanipulation, d.h. dem Verschieben eines binären Datenwortes um eine im allgemeinen über Steuersignale programmierbare Anzahl n von Bitpositionen nach rechts oder links. Beispielsweise weist ein Shifter einen programmierbarem Wertevorrat n ∊ [–7, 7] auf, d.h. das (als hinreichend breit vorausgesetze) Datenwort am Eingang des Shifters kann um bis zu sieben Bitpositionen nach rechts oder links verschoben werden.
  • Es gibt unterschiedliche Realisierungsformen von Shiftern, nämlich die sog. Barrelshifter und die logarithmischen Shifter. Bei einer einstufigen Realisierung des oben genannten Beispiels mit einem Barrelshifter, der M = 15 verschiedene Schiebeoperationen (M wird auch als Mächtigkeit bezeichnet) verarbeiten können muss, erfordert dies für jedes Datenbit einen 1-aus-15 Multiplexor, welcher entsprechend viele Daten- und Steuereingänge aufweisen muss. Im Falle der mehrstufigen, logarithmischen Realisierung mit dem Logarithmischen Shifter wird in der ersten Stufe z.B. um +4, 0 oder –4 Bit geschoben, in der nachgeschalteten zweiten Stufe z.B. um +1, 0 oder –1 Bit und in der darauf folgenden dritten z.B. um +2, 0 oder –2 Bit. Mit drei kaskadierten 1-aus-3 Multiplexor-Schaltungen sowie maximal neun Steuereingängen bedeutet dies eine wesentlich günstigere Lösung hinsichtlich der Anzahl der benötigten Schaltelemente und vor allem des Verdrahtungs- und Flächenaufwandes.
  • Im allgemeinen gilt, dass der Barrelshifter nur für kleine Werte von M in Frage kommt. Für größere Werte von M ist der Logarithmische Shifter wesentlich effektiver und effizienter, sowohl was den Aufwand als auch was die Schaltzeit anlangt. Hintergrundinformatonen dazu können dem Buch "DIGITAL INTEGRATED CIRCUITS – A Design Perspective", Jan M. Rabaey, Prentice Hall (1996), Chapter 7 entnommen werden.
  • Üblicherweise sind Datenpfade moderner Mikroprozessoren und – controller in sogenannter „Single-Rail" Schaltungstechnik ausgeführt. Bei diesen wird jedes Bit der zu verarbeitenden Information physikalisch durch genau einen elektrischen Knoten dargestellt. Dem logischen Wert eines Zustands-Bits entspricht somit genau ein elektrischer Knoten.
  • Nachteil dieser Single-Rail-Technologie ist die Tatsache, dass der Schaltungsaufbau bzw. die in der Schaltung verarbeiteten Signale auf einfache Weise ausspioniert werden können. Eine der wichtigsten Methoden zum Angriff auf Schaltungen und zur Beurteilung deren Empfindlichkeit bei Sicherheitsanwendungen ist die differentielle Stromprofil-Analyse (Differential Power Analysis, DPA). Diese Methodik wird für gezielte Angriffe verwendet, um vertrauliche Informationen, wie zum Beispiel Passwörter oder kryptographische Schlüssel, auszuspionieren.
  • Dabei werden für ein gegebenes Programm bzw. für einen gegebenen Algorithmus mit statistischen Methoden gemessene Stromprofile ausgewertet. Insbesondere werden über einen oder mehrere Taktzyklen berechnete Ladungsintegrale ausgewertet, wobei – für eine Vielzahl von Programmausführungen – aus der Korrelation von systematischer Datenvariation und jeweiligem Ladungsintegral Rückschlüsse auf die zu schützende Information gezogen werden können.
  • Hieraus folgt, dass die zu schützenden integrierten Schaltungen, wie z.B. Chipkarten, derart beschaffen sein sollten, dass sie unabhängig von den zu verarbeitenden Daten das gleiche Stromprofil liefern, um eine differentielle Stromprofil-Analyse ins Leere laufen zu lassen.
  • Für Single-Rail-Datenpfade ist dies nicht der Fall. Das dem zeitlichen Verlauf der Zustände einer Schaltung zugeordnete Ladungsintegral ist eine Funktion derjenigen Knoten bzw. elektrischen Kapazitäten, die elektrisch umgeladen werden, Der zeitliche Verlauf weist also eine starke Abhängigkeit von den zeitlichen Änderungen der zu verarbeitenden Daten auf.
  • Nachteil bekannter Shifter ist, dass diese in Single-Rail-Technologie ausgeführt sind und deshalb die durch sie transportierten Daten ausspioniert werden können.
  • Um eine Analyse der Daten zwischen einem Sender und einem Empfänger zu erschweren werden in der DE 100 44 837 C1 Daten in Dual-Rail-Technologie mit Vorladung ausgetauscht, Jedes Bit wird dabei mittels zweier komplementärer Leitungen codiert. In einer ersten Taktphase werden beide Leitungen auf den selben logischen Wert vorgeladen, in einer zweiten Taktphase wird eine der beiden Leitungen entladen und anschließend ausgewertet.
  • Aus der US 5,399,921 ist ein 1 aus 2 Multiplexor bekannt, bei dem in Abhängigkeit eines Dual-Rail-Steuersignals eines von zwei Dual-Rail-Signale an den Dual-Rail-Ausgang weitergeleitet werden kann. Die Multiplexoren können parallel- und in Serie geschaltet werden. Jeder Multiplexor weist dabei eine eigene Vorladeeinheit auf, wobei die Vorladeeinheiten mit einem gemeinsamen Taktsignal angesteuert werden.
  • Die Aufgabe der vorliegenden Erfindung besteht deshalb darin, eine integrierte Schaltung, insbesondere einen Shifter, anzugeben, bei der das Ausspionieren von Daten erschwert ist und die Anzahl der erforderlichen Vorladeeinheiten reduziert wird. Weiterhin soll ein Verfahren zum Betreiben dieser integrierten Schaltung angegeben werden, welche ein konstantes Ladungsintegral aufweist, um eine differentielle Stromprofilanalyse ins Leere laufen zu lassen.
  • Diese Aufgabe wird mit einer integrierten Schaltung mit den Merkmalen des Patentanspruches 1 und-mit einem Verfahren mit den Merkmalen des Patentanspruches 14 gelöst. Vorteilhafte Ausgestaltungen ergeben sich aus den jeweils abhängigen Ansprüchen.
  • Die erfindungsgemäße Schaltung weist folgende Merkmale auf:
    • – zumindest zwei kaskadisch verschaltene Multiplexoren, welche jeweils eine Mehrzahl an Dateneingängen, einen Datenausgang und einen Steuereingang aufweisen, wobei durch das an dem Steuereingang anliegende Signal festgelegt wird, welcher der Dateneingänge mit dem Datenausgang verbunden wird,
    • – der Datenausgang eines Multiplexors ist mit einem der Dateneingänge des nachgeschalteten Multiplexors verbunden, wodurch ein durch die Kaskade führender Datenpfad gebildet ist,
    • – jeder Dateneingang und jeder Datenausgang weist zwei Anschlüsse zum Anlegen eines Dual-Rail-Signals auf, und
    • – es ist zumindest eine mit einem Steuersignal ansteuerbare Vorladeeinheit vorgesehen, die mit dem Datenausgang oder dem Dateneingang eines der Multiplexoren verbunden ist,
    • – eine mit den Multiplexoren (Mux1, Mux2, Mux4) und der Vorladeeinheit (VE) verbundene Ansteuerschaltung (AS) vorgesehen ist, die die zeitliche Synchronisation der Steuersignale (shj<2:0>) der Multiplexoren (Mux1, Mux2, Mux4) und des Steuersignals (PrShQ) der Vorladeeinheit (VE) übernimmt, so dass einzelne Abschnitte des Datenpfads, die zwischen zwei nacheinander geschalteten Multiplexoren (Mux1, Mux2, Mux4) liegen, vor dem Ausführen einer Rechenoperation getrennt voneinander in einen Vorlade-Zustand gebracht werden können.
  • Der Erfindung liegt der Gedanke zugrunde, dass sich ändernde Ladungsintegrale durch den Einsatz der sogenannten Dual-Rail-Technologie verhindert werden können. Im Gegensatz zur herkömmlichen Single-Rail-Technologie, bei der jedes Bit innerhalb eines Daten- oder Signalpfades physikalisch durch genau einen elektrischen Knoten k eines Schaltnetzes oder Schaltwerkes dargestellt wird, wird bei der Realisierung mit Dual- Rail-Technologie jedes Bit durch zwei Knoten k und kq dargestellt, wobei dieses Bit einen gültigen logischen Wert aufweist, wenn k dem wahren logischen Wert b dieses Bits und kq dem komplementären Wert bn = not (b) entspricht.
  • Die gewünschte Invarianz der Ladungsintegrale wird nun dadurch erreicht, dass zwischen zwei Zustände mit gültigen logischen Werten (b, bn) = (1,0) oder (0,1) ein sogenannter Vorlade-Zustand (precharge) eingefügt ist. In diesem Vorlade-Zustand werden sowohl der Knoten k als auch der Knoten kq auf das selbe elektrische Potential geladen, nehmen also logisch ungültige Werte (1,1) oder (0,0) an. Für den Vorlade-Zustand (1,1) könnte eine Zustandsfolge wie folgt aussehen: (1,1), (0,1), (1,1), (1,0), (1,1), (1,0), (1,1), (0,1) ...
  • Für jede beliebige solcher Zustandsfolgen gilt, dass bei jedem Übergang (1,1) nach (b, bn) genau ein Knoten von 1 nach 0 umgeladen wird und für alle Zustände (b, bn) nach (1,1) genau ein Knoten von 0 nach 1 umgeladen wird. Dies gilt unabhängig vom logisch gültigen Wert b eines jeweiligen Zustands-Bits. Natürlich gilt analoges auch für Zustandsfolgen mit dem Vorlade-Zustand (0,0).
  • Hieraus folgt, dass die diesen Zustandsfolgen entsprechenden Ladungsintegrale unabhängig von der Abfolge (b, bn) der logisch gültigen Werte sind. Es muss lediglich Sorge dafür getragen werden, dass die Knoten k und kq gleiche elektrische Kapazitäten aufweisen. Das Stromprofil eines derart implementierten Datenpfades hängt somit nicht mehr ab von zeitlichen Variationen der zu verarbeitenden Daten. Eine in Dual-Rail-Technologie aufgebaute Schaltung ist somit resistent gegen eine differentielle Stromprofil-Analyse.
  • Der Erfindung liegt damit die Idee zugrunde, beim Betreiben der integrierten Schaltung die Dateneingänge und Datenausgänge im Datenpfad der Multiplexor-Kaskade vor dem Durchführen eines Rechenschrittes, insbesondere einer Schiebeoperation, mit einem Vorlade-Signal zu beaufschlagen.
  • In einer bevorzugten Ausgestaltung ist die Vorladeeinheit zwischen einem Versorgungspotential- oder einem Bezugspotentialanschluss und dem Datenpfad der integrierten Schaltung verschalten. Ob eine Verbindung mit dem Versorgungspotential- oder dem Bezugspotentialanschluss erfolgt, ist abhängig vom Typ der eingesetzten Transistoren. Beispielsweise wird bei der Verwendung von p-Kanal Transistoren die Vorladeinheit mit dem Versorgungspotentialanschluss verbunden.
  • In einer weiteren Ausgestaltung ist die Vorladeeinheit mit dem Datenausgang des letzten Multiplexors der Kaskade verbunden, welcher gleichzeitig den Datenausgang der integrierten Schaltung darstellt. Bei dieser Variante ist es möglich, die inneren Knoten der Multiplexor-Kaskade, welche durch die Verbindung des Datenausganges eines Multiplexors mit dem Dateneingang des nachgeschalteten Multiplexors gebildet sind, vom Datenausgang der integrierten Schaltung angeordneten Vorladeeinheiten vorzuladen. Dies geschieht dadurch, dass mit Ausnahme des ersten Multiplexors der Kaskade alle weiteren Multiplexoren mit Steuersignalen beauftragt werden, so dass bei diesen eine leitende Verbindung des Dateneingangs mit dem Datenausgang hergestellt ist. Vorzugsweise wird bei dieser Variante der Dateneingang des ersten Multiplexors der Kaskade von einer mit diesem verbundenen Vorladeeinheit mit einem Vorlade-Signal beaufschlagt.
  • In einer weiteren bevorzugten Ausgestaltung ist die Vorladeeinheit mit dem Dateneingang des ersten Multiplexors der Kaskade verbunden, welcher den Dateneingang der integrierten Schaltung darstellt. Bei dieser Variante ist es möglich, die inneren Knoten der Multiplexor-Kaskade vom Dateneingang der Schaltung her mit einem Vorlade-Signal zu beaufschlagen. Dies geschieht dadurch, dass mit Ausnahme des letzten Multiplexors der Kaskade alle anderen Multiplexoren mit Steuersignalen beaufschlagt werden, so dass bei diesen eine leitende Verbindung des Dateneingangs mit dem Datenausgang hergestellt ist. Bevorzugt wird hierbei der Datenausgang des letzten Multiplexors der Kaskade von einer mit diesem verbundenen Vorladeeinheit mit einem Vorlade-Signal beaufschlagt.
  • In einer weiteren Ausgestaltung ist die Vorladeeinheit zwischen dem Datenausgang eines der Multiplexoren und dem Daten eingang eines nachgeschalteten Multiplexors verschalten. Dies bedeutet nichts anderes, als dass die Vorladeeinheit mit einem inneren Knoten der Multiplexor-Kaskade verschalten ist. Analog zu dem oben beschriebenen Vorgehen werden auch hier die Multiplexoren mit Steuersignalen beaufschlagt, so dass der Datenpfad der Multiplexor-Kaskade mit einem Vorlade-Signal beaufschlagt werden kann. Denkbar ist, am Dateneingang und Datenausgang der integrierten Schaltung jeweils eine weitere Vorladeinheit vorzusehen, die die jeweiligen Knoten des Datenpfades mit dem Vorlade-Signal versieht.
  • In einer weiteren bevorzugten Ausgestaltung ist eine mit dem Datenpfad gekoppelte Halteschaltung vorgesehen, die im Falle eines am Datenausgang eines Multiplexors anliegenden Dual-Rail-Signals des jeweiligen Signalwert mit dem Versorgungspotential- bzw. dem Bezugspotentialanschluss verbindet. Die Halteschaltung sorgt dafür, dass, sobald eines der Signale des Dual-Rail-Signals auf niedriges Potential gebracht wurde, der jeweils komplementäre Knoten auf hohem Potential gehalten wird. Die Halteschaltung ist dabei selbstregulierend.
  • Vorzugsweise ist die Halteschaltung mit der Vorladeeinheit verbunden. Weiter bevorzugt ist es, wenn die Halteschaltung am Datenausgang der integrierten Schaltung angeordnet ist, Sie weist in einer Ausgestaltung zwei kreuzgekoppelte Transistoren auf und ist zwischen dem Datenausgang der Schaltung und dem Versorgungspotential- bzw. Bezugspotentialanschluss verbunden.
  • Gemäß dem Gedanken der Erfindung sollen die Dateneingänge und Datenausgänge im Datenpfad der Multiplexor-Kaskade vor dem Durchführen eines Rechenschrittes, insbesondere einer Schiebeoperation, mit einem Vorlade-Signal beaufschlagt werden.
  • Zum Beaufschlagen mit einem Vorlade-Signal ist vorgesehen, in einer ersten Phase alle Multiplexoren der Kaskade mit Steuersignalen zu beaufschlagen, so dass zwischen Dateneingang und Datenausgang eines jeweiligen Multiplexors keine leitende Verbindung besteht und die Vorladeeinheit mit einem Steuersignal zu beaufschlagen, so dass der mit ihr verbundene Abschnitt des Datenpfades in einen Vorlade-Zustand gebracht wird. Dieses Vorgehen stellt zunächst nichts anderes als die Aktivierung der Vorladeeinheit dar.
  • In einer zweiten Phase werden zumindest einige der Multiplexoren mit Steuersignalen beaufschlagt, so dass bei diesen eine leitende Verbindung des Dateneingangs mit dem Datenausgang hergestellt ist, wodurch weitere Abschnitte des Datenpfades in einen Vorlade-Zustand verbracht werden. Es ist dabei möglich, alle Multiplexoren der Kaskade mit einem solchen Steuersignal zu beaufschlagen, dass der jeweilige Dateneingang mit dem Datenausgang verbunden ist. Denkbar ist jedoch auch, nur manche, vorzugsweise benachbart angeordnete Multiplexoren, im oben beschriebenen Sinne anzusteuern.
  • In einer dritten Phase werden alle Multiplexoren der Kaskade mit Steuersignalen beaufschlagt, so dass zwischen Dateneingang und Datenausgang eines jeweiligen Multiplexors keine leitende Verbindung mehr besteht und die Vorladeeinheit mit einem diese inaktiv schaltenden Steuersignal beaufschlagt wird. Die an jeweiligen Datenleitungen anliegenden Vorlade-Zustände werden somit nur noch kapazitiv gehalten.
  • Nach Beendigung der Vorlade-Phase wird zum Durchführen des Rechenschrittes in der dritten Phase der erste Multiplexor der Kaskade mit einem für die Rechenoperation notwendigen Steuersignal beaufschlagt.
  • Weiterhin ist zum Durchführen des Rechenschrittes in einer vierten Phase vorgesehen, die weiteren Multiplexoren der Kaskade mit einem für die Rechenoperation notwendigen Steuersignal zu beaufschlagen.
  • Nach Abschluss der Rechenoperation wird der Datenpfad nach der oben beschriebenen Vorgehensweise wiederum mit einem Vorlade-Signal beaufschlagt, bevor die nächste Rechenoperation ausgeführt wird.
  • Das erfindungsgemäße Verfahren zum Betreiben der integrierten Schaltung ermöglicht somit einen ladungsneutralen Betrieb, wodurch ein Ausspionieren von Daten oder Rechenoperationen mittels der differentiellen Stromprofil-Analyse nicht mehr möglich ist. Mit dieser Phasenabfolge wird nicht nur für Ladungsneutralität im Datenpfad gesorgt, sondern auch das zur Steuersignalabfolge korrespondierende Ladungsintegral ist invariant, wie im folgenden erläutert wird.
  • Zur Ansteuerung eines Multiplexors ist ein Signalbündel mit drei Signalen vorgesehen. Je nachdem, welches der Signale eines Signalbündels aktiv ist, wird festgelegt, ob eine Schiebeoperation nach links, rechts oder um Null durchgeführt werden wird. Von den jeweils drei Signalen innerhalb der Signalbündel wird im Falle des mit den Dateneingängen des ersten Multiplexors der Kaskade genau eines von Versorgungspotential auf Bezugspotential entladen, genau eines von Bezugspotential auf Versorgungspotential aufgeladen, während von allen übrigen Ansteuersignalen der übrigen Multiplexoren mit Beginn der ersten Phase genau eines entladen wird, mit Beginn der zweiten bzw. dritten Phase genau eines auf- und wieder entladen wird und schließlich in der vierten Phase genau eines aufgeladen wird. Hieraus erfolgt die Invarianz des Ladungsintegrals auch der Steuersignale, sofern Sorge dafür getragen wird, dass die jeweils drei den Signalbündeln entsprechenden Knoten gleiche elektrische Kapazitäten aufweisen.
  • Weitere Einzelheit, Vorzüge und Zweckmäßigkeiten ergeben sich aus den nachfolgend beschriebenen Figuren. Es zeigen:
  • 1 ein Prinzipschaltbild eines erfindungsgemäßen logarithmischen Shifters mit einer Kaskade aus drei Multiplexoren,
  • 2 den schaltungstechnischen Aufbau der in 1 dargestellten Multiplexoren,
  • 3 das zeitliche Verhalten von Datensignalen und Ansteuersignalen der Schaltung aus 1,
  • 4 ein Beispiel einer schaltungstechnischen Realisierung zur Erzeugung der Ansteuersignale der Multiplexor-Kaskade und einer Vorladeeinheit,
  • 5 das zeitliche Verhalten relevanter Signale aus 4,
  • 6 einen weiteren Teilbereich der Ansteuerschaltung zur Erzeugung der Steuersignale des erfindungsgemäßen logarithmischen Shifters aus 1,
  • 7 und 8 das zeitliche Verhalten relevanter Signale der Schaltungsanordnung aus 6,
  • 9 eine mögliche schaltungstechnische Realisierung des Pulsgenerators aus 6,
  • 10 eine mögliche schaltungstechnische Realisierung des Master-Latches aus 6, und
  • 11 eine mögliche schaltungstechnische Realisierung der Transformationsschaltung aus 6.
  • Sofern nicht ausdrücklich anders erwähnt, wurden gleiche Merkmale mit gleichen Bezugszeichen in allen Figuren versehen.
  • Die Erfindung wird nachfolgend anhand eines logarithmischen Shifters mit ganzzahligem Wertevorrat für die programmierbare Verschiebung binärer Datenwörter beschrieben. Dabei wird auf das weiter oben bereits angeführte Beispiel mit einem programmierbaren Wertevorrat n ∊ [–7,7] zurückgegriffen. Dies bedeutet, das als hinreichend breit vorausgesetzte Datenwort am Eingang des Logarithmischen Shifters soll um bis zu sieben Bitpositionen nach links oder rechts verschoben werden können.
  • In 1 ist eine dreistufige Multiplexor-Kaskade für ein Bit des Datenpfades (auch als „Bitslice" bezeichnet) dargestellt. Jeder Multiplexor weist drei Dateneingänge, einen Datenausgang und drei Steuereingänge auf. Jeder Dateneingang und jeder Datenausgang weist zwei Anschlüsse zum Anlegen eines Dual-Rail-Signals auf. Die Dateneingänge sind übereinstimmend mit (ar,arq), (a0, a0q) und (al,alq) bezeichnet. Die Datenausgänge sind mit (z, zq) bezeichnet, während die Steuereingänge mit den Bezeichnungen (sr, s0, sl) versehen sind.
  • Jeder der Dateneingänge der Multiplexoren Mux4, Mux1, Mux2 kann mit einem Signal (a, aq), (al, alq), (ar, arq) sowie (ajr, ajrq), (ajl, ajlq) mit j = 1,2 beaufschlagt werden.
  • Die erste Stufe der Kaskade wird durch den Multiplexor Mux4 gebildet, dessen Datenausgang (z, zq) mit dem Dateneingang (a0, a0q) des nachgeschalteten Multiplexors Mux1 verbunden ist. Diesem ist wiederum ein Multiplexor Mux2 nachgeschaltet.
  • Der Dateneingang (a0, a0q) des Multiplexors Mux2 ist entspre chend mit dem Datenausgang (z, zq) des Multiplexors Mux1 verbunden. Die Dateneingänge des Multiplexors Mux4 bilden den Dateneingang der integrierten Schaltung. Der Datenausgang (z, zq) des Multiplexors Mux2 bildet den Datenausgang der integrierten Schaltung.
  • An jeden Steuereingang der Multiplexoren Mux1, Mux2, Mux4 können drei Steuersignale shj<2:0> mit j = 1, 2, 4 angelegt werden, mit dem festgelegt wird, welcher Dateneingang mit dem Datenausgang verbunden wird. Der Platzhalter j steht dabei stellvertretend für den jeweiligen Multiplexor Mux1, Mux2 oder Mux4. wird der Steuereingang sr mit einem aktiven Steuersignal shj<0> beaufschlagt, so wird der Dateneingang (ar, arq) mit dem Datenausgang (z, zq) verbunden. In entsprechender Weise wird der Dateneingang (a0, a0q) bzw. (al, alq) mit dem Datenausgang (z, zq) verbunden, wenn an den Steuereingang s0 bzw. sl ein aktives Steuersignal shj<1> angelegt wird.
  • In der ersten Stufe der Kaskade, dem Multiplexor Mux4, wird das an den Dateneingängen anliegende Bit um +4, 0 oder –4 Positionen geschoben, in der nachgeschalteten, zweiten Stufe (Multiplexor Mux1) wird das an den Dateneingängen anliegende Bit um +1, 0 oder –1 Positionen geschoben und in der darauffolgenden, dritten Stufen (Multiplexor Mux2) wird das an den Dateneingänge anliegende Bit um +2, 0 oder –2 Positionen geschoben. Das Schieben ist abhängig davon, welches der jeweils drei Steuersignale shj<2:0>, j = 4, 1, 2, aktiv geschalten wurde.
  • Mit dem Datenausgang der integrierten Schaltung in 1 ist weiterhin eine Vorladeeinheit VE und eine Halteschaltung HS verbunden.
  • Die Vorladeeinheit VE besteht aus zwei p-Kanal Transistoren, deren Steueranschlüsse miteinander verbunden sind und mit einem Signal PrShQ beaufschlagbar sind. Die Hauptanschlüsse des Transistors Tr1 sind zwischen einem Versorgungspotentialanschluss VP und dem Datenausgang z der integrierten Schaltung verschalten. Die Hauptanschlüsse des anderen Transistors Tr2 sind zwischen einem Versorgungspotentialanschluss VP und dem Datenausgang zq der integrierten Schaltung verschalten. Durch die Vorladeeinheit VE kann der Datenausgang der integrierten Schaltung mit einem Vorladesignal (1,1) versehen werden.
  • Die Halteschaltung HS, die zwei Transistoren Tr3, Tr4, ebenfalls vom p-leitenden Typ, aufweist, dient dazu, im Falle eines gültigen Dual-Rail-Signals (0,1) oder (1,0) die jeweiligen Datenausgänge (z, zq) mit dem entsprechenden Potential VP zu verbinden und zu halten.
  • Die Vorladeeinheit VE und die Halteschaltung HS könnten auch mit dem Bezugspotentialanschluß BP verbunden sein, wenn die Transistoren der Vorladeeinheit VE und der Halteschaltung HS mit n-leitenden Transistoren gebildet würden. Die entsprechend notwendigen Schaltungsänderungen sind dem Fachmann geläufig und werden nicht näher beschrieben.
  • Es sei nochmals erwähnt, dass der in 1 dargestellte Logarithmische Shifter lediglich beispielhaft ist. Die Kaskade könnte mehr oder weniger Multiplexoren aufweisen. Ebenso könnte in der ersten Stufe der Kaskade das Bit lediglich um eine Position verschoben werden, in der zweiten Stufe beispielsweise um zwei und in der dritten Stufe um vier Positionen. Die Anordnung liegt im Belieben des Fachmannes.
  • 2 zeigt eine mögliche Realisierung der Multiplexoren Mux1, Mux2, Mux4. Jeder Multiplexor ist aus sechs Transistoren N0, N1, N2, N4, N5, N6 gebildet. Die Laststrecken dieser Transistoren sind jeweils zwischen einem Dateneingang (ar, arq), (a0, a0q), (al, alq) und dem Datenausgang (z, zq) verschalten. Die Steueranschlüsse jeweils zweier mit einem der oben genannten Eingänge verbundenen Transistoren sind mit dem Steuereingang (sl, s0, sr) verbunden. Die gezeigte Ver schaltung ist auch unter dem Namen Pass-Transistor-Schaltungstechnik bekannt.
  • Aus der in 2 gezeigten Schaltungsanordnung ergibt sich unmittelbar, dass immer nur höchstens einer der Steuereingänge (sl, s0, sr) zu einem bestimmten Zeitpunkt aktiv sein darf, während die beiden anderen inaktiv geschalten sein müssen, so dass die ihnen zugeordneten entsprechenden Transistoren gesperrt sind. Andernfalls wäre die korrekte Funktion der Schaltung gefährdet.
  • In 1 ist die erste Stufe, der Multiplexor Mux4, mit Dateneingängen (ar, arq), (a, aq) und (al, alq) verbunden, wobei (a, aq) das der gerade betrachteten Slice entsprechende Bit im Datenpfad unmittelbar vor dem Shifter bedeutet. Analog bedeuten (ar, arq) und (al, alq) diejenigen Bits im Datenpfad unmittelbar vor dem Multiplexor, die gegenüber der gerade betrachteten Bitslice um vier Bitpositionen höher bzw. niedriger liegen. Daraus folgt:
    Steuersignal s4<2:0> = 010: Schieben um 0 Bitpositionen. (a, aq) wird über die Transistoren N1, N5 (2) mit dem Datenausgang (z, zq) des Multiplexors Mux4 leitend verbunden,
    Steuersignal s4<2:0> = 001: Schieben um –4 Bitpositionen. (ar, arq) wird über die Transistoren N0, N4 (2) mit dem Datenausgang (z, zq) des Multiplexors Mux4 leitend verbunden,
    Steuersignal s4<2:0> = 100: Schieben um +4 Bitpositionen. (al, alq) wird über die Transistoren N2, N6 (2) mit dem Datenausgang (z, zq) des Multiplexors Mux4 leitend verbunden.
  • Analoges gilt für die Multiplexoren Mux1 und Mux2, wobei mit (ajr, ajrq) und (ajl, ajlq) mit j = 1,2 diejenigen Bits im Datenpfad unmittelbar vor dem Multiplexor bezeichnet sind, die gegenüber der gerade betrachteten Bitslice um j Bitpositionen höher bzw. niedriger liegen.
  • In 3 ist der erfindungsgemäße zeitliche Ablauf der Dateneingänge und Steuersignale des Logarithmischen Shifters aus 1 angegeben. In den 4 bis 11 werden die Prinzipien erläutert, denen Schaltungen zur Erzeugung der Steuersignale shj<2:0> und PrShQ mit dem erforderlichen und vorteilhaften Zeitverhalten genügen müssen.
  • Wie aus 3 ersichtlich, besteht jeder Operationszyklus des Logarithmischen Shifters aus vier aufeinander folgenden Phasen T1, T2, T3 sowie T4 und wird in 3 mit <T1, T2, T3, T4> bezeichnet.
  • Mit Beginn der ersten Phase T1 werden alle an den Multiplexoren Mux1, Mux2, Mux4 anliegenden Steuersignale shj<2:0>, j = 1,2,4 inaktiv, dies bedeutet: shj<2:0> = 000. Damit sind alle Transistoren N0...N6 (2) jedes der Multiplexoren Mux1, Mux2, Mux4 der Kaskade gesperrt. Während der Phase T1 wird zudem das Steuersignal PrShQ für die Vorladeeinheit VE am Datenausgang der integrierten Schaltung aktiv: PrShQ = 0. Damit wird der Datenausgang (z, zq) der integrierten Schaltung auf das Bezugspotential VDD vorgeladen, mit anderen Worten mit einem Precharge-Signal (1,1) beaufschlagt.
  • Mit Beginn der zweiten Phase T2 werden die Steuersignale der Multiplexoren Mux1, Mux2 auf shj<2:0> = 010, j = 1,2 programmiert. Der mit den Dateneingängen (ar, arq), (a, aq) und (al, alq) verbundene Multiplexor, der die erste Stufe der Kaskade bildet, bleibt damit gesperrt, während alle übrigen auf "Schieben um Null" programmiert werden. Damit können alle innerhalb der Multiplexor-Kaskade liegenden Knoten (welche durch die Verbindung des Datenausgangs eines Multiplexors mit dem Dateneingang des nachgeschalteten Multiplexors gebildet sind (hier sind dies (z4, z4q) und (zl, zlq)) vom Datenausgang der integrierten Schaltung aus vorgeladen werden. Die Vorladeeinheit VE am Ausgang der Kaskade bleibt mit PrShQ = 0 aktiv. Das erreichte Potential beträgt VDD-Vth, wobei Vth die Einsatzspannung der n-Kanal Transistoren in den Multiplexoren Mux1, Mux2 ist.
  • Mit Beginn der dritten Phase T3 werden bzw. bleiben zunächst alle Steuersignale shj<2:0>, j = 4, 2, 1 der Multiplexoren Mux1, Mux2, Mux4 inaktiv: shj<2:0> = 000. Damit sind alle Transistoren N0...N6 jedes der Multiplexoren Mux1, Mux2, Mux4 gesperrt. Während T3 wird zudem das Steuersignal PrShQ für die Vorladeeinheit VE am Ausgang des Logarithmischen Shifters inaktiv: PrShQ = 1. Damit wird der Datenausgang (z, zq) vom Bezugspotential VDD abgetrennt.
  • Hierauf folgend wird die eigentliche Schiebeoperation eingeleitet. Dazu werden zunächst die Steuersignale s4<2:0> des mit den Dateneingängen (ar, arq), (a, aq) und (al, alq) verbundenen Multiplexors Mux4 auf den gewünschten Wert geschaltet. Beispielsweise ist für den ersten in 3 dargestellten Operationszyklus s4<2:0> = 010, d.h der Multiplexor Mux4 „schiebt um Null", während im zweiten Operationszyklus mit s4<2:0> = 001 um vier Positionen nach rechts und im dritten mit s4<2:0> = 100 um vier Positionen nach links geschoben wird.
  • Mit Beginn der Phase T4 werden schließlich auch alle übrigen Multiplexoren Mux1, Mux2 der Kaskade mittels geeigneter Steuersignale sk<2:0>, k = 1,2 auf die gewünschten Werte geschaltet.
  • So wird im ersten in 3 dargestellten Operationszyklus um null, im zweiten Operationszyklus um insgesamt sieben Bitpositionen nach rechts und im dritten Operationszyklus um sieben Bitpositionen nach links geschoben.
  • Mit dieser oben beschriebenen Phasenabfolge in <T1, T2, T3, T4> wird nun nicht nur für Ladungsneutralität im Dual-Rail-Datenpfad des Logarithmischen Shifters gesorgt, sondern auch das der Steuersignalabfolge korrespondierende Ladungsintegral ist invariant. Denn von den jeweils drei Signalen innerhalb der Signalbündel shj<2:0> wird im Falle des für den mit den Dateneingängen (ar, arq), (a, aq) und (al, alq) verbundenen Multiplexors Mux4 genau eines des Steuersignals s4<2:0> von Versorgungspotential VDD auf Bezugspotential VSS entladen und genau eines (dasselbe oder ein anderes) von Bezugspotential VSS auf Versorgungspotential VDD aufgeladen. Von allen übrigen Steuersignalen shj<2:0> mit j = 1,2 wird mit Beginn der Phase T1 genau eines entladen, nämlich dasjenige, welches im Zyklus zuvor in der Phase T4 aufgeladen worden war. Mit Beginn der Phase T2 bzw. T3 wird immer shj<1> auf- und wieder entladen, und schließlich wird in Phase T4 genau eines der Steuersignale aufgeladen. Daraus folgt unmittelbar die Invarianz des Ladungsintegrals der Steuersignale. Es muss jedoch dafür Sorge getragen werden, dass die jeweils drei den Signalen shj<2:0> entsprechenden Knoten gleiche elektrische Kapazitäten aufweisen.
  • Im beschriebenen Ausführungsbeispiel sind die Transistoren N0...N6 des die erste Stufe der Kaskade bildenden Multiplexers Mux4 während der Phasen T1 bis innerhalb von T3 gesperrt, d.h. dessen Dateneingänge sind vom Rest des Datenpfades elektrisch isoliert. Die Vorladung mit einem Vorlade-Signal dieser Dateneingänge kann mit (in 1 nicht dargestellten) Vorladeeinheiten außerhalb des Logarithmischen Shifters erfolgen. Diese erfolgt damit unabhängig vom Vorladen aller übrigen Knoten durch die in 1 dargestellte Vorladeeinheit VE. Weiterhin erlaubt diese Konstellation, dass die Dateneingänge des Multiplexors Mux4 bereits ein neues, gültiges Dual-Rail-Signal annehmen kann, ohne mit dem Vorladevorgang der übrigen Multiplexoren Mux1, Mux2 in Konfikt zu geraten, sofern der Vorladevorgang zeitlich vor dem des Datenausgangs der integrierten Schaltung (z.B. in der Phase T2) abgeschlossen wurde. Dies ermöglicht eine Unabhängigkeit von der Steuerlogik der Ansteuerschaltung AS, die die Elemente der integrierten Schaltung in geeigneter Weise ansteuert.
  • Gegenüber dieser möglichen zeitlichen Abfolge von Steuersignalen für den Logarithmischen Shifter sind auch folgende weitere Alternativen denkbar:
    Auch die Dateneingänge der ersten Stufe der Multiplexor-Kaskade werden von einer Vorladeeinheit am Datenausgang vorgeladen, d.h. die Steuersignale für den die erste Stufe darstellenden Multiplexor weisen das gleiche Zeitverhalten auf wie alle übrigen. Dies bedeutet, alle shj<2:0> haben gleiches Zeitverhalten. Das Beaufschlagen des Dateneingangs des ersten Multiplexors (in 1 Mux4) dürfen erst dann eingeschaltet werden, wenn der Vorlade-Vorgang des Datenpfades abgeschlossen ist, um Kurzschlussströme zu vermeiden.
  • Dies gilt auch in der weiteren Variante, bei der die inneren Knoten der Multiplexor-Kaskade vom Datenausgang und vom Dateneingang der integrierten Schaltung aus vorgeladen werden.
  • Denkbar ist auch, die inneren Knoten der Kaskade sowie den Datenausgang der integrierten Schaltung vom Dateneingang der integrierten Schaltung her vorzuladen.
  • Das Vorladen der inneren und äußeren Knoten der Multiplexor-Kaskade kann auch von einer Vorladeeinheit an mindestens einem der inneren Knoten, also einer zwischen zwei Multiplexoren angeordneten Vorladeeinheit, unterstützt werden.
  • In den 4 bis T1 werden Schaltungsbeispiele und Signalverläufe zur Erzeugung der Steuersignale shj<2:0> und des Ansteuersignals PrShQ für die Vorladeeinheit VE angegeben. Die 4 und 6 zeigen Schaltungen zur Umformung bzw. eingangsseitigen Eintaktung der Steuerinformation, während in den 5, 7 und 8 das zeitliche Verhalten der jeweils relevanten Signale gezeigt wird. Die 9 bis 11 illustrieren schließlich Teile der in 6 angegebenen Schaltungsblöcke.
  • In der folgenden Tabelle ist für das oben betrachtete Beispiel der logische Zusammenhang zwischen eingangsseitiger Steuerinformation sh_pos<2:0>, sh_dir und den daraus zu erzeugenden sh4<2:0>, sh2<2:0>, sh1<2:0> definiert.
  • Figure 00210001
    • q = 2, 1, 0
  • Das Signal sh_pos<2:0> gibt den binär codierten Absolutwert für die Zahl der Bitpositionen an, um die geschoben werden soll. Das Signal sh dir gibt die Richtung an, in welche das Schieben erfolgen soll. Beispielsweise ergeben sich für sh_pos<2:0> = 101 und sh_dir = 1 die Kombinationen s4<2:0> = 001, s2<2:0> = 010, sl <2:0> = 001. Dies bedeutet, dass um fünf Bitpositionen nach rechts geschoben wird.
  • Dieser logische Zusammenhang wird mit den gestrichelt umrandeten Dekodierschaltungen DS1 (decode-sh4) und DS2 (decodesh21) realisiert.
  • Das erfindungsgemäße besondere zeitliche Verhalten der Steuersignale shj<2:0> wird erreicht durch:
    • – Maskierungssignale, die mit den RS-Flip-Flops RSF1 (RS-Sh4EnN), RSF2 (RS-PrSh21Q) und RSF3 (RS-PrShQ) erzeugt werden,
    • – Rückkoppelungen des Signals PrShQ auf die RS-Flip-Flops RSF1 und RSF2, einer Rückkoppelung des Signals s4<2:0> auf die Dekodierschaltung DS2 und einer Rückkopplung der Signale sh2<1>, shl<1> auf das RS-Flip-Flop RSF3 (diese Zusammenhänge sind mit den "Kausalitätspfeilen" in 5 dargestellt), und
    • – das in 5 angegebene zeitliche Verhalten der Dual-Rail Dekodereingänge (sh_dir,sh_dir_q), (sh_dir_n,sh_dir_gn) und (sh_pos<2:0>, sh_pos<2:0>) sowie des Signales ShftEn (Shift Enable), dessen steigende Flanke den Übergang von Phase T2 nach Phase T3 bedeutet, da sie die Vorladung des Datenpfades beendet und damit die eigentliche Schiebeoperation in den Phasen T3 und T4 auslöst. Zunächst werden allerdings die Signale sh2<1> und shl<1> abgeschaltet, woraus die steigende Flanke des Signales PrShQ abgeleitet wird.
  • 6 zeigt neben der Eintaktung der primären Steuerinformation sh_pos_i<2:0> und sh_dir_i in Master- ML und Slave-Latches SL (10) auch die Transformation von primären Single-Rail zu Dual-Rail-Signalen (11), sowie die Erzeugung des schon erwähnten Signales ShftEn. Dessen Bedeutung und seine Wirkung auf das zeitliche Verhalten der Steuersignale shj<2:0> wurde bereits bei der Erläuterung von 4 angegeben.
  • Nachfolgend folgt nun die Beschreibung der Erzeugung des Signals ShftEn anhand der 6 bis 8.
  • ShftEn liegt am Datenausgang des RS-Flip-Flops RSF4 (RS-ShftEn) aus 6, das durch niedrigen Pegel (Bezugspotential VSS) an seinem Setzeingang ShEnSq gesetzt wird. ShftEn liegt dann auf Versorgungspotential VDD, die steigende Flanke von ShftEn wird also aus der fallenden Flanke von ShEnSq abgeleitet. Das Rücksetzen von ShftEn auf niedrigen Pegel folgt aus niedrigem Pegel am Rücksetzeingang ShEnRq, sofern ShEnSq inaktiv ist. Dies ist, wie weiter unten ersichtlich werden wird, immer gewährleistet. Mit niedrigem Pegel an ShftEn wird die Vorladung für die Dual-Rail-Dekodereingänge (sh_dir, sh_dir_q), (sh_dir_gn, sh_dir_n) und (sh_pos<2:0>, sh_pos<2:0>) bewirkt, was seinerseits den Beginn der Phase T1 zur Folge hat: alle Steuersignale shj<2:0>, j = 4, 2, 1 des Logarithmischen Shifters werden inaktiv: shj<2:0> = 000. Damit sind alle Transistoren N0...N6 der Multiplexor-Kaskade mit den Multiplexoren Mux1, Mux2, Mux4 gesperrt.
  • Wie aus 8 ersichtlich, ist ShEnRq ein kurzzeitiger Puls, der mit der in 6 gestrichelt umrandeten Schaltung PlsGen aus der steigenden Flanke des von außen zugeführten Systemtaktes clk abgeleitet wird. Bei niedrigem Pegel des Systemresets rst wird ShftEn unabhängig von clk auf niedrigen Pegel gezogen. Generell gilt, dass der Logarithmische Shifter sich bei aktivem Systemreset im Vorladezustand befindet bzw. in diesen versetzt wird (siehe dazu auch das Systemreset-Verhalten der Schaltungen in 4).
  • Die fallende Flanke von ShEnSq (und die daraus folgende steigende von ShftEn) kann auf zweierlei Weise gewonnen werden.
  • Zum einen könnte ShEnSq gleichgesetzt werden mit dem Taktsignal clk. Dies bedeutet, dass die Phasen T1 und T2 zusammenfallen mit einer Zeitspanne, während der clk auf hohem Pegel liegt. Analog fallen die Phasen T3 und T4 zusammen mit einer Zeitspanne, während das Taktsignal clk auf niedrigem Pegel liegt. Der Vorteil dieser Vorgehensweise liegt in seiner Einfachheit. Der Nachteil liegt darin, dass für die eigentliche Schiebeoperation während der Phase T4 weniger als die Zeitspanne TCL zur Verfügung steht, und dass die Dauer der Phase T4 vom außen zugeführten Systemtakt abhängt und deshalb nicht optimal an die Bedingungen innerhalb des Logarithmischen Shifters angepasst werden kann.
  • Letzteres ist aber möglich, wenn ShEnSq aus der Bedingung abgeleitet wird, dass die Vorladephase des Datenpfades abgeschlossen ist. Dies bedeutet, dass in den Phasen T1 und T2 sowohl die Dateneingänge (a, aq) des Logarithmischen Shifters als auch dessen Datenausgänge (z, zq) auf hohen Potentialpegel vorgeladen wurden bzw. sind. ShEnSq könnte zum Beispiel ge bildet werden mit einem 3-fach NAND Gatter, dessen erster Eingang anzeigt, dass der Vorladevorgang des langsamsten der Dateneingänge (a, aq) in T1 oder T2 abgeschlossen ist, und dessen weitere Eingänge die langsamsten der Datenausgänge (z, zq) im Datenpfad sind. Mit einer in Serie dazu geschalteten Inverterkette oder einem anderen Mittel zur Verzögerung von ShEnSq kann zudem sichergestellt werden, dass die gegenüber (z, zq) später einsetzende Vorladung der zwischen den Multiplexor-Schaltungen der Kaskade liegenden Knoten angemessen berücksichtigt wird.
  • Mux1, Mux2, Mux4
    Multiplexor
    (a, aq)
    Dateneingang bzw. -signal
    (ar, arq)
    Dateneingang bzw. -signal
    (al, alq)
    Dateneingang bzw. -signal
    (aj, ajq), j = 1, 2, 4
    Dateneingang bzw. -signal
    (ajr, ajrq) , j = 1, 2, 4
    Dateneingang bzw. -signal
    (ajl, ajlq), j = 1, 2, 4
    Dateneingang bzw. -signal
    (z, zq)
    Dateneingang bzw. -signal
    sl, s0, sr
    Steuereingang
    shj<2:0> mit j = 1,2,4
    Steuersignal
    VE
    Vorladeeinheit
    PrShQ
    Steuersignal
    HS
    Halteschaltung
    Tr1, Tr2, Tr3, Tr4
    Transistor
    N0, N1, N2
    Transistor
    N4, N5, N6
    Transistor
    VP
    Versorgungspotentialanschluss
    BP
    Bezugspotentialanschluss
    T1, T2, T3, T4
    Zeitphase
    DS1 (decode-sh4)
    Dekodierschaltungen
    DS2 (decode-sh21)
    Dekodierschaltungen
    RSF1 (RS-Sh4EnN)
    RS-Flip-Flops
    RSF2 (RS-PrSh21Q)
    RS-Flip-Flops
    RSF3 (RS-PrShQ)
    RS-Flip-Flops
    RSF4 (RS-ShftEn)
    RS-Flip-Flops
    ML
    Master-Latch
    SL
    Slave-Latch
    ST
    Signaltransformation
    ShftEn
    Signal
    ShEnSq
    Setzeingang
    ShEnRq
    Rücksetzeingang
    (sh_dir, sh_dir_q)
    Dual-Rail-Dekodereingänge
    (sh_pos<2:0>, sh_pos<2:0>)
    Dual-Rail-Dekodereingänge
    (sh_dir_qn, sh_dir_n)
    Dual-Rail-Dekodereingänge
    PG
    Schaltung zur Pulsgenerierung
    Clk
    Taktsignal
    Rst
    Resetsignal

Claims (23)

  1. Integrierte Schaltung mit folgenden Merkmalen: – zumindest zwei kaskadisch verschaltene Multiplexoren (Mux1, Mux2, Mux4), welche jeweils eine Mehrzahl an Dateneingängen (ar, arq; a0, a0q; al, alq), einen Datenausgang (z,zq) und einen Steuereingang (sr, s0, sl) aufweisen, wobei durch das an dem Steuereingang anliegende Signal (shj<2:0>, j = 1, 2, 4) festgelegt wird, welcher der Dateneingänge mit dem Datenausgang verbunden wird, – der Datenausgang (z, zq) eines Multiplexors ist mit einem der Dateneingänge (a0, a0q) des nachgeschalteten Multiplexors verbunden, wodurch ein durch die Kaskade führender Datenpfad gebildet ist, – jeder Dateneingang und jeder Datenausgang weist zwei Anschlüsse zum Anlegen eines Dual-Rail-Signals auf, und – es ist zumindest eine mit einem Steuersignal (PrShQ) ansteuerbare Vorladeeinheit (VE) vorgesehen, die mit dem Datenausgang oder dem Dateneingang eines der Multiplexoren (Mux1, Mux2, Mux4) verbunden ist, und – eine mit den Multiplexoren (Mux1, Mux2, Mux4) und der Vorladeeinheit (VE) verbundene Ansteuerschaltung (AS) vorgesehen ist, die die zeitliche Synchronisation der Steuersignale (shj<2:0>) der Multiplexoren (Mux1, Mux2, Mux4) und des Steuersignals (PrShQ) der Vorladeeinheit (VE) übernimmt, so dass einzelne Abschnitte des Datenpfads, die zwischen zwei nacheinander geschalteten Multiplexoren (Mux1, Mux2, Mux4) liegen, vor dem Ausführen einer Rechenoperation getrennt voneinander in einen Vorlade-Zustand gebracht werden können.
  2. Schaltung nach Anspruch 1, dadurch gekennzeichnet, dass die Vorladeeinheit zwischen einem Versorgungspotential- (VP) oder einem Bezugspotentialanschluss (BP) und dem Datenpfad der integrierten Schaltung verschalten ist.
  3. Schaltung nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die Vorladeeinheit mit dem Datenausgang des letzten Multiplexors (Mux1) der Kaskade verbunden ist, der den Datenausgang der integrierten Schaltung darstellt.
  4. Schaltung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Vorladeeinheit mit dem Dateneingang des ersten Multiplexors (Mux4) der Kaskade verbunden ist, der den Dateneingang der integrierten Schaltung darstellt.
  5. Schaltung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Vorladeeinheit zwischen dem Datenausgang eines der Multiplexoren und dem Dateneingang eines nachgeschalteten Multiplexors verschalten ist.
  6. Schaltung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Datenausgang (z, zq) jedes der Multiplexoren (Mux1, Mux2, Mux4) durch eine mit dem Datenausgang der integrierten Schaltung verbundene Vorladeeinheit (VE) mit einem Vorlade-Signal beaufschlagbar ist.
  7. Schaltung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Dateneingang (a, aq) jedes der Multiplexoren (Mux1, Mux2, Mux4) durch eine mit dem Dateneingang der integrierten Schaltung verbundene Vorladeeinheit (VE) mit einem Vorlade-Signal beaufschlagbar ist.
  8. Schaltung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass eine mit dem Datenpfad gekoppelte Halteschaltung (HS) vorgesehen ist, die im Falle eines am Datenausgang eines Multiplexors anliegenden Dual-Rail-Signals den jeweiligen Signalwert mit dem Versorgungspotential- bzw. dem Bezugspotentialanschluss (BP, VP) verbindet.
  9. Schaltung nach Anspruch 8, dadurch gekennzeichnet, dass die Halteschaltung (H5) mit der Vorladeeinheit (VE) verbunden ist.
  10. Schaltung nach Anspruch 8 oder 9, dadurch gekennzeichnet, dass die Halteschaltung (HS) am Datenausgang der integrierten Schaltung angeordnet ist.
  11. Schaltung nach Anspruch 8, 9 oder 10, dadurch gekennzeichnet, dass die Halteschaltung (HS) zwei kreuzgekoppelte Transistoren aufweist und zwischen dem Datenausgang der Schaltung und dem Versorgungspotential- bzw. Bezugspotentialanschluss (VP) verschalten ist.
  12. Schaltung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die integrierte Schaltung ein logarithmischer Shifter ist.
  13. Schaltung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Ladungsintegral der Steuersignale (shj<2:0>, j = 1, 2, 4) zum Ansteuern der Multiplexoren (Mux1, Mux2, Mux4) der Kaskade über den Verlauf bestehend aus erster Phase (T1), zweiter Phase (T2), dritter Phase (T3) und vierter Phase (T4) invariant ist.
  14. Verfahren zum Betreiben einer integrierten Schaltung nach einem der vorhergehenden Ansprüche, bei dem die Dateneingänge (ar, arq; a0, a0q; al, alq) und Datenausgänge (z, zq) im Datenpfad der Multiplexor-Kaskade vor dem Durchführen eines Rechenschrittes, insbesondere einer Schiebeoperation, mit einem Vorlade-Signal beaufschlagt werden dadurch gekennzeichnet, dass – zum Beaufschlagen mit einem Vorlade-Signal in einer ersten Phase (T1) alle Multiplexoren der Kaskade mit Steuersignalen (shj<2:0>, j = 1, 2, 4) beaufschlagt werden, so dass zwischen Dateneingang und Datenausgang eines jeweiligen Multiplexors keine leitende Verbindung besteht und die Vorladeinheit (VE) mit einem Steuersignal (PrShQ) beaufschlagt wird, dass der mit ihr verbundene Abschnitt des Datenpfades in einen Vorlade-Zustand gebracht wird, und – zum Beaufschlagen mit einem Vorlade-Signal in einer zweiten Phase (T2) zumindest einige der Multiplexoren mit Steuersignalen beaufschlagt werden, so dass bei diesen eine leitende Verbindung des Dateneingangs mit dem Datenausgang hergestellt ist, wodurch weitere Abschnitte des Datenpfades in einen Vorlade-Zustand gebracht werden.
  15. Verfahren nach Anspruch 14, dadurch gekennzeichnet, dass zum Beaufschlagen mit einem Vorlade-Signal in einer dritten Phase (T3) alle Multiplexoren der Kaskade mit Steuersignalen (shj<2:0>, j = 1, 2, 4) beaufschlagt werden, so dass zwischen Dateneingang und Datenausgang eines jeweiligen Multiplexors keine leitende Verbindung mehr besteht und die Vorladeinheit (VE) mit einem diese inaktiv schaltenden Steuersignal (PrShQ) beaufschlagt wird.
  16. Verfahren nach Anspruch 15, dadurch gekennzeichnet, dass nach Beendigung der Vorlade-Phase zum Durchführen des Rechenschrittes in der dritten Phase (T3) der erste Multiplexor (Mux4) der Kaskade mit einem für die Rechenoperation notwendigen Steuersignal beaufschlagt wird.
  17. Verfahren nach Anspruch 16, dadurch gekennzeichnet, dass zum Durchführen des Rechenschrittes in einer vierten Phase (T4) die weiteren Multiplexoren (Mux1, Mux2) der Kaskade mit einem für die Rechenoperation notwendigen Steuersignal beaufschlagt werden.
  18. Verfahren nach einem der Ansprüche 14 bis 17, dadurch gekennzeichnet, dass die Vorladeeinheit (VE) mit dem Datenausgang der integrierten Schaltung verbunden ist und in der zweiten Phase (T2) mit Ausnahme des ersten Multiplexors (Mux4) der Kaskade alle weiteren Multiplexoren (Mux1, Mux2) mit Steuersignalen beaufschlagt werden, so dass bei diesen eine leitende Verbindung des Dateneingangs mit dem Datenausgang hergestellt ist.
  19. Verfahren nach Anspruch 18, dadurch gekennzeichnet, dass der Dateneingang des ersten Multiplexors (Mux4) der Kaskade in der zweiten Phase (T2) von einer mit diesem verbundenen Vorladeeinheit mit einem Vorlade-Signal beaufschlagt wird.
  20. Verfahren nach einem der Ansprüche 14 bis 17, dadurch gekennzeichnet, dass die Vorladeeinheit (VE) mit dem Dateneingang der integrierten Schaltung verbunden ist und in der zweiten Phase (T2) mit Ausnahme des letzten Multiplexors (Mux2) der Kaskade alle weiteren Multiplexoren (Mux1, Mux4) mit Steuersignalen beaufschlagt werden, so dass bei diesen eine leitende Verbindung des Dateneingangs mit dem Datenausgang hergestellt ist.
  21. Verfahren nach Anspruch 20, dadurch gekennzeichnet, dass der Datenausgang des letzten Multiplexors (Mux4) der Kaskade in der zweiten Phase (T2) von einer mit diesem verbundenen Vorladeeinheit mit einem Vorlade-Signal beaufschlagt wird.
  22. Verfahren nach einem der Ansprüche 14 bis 17, dadurch gekennzeichnet, dass die inneren Knoten der Multiplexor-Kaskade, welche durch die Verbindung des Datenausgangs eines Multiplexors mit dem Dateneingang des nachgeschalteten Multiplexors gebildet sind, von am Dateneingang und am Datenausgang der integrierten Schaltung angeordneten Vorladeeinheiten vorgeladen werden.
  23. Verfahren nach einem der Ansprüche 14 bis 22, dadurch gekennzeichnet, dass das Ladungsintegral der Steuersignale (shj<2:0>, j = 1, 2, 4) zum Ansteuern der Multiplexoren (Mux1, Mux2, Mux4) der Kaskade über den Verlauf bestehend aus erster Phase (T1), zweiter Phase (T2), dritter Phase (T3) und vierter Phase (T4) invariant ist.
DE10324049A 2003-05-27 2003-05-27 Integrierte Schaltung und Verfahren zum Betreiben der integrierten Schaltung Expired - Fee Related DE10324049B4 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE10324049A DE10324049B4 (de) 2003-05-27 2003-05-27 Integrierte Schaltung und Verfahren zum Betreiben der integrierten Schaltung
FR0404740A FR2855627B1 (fr) 2003-05-27 2004-05-04 Circuit integre et procede pour le faire fonctionner
US10/857,616 US7583129B2 (en) 2003-05-27 2004-05-27 Integrated circuit and method for operating the integrated circuit
JP2004158363A JP4095578B2 (ja) 2003-05-27 2004-05-27 集積回路および集積回路を動作させる方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10324049A DE10324049B4 (de) 2003-05-27 2003-05-27 Integrierte Schaltung und Verfahren zum Betreiben der integrierten Schaltung

Publications (2)

Publication Number Publication Date
DE10324049A1 DE10324049A1 (de) 2004-12-23
DE10324049B4 true DE10324049B4 (de) 2006-10-26

Family

ID=33426763

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10324049A Expired - Fee Related DE10324049B4 (de) 2003-05-27 2003-05-27 Integrierte Schaltung und Verfahren zum Betreiben der integrierten Schaltung

Country Status (4)

Country Link
US (1) US7583129B2 (de)
JP (1) JP4095578B2 (de)
DE (1) DE10324049B4 (de)
FR (1) FR2855627B1 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005001484A1 (de) * 2005-01-12 2006-03-23 Infineon Technologies Ag Schaltungsanordnung zur Verarbeitung eines Dual-Rail-Signals
FR2880217A1 (fr) 2004-11-03 2006-06-30 Infineon Technologies Ag Montage a mode de securite et a mode d'economie d'energie.
JP4935229B2 (ja) * 2006-08-02 2012-05-23 ソニー株式会社 演算処理装置、および演算処理制御方法、並びにコンピュータ・プログラム
FR2929470B1 (fr) * 2008-03-25 2010-04-30 Groupe Ecoles Telecomm Procede de protection de circuit de cryptographie programmable, et circuit protege par un tel procede
US8943375B2 (en) * 2012-08-08 2015-01-27 Oracle International Corporation Combo static flop with full test
KR101996474B1 (ko) * 2013-04-11 2019-07-05 에스케이하이닉스 주식회사 멀티 칩 패키지

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5399921A (en) * 1993-12-14 1995-03-21 Dobbelaere; Ivo J. Dynamic complementary pass-transistor logic circuit
DE10044837C1 (de) * 2000-09-11 2001-09-13 Infineon Technologies Ag Schaltungsanordnung und Verfahren zum Detektieren eines unerwünschten Angriffs auf eine integrierte Schaltung

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2752839B2 (ja) * 1992-04-14 1998-05-18 シャープ株式会社 複合論理回路
DE69523354T2 (de) * 1994-02-25 2002-07-11 Toshiba Kawasaki Kk Multiplexer
US5646558A (en) * 1995-09-27 1997-07-08 Intel Corporation Plurality of distinct multiplexers that operate as a single multiplexer
US5706323A (en) * 1996-03-01 1998-01-06 Hewlett-Packard Company Dynamic 1-of-2N logic encoding
JP3884809B2 (ja) 1997-01-20 2007-02-21 株式会社日立製作所 ディジタルべき乗演算装置及びそれを用いたグラフィックスシステム
US6008670A (en) * 1997-08-19 1999-12-28 Hewlett-Packard Differential CMOS logic family
WO1999067766A2 (en) 1998-06-03 1999-12-29 Cryptography Research, Inc. Balanced cryptographic computational method and apparatus for leak minimization in smartcards and other cryptosystems
JP4140875B2 (ja) 1999-05-17 2008-08-27 株式会社東北テクノアーチ 2線式電流モード回路
US6822976B1 (en) * 1999-11-03 2004-11-23 Intel Corporation Method and apparatus for high throughput multiplexing of data
JP2003018143A (ja) 2001-06-28 2003-01-17 Mitsubishi Electric Corp 情報処理装置
DE10149585C2 (de) * 2001-10-08 2003-11-20 Infineon Technologies Ag Integrierbare, steuerbare Verzögerungseinrichtung, Verwendung einer Verzögerungseinrichtung sowie Verfahren zum Betrieb einer Verzögerungseinrichtung
US6597232B1 (en) * 2002-03-28 2003-07-22 Emc Corporation Data storage having environmental communication module (ECM)
JP3819872B2 (ja) 2003-05-23 2006-09-13 株式会社東芝 論理演算装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5399921A (en) * 1993-12-14 1995-03-21 Dobbelaere; Ivo J. Dynamic complementary pass-transistor logic circuit
DE10044837C1 (de) * 2000-09-11 2001-09-13 Infineon Technologies Ag Schaltungsanordnung und Verfahren zum Detektieren eines unerwünschten Angriffs auf eine integrierte Schaltung

Also Published As

Publication number Publication date
FR2855627A1 (fr) 2004-12-03
US20040239400A1 (en) 2004-12-02
DE10324049A1 (de) 2004-12-23
US7583129B2 (en) 2009-09-01
JP4095578B2 (ja) 2008-06-04
FR2855627B1 (fr) 2007-08-10
JP2004355631A (ja) 2004-12-16

Similar Documents

Publication Publication Date Title
DE4212202C2 (de) Logikgatter
DE4041426C2 (de)
DE102005056278B4 (de) Flip-Flop-Vorrichtung und Verfahren zum Speichern und Ausgeben eines Datenwerts
DE2707451C2 (de) Paralleladdierwerk mit durchlaufendem Übertrag zum Addieren von wenigstens zwei aus mehreren Bits bestehenden Summanden
WO1992020156A1 (de) Logikschaltung für asynchrone schaltungen mit n-kanal-logikblock und dazu inversem p-kanal-logikblock
EP0633662A1 (de) Schaltungsanordnung für einen Ringoszillator
EP0628832B1 (de) Integrierte Schaltung mit Registerstufen
DE10324049B4 (de) Integrierte Schaltung und Verfahren zum Betreiben der integrierten Schaltung
EP1677185B1 (de) Vorrichtung und Verfahren zum Umsetzen und Addiererschaltung
EP0352549B1 (de) Carry-select-Addierer
DE10202725B4 (de) Integrierte Schaltung und Schaltungsanordnung zur Umwandlung eines Single-Rail-Signals in ein Dual-Rail-Signal
DE10217375B4 (de) Schaltungsanordnung und Verfahren zur Erzeugung eines Dual-Rail-Signals
EP0224656B1 (de) Mehrstelliger Carry-Ripple-Addierer in CMOS-Technik mit zwei Typen von Addiererzellen
DE10305849B3 (de) Carry-Ripple Addierer
EP1468491B1 (de) Integrierte schaltung und verfahren zum betrieb der integrierten schaltung
DE102005008367B3 (de) XOR-Schaltung
WO2004001971A1 (de) Logikschaltung
DE102004020576A1 (de) Datenverarbeitungsvorrichtung mit schaltbarer Ladungsneutralität und Verfahren zum Betreiben einer Dual-Rail-Schaltungskomponente
DE2853517A1 (de) Vielstufige logikschaltung
DE1537307B2 (de) Binäres Schaltwerk
DE2052519C3 (de) Logische Schaltung
EP0905706B1 (de) Pointer-Schaltung mit geringem Flächenbedarf, hoher Geschwindigkeit und geringer Verlustleistung
DE102005001484A1 (de) Schaltungsanordnung zur Verarbeitung eines Dual-Rail-Signals
DE10150174B4 (de) Schnittstellenschaltung von einer statischen zu einer dynamischen Logik
DE102004037591A1 (de) Dual-Rail Precharged Flip-Flop

Legal Events

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