-
Die
vorliegende Erfindung betrifft Logikschaltungen wie sequentielle
Logikschaltungen und insbesondere eine neuartige Schaltung und ein
Verfahren zum Takten einer Logikschaltung.
-
Hintergrund
der Erfindung
-
Ein
herausragendes Merkmal von sequentiellen Logikschaltungen ist der
Speicher. Der Ausgang einer sequentiellen Logikschaltung hängt nicht nur
von den aktuellen Werten der angelegten Eingangssignale, sondern
auch vom vergangenen Schaltungszustand ab, beispielsweise der Sequenz zuvor
angelegter Eingangssignale.
-
Sequentielle
Logikschaltungen können
asynchron oder synchron sein. Asynchrone sequentielle Logikschaltungen
reagieren unmittelbar auf Veränderungen
in Eingangssignalen und geben veränderte Ausgangssignale ab.
Ungleiche Ausbreitungsverzögerungen
in asynchronen Schaltungen können
jedoch zu Gefahren und Wettlaufbedingungen führen.
-
Um
diese Schwierigkeiten in asynchronen Schaltungen zu überwinden,
werden synchrone Schaltungen verwendet, die in Reaktion auf regelmäßige Taktimpulse
in Registern zwischengespeichert werden. Die Geschwindigkeit synchroner
Schaltungen ist jedoch durch die Periode der Taktzyklen begrenzt,
welche von den Ausbreitungsverzögerungen von
Logikblöcken
und Registern anhängen.
-
1 zeigt beispielsweise eine
synchrone Schaltung mit zwei Blöcken
kombinatorischer Logik: einem ersten Logikblock 302 zum
Berechnen einer Funktion "F" basierend auf "N" Eingängen I1–IN und einem zweiten Logikblock 306 zum
Berechnen einer Funktion "G" basierend auf "M" Eingängen F1–FM. Die Schaltung weist ferner drei Register 300, 304 und 308 zum
Zwischenspeichern von Bits zu Beginn jedes Taktzyklus auf.
-
Wenn "N" Bits im Register 300 zu Beginn
eines Taktzyklus zwischengespeichert werde, werden sie nach einer
gewissen Ausbreitungsverzögerung für das Register 300 als
Eingänge
I1–IN an den ersten Logikblock 302 angelegt.
Der erste Logikblock 300 berechnet die Funktion "F" anhand der Eingangsbits und erzeugt
daraus "M" Bits des Ausgangs
F1–FM. Diese Ausgangsbits F1–FM werden an ein Register 304 angelegt,
welches diese Bits in Reaktion auf das Taktsignal zum nächsten Taktzyklus
zwischenspeichert.
-
Nachdem
die Bits F1–FM durch
das Register 304 zwischengespeichert sind, werden sie an
den zweiten Logikblock 306 angelegt. In Reaktion darauf berechnet
der zweite Logikblock 306 die Funktion "G" basierend
auf den Bits F1–FM und
erzeugt daraus "L" Bits des Ausgangs
G1–GL. Diese Ausgangsbits G1–GL werden an das Register 306 angelegt
und in Reaktion auf das Taktsignal im nächsten Taktzyklus gespeichert.
Somit erfordert die Berechnung der Funktionen "F" und "G" zwei Taktzyklen.
-
Da
die herkömmliche
Praxis dazu neigt, ein gemeinsames Taktsignal in einer digitalen
Schaltung zu verwenden, ist die Taktperiode langsamer eingestellt,
als der langsamste Logikblock. Da die meisten Funktionen in der
Schaltung schneller als der langsamste Logikblock sind, geht viel
Zeit für
das Warten der digitalen Schaltung auf das gemeinsame Taktsignal
verloren.
-
Es
sei zum Beispiel angenommen, daß die Register 300, 304 und 308 eine
Ausbreitungsverzögerung
von 7 ns haben, der erste Logikblock 302 eine Ausbreitungsverzögerung von
21 ns und der zweite Logikblock 306 eine Ausbreitungsverzögerung von 28
ns hat. Die Berechnung im ersten Taktzyklus erfordert mindestens
28 ns (7 ns für
das Speichern im Register 300 + 21 ns für den ersten Logikblock 302).
Die Berechnung im zweiten Taktzyklus erfordert andererseits wenigstens
35 ns, bevor die Daten zum Speichern durch das Register 308 bereit
sind (7 ns für
das Register 304 + 28 ns für den zweiten Logikblock 306). Da
die Register 300, 304 und 308 sich ein
gemeinsames Taktsignal teilen, ist die Taktperiode auf 35 ns eingestellt.
Somit beträgt
die Gesamtzeit für
die beiden Berechnungen, d. h. zwei Taktzyklen, 70 ns. Jedoch vergingen
7 ns der ersten Taktperiode von 35 ns mit dem Warten auf den nächsten Taktzyklus.
Deshalb werden digitale Funktionen herkömmlicherweise mit der Geschwindigkeit
des gemeinsamen Takts kaskadiert, was langsamer als das Kaskadieren
mit der Geschwindigkeit der meisten Funktionen selbst ist.
-
Vor
dem Offenbaren der vorliegenden Erfindung werden die folgenden vier
Dokumente als Stand der Technik gewürdigt. US-A-5 229 668 offenbart
ein Verfahren und eine Vorrichtung für eine Hochgeschwindigkeitsabtastung
eines Datensignals. US-A-5 033 066 offenbart eine Zeitverzögerungsschaltung
zum Schaffen einer verzögerten
Replik eines digitalen Eingangssignals. GB-A-2 310 738 offenbart
eine dynamische Logikpipeline, in der jede Stufe eine Logikschaltung,
eine Halteschaltung und eine Steuerschaltung aufweist. US-A-5 565
798 offenbart eine selbst-getaktete Steuerschaltung für selbst-rücksetzende
Logikschaltungen.
-
Offenbarung
der Erfindung
-
Es
besteht der Bedarf, die Geschwindigkeit sequentieller Schaltungen
zu verbessern. Es besteht ferner der Bedarf, eine Schaltung und
ein Verfahren zum Takten von Registern in einer sequentiellen Schaltung
mit der Geschwindigkeit logischer Funktionen zu schaffen.
-
Es
wird das Takten von Logikschaltungen unter Verwendung selbst-zeitgesteuerter
Verzögerungsleitungsverfahren
beschrieben. Insbesondere ist jeder Eingang eines Logikblocks oder
einer Logikschaltung mit einem Gültigkeitssignal
verbunden. Das Gültigkeitssignal
wird von einer Verzögerungsleitung
für mindestens
die, jedoch vorzugsweise innerhalb 140 ns der, Ausbreitungsverzögerung des Logikblocks
verzögert.
Das verzögerte
Gültigkeitssignal
kann zum Zwischenspeichern eines vom Logikblock in Reaktion auf
die Eingänge
erzeugten Ausgangssignals verwendet werden.
-
Ein
Aspekt der Erfindung betrifft daher eine sequentielle Logikschaltung
mit:
einer Logikschaltung, die auf ein Eingangssignal zum Berechnen
einer Funktion aus diesem und zum Erzeugen eines Ausgangssignals
nach einer Ausbreitungsverzögerung
reagiert, wobei das Eingangssignal mehrere Eingangsbits aufweist;
und
einem Register zum Halten des Ausgangssignals;
dadurch
gekennzeichnet, daß die
sequentielle Logikschaltung selbst-getaktet ist, indem sie ferner
aufweist:
eine auf ein erstes Signal reagierende Verzögerungsleitung
zum Erzeugen eines ersten verzögerten
Signals nach einem Zeitraum, der wenigstens so lang wie die Ausbreitungsverzögerung ist,
wobei das erste Signal die gleiche Anzahl von Bits wie das Eingangssignal
aufweist, wobei jedes Bit des ersten Signals jeweils einem Bit des
Eingangssignals entspricht und einen gemeinsamen spezifizierten
Bitwert aufweist, wenn das entsprechende Bit des Eingangssignals zuerst
von der sequentiellen Logikschaltung empfangen wird, wobei die Verzögerungsleitung
eine Schaltung zum Berechnen eines logischen Produkts aus den mehreren
Bits des ersten Signals aufweist und derart ausgebildet ist, daß sie das
erste verzögerte Signal
nach einem Zeitraum erzeugt, der wenigstens so lang wie die Ausbreitungsverzögerung ist,
wenn sämtliche
der mehreren Bits des ersten Signals den gemeinsamen spezifizierten
Bitwert aufweisen, und wobei das Register das Ausgangssignal in
Reaktion auf das erste verzögerte
Signal hält.
-
Ein
anderer Aspekt der Erfindung schafft ein Verfahren zum Halten eines
Ausgangssignals, das durch eine Logikschaltung in Reaktion auf ein
Eingangssignal nach einer Verzögerung
erzeugt wird, wobei das Eingangssignal mehrere Eingangsbits aufweist,
wobei das Verfahren ferner die folgenden Schritte umfaßt:
Liefern
eines ersten Signals mit der gleichen Anzahl von Bits wie das Eingangssignal,
wobei jedes Bit des ersten Signals jeweils einem Bit des Eingangssignals entspricht
und einen gemeinsamen spezifizierten Bitwert aufweist, wenn das
entsprechende Bit des Eingangssignals zuerst von der sequentiellen
Logikschaltung empfangen wird;
Berechnen eines logischen Produkts
aus den mehreren Bits des ersten Signals und Ausgeben des zweiten
verzögerten
Signals, wenn sämtliche
der mehreren Bits des ersten Signals den gemeinsamen spezifizierten
Bitwert aufweisen;
Verzögern
des zweiten Signals für
einen Zeitraum, der wenigstens so lang wie die Verzögerung ist;
und
Halten des Ausgangssignals in Reaktion auf das verzögerte Signal.
-
Kurzbeschreibung
der Zeichnungen
-
Die
vorliegende Erfindung ist anhand von Beispielen und nicht einschränkend in
den Figuren der zugehörigen
Zeichnungen dargestellt, in denen Elemente mit den gleichen Bezugszeichen
stets gleich Elemente darstellen, und welche zeigen:
-
1 ein Hochlevel-Blockdiagramm
einer selbstgetakteten Logikschaltung nach einem Ausführungsbeispiel
der Erfindung;
-
2(a) ein Blockdiagramm der
Verzögerungsleitung,
die zum Implementieren der in 1 dargestellten
Schaltung verwendet wird;
-
2(b) und (c) Schaltungsdiagramme
einer nicht invertierenden Verzögerungsstufe
und einer invertierenden Verzögerungsstufe,
die zum Implementieren einer in 2(a) dargestellten
Verzögerungsstufe
verwendbar sind;
-
3 ein Hochlevel-Blockdiagramm
einer herkömmlich
getakteten Schaltung.
-
Beste Art
der Ausführung
der Erfindung
-
Eine
Schaltung und ein Verfahren zum Takten einer sequentiellen Schaltung
werden beschrieben. In der folgenden Beschreibung sind zahlreiche spezifische
Details beschrieben, um ein gründliches Verständnis der
vorliegenden Erfindung zu schaffen. Es ist jedoch ersichtlich, daß die vorliegende
Erfindung ohne diese spezifischen Details ausführbar ist. In anderen Fällen sind
bekannte Strukturen und Vorrichtungen als Blockdiagramm dargestellt,
um ein unnötiges
Verkomplizieren der Erfindung zu vermeiden.
-
Selbst-getaktete Logik
-
Nach
einem Ausführungsbeispiel
der vorliegenden Erfindung stellt 1 eine
selbst-getaktete Schaltung entsprechend der in 3 dargestellten herkömmlichen sequentiellen Schaltung
dar. Insbesondere entsprechen die Logikblöcke 102 und 106 der 1 den Logikblöcke 302 und 306 der 3. Die Register 100, 104 und 108 der 1 entsprechen den Registern 300, 304 und 308 der 3.
-
Der
erste Logikblock 102 berechnet die Funktion "F" basierend auf "N" Eingängen I1–IN und der zweite Logikblock 106 berechnet
die Funktion "G" basierend auf "M" Eingängen F1–FM. die drei Register 100, 104 und 108 speichern
daran angelegte Bits in Reaktion auf die von der selbst-getakteten
Schaltung, die Verzögerungsleitungen 110–118 und
das Gatter 120 aufweist, erzeugten Signale.
-
Jedem
Bit des Eingangssignals I1–IN ist ein entsprechendes Gültigkeitsbit
VI1–VIN zugeordnet, das bestätigt wird, wenn das zugeordnete
Eingangsbit I1–IN gültig ist.
Die Gültigkeitsbits
VI1–VIN können asynchron
oder synchron erzeugt werden, wenn das Eingangssignal I1–IN zuerst von einer anderen Schaltung, beispielsweise
einer Off-Chip-Schaltung, empfangen wird. Beispielsweise werden
einige Eingangssignale an eine integrierte Schaltung mit einem Strobe übermittelt,
das angibt, daß die
Eingänge
bereit sind. In dieser Situation wird das zugeordnete Gültigkeitssignal
aus dem Strobe abgeleitet. In einem anderen Beispiel sind die Eingangssignale
in jedem Zyklus eines extern zugeführten Taktsignals gültig, wobei
das zugehörige
Gültigkeitssignal
aus dem Taktsignal abgeleitet wird. Gültigkeitssignale, die durch
interne, d. h. On-Chip-Logikblöcke
erzeugten Signalen zugeordnet sind, werden aus der selbst-getakteten Schaltung
für jeden
internen Logikblock abgeleitet.
-
Für die mehreren
Gültigkeitsbits
VI1–VIN weist die selbst-getaktete Schaltung ein
Gatter 120 auf, das feststellt, wann sämtliche Eingangsbits I1–IN für
das entsprechende Register 100 gültig sind, d. h. wann sämtliche
Gültigkeitsbits
VI1–VIN bestätigt
wurden. Das Gatter 120 kann jede Schaltung sein, die ein
logisches Produkt berechnet, beispielsweise ein UND-Gatter in positiver
Logik oder ein NOR-Gatter
in negativer Logik.
-
Der
Ausgang des Gatters 120 ist mit dem "TAKT" Eingang
des Registers 100 verbunden, so daß, wenn sämtliche Gültigkeitsbits VI1–VIN bestätigt wurden,
das resultierende konsolidierte Eingangsgültigkeit VI bewirkt, daß das Register 100 die
Eingangsbits I1–IN zwischenspeichert.
Die Eingangsbits I1–IN werden
somit nur zwischengespeichert, wenn sämtliche Eingangsbits I1–IN gültig
sind. Darüber
hinaus ist der Ausgang des Gatters 120 mit einer Verzögerungsleitung 110 verbunden,
die wie im folgenden näher
beschrieben implementiert sein kann.
-
Wenn "N" Bits im Register 100 in Reaktion auf
das Eingangsgültigkeitssignal
VI gehalten werden, werden sie als Eingänge I1–IN an den ersten Logikblock 102 nach
einer gewissen Ausbreitungsverzögerung
für das
Register 100 angelegt. Das Eingangsgültigkeitssignal VI wird von
der Verzögerungsleitung 110 verzögert, welche
das Eingangsgültigkeitssignal
VI für
einen Zeitraum verzögert,
der wenigstens so lang wie die Ausbreitungsverzögerung des Registers 100 ist.
Wenn beispielsweise das Register 100 eine Ausbreitungsverzögerung von
7 ns hat, verzögert
die Verzögerungsleitung 110 das
Eingangsgültigkeitssignal
VI um wenigstens 7 ns, um ein verzögertes Eingangsgültigkeitssignal
VI' zu erzeugen.
-
Der
erste Logikblock 102 berechnet die Funktion "F" der Eingangsbits und erzeugt daraus "M" Bits des Ausgangs F1–FM nach einer gewissen Ausbreitungsverzögerung.
Währenddessen
wird das entsprechende verzögerte
Eingangsgültigkeitssignal VI' für die Eingangsbits
I1–IN durch die Verzögerungsleitung 112 verzögert, welche
das Eingangsverzögerungssignal
VI' für einen
Zeitraum verzögert,
der wenigstens so lang ist wie die Ausbreitungsverzögerung des
ersten Logikblocks 102. Der Ausgang der Verzögerungsleitung 112 wird
somit bestätigt,
wenn die Ausgänge
des entsprechenden ersten Logikblocks 102 gültig werden.
Anders ausgedrückt:
der Ausgang der Verzögerungsleitung 112 ist
ein Gültigkeitssignal VF
für den
ersten Logikblock 102. wenn beispielsweise der erste Logikblock 102 eine
Ausbreitungsverzögerung
von 21 ns hat, verzögert
die Verzögerungsleitung 112 das
verzögerte
Eingangsgültigkeitssignal VI' um wenigstens 21
ns, um das erste Blockgültigkeitssignal
VF zu erzeugen.
-
Da
das erste Blockgültigkeitssignal
VF durch die Verzögerungsleitung 112 erzeugt
wird, wenn die Bits F1–FM gültig sind,
wird das erste Blockgültigkeitssignal
VF verwendet, um die Bits F1–FM im Register 104 zu speichern.
Nachdem die Bits F1– FM im
Register 104 gespeichert sind, werden sie nach einer Ausbreitungsverzögerung an
den zweiten Logikblock 106 angelegt. Das erste Blockgültigkeitssignal
VF wird durch eine Verzögerungsleitung 114 verzögert, welche
das erste Blockgültigkeitssignal
VF für
einen Zeitraum verzögert,
der mindestens so lang wie die Ausbreitungsverzögerung für das Register 104 ist. Wenn
beispielsweise das Register 104 eine Ausbreitungsverzögerung von
7 ns hat, verzögert
die Verzögerungsleitung 114 das
erste Blockverzögerungssignal
VF über
wenigstens 7 ns, um das erste Blockgültigkeitssignal VF' zu erzeugen.
-
Der
zweite Logikblock 106 berechnet die Funktion "G" basierend auf den daran angelegten Bits
F1–FM und erzeugt daraus "L" Ausgangsbits G1–GL nach einer Ausbreitungsverzögerung.
Das entsprechende verzögerte
erste Blockgültigkeitssignal
VF' für die Bits
F1–FM wird durch die Verzögerungsleitung 116 verzögert, welche
das verzögerte erste
Blockgültigkeitssignal
VF' über einen
Zeitraum verzögert,
der wenigstens so lang wie die Ausbreitungsverzögerung des zweiten Logikblocks 106 ist. Der
Ausgang der Verzögerungsleitung 116 wird
bestätigt,
wenn die Ausgänge
des entsprechenden zweiten Logikblocks 106 gültig werden.
Anders ausgedrückt:
der Ausgang der Verzögerungsleitung 116 ist
ein Gültigkeitssignal
VG für
den zweiten Logikblock 106. Wenn beispielsweise der zweite
Logikblock 106 eine Ausbreitungsverzögerung von 28 ns hat, verzögert die
Verzögerungsleitung 116 das
verzögerte
erste Blockgültigkeitssignal
VF' für wenigstens
28 ns, um das zweite Blockgültigkeitssignal
VG zu erzeugen.
-
Da
die Verzögerungsleitung 116 mit
dem "TAKT" Eingang des Registers 108 verbunden
ist, werden die Ausgangsbits G1–GL vom Register 106 in Reaktion auf
das zweite Blockgültigkeitssignal
VG zwischengespeichert. Das zweite Blockgültigkeitssignal VG wird durch
eine Verzögerungsleitung 118 verzögert, welche
das zweite Blockgültigkeitssignal VG
für einen
Zeitraum verzögert,
der mindestens so lang wie die Ausbreitungsverzögerung für das Register 108 ist.
Wenn beispielsweise das Register 108 eine Ausbreitungsverzögerung von
7 ns hat, verzögert
die Verzögerungsleitung 118 das
zweite Blockverzögerungssignal
VG über
wenigstens 7 ns, um das zweite Blockgültigkeitssignal VG' zu erzeugen.
-
Die
von dem Zeitpunkt, zu dem die Eingangsbits II–IM im Register 100 gültig wurden,
bis zu dem Zeitpunkt, zu dem die Ausgangsbits GI–GL am Register 108 bereit sind, verstrichene
Zeit, ist die Summe der Ausbreitungsverzögerungen durch den ersten Logikblock 102,
den zweiten Logikblock 106 und die Register 100 und 104.
In dem Beispiel beträgt
diese Summe 21 ns für
den ersten Logikblock 102, 28 ns für den zweiten Logikblock 106 und
7 ns für
jedes Register 100 und 104, also insgesamt 21
ns + 28 ns + 7 ns + 7 ns = 63 ns. Die sequentielle Schaltung nach
einem Ausführungsbeispiel
der Erfindung speichert die Berechnung der Funktionen "F" und "G" nach
63 ns gegenüber
70 ns bei einer herkömmlich getakteten
sequentiellen Schaltung. Insbesondere ist das Register, welches
den Ausgang eines schnelleren Logikblocks speichert (beispielsweise
das Register 104 und der erste Logikblock 102),
in der Lage, den Ausgang unmittelbar zu speichern, ohne für einen
Zeitraum zu warten, der mit dem langsameren Logikblock synchronisiert
ist (beispielsweise dem zweiten Logikblock 106).
-
Digitale Verzögerungsleitung
-
2(a) ist ein Blockdiagramm
einer exemplarischen digitalen Hochauflösungsverzögerungsleitung 200,
mit welcher die vorliegende Erfindung implementiert werden kann.
Die exemplarische digitale Hochauflösungsverzögerungsleitung 200 empfängt ein
Bit und verzögert
das Bit wiederholt durch eine Vielzahl digitaler Verzögerungselemente 210-1 bis 210-n,
die in Reihe geschaltet sind. Die digitale Verzögerungsleitung 200 kann
eine beliebige Anzahl n von digitalen Verzögerungselementen aufweisen, je
nach den jeweiligen Einschränkungen
der verwendeten Halbleiterimplementierung oder anderen praktischen
Erwägungen.
Die digitale Leitung 200 kann beispielsweise Zehntausende
digitaler Verzögerungselemente
enthalten. Da jedes der digitalen Verzögerungselemente 210-1 bis 210-n der
digitalen Verzögerungsleitung 200 während des
gleichen Herstellungsvorgangs auf dem selben Halbleitersubstrat hergestellt
wird, ist wahrscheinlich, daß die
Betriebscharakteristiken und somit die Verzögerungsperiode des digitalen
Verzögerungselements
nahezu identisch sind.
-
Ausgänge mehrerer
digitaler Verzögerungselemente
können
abgegriffen werden, um die digitalen Verzögerungselemente über ein
verzögertes
Bit zu beobachten. Daher weist die digitale Verzögerungsleitung 200 mehrere
Abgriffsstellen 212-1 bis 212-n auf, die mit den
Ausgängen
der jeweiligen digitalen Verzögerungsele mente 210-1 bis 210-n verbunden
sind, um Teile der digitalen Verzögerungsleitung 200 parallel
zu überwachen.
-
Die
Verzögerungscharakteristiken
jeder digitalen Schaltung variieren von Chip zu Chip und mit der
Zeit aufgrund von unvermeidlichen Schwankungen der Herstellungs-
und der Betriebsbedingungen. Es besteht daher die Notwendigkeit,
die Verzögerungsperiode
jedes der digitalen Verzögerungselemente 210-1 bis 210-n zu
kalibrieren, um einer bestimmten Periode zu entsprechen. Nach einem
Ansatz wird die Verzögerungsperiode
auf einen zuverlässigen
genauen Referenztakt synchronisiert, beispielsweise einen Kristalloszillator.
-
Die
Verzögerungsperiode
jedes der digitalen Verzögerungselemente 210-1 bis 210-n ist
vorzugsweise durch einen digitalen Befehlscode als Kalibriersignal
einstellbar. Dieses Kalibriersignal wird in bezug zu einem zuverlässigen präzisen Taktsignal erzeugt,
vorzugsweise durch eine (nicht dargestellte) digitale On-Chip-Servoschaltung,
wie in dem gleichzeitig übertragenen
US-Patent 5 457 719, erteilt an Guo et al. am 10. Oktober, 1995,
beschrieben. Die digitale On-Chip-Servoschaltung weist kurz gesagt eine
eigene einstellbare digitale Verzögerungsleitung auf, welche
sie überwacht
und stetig mittels eines Kalibriersignals in einer Rückkopplungsschleife
einstellt. Das Kalibriersignal wird mit anderen Systemen auf dem
Chip geteilt.
-
Wie
in 2(b) dargestellt
weist jedes einstellbare digitale Verzögerungselement 210 zwei
in Reihe geschaltete einstellbare Invertierer 220-1 und 220-2 auf,
die jeweils das genannte Kalibriersignal empfangen. Die Verzögerungszeit
jedes der beiden einstellbaren Invertierer 220-1 und 220-2 beträgt somit
eine Hälfte
der Verzögerungszeit
des einstellbaren Verzögerungselements
und wird durch das Kalibriersignal gesteuert.
-
Wie
in 2(c) gezeigt weist
in einem bevorzugten Ausführungsbeispiel
jeder einstellbare Invertierer 220 mehrere schaltbare Invertierer 230-1 bis 230-m auf,
die parallel geschaltet sind. Jeder der schaltbaren Invertierer 230-1 bis 230-m wird
durch eines der Bits 232-1 bis 232-m ein oder
aus geschaltet. Zwei der Parameter, welche die Ausbreitungsverzögerung eines
Invertierers bestimmen, das Verhältnis
der p-Kanalgröße zur n-Kanalgröße und die
Ansteuerleistung, können zur
exakten Steuerung über die
Verzögerungszeit
bestimmt werden. Schaltbare Invertierer sind in dem gleichzeitig übertragenen US-Patent
5 220 216, erteilt an Woo am 15. Juni, 1993, und dem gleichzeitig übertragenen
US-Patent 5 227 679, erteilt an Woo am 13. Juli, 1993 näher beschrieben.
-
Somit
weist die digitale Verzögerungsleitung 200 eine
Reihe von einstellbaren digitalen Verzögerungselementen 210-1 bis 210-n auf,
welche jeweils eine gleichmäßige Verzögerungszeit
liefern, die entsprechend einem Kalibriersignal mit einer Referenztaktperiode
synchronisiert ist. Ferner kann jeder einstellbare Invertierer 220 eine
konsistente Verzögerungszeit
von 70 ps aufweisen. Somit kann jedes einstellbare digitale Verzögerungselement 210 eine
konsistente Verzögerungszeit
von 140 ps aufweisen.
-
Die
digitale Verzögerungsleitung 200 ist
mit ausreichend vielen einstellbaren digitalen Verzögerungselementen
mit einer bestimmten Verzögerungszeit
versehen, so daß die
Gesamtverzögerungszeit die
Verzögerungszeit
des schlechtesten Pfads durch die entsprechende Logikschaltung überschreitet. Wenn
beispielsweise die Verzögerungszeit
des schlechtesten Pfads durch die Logikschaltung 28 ns beträgt, ist
ein Minimum von 200 (28 ns/140 ps) einstellbaren Verzögerungselementen
mit einer Verzögerungszeit
von 140 ps erforderlich. Die digitale Verzögerungsleitung 200 kann
zum Verzögern
eines Signals für
eine Periode innerhalb von 140 ps einer gewünschten Verzögerungszeit
ausgebildet sein.
-
Die
Anzahl der einstellbaren Verzögerungselemente
kann durch Verwenden einstellbarer Verzögerungselemente mit größerer Periode
verringert werden. Es können
einstellbare Verzögerungselemente
mit verschiedenen Perioden verwendet werden, beispielsweise 19 mit
einer Verzögerungsperiode
von 1,4 ns und 10 mit einer Verzögerungsperiode von
140 ps.
-
Bei
der Ausbildung nach 1 ist
erkennbar, daß die
Reihe von Verzögerungsleitungen 110–118 ein
einzelnes Gültigkeitssignal,
VI, verzögert.
Die Abfolge von Verzögerungsleitungen 110–118 kann durch
eine einzelne Verzögerungsleitung
mit geeigneten Abgriffsstellen ersetzt werden, die mit jeweiligen "TAKT"-Eingängen
der Register 104 und 108 gekoppelt sind.
-
Die
Erfindung wurde in Verbindung mit dem gegenwärtig als praktischsten und
bevorzugten angesehenen Ausführungsbeispiel
beschrieben, jedoch sei darauf hingewiesen, daß die Erfindung nicht auf die
offenbarten Ausführungsbeispiele
beschränkt
ist, sondern im Gegenteil verschiedene Modifikationen und äquivalente
Anordnungen abdeckt, die in den Rahmen der zugehörigen Ansprüche fallen.