-
Die
vorliegende Erfindung betrifft eine Daten-Pipeline und ein Verfahren
zur Speicherung von Einzelbitdaten in einer Daten-Pipeline.
-
Viele
aktuelle Datenverarbeitungssysteme erfordern die Bufferung von Daten,
während
die Daten zwischen Haupt- und Nebengeräten wie zum Beispiel zentralen
Prozessoren (CPU) und Speicher übertragen
werden. Die Datenbufferung kann von einer Daten-Pipeline vorgenommen
werden, in der Daten in einem ersten Register mit einem ersten Taktsignal
gespeichert werden. Von dem ersten Register werden die Daten durch
ein zweites Taktsignal an ein zweites Register übertragen. Die Beziehung zwischen
den beiden Taktsignalen, insbesondere den Taktphasen, unterliegt
bestimmten Einschränkungen.
Die zweite Taktphase muss in Bezug auf die Phase des ersten Taktsignals
in einem bestimmten Zeitrahmen liegen. Für eine schnelle Datenübertragung
müssen
weitere Einschränkungen
berücksichtigt
werden. Viele Anwendungen erfordern, dass die Taktung des ersten
Registers (Vorregistertaktung) von der Taktung des zweiten Registers
(Nachregistertaktung) entkoppelt ist. Die Vorregistertaktung kann
in einer verrauschten Umgebung stattfinden, während die Nachregisterseite
ein rauschfreies Signal erfordert. Ein typisches Beispiel einer
derartigen Anwendung ist ein Bufferkreis für DDR3-Anwendungen. Typischerweise
werden in herkömmlichen
Daten-Pipeline-Architekturen eine Doppel-Flipflop-Pipeline oder
eine Flipflop/Speicher-Flipflop-Pipeline verwendet. Die entsprechenden
Schaltkreise sind in den 1(a) und
(b) gezeigt. Normalerweise sind der erste Takt CLK1 und der zweite
Takt CLK2 phasengleich, und die Eingabedaten des ersten Flipflops FF1
tauchen erst nach einer bestimmten Flanke des zweiten Taktsignals
CLK2 an dem Ausgang des zweiten Flipflops FF2 auf. Die Laufzeitverzögerung der
Signale beträgt
1 Taktperiode plus die Laufzeitverzögerung (TPD) von CLK2 zu dem
Ausgang Q2 des zweiten Flipflops. Zur Beschleunigung des Systems
kann die Phase des zweiten Takts CLK2 näher an die Phase des ersten
Takts CLK1 verschoben werden. Dies ist jedoch durch die Laufzeitverzögerung des
ersten Flipflops FF1 und die Vorbereitungszeit des zweiten Flipflops
FF2 beschränkt.
Bei sorgfältiger
Ausführung kann
die Verzögerung
in heutigen Hochgeschwindigkeitstechnologien zwischen 300 und 600
ps liegen. Dies entspricht circa vier Gatter-Verzögerungen
in der entsprechenden Technologie. Wenn das zweite Flipflop, wie
in 1(b) gezeigt, durch ein Speicher-Flipflop
ersetzt wird, kann die Gesamtlaufzeitverzögerung um 200 ps verringert
werden. Ein Übergang
von einem hohen zu einem niedrigen Zustand des zweiten Takts CLK2
schaltet das Speicher-Flipflop in den transparenten Modus. Das Speicher-Flipflop
befindet sich in dem transparenten Modus bevor die Daten an Q1 ankommen,
und die Daten werden durch das erste Taktsignal CLK1 ausgelöst. Wenn das
Speicher-Flipflop in den transparenten Modus geschaltet wird, nachdem
die Daten an Q1 ankommen, wird die Datenübertragung von dem Flipflop
zu dem Speicher-Flipflop im Grunde durch das zweite Taktsignal CLK2
ausgelöst.
In dem ersten Fall sind die Taktung des Flipflops und des Speicher-Flipflops nicht
entkoppelt, aber es wird die schnellste Datenübertragungsrate bereitgestellt.
Zur Entkopplung der Vor- und Nachregistertaktung muss das Speicher-Flipflop
in den nicht-transparenten Modus geschaltet werden, bevor neue Daten
an Q1 ankommen. Dies kann erreicht werden, indem die Phase des zweiten
Taktsignals CLK2 abhängig
von dem Tastverhältnis
und der Gesamtzeit des Speicher-Flipflops auf weniger als 180 Grad
der Taktperiode verschoben wird. Hierdurch wird jedoch der Abstimmbereich
der zweiten Taktphase eingeschränkt.
-
US 5,497,114 offenbart eine
Flipflop-Architektur, wie sie zuvor beschrieben wurde, mit zwei kreuzgekoppelten
Invertern, wobei zwei Schalter vorgesehen sind, welche den Dateneingang
von den kreuzgekoppelten Invertern trennen und den Datenausgang
der ersten kreuzgekoppelten Inverter von den zweiten kreuzgekoppelten
Invertern trennen.
-
Aus
EP 1 542 364 A1 ist
ein dynamisches Datenregister bekannt, in der das Eingabeübertragungselement
so eingerichtet ist, dass es von einem Taktsignal und einem verzögerten zweiten
Taktsignal, das in bezug auf das Taktsignal um ein erstes Zeitintervall,
das kürzer
ist als eine halbe Periode des zweiten Taktsignals, verzögert ist,
geschaltet werden kann, so dass das Eingabeübertragungselement die Bewertung
des Dateneingangs lediglich während
des ersten Zeitintervalls durchführt.
-
Aus
US 5,917,355 ist ein flankengetriggertes dynamisches
Flipflop mit einem geregelten Ausschaltmechanismus bekannt. Auch
hier sind zwei kreuzgekoppelte Inverterstufen, die jeweils das Datensignal
halten, durch Schaltmechanismen voneinander getrennt. Die Kopplung
der beiden Stufen (Vor- und
Nachregister) ist jedoch auch bei diesen Architekturen unzureichend
und verursacht in der zuvor beschriebenen Weise unerwünscht hohe
Verzögerungen.
-
Es
ist ein Ziel der vorliegenden Erfindung, eine Daten-Pipeline-Architektur
für einen
hohen Datendurchsatz und eine entkoppelte Vor- und Nachregistertaktung
bereitzustellen.
-
Entsprechend
wird eine Daten-Pipeline mit einer ersten Stufe mit einem Dateneingang
für den Empfang
eines digitalen Dateneingangssignals, einem Takteingang, einem Datenausgang
und einem ersten bistabilen Element, das so eingerichtet ist, dass
es als Reaktion auf eine Flanke eines ersten Taktsignals zwischen
zwei Zuständen
umgeschaltet werden kann, bereitgestellt. Des Weiteren gibt es eine
dynamische Speicher-Flipflop-Stufe mit einem Eingabeübertragungselement
und mit einem zweiten bistabilen Element, das zwischen das Eingabeübertragungselement
und einen Datenausgang des Speicher-Flipflops gekoppelt ist. Das
Eingabeübertragungselement
ist mit einem zweiten Taktsignal und einem verzögerten zweiten Taktsignal gekoppelt,
das um ein erstes Zeitintervall, das kürzer als eine halbe Periode
des zweiten Taktsignals ist, verzögert ist. Letztendlich ist
das Eingabeübertragungselement
so eingerichtet, dass es die Signalübertragung lediglich während des
ersten Zeitintervalls gestattet.
-
Das
zweite bistabile Element enthält
zwei über
kreuz gekoppelte Inverter, wobei der Ausgang eines Inverters durch
zumindest ein Rückkopplungsübertragungselement
mit dem Eingang des entsprechenden anderen Inverters gekoppelt ist,
wobei das Rückkopplungsübertragungselement
so eingerichtet ist, dass es das Ausgangssignal eines Inverters
außer
während
des ersten Zeitintervalls zu dem Eingang des anderen Inverters überträgt. Diese
Anordnung verhindert jegliche Änderungen
des Zustands des zweiten bistabilen Elements und somit des Ausgangs
des Speicher-Flipflops, außer
während
des ersten Zeitintervalls. Die Taktung des bistabilen Elements gemäß diesem
Aspekt der Erfindung stellt in Kombination mit dem Taktungsschema
des Eingabeübertragungselements
sicher, dass sich der Zustand der dynamischen Speicher-Flipflop-Stufe
lediglich während
des ersten Zeitintervalls ändern
kann.
-
Im
Vergleich zu Daten-Pipelines nach dem Stand der Technik mit einem
Flipflop und einem Speicher-Flipflop oder mit zwei Flipflops gestattet
die vorliegende Erfindung eine erhebliche Vergrößerung des Abstimmbereichs
durch die Verwendung eines Flipflops und eines dynamischen Speicher-Flipflops. Das
dynamische Speicher-Flipflop ist so konfiguriert, dass es nur für ein äußerst begrenztes
Zeitintervall (d. h. während
des ersten Zeitintervalls) in den transparenten Modus schaltet.
Dementsprechend kann die Phase des zweiten Taktsignals unabhängig von einer
zusätzlichen
Abweichung des Ausgangssignals der ersten Stufe in einem großen Bereich
verschoben werden.
-
Des
Weiteren enthält
die dynamische Speicher-Flipflop-Stufe ein Verzögerungselement zur Verzögerung des
zweiten Taktsignals um das erste Zeitintervall, um ein verzögertes zweites
Taktsignal zu erzeugen. Die Länge
des ersten Zeitintervalls wird durch die Verzögerung des Verzögerungselements festgelegt.
Das Verzögerungselement
kann durch eine Kette von Logikgattern, zum Beispiel eine Mehrzahl
von kaskadierten Invertern oder anderen Logikgattern, implementiert
sein. Dieser Aspekt der Erfindung gestattet die Realisierung von
kurzen Zeitintervallen, die wesentlich kürzer als eine halbe Taktperiode
des zweiten Takts sind. Das Eingabeübertragungselement ist so eingerichtet,
dass es von dem zweiten Taktsignal und dem verzögerten zweiten Taktsignal angesteuert
werden kann, so dass das Eingabeübertragungselement
Daten nur in dem Zeitintervall zwischen einer bestimmten Flanke
des zweiten Taktsignals und einer entsprechenden Flanke der verzögerten und
invertierten Version des zweiten Taktsignals überträgt. Somit kann das Eingabeübertragungselement
durch ein Übertragungsgatter oder
durch einen Inverter mit einem Eingang für das zweite Taktsignal und
das verzögerte
zweite Taktsignal implementiert sein, die durch entsprechende Flanken
der beiden Taktsignale ein- und ausgeschaltet werden können. So
lange das Eingabeübertragungselement
ausgeschaltet ist, können
keine Daten (oder Signale) von dem Eingang des Eingabeübertragungselement
zu dessen Ausgang übertragen werden,
wodurch verhindert wird, dass der Zustand des mit dem Ausgang gekoppelten
bistabilen Elements geändert
wird.
-
Gemäß einem
Aspekt der vorliegenden Erfindung kann die erste Stufe ein Flipflop
sein. Die erste Stufe kann jedoch ebenfalls als dynamisches Speicher-Flipflop implementiert
sein. Wenn die erste Stufe ein dynamisches Speicher-Flipflop ist, hat
es ein Eingabeübertragungselement
und ein erstes bistabiles Element, das zwischen das Eingabeübertragungselement
und einen Datenausgang des Speicher-Flipflops gekoppelt ist. Das
Eingabeübertragungselement
ist mit dem ersten Taktsignal und einem verzögerten ersten Taktsignal gekoppelt,
das um ein zweites Zeitintervall, das kürzer als eine halbe Periode
des ersten Taktsignals ist, verschoben ist, wobei das dynamische Übertragungselement
so eingerichtet ist, dass es die Signalübertragung lediglich während des
zweiten Zeitintervalls gestattet. Gemäß diesem Aspekt der Erfindung
werden der Abstimmbereich und die Entkopplung der ersten Stufe von
der zweiten Stufe weiter verbessert. Das erste bistabile Element
kann zwei über
kreuz gekoppelte Inverter umfassen, wobei der Ausgang eines Inverters
durch zumindest ein Rückkopplungsübertragungselement mit
dem Eingang des entsprechenden anderen Inverters gekoppelt ist.
Das Rückkopplungsübertragungselement
ist so eingerichtet, dass es die Signalübertragung während des
zweiten Zeitintervalls verhindern kann. Des Weiteren kann die erste
Stufe ein Verzögerungselement
zur Verzögerung
des ersten Taktsignals um das zweite Zeitintervall enthalten.
-
Das Übertragungselement
der dynamischen Speicher-Flipflop-Stufen kann ebenfalls mit einem zusätzlichen
dritten Taktsignal gekoppelt sein, von dem sie auch angesteuert
werden. Das dritte Taktsignal wird an Stelle des verzögerten ersten
bzw. zweiten Taktsignals verwendet. Es hat dieselbe Frequenz wie
das erste oder das zweite Taktsignal, aber das entsprechende erste
bzw. zweite Zeitintervall, während
dessen das Übertragungselement
geöffnet
ist (die Übertragung
gestattet), werden durch Flanken des ersten bzw. zweiten Taktsignals
und des dritten Taktsignals festgelegt. Das dritte Taktsignal wird
so ausgewählt,
dass die Dauer des ersten und des zweiten Zeitintervalls vorzugsweise
kürzer
als eine halbe Periode des ersten und des zweiten Taktsignals ist. Das
Eingabeübertragungselement
kann als getakteter CMOS-Inverter
implementiert sein. Das Rückkopplungsübertragungselement
ist vorzugsweise ein passives CMOS-Übertragungsgatter.
-
Die
vorliegende Erfindung stellt ebenfalls ein Verfahren zur Speicherung
von Einzelbitdaten in einer Daten-Pipeline bereit. Das Verfahren
umfasst die Speicherung von Einzelbitdaten in einer ersten Stufe als
Reaktion auf eine Flanke eines ersten Takts, um die Einzelbitdaten
an einem Ausgang der ersten Stufe bereitzustellen, und die Übertragung
der Einzelbitdaten von dem Ausgang der ersten Stufe zu einer zweiten
Stufe, wobei der Zustand der zweiten Stufe lediglich während eines
ersten Zeitintervalls, das kürzer
als eine halbe Periode eines zweiten Takts ist und mit einer Flanke
des zweiten Taktsignals startet, geändert werden kann. Das erste
Zeitintervall wird vorzugsweise durch Verzögerung und Invertierung des zweiten
Taktsignals festgelegt, um das erste Intervall zwischen der Flanke
des zweiten Taktsignals und einer entsprechenden Flanke des verzögerten und
invertierten zweiten Taktsignals bereitzustellen. Das Ausgangssignal
der zweiten Stufe wird durch doppeltes kreuzgekoppeltes Invertieren
gehalten, außer während des
ersten Intervalls.
-
Die
Pipeline-Architektur und das Verfahren gemäß der vorliegenden Erfindung
gestatten eine schnelle Datenübertragung
von einer Taktdomäne
zu einer zweiten, entkoppelten Taktdomäne. Der große Abstimmbereich der Takte
stellt eine zuverlässige Datenübertragung
bereit, da die Pipeline-Register in Bezug auf eine Verschiebung
des zweiten Takts störungssicher
sind. Wenn der zweite Takt zu nahe an die erste Taktdomäne verschoben
wird, werden die Daten korrekt übertragen,
jedoch von dem ersten Takt ausgelöst. Im Vergleich zu herkömmlichen
Lösungen
können
die Einsparungen bei der Laufzeitverzögerung bis zu 300 bis 600 ps
betragen.
-
Weitere
Aspekte der vorliegenden Erfindung ergeben sich aus der Beschreibung
der bevorzugten Ausführungsformen,
die untenstehend unter Bezugnahme auf die beigefügten Zeichnungen beschrieben
sind. Es zeigen:
-
1 zwei
Daten-Pipeline-Strukturen gemäß dem Stand
der Technik,
-
2 die
Grundbausteine von Flipflops gemäß dem Stand
der Technik,
-
3 Zeitdiagramme,
die sich auf eine herkömmliche
Flipflop-Daten-Pipeline
beziehen,
-
4 Signalverläufe, die
sich auf eine Flipflop/Speicher-Flipflop-Daten-Pipeline gemäß dem Stand der Technik beziehen,
-
5 Symbole,
die eine Daten-Pipeline gemäß der vorliegenden
Erfindung darstellen,
-
6 einen
vereinfachten Schaltplan eines dynamischen Speicher-Flipflops gemäß der vorliegenden
Erfindung,
-
7 eine
Daten-Pipeline-Struktur gemäß einem
Aspekt der vorliegenden Erfindung,
-
8 Signalverläufe, die
die Taktung der in 7 gezeigten Daten-Pipeline-Struktur
veranschaulichen,
-
9 einen
vereinfachten Schaltplan einer Daten-Pipeline-Architektur gemäß einem
weiteren Aspekt der vorliegenden Erfindung,
-
10 einen
vereinfachten Schaltplan einer Daten-Pipeline-Struktur gemäß einem
weiteren Aspekt der vorliegenden Erfindung,
-
11 Signalverläufe, die
die Taktung der Daten-Pipeline-Architekturen gemäß den 9 und 10 veranschaulichen,
-
12 eine
weitere Ausführungsform
der vorliegenden Erfindung,
-
13 Signalverläufe, die
die Taktung der in 12 gezeigten Ausführungsform
veranschaulichen,
-
14 einen
vereinfachten Schaltplan einer Ausführungsform der vorliegenden
Erfindung und
-
15 Signalverläufe, die
die Taktung der in 14 gezeigten Ausführungsform
veranschaulichen.
-
1(a) zeigt die grundsätzliche Doppel-Flipflop-Daten-Pipeline-Struktur.
Das erste Taktsignal CLK1 wird zur Taktung der Daten an dem Dateneingang
D zu dem Ausgang des ersten Flipflops FF1 verwendet. Ein zweites
Taktsignal CLK2 wird zur Speicherung der Daten in dem zweiten Flipflop
FF2 verwendet. Wenn beide Flipflops FF1 und FF2 als Reaktion auf
eine ansteigende Flanke des Eingangstakts arbeiten, erscheinen die
Eingabedaten D an dem Ausgang Q2 nach einer ansteigenden Flanke des
ersten Takts CLK1 und des zweiten Takts CLK2 und nach den entsprechenden
Laufzeitverzögerungen
und Vorbereitungszeiten. 1(b) zeigt
eine Flipflop/Speicher-Flipflop-Konfiguration
gemäß dem Stand
der Technik. Der wesentliche Unterschied im Vergleich zu 1(a) besteht in der Verwendung eines Speicher-Flipflops
an Stelle eines Flipflops für das
zweite Register.
-
2 zeigt
Signalverläufe,
die die Taktung einer Doppel-Flipflop-Pipeline-Architektur gemäß dem Stand der Technik darstellen.
Es werden zwei Fälle,
die Fall 1 und Fall 2 genannt werden, veranschaulicht. Fall 1 betrifft
die Mindestverschiebung bzw. Mindestphasenverschiebung, die zwischen
einer ansteigenden Flanke des ersten Takts CLK1 und des zweiten
Takts CLK2 benötigt
wird. Der zweite Fall betrifft die Maximalverschiebung bzw. die
maximale Phasenverschiebung, die auf das zweite Taktsignal in Bezug
auf das erste Taktsignal CLK1 angewendet werden kann. Die Differenz
zwischen Mindestverschiebung und Maximalverschiebung stellt den
maximalen Abstimmbereich dar. Das zweite Taktsignal CLK2 muss um
die Laufzeitverzögerung
(TPD) des in 1(a) gezeigten ersten
Flipflops (FF1) und um die Vorbereitungszeit (durch den Begriff
Vorbereitung angegeben) des zweiten Flipflops (FF2 in 1(a)) verzögert sein. Die kombinierte
Verzögerung
aus TPD und Vorbereitung kann für
eine aktuelle Hochgeschwindigkeitstechnologie in einem Bereich zwischen
300 und 600 ps liegen. Diese Mindestverzögerung kann für aktuelle
Hochgeschwindigkeitsanwendungen ein Problem darstellen. Der maximale
Abstimmbereich des zweiten Taktsignals CLK2 beträgt eine Taktperiode. Der Taktjitter
des ersten und des zweiten Taktsignals CLK1 bzw. CLK2 verringert
den Abstimmbereich.
-
3 zeigt
Signalverläufe,
um die Taktungsanforderungen an eine Flipflop/Speicher-Flipflop-Daten-Pipeline-Architektur
gemäß dem Stand
der Technik zu veranschaulichen. Entsprechend muss das zweite Taktsignal
CLK2 um die Laufzeitverzögerung TPD
des ersten Flipflops (FF1 in 1(b))
verzögert sein.
Die Vorbereitungszeit des Speicher-Flipflops kann ignoriert werden,
da das Speicher-Flipflop in den transparenten Modus der ansteigenden
Flanke des zweiten Taktsignals CLK2 schaltet. Die aus der Laufzeitverzögerung resultierende
Verzögerung kann
zwischen 200 und 400 ps liegen. Obwohl dies im Vergleich zu der
in 1(a) gezeigten Doppel-Flipflop-Struktur
eine Verbesserung darstellt, wird der Gesamtabstimmbereich auf weniger
als eine halbe Taktperiode des zweiten Taktsignals verringert und
hängt von
dem Tastverhältnis
des zweiten Taktsignals CLK2 ab. Dies ergibt sich daraus, dass das Speicher-Flipflop
nicht transparent sein sollte, während
der Ausgang des ersten Flipflops FF1 seinen Zustand ändert.
-
4 zeigt
die Grundbausteine von Speicher-Flipflops und Flipflops. 4(a) veranschaulicht die Äquivalenz
zwischen zwei verschiedenen Arten zur Implementierung eines Übertragungselements.
Auf der linken Seite gibt es ein Übertragungsgatter, das einen
NMOS- und einen PMOS-Transistor enthält, die parallel mit einem
Inverter IV geschaltet sind. Ein Eingangssignal kann als Reaktion
auf die Taktsignale CLK und CLKB von dem Eingang IN zu dem Ausgang
OUT übertragen
werden. Derselbe Effekt wird durch eine auf der rechten Seite der 4(a) gezeigte Struktur erreicht. Ein im
Grunde aus einem NMOS-Transistor N1 und einem PMOS-Transistor P1
bestehender Inverter wird als Übertragungselement
zur Übertragung
eines Signals von dem Eingang IN zu dem Ausgang OUT verwendet. Des
Weiteren gibt es zwei MOSFET-Transistoren P2 und N2, die geschaltet
werden, um das Übertragungselement
zu aktivieren und zu deaktivieren. Die Eingabeübertragungselemente gemäß der vorliegenden
Erfindung sind vorzugsweise so wie das auf der rechten Seite gezeigte
Element implementiert. Das Übertragungsgatter
auf der linken Seite, ohne den Inverter IV, wird vorzugsweise als
Rückkopplungsübertragungselement
verwendet.
-
4(b) zeigt ein typisches herkömmliches Speicher-Flipflop.
Der Dateneingang D ist mit einem wie in Bezug auf 4(a) erläuterten Übertragungselement
gekoppelt. Des Weiteren gibt es ein bistabiles Element, das aus
den über
kreuz gekoppelten Invertern IV1 und IV2, einschließlich eines
zwischen den Ausgang von IV2 und den Eingang von IV1 gekoppelten
Rückkopplungsübertragungselements TF2,
besteht. Des Weiteren gibt es einen dritten Inverter IV3 zur Bereitstellung
des komplementären Ausgangssignals
QB. So lange das Übertragungsgatter
TF2 den Ausgang von IV2 mit dem Eingang von IV1 koppelt, kann der
Zustand des bistabilen Elements nicht geändert werden. Wenn das Taktsignal CLK
von NIEDRIG („LOW") auf HOCH („HIGH") umschaltet, koppelt
das Eingabeübertragungselement das
Dateneingangssignal D mit dem Eingang von IV1. Gleichzeitig wird
das Übertragungsgatter
TF2 deaktiviert, so dass der Ausgang von IV2 von dem Eingang von
IV1 entkoppelt wird. Dementsprechend wird der Zustand des bistabilen
Elements in Übereinstimmung
mit dem Zustand des Dateneingangssignals D geändert. Da das Eingabeübertragungselement
den Zustand der Eingabedaten D, die durch den Inverter IV1 umgekehrt
werden, invertiert, hat das Ausgangssignal Q denselben Zustand wie
die Eingabedaten D, so lange das Taktsignal CLK auf einem hohen
Zustand „HIGH" bleibt. In der folgenden Beschreibung
wird die Situation, in der das Ausgangssignal unverzüglich den
Zustand des Eingangssignals annimmt, „transparenter Modus” genannt.
So lange das Taktsignal CLK niedrig ist, kann sich das Eingangssignal
nicht zu dem Ausgang hin ausbreiten. Diese Situation wird „nicht-transparenter Modus" genannt.
-
4(c) zeigt ein Haupt/Neben-Flipflop gemäß dem Stand
der Technik. Das Flipflop enthält
eine Hauptstufe mit einem Eingabeübertragungselement mit Transistoren
N1, N2, P1, P2 und das bistabile Element, das aus den Invertern
IV1 und IV2 sowie dem Rückkopplungsübertragungsgatter
TF2 besteht. Die Nebenstufe enthält
ein weiteres Eingabeübertragungselement
und das bistabile Element, das aus den Invertern IV3 und IV4 sowie
dem Rückkopplungsübertragungsgatter
TF3 besteht. Die an der Hauptstufe und der Nebenstufe angelegten
Taktsignale sind in Bezug zueinander invertiert. Entsprechend gestattet
es die abfallende Flanke des Taktsignals CLK, dass das erste bistabile
Element der Hauptstufe in Übereinstimmung
mit dem Zustand des Dateneingangssignals D verändert wird. Eine abfallende
Flanke des Taktsignals CLK gestattet es, das Datensignal von dem
Ausgang der Hauptstufe zu dem Ausgang Q der Nebenstufe zu übertragen.
-
5(a) zeigt ein Symbol für eine Daten-Pipeline-Architektur
gemäß der vorliegenden
Erfindung. In 5(b) ist eine weitere
mögliche
Darstellung, die äquivalent
zu 5(a) ist, gezeigt. Die Pipeline-Architektur
gemäß der vorliegenden
Erfindung enthält
ein dynamisches Speicher-Flipflop und ein Flipflop oder zwei dynamische
Speicher-Flipflops, wie untenstehend ausführlicher erläutert wird.
-
6 zeigt
einen vereinfachten Schaltplan eines dynamischen Speicher-Flipflops gemäß einem Aspekt
der vorliegenden Erfindung. Das aus den Transistoren N1, N2, N3,
P1, P2 und P3 bestehende Eingabeübertragungselement
ist so eingerichtet, dass es zwei Taktsignale CLK und zwei komplementäre Taktsignale
CLKB empfangen kann. Das Taktsignal CLK wird durch drei in Reihe
geschaltete Inverter IV0 verzögert,
um eine bestimmte Verzögerungszeit
zu erzeugen, während
der sich das dynamische Speicher-Flipflop in dem transparenten Modus
befindet. Dasselbe aus drei Invertern IV0 bestehende Verzögerungselement
ist mit dem komplementären
Taktsignal CLKB gekoppelt. Entsprechend gestattet das Eingabeübertragungselement
die Signalübertragung lediglich
während
eines ersten Zeitintervalls, das durch die Verzögerung der drei Inverter festgelegt wird.
Die verzögerten
Versionen des Taktsignals CLK und des invertierten Taktsignals CLKB
sind ebenfalls mit einem Rückkopplungsübertragungsgatter
TF2 gekoppelt, das parallel mit einem Rückkopplungsübertragungsgatter TF1 in dem
aus den Invertern IV1 und IV2 und den beiden Übertragungsgattern TF1 und
TF2 bestehenden bistabilen Element geschaltet ist. Die Architektur
gemäß der vorliegenden
Erfindung ergibt ein Speicher-Flipflop, das sich lediglich während des
ersten Zeitintervalls, das durch die Verzögerung der drei Inverter IV0
bestimmt wird, in dem transparenten Modus befindet.
-
7 zeigt
einen vereinfachten Schaltplan einer Daten-Pipeline-Struktur gemäß einer
ersten Ausführungsform
der vorliegenden Erfindung. Entsprechend ist ein herkömmliches
Haupt/Nebenflipflop mit einem wie in 6 gezeigten dynamischen Speicher-Flipflop
gekoppelt. Die Eingabeübertragungselemente
der ersten Stufe bestehen aus den Transistoren N1, N2, P1, P2 bzw.
N3, N4, P3, P4. Die bistabilen Elemente der Flipflops bestehen aus
IV1 und IV3 sowie IV4 und IV5. Jedes Inverterpaar ist über kreuz
gekoppelt und durch ein entsprechendes Rückkopplungsübertragungselement, d. h. die Übertragungsgatter
TF2 und TF3, verbunden. Die zweite Stufe hat ein Eingabeübertragungselement,
bestehend aus N5, N6, N7 bzw. P5, P6, P7, und ist mit dem zweiten
Taktsignal CLK2 und dem invertierten zweiten Taktsignal CLK2B gekoppelt.
Das verzögerte zweite
Taktsignal CLK2 ist mit dem Gate von P7 gekoppelt, während der
verzögerte
invertierte zweite Takt CLK2B mit N7 gekoppelt ist. Entsprechend
gestattet das Eingabeübertragungsgatter
die Signalübertragung
(bei der das übertragene
Signal eigentlich invertiert ist) lediglich für ein kurzes Intervall, während dessen
CLK2 hoch ist (d. h. CLK2B ist niedrig) und die verzögerte Version
von CLK2 ebenfalls hoch ist (d. h. die verzögerte Version von CLK2B ist
noch immer niedrig). Die Laufzeitverzögerung der Inverter IV0 legt
die Zeit fest, während
der das Eingabeübertragungselement
geöffnet
ist (die Übertragung
gestattet). Da das Übertragungselement
ein Inverter ist, ist das Eingangssignal ebenfalls invertiert. Das
aus IV6 und IV7 bestehende bistabile Element enthält die Rückkopplungsübertragungselemente
TF4 und TF5. Diese Übertragungselemente
oder Übertragungsgatter
TF4, TF5 sind ebenfalls mit dem zweiten Takt CLK2 und CLK2B (mit
TF4 gekoppelt) und den verzögerten
Versionen des zweiten Takts CLK2 und CLK2B (mit TF5 gekoppelt) gekoppelt.
Entsprechend kann der Zustand des bistabilen Elements auf Grund der
Kreuzkopplung nur dann geändert
werden, wenn die Übertragungsgatter
die Signalübertragung
unterbrechen, d. h. wenn die Übertragungsgatter
TF4, TF5 die Inverter IV6 und IV7 voneinander entkoppeln. Dies geschieht
während
des Zeitintervalls, in dem das Eingabeübertragungselement die Übertragung gestattet
(d. h. das Eingabeübertragungselement
ist geöffnet).
Entsprechend wird ein Sichtfenster zwischen einer ansteigenden Flanke
von CLK2 an dem Gate von N6 und bis sich die ansteigende Flanke
von CLK2 durch die drei Inverter IV ausbreitet und an dem Gate von
N7 auftaucht (identisch für
CLK2B und P6, P7). Der Zustand der zweiten Stufe (d. h. der dynamischen
Speicher-Flipflop-Stufe) kann nur während dieses Sichtfensters
geändert
werden. Somit werden der Abstimmbereich und die Entkopplung der ersten
Stufe von der zweiten Stufe verbessert. Das Verhalten des in 7 gezeigten
Schaltkreises wird unter Bezugnahme auf die in 8 gezeigten
Signalverläufe
ausführlicher
beschrieben.
-
In 8 werden
wie in den herkömmlichen Daten-Pipeline-Architekturen
zwei Fälle
unterschieden. In Fall 1 ist die Mindestverzögerung zwischen der ansteigenden
Flanke des ersten Takts CLK1 und der ansteigenden Flanke des zweiten
Takts CLK2 dargestellt. Fall 2 betrifft die Maximalverschiebung oder
die maximale Phasenverschiebung zwischen den ansteigenden Flanken
der beiden Taktsignale. Entsprechend muss das zweite Taktsignal
CLK2 um die Laufzeitverzögerung
TPD des in dem oberen Teil der 7 gezeigten
Haupt/Neben-Flipflops verzögert
sein. Diese Verzögerung
kann in einer aktuellen Hochgeschwindigkeitstechnologie zwischen
200 und 400 ps liegen. Der Abstimmbereich ist etwas kleiner als
eine Taktperiode, wird aber im Vergleich zu der in 1(b) gezeigten
Flipflop/Speicher-Flipflop-Struktur wesentlich verbessert. Dies
ergibt sich daraus, dass das dynamische Speicher-Flipflop lediglich
ein kurzes Zeitintervall, das im Wesentlichen durch die in 6 und 7 gezeigten
Verzögerungselemente festgelegt
ist, in dem transparenten Modus bleibt. Das dynamische Speicher-Flipflop
vergrößert den Abstimmbereich
und führt
dazu, dass der Abstimmbereich im Grunde unabhängig von dem Tastverhältnis der
Taktsignale CLK1 und CLK2 ist.
-
9 zeigt
einen vereinfachten Schaltplan einer Daten-Pipeline-Architektur
gemäß einer
weiteren Ausführungsform
der vorliegenden Erfindung. Gemäß dieser
Ausführungsform
der vorliegenden Erfindung wird das Haupt/Neben-Flipflop durch ein einfaches Speicher-Flipflop
ersetzt. Der Ausgang des Speicher-Flipflops ist mit einem dynamischen
Speicher-Flipflop gemäß der vorliegenden
Erfindung gekoppelt. Die in den 6 und 7 gezeigte
Inverterkette wird vereinfacht und durch die Verzögerungselemente
DLY dargestellt.
-
10 zeigt
einen vereinfachten Schaltplan einer Daten-Pipeline-Architektur
gemäß noch einer weiteren
Ausführungsform
der vorliegenden Erfindung. Der in 10 gezeigte
Schaltkreis stellt dieselbe Funktionalität wie der in 9 gezeigte
Schaltkreis bereit. Das Eingabeübertragungselement
des dynamischen Speicher-Flipflops wird dahingehend vereinfacht,
dass lediglich ein PMOS-Transistor
P6 und ein NMOS-Transistor N6 erforderlich sind. Des Weiteren wird das
zweite Übertragungsgatter
TF4 gemäß 9 entfernt,
da ein zusätzliches NAND-Gatter
und ein zusätzliches
NOR-Gatter eingebracht werden.
-
11 zeigt
Signalverläufe,
die die in den 9 und 10 gezeigten
Schaltkreise betreffen. Fall 1 stellt die Mindestphasenverschiebung
zwischen der ansteigenden Flanke des ersten Taktsignals CLK1 und
des zweiten Taktsignals CLK2 dar. Fall 2 betrifft eine Situation,
in der zwischen das erste und das zweite Taktsignal CLK1 bzw. CLK2
eine Phasenverschiebung eingebracht wird. Schließlich stellt Fall 3 die maximale
Phasenverschiebung zwischen den beiden Taktsignalen dar. Entsprechend
beträgt die
erforderliche Mindestphasenverschiebung zwischen den Taktsignalen
CLK1 und CLK2 Null. Die Daten können äußerst schnell übertragen
werden. Wenn die Verschiebungszeit Null beträgt, werden die Jitterwerte
beider Taktsignale CLK1 und CLK2 überlagert und an den Ausgang
gesendet. Eine kurze Latenz des zweiten Taktsignals CLK2, die kleiner
als der Jitter des ersten Taktsignals CLK1 ist, kann den Jitter
des ersten Taktsignals CLK1 überdecken.
Zur Verringerung des Jitters kann eine Jitterreinigungsfunktion
eingesetzt werden. Auf Grund der benötigten Mindestöffnungszeit
für das
Nebenflipflop wird der Abstimmbereich um eine halbe Taktperiode
des ersten Taktsignals verringert. Der Abstimmbereich hängt von
dem Tastverhältnis
des Taktsignals CLK1 ab.
-
12 zeigt
einen vereinfachten Schaltplan einer Daten-Pipeline-Architektur
gemäß einer
Ausführungsform
der vorliegenden Erfindung. Die Daten-Pipeline-Architektur enthält zwei dynamische Speicher-Flipflop-Strukturen,
die der in 6 gezeigten Struktur gleichen.
Entsprechend wird das Eingabe-Speicher-Flipflop gemäß 10 durch
ein dynamisches Speicher-Flipflop gemäß der vorliegenden Erfindung
ersetzt.
-
Die
Taktung des in 12 gezeigten Schaltkreises wird
durch die in 13 gezeigten Signalverläufe veranschaulicht.
Entsprechend legt die Öffnungsdauer
(transparenter Modus) des Hauptgeräts ebenfalls den Abstimmbereich
des zweiten Taktsignals CLK2 fest. Die Öffnungsdauer (transparenter Modus)
kann durch eine wie in Bezug auf 6 erläuterte dynamische
Speicher-Flipflop-Struktur verkürzt
werden. Der Abstimmbereich wird um denselben Umfang vergrößert wie
die Öffnungsdauer
des Hauptgeräts
verkürzt
wird.
-
14 zeigt
einen vereinfachten Schaltplan einer Daten-Pipeline-Architektur
gemäß einer
weiteren Ausführungsform
der vorliegenden Erfindung. Entsprechend wird ein drittes Taktsignal
CLK3 eingebracht, um das Zeitintervall, während dessen sich das dynamische
Eingabe-Speicher-Flipflop der Pipeline-Struktur in dem transparenten Modus
befindet, zu nutzen. Die Taktung des in 14 gezeigten Schaltkreises
wird durch die in 15 gezeigten Signalverläufe veranschaulicht.
Die Öffnungsdauer
des ersten dynamischen Speicher-Flipflops wird durch das Taktsignal
CLK3 verkürzt.
Dieses Taktsignal kann von einem spannungsgesteuerten Ringoszillator
o. ä. abgeleitet
werden.