-
Die
Erfindung betrifft eine Daten-Pipelinevorrichtung sowie Verfahren
zum Erzeugen von Steuersignalen für Daten-Pipelines.
-
Herkömmlicherweise
weist ein synchroner dynamischer Speicher mit beliebiger Zugriffsart
(Synchronous Dynamic Random Access Memory, SDRAM) eine Daten-Pipeline
auf, welche von einer Mehrzahl von Registern in Stufen unterteilt
ist. Die Zugriffszeit oder totale Übertragungszeit der Daten-Pipeline
bedingt typischerweise die Zugriffszeit des SDRAM. Daher hängt die
Zugriffszeit von dem Zeitverlauf der Pipeline-Steuersignale ab,
welche die Pipeline-Register betätigen.
Bei der herkömmlichen Struktur
erzeugt ein interner Pipeline-Steuersignalgenerator
die Pipeline-Steuersignale aus einem Referenz-Taktsignal. Typischerweise
kann die Daten-Pipeline nicht in Stufen gleicher Übertragungszeiten
unterteilt werden. Daher weisen das Referenz-Taktsignal und die
Pipeline-Steuersignale
eine Periode auf, welche länger
ist, als die längste Übertragungszeit
einer beliebigen Stufe der Daten-Pipeline.
-
Der
Pipeline-Steuersignalgenerator erzeugt die Pipeline-Steuersignale mittels
Verzögerungsschaltkreisen,
welche jeweils eine unterschiedliche Verzögerungszeit aufweisen. Die
Verzögerungszeit jedes
Verzögerungsschaltkreises
weist Variationsgrenzen für
den Zeitverlauf der Pipeline-Steuersignale
auf. Die Grenzen berücksichtigen
erwartete Variationen der Betriebstemperatur und der Versorgungsspannung.
Außerdem
ist die Grenze in jeder Stufe eine Akkumulation der Grenzen vorheriger
Stufen, da jede der folgenden Stufen der Daten-Pipeline an das zuvor
abgelaufene angepaßt
sein muß.
Die akkumulierten Grenzen erhöhen
die Verzögerung
der Daten-Pipeline
und verringern die Leistung bei einer Anwendung, wie beispielsweise
in einem SDRAM.
-
In
US 3 959 781 wird ein Direktzugriffsspeichersystem
offenbart, bei welchem eine dynamische Speicherung verwendet wird,
wobei jede Zelle ein einzelnes aktives Element aufweist. Der Speicher verwendet
MOS-Technologie und wird auf einem Silizium-Substrat angeordnet.
-
Aus
US 5 815 462 sind eine synchrone
Halbleiter-Speichervorrichtung
und ein synchrones Speichermodul bekannt, bei welchen ein erstes
Taktsignal zum Steuern der Eingabe eines externen Signals und zum
Steuern des internen Betriebs sowie ein zweites Taktsignal zum Steuern
der Datenausgabe an separate Taktsignal-Eingangsknoten angelegt werden.
-
Erfindungsgemäß werden
eine Hochgeschwindigkeits-Pipelinevorrichtung
sowie Verfahren zum Erzeugen von Steuersignalen für Daten-Pipelines
geschaffen. Insbesondere können
bevorzugte Ausführungsformen
der Erfindung die erforderlichen Grenzen bei Mehrfach-Phasen-Taktsignalen
durch kaskadiertes Erzeugen der Mehrfach-Phasen-Taktsignalen minimieren.
-
Eine
Vorrichtung gemäß einer
bevorzugten Ausführungsform
der Erfindung weist n Daten-Pipeline-Stufen mit entsprechenden Übertragungszeiten (T1,
..., Tn) auf. Jede Übertragungszeit
T1, ..., Tn ist kürzer
als die Periode P eines Referenz-Taktsignals. Mindestens
eine der Übertragungszeiten
weicht von einer anderen der Übertragungszeiten
ab. Die Vorrichtung weist n (n ist eine natürliche Zahl) Datenpfad-Schaltkreise
oder Stufen, n Register, und einen Steuersignal-Erzeugungsschaltkreis auf. Die Datenpfad-Schaltkreise
sind in Kaskade zwischen einen Eingangsanschluß und einen Ausgangsanschluß geschaltet.
Die Register sind an die Eingangsanschlüsse entsprechender Datenpfad-Schaltkreise
geschaltet und führen
von einer vorhergehenden Stufe oder dem Eingangsanschluß kommende
Daten zu. Der Steuersignal-Erzeugungsschaltkreis
erzeugt ein erstes Pipeline-Steuersignal in Antwort auf das Referenz-Taktsignal
sowie andere Pipeline-Steuersignale aufeinanderfolgend
auf andere Pipeline-Steuersignale.
Der Steuersignal-Erzeugungsschaltkreis versieht die n Pipeline-Register
mit den n Pipeline-Steuersignalen. Daher ist die gesamte Übertragungszeit
der Daten von dem Eingangsanschluß zu dem Ausgangsanschluß im wesentlichen
gleich der Summe der einzelnen Übertragungszeiten.
-
Nach
einer bevorzugten Ausführungsform der
Erfindung weist der Steuersignal-Erzeugungsschaltkreis einen ersten
Impulsgenerator und einen zweiten Impulsgenerator auf. Der erste
Impulsgenerator erzeugt ein (n)-tes Pipeline-Steuersignal, welches
relativ zu dem Referenz-Taktsignal verzögert ist und der zweite Impulsgenerator
erzeugt ein (n – 1)-tes
Pipeline-Steuersignal durch Verzögern
des (n)-ten Pipeline-Steuersignals. Der zweite Impulsgenerator weist
typischerweise einen damit verbundenen Verzögerungsschaltkreis auf, welcher
die Verzögerung
des (n–1)-ten
Pipeline-Steuersignals
steuert. Zusätzliche
Impulsgeneratoren und Verzögerungsschaltkreise
können
in absteigender Reihenfolge und in Kaskade angeschlossen sein, um
weitere Pipeline-Steuersignale
durch Verzögern
anderer Pipeline-Steuersignale zu erzeugen.
-
Nach
einer anderen bevorzugten Ausführungsform
der Erfindung weist der Steuersignal-Erzeugungsschaltkreis einen
ersten Impulsgenerator auf, welcher das Referenz-Taktsignal eingibt
und ein (n)-tes Pipeline-Steuersignal mit Pulsen einer Pulsbreite
w1 erzeugt. Ein zweiter Impulsgenerator erzeugt eine (n – 1)-tes
Pipeline-Steuersignal mit Pulsen mit einer Pulsbreite w2 in Reaktion
auf fallende Flanken der aktiven Bereiche des (n)-ten Pipeline-Steuersignals.
-
Ein
Verfahren nach einer bevorzugten Ausführungsform der Erfindung weist
Erzeugen eines Pipeline-Steuersignals mit Impulsen, welche relativ zu Übergängen in
einem Referenzsignal verzögert sind
sowie Erzeugen anderer Pipeline-Steuersignale durch Verzögern anderer
Pipeline-Steuersignale auf. Das Verfahren kann außerdem Erzeugen
einer Mehrzahl von Pipeline-Steuersignalen
aufweisen, wobei jedes Pipeline-Steuersignal durch Verzögern eines anderen
Pipeline-Steuersignals erzeugt wird. Aktive Bereiche jedes Pipeline-Steuersignals
können
entweder mit den steigenden oder den fallenden Flanken der aktiven
Bereiche anderer der Steuersignale synchronisiert werden.
-
Die
Erfindung wird nachfolgend anhand bevorzugter Ausführungsformen
unter Bezugnahme auf die Zeichnung näher erläutert. In der Zeichnung zeigen:
-
1 ein
Blockschaltbild, aus welchem eine drei-stufige Pipeline-Vorrichtung
mit Pipeline-Registern ersichtlich ist, welche Eingangs- und Ausgangs-Latches
aufweisen,
-
2 ein
Zeitverlaufs-Diagramm, aus welchem der Betrieb der Pipeline-Vorrichtung
aus 1 ersichtlich ist, wenn jede Stufe der Pipeline
die gleiche Übertragungszeit
aufweist,
-
3 ein
Zeitverlaufs-Diagramm, aus welchem der Betrieb der Pipeline-Vorrichtung
aus 1 ersichtlich ist, wenn die Stufen unterschiedliche Übertragungszeiten
aufweisen,
-
4 ein
Schaltbild, aus welchem ein Steuersignal-Erzeugungsschaltkreis ersichtlich ist,
welcher Pipeline-Steuersignale
direkt aus einem Referenz-Taktsignal erzeugt,
-
5 ein
Zeitverlaufs-Diagramm, aus welchem der Betrieb des Steuersignal-Erzeugungsschaltkreises
aus 4 ersichtlich ist,
-
6 ein
Schaltbild, aus welchem ein Steuersignal-Erzeugungsschaltkreis nach einer bevorzugten
Ausführungsform
der Erfindung ersichtlich ist,
-
7 ein
Zeitverlaufs-Diagramm, aus welchem der Betrieb des Steuersignal-Erzeugungsschaltkreises
aus 6 ersichtlich ist,
-
8 ein
Blockschaltbild, aus welchem eine drei-stufige Pipeline-Vorrichtung
ersichtlich ist, welche Pipeline-Register mit Eingangs-Latches aufweist,
-
9 ein
Zeitablauf-Diagramm, aus welchem der Betrieb der Pipeline-Vorrichtung
aus 8 ersichtlich ist, wenn jede Stufe eine unterschiedliche Übertragungszeit
aufweist,
-
10 ein
Schaltbild einer bevorzugten Ausführungsform des Steuersignal-Erzeugungsschaltkreises
aus 8,
-
11 ein
Zeitverlaufs-Diagramm, aus welchem der Betrieb des Steuersignal-Erzeugungsschaltkreises
aus 8 ersichtlich ist,
-
12 ein
Schaltbild, aus welchem eine andere bevorzugte Ausführungsform
des Steuersignal-Erzeugungsschaltkreis
aus 8 ersichtlich ist, und
-
13 ein
Zeitverlaufs-Diagramm, aus welchem der Betrieb des Steuersignal-Erzeugungsschaltkreises
aus 12 ersichtlich ist.
-
Aus 1 ist
eine Pipeline-Vorrichtung ersichtlich, welche eine drei-stufige
Daten-Pipeline zwischen einem Eingangsanschluß (einer Speicherzelle 10)
und einem Ausgangsanschluß 50 aufweist.
Bei der beispielhaften Ausführungsform
ist die Pipeline in einem SDRAM ausgebildet und der Eingangsanschluß ist mit
einer Speicherzelle 10 verbunden und empfängt Datensignale
von dieser. Der Ausgangsanschluß stellt
ein Ausgangs-Datensignal bereit, nachdem dieses durch die Daten-Pipeline
verarbeitet worden ist. Die Pipeline-Register 22, 32 und 42 sind
an Eingangs-Bereichen der zugehörigen
Datenpfade oder Stufen 20, 30 bzw. 40 angeordnet.
Jeder Datenpfad 20, 30 oder 40 weist
logische oder Übertragungs-Leitungen
auf, entlang welcher ein eingehendes Datensignal von den zugehörigen Pipeline-Registern 22, 32 oder 42 verarbeitet
oder übertragen wird.
Wenn sich das Eingangs-Datensignal
verändert,
wird das Ausgangs-Datensignal von den Datenpfaden 20, 30 oder 40 nach
einer Übertragungszeit T1,
T2 oder T3, welche von der Logik in dem Datenpfad oder von der Länge der Übertragungsleitungen abhängt, gültig.
-
Die
Pipeline-Register 22, 32 und 42 weisen Eingangs-Latches 22a, 32a und 42a und
Ausgangs-Latches 22b, 32b und 42b auf.
Jedes Eingangs-Latch 22a, 32a und 42a weist
Invertierer INV1 bis INV3 und ein Übertragungsgatter TG1 auf.
Jedes Ausgangs-Latch 22b, 32b und 42b weist
Invertierer INV4 und INV5 und ein Übertragungsgatter TG2 auf.
-
Die
Pipeline-Register 22, 32 und 42 empfangen
entsprechende Pipeline-Steuersignale (auch als Taktsignale bezeichnet)
PCLK1, PCLK2 und PCLK3. Mit fallenden Flanken der entsprechenden
Taktsignale PCLK1, PCLK2 oder PCLK3 wird jedes Transfergatter TG1
eingeschaltet und jedes Transfergatter TG2 ausgeschaltet. Dementsprechend
tritt ein Datensignal von einer vorhergehenden Stufe oder der Speicherzelle 10 durch
das Transfergatter TG1 und wird durch den Inverter INV2 invertiert.
Jedoch erhalten die Inverter INV4 und INV5 ein zuvor zugeführtes Ausgangssignal
und führen
dieses dem entsprechenden Datenpfad 20, 30 oder 40 zu.
An steigenden Flanken des entsprechenden Taktsignals PCLK1, PCLK2
oder PCLK3 wird das Transfergatter TG1 ausgeschaltet und die Inverter
INV1 und INV3 erhalten den neuen Eingangsdatenwert und führen diesen dem
Transfergatter TG2 als invertiertes Datensignal zu, welches den
neuen Datenwert repräsentiert.
Das Transfergatter TG2 wird mit der steigenden Flanke des entsprechenden
Taktsignals eingeschaltet, so daß das Ausgangs-Latch 22b, 32b oder 42b das
Datensignal von dem Eingangs-Latch 22a, 32a oder 42a invertiert
und das neue Datensignal an den Datenpfad 20, 30 oder 40 ausgibt.
-
Aus 2 ist
der Zeitverlauf der Taktsignale PCLK1, PCLK2 und PCLK3 und der Ausgangsdatensignale
der Datenpfade 20, 30 und 40 ersichtlich,
falls die Übertragungszeiten
T1, T2 und T3 der entsprechenden Datenpfade 20, 30 und 40 alle
gleich sind (T = T1 = T2 = T3). In diesem Fall ist die Verzögerung der
Pipeline-Vorrichtung
(das heißt
die Zeit zwischen dem Datenausgang von der Speicherzelle 10 und den
ersten gültigen
Daten an dem Ausgangsanschluß 50)
3T.
-
Aus 3 ist
der Zeitverlauf der Taktsignale PCLK1, PCLK2 und PCLK3 und der Ausgangsdatensignale
der Datenpfade 20, 30 und 40 ersichtlich,
falls die Übertragungszeit
T1 länger
als die Übertragungszeiten
T2 und T3 ist (T1 > T2
= T3). In dem aus 3 ersichtlichen Beispiel ist
die Verzögerung
der Pipeline-Vorrichtung von den Pipeline-Steuersignalen abhängig. Mit
den Steuersignalen PCLK1, PCLK2 und PCLK3, welche in Phase sind,
beträgt
die Verzögerung
2T1 + T3. Insbesondere beginnt das Taktsignal PCLK2 mit einem Datenwert
durch den Datenpfad 30 nach einer Zeit T1, welche zum Übertragen
des Datenwerts auf dem Datenpfad 20 erforderlich ist. Das Taktsignal
PCLK3', welches
in Phase mit den Taktsignalen PCLK1 und PCLK2 ist, beginnt mit einem
Datenwert durch den Datenpfad 40, nach einer vollen Periode
P (gleich der Zeit T1) und der früheste Zeitpunkt, zu welchem
Daten gültig
an dem Ausgangsanschluß 50 vorliegen
ist eine Zeit T3 später.
Die Übertragungszeit
des Datenpfades 30 beträgt
T2, und ist kürzer
als die Periode P des Taktsignals, und die Daten sind an dem Eingangs-Latch
des Registers 42 vor der steigenden Flanke des dritten
Taktsignals PCLK3' gültig.
-
Das
Taktsignal PCLK3 weist eine Phase auf, welche einem Taktsignal PCL3' um eine Zeit x voreilt, um
ein Ausgangs-Latch nach der Zeit T2 freizugeben. Dementsprechend
ergibt sich die Verzögerung mit
den Taktsignalen PCLK1, PCLK2 und PCLK3', wie aus 3 ersichtlich,
der Pipeline-Vorrichtung zu T1 + T2 + T3, welches die Summe der Übertragungszeiten
der Datenpfade 20, 30 und 40 ist. Daher
verringert das Steuern des Pipeline-Registers 42 mit dem
Taktsignal PCLK3 die Verzögerung
der Pipeline-Vorrichtung.
-
Aus 4 ist
ein Schaltbild einer bevorzugten Ausführungsform des Steuersignal-Erzeugungsschaltkreises 60 aus 1 ersichtlich.
Wie aus 4 ersichtlich, weist der Steuersignal-Erzeugungsschaltkreis 60 einen
Verzögerungsschaltkreis 62,
einen ersten Impulsgenerator 64 und einen zweiten Impulsgenerator 66 auf.
Der Verzögerungsschaltkreis 62 weist
vier Inverter INVA auf, welche in Kaskade verschaltet sind. Jeder
Inverter INVA weist einen über
einen Pull-Up-Widerstand RPU mit einer Versorgungsspannung VCC verbundenen
Spannungseingang und einen Masseanschluß auf, welcher über einen Pull-Down-Widerstand
RPD mit einer Erdspannung VSS verbunden ist. Der Verzögerungsschaltkreis 62 weist
eine Verzögerungszeit
X auf.
-
Die
Impulsgeneratoren 64 und 66 sind im wesentlichen
identisch aufgebaut und sehen eine Verzögerungszeit da vor. Jeder der
Impulsgeneratoren 64 und 66 weist drei Inverter
INVB auf, welche in Kaskade verschaltet sind, und eine UND-Logik
mit einem NAND-Gatter NAND1 und einem Inverter INVC. In Reaktion
auf steigende Flanken entsprechend eingehender Signale erzeugen
die Impulsgeneratoren Signale mit Impulsen, deren Pulsbreite gleich
der Verzögerungszeit
der drei Inverter INVB ist, welche in Kaskade verschaltet sind.
-
Aus 5 ist
ein Zeitverlauf-Diagramm ersichtlich, aus welchem der Betieb des
Steuersignal-Erzeugungsschaltkreises 60 aus 4 ersichtlich
ist. Insbesondere empfängt
der Verzögerungsschaltkreis 62 ein
externes Referenz-Taktsignal EXTCLK und verzögert dieses um die Verzögerungszeit
X. Der Impulsgenerator 64 empfängt das verzögerte Referenz-Taktsignal
EXTCLK und erzeugt Impulse der Pipeline-Steuersignale PCLK1 und
PCLK2. Die Impulse sind synchron, jedoch um eine Zeit x + da relativ
zu der steigenden Flanke des Referenz-Taktsignals EXTCLK verzögert.
-
Der
Impulsgenerator 66 empfängt
das externe Referenz-Taktsignal EXTCLK und erzeugt das Pipeline-Steuersignal
PCLK3 aus dem Referenz-Taktsignal EXTCLK. Impulse des Taktsignals PCKL3
werden um eine Zeit da von der steigenden Flanke des Referenz-Taktsignals EXTCLK
verzögert. Dementsprechend
eilt die Phase des Pipeline-Steuersignals PCLK3 den Pipeline-Steuersignalen PCLK1
und PCLK2 um die Verzögerungszeit
X vor, da das Steuersignal PCLK3 nicht durch den Verzögerungsschaltkreis 62 geleitet
wird. (Alternativ hierzu können
die Pipeline-Steuersignale
PCLK1 und PCLK2 dem Steuersignal PCLK3 um die Zeit P-X voreilen,
wobei die Periode P des Referenz-Taktsignals EXT im wesentlichen
gleich der längsten Übertragungszeit
T1 ist).
-
Für den Betrieb
der Pipeline-Vorrichtung nach den Zeitverläufen aus den 3 und 5 muß die Zeit
P-X mindestens die Zeit T2 sein. Jedoch sind die Verzögerungen
X und da Variationen aufgrund von Unterschieden in der Betriebsspannung, der
Versorgungsspannung und dem Aufbau der Generatoren 64 und 66 unterworfen.
Insbesondere ist die in der Verzögerung
X vorgesehene Grenze, welche sicherstellt, daß P-X mindestens so lang wie
die Übertragungszeit
T2 ist, Unterschieden zwischen den Impulsgeneratoren 64 und 66 ausgesetzt.
Daher erhöht
die erforderliche Grenze der Verzögerungszeit X die Verzögerung der
Pipeline-Vorrichtung.
-
Aus 6 ist
ein Schaltbild einer anderen bevorzugten Ausführungsform des Steuersignal-Erzeugungsschaltkreises
ersichtlich. Die aus 6 ersichtliche Ausführungsform
weist einen ersten Impulserzeugungsschaltkreis 72 und einen
zweiten Impulserzeugungsschaltkreis 74 auf.
-
Der
erste Impulserzeugungsschaltkreis 72 ist ein Impulsgenerator,
welcher das externe Taktsignal EXTCLK empfängt und das Taktsignal PCLK3 aus 7 erzeugt.
Wie aus 7 ersichtlich, weist das Taktsignal
PCLK3 von dem Impulserzeugungsschaltkreis 72 Pulse mit
einer vorbestimmten Pulsbreite auf, welche synchronisiert, jedoch
um eine Zeit da relativ zu der steigenden Flanke des Bezug-Taktsignals
EXTCLK verzögert
sind.
-
Der
zweite Impulserzeugungsschaltkreis 74 weist einen Verzögerungsschaltkreis 74a und
einen Impulsgenerator 74b auf. Der Verzögerungsschaltkreis 74a empfängt das
Taktsignal PCLK3 und verzögert
das Signal PCLK3 um eine Verzögerungszeit
X – da,
wobei da die Verzögerungszeit
des Impulsgenerators 74b ist. Der Impulsgenerator 74b erzeugt
die Taktsignale PCLK1 und PCLK2 aus 7, welche Impulse
aufweisen, die mit den steigenden Flanken von Impulsen des verzögerten Taktsignals
PCLK3 synchron, jedoch um die Zeit X relativ zu diesen steigenden
Flanken verzögert
sind. Dementsprechend eilt das Taktsignal PCLK3 den Taktsignalen
PCLK1 und PCLK2 um die Verzögerungszeit
X voraus. Alternativ hierzu können
auch die Taktsignale PCLK1 und PCLK2 dem Taktsignal PCLK3 um die
Zeit P-X vorauseilen.
-
Nach
einem Aspekt der Erfindung ist die Zeit P-X, welche für die Übertragung
der Daten über
den Datenpfad 30 zur Verfügung steht, unabhänig von Unterschieden
zwischen den Impulsgeneratoren 72 und 74b. Daher
kann die Grenze, welche bei der Verzögerung X zum Berücksichtigen
von Unterschieden in Temperatur, Versorgungsspannung und Struktur vorgesehen
ist, reduziert werden. Daher kann die Verzögerung X maximiert werden,
so daß die
Zeit P-X die kürzeste
Zeit für
die Ausgabe der frühest möglichen
gültigen
Daten an den Ausgangsanschluß 50 ist.
-
Durch
das oben beschriebene wird eine drei-Stufen Pipeline-Vorrichtung beschrieben.
Die Ausführungsformen
der Erfindung sind jedoch nicht auf die dreistufigen Vorrichtungen
beschränkt.
Nach einer bevorzugten Ausführungsform
der Erfindung weist eine n-stufige Steuersignal-Erzeugungsschaltkreis eine (n)-te Stufe
und eine Mehrzahl von Stufen, welche von der (n)-ten Stufe kaskadiert
absteigend an diese angeschlossen sind. Die (n)-te Stufe weist einen
Impulsgenerator auf, welcher das Referenz-Taktsignal empfängt und
ein (n)-tes Pipeline-Steuersignal erzeugt, welches um eine Verzögerungszeit
dn relativ zu dem Referenz-Taktsignal verzögert ist. Jede der anderen
Stufen weist einen Verzögerungsschaltkreis
und einen Impulsgenerator auf. Die (i-1)-te Stufe empfängt das (i)-te Pipeline-Steuersignal
von der (i)-ten Stufe und erzeugt das (i – 1)-te Pipeline-Steuersignal
durch Verzögern
des (i)-ten Steuersignals.
-
Die
Verzögerungszeit
d1 läßt sich
durch folgende Formel beschreiben:
-
Wobei
dn die Verzögerungszeit
des Referenz-Taktsignals des (n)-ten Pipeline-Steuersignals ist,
P die Periode des Referenz-Taktsignals
ist und T1 die Übertragungszeiten
der n Stufen der Pipeline-Vorrichtung sind.
-
Aus 8 ist
eine andere bevorzugte Ausführungsform
einer Pipeline-Vorrichtung mit einem Datenpfad ersichtlich, welcher
in drei Stufen zwischen einem Eingangsanschluß und einem Ausgangsanschluß 150 unterteilt
ist. Die Datenpipeline wird beispielsweise bei einem SDRAM verwendet und
eine Speicherzelle 110 legt ein Datensignal an den Eingangsanschluß an, wenn
sie gelesen wird. Die Datenpfade 120, 130 und 140 weisen Übertragungszeiten
T1, T2 und T3 auf, welche voneinander unterschiedlich sind. Die
Pipeline-Register 122, 132 und 142 sind
an Eingangsbereichen der Datenpfade 120, 130 bzw. 140 angeordnet.
Bei der Ausführungsform
nach 8 sind die Pipeline-Register 122, 132 und 142 als
Latches ausgebildet.
-
Jedes
der Latches weist Inverter INV1 bis INV3 und ein Übertragungsgatter
TG1 auf.
-
Die
Pipeline-Register 122, 132 und 142 empfangen
entsprechende Pipeline-Steuersignale PCLK1, PCLK2 und PCLK3 von
dem Steuersignalgeneratorschaltkreis 160.
-
Wie
aus 9 ersichtlich, wird ein Transfergatter TG1 in
dem ersten Pipelineregister 122 durch eine erste steigende
Flanke des Taktsignals PCLK1 eingeschaltet und das erste Pipeline-Register 122 ist transparent,
während
das Taktsignal PCLK1 in dem logischen High-Zustand verbleibt. Bei
der fallenden Flanke des Taktsignals PCLK1 schaltet das Transfergatter
TG1 aus und das erste Pipeline-Register 122 hält einen
Datenwert D1 und führt
diesen zu. Der erste Datenpfad 120 überträgt den Datenwert D1, welcher
für den
nächsten
Zustand 130 nach der Übertragungszeit
T1 gültig
wird. Das zweite Pipeline-Register 132 schaltet ein Transfergatter
TG1 bei einer steigenden Flanke des Taktsignals PCLK2 ein, bevor
der Datenwert D1 von der vorhergehenden Stufe gültig ist. Das zweite Pipeline-Register 132 überträgt den gültigen Datenwert
D1 und führt
diesen nach einer Zeit T1 zu, wenn eine fallende Flanke des Taktsignals PCLK2
das Übertragungsgatter
TG2 in dem zweiten Pipeline-Register 132 ausschaltet.
Eine steigende Flanke des Taktsignals PCLK3 schaltet das Transfergatter
TG1 in dem dritten Pipeline-Register 142 mindestens
eine Zeit T2 nach der steigenden Flanke des Taktsignals PCLK2 ein.
Die Zeit zwischen den steigenden Flanken des Taktsignals PCLK3 und
der vorgehenden steigenden Flanke des Taktsignals PCLK2 ist um jene
Zeitdauer, welche die steigende Flanke des Taktsignals PCLK2 dem
Ende der ersten Übertragungszeit
T1 vorauseilt, größer als
T2. Daher ist der Datenwert D1 von dem Datenpfad 130 bei
der steigenden Flanke des Taktsignals PCLK3 gültig. Eine fallende Flanke
des Taktsignals PCLK3 schaltet das Übertragungsgatter TG1 in dem
dritten Pipeline-Register 142 aus, so daß das dritte
Pipeline-Register
den gültigen
Datenwert hält
und diesen zuführt. Das
Datensignal von dem Datenpfad 140 wird nach der Übertragungszeit
T3 gültig.
-
Die
gesamte Übertragungszeit
beträgt
T1 + T2 + T3. Dementsprechend können
Daten innerhalb der kürzest
möglichsten
Zeit durch Steuern des ersten bis dritten Pipeline-Registers 122, 132 und 142 mit
den Taktsignalen PCLK1, PCLK2 und PCLK3 mit voneinander unterschiedlicher
Phase ausgegeben werden.
-
Aus 10 ist
eine Ausführungsform
des Steuersignal-Erzeugungsschaltkreises 160 ersichtlich,
welcher einen Verzögerungsschaltkreis 162,
einen ersten Impulsgenerator 164, einen Verzögerungsschaltkreis 166,
einen zweiten Impulsgenerator 168 und einen dritten Impulsgenerator 170 aufweist.
-
Der
Verzögerungsschaltkreis 162 weist
vier Inverter INVA auf, welche kaskadiert verschaltet sind. Jeder
Inverter INVA weist einen Versorgungsspannungsanschluß, welcher über einen
Pull-Up-Widerstand
RPU an eine Versorgungsspannung angeschlossen ist, und einen Masseanschluß auf, welcher über einen
Pull-Down-Widerstand
RPD an eine Erdspannung angeschlossen ist. Der Verzögerungsschaltkreis 162 weist
eine Verzögerungszeit
X + Y auf. Der Verzögerungsschaltkreis 166 weist
zwei Inverter INVD auf, welche dieselbe Konfiguration, wie die Inverter
INVA des Verzögerungsschaltkreises 162 aufweisen.
Der Verzögerungsschaltkreis 166 weist eine
Verzögerungszeit
X auf.
-
Jeder
der Impulsgeneratoren 164, 168 und 170 weist
drei Inverter INVB auf, welche in Kaskade verschaltet sind und eine
UND-Logik, welche ein NAND-Gatter und einen Inverter INVC aufweist.
Jeder der Impulsgeneratoren 164, 168 und 170 weist dieselbe
Verzögerungszeit
da auf. In Reaktion auf eine steigende Flanke eines zugehörigen Eingangssignals
erzeugt jeder Impulsgenerator 164, 168 oder 170 einen
Impuls oder einen aktiven Bereich in dem zugehörigen Taktsignal PCLK1, PCLK2
oder PCLK3 mit einer Pulsbreite gleich einer Verzögerungszeit der
drei Inverter INVB, welche in Kaskade verschaltet sind.
-
Das
Taktsignal PCLK2 eilt dem Taktsignal PCLK1 um die Zeit Y voraus
und das Taktsignal PCLK3 eilt dem Taktsignal PCLK2 um die Zeit X
voraus.
-
Wie
aus 11 ersichtlich verzögert der Verzögerungsschaltkreis 162 das
eingegebene externe Taktsignal, welches das Referenz-Taktsignal EXTCLK
ist, um ein Zeit X + Y und legt dann das verzögerte Referenz-Taktsignal an
den Impulsgenerator 164 an. Der Impulsgenerator 164 erzeugt
einen Impuls in dem Taktsignal PCLK1 nach einer weiteren Verzögerung um
da synchron mit einer steigenden Flanke des Signals des Verzögerungsschaltkreis 162.
Daher sind steigende Flanken des Taktsignals PCLK1 um x + y + da
bezogen auf die steigenden Flanken des Referenz-Taktsignals EXTCLK
verzögert.
-
Der
Verzögerungsschaltkreis 166 verzögert ein
eingegebenes externes Taktsignal, welches das Referenz-Taktsignal
EXTCLK ist, um eine Zeit x und legt das verzögerte Referenz-Taktsignal an
den Impulsgenerator 164 an. Der Impulsgenerator 164 erzeugt
eine steigende Flanke des Taktsignals PCLK2, welches um eine Zeit
da relativ zu einer steigenden Flanke des Referenz-Taktsignals EXTCLK
weiter verzögert
ist. Daher weist das Taktsignal PCLK2 steigende Flanken auf, welche
um die Zeit x + da relativ zu den steigenden Flanken des eingegebenene
Impulssignals verzögert
sind.
-
Der
Impulsgenerator 170 erzeugt steigende Flanken des Taktsignals
PCLK3, welche um die Zeit da relativ zu den steigenden Flanken des
eingegebenene externen Taktsignals EXTCLK verzögert sind.
-
Dementsprechend
erzeugt der Steuersignal-Erzeugungsschaltkreis 160 jedes
Steuersignal, das heißt
die Taktsignale PCLK1, PCLK2 und PCLK3, direkt von einem externen
Taktsignal EXTCLK.
-
Dementsprechend
sind die zeitlichen Beziehungen der Taktsignale PCLK1, PCLK2 und
PCLK3 zueinander unabhängig
voneinander und Variationen aufgrund von Unterschieden der Elemente 162, 164, 166, 168,
und 167 unterworfen. Die unterschiedlichen Beziehungen
hinsichtlich der Zeitverläufe
erfordern große
Grenzen, welche Veränderungen
in Temperatur und Versorgungsspannung berücksichtigen. Die erforderlichen
Grenzen verursachen eine Verzögerung
der gesamten Übertragungszeit.
Dies verzögert
die Ausgabezeit der Daten.
-
Aus 12 ist
eine bevorzugte Ausführungsform
des Steuersignal-Erzeugungsschaltkreises 160 ersichtlich,
welche Impulserzeugungsschaltkreise 172, 174 und 176 aufweisen.
Aus 13 sind die dazugehörigen Zeitverläufe der
Taktsignale PCLK1, PCLK2 und PCLK3 ersichtlich, welche von dem Steuersignal-Erzeugungsschaltkreis 160 aus 12 ausgegeben
werden.
-
Wie
aus 12 ersichtlich weist jeder der Impuls-Erzeugungsschaltkreise 172, 174 und 176 drei
Inverter INV auf, welche in Kaskade verschaltet sind, und eine UND-Logik,
welche ein NAND-Gatter und einen Inverter INV aufweist. Jeder der
Erzeugungsschaltkreise 172, 174 und 176 sieht
eine identische Verzögerungszeit
da vor. Der Impulserzeugungsschaltkreis 172 weist eine
Pulsbreite w1 auf. Der Impulserzeugungsschaltkreis 174 weist
eine Pulsbreite w2 auf. Die Pulsbreiten w1 und w2 sind abhängig von
den Verzögerungen
der entsprechenden Sätze
mit jeweils drei Invertern, welche in Kaskade miteinander verschaltet
sind.
-
Ein
Inverter 173 ist zwischen den Impulserzeugungsschaltkreis 172 und
den Impulserzeugungsschaltkreis 174 geschaltet. Ein Inverter 175 ist zwischen
den Impulserzeugungsschaltkreis 174 und den Impulserzeugungsschaltkreis 176 geschaltet.
-
Der
Impulserzeugungsschaltkreis 172 empfängt ein externes Taktsignal
EXTCLK und erzeugt ein Taktsignal PCLK3, welches aktive Bereiche
mit den Pulsbreiten w1 aufweist und um die Zeit da relativ zu dem
externen Taktsignal verzögert
ist. Das Taktsignal PCLK3 ist um eine Zeit d3 verzögert, welche
da relativ zu dem externen Taktsignal EXTCLK entspricht.
-
Der
Impulserzeugungsschaltkreis 174 empfängt von dem Inverter 173 eine
invertierte Version des Taktsignals PCLK3 und erzeugt ein Taktsignal PCLK2.
Der Impulserzeugungsschaltkreis 174 verzögert aktive
Bereiche des Taktsignals PCLK2 relativ zu den aktiven Bereichen
des Taktsignals PCLK3. Insbesondere ist jede steigende Flanke des
Taktsignals PCLK2 mit einer fallenden Flanke des Taktsignals PCLK3
synchronisiert, jedoch um die Zeitdauer da relativ zu dieser verzögert. Daher
ist das Taktsignal PCLK2 um eine Zeit X (oder w1 + da) relativ zu
dem Taktsignal PCLK3 verzögert.
Die Verzögerungszeit d2
des Taktsignal PCLK2 relativ zu dem Referenz-Taktsignal EXTCLK ist
gleich 2da + w1.
-
Der
Impulserzeugungsschaltkreis 176 empfängt von dem Inverter 175 eine
invertierte Version des Taktsignals PCLK2 und erzeugt das Taktsignal PCLK1.
Aktive Bereiche des Taktsignals PCLK1 werden relativ zu den aktiven
Bereichen des Taktsignals PCLK2 verzögert. Insbesondere wird jede
steigende Flande des Taktsignals PCLK1 relativ zu einer fallenden
Flanke des Taktsignals PCLK2 synchronisiert, jedoch um die Zeitdauer
da verzögert.
Daher ist das Taktsignal PCLK1 um die Zeitdauer Y (oder w2 + da) relativ
zu dem Taktsignal PCLK2 verzögert.
Das Taktsignal PCLK1 ist relativ zu dem Taktsignal PCLK3 um die
Zeitdauer X + Y (oder w1 + w2 + 2·da) verzögert. Die Verzögerung d1
des Taktsignals PCLK1 relativ zu dem Referenz-Taktsignal EXTCLK
ist gleich 2da + w1 + w2.
-
Der
aus 12 ersichtliche Steuersignal-Erzeugungsschaltkreis 160 erzeugt
das Signal PCLK2 aus dem Signal PCLK3 und das Signal PCLK1 aus dem
Signal aus dem PCLK2. Daher gleichen die Signale PCLK1 und PCLK2
automatisch Unterschiede im Signal PCLK3 aus, welche aufgrund von
Schwankungen in Temperatur oder Versorgungsspannung verursacht werden
könnten. Ähnlich hierzu
gleicht das Signal PCLK1 automatisch Unterschiede im Signal PCLK2
aus. Bei der letztgenannten bevorzugten Ausführungsform der Erfindung kann
durch Erzeugen von Pipeline-Steuersignalen in Kaskade die Verzögerung X
und Y maximiert werden. Die Schaltkreiskonfiguration kann durch
Einstellen eines Phasenwinkels unter Berücksichtigung einer Verzögerungszeit eines
Verzögerungsschaltkreises
vereinfacht werden.
-
Wie
oben beschrieben erzeugt eine Mehrfach-Stufen-Pipeline-Vorrichtung Pipeline-Steuersignale
aus dem Referenz-Taktsignal in jeder Stufe in einer absteigenden
Reihenfolge in Kaskade, so daß der
Phasenwinkel jeder Stufe maximiert sein kann. Dies ermöglicht,
daß die
frühesten
Daten innerhalb der kürzesten
der Zeit ausgegeben werden können. Dementsprechend
kann eine Speichervorrichtung, welche die Erfindung verwendet, mit
hoher Geschwindigkeit betrieben werden.