-
GEBIET DER ERFINDUNG
-
Ausführungsformen
der Erfindung betreffen Timing von Schaltungen. Insbesondere betreffen Ausführungsformen
das Einstellen von Schaltungstaktverlaufs-Parametern, um die Leistung
zu steigern und/oder Betriebsfehler zu vermeiden. Andere Ausführungsformen
werden ebenfalls beschrieben und beansprucht.
-
ALLGEMEINER STAND DER TECHNIK
-
Elektronische
Schaltungen arbeiten oft synchron unter der Steuerung eines oder
mehrerer Taktsignale. Die Arbeitsgeschwindigkeit kann durch Steigern
der Taktfrequenzen gesteigert werden, bis Signalausbreitungs- und
andere Verzögerungen
in Bezug auf die Taktzeiträume
lang genug werden, daß Signale
nicht mehr zuverlässig
innerhalb des richtigen Zyklus empfangen werden. (Die Betriebsfrequenz
steht außerdem
in Korrelation zur Leistungsaufnahme, zur Versorgungsspannung und
zur Wärmeerzeugung,
so daß auch
Leistungs- und Wärmeeffekte
die Maximalgeschwindigkeit begrenzen können, mit der eine Schaltung
betrieben werden kann.)
-
Einige
komplexe Schaltungen, wie z. B. Mikroprozessoren und Digitalsignalprozessoren,
zeigen eine erhebliche Variabilität von Gerät zu Gerät bei der maximalen Taktfrequenz
aufgrund von Veränderungen
in Fertigungsbedingungen, Materialeigenschaften und anderen Faktoren.
Derartige Geräte können nach
der Herstellung sortiert werden, indem sie unter ungünstigsten
Bedingungen mit zunehmenden Taktfrequenzen getestet werden. Nach
Ermitteln der Frequenz, bei der das Gerät inkonsistent zu arbeiten
beginnt, wird ein Sicherheitsfaktor angewandt, und das Gerät wird zur
Verwendung bei einer bestimmten, niedrigeren Frequenz zugelassen.
-
Dieses
Verfahren des Setzens einer maximalen Betriebsfrequenz ist recht
zuverlässig
(bei gegebenem ausreichend breitem Sicherheitsband), verzichtet
jedoch auf Leistung, wenn das Gerät unter besseren als den ungünstigsten
Bedingungen betrieben wird. Außerdem
berücksichtigt
das statische Sortieren zum Fertigungszeitpunkt nicht die natürliche zeitbedingte Änderung
in den Charakteristika des Gerätes.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
Ausführungsformen
der Erfindung werden als Beispiel und nicht als Einschränkung in
den Figuren der beiliegenden Zeichnungen dargestellt, in denen ähnliche
Bezugszeichen ähnliche
Elemente anzeigen. Es ist anzumerken, daß Bezüge auf „eine" (englisch „an" oder „one") Ausführungsform in dieser Beschreibung
nicht zwangsläufig
solche auf dieselbe Ausführungsform
sind und daß derartige
Bezüge „mindestens
eine" bedeuten.
-
1 ist
ein Timing-Diagramm, das Parameter zeigt, die für Ausführungsformen der Erfindung von
Belang sind.
-
2 ist
ein Ablaufdiagramm, das die Operationen einer Ausführungsform
der Erfindung skizziert.
-
3 ist
ein Schaltschema, das eine andere Ausführungsform der Erfindung zeigt.
-
4 zeigt
mehrere alternative Implementierungen einer Komponente in 3.
-
5 zeigt
Timing-Diagramme dreier Arbeitsregeln einer Ausführungsform der Erfindung.
-
6 zeigt
ein größeres System,
das Ausführungsformen
der Erfindung einsetzt.
-
AUSFÜHRLICHE BESCHREIBUNG DER ZEICHNUNGEN
-
Ausführungsformen
der Erfindung überwachen
wichtige Timing-Parameter eines Geräts dynamisch, während das
Gerät sich
in normalem Betrieb befindet (z. B. während seiner Integration in
ein System oder danach, während
das System in Benutzung durch einen Endbenutzer ist). Ein drohender
Timing-Fehler kann signalisiert und/oder Betriebsparameter können automatisch
eingestellt werden, um verbesserte Leistung unter tatsächlichen
Umgebungsbedingungen zu erlangen.
-
1 zeigt
ein Schaltzeichen eines transparenten Latches 100 und ein
Timing-Diagramm, das einige Aspekte des Latch-Betriebes darstellt.
Während
das Taktsignal 110 am Eingang CLK 135 auf einem
ersten Pegel ist (während
Zeitraum 175), breiten sich Änderungen im Eingangssignal 105,
das am Eingang D 120 vorliegt, nach einer Verzögerung 140 zum
Ausgang Q 125 aus (siehe Übergänge 145 im Taktverlaufsdiagramm-Ablauf
von Ausgangssignal 115). Wenn zur Zeit 180 das
Taktsignal auf einen zweiten Pegel übergeht, speichert das Latch
den Wert des Eingangssignals 105, das am Eingang D 120 vorlag,
und nachfolgende Übergänge am Eingang
D beeinflussen den Ausgang Q nicht (man beachte das Fehlen von Übergängen während des
Zeitraums 185, wie bei 150 gezeigt). Das Eingangssignal am
Eingang D muß mindestens
eine kurze Zeitdauer 155 („Mindesteinstellzeit” (minimum
setup time) genannt) vor der Taktflanke zur Zeit 180 lang
stabil sein. Die Einstellzeit 160 ist länger als die Mindesteinstellzeit 155,
so daß das
gelatchte Ausgangssignal während
Zeitraum 185 richtig ist. Ist das Eingangssignal während der
Einstellzeit jedoch nicht stabil, kann das Latch nicht den richtigen
Wert speichern. Dies ist nahe der rechten Seite des Timing-Diagramms
gezeigt: Das Eingangssignal 105 ist nur die Einstellzeit 165 vor
der Taktflanke zur Zeit 190 lang stabil. Die Einstellzeit 165 ist
kürzer
als die Mindesteinstellzeit 155, so daß das Ausgangssignal 115 den
Wert des Eingangssignals zur Zeit 190 nicht richtig widerspiegelt
(siehe den Abschnitt von Ausgangssignal 115, der bei Element 170 angezeigt
ist). Dies ist ein Beispiel des unkorrekten Betriebes, der auftreten
kann, wenn eine Schaltung mit einer zu hohen Frequenz getaktet ist
oder wenn ein Datensignal in Bezug auf die Taktflanke zu spät ankommt,
die ein Latch veranlassen soll, dieses aufzuzeichnen.
-
Obgleich
die Timing-Diagramme in 1 anzeigen, daß das Latch
transparent ist, wenn das Taktsignal auf hoch (high) ist, und daß es die
Daten latcht, die zu einer fallenden Flanke des Taktes vorliegen, können andere
Latches transparent sein, wenn der Takt auf niedrig (low) ist, und
Daten latchen, die an einer ansteigenden Taktflanke vorliegen. Bei
einigen Schaltungsentwürfen
können
aus Platz-, Geschwindigkeits- oder Effizienzgründen invertierende Latches
bevorzugt sein. Andere Schaltungen können Untereinheiten einsetzen,
die in ihren Anforderungen einer Mindesteinstellzeit auf ein Datensignal
Latches ähnlich
sind, aber keine transparenten Latches sind (beispielsweise ein
flankengesteuertes Flipflop). Diese alternativen Latches und latchähnlichen
Schaltungen können
ebenfalls mit einer Ausführungsform
der Erfindung verwendet werden.
-
Eine
Schaltung, die eine Ausführungsform der
Erfindung implementiert, kann bevorstehende Timing-Fehler (Latchfehler
aufgrund unzureichender Einstellzeiten) detektieren, indem sie gemäß dem Ablaufdiagramm
in 2 arbeitet. Ein Datensignal wird zu einem Bereich
der Schaltung geleitet, wo das Signal zu latchen ist (210).
Eine verzögerte
Version des Datensignals wird ebenfalls verfügbar gemacht (220).
Das Datensignal und das verzögerte
Datensignal werden zu einer Flanke eines Taktsignals (240(a) und 240(b))
in zwei Latches gelatcht (ein Signal pro Latch). Das unverzögerte Signal
wird eine bestimmte Einstellzeit in Bezug auf die Taktflanke aufweisen, und
das verzögerte
Signal wird eine zweite, kürzere Einstellzeit
in Bezug auf die Taktflanke aufweisen. Die zweite Einstellzeit wird
um die Länge
der Signalverzögerung
kürzer
als die erste sein.
-
Als
Nächstes
werden das erste gelatchte Signal und das zweite gelatchte Signal
verglichen (250). Sind die gelatchten Werte gleich, konnten
beide Latches den richtigen Wert speichern, so daß kein Timing-Fehler
auftrat (260). Sind die gelatchten Werte ungleich, dann
war die Einstellzeit am zweiten Latch wahrscheinlich kürzer als
die Mindesteinstellzeit (270).
-
Das
Ergebnis des Vergleichs stellt einen Hinweis darauf bereit, wie
nahe die aktuellen Schaltungsarbeitsbedingungen daran sind, zu versagen. Wenn
die Latches beide korrekt arbeiten, könnte die Schaltung beispielsweise
durch Erhöhen
der Taktgeschwindigkeit schneller betrieben werden. Alternativ könnte die
Leistungsaufnahme der Schaltung durch Senken ihrer Betriebsspannung
reduziert werden. Statt dessen könnten
andere Betriebsparameter eingestellt werden, um ohne signifikante
Gefahr, unkorrekten Betrieb durch Timing-Verletzungen zu verursachen,
ein unterschiedliches Ziel zu erreichen.
-
Wenn
es dem zweiten Latch nicht gelungen ist, den richtigen Wert zu speichern,
zeigt dies jedoch an, daß die
Schaltung unter den Bedingungen nahe ihrer Maximalgeschwindigkeit
arbeitet. Das erste Latch weist den richtigen Wert auf, da seine
Einstellzeit länger
als die des zweiten Latches war, aber jedwede Bedingungsänderungen,
die dazu tendieren würden,
die Timing-Spielräume
zu verringern (z. B. Erhöhen
der Taktfrequenz, Senken der Betriebsspannung) könnten die Schaltung zu unkorrektem Betrieb
verschieben. Die Schaltung hat eigentlich nicht versagt (das erste
Latch enthält
den richtigen Wert), so daß es
noch etwas verbleibenden Timing-Sicherheitsspielraum gibt. Der Spielraum
kann nicht größer als
die Verzögerung
im Datensignal sein, das zum zweiten Latch geliefert wird.
-
3 zeigt
eine praktische Schaltung, die eine Ausführungsform der Erfindung verwendet,
um aktuelle Timing-Spielräume
zu beurteilen und verspätete
Timing-Übergänge zu detektieren.
Latches 325 und 370 können transparente Latches sein,
wie z. B. unter Bezug auf 1 beschrieben.
Sie sind in einer Master-Slave-Konfiguration angeordnet, die üblicherweise
in einem Register, einem Cachespeicher, einer Arithmetik-Logikeinheit
(Arithmetic Logic Unit, „ALU") oder einer anderen
Struktur zu finden ist. Das Masterlatch 325 wird durch
eine Phase eines Taktsignals 310 gesteuert, und das Slavelatch 370 wird
durch eine andere Phase des Taktes gesteuert. Der Takt, der das
Masterlatch 325 (CLK, 310) steuert, ist als lokal
durch Inverter 315 generiert gezeigt, es können aber
beide Phasen anderswo in der Schaltung generiert und über einen
Taktverteilbaum zu den Latches geliefert werden.
-
An
der fallenden Flanke von CLK 310 latcht Masterlatch 325 die
Daten, die an seinem Eingang vorliegen, und an der nachfolgenden
fallenden Flanke von CLK 320 (die hier der nachfolgenden
ansteigenden Flanke von CLK 310 entspricht), latcht Slavelatch 370 den
Wert von Masterlatch 325.
-
Die
Ausgabe von Masterlatch 325 wird außerdem an das Detektorlatch
für verspätete Taktverlaufsübergänge (Late
Timing Transition Detector, „LTTD"-Latch) 345 übermittelt,
das seinen Eingang auf derselben fallenden Flanke von CLK latcht,
die Masterlatch 325 auslöst. Wegen der Verzögerung durch
Masterlatch 325 (siehe Element 140 nach 1)
weist LTTD-Latch 345 eine kürzere Einstellzeit als Masterlatch 325 auf.
In einigen Ausführungsformen
kann die Einstellzeit bei LTTD-Latch 345 durch Verzögern des
Signals vom Masterlatch 325 über eine Verzögerungsstruktur 335 weiter
verkürzt werden.
Ist das Masterlatch 325 nicht transparent oder versagt
es aus einem anderen Grund beim Einführen einer nützlichen
Verzögerung,
kann Eingangsdatensignal 305 über eine Verzögerungsstruktur
direkt mit LTTD-Latch 345 verbunden werden, wie bei 342 gezeigt.
-
Kurz
Bezug nehmend auf 4 kann die Verzögerungsstruktur 335 als
eine Kette von Invertern 410 implementiert sein. Die Verzögerung ist
proportional zur Anzahl an Invertern in der Kette. Eine gerade Anzahl
an Invertern bewahrt den Sinn des Datensignals, während eine
ungerade Anzahl verwendet werden kann, wenn andere Logikoperationen dementsprechend
eingestellt werden. Die Verzögerungsstruktur 335 kann
zusätzliche
Steuerung und Flexibilität
in einer Ausführungsform
bereitstellen, wenn die Verzögerung
einstellbar ist. Neben anderen Techniken können variable Verzögerungen
durch Modifizieren einer Inverterstufe 410 oder einer Lastkapazität 430 erlangt
werden. Element 440 zeigt, wie ein Inverter durch Bereitstellen
einer einstellbaren Stromsenke in einem Pull-Down-Zweig der Schaltung
modifiziert werden kann. Beispielsweise gestattet Transistor 450 in
Schaltungsfragment 460, daß das Inverter-Timing unter
der Steuerung einer Analogspannung V geändert wird. Digitale Steuerung des
Inverter-Timing könnte
durch paralleles Plazieren einer Anzahl von Pull-Down-Transistoren erreicht werden, wie
bei Element 480 in Schaltungsfragment 490 gezeigt.
Die Geschwindigkeit des Inverters in 480 kann gemäß vier Digitalsignalen
B eingestellt werden, wobei ein jedes einen der Transistoren 480 steuert.
Die Anzahl und Breite der Transistoren 480 kann ausgewählt werden,
um zu gestatten, daß die Verzögerung gemäß einer
n-bit-Binärzahl
gesteuert wird. Einstellbare Verzögerungsstrukturen können auch
durch Anbringen von mehr oder größeren Lastkapazitäten an einer
Ausgangssignalleitung über steuerbare
Schalter (nicht gezeigt) aufgebaut sein.
-
Zurückkehrend
zu 3 werden die Ausgaben von Masterlatch 325 und
LTTD-Latch 345 beispielsweise durch Exklusiv-ODER-Gatter („XOR"-Gatter) 350 verglichen.
Der Ausgang 355 von XOR-Gatter 350 ist auf low,
wenn die Latches im selben Zustand sind, und auf high, wenn die
Latches in unterschiedlichen Zuständen sind. Daher ist Signal 355 auf
high, wenn das Datensignal 305 eine kurze, aber noch akzeptable
Einstellzeit aufweist, während das
verzögerte
Datensignal 340 eine kurze und inakzeptable Einstellzeit
aufweist. Vergleiche anderer LTTD-Latches und ihrer entsprechenden
Masterlatches (z. B. XOR-Gatter 365) können über OR-Gatter 360 kombiniert
werden, dessen Ausgang 375 signalisiert, wenn ein oder
mehrere LTTD-Latches nicht mit ihrem Masterlatches übereinstimmen.
Der Ausgang des OR-Gatters kann durch Latchen desselben im transparenten
Latch 380 mit dem Takt synchronisiert sein. Eine „1" von Latch 380 zeigt
an, daß an
einem oder mehreren LTTD-Latches
ein Einstellzeitfehler aufgetreten ist.
-
Verschiedene
Modifikationen an der Schaltung nach 3 sind für den Durchschnittsfachmann offensichtlich.
Beispielsweise kann dann, wenn (aus Platz-, Leistungs- oder Geschwindigkeitsgründen, wie
vorher erwähnt)
invertierende Latches verwendet werden, eine ungerade Anzahl von
Invertern in Verzögerungsstruktur 335 oder
ein Nicht-Exklusiv-ODER-Gatter („XNOR"-Gatter) an die Stelle gesetzt werden,
um die beschriebene logische Operation zu bewahren. Die XOR-(XNOR-)-Gatter
und der OR-Baum
können
entweder mit statischen oder dynamischen Logikelementen gebaut sein.
Bei Implementierung in einem Komplementär-Metalloxid-Halbleiter-Prozeß („CMOS"-Prozeß) können „Domino"-Gatterkonstruktionen
verwendet werden. Das LTTD-Latch könnte seine Eingabe auch vom
selben Signal wie das Hauptlatch (statt vom Ausgang des Latches) empfangen,
wobei eine Verzögerung
direkt eingefügt
ist, wie durch die gestrichelte Linie 342 gezeigt.
-
5 zeigt
drei mögliche
Timing-Fälle
für Master-
und LTTD-Latches. Im ersten Fall sind sowohl das Datensignal 503 als
auch das verzögerte Datensignal 504 vor
der Mindesteinstellzeit 502 stabil, und somit speichern
beide Latches den richtigen Wert beim Taktübergang 501. Die Signale
stabilisieren sich zu Zeiten 513 bzw. 516 vor
der Mindesteinstellgrenze 502. Es wird kein Fehler signalisiert.
-
In
Fall 2 wird es, sowie das Datensignal 503 in Bezug auf
die Taktflanke 501, an der es zu latchen ist, später eintrifft,
dem verzögerten
Datensignal 504 letztendlich nicht gelingen, die Mindesteinstellzeit einzuhalten.
Das LTTD-Latch wird sich auf den falschen Wert einstellen, und es
wird ein Fehler signalisiert werden. Man beachte, daß die Daten 503 die Mindesteinstellzeit
noch einhalten (Zeit 522 tritt vor 502 ein), die
verzögerten
Daten 504 aber stabilisieren sich nicht bis zur Zeit 525 nach 502.
Der Übergang
bei 528 ist verspätet
und veranlaßt,
daß das LTTD-Latch
einen falschen Wert speichert.
-
In
Fall 3 trifft das Datensignal 503 noch später ein,
so daß es
ihm auch nicht gelingt, die Mindesteinstellzeit einzuhalten. Sowohl
das Masterlatch als auch das LTTD-Latch werden falsche Werte enthalten.
Dieser Fall ist vom verfrühten
Eintreffen eines Datensignals auf Grund dessen nicht unterscheidbar, daß es im
folgenden Zyklus gelatcht wird. Es wird kein Fehler signalisiert.
-
Eine
Ausführungsform
der Erfindung kann in einer Rückkopplungsschleife
verwendet werden, die einen oder mehrere Betriebsparameter einer
Schaltung steuert, wie in 6 gezeigt.
Die Schaltung kann ein monolithisches Gerät wie z. B. eine integrierte
CMOS-Schaltung sein,
die aus einer Anzahl Funktionseinheiten besteht. 6 zeigt
zwei Schaltungen 610 (die beispielsweise ein Digitalsignalprozessor
(„DSP") sein kann) und 660 (die
eine Computer-Zentraleinheit („CPU") sein kann).
-
Master-Slave-Latches
oder andere Flipflops, erweitert um ein Detektorlatch für verspätete Timing-Übergänge und
einen Komparator ähnlich
dem in 3 gezeigten, können
an verschiedenen physikalischen Orten um die monolithischen Schaltungen 610 und 660 herum
(beispielsweise bei 615, 620, 625, 680 und 692)
plaziert sein. Einsetzung 630 zeigt einige Elemente der
ergänzten
Latches. Latches und Flipflops liegen oft in gemeinschaftlich getakteten Bänken oder
Anordnungen vor, und nicht alle Latches in einer derartigen Anordnung
müssen
instrumentalisiert werden. Statt dessen kann ein LTTD-Latch die
Operationen einer Gruppe von Latches überwachen, die gemeinschaftlich
getaktet sind und Daten empfangen, die wahrscheinlich ähnliche Verzögerungen
zwischen der Datensignalquelle und den Latcheingängen erfahren.
-
LTTD-Komparator-(„Fehler"-)-Ausgaben können durch
beispielsweise OR-Gatter 635 kombiniert werden. Wie unter
Bezug auf 3 erwähnt, kann das Fehlersignal
durch Speichern desselben in einem anderen Latch (nicht gezeigt)
zu einem Takt synchronisiert werden. Das Fehlersignal zeigt an, daß einer
oder mehrere der LTTD-Monitore einen möglichen bevorstehenden Timing-Fehler
signalisierten. Dieses Fehlersignal wird einer Regelungsschaltung 640 bereitgestellt,
die Schaltungsparameter wie z. B. die Betriebsspannung 645,
die Substratkörpervorspannung 650 oder
die Taktfrequenz 655 einstellen kann. Die Regelungsschaltung
kann Schaltungsparameter einstellen, um ein vorgegebenes Verhältnis von
Fehler- zu Kein-Fehler-Signalen zu erreichen. Wenn das Zielverhältnis von
Fehler- zu Kein-Fehler-Signalen niedrig ist, wird die Schaltung mit
komfortablen Sicherheitsmargen arbeiten, aber etwas Leistung aufgeben
(sie wird beispielsweise langsamer arbeiten als sie könnte, oder
sie wird mehr Leistung aufnehmen, als streng genommen nötig ist). Wenn
das Zielverhältnis
hoch ist, wird die Schaltung mit reduzierten Sicherheitsmargen arbeiten,
aber Leistung gewinnen.
-
Die
Rückkopplungsschleife
sollte Parameter allmählich ändern, um
das Übergehen
vom ersten Timing-Fall nach 5 (keine
Fehler signalisiert, große
Timing-Spielräume)
direkt auf den dritten Timing-Fall (keine Fehler signalisiert, aber
Timing-Spielräume
verletzt) ohne Detektieren von Fehlern im Timing-Fall zwei zu vermeiden.
In einigen Ausführungsformen kann
eine Sicherheitsrücksetzschaltung 658 verwendet
werden, um die Rückkopplungsschleife
in eine extrem „langsame" Bedingung zu zwingen,
bevor es der Schleife gestattet wird, das Optimieren von Betriebsparametern
wiederaufzunehmen.
-
Die
Logik, welche die Rückkopplungsschleife
steuert, kann als Software oder als Firmware (sowie als Hardware)
implementiert sein, die Zugriff auf das Fehlersignal aus der LTTD-Schaltung hat. Eine derartige
Implementierung kann flexiblere Steuerung des Systems gestatten.
Beispielsweise könnte
die Software Betriebsparameter einstellen, um die Leistungsaufnahme
zu reduzieren, wenn das System an Batterien arbeitete, und die Leistung
zu erhöhen, wenn
angemessene Leistung und Kühlung
verfügbar wäre. Andere,
komplexere Leistungsprofile könnten ebenfalls
festgelegt werden.
-
Software
könnte
auch den Betrieb eines umfangreicheren Systems durch Überwachen
von Timing-Fehlern von einer Anzahl separater Schaltungen koordinieren.
Beispielsweise könnte
eine Regelungsschaltung in einer CPU 660 Systemparameter 685 (z.
B. Spannung, Taktfrequenz) in Reaktion auf Fehlersignale von anderen
Systemkomponenten, wie z. B. von DSP 610, Speicher 670 und
Ein- und Ausgabegeräten 675,
sowie Fehlersignale von LTTD-Latches 680 innerhalb
der CPU selbst einstellen. Der Gesamtsystemtakt könnte in
Reaktion auf Signale von einem DSP, einer CPU, einem Speichercontroller
und einem Hauptspeicher eingestellt werden. Alternativ könnte eine
Funktionseinheit innerhalb eines monolithischen Gerätes, wie
z. B. eine Fließkommaeinheit
(Floating Point Unit, „FPU") 690, mit
einer lokalen Regelung 695 und einem lokalen Parametereinsteller 698 ausgestattet
sein, um zu gestatten, daß lokale
Betriebsparameter in Reaktion auf Fehlersignale von LTTD-Latches 692 innerhalb
der Funktionseinheit eingestellt werden.
-
Eine
Ausführungsform
der Erfindung kann ein maschinenlesbares Medium sein, das darauf
gespeicherte Befehle aufweist, die einen Prozessor veranlassen,
Operationen wie oben beschrieben auszuführen. In anderen Ausführungsformen
könnten
die Operationen durch spezifische Hardwarekomponenten ausgeführt werden,
die festverdrahtete Logik enthalten.
-
Jene
Operationen können
alternativ durch jedwede Kombination aus programmierten Computerkomponenten
und maßgeschneiderten
Hardwarekomponenten ausgeführt
werden.
-
Ein
maschinenlesbares Medium kann jedweden Mechanismus zum Speichern
oder Übertragen von
Informationen in einer durch eine Maschine (z. B. einen Computer)
lesbaren Form beinhalten, einschließlich, jedoch nicht beschränkt auf
CDs (Compact Disc Read-Only Memory, CD-ROMs), Lese-Speicher (Read-Only
Memory, ROMs), Direktzugriffsspeicher (Random Access Memory, RAM), lösch- und
programmierbaren Lese-Speicher (Erasable Programmable Read-Only
Memory, EPROM) und eine Übertragung über das
Internet.
-
Die
Anwendungen der vorliegenden Erfindung sind weitgehend unter Bezug
auf spezifische Beispiele und im Hinblick auf bestimmte Zuteilungen von
Funktionalität
auf gewisse Hardware- und/oder Softwarekomponenten beschrieben worden.
Fachleute werden jedoch erkennen, daß eine Leistungssteigerung,
die auf Detektion verspäteter
Timing-Übergänge basiert,
auch durch Software und Hardware erreicht werden kann, die die Funktionen von
Ausführungsformen
dieser Erfindung unterschiedlich gegenüber dem hierin Beschriebenen
verteilt. Derartige Variationen und Implementierungen sind als gemäß den folgenden
Ansprüchen
festgesetzt zu verstehen.
-
ZUSAMMENFASSUNG
-
Zwei
Latches speichern den Zustand eines Datensignals bei einem Übergang
eines Taktsignals. Vergleichslogik vergleicht die Ausgaben der zwei
Latches und produziert ein Signal, um anzuzeigen, ob die Ausgaben
gleich oder ungleich sind. Beschrieben und beansprucht werden Systeme,
welche die Latches und die Vergleichslogik verwenden.