-
Die
Geschwindigkeit Augabe einer digitalen Schaltungsanordnung hängt von
der Betriebsversorgungsspannung, der Betriebstemperatur und von Verarbeitungsauswirkungen
ab, die während
der Herstellung auftreten. Beispielsweise laufen digitale Schaltungen
bei einer ansteigenden Versorgungsspannung schneller und bei einer
abnehmenden Versorgungsspannung langsamer. Bei Systemen, bei denen
es erforderlich ist, die Geschwindigkeit von digitalen Schaltungen
zu messen, kann eine Verzögerungsleitung
verwendet werden, da sie auf dasselbe Mikrochipsubstrat plaziert
werden kann wie die digitale Systemschaltungsanordnung. Somit wird
ihre Geschwindigkeit durch denselben Prozeß, dieselbe Spannung und dieselbe
Temperatur beeinflußt
wie der Rest des digitalen Systems.
-
Eine
Verwendung von Verzögerungsleitungen
zum Messen der Geschwindigkeit einer digitalen Schaltungsanordnung
ist eine wichtige Komponente bei einem Leistungsverwaltungssystem
mit variabler Spannung und variabler Frequenz. Die dynamische bzw.
Schaltkomponente einer Verlustleistung bei digitalen Schaltungen
beträgt
P = C·f·VDD^2.
Wo P die dynamische Verlustleistung ist, ist C die parasitäre Last
der Schaltungsknoten, die Logikwerte schalten, ist f die Chipbetriebsfrequenz
und VDD die Versorgungsspannung. Man beachte, daß diese Gleichung zeigt, daß die Verlustleistung
proportional zu der quadrierten Versorgungsspannung ist. Bei einem
Dynamische-Leistung-Verwaltungssystem mißt eine Leistungsverwaltungssteuerung
die Verlustleistung der digitalen Schaltungsanordnung. Falls sie
erfaßt,
daß das
System ein gewisses Leistungsbudget übersteigt, verringert die Steuerung
die Systemversorgungsspannung VDD, um beträchtliche Leistungsersparnisse
zu erzielen (da VDD in der Gleichung der dynamischen Leistung ein
quadrierter Begriff ist). Da diese Verringerung der Versorgungsspannung
jedoch bewirkt, daß die
Schaltungen des Systems langsamer laufen, muß die Chipbetriebsfrequenz ebenfalls
verringert werden, so daß das
System seine Zeitgebungsfristen nicht verfehlt. Im einzelnen gibt
es in dem digitalen System manche kritische Pfade, die bei der Nennbetriebsversorgungsspannung und
-frequenz des Chips ihre Zeitgebungsfristen kaum einhalten. Beispielsweise
ist eine Zeitgebungsfrist eine Ankunftszeit für ein logisches Ergebnis, das in
einem Taktungselement, z. B. ein DQ-Flip-Flop, zwischengespeichert
werden soll. Wenn die Leistungsverwaltungssteuerung die Versorgungsspannung
verringert, verlangsamt sich dieser kritische Pfad, so daß das Ergebnis
des kritischen Pfades nicht schnell genug berechnet wird, um in
dem DQ-Flip-Flop zwischengespeichert zu werden. Dies kann die Berechnungen
des gesamten digitalen Systems verfälschen. Durch ein Verringern
der Betriebsfrequenz des Systems, d. h. Verlangsamen des Systemtaktes,
werden die Fristen für
Ergebnisse eines kritischen Pfades auf der Zeitlinie nach hinten
verlegt. Obwohl der kritische Pfad langsamer ist, wird trotzdem
das korrekte Ergebnis zwischengespeichert.
-
1A stellt ein System 10 dar,
das eine traditionelle Verzögerungsleitung 13 enthält, die
eine Kette von Invertern 14-1,..., 14-4 umfaßt. Ein
Testpulsgenerator 12 mit einem Startanschluß 101 ist durch
eine Eingangsleitung 102 mit dem invertierenden Eingangsanschluß des ersten
Inverters 14-1 verbunden. Der Ausgangsanschluß des ersten
Inverters 14-1 ist durch eine Ausgangsleitung 103 mit
dem invertierenden Eingangsanschluß des zweiten Inverters 14-2 verbunden.
Der Ausgangsanschluß des zweiten
Inverters 14-2 ist wiederum durch eine Ausgangsleitung 104 mit
dem invertierenden Eingangsanschluß des dritten Inverters 14-3 verbunden.
Der Ausgangsanschluß des
dritten Inverters 14-3 ist schließlich durch eine Ausgangsleitung 105 mit
dem invertierenden Eingangsanschluß des letzten Inverters 14-4 verbunden.
Die Inverter 14-1,..., 14-4 sind üblicherweise alle
mit einem üblichen
Mikrochip-VDD-Spannungsversorgungsbus 110 verbunden.
Der Ausgangsanschluß des
letzten Inverters 14-4 ist durch eine Ausgangsleitung 106 mit
einem Geschwindigkeitsvergleichslogikmodul 15 gekoppelt. Das
Geschwindigkeitsvergleichslogikmodul 15 ist mit einer zusätzlichen
Eingangsleitung, einer Auswertungsleitung 107 und zwei
Ausgangslogikleitungen, nämlich
einer langsamen Ausgangslogikleitung 108 und einer schnellen
Ausgangslogikleitung 109, gekoppelt.
-
1B ist ein Zeitgebungsdiagramm,
das Signale zeigt, die bei einem traditionellen Betrieb der Verzögerungsleitung 13 auftreten.
Die Verzögerungsleitung 13 wird
verwendet, um eine Schaltungsgeschwindigkeit (Signalausbreitungsgeschwindigkeit)
zu messen, indem ein START-Signal an den Startanschluß 101 angelegt
wird, was den Testpulsgenerator 12 veranlaßt, einen
EIN-Puls 112 durch die Eingangsleitung 102 auf
die Verzögerungsleitung 13 durch
den invertierenden Eingangsanschluß des ersten Inverters 14-1 zu
treiben. Der EIN-Puls 112 setzt sich durch die Verzögerungsleitung 13 fort,
wie durch Signale 113, 114 und 115 an
jeweiligen Ausgangsleitungen 103, 104 und 105 gezeigt
ist, um auf der Ausgangsleitung 106 einen Ausgangspuls 116 zu
liefern. Die Ankunftszeit des Ausgangspulses (AUS-Pulses) 116,
der ansprechend auf den EIN-Puls 112 durch die Ausgangsleitung 106 geliefert
wird, an dem Geschwindigkeitsvergleichslogikmodul 15, wird durch
das Geschwindigkeitsvergleichslogikmodul 15 relativ zu
der Ankunft des AUSWERTEN-Signals 117 durch die Auswertungsleitung 107 gemessen.
Wie in 1B gezeigt ist,
bleiben die Ausgangslogiksignale SCHNELL 119 und LANGSAM 118 an
jeweiligen Ausgangslogikleitungen schnell 109 und langsam 108 niedrig,
wenn der AUS-Puls 116 zur selben Zeit wie das AUSWERTEN-Signal 117 ankommt.
Wenn der AUS-Puls 116 nach dem AUSWERTEN-Signal 117 ankommt,
wird das Ausgangslogiksignal LANGSAM 118 aktiviert, während, wenn
der AUS-Puls 116 vor dem AUSWERTEN-Signal 117 ankommt,
das Ausgangslogiksignal SCHNELL 119 aktiviert wird.
-
1C ist ein Zeitgebungsdiagramm,
das Signale zeigt, die unter Aliasing-Bedingungen in dem System 10 auftreten.
Aliasing tritt auf, wenn eine Verzögerungsleitungsversorgungsspannung
VDD auf dem Spannungsversorgungsbus 110 ausreichend niedrig
ist, d. h. die Verzögerungsleitung 13 ausreichend
langsam ist, so daß zwei
(oder mehr) Perioden des AUSWERTEN-Signals 127 verstreichen,
bis ein Verzögerungsleitung-AUS-Puls 126 an
dem Geschwindigkeitsvergleichslogikmodul 15 ankommt. Dies
bewirkt einen falschen Geschwindigkeitsvergleich, wie in 1C veranschaulicht ist,
bei dem die erste ansteigende Flanke des EIN-Pulses 122 eine Verzögerungsleitungsauswertung
einleitet, d. h. ein Testpuls beginnt sich durch die Verzögerungsleitung 13 auszubreiten.
Bei der ersten ansteigenden Flanke des AUS-WERTEN-Signals 127 hat der
AUS-Puls 126 das Geschwindigkeitsvergleichslogikmodul 15 noch
nicht erreicht, was bewirkt, daß ein
LANGSAM-Ausgang-Logiksignal 128 aktiviert wird. Dies ist das
korrekte Ergebnis. Jedoch kommt der AUS-Puls 126 schließlich direkt
vor der zweiten ansteigenden Flanke des AUSWERTEN-Signals 127 bei
dem Geschwindigkeitsvergleichslogikmodul 15 an, was bewirkt,
daß ein
SCHNELL-Ausgang-Logiksignal 129 aktiviert
wird. Dieses Ergebnis ist falsch, da die Messung relativ zu dem
EIN-Puls 122 des vorherigen Vergleichs durchgeführt wurde.
Das korrekte Ergebnis hätte
lauten sollen, daß das
LANGSAM-Ausgang-Logiksignal 128 erneut
aktiviert wird.
-
Die
Aufgabe der vorliegenden Erfindung besteht darin, eine Schaltung,
Verfahren sowie ein System zu schaffen, die eine zuverlässige Auswertung der
Geschwindigkeit einer Schaltung ermöglichen.
-
Diese
Aufgabe wird durch eine Schaltung gemäß Anspruch 1, durch Verfahren
gemäß Anspruch 6
oder 15 sowie durch ein System gemäß Anspruch 11 gelöst.
-
Gemäß einem
hierin offenbarten Ausführungsbeispiel
wird eine Schaltung geliefert. Die Schaltung umfaßt eine
erste Verzögerungsleitung, die
einen ersten Eingangsanschluß,
der wirksam ist, um ein erstes Eingangssignal zu empfangen, einen ersten
Rücksetzanschluß, der wirksam
ist, um ein erstes Rücksetzsignal
zu empfangen, und einen ersten Ausgangsanschluß, der wirksam ist, um ansprechend
auf das erste Eingangssignal ein erstes Ausgangssignal zu liefern,
aufweist. Die Schaltung umfaßt
ferner eine zweite Verzögerungsleitung,
die einen zweiten Eingangsanschluß, der wirksam ist, um ein
zweites Eingangssignal zu empfangen, einen zweiten Rücksetzanschluß, der wirksam
ist, um ein zweites Rücksetzsignal
zu empfangen, und einen zweiten Ausgangsanschluß, der wirksam ist, um ansprechend
auf das zweite Eingangssignal ein zweites Ausgangssignal zu liefern,
aufweist. Die Schaltung umfaßt
ferner ein Geschwindigkeitsvergleichslogikmodul, das mit dem ersten
Ausgangsanschluß,
mit dem zweiten Ausgangsanschluß und
mit einem Auswertungsanschluß,
der wirksam ist, um ein Auswertungssignal zu empfangen, verbunden
ist. Das Geschwindigkeitsvergleichslogikmodul weist zumindest einen
Logikausgangsanschluß auf,
der wirksam ist, um ansprechend auf einen Vergleich des Auswertungssignals
mit einem des ersten Ausgangssignals und des zweiten Ausgangssignals
ein Logikausgangssignal zu aktivieren.
-
Gemäß einem
weiteren hierin offenbarten Ausführungsbeispiel
wird ein Verfahren zum Auswerten der Geschwindigkeit einer Schaltung
geliefert. Das Verfahren umfaßt
ein gleichzeitiges Einkoppeln eines ersten Eingangssignals in eine
erste Verzögerungsleitung
und ein Anlegen eines Rücksetzsignals an
eine zweite Verzögerungsleitung,
derart, daß alle Signale,
die sich durch die zweite Verzögerungsleitung
ausbreiten, eliminiert werden. Das Verfahren umfaßt ferner
ein Einleiten eines Auswertungssignals, ein Empfangen eines ersten
Ausgangssignals von der ersten Verzögerungsleitung ansprechend
auf das erste Eingangssignal, ein Empfangen des Auswertungssignals,
ein Aktivieren eines Ausgangslogiksi gnals in Abhängigkeit von dem Zeitpunkt
des Empfangens des ersten Ausgangssignals relativ zu dem Zeitpunkt
des Empfangens des Auswertungssignals. Das Verfahren umfaßt ferner
ein Abwechseln der Phasen der ersten Verzögerungsleitung und der zweiten
Verzögerungsleitung,
ein gleichzeitiges Einkoppeln eines zweiten Eingangssignals in die
zweite Verzögerungsleitung
und ein Anlegen eines Rücksetzsignals
an die erste Verzögerungsleitung,
derart, daß alle
Signale, die sich durch die erste Verzögerungsleitung ausbreiten,
eliminiert werden. Das Verfahren umfaßt ferner ein Einleiten eines
Auswertungssignals, ein Empfangen eines zweiten Ausgangssignals
von der zweiten Verzögerungsleitung ansprechend
auf das zweite Eingangssignal, ein Empfangen des Auswertungssignals
und ein Aktivieren eines Ausgangslogiksignals in Abhängigkeit
von dem Zeitpunkt des Empfangens des zweiten Ausgangssignals relativ
zu dem Zeitpunkt des Empfangens des Auswertungssignals.
-
Gemäß einem
weiteren hierin offenbarten Ausführungsbeispiel
wird ein System zum Auswerten der Geschwindigkeit einer Schaltung
geschaffen. Das System umfaßt
eine Einrichtung zum gleichzeitigen Einkoppeln eines ersten Eingangssignals
in eine erste Verzögerungsleitung
und eine Einrichtung zum Anlegen eines Rücksetzsignals an eine zweite
Verzögerungsleitung,
derart, daß alle
Signale, die sich durch die zweite Verzögerungsleitung ausbreiten,
eliminiert werden. Das System umfaßt ferner eine Einrichtung
zum Einleiten eines Auswertungssignals, eine Einrichtung zum Empfangen
eines ersten Ausgangssignals von der ersten Verzögerungsleitung ansprechend
auf das erste Eingangssignal, eine Einrichtung zum Empfangen des
Auswertungssignals, eine Einrichtung zum Aktivieren eines Ausgangslogiksignals
in Abhängigkeit
von dem Zeitpunkt des Empfangens des ersten Ausgangssignals relativ
zu dem Zeitpunkt des Empfangens des Auswertungssignals und eine
Einrichtung zum Abwechseln der Phasen der ersten Verzögerungsleitung
und der zweiten Verzögerungsleitung,
derart, daß die
Funktionen der ersten Verzögerungsleitung
und der zweiten Verzögerungsleitung
ausgetauscht werden.
-
Gemäß einem
weiteren hierin offenbarten Ausführungsbeispiel
wird ein Verfahren zum Auswerten der Geschwindigkeit einer Schaltung
geschaffen. Das Verfahren umfaßt
ein Bestimmen, während
einer ersten Betriebsphase eines ersten Betriebszyklus, der Ausbreitungsgeschwindigkeit
eines ersten Signals in einem ersten Signalausbreitungspfad, und
ein gleichzeitiges Hindern aller Signale daran, sich in einem zweiten
Signalausbreitungspfad, der zu dem ersten Signalausbreitungspfad
im wesentlichen parallel ist, auszubreiten. Das Verfahren umfaßt ferner ein
Bestimmen, während
einer zweiten Betriebsphase, die sich mit der ersten Betriebsphase
abwechselt, der Ausbreitungsgeschwindigkeit eines zweiten Signals
in dem zweiten Signalausbreitungspfad, und ein gleichzeitiges Hindern
aller Signale daran, sich in dem ersten Signalausbreitungspfad auszubreiten.
-
Bevorzugte
Ausführungsbeispiele
der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf
die beiliegenden Zeichnungen näher
erläutert.
Es zeigen:
-
1A ein System, das eine
traditionelle einfache Verzögerungsleitung
enthält,
die eine Kette von Invertern umfaßt;
-
1B ein Zeitgebungsdiagramm,
das Signale zeigt, die bei einem traditionellen Betrieb der in 1A gezeigten Verzögerungsleitung
auftreten;
-
1C ein Zeitgebungsdiagramm,
das Signale zeigt, die unter Aliasing-Bedingungen bei dem in 1A gezeigten System auftreten;
-
2A ein System, das zwei
sich abwechselnde Verzögerungsleitungen
zum Durchführen
von Geschwindig keitsauswertungen gemäß Ausführungsbeispielen der Erfindung
verwendet;
-
2B ein Zeitgebungsdiagramm,
das Signale zeigt, die während
des Betriebs des in 2A gezeigten
Systems auftreten;
-
3 ein Flußdiagramm,
das den Betriebszyklus des in 2A gezeigten
Systems zeigt;
-
4A ein schematisches Diagramm
eines spezialisierten Verzögerungsleitungsinverters
gemäß Ausführungsbeispielen
der Erfindung;
-
4B ein schematisches Diagramm,
das zeigt, wie der Verzögerungsleitungsinverter
der 4A bei einer Verzögerungsleitung
gemäß Ausführungsbeispielen
der Erfindung verwendet wird;
-
5 ein Flußdiagramm,
das ein Verfahren, gemäß einem
Ausführungsbeispiel,
zum Auswerten der Geschwindigkeit einer Schaltung veranschaulicht;
und
-
6 ein Flußdiagramm,
das ein weiteres Verfahren, gemäß einem
weiteren Ausführungsbeispiel,
zum Auswerten der Geschwindigkeit einer Schaltung veranschaulicht.
-
2A zeigt ein System 20,
das zwei sich abwechselnde Verzögerungsleitungen 24, 25 zum Durchführen von
Geschwindigkeitsauswertungen gemäß Ausführungsbeispielen
der Erfindung verwendet. Ein Testpulsgenerator 22 ist durch
eine erste Signaleingangsleitung 206 und durch eine erste
Rücksetzleitung 204 mit
einer ersten Verzögerungsleitung 24 verbunden.
Desgleichen ist der Pulsgenerator 22 durch eine zweite
Signaleingangsleitung 207 und durch eine zweite Rücksetzleitung 205 mit
einer zweiten Verzögerungsleitung 25 verbunden. Üblicherweise
verwenden die Verzögerungslei tungen 24, 25 gemeinsam
einen Versorgungsspannungsbus VDD 220, der ferner Spannung
an andere Vorrichtungen liefert, die denselben Mikrochip wie das
System 20 verwenden. Eine erste Signalausgangsleitung 208 von
der ersten Verzögerungsleitung 24 und
eine zweite Signalausgangsleitung 209 von der zweiten Verzögerungsleitung 25 sind
mit Eingangsanschlüssen
des Geschwindigkeitsvergleichslogikmoduls 21 verbunden.
Eine Auswertungsleitung 210 ist mit einem dritten Eingangsanschluß des Geschwindigkeitsvergleichslogikmoduls 21 verbunden.
Schneller- und Langsamer-Ausgang-Logikleitungen 211 bzw. 212 werden
von dem Geschwindigkeitsvergleichslogikmodul 21 bereitgestellt.
-
2B ist ein Zeitgebungsdiagramm,
das Signale zeigt, die während
des Betriebs des Systems 20 auftreten. 3 ist ein Flußdiagramm, das einen Betriebszyklus 300 des
Systems 20 zeigt. Unmittelbar nach einem Betriebszyklus-START 301 wird
ein EIN-Signal 226 von dem Testpulsgenerator 22 in
den Eingangsanschluß 206 der
Verzögerungsleitung 24 (Verzögerungsleitung
Nr. 1) in eine Operation 302 eingekoppelt. Gleichzeitig
wird ein RÜCKSETZEN-Signal 225 an
einen Rücksetzanschluß 205 der alternativen
Verzögerungsleitung 25 (Verzögerungsleitung
Nr. 2) angelegt. Bei Operation 304 wird, wie durch die
Zeitgebungsschaltungsanordnung des Systems 20 bestimmt
wird, ein AUSWERTEN-Signal 230 in den Auswertungsanschluß 210 des
Geschwindigkeitsvergleichslogikmoduls 21 initiiert. Während die
Verzögerungsleitung 24 auswertet
(ein Signal breitet sich durch ihre Schaltungsanordnung aus), wird
die Verzögerungsleitung 25 zurückgesetzt. Während der
bei Operation 305 gezeigten Rücksetzphase wird die Verzögerungsleitung 25 vollständig freigemacht,
so daß jegliche
Signale von dem vorherigen Auswertungszyklus eliminiert werden.
In der Zwischenzeit wird bei Operation 303 ein AUS-Signal 228 von
der Verzögerungsleitung 24 ansprechend auf
das EIN-Signal 226 durch die Signalausgangsleitung 208 an
dem Geschwindigkeitsvergleichslogikmodul 21 empfangen,
und bei Operation 306 wird seine Ankunftszeit mit dem des
AUSWERTEN-Signals 230 verglichen.
-
Bei
Operation 307 aktiviert dann das Geschwindigkeitsvergleichslogikmodul 21 das LANGSAMER-Ausgang-Logiksignal 232 oder
das SCHNELLER-Ausgang-Logiksignal 231, je nach der Ankunftszeit
des AUS-Signals 228 relativ zu der Ankunftszeit des AUSWERTEN-Signals 230.
-
Das
System wird gänzlich
durch eine Zeitgebungsschaltungsanordnung gesteuert. Somit wartet die
Verzögerungsleitung 24 nicht
darauf, daß die
Verzögerungsleitung 25 auswertet,
bevor sie ihre Auswertung beginnt, und umgekehrt. Alle EIN-Pulse, AUSWERTEN-Pulse
und RÜCKSETZEN-Pulse
sind zeitgebungsbasiert, und bei den spezifischen Implementierungen
der 2A und 2B beruhen sie auf der Systemtaktfrequenz,
um eine genaue Messung der Digitalsystemzeitgebungsfristen zu liefern.
Die Verzögerungsleitung 24 tritt
in die Rücksetzphase
ein, und gleichzeitig wird ein EIN2-Signal 227 durch die Verzögerungsleitung 25 eingekoppelt,
wie bei Operation 312 gezeigt ist. Bei Operation 314 wird
das AUSWERTEN-Signal 230 in den Auswertungsanschluß 210 des
Geschwindigkeitsvergleichslogikmoduls 21 eingekoppelt.
Während
die Verzögerungsleitung 25 auswertet,
wird die Verzögerungsleitung 24 zurückgesetzt.
Während
der bei Operation 315 gezeigten Rücksetzphase wird die Verzögerungsleitung 24 vollständig freigemacht,
so daß jegliche
Signale von dem vorherigen Auswertungszyklus eliminiert werden.
In der Zwischenzeit wird bei Operation 313 ein AUS2-Signal 229 von
der Verzögerungsleitung 25 ansprechend
auf ein EIN2-Signa1 227 durch die Signalausgangsleitung 209 an
dem Geschwindigkeitsvergleichslogikmodul 21 empfangen,
und bei Operation 316 wird seine Ankunftszeit mit der des
AUSWERTEN-Signals 230 verglichen. Bei Operation 317 aktiviert
das Geschwindigkeitsvergleichslogikmodul 21 anschließend das
LANGSAMER-Ausgang-Logiksignal 232 oder das SCHNELLER-Ausgang-Logiksignal 231,
je nach der Ankunftszeit des AUS-Signals 229 relativ zu
der Ankunftszeit des AUSWERTEN-Signals 230.
Das System 20 kehrt anschließend im Zyklus zu dem Betriebszyklus-START 301 zurück.
-
Insbesondere
in der letzten Phase der in 2B gezeigten
Zeitgebungszyklen ist AUSWERTEN 230 hoch, ist RÜCKSETZEN2 225 niedrig,
ist AUS1 228 niedrig, ist AUS2 229 hoch (vordere
Flanke geht der vorderen Flanke von AUSWERTEN 230 voraus),
ist LANGSAM 232 niedrig und ist SCHNELL 231 aktiviert.
RÜCKSETZEN1 224 hat
die Verzögerungsleitung
Nr. 1 24 bereits vor der aktuellen Aktivierung von AUSWERTEN 230 freigegeben.
Die Geschwindigkeitsvergleichslogik 21 wertet AUS2 229 von
der Verzögerungsleitung
Nr. 2 25 aus, solange AUSWERTEN 230 in dieser Phase hoch
bleibt. RÜCKSETZEN2 225 bleibt
niedrig, während
AUSWERTEN 230 hoch bleibt, und wird nur zur selben Zeit,
wie AUSWERTEN 230 niedrig geht, aktiviert (geht hoch),
wie es durch eine Zeitgebungsschaltungsanordnung gesteuert wird.
Diese Zeitgebungsbeziehung gewährleistet,
daß die
Geschwindigkeitsvergleichslogik 21 das Auswerten von AUS2 229 für einen
jeweiligen Betriebszyklus abgeschlossen hat, bevor die nächste Aktivierung
von RÜCKSETZEN2 AUS2 229 dazu
bringt, freizumachen. Bei der abwechselnden Phase des Betriebszyklus
existiert eine ähnliche
Zeitgebungsbeziehung zwischen RÜCKSETZEN1 224 und
AUSWERTEN 230.
-
Durch
ein Abwechseln der Verzögerungsleitungen 24, 25 auf
die in 3 gezeigte Weise
zwischen Rücksetz-
und Auswertungsphasen wird dieselbe Häufigkeit von Vergleichen durchgeführt, wie sie
unter Verwendung des in 1A gezeigten
traditionellen Systems 10 durchgeführt wurde, es wird jedoch ein
Zyklus-zu-Zyklus-Aliasing verhindert. Bei dem in 2B gezeigten Aliasing-Szenario ist die Verzögerungsleitung 24 z.
B. ausreichend langsam, so daß EIN-Pulse 226 mehr
als zwei Zyklen des AUSWERTEN-Signals 230 benötigen, um
als AUS-Pulse 228 an den Verzögerungsleitungsausgängen anzukommen.
Der AUS-Puls 228 kommt dann nicht rechtzeitig für einen
Vergleich an, und das LANGSAMER-Ausgang-Logiksignal 232 wird korrekt aktiviert,
da die Verzögerungsleitung 24 abwechselnd
zurückgesetzt
wird, indem zwischen Auswertungen das RÜCKSETZEN-Signal 224 angelegt
wird. Obwohl der Ausgangspuls 229 von dem ersten EIN-Puls 227 der
Verzögerungsleitung 25 relativ
zu dem AUSWERTEN-Signal 230 zu
spät für einen
Vergleich ankommt, kommt im Gegensatz dazu der Ausgangspuls 229 von
dem zweiten EIN-Puls 227 der Verzögerungsleitung 25 vor
dem vierten Zyklus des AUSWERTEN-Pulses 230 an und aktiviert
das SCHNELLER-Ausgang-Logiksignal 231 auf
korrekte Weise. Wäre
der Ausgangspuls 229 ansprechend auf ein EIN-Signal 227 eines
früheren
Zyklus erzeugt worden, wäre
er vor einer Auswertung durch einen zweiten RÜCKSETZEN-Signal-Zyklus 225 freigemacht
(gelöscht)
worden.
-
Die
Art und Weise, wie ein Rücksetzen
einer Verzögerungsleitung
durchgeführt
wird, hängt
von der spezifischen Implementierung der Verzögerungsleitung ab. Bei einer
derartigen Implementierung wird ein Pull-Down-nFET, das sich während einer
Rücksetzung
einschaltet und diese Knoten zu Null zwingt, zu abwechselnden Stufen
der Verzögerungsleitung hinzugefügt.
-
4A ist ein schematisches
Diagramm eines spezialisierten Verzögerungsleitungsinverters 414-i.
Er weist drei Eingänge
auf: EIN 411, RÜCKSETZEN 412 und
RÜCKSETZEN_STRICH 413.
Er weist einen einzigen Ausgang, AUS 410, auf. Das Signal
RÜCKSETZEN 412 wird
während
der Verzögerungsleitungsrücksetzphase
aktiviert (binäre
1), und der RÜCKSETZEN_STRICH 413 ist
immer die logische Inverse von RÜCKSETZEN 412.
Wenn der Verzögerungsleitungsinverter 414-i nicht
zurückgesetzt wird
(d. h. RÜCKSETZEN 412 ist
eine binäre
0 und RÜCKSETZEN_STRICH 413 ist
eine binäre
1), verhält
er sich funktionell wie ein traditioneller Inverter, der durch traditionelle
MOSFETs M1 401 und M4 404 gesteuert wird, insofern,
als AUS 410 die Inverse von EIN 411 ist. Während der
Verzögerungsleitungsauswertungsphase
werden MOSFETs M2 402 und M3 403 eingeschaltet,
so daß eine
normale Inverterauswertung stattfinden kann. Während der Rücksetzphase ist RÜCKSETZEN 412 eine
binäre
1 und RÜCKSETZEN_STRICH 413 eine
binäre
0. Dies schaltet MOSFETs M2 402 und M3 403 aus,
derart, daß der
Inverter 414-i keinen Wert zu AUS 410 treiben
kann. An diesem Punkt ist ein externer Transistor 415–417 (in 4B gezeigt) in der Lage,
einen Wert ohne einen „Treiberkampf" zu AUS 410 zu
treiben.
-
4B ist ein schematisches
Diagramm, das zeigt, wie der Verzögerungsleitungsinverter 414-i in
der Verzögerungsleitung 420 verwendet
wird. Jeder der Inverter 414-1,..., 414-4 in 4B ist ein in 4A gezeigter spezialisierter
Inverter 414-i. Bei einer Verzögerungsleitungsauswertung wird
ein positiver Testpuls (ein Signal einer binären 1) in den Eingang 421 der
Verzögerungsleitung 420 getrieben. Per
Definition ist eine freigemachte Verzögerungsleitung eine, bei der
eine binäre
0 an dem Eingang 421 aktiviert ist und die binäre 0 folglich
an dem Ausgang 430 auswertet. Im einzelnen weist eine vollständig zurückgesetzte
Verzögerungsleitung
die folgenden binären
Werte an ihren Knoten auf: Verzögerungs Leitung
ein 421 = 0, Knoten 422 = 1, Knoten 423 =
0, Knoten 424 = 1, Verzögerungs_Leitung
aus 430 = 0. MOSFETs M5, M6 und M7 (415-417) zwingen
die Knoten 422–424 in
der Tat zu den richtigen binären Werten,
so daß eine
Verzögerungsleitungsrücksetzung
lediglich eine Verzögerung
eines Verzögerungsleitungselements
erfordert. Dies ist eine schnelle Rücksetzung, die durch den spezialisierten
Inverter 414-i und die Rücksetz-MOSFETs 415–417 in
der Verzögerungsleitungsschaltung 420 ermöglicht wird. Diese
schnelle Rücksetzung
ist eine wichtige Eigenschaft der Implementierung der abwechselnden
Verzögerungsleitungen.
-
Eine
alternative Lösung,
die verwendet werden könnte,
um ein Aliasing aus Systemen, die Verzögerungsleitungen beinhalten,
zu beseitigen, besteht darin, eine dynamische Logik in der Verzögerungsleitung
zu verwenden, derart, daß die
Verzögerungsleitung
allein aufgrund der Beschaffenheit der Verzögerungsleitungsimplementierung
während
der Vorladephase freigemacht wird. Das Dokument „Low-Power Digital Filtering
Using Multiple Voltage Distribution and Adaptive Voltage Scaling" von S. Dhar u. a.,
das dem International Symposium on Low Power Electronic Design,
2000, vorgelegt wurde und durch Bezugnahme in das vorliegende Dokument aufgenommen
ist, beschreibt die Verwendung von Dynamische-Schaltung-Verzögerungsleitungen. Allein aufgrund
ihrer Beschaffenheit weist eine dynamische Logik aufgrund ihrer
inhärenten
Vorladephase einen Anti-Aliasing-Effekt auf. Mit einer dynamischen Logik
kann jedoch keine Auswertung eines vollständigen Zyklus erreicht werden,
da die Vorladephase das Zeitgebungsbudget über Gebühr beansprucht. Die hierin
offenbarten Ausführungsbeispiele
ermöglichen
es JEGLICHER Art von Logik, die Verzögerung gegenüber einer
VDD-Antwort zu erreichen, die benötigt wird, um chipkritische
Pfade in Übereinstimmung
zu bringen. Sie ermöglichen
ferner eine Verzögerungsleitungsauswertungsperiode
einer beliebigen Dauer bis hin zu einem vollständigen Taktzyklus. Ein Problem
bei dem von Dhar u. a. dokumentierten Schema besteht darin, daß die Vorladezeit
einen Teil der Systemtaktperiode über Gebühr beansprucht. Somit ist es
unmöglich,
eine Verzögerungsleitung
zu erzeugen, die einen vollständigen
Zyklus des Systemtaktes vollständig
nachahmt, ohne zwei Verzögerungsleitungen
zu verwenden, wie die vorliegenden Ausführungsbeispiele offenbaren.
Ein weiteres Problem bei der Verwendung einer rein dynamischen Logikimplementierung
der Verzögerungsleitung
besteht darin, daß sie
die Geschwindigkeit der digitalen Systemschaltungen nicht genau
modelliert, wenn nicht das System selbst gänzlich aus einer dynamischen Logik
besteht. Statische und dynamische Logik sind Begriffe, die in der
Technik definiert sind. In dem Dokument „Design of High-Performance
Microprocessor Circuits",
das von Anantha Chandrakasan u. a., IEEE Press 2001, herausgegeben
ist, ist eine statische Logik auf der Seite 120, Abschnitt 7.2.1
definiert, und ist eine dynamische Logik auf der Seite 128, Abschnitt
7.3.1 definiert, wobei diese Seiten durch Bezugnahme in das vorliegende
Dokument aufgenommen sind. Es sei angemerkt, daß eine dynamische Logik austauschbar
auch als „Dominologik" bezeichnet wird.
Da eine dynamische und eine statische Logik unterschiedlich auf
Veränderungen der
Versorgungsspannung ansprechen, kann eine Verzögerungsleitung einer rein dynamischen
Logik nicht genau auf diese Geschwindigkeitsveränderungen, die in einer statischen
Logik stattfinden, ansprechen.
-
Eine
zweite Lösung,
die verwendet werden kann, um ein Aliasing aus einem verzögerungsleitungsbasierten
System zu beseitigen, besteht darin, die Auswertungsfrequenz zu
verringern, derart, daß die
Verzögerungsleitung
garantiert bezüglich
aller gewünschten
Betriebspunkte des digitalen Systems auswertet. In dem Dokument „Variable
Supply-Voltage Scheme for Low-Power High Speed CMOS Digital Design", von T. Kuroda u.
a., IEEE Journal of Solid-State Circuits, Bd. 33, S. 454–462, das
durch Bezugnahme in das vorliegende Dokument aufgenommen ist, wird
ein System beschrieben, das zwischen Verzögerungsleitungsauswertungen
wartet, um ein Aliasing zu beseitigen. Ein großer Nachteil dieser Implementierung
besteht darin, daß die
Auswertungsfrequenz abnehmen muß,
was wiederum das dynamische Gesamtansprechverhalten des Leistungsverwaltungsschemas
verringert.
-
Bei
einem Leistungsverwaltungssystem, wie es zuvor beschrieben wurde,
ist ein Mittel zum Messen der Geschwindigkeit der kritischen Pfade
des Chips erforderlich, um dem System mitzuteilen, wie der Systemtakt
eingestellt werden soll, so daß die Systemintegrität aufrechterhalten
wird. Das Ziel besteht darin, die Betriebsfrequenz gerade ausreichend zu
verringern, so daß kritische
Pfade ihre Zeitgebungsfristen erfüllen, jedoch nicht mehr, da
eine weitere Verringerung der Frequenz bewirkt, daß die Leistungsfähigkeit
des Systems abfällt.
Eine Verzögerungsleitung
kann bei einem derartigen Leistungsverwaltungssystem verwendet werden,
um die Geschwindigkeit der kritischen Pfade des Chips abzuschätzen und
der Takterzeugungsschaltungsanordnung des Systems mitzuteilen, wie
die Taktfrequenz eingestellt werden soll. Beispielsweise gibt in
den 2A und 2B der SCHNELLE Ausgang der
Geschwindigkeitsvergleichslogik an, daß die Verzögerungsleitungen und somit
die systemkritischen Pfade schnell sind. Dies impliziert, daß die Ver sorgungsspannung
hoch genug ist, so daß die
Taktfrequenz erhöht
werden kann, um eine zusätzliche
Leistungsfähigkeit
zu erzielen. Wenn, analog dazu, der LANGSAME Ausgang aktiviert wird,
bedeutet dies, daß die Verzögerungsleitungen
und die entsprechenden systemkritischen Pfade zu langsam sind, möglicherweise
aufgrund dessen, daß das
Leistungsverwaltungssystem die VDD verringert, um innerhalb seines
Leistungsbudgets zu bleiben, oder aufgrund eines Leistungsverteilungsabfalls.
Ansprechend darauf, daß LANGSAM
aktiviert wird, verringert die Systemtakterzeugungsschaltungsanordnung
die Systemtaktfrequenz, so daß die
chipkritischen Pfade ihre Zeitgebungsfristen erfüllen.
-
Eine
Hauptherausforderung, die mit dieser Art von Leistungsverwaltungssystem
verbunden ist, besteht darin, eine Verzögerungsleitung zu entwerfen,
die die Geschwindigkeit des bzw. der tatsächlichen systemkritischen Pfad
e) genau mißt.
Da der tatsächliche
chipkritische Pfad zum Entwurfszeitpunkt NICHT bekannt ist und sogar
von Chip zu Chip variieren könnte,
müssen
die Verzögerungsleitungen in
tatsächlichem
Silizium abgestimmt werden, um mit dem, als was sich der kritische
Pfad jedes Chips herausstellt, übereinzustimmen.
Eine vorteilhafte Art und Weise, dies zu tun, besteht darin, die
Verzögerungsleitungsschaltung
so zu entwerfen, daß sie
aus Schaltungen besteht, die auf ähnliche Weise wie die Schaltungen
in dem digitalen System auf Versorgungsspannungsänderungen ansprechen, um eine Flexibilität bei diesem
Siliziumabstimmen zu ermöglichen.
Bei einem kundenspezifischen VLSI-Entwurf gibt es beispielsweise
einige wenige Schaltungsfamilien, die üblicherweise verwendet werden.
Diese sind vollständige
komplementäre
CMOS- (oder Statiklogik-), Dynamiklogik- und RC-dominierte Pfade,
die in Signalen üblich
sind, die gepuffert und über
eine große
Strecke auf dem Chip geroutet werden müssen. Somit ist es wichtig,
eine Verzögerungsleitung
zu entwerfen, die auf eine Art und Weise, die diesen Logikfamilien ähnlich ist,
auf Versorgungsspannungsänderungen
anspricht, um eine genaue Schätzung
dessen zu erhalten, wie schnell das digitale System laufen kann.
Ferner weist jeder dieser Schaltungstypen ein einzigartiges Verzögerungsansprechverhalten auf
Versorgungsspannungsänderungen
auf. Beispielsweise ist ein Entwerfen einer Verzögerungsleitung, die eine dynamische
Logik als Schätzung
dessen verwendet, wie schnell ein Statiklogikpfad in dem digitalen
System arbeitet, nicht sehr genau. Eine derartige Vorgehensweise
erfolgt auf Kosten der Systemleistungsfähigkeit.
-
Eine
mögliche
Falle einer verzögerungsleitungsbasierten
Geschwindigkeitsschätzungsschaltung
ist ein Zyklus-zu-Zyklus-Aliasing.
Da das Leistungsverwaltungssystem und Taktsystem Versorgungsspannung
und Frequenz dynamisch einstellen, ist es möglich, daß die Versorgungsspannung niedrig genug
eingestellt wird, daß sich
die Verzögerungsleitungen
so stark verlangsamen, daß ein
Testpuls in der Verzögerungsleitung „steckenbleibt". Der „steckengebliebene" Puls erscheint erst
bei der nächsten Aktivierung
von AUSWERTEN an dem Eingang zu der Geschwindigkeitsvergleichslogik.
In dieser Situation ist es wahrscheinlich, daß die Geschwindigkeitsvergleichslogik
diesen späten
Puls als Hinweis darauf interpretiert, daß die Verzögerungsleitungen schnell laufen,
und folglich SCHNELL aktiviert, wie in 1B gezeigt ist. Dies bewirkt wiederum,
daß die Taktgeneratoren
die Taktfrequenz erhöhen,
und bewirkt, daß die
kritischen Pfade des Chips ihre Fristen verfehlen. Aufgrund dieses
Fehlers kann sich das System nicht erholen und beginnt, fehlerhafte
Ergebnisse zu erzeugen. Ein Freimachen der abwechselnden Verzögerungsleitungen,
bevor jede einzelne auswertet, wie gemäß den Ausführungsbeispielen in diesem
Dokument beschrieben wurde, beseitigt vollständig das Potential bezüglich eines
Aliasings in dem System.
-
Das
vorliegende Dualverzögerungsleitungsschema
ermöglicht
eine Verzögerungsleitung,
die aus einer beliebigen Art oder Kombination von Schaltungsanordnungstypen
besteht. Beispielsweise kann die Verzögerungsleitung unter Verwendung
von entweder statischen oder dynamischen Logikstufen imple mentiert
sein, vorausgesetzt, daß sie
derart implementiert ist, daß sie
während
der Rücksetzphase
freigemacht werden kann. Dies ist sehr wünschenswert, da tatsächliche
für ein
digitales System kritische Pfade üblicherweise aus einer gewissen
Kombination dieser Logiktypen aufgebaut sind und die Verzögerungsleitung
entworfen werden kann, um tatsächliche
Systempfade auf realistischere Weise zu nachzubilden. Hierin offenbarte
Ausführungsbeispiele
beseitigen ein Zyklus-zu-Zyklus-Aliasing bei verzögerungsleitungsbasierten
Digitalschaltungsgeschwindigkeitsmeßschaltungen, während sie
dieselbe Auswertungsfrequenz ermöglichen,
die bei einem auf einer einzigen Verzögerungsleitung beruhenden System
verwendet werden kann.
-
5 ist ein Flußdiagramm,
das ein Verfahren 500 gemäß einem Ausführungsbeispiel
zum Auswerten der Geschwindigkeit einer Schaltung veranschaulicht.
Wie bei Operation 502 gezeigt ist, umfaßt das Verfahren ein Einkoppeln
des ersten Eingangssignals 226 in die erste Verzögerungsleitung 24 und ein
gleichzeitiges Anlegen des Rücksetzsignals 225 an
die zweite Verzögerungsleitung 25,
so daß alle
Signale 227, 229, die sich durch die zweite Verzögerungsleitung 25 ausbreiten,
eliminiert werden, wie bei Operation 503 näher gezeigt
ist. Das Verfahren umfaßt
ferner ein Einleiten eines Auswertungssignals 230, wie
bei Operation 504 gezeigt ist; ein Empfangen eines ersten
Ausgangssignals 228 von der ersten Verzögerungsleitung 24 ansprechend
auf das erste Eingangssignal 226, wie bei Operation 505 gezeigt
ist; und ein Empfangen des Auswertungssignals 230, wie
bei Operation 506 gezeigt ist. Das Verfahren umfaßt ferner
ein Aktivieren eines Ausgangslogiksignals 231, 232 in
Abhängigkeit
von dem Zeitpunkt des Empfangens 505 des ersten Ausgangssignals 228 relativ
zu dem Zeitpunkt des Empfangens 506 des Auswertungssignals 230,
wie bei Operation 507 gezeigt ist. Das Verfahren umfaßt ferner
ein Abwechseln der Phase der ersten Verzögerungsleitung 24 und
der zweiten Verzögerungsleitung 25,
wie bei Operation 508 gezeigt ist, und ein gleichzeitiges
Einkoppeln des zweiten Eingangssignals 227 in die zweite
Verzögerungsleitung 25 und
ein Anlegen des Rücksetzsignals 224 an
die erste Verzögerungsleitung 24,
wie bei Operation 509 gezeigt ist, so daß alle Signale 226, 228,
die sich durch die erste Verzögerungsleitung 24 ausbreiten,
eliminiert werden, wie bei Operation 510 gezeigt ist. Das
Verfahren umfaßt
ferner ein Einleiten des Auswertungssignals 230, wie bei
Operation 511 gezeigt ist; ein Empfangen des zweiten Ausgangssignals 229 von
der zweiten Verzögerungsleitung 25 ansprechend
auf das zweite Eingangssignal 227, wie bei Operation 512 gezeigt
ist; und ein Empfangen des Auswertungssignals 230, wie
bei Operation 513 gezeigt ist. Das Verfahren umfaßt ferner
ein Aktivieren des Ausgangslogiksignals 231, 232 in
Abhängigkeit
von dem Zeitpunkt des Empfangs 512 des zweiten Ausgangssignals 229 relativ
zu dem Zeitpunkt des Empfangens 513 des Auswertungssignals 230,
wie bei Operation 514 gezeigt ist.
-
Abhängig von
Zeitgebungssignalen umfaßt das
Verfahren ein weiteres Abwechseln von Phasen der ersten Verzögerungsleitung 24 und
der zweiten Verzögerungsleitung 25,
wie bei Operation 515 gezeigt ist, gefolgt von einem Zurückführen des
Betriebsflusses bei Operation 516 zum Start bei der Operation 501.
-
6 ist ein Flußdiagramm,
das ein Verfahren 600 gemäß einem weiteren Ausführungsbeispiel zum
Auswerten der Geschwindigkeit einer Schaltung veranschaulicht. Das
Verfahren umfaßt
ein Bestimmen, während
einer ersten Betriebsphase 602 eines ersten Betriebszyklus 601,
der Ausbreitungsgeschwindigkeit eines ersten Signals 226, 228 in
einem ersten Signalausbreitungspfad 24, und ein gleichzeitiges
Hindern 225 aller Signale 227, 229 daran,
sich in dem zweiten Signalausbreitungspfad 25, der zu dem
ersten Signalausbreitungspfad 24 im wesentlichen parallel
ist, auszubreiten, wie bei Operation 605 gezeigt ist. Das
Verfahren umfaßt
ferner ein Bestimmen, während
der zweiten Betriebsphase 603, die sich mit der ersten
Betriebsphase 602 abwechselt, der Ausbreitungsgeschwindigkeit
eines zweiten Signals 227, 229 in einem zweiten
Signalausbreitungspfad 25, und ein gleichzeitiges Hindern 224 aller
Signale 226, 228 daran, sich in dem ersten Signalausbreitungspfad 24 auszubreiten,
wie bei Operation 606 gezeigt ist.
-
Bei
Operation 604 kehrt der Betriebsfluß zu Operation 601 zurück, um einen
nächsten
Betriebszyklus zu beginnen.