-
Die
Erfindung bezieht sich auf eine elektronische Schaltung mit einer
Vielzahl von Taktdomänen und
ein Verfahren zum Testen einer solchen elektronischen Schaltung.
-
Aus
einer Anzahl von Gründen
werden integrierte Schaltungen in mehrere Taktdomänen, die ihre
eigenen Taktsignale haben, aufgeteilt (die Aufteilung geschieht
nur in einem funktionalen Sinn, nicht physikalisch). Die Verwendung
verschiedener Taktdomänen
verringert die Anforderungen an den Versatz der Taktsignale, die
für verschiedene
Subdomänen
verwendet werden und kann verwendet werden, um beispielsweise die
Leistungsaufnahme der Schaltung zu reduzieren. In einer Schaltung
mit mehreren Taktdomänen
sind die Taktsignale von verschiedenen Taktdomänen untereinander beispielsweise
in Hinsicht von Phase, Frequenz oder Arbeitszyklus verschieden.
In jeder Domäne
kann die Lieferung des Taktsignals an Subschaltungen in dieser Taktdomäne unabhängig von
den anderen Taktdomänen
abgeschaltet werden.
-
Leider
macht die Verwendung verschiedener Taktdomänen das Testen und das Debuggen
der elektronischen Schaltung schwieriger. US Patente Nr. 6.131.173
und Nr. 6.327.684 beschreiben Lösungen,
um diese Schwierigkeiten zu mildern. In
US 6.131.173 ist am Interface zwischen
zwei Taktdomänen
eine Interface-Schaltung eingefügt,
welche die verschiedenen Taktdomänen
in einem Testmodus voneinander isolieren kann. Dieses Interface
macht es möglich,
Daten in die oder aus der isolierten Taktdomäne zu liefern oder zu extrahieren.
-
Diese
Technik macht es aber nicht möglich, die
verschiedenen Subschaltungen aus verschiedenen Taktdomänen zu testen
oder zu debuggen, wenn sie miteinander kooperieren. Um solch einen
kooperativen Betrieb zu debuggen ist es notwendig, den Subschaltungen
zu erlauben, zu kooperieren, während
jede mit ihrem eigenen Taktsignal getaktet wird. Auf eine Stop-Anfrage
von dem Tester, Debugger oder Debug-Hardware auf dem Chip werden
die Takte gestoppt, um die während
der Kooperation der Schaltungen produzierten Daten zu prüfen. Aber
es wurde festgestellt, dass ein solches Verfahren des Debuggens
nicht immer zuverlässige
Ergebnisse liefert. Beispielsweise passt der Vergleich der während der
Kooperation erzeugten Daten nicht konsequent zu Simulationsdaten,
auch wenn die Schaltung richtig arbeitet.
-
Unter
anderem ist es eine Aufgabe das Debuggen und Testen von elektronischen
Schaltungen, die mehrere Taktdomänen
enthalten, in denen Subschaltungen aus verschiedenen Taktdomänen miteinander
kooperieren, zu erleichtern.
-
Die
erfindungsgemäße elektronische
Schaltung ist in Anspruch 1 dargelegt. Es wurde realisiert, dass
die Unzuverlässigkeit
der Ergebnisse des Debuggens eine Konsequenz der Tatsache ist, dass
es unmöglich
ist, die Takte in verschiedenen Taktdomänen gleichzeitig zu stoppen.
Beispielsweise ist es normalerweise notwendig, den aktuellen Taktzyklus zu
vollenden, bevor der Takt gestoppt werden kann. Aber aufgrund von
Phasen- und Frequenzunterschieden
zwischen den verschiedenen Taktsignalen kann der Takt einer ersten
Taktdomäne
vor dem Takt einer zweiten Taktdomäne gestoppt werden.
-
Das
kann den Effekt haben, dass ein Datenspeicherelement in der zweiten
Taktdomäne
ungültige
Daten, vor allem Daten, die vor dem Auffangen hätten upgedatet werden müssen, bevor
sie aufgefangen wurden, aber nicht upgedatet wurden, weil das Taktsignal
der erste Taktdomäne
vor dem Update gestoppt wurde, auffängt. Dies passiert, wenn ein
aktives Teil eines Taktsignals, das Update-Daten in dem Datenspeicher
in der ersten Taktdomäne
steuert, in dem Zeitintervall zwischen dem Signal zum Stoppen der
Takte und der Zeit, wann Daten von dem Datenspeicherelement in der
zweiten Taktdomäne
aufgefangen werden, unterdrückt
wird. (Der aktive Teil kann eine Taktsignalflanke im Falle der Flankengesteuerten
Datenspeicherelemente oder ein Puls im Falle von Pulsgesteuerten
Datenspeicherelementen usw. sein). Nach dem Stand der Technik kann
der Debugger oder Tester nicht sehen, ob dies passiert ist oder
nicht. Deshalb kann dies zu irreführenden Schlüssen über das
Arbeiten der Schaltung führen.
-
Gemäß der Erfindung
wurde ein Detektor geschaffen, der mit dem Interface zwischen einer
ersten und einer zweiten der Subschaltungen aus verschiedenen Taktdomänen einhergeht.
Der Detektor ist angeordnet, die Bedingungen, unter denen Daten
aufgefangen werden, wenn die Takte der Subschaltungen gestoppt werden,
festzustellen. In einem Sinne bestimmt er die Phasenbeziehung zwischen
den Taktsignalen bis zu dem Umfang, dass diese Phasenbeziehung für den Datentransfer
zwischen Taktdomänen
zu der Zeit, wenn die Taktsignale gestoppt werden, relevant ist.
Das ermöglicht
es dem Tester oder Debugger, die aufgefangenen Daten richtig zu evaluieren,
beispielsweise durch Verwerfen von Daten, die zu spät aufgefangen
wurden.
-
In
einer Ausführungsform
der Erfindung ist der Detektor mit einem Paar von Flag-Speicherelementen
implementiert. Das erste Flag-Speicherelement setzt eine Vor-Flag
als Antwort auf das Taktsignal einer ersten Subschaltung, wenn das
Taktsignal nicht länger
an die erste Subschaltung abgegeben wird, und das zweite Flag-Speicherelement
kopiert die Vor-Flag als Antwort auf das Taktsignal von der zweiten
Subschaltung wenn das Taktsignal an die zweite Subschaltung abgegeben
wird. Die Flag repräsentiert
also, ob das Taktsignal der zweiten Schaltung verursacht hat, dass
Daten aufgenommen wurden, nachdem der Takt der ersten Subschaltung
blockiert worden war.
-
In
einer anderen Ausführungsform
ist ein Pipeline-Datenspeicherelement zu dem Datenspeicherelement
der zweiten Subschaltung hinzugefügt. Das Pipeline-Datenspeicherelement
speichert überschriebene
Daten aus dem Datenspeicherelement. Also sind sowohl die Daten für einen
Taktzyklus wie auch einen vorhergehenden Taktzyklus gespeichert und
die einen oder die anderen können
abhängig
davon, ob die Flag gesetzt ist, verwendet werden. Auf diese Weise
können
konsistente Daten sichergestellt werden.
-
Vorzugsweise
können
sowohl die Flag wie auch die Daten über eine konventionelle Abtastkette ausgelesen
werden, wenn der Takt gestoppt worden ist, oder, als eine Alternative,
die Flag kann steuern, welche Daten über die Abtastkette ausgelesen
werden.
-
Diese
und andere Aufgaben und Vorteile der erfindungsgemäßen elektronischen
Schaltung und das Verfahren des Testens dieser Schaltung wird detaillierter
mit Hilfe der Zeichnung beschrieben. Es zeigen:
-
1 eine
elektronische Schaltung mit mehreren Taktdomänen;
-
2 Signale,
die während
des Betriebs auftreten;
-
3 eine
Detektorschaltung;
-
4 eine
elektronische Schaltung mit mehreren Taktdomänen; und
-
5 ein
Detail einer elektronischen Schaltung.
-
1 zeigt
eine elektronische Schaltung mit mehreren Taktdomänen. Die
Schaltung enthält
den Taktschaltkreis 10, zwei Taktdomänen 12a, b mit einem
ersten Speicherelement 120 beziehungsweise einem zweiten
Speicherelement 122, Takt-Torschaltungen 14a, b und einen
Detektor 16. Das erste Speicherelement hat einen an den Eingang
des zweiten Speicherelements 122 gekoppelten Datenausgang. Obwohl
eine direkte Verbindung gezeigt ist, wird es zu verstehen sein,
dass die Verbindung über
kombinatorische Logikschaltungen (nicht gezeigt) laufen kann. Taktausgänge des
Taktschaltkreises 10 sind über die entsprechenden Takt-Torschaltungen 14a,
b an die Takteingänge
der ersten und zweiten Datenspeicherelemente 120, 122 gekoppelt.
Weitere Speicherelemente (nicht gezeigt) können in den Taktdomänen 12a,
b vorhanden sein, möglicherweise
innerhalb der Domänen über kombinatorische
Logikschaltungen (nicht gezeigt) miteinander gekoppelt. Diese weiteren
Datenspeicherelemente werden auch von den Taktsignalen von der entsprechenden
Takt-Torschaltung 14a, b getaktet. Obwohl für die Datenspeicherelemente 120, 122 ein
einziger Ausgang und Eingang gezeigt werden, wird es genauso klar
sein, dass dieser Ausgang und Eingang ein einzelnes Bit oder mehrere
Bits erlauben. Alle Schaltungen sind vorzugsweise in derselben integrierten
Schaltung enthalten, aber natürlich
können
statt dessen über verschiedene
integrierte Schaltungen verteilte Schaltungen verwendet werden.
-
Als
Beispiel werden beide Takt-Torschaltungen 14a, b mit einer ähnlichen
Struktur gezeigt, sie enthalten ein ersten Flipflop 140,
ein zweites Flipflop 142 und ein UND-Gatter 144.
Ein Taktausgang von dem Taktschaltkreis 10 ist an die Takteingänge der ersten
und zweiten Flipflops 140, 142 und an einen ersten
Eingang des UND-Gatters 144 gekoppelt. Ein Dateneingang 148 des
ersten Flipflops 140 bildet einen Takt-Tor-Kommandoeingang der
Takt-Torsteuerungsschaltung 14a. Ein Datenausgang des ersten Flipflops 140 ist
an einen Dateneingang des zweiten Flipflops 142 gekoppelt.
Ein Datenausgang des zweiten Flipflops 142 ist an einen
zweiten Eingang des UND-Gatters 144 gekoppelt. Der Ausgang
des UND-Gatters 144 ist an einen Takteingang der Taktdomäne 12a gekoppelt,
wo er an den Takteingang des ersten Speicherelements 120 gekoppelt
ist. Ähnlich
hat die Takt-Torsteuerungsschaltung 14b der zweiten Subschaltung
einen Takt-Tor-Kommandoeingang,
einen Takteingang, der an den Taktschaltkreis 10 gekoppelt
ist und einen Taktausgang, der an den Takteingang der zweiten Taktdomäne 12b gekoppelt ist,
wo er an das zweite Speicherelement gekoppelt ist. Der erste und
zweite Eingang des UND-Gatters 144 und
der Taktausgang der Takt-Torsteuerungsschaltung 14b der
zweiten Subschaltung sind an den Detektor 16 gekoppelt.
-
Man
wird verstehen, dass die präzise
Struktur der Takt-Torsteuerungsschaltungen
nur zu Illustrationszwecken gezeigt wird. Ohne von der Erfindung
abzuweichen kann jede andere Art von Takt-Torsteuerungsschaltung,
welche die Steuerung von Taktsignalen erlaubt, verwendet werden.
-
Im
Betrieb lassen die Takt-Torsteuerungsschaltungen 14a, b
normalerweise Signale von dem Taktschaltkreis 10 an die
Taktdomänen 12a,
b durch. Wenn ein Stopsignal an den Takt-Torbefehlseingängen der
Takt-Torsteuerungsschaltungen 14a, b geltend gemacht wird,
blockieren diese Takt-Torsteuerungsschaltungen 14a, b den
Durchgang der Taktsignale zu ihren entsprechenden Taktdomänen 12a,
b nachdem ein kompletter Taktzyklus stattgefunden hat. Detektor 16 stellt
fest, ob Daten in das zweiten Datenspeicherelement 122 geladen
wurden, wenn diese Daten von der Tatsache betroffen sind, dass keine
Daten in das erste Datenspeicherelement 120 geladen wurden,
nachdem das Stopsignal geltend gemacht wurde.
-
2 zeigt
Signale, die während
des Betriebs auftreten. Ein erster und zweiter Verlauf zeigen die
von dem Taktschaltkreis an die Takt-Torsteuerungsschaltungen 14a,
b ausgegebenen Taktsignale CLK1, CLK2. Ein dritter Verlauf zeigt
ein Stopsignal STOP, welches an die Takt-Torbefehlseingänge der Takt-Torsteuerungsschaltungen 14a,
b angelegt wird. Ein vierter und fünfter Verlauf zeigen torgesteuerte Taktsignale
GCLK1, GCLK2, welche die Takt-Torsteuerungsschaltungen 14a,
b zu den Taktdomänen 12a,
b passieren. Ein sechster Verlauf zeigt das vom Detektor 16 ausgegebene
Signal FLAG.
-
Das
Signal STOP veranlasst die Takt-Torsteuerungsschaltungen 14a,
b dazu, nur einen positiven Taktpuls 20, 22 weiter
zu geben, nachdem das STOP-Signal geltend gemacht wurde. Anschließend ist
das Taktsignal blockiert. Wenn das STOP-Signal nicht geltend gemacht
wird, gibt das UND-Gatter 144 alle Taktsignale weiter.
Auf die ansteigende Flanke dieses Taktpulses 20, 22 hin
kopiert das erste Flipflop 140 das STOP-Signal von dem
Takt-Torsteuerungsbefehlseingang 148. Auf die abfallende
Flanke diese Taktpulses 20, 22 hin kopiert das
zweite Flipflop 142 das STOP-Signal, welches dann das UND-Gatter 144 daran
hindert, weitere Taktpulse weiterzugeben. Detektor 16 überwacht,
ob das UND-Gatter 144 irgendwelche
Taktpulse empfängt,
nachdem das UND-Gatter daran gehindert wurde, weitere Taktpulse
weiterzugeben. Wenn dies passiert und die zweite Takt-Torsteuerungsschaltung 14b einen
Taktpuls ausgibt, setzt der Detektor 16 sein Ausgangssignal FLAG,
um anzuzeigen, dass das zweite Datenspeicherelement 122 ungültige Daten
aufgenommen haben könnte.
-
3 zeigt
ein Beispiel einer Implementierung des Detektors 16. Diese
Implementierung enthält
ein erstes Flipflop 30 und ein zweites Flipflop 32. Das
Taktunterdrückungssignal
von der ersten Takt-Torsteuerungsschaltung 14a (von dem
Ausgang des zweiten Flipflops 142 in dieser ersten Takt-Torsteuerungsschaltung 14a)
wird an den Datenein gang 36 des ersten Flipflops 30 gelegt.
Dieses erste Flipflop 30 empfangt das nicht torgesteuerte
Taktsignal CLK1 von der ersten Takt-Torsteuerungsschaltung 14a an
einem Takteingang 34. Der Datenausgang des ersten Flipflops 30 ist
an einen Dateneingang des zweiten Flipflops 32 gekoppelt.
Das zweite Flipflop 32 hat einen Takteingang 38,
der an den torgesteuerten Taktausgang der zweiten Takt-Torsteuerungsschaltung 14b (GCLK2
ausgebend) gekoppelt ist. Ein Datenausgang 39 des zweiten
Flipflops 32 liefert das Ausgangssignal FLAG von Detektor 16.
-
Im
Betrieb wird zuerst das Flipflop 30 von Detektor 16 gesetzt,
wenn die erste Takt-Torsteuerschaltung 14a einen Taktpuls
unterdrückt.
Diese Gesetzt-Daten von dem ersten Flipflop 30 werden zu dem
zweiten Flipflop 32 kopiert, wenn das zweite Flipflop 32 nach
dem Taktpuls getaktet wird. Erstes Flipflop 30 und zweites
Flipflop 32 ahmen das erste und zweite Datenspeicherelement 120, 122 nach,
um festzustellen, ob ungültige
Daten durch das zweite Datenspeicherelement aufgenommen worden sein können. Kopieren
der vorher festgelegten Flagdaten durch das zweite Flipflop 32 deutet
auf das Kopieren ungültiger
Daten durch das zweite Datenspeicherelement 122 hin. Die
vorher festgelegte Flag-Daten werden erstellt, weil ein Unterschied
zwischen den Flipflops 30, 32 und den Datenspeicherelementen 120, 122 ist,
dass das erste Flipflop 30 den nicht-torgesteuerten Takt
empfängt,
d.h. der Takt sollte vorhanden sein, um gültige Daten für das zweite
Datenspeicherelement 122 zu produzieren, und dass die vorher festgelegten
Flagdaten (das STOP-Signal) in das erste Flipflop 30 geladen
werden, wenn das Taktsignal unterdrückt wird.
-
Es
sei bemerkt, das es Timing-Unterschiede zwischen Taktsignalen, die
an die Datenspeicherelemente 120, 122 angelegt
werden, und Taktsignalen, die an den Detektor 16 angelegt
werden, aufgrund von Unterschieden in der von den Taktsignalen erfahrenen
Verzögerung,
bevor sie die entsprechenden Schaltungen erreichen, geben kann.
Dies ist kein Problem, wenn der Detektor 16 angelegt ist,
eine Grenzfallsituation festzustellen. Vorzugsweise wird deshalb
sichergestellt, dass die von den ersten Domänentaktsignalen, die im Detektor 16 verwendet werden,
erfahrene Verzögerung
kürzer
ist als (oder mindestens genauso kurz wie) die Verzögerung,
mit der diese Signale an die erste Domäne 12a angelegt werden,
während
die von den zweiten Domänentaktsignalen,
die in Detektor 16 verwendet werden, erfahrene Verzögerung länger als
(oder mindestens so lang wie) die Verzögerung, mit der diese Signale
an die zweite Domäne 12b angelegt
werden, ist.
-
Es
wird zu verstehen sein, dass die Auswahl der Taktsignalflanken,
an denen erstes und zweites Flipflop 30, 32 in
der Ladeinformation des Detektors 16 mit den Taktflanken
an deren Daten erstes und zweites Speicherelement 120, 122 Daten
laden, entspricht. Wenn also das zweite Speicherelement Daten an
der negativen Taktflanke Daten lädt,
lädt beispielsweise
das zweite Flipflop 32 die Flag vorzugsweise auch an den
negativen Taktflanken. Dasselbe gilt für das erste Flipflop 30 von
Detektor 16 mit Hinsicht auf das erste Datenspeicherelement 120 und
für Zweiflanken-Triggerung,
Puls-kontrolliertes Datenladen usw.
-
Es
wird zu verstehen sein, dass die Erfindung nicht auf die Implementierung
des in 3 gezeigten Detektors 16 oder auf die
Verwendung der von diesem Detektor verwendeten speziellen Signale beschränkt ist.
Jeder Detektor, der feststellt, ob ein Taktpuls an die zweite Taktdomäne 12b ausgegeben wurde,
nachdem ein Puls von der ersten Takt-Torsteuerungsschaltung 14a unterdrückt worden
ist, kann verwendet werden. Ähnlich
wird es zu verstehen sein, dass jede Art, die Takte zu stoppen,
verwendet werden kann, beispielsweise einen größeren oder kleineren Teil der
Taktsignale nach dem Geltendmachen des Stopsignals weiterzugeben,
solange der Detektor 16 feststellt, ob eine aktive Taktflanke von
der zweiten Takt-Torsteuerungsschaltung 14b auftritt, nachdem
eine aktive Taktflanke von der ersten Takt-Torsteuerungsschaltung 14a unterdrückt worden
ist.
-
In
der Praxis können
verschiedene Schaltungen hinzugefügt werden, um den Transfer
von Daten von der ersten Taktdomäne 12a zu
der zweiten Taktdomäne 12b zu
schützen,
um eine Änderung
der Daten in dem Datenspeicherelement 122 dicht an dem Zeitpunkt
zu verhindern, wenn die Daten in dem anderen Datenspeicherelement 120 geändert werden. Dies
kann durch jede bekannten Mittel implementiert werden, wie z.B.
Bestätigungssignale,
Semaphore, Taktzuteiler an dem Takteingang der Speicherelemente
usw. Aber solche Mittel wurden aus Gründen der Klarheit aus den Zeichnungen
ausgelassen, da sie die Timing-Beziehungen zwischen den Taktsignalen
nicht beeinflussen, sondern nur die transferierten Daten. Das Feststellungsprinzip
zur Feststellung der Timing-Beziehung zwischen den Taktsignalen
bleibt das gleiche.
-
4 zeigt
eine elektronische Schaltung mit drei Taktdomänen. Zusätzlich zu den Taktdomänen 12a,
b wird eine dritte Taktdomäne 12c mit
einer dritte Takt-Torsteuerungsschaltung 14c gezeigt.
Das erste Datenspeicherelement 120 der ersten Taktdomäne 12a ist
an die dritte Taktdomäne 12c gekoppelt.
Also kann ein Transfer ungültiger
Daten von der ersten Taktdomäne 12a zu
sowohl der zweiten wie auch der dritten Taktdo mäne 12b, c passieren.
Wenn die zweite und dritte Taktdomäne 12b, c unabhängige Takte haben,
kann dies unabhängig
für die
zweite und dritte Taktdomäne 12b,
c passieren. Prinzipiell können
separate Detektoren bereitgestellt werden, um dies festzustellen.
Aber wenn Detektoren ähnlich
wie der in 3 gezeigte verwendet werden,
kann das erste Flipflop 30 des Detektors von der zweiten
und dritten Domäne 12b,
c geteilt werden, nur das zweite Flipflop 32, 40 wird
separat für
die verschiedenen Domänen 12b,
c bereitgestellt. Natürlich
können
mehr Flipflops 32, 40 bereitgestellt werden, wenn
die erste Domäne
ein Interface zu mehr als zwei Domänen 12b, c hat.
-
Wie
gezeigt erlaubt die Schaltung die Feststellung des Kopierens ungültiger Daten
in die zweite Taktdomäne 12b,
aber keine Korrektur. Aber wenn es notwendig ist, die von dem zweiten
Datenspeicherelement 122 aufgenommenen Daten zu prüfen, kann die
Schaltung ein paar Mal neugestartet werden, bis Detektor 16 anzeigt,
dass keine ungültigen
Daten aufgenommen worden sind. Wenn gewünscht, kann dies umgangen werden,
indem man zum Speichern von aufeinanderfolgender Daten, die vor
den aktuellen Daten in dem zweiten Datenspeicherelement gespeichert
wurden, eine Pipeline von einem oder mehrerer Datenspeicherelementen
zu dem zweiten Datenspeicherelement 122 hinzufügt. In diesem
Fall können
die relevanten Daten auf Basis des Ausgangssignals des Detektors
aus der Pipeline ausgewählt
werden.
-
Jegliche
Mittel können
verwendet werden, um Daten aus den Datenspeicherelementen 120, 122 auszulesen
und Feststellungsergebnisse von dem Detektor 16 zu lesen.
Beispielsweise kann eine konventionelle Abtastkette für diesen
Zweck verwendet werden.
-
5 zeigt
ein Beispiel eines Teils einer elektronischen Schaltung, die Korrektur
bereitstellt. Die zweite Taktdomäne 12b und
ihre entsprechende Takt-Torsteuerungsschaltung 14b werden
gezeigt, zusammen mit dem Detektor 16. Die zweite Taktdomäne 12b ist
gezeigt, wie sie ein Pipeline-Speicherelement 50 enthält, einen
Multiplexer 52 und Teil einer Abtastkette 54.
Ein Ausgang des zweiten Datenspeicherelements 122 ist an
das Pipeline-Speicherelement 50 gekoppelt. Der Ausgang
des zweiten Datenspeicherelements 122 und des Pipeline-Speicherelements 50 sind
an die Eingänge
des Multiplexers 52, der einen an die Abtastkette 54 gekoppelten
Ausgang hat, gekoppelt. Der Flag-Ausgang
von Detektor 16 ist an einen Steuereingang des Multiplexers 52 gekoppelt.
-
Im
Betrieb werden die vorhergehenden Daten in Datenspeicherelement 122 jedes
Mal, wenn Datenspeicherelement 122 neue Daten lädt, in das Pipeline- Speicherelement 50 geladen.
Wenn also die Takt-Torsteuerungsschaltung 14b stoppt, Taktsignale an
die zweite Taktdomäne 12b zu
liefern, enthält
das Datenspeicherelement 122 Daten, die in dem letzten Taktzyklus
aufgenommen wurden und das Pipeline-Speicherelement enthält Daten, die von dem Datenspeicherelement 122 vor
dem letzen Taktzyklus aufgenommen wurden. Der Multiplexer 52 gibt
letztere an die Abtastkette 54 weiter, wenn der Detektor 16 anzeigt,
dass ein Taktzyklus in der ersten Taktdomäne aufgetreten ist, bevor das
Datenspeicherelement 122 in dem letzten Taktzyklus bevor
er gestoppt wurde, Daten aufgenommen hat. Andererseits leitet der Multiplexer 52 Daten
von Dem Speicherelement 122 an die Abtastkette 54 weiter.
Also sind die passenden Testdaten an die Abtastkette 54 weitergegeben.
-
Es
wird zu verstehen sein, dass andere Mittel als eine Abtastkette
verwendet werden können,
um die Daten auszulesen, oder dass Daten sowohl von dem Datenspeicherelement 122 wie
auch von dem Pipeline-Speicherelement 50 zusammen mit dem Ausgang
des Detektors 16 ausgelesen werden können, um die Schaltung zu testen
oder zu debuggen. Die Schaltung von 5 aber hat
den Vorteil, dass ein Minimum an Information ausgelesen werden muss.