-
Die
Erfindung bezieht sich auf das Testen von elektronischen Schaltungen.
-
US Patent Nr. 5606566 beschreibt
eine Schaltungstesttechnik, die den IEEE1149.1-Teststandard verwendet.
Eine Schaltung enthält
eine Vielzahl von integrierten Schaltungen mit funktionalen Verbindungen,
um während
des Normalbetriebs zwischen den integrierten Schaltungen Signale
zu kommunizieren. Die Schaltung wird durch Eingeben von Testsignalen
in die Schaltung und Beobachten, wie die Schaltung auf diese Daten
reagiert, getestet. Die Verbindungen zwischen den integrierten Schaltungen
werden beispielsweise durch Anlegen von Testsignalen am Ausgang
der integrierten Schaltung und Beobachten, ob entsprechende Antwortsignale an
den Eingängen
der integrierten Schaltungen ankommen, getestet.
-
Der
IEEE1149.1-Standard, wie in
US 5606566 beschrieben,
definiert ein Testinterface zum Eingeben der Testsignale in die
integrierte Schaltung und Lesen der Antwortsignale von der Schaltung.
Zu diesem Zweck wird eine ein Bit breite Schiebestruktur verwendet.
Die integrierten Schaltungen sind in einer Kette aufeinanderfolgender
Schaltungen verbunden. Jede integrierte Schaltung hat einen Testdateneingangsanschluss,
der an ihren Vorgänger
in der Kette angeschlossen ist, und einen Testdatenausgang, der an
ihren Nachfolger in der Kette angeschlossen ist, wenn es einen gibt.
Zusätzlich
haben die integrierten Schaltungen Testtakt- und Testmodusauswahleingänge, die
gemeinsam gekoppelt sind.
-
Aufeinanderfolgende
Bits der Testsignale werden an den Testdateneingang der Kette gelegt und
in der Kette von integrierter Schaltung zu integrierter Schaltung
zu der integrierten Schaltung geschoben, von wo das Testsignal ausgegeben
wird, um die funktionalen Verbindungen zu testen. Ähnlich werden
die Antwortsignale von den funktionalen Verbindungen in die integrierte
Schaltung geladen und aufeinander folgende Bits der Antwortsignale
werden in der Kette von integrierter Schaltung zu integrierter Schaltung
zu einem Testdatenausgang geschoben. Steuerungsbefehle werden ähnlich durch
die Kette geschoben. Schieben, Ausgeben und Laden werden von einem
zentralen Takt synchronisiert, der an die Testtakteingänge der
integrierten Schaltungen gekoppelt ist, und durch ein Modusauswahlsignal
gesteuert, das an die Testmodusauswahleingänge der integrierten Schaltungen
gekoppelt ist. Das Testmodusauswahlsignal steuert, wie das Testinterface
ein Zustandsdiagramm des Testinterfaces durchquert.
-
Der
IEEE1149.1-Standard basiert auf einem Kompromiss zwischen Zugriffsgeschwindigkeit
und Pin/Anschlussanzahl. Es werden nur zwei Datengins pro integrierter
Schaltung benötigt,
und nur eine Testdatenverbindung zu einer anderen integrierten Schaltung.
Dafür dauert
es eine lange Zeit, Testdaten zu schreiben oder zu lesen, da die
Daten und Befehle eine Kette von integrierten Schaltungen zu durchlaufen
haben.
-
Ein
Beispiel eines Schaltungsarrangements, das diesen Standard verwendet,
ist in
US2002/0168015 offenbart,
worin das Schaltungsarrangement eine Vielzahl von Schaltungen enthält, die jede
einen Testcontroller hat. Das Schaltungsarrangement umfasst weiter
programmierbare Testzugriffs-Portanschlussschaltkreise unter der
Kontrolle einer Auswahlschaltung zum selektiven Einschließen in ein
Testarrangement. In einem Testmodus teilt sich das Testarrangement
die Testtakt- und die Testmodusauswahlsignale in einer Rollentausch-Art,
was die Verwendung eines zusätzlichen
und unterschiedlichen Kommunikationsprotokolls erlaubt, ohne zusätzliche
Verdrahtung zu erfordern.
-
Verschiedene
Techniken sind vorgeschlagen worden, um die Zugriffszeit von IEEE1149.1-Interfaces
zu erhöhen.
Beispielsweise schlägt
US 5606566 vor, mehrere
Ketten parallel zu verwenden. Ein Verfahren, Geschwindigkeit zu
erhöhen,
ist natürlich,
die Geschwindigkeit des Testtakts zu erhöhen. Aber es gibt Grenzen für die maximale
Taktgeschwindigkeit, nicht nur, was die maximale interne Geschwindigkeit
der integrierten Schaltung angeht, sondern auch wegen der Unterschiede
zwischen den durch die Verbindungen von der zentralen Taktquelle zu
den verschiedenen integrierten Schaltungen eingebrachten Verzögerungen.
Die Unterschiede zwischen diesen Verzögerungen werden als Taktlaufzeitunterschied
bezeichnet. Diese sollten die Länge der
Taktperiode nicht überschreiten.
-
Es
ist unter anderem eine Aufgabe der Erfindung, eine hohe Taktgeschwindigkeit
in einem Testinterface einer Schaltung zu realisieren.
-
Es
ist unter anderem eine Aufgabe der Erfindung, die zum Testen von
Schaltungen benötigte
Zeit zu reduzieren.
-
Die
Erfindung ermöglicht
ein System gemäß Anspruch
1. Es wird eine Kettenverbindung zwischen den integrierten Schaltungen
zur Kommunikation von Testinformation zum Testen funktionaler Verbindungen
zwischen verschiedenen integrierten Schaltungen verwendet. Gemäß der Erfindung
wird Synchronisationsinformation, wie z.B. ein Testtaktsignal, die bestimmt,
wann Testdaten von den integrierten Schaltungen an die funktionalen
Verbindungen ausgegeben werden und durch die integrierten Schaltungen
von den funktionalen Verbindungen aufgenommen werden, durch die
Kette von einer integrierten Schaltung zu einer anderen übermittelt.
Dies eliminiert Probleme aufgrund der Diskrepanzen zwischen der
Verzögerung
der Ankunft der Testsynchronisationsinformation und der Testdaten
an der integrierten Schaltung. Vorzugsweise empfangen alle integrierten
Schaltungen in der Kette ihre Synchronisationsinformation, wie z.B.
Taktsignale, durch die Kette, aber ohne von der Erfindung abzuweichen,
können
weitere integrierte Schaltungen hinzugefügt werden, die eine zentrale
Synchronisationsinformation empfangen, sei es vom Tester, beispielsweise
wenn diese zusätzlichen
integrierten Schaltungen vorn in der Kette sind, oder von einer
lokalen Synchronisationsinformations-Versorgungsschaltung für eine Vielzahl aufeinander
folgenden Schaltungen in der Kette, wo die lokale Synchronisationsinformation
von über
die Kette empfangenen Taktsignalen abgeleitet wird.
-
Vorzugsweise
tauschen die integrierten Schaltungen Testdaten, die sich zunächst mit
Synchronisationsinformation an dem Eingang der Kette bewegen, gegen
Testresultate aus, die sich mit der Synchronisationsinformation
zu dem Ausgang der Kette bewegen. So wird die Zeitmenge, die zur Durchführung eines
Tests benötigt
wird, reduziert. Die Synchronisationsinformation enthält auch
vorzugsweise Zustandsselektionsinformation, die für alle integrierten
Schaltungen in der Kette gemeinsam sind. In diesem Fall ist jede
der integrierten Schaltungen in der Kette ausgebildet, durch eine
Reihe von Zuständen
zu gehen, in der aufeinanderfolgende Zustände unter der Kontrolle der
Synchronisationsinformation unterschiedslos für alle integrierten Schaltungen
in der Kette selektierbar sind. Erreichen bestimmter Zustände löst Aktualisieren
und Erfassen aus. Beispielsweise kann das für den IEEE1149.1-Standard definierte
Zustandsdiagramm verwendet werden. So können die integrierten Schaltungen
in der Kette alle zusammen flexibel die Sequenz der Zustände anpassen.
-
Vorzugsweise
stellt ein an die Kette gekoppelter Tester sicher, dass die Rate,
mit der die Synchronisationsinformation aktualisiert wird, so niedrig ist,
dass alle integrier ten Schaltungen in der Kette Synchronisationsinformation
empfangen, die eine Aktualisierung der an die funktionale Verbindung
angelegten Testsignale verursacht, bevor eine erste integrierte
Schaltung in der Kette Synchronisationsinformation erhält, die
ein Erfassen verursacht. Der Tester kann beispielsweise auf Basis
von Information über
die integrierten Schaltungen in der Kette die erforderliche Verzögerung bestimmen,
aber vorzugsweise misst der Tester, ob Synchronisation, die ein Aktualisieren
verursacht, am Ende der Kette angekommen ist, und übermittelt
die Synchronisationsinformation, die das Aktualisieren verursacht,
nur nach einer solchen Messung.
-
Die
Synchronisationsinformation wird in zeitlicher Folge mit den Testdaten,
Testergebnissen und/oder Befehlen durch einen gleichen Kommunikationsleiter
von einer integrierten Schaltung zu einer anderen übermittelt.
Also muss ein Minimum an Anschlusspins für Testzwecke bereitgestellt
werden und unterschiedlicher Laufzeitunterschied wird vermieden.
Vorzugsweise wird ein Paar Pins zwischen jedem Paar integrierter
Schaltungen verwendet, um die Information als ein Differenzsignal
zu übermitteln. Dies
erhöht
die maximal mögliche
Geschwindigkeit. Zusätzlich
macht dies es möglich,
integrierte Schaltungen mit untereinander unterschiedlichen Versorgungsspannungen
zu verwenden.
-
In
einer Ausführungsform
empfangen und übermitteln
die integrierten Schaltungen aufeinanderfolgende Wörter, die
Synchronisationsinformation in zeitlicher Folge mit den Testdaten,
Testergebnissen und/oder Befehlen enthalten. Die integrierten Schaltungen
kopieren die von einem empfangenen Wort empfangene Synchronisationsinformation
in ein übermitteltes
Wort und ersetzen ein empfangenes Bit der Testdaten, Testergebnisse
und/oder Befehle von dem empfangenen Wort in dem übertragenen
Wort durch ein internes, in der integrierten Schaltung produziertes
Bit der Testdaten, Testergebnisse und/oder Befehle. Dieses interne
Bit ist beispielsweise ein Bit der Testdaten oder Testergebnisse
von einem früheren
Wort, das sich durch die integrierte Schaltung bewegt hat, oder
ein Testergebnis, das in der integrierten Schaltung erfasst worden
ist. So wird eine minimale Übermittlungsverzögerung für die Synchronisationsinformation
realisiert (und dabei ein Maximum an Testgeschwindigkeit), während es
eine Testdatenverarbeitung in der integrierten Schaltung erlaubt.
-
In
einer weiteren Ausführungsform
umfasst mindestens eine der integrierten Schaltungen eine Testcontrollerschaltung,
die über
eine Shell, die es erscheinen lässt,
als ob die seriell übermittelten
Bits der Synchronisationsdaten und Testdaten, Testergebnisse und/oder
Kommandos parallel ankommen, mit der Kette verbunden ist. So kann
ein konventioneller Testcontroller, wie ein IEEE1149.1-TAP-Controller
in Kombination mit verketteter Übermittlung
von Taktsignalen verwendet werden.
-
In
einer anderen Ausführungsform
enthalten die Wörter,
welche die Synchronisations- und Testdaten enthalten, zusätzliche
Positionen für
Programmierungsinformation für
selektierte integrierte Schaltungen in der Kette. Beispielsweise
kann die Programmierungsinformation verwendet werden, um aufeinanderfolgende
Flanken in Schreibfreigabesignalen für einen programmierbaren Speicher
zu liefern, die n Wörtern
(beispielsweise n = 16) folgen, in denen Testdaten geliefert wurden,
die als Information dienen, die parallel in den Speicher geschrieben
werden müssen.
-
In
einer Ausführungsform
erlaubt zumindestens ein Teil der integrierten Schaltungen programmierbare
Bitraten des Empfangens und Übermittelns von
Testdaten und Synchronisationsinformation. Zunächst sind die Bitraten in einem
Anfangszustand auf einen vorher festegelegten Wert gesetzt. Aber
unter der Kontrolle eines für
die integrierte Schaltung spezifischen, über die Kette empfangenen Befehls
werden die Bitraten umprogrammiert. Integrierte Schaltung in der
zu testenden Schaltung können
unterschiedliche maximal mögliche
Geschwindigkeiten haben. Abhängig
von der zu testenden Schaltung können
aufeinanderfolgende Schaltungen in der Kette die gleichen maximal
möglichen
Geschwindigkeiten oder unterschiedliche maximal mögliche Geschwindigkeiten
haben. Ein Tester hat Information über die aufeinanderfolgenden
integrierten Schaltungen in der Kette und ihre maximal mögliche Geschwindigkeiten.
Zunächst
verwenden alle integrierten Schaltungen eine vorher festgelegte
Bitrate, die für
alle akzeptabel ist. Später
kann der Tester an unterschiedlichen Punkten entlang der Kette die
Bitrate auf unterschiedliche Werte setzten, wie maximal zwischen
aufeinander folgenden Paaren integrierter Schaltungen zulässig. So
wird die durch die Synchronisationsinformation erfahrene Verzögerung minimiert,
was die Testgeschwindigkeit maximiert.
-
In
einer Ausführungsform
haben integrierte Schaltungen in der Kette jede des genannten mindesten
Teils der integrierten Schaltungen einen externen Takteingangsanschluss
zum anfänglichen Takten
des Datentransfers entlang der Kette von einem zentralen Takt, an
den alle Takteingangsanschlüsse
gemeinsam gekoppelt sind. In diesem Fall kann ein Befehl geliefert
werden, um auf verkette Übermittlung
von Synchronisationsinformation, wie das Taktsignal, bei einer viel
größeren Bitrate
umzuschalten.
-
In
einer anderen Ausführungsform
haben integrierte Schaltungen der Kette externe Rücksetzeingangsanschlüsse, die
gemeinsam an einen zentralen Rücksetzeingang
gekoppelt sind, um auf die Bitrate zurückzusetzen, die für alle integrierten
Schaltungen akzeptabel ist.
-
Diese
und andere Aufgaben und vorteilhafte Aspekte werden detaillierter
unter Verwendung der folgenden Zeichnung beschrieben. In dieser
zeigen:
-
1 ein
Testsystem;
-
2 eine
integrierte Schaltung;
-
3 eine
integrierte Schaltung mit einem programmierbaren Speicher;
-
3a eine
integrierte Schaltung mit einem programmierbaren Speicher;
-
4 eine
integrierte Schaltung mit teilweise unabhängigen Taktschaltungen;
-
4a eine
integrierte Schaltung mit teilweise unabhängigen Taktschaltungen; und
-
5 eine
integrierte Schaltung.
-
1 zeigt
eine Ausführungsform
eines Testsystems. Das System enthält einen Tester 10 und
eine zu testende Schaltung 11. Die zu testende Schaltung 11 enthält eine
Anzahl von integrierten Schaltungen 12, 14, die
durch einige funktionale Verbindungsschaltungen 16 miteinander
verbunden sind. Für
Testzwecke sind die integrierten Schaltungen 12, 14 auch
in einer Kette verbunden, die einen an einen Ausgang des Testers 10 gekoppelten
Eingang 18 und einen an einen Eingang des Testers 10 gekoppelten
Ausgang 19 hat. Die Verbindungen zwischen Paaren aufeinanderfolgender
integrierter Schaltungen 12, 14 in der Kette sind
Kommunikationsverbindungen zum Übermitteln
jeweils eines einzelnen Bits, z. B. jede ein einzelner Leiter oder
ein Paar von für
Differenzsignalübermittlung
verwendeten Leitern.
-
Im
Normalbetrieb ist Schaltung 11 nicht mit dem Tester 10 verbunden.
Im Normalbetrieb führen funktionale
Schaltungen in den integrierten Schaltungen 12, 14 verschiedene
Funktionen aus, für
die Schaltung 11 designt wurde, und kommunizieren Information über die
funktionale Verbindungsschaltung 16. Allgemein gesagt,
die funktionale Verbindungsschaltung 16 enthält einen
Satz Leitungen, die für Punkt-zu-Punkt- Verbindungen zwischen
Anschlüssen
der integrierten Schaltungen 12, 14 sorgen (plus optional
einige Verknüpfungslogik).
Im Allgemeinen folgen diese Verbindungen nicht der kettenähnlichen Natur
der Testkette: Die funktionale Verbindungsschaltung 16 kann
eine integrierte Schaltung an jeder Position entlang der Kette sein
und oft hat eine integrierte Schaltung Eingänge und/oder Ausgänge, die mit
mehreren anderen integrierten Schaltungen verbunden sind, nicht
mit gerade einer wie in der Kette.
-
Um
zu testen, wird Schaltung 11 mit Tester 10 verbunden.
Tester 10 gibt Testdaten in die integrierten Schaltungen 12, 14 ein
und liest Antworten auf diese Testdaten als Testergebnisse von der
integrierten Schaltung. Vor und nach dem eigentlichen Test gehen
die Testdaten und -ergebnisse in die Schaltung 11 hinein
und verlassen sie entlang der Kette, d.h. entlang eines Pfades,
der unabhängig
von der funktionalen Verbindungsschaltung 16 ist. Insbesondere
die funktionale Verbindungsschaltung hat im Allgemeinen nicht dieselbe
Kettenstruktur. Also ist es im Allgemeinen nicht der Fall, dass,
wenn ein Testsignal nach Übermittlung
von einer zweiten integrierten Schaltung durch die Kette bei einer
ersten integrierten Schaltung ankommt, sich alle Funktionssignale genauso
und mit derselben Verzögerung
durch die funktionale Verbindungsschaltung von der ersten integrierten
Schaltung zu der zweiten integrierten Schaltung bewegen. Im Gegensatz,
einige Funktionssignale können
sich in entgegengesetzter Richtung und mit unterschiedlichen Durchlaufzeitverzögerungen
bewegen.
-
Typisch
umfasst die zu testende Schaltung 11 auch einen Träger (nicht
gezeigt), wie z.B. eine gedruckte Schaltung, auf der Funktionsverbindungen 16,
wie auch Verbindungen für
die Testkette, implementiert sind und an der die integrierten Schaltungen befestigt
sind. In diesem Fall wird Testen verwendet, die Funktonalität der Schaltung
auf dem Träger
zu testen. Unter anderen Umständen
kann die zu testende Schaltung 11 ein miteinander verbundenes System
einer Vielzahl solcher Träger
umfassen.
-
Eine
der integrierten Schaltungen 14 ist detaillierter gezeigt
(die anderen integrierten Schaltungen 12 können eine ähnliche
Struktur haben). Integrierte Schaltung 14 enthält einen
Empfänger 140,
einen Transmitter 144, einen Testcontroller 142,
eine Taktschaltung 143 und eine funktionale Schaltung 145.
Empfänger 140 hat
einen an eine integrierte Vorgängerschaltung 12 in
der Kette gekoppelten Eingang 146. Empfänger 140 hat Ausgänge für ein Testtaktsignal
TCK, ein Testmodussignal TMS und ein Testdatensignal TDI und weitere
Ausgänge.
Die Ausgänge
für Testtaktsignal
TCK und Testmodussignal TMS sind an den Testcontroller 142 und
den Transmitter 144 gekoppelt. Testcontroller 142 hat
einen an den Testdatenausgang des Empfängers 140 gekoppelten
Testdateneingang und einen an Transmitter 144 gekoppelten
Testdatenausgang. Transmitter 144 hat einen an eine integrierte
Nachfolgerschaltung in der Kette gekoppelten Ausgang 148.
Funktionsschaltung 145 ist über die funktionale Verbindungsschaltung 16 an
die anderen integrierten Schaltungen 12 und an Testcontroller 142 gekoppelt.
-
Im
Betrieb in einem Testmodus gibt Tester 10 über Ausgang 18 Wörter von
Testdaten und/oder Testbefehlen, kombiniert mit Testtaktsignalen
und Modusauswahlsignalen, an die Kette der integrierten Schaltungen 12, 14 aus.
Jede integrierte Schaltung 12, 14 empfängt die
Wörter
von Testdaten und/oder Testbefehlen, kombiniert mit Testtaktsignalen
und Modusauswahlsignalen, von ihrem Vorgänger und übermittelt Wörter von
Testdaten und/oder Testbefehlen, kombiniert mit Testtaktsignalen
und Modusauswahlsignalen, an ihren Nachfolger. In integrierter Schaltung 14 empfängt Empfänger 140 Wörter aufeinanderfolgender
Bits an Information von Eingang 146 und decodiert ein Testtaktsignal
TCK, ein Modusauswahlsignal TMS, ein Eingangsdatenbit TDI und optional
weitere Bits aus jedem Wort. Empfänger 140 legt das
Testtaktsignal TCK, das Modusauswahlsignal TMS und das Eingangsdatenbit
TDI an den Testcontroller 142. Testcontroller 142 kann
ein konventioneller IEEE1149.1-Testcontroller sein. Testcontroller 142 gibt
Signale an die Funktionsschaltung 145 weiter, beispielsweise
Testdaten durch eine Shieberegisterkette zu schieben, Daten in Flipflops,
die Testdaten an die Funktionsverbindungsschaltung 16 ausgeben, zu
aktualisieren, oder Antwortsignale von der Funktionsverbindungsschaltung 16 zu
erfassen. Testcontroller 142 gibt ein Testdatenausgangsbit
aus, was typisch entweder ein Bit ist, das zuvor als ein Testdateneingangsbit
empfangen worden ist, oder ein Bit an Antwortdaten, das von Funktionsschaltung 145 oder von
Funktionsverbindungsschaltung 16 erfasst worden ist.
-
Transmitter 144 empfängt das
Testtaktsignal TCK, das Modusauswahlsignal TMS von Empfänger 140 und
das Testdatenausgangsbit von Testcontroller 142. Transmitter 144 kombiniert
das Testtaktsignal TCK, das Modusauswahlsignal TMS von Empfänger 140 und
das Testdatenausgangsbit zusammen mit den optionalen weiteren Bits
in ein Wort, das seriell zu einem Nachfolger in der Kette der integrierten
Schaltungen 12, 14 übermittelt wird. Also kombiniert
Transmitter 144 das Testtaktsignal TCK und das Modusauswahl signal
TMS wird im Allgemeinen von der integrierten Schaltung 14 mit
einem Wort Verzögerung
nach Empfang von der integrierten Schaltung 14 übermittelt.
-
Taktschaltung 143 rekonstruiert
ein Taktsignal aus den Signalen, die über den seriellen Eingang 146 übermittelt
wurden, für
Taktempfänger 140 und Transmitter 144.
Das Taktsignal wird für
Decodieren und Codieren serieller Daten in Empfänger 140 und Transmitter 144 verwendet.
Als Alternative kann Handshaking zwischen dem Transmitter und Empfänger aufeinander
folgender integrierter Schaltungen 12, 14 verwendet
werden, aber dies erfordert mehr Verbindungen.
-
Als
Ergebnis werden das Testtaktsignal TCK, das Modusauswahlsignal TMS
von Empfänger 140 und
das Testdatenausgangsbit zwischen jedem Paar aufeinander folgender
integrierter Schaltungen 12, 14 in der Kette übermittelt
und innerhalb der integrierten Schaltungen 12, 14 parallel
verwendet. Da alle diese Testsignale durch eine einzelne Kette integrierter
Schaltungen übermittelt
werden, kommen keine Taktlaufzeitunterschiedsprobleme auf.
-
Die
Testcontroller 142 der verschiedenen integrierten Schaltungen
in der Kette sind designt, in Kooperation miteinander zu arbeiten,
wobei alle durch eine gleiche, selektierbare Serie von Testzuständen gehen
und Testdaten oder Befehle zu integrierten Schaltungen weiter unten
in der Kette geben oder Antwortdaten von integrierten Schaltungen
in dem vorherigen Teil der Kette weitergeben. Das Testtaktsignal
und das Testmodusauswahlsignal steuern die von den Testcontrollern
angenommenen Zustände,
beispielsweise unter Verwendung eines mit dem IEEE1149.1-Teststandard
kompatiblen Zustandsdiagramms. Das Zustandsdiagramm definiert unter
anderm Aktualisierungs- und Erfassungszustände. Als Antwort auf das Erreichen
des Aktualisierungszustands aktualisieren Testcontroller-142-Kommandos Flipflops
(nicht separat gezeigt) über
die Kette empfangene Testdaten oder Befehle zu kopieren, um die Testdaten
oder Befehlsdaten auszugeben. Als Antwort auf das Erreichen des
Erfassungszustands werden Testdaten zum Herausschieben durch die
Kette geladen.
-
Tester 10 steuert,
wann ein Wort mit einem neuen Testtaktsignalwert durch die Kette übermittelt wird.
Vorzugsweise wird das Wort mit dem alten Taktsignalwert wiederholt,
bis das Wort mit dem neuen Testtaktsignalwert übermittelt wird. Dies erlaubt,
dass Taktschaltung 143 auf die Bitrate eingerastet bleibt und
reduziert den Effekt fehlgeschlagener Wörter.
-
Im
Allgemeinen übermittelt
der Tester ein Wort mit einem neuen Taktsignalwert nach einer Verzögerung,
entsprechend beispielsweise einer Serie von N Wörtern mit dem alten Taktsignalwert.
Die Verzögerung
ist so ausgewählt,
dass ein minimales Zeitintervall vom Aktualisieren bis zum entsprechenden Erfassen
durch verschiedene integrierte Schaltungen erhalten wird, wie auch
ein minimales Zeitintervall zwischen Erfassen und dem nächsten Aktualisieren. Das
heißt,
bevor Tester 10 ein Wort mit einem neuen Taktsignalwert
ausgibt, das ein Aktualisieren verursacht, muss ein Wort mit einem
Taktsignalwert, welches das vorhergehende Erfassen verursacht, an
der letzten integrierten Schaltung in der Kette angekommen sein,
sodass alle integrierten Schaltungen dieses Erfassen ausgeführt haben.
Umgekehrt, bevor Tester 10 ein Wort von einer nächsten Serie
mit einem nächsten
unterschiedlichen Taktsignalwert, das ein Erfassen verursacht, ausgibt,
muss ein Wort mit dem Taktsignalwert, der die vorhergehende Aktualisierung
verursacht, an der letzten integrierten Schaltung in der Kette angekommen
sein, sodass alle integrierten Schaltungen das Erfassen ausgeführt haben.
-
Verschieden
Techniken können
verwendet werden, um sicherzustellen, dass die Verzögerung, während der
das Testtaktsignal sich nicht ändert, ausreichend
ist, um die Existenz eines solchen Zeitintervalls sicherzustellen.
In einer Ausführungsform überwacht
Tester 10 von der Kette am Eingang 19 empfangene
Wörter
und decodiert das empfangene Testtaktsignal von diesen Wörtern. In
dieser Ausführungsform ändert Tester 10 das
Taktsignal in den Wörtern
am Ausgang 18 nur, wenn Tester 10 detektiert,
dass die vorhergehende Änderung
des Taktsignals am Eingang 19 angekommen ist. So ist es
sichergestellt, das es immer ein Zeitintervall gibt, in dem alle
integrierten Schaltungen 12, 14 in demselben Zustand
sind, was richtiges Sequenzialisieren von Aktualisieren und Erfassen
sicherstellt. In einer aggressiveren Ausführungsform verzögert Tester 10 mindestens
das Ausgeben von Wörtern
mit einem neuen Taktsignal, das Übergänge zu Aktualisierungs-
und Erfassungszuständen
verursacht, bis ein Wort mit dem Taktsignalübergang nach einem vorhergehenden
Erfassen und Aktualisieren jeweils am Eingang 19 empfangen
worden ist.
-
In
einer anderen Ausführungsform
kann ein programmierter Wert der Verzögerung (z.B. die Anzahl der
Wörter
N, die wiederholt werden müssen)
als passend für
eine zu testende Schaltung 11 verwendet werden oder ein
erforderlicher Wert der Verzögerung
kann einmal für
eine Anzahl von Serien von Wörtern
aus einer Messung der Verzögerung
der Kette einer zu testenden Schaltung bestimmt werden.
-
Obwohl 1 annimmt,
dass alle integrierten Schaltungen 12, 14 in der
Kette Synchronisationsinformation wie ein Taktsignal und/oder ein
Modusauswahlsignal durch die Kette empfangen, ist dies in Wirklichkeit
nicht notwendig. Ohne von der Erfindung abzuweichen, können ein
oder mehr integrierte Schaltungen zu der Kette hinzugefügt werden,
die eine zentrale Synchronisationsinformation von dem Tester empfangen.
Beispielsweise können
solche weiteren integrierten Schaltungen, die ihre Taktsignale usw.
zentral von Tester 10 empfangen, am Anfang der Kette eingeschlossen
werden. In diesem Fall ist die letzte integrierte Schaltung vorzugsweise
ausgebildet, Wörter
mit Synchronisationsinformation und Daten, Ergebnissen oder Befehlen
aus der zentral empfangenen Synchronisationsinformation und Daten,
Ergebnissen oder Befehlen zu erzeugen und an den Rest der Kette
zu liefern. Wenn die zentral empfangene Synchronisationsinformation
mit kleinem Laufzeitunterschied an diesen Teil der integrierten Schaltungen übergeben
werden kann, erlaubt dies immer noch einen Hochgeschwindigkeitstest.
-
In
einer anderen Alternative kann eine lokale Gruppe einer Vielzahl
aufeinanderfolgender Schaltungen in der Kette gemeinsam lokale Synchronisationsinformation
von einer lokalen Synchronisationsinformations-Versorgungsschaltung
empfangen. In diesem Fall leitet die lokale Synchronisationsinformations-Versorgungsschaltung
Synchronisation von der Kette am Beginn der Gruppe ab und liefert
diese abgeleitete Synchronisationsinformation (z.B. ein Testtaktsignal)
an die integrierten Schaltungen der lokalen Gruppe. Vorzugsweise
kombiniert eine lokale Schaltung zum Weitergeben von Synchronisation Daten,
Ergebnisse und Ergebnisse am Ende der Kette mit lokal erzeugter
Synchronisation und gibt die kombinierte Information durch die Kette
an weitere integrierte Schaltungen weiter.
-
So
kann eine „Insel" von konventionell
zentral testgetakteter integrierter Schaltungen in die Kette einbezogen
werden. Effektiv weitet sich die um Testkontroller 142 in
einer integrierten Schaltung 14 erzeugte „Shell" in diesem Fall um
eine Vielzahl konventioneller integrierter Schaltungen aus. Die
lokale Synchronisationsinformations-Versorgungsschaltung und die
lokale Schaltung zur Weitergeben von Synchronisation, die das Interface
zu dem Rest der Kette bilden, haben Funktionen ähnlich der des Empfängers 140 und
des Transmitters 144 und können in integrierte Schaltung
am Beginn und Ende der Insel oder sogar in eine integrierte Schaltung,
die an zwei Positionen in der Kette am Beginn und Ende der Insel enthalten
ist, einbezogen werden. Wenn die integrierten Schaltun gen in der
Insel mit geringem Laufzeitunterschied blockiert werden können, ist
die Testgeschwindigkeit immer noch hoch.
-
2 zeigt
eine detailliertere Ausführungsform
einer integrierten Schaltung. Die integrierte Schaltung hat einen
an Testcontroller 142 gekoppelten externen Testrücksetzeingangsanschluss (TRSTN).
Die Rücksetzeingänge verschiedener
integrierter Schaltungen sind im Allgemeinen gemeinsam an eine zentrale
Rücksetzquelle
gekoppelt, das heißt,
nicht durch eine Kettenstruktur. Die integrierte Schaltung hat einen
differenziellen Testsignaleingang 200 und einen differenziellen
Testsignalausgang 218. Außerdem enthält die Schaltung einen Eingangsleseverstärker 202,
ein Eingangsschieberegister 204, einen Eingangsdecoder 206,
ein Eingangslatch 208 in Serie zwischen dem differenziellen Testsignaleingang 200 und
Testcontroller 142. Ein Ausgangscodierer 212,
ein Ausgangsschieberegister 214 und ein Ausgangstreiber 216 sind
zwischen Testcontroller 142 und den differenziellen Ausgang 218 gekoppelt.
Ausgänge
von Eingangslatch 208 für
ein Testtaktsignal und ein Testmodusauswahlsignal sind parallel
zu Testcontroller 142 direkt an den Ausgangscodierer gekoppelt.
-
Zusätzlich zu
Taktschaltung 143 ist ein externer Takteingang TCK bereitgestellt.
Ein Ausgang der Taktschaltung 143 und Takteingang TCK sind
an Eingänge
eines Multiplexers 224 gekoppelt. Ein Ausgang des Multiplexers 224 ist
an Takteingänge
von Eingangsschieberegister 204 und Eingangslatch 206 gekoppelt,
der Letztere über
einen Zähler 226 und eine
Freigabeschaltung 229. Freigabeschaltung 229 hat
einen an einen Fehlersignalausgang von Eingangsdecoder 206 gekoppelten
Freigabeeingang. Der Ausgang von Multiplexer 224 ist an
einen Schiebetakteingang von Ausgangsschieberegister 214 und
einen Ladeeingang von Ausgangsschieberegister 214 gekoppelt,
der Letztere über
eine Zähler-
und Verzögerungsschaltung 242.
Multiplexer 224 und Taktschaltung 143 werden von
einem Steuerungsregister 225 gesteuert, das in Wirklichkeit
Teil des Testcontrollers 142 ist, aber der Deutlichkeit
halber separat gezeigt wird.
-
Im
Betrieb wird Testcontroller 142 zu Anfang unter Verwendung
von Rücksetzeingang
TRSTN auf einen Rücksetzstatus
zurückgesetzt.
Während
des Betriebs kommen die Wörter
mit dem Testtaktsignal, dem Testmodussignal und den Testeingangsdaten am
differenziellen Eingang 200 an. Aufeinanderfolgende Bits
der Wörter
werden abgetastet und in Eingangsschieberegister 204 geladen.
Die Bits werden parallel von Eingangsschieberegister 204 an
Eingangsdecoder 206 ausgegeben. Angenommen, dass die Anzahl
der Bits pro übermitteltem
Wort „n" ist (beispielsweise
n = 6), wird ein Decodierergebnis von Eingangsdecoder 206 alle
n Taktzyklen in Eingangslatch 208 eingespeichert, vorausgesetzt,
dass Eingangsdecoder 206 anzeigt, dass kein Fehler aufgetreten
ist. Als Beispiel: unter Verwendung von etwas Fehlerdetektionscode
decodiert Eingangsdecoder 206 aus einem sechs-Bit-Wort
5 Bits.
-
Die
in Latch 208 eingespeicherten Bits enthalten ein Bit, welches
das Testtaktsignal repräsentiert,
ein Bit, welches das Testmodusauswahlsignal repräsentiert, ein Bit, welches
den Testdateneingang repräsentiert
und optional weitere Bits. Das Testtaktsignal, das Testmodusauswahlsignal
und der Testdateneingang werden in Testcontroller 142 gespeist und
als konventionelles IEEE1149.1-Testsignale TCK, TMS und TDI verwendet.
Als Antwort auf diese Signale produziert der Testcontroller aufeinander
folgende Testdatenausgangssignale (TDO) an aufeinanderfolgenden
TCK-Pegelübergängen. Das TDO-Signal leitet sich
typisch entweder von einem früheren
TDI-Wert oder von einem von Schaltung 11 erfassten Testergebnis,
beispielsweise von der funktionalen Verbindungsschaltung 16,
her. Testcontroller 142 macht weiter, denselben TDO-Signalwert
auszugeben mindestens während
TCK auf demselben Logikpegel bleibt.
-
Ausgangscodierer 212 empfängt TCK
und TMS wie auch optionale weitere Bits von Eingangslatch 208 und
TDO von Testcontroller 142. Ausgangscodierer 212 bildet
aus diesen Signalen Bits eines Ausgangsworts, wobei typisch das
Inverse der von dem Eingangsdecoder 206 durchgeführten Decodierung
durchgeführt
wird. Die codierten Bits werden in Ausgangsschieberegister 214 geladen,
vorzugsweise bei derselben Frequenz, mit der Daten in Eingangslatch 208 (alle
n Taktzyklen) geladen werden, aber mit einer Verzögerung einer
Anzahl von Taktzyklen, sodass die Daten in Ausgangsschieberegister 214 mit
ausreichender Verzögerung
nach dem Laden von Eingangslatch 208, sodass der den TCK- und TMS-Werten entsprechende
TDO-Wert in dem Latch an dem Ausgang von Testcontroller 142 verfügbar ist.
Ausgangsschieberegister 214 schiebt die codierten Bits
zu Treiber 216, der den differenziellen Ausgang 218 treibt.
-
Jede
erwünschte
Form der Codierung und Decodierung kann verwendet werden. Beispielsweise
kann ein Paritätsbit
zu dem Testtaktsignal, dem Testmodusauswahlsignal, den Testdaten
und den optionalen weiteren Bits hinzugefügt werden. Ähnlich können Start- und/oder Stopp-Bits
hinzugefügt
werden, oder andere Information, die Identifikation von Wortgrenzen
ermöglichen.
In diesem Fall kann eine Wortgrenzendetektionss chaltung verwendet
werden, um Wortgrenzen von den eingehenden Bits zu detektieren und
Laden in Eingangslatch 208 und Ausgangsschieberegister 214 zu
steuern. Ähnlich
kann das Codieren angepasst werden, um Frequenzwiederherstellung
von den übermittelten
Daten zu ermöglichen,
beispielsweise durch Sicherstellen einer minimalen Anzahl von Signalübergängen in
den Wörtern,
und/oder Codierung kann angepasst werden, um bestimmte Kanalcharakteristiken
zu bedienen, beispielsweise durch Sicherstellen, dass es genau soviel
Bits eines Wertes gibt wie von dem entgegengesetzten Wert.
-
Obwohl
Eingangsdecoder 206 und Ausgangscodierer 212 ohne
Takteingang gezeigt sind, wird man sich bewusst sein, dass getaktete
Decoder und/oder Codierer verwendet werden können, beispielsweise zum Berechnen
der Parität
durch aufeinander folgende Exklusiv-ODER-Verknüpfung einer gespeicherten Parität mit aufeinander
folgender eingehender Bits.
-
Taktmultiplexer 224 macht
es möglich,
zwischen der Verwendung eines externen Takts und eines internen
Takts von Taktschaltung 143 zu wählen. Der externe Takt wird
vorzugsweise parallel an alle integrierten Schaltungen 12, 14 geliefert,
das heißt, nicht über eine
Kettenstruktur, sondern von einer zentralen Quelle, beispielsweise
in Tester 10. Dies limitiert den maximal verwendbaren externen
Taktwert auf einen viel niedrigeren Wert als der von Taktschaltung 143.
Nach Rücksetzen
wird der externe Takt selektiert. In dieser Stufe liefert Tester 10 Testdaten durch
die Kette bei der Frequenz des externen Takts. In dieser Stufe wird
der externe Takt verwendet, um die integrierten Schaltungen zu initialisieren
und speziell, um Steuerungsregister 225 über Eingang 200 mit
Befehlsdaten zu laden. Die Befehlsdaten setzen die Nominalfrequenz
der Taktschaltung 143 und befiehlt Taktmultiplexer 224,
zu der internen Taktschaltung 143 umzuschalten. Anschließend bleibt
der Inhalt von Steuerungsregister 225 im Allgemeinen während des
Tests unverändert,
aber er kann unter Verwendung von unter der Kontrolle von Taktschaltung 143 empfangenen
Befehlsdaten aktualisiert werden.
-
Aber
man sei sich bewusst, dass die anfängliche Verwendung eines externen
Takts nur eine praktische Lösung
ist, um die Initialisierung sicherzustellen. Ohne von der Erfindung
abzuweichen, können
die Taktsignale zu Beginn genau so bei einer niedrigen Bitrate durch
die Kette geliefert werden, sodass alle integrierten Schaltungen
in der Lage sind, die Bitrate zu bewältigen.
-
3 zeigt
eine integrierte Schaltung mit einem programmierbaren Speicher 30 zur
Verwendung in der Kette von Schaltung 11 von 1.
Die Ausgänge
für weitere
Bits von den über
Testeingang 146 empfangenen Wörtern sind an Speicher 30 gekoppelt,
wie auch der Ausgang für
eingehende Testdaten. In der Ausführungsform von 3 wird
der Speicher 30 von dem aus den empfangenen Wörtern abgeleiteten
Testtaktsignal getaktet. Im Betrieb wird Speicher 30 unter
Verwendung von als Testdaten gelieferten Daten programmiert. Nach Übermitteln
eines Speicherdatenworts (z.B. 16 Bits) werden die weiteren Bits
verwendet, einen Schreibfreigabepuls zu erzeugen, um zu verursachen,
dass die empfangenen Daten in Speicher 30 geschrieben werden. Aufeinanderfolgende
Pegel des Schreibfreigabesignals können in Wörter mit aufeinanderfolgenden Taktsignalwerten
codiert werden. Dies hat den Vorteil, dass Programmieren des Speichers
durch die Testsignale gesteuert werden kann, und dass die Übermittlung
der weiteren Bits nicht beeinflusst wird, wenn bestimmte integrierte
Schaltungen nicht alle Wörter
zu ihrem Ausgang kopieren.
-
Im
Prinzip können
neue Schreibfreigabesignale in jedem neuen Wort geliefert werden,
sogar wenn die Testsignale wie TCK und TMS in den neuen Wörtern unverändert bleiben.
So kann Speicher 30 schnell programmiert werden.
-
3a zeigt
eine Ausführungsform,
in der neue Daten, die geschrieben werden sollen, in jedem über die
Kette übermittelten
Wort geliefert werden, getaktet durch die Taktschaltung 143 anstatt
durch das empfangene Testtaktsignal. Dies beschleunigt die Programmierung.
Wenn die Daten als Testdaten enthalten sind, die auch an Testcontroller 142 geliefert
werden, kann dies mit dem Betrieb des Testcontrollers 142 inkompatibel
sein, in diesem Fall wird Testcontroller 142 vorzugsweise
in einen Zustand umgeschaltet, wo dies keinen Effekt während der Speicherprogrammierung
hat. In einer Alternative können
Daten, die in Speicher 30 programmiert werden sollen, als
weitere Bits des empfangenen Worts geliefert werden.
-
4 zeigt
eine integrierte Schaltung mit teilweise unabhängigen Taktschaltungen 40, 42 für Eingang
und Ausgang von Wörtern
mit Testsignalen. Beide Taktschaltungen 40, 42 leiten
ihre Taktsignale von einem abgerufenen Taktsignal von Taktschaltung 143 ab.
Die durch die Taktschaltungen 40, 42 ausgegebenen
Taktfrequenzen sind unter Verwendung von Steuerungsregister 225 unabhängig programmierbar.
Taktschaltungen 40, 42 steuern die Bitraten von Empfangen
und Übermitteln
am Eingang 146 beziehungsweise Ausgang 148. Im
Betrieb erlaubt dies die Verwendung einer Schaltung 11 mit
integrierten Schaltungen, die in der Lage sind, mit verschiedenen Geschwindigkeiten
zu arbeiten. Verschiedene Teile der Kette können, unter der Kontrolle von
in Steuerungsregister 225 von verschiedenen integrierten Schaltungen
in der Kette programmierten Frequenzen, Wörter bei unterschiedlichen
Taktraten weitergeben. Vorzugsweise ist eine verzögerte Sperrschaltung 44 enthalten,
um sicherzustellen, dass ein Wort zur Übermittlung mit einer vorher
festgelegten Verzögerung
in Transmitter 144 eingespeichert wird, nachdem ein neues
Wort von Empfänger 140 ausgegeben worden
ist, um so Controller 142 zu erlauben, ein Testdatenausgangssignal
als Antwort auf das neue Wort auszugeben, bevor das Wort für die Übermittlung
in den Transmitter 144 eingespeichert wird. Zu diesem Zweck
wird vorzugsweise ein Signal, das Ausgabe eines neuen Worts anzeigt,
vom Empfänger 140 über Sperrschaltung 44 an
den Transmitter 144 geliefert, um Einspeichern eines neuen
Worts an Transmitter 144 für eine vorher festgelegte Anzahl von
Taktperioden der Taktquelle 143 nach Empfangen und Ausgabe
eines neuen Worts durch Empfänger 140 zu
blockieren.
-
Durch
Verwenden unterschiedlicher programmierbarer Taktfrequenzen kann
die von den Testsignalen erfahrene Verzögerung, wenn sie sich durch
die Kette bewegen, minimiert werden, dadurch, dass Paare aufeinanderfolgender
integrierter Schaltungen in der Kette bei oder nahe der minimalen
der maximal möglichen
Geschwindigkeiten der jeweiligen integrierten Schaltung in der Kette
arbeiten. Mit den integrierten Schaltungen in der zu testenden Schaltung 11 als
gegeben, kann leicht bestimmt werden, welche Taktgeschwindigkeiten
verwendet werden können.
Die ausgewählten
Frequenzen werden dann in Frequenz programmierende Daten über die
Kette von Tester 10 übermittelt,
um die Frequenz programmierenden Daten in Steuerungsregister 225 zu
laden. Da die Verzögerung,
mit der Testsignale wie TCK sich durch die Kette bewegen, so minimiert wird,
kann die Frequenz, mit der Tester 10 die Testsignale ändern kann,
erhöht
werden. Es sollte deutlich sein, dass eine ähnliche Geschwindigkeitserhöhung durch
Verwendung asynchroner Handshake-Verfahren
zwischen den integrierten Schaltungen in der Kette realisiert werden
kann, aber dafür
sind im Allgemeinen mehr Eingangs-Pins erforderlich.
-
Obwohl
die Taktschaltungen 40, 42 so gezeigt werden,
als ob sie eine gemeinsame Taktquelle 143 verwenden, sollte
deutlich sein, dass Ausgangstaktschaltung 42 komplett unabhängig sein kann.
In dem Fall können
Maßnahmen
zum Steuern des Transfers zwischen verschiedenen Taktdomänen benötigt werden.
In noch einer anderen Ausführungsform
können
Handshake-Signale verwendet werden, um Daten von den Wörtern zwi schen
verschiedenen integrierten Schaltungen und innerhalb der integrierten
Schaltungen zu transferieren. In diesem Fall wird keine Taktprogrammierung
benötigt,
um optimale Geschwindigkeit zu erreichen.
-
4a zeigt
eine weitere Ausführungsform, in
der Multiplexer 46, 48, 49 hinzugefügt wurden,
um Auswählen
zwischen der Benutzung des internen Takts 143 und einem
externen Takteingang zu erlauben, um die integrierten Schaltungen
gemeinsam mit einem zentralen externen Takt zu verbinden. Multiplexer 46, 48, 49 werden
durch Befehlsdaten von Steuerungsregister 225 gesteuert.
So ist es möglich, zunächst einen
zentralen Takt zu verwenden und später zu Taktinformation zu schalten,
die durch die Kette durchgegeben wurde.
-
In
einer anderen Ausführungsform
können Strobe-Signale
zwischen den integrierten Schaltungen verwendet werden, um Taktwiederherstellung
zu erlauben. Strobe-Signale
sind an sich bekannt. Beispielsweise können ein Strobe-Signal und
ein Datensignal so ausgewählt
werden, dass das Strobe-Signal einen Übergang macht, wenn das Datum
des zu übermittelnden
Worts logisch Eins ist und das Datensignal macht einen Übergang,
wenn das zu übermittelnden
Datums logisch Null ist. In diesem Fall ist der wiederhergestellte
Takt das Exklusiv-ODER des Daten- und Strobe-Signals. Dies erlaubt
eine hohe Datenrate für
relativ niedrige Strobe- und Datensignalbandbreiten. An Intervallen
kann die Codierung sich ändern,
um Wortgrenzen durch Phasensprünge
in dem wiederhergestellten Taktsignal zu markieren.
-
Obwohl
die Erfindung in Begriffen des IEEE1149.1-Standards beschrieben
wurde, unter Verwendung von Konversion von durch eine Kette von
integrierten Schaltungen übermittelten
Wörtern, um
Testtaktsignale und Testmodusauswahlsignale genau wie Testdaten
wiederherzustellen, sollte es deutlich sein, dass die Erfindung
nicht auf die Anwendung auf IEEE1149.1 beschränkt ist. Andere Testprotokolle
können
verwendet werden. Obwohl eine vorteilhafte Ausführungsform effektiv eine Shell
um einen Testcontroller hinzufügt,
die bestimmte Testsignale wie TCK und TMS als zentral gelieferte
Signale behandelt, sodass die Shell diese Signale aus durch eine
Kette gelieferten Signalen wiederherstellt, sei zu ähnlich verstehen,
dass andere Ausführungsformen möglich sind,
in denen die verkettete Übermittlung dieser
Signale nicht vor dem Testcontroller versteckt wird.
-
Wie
gezeigt werden die Testsynchronisationssignale TCK, TMS als Teil
von Wörtern übermittelt,
die bitseriell übermittelt
werden. Als Alternative können
eins oder mehr dieser Signale parallel durch die Kette übermittelt
werden. Durch Verwenden derselben Kette werden Taktlaufzeitunterschiede
vermieden. Aber serielle Übermittlung
hat den Vorteil, die Anzahl der Eingangsanschlüsse zu reduzieren, die für Testzwecke
bereitgestellt werden müssen, ohne
die Testgeschwindigkeit unangemessen zu verringern, da die Testgeschwindigkeit
letztendlich durch die Tatsache bestimmt wird, dass die Synchronisationssignale
sich nur mit einer Rate verändern, die
benötigt
wird, um sicherzustellen, dass Erfassen und Aktualisieren verschiedener
integrierter Schaltungen in der Kette in der korrekten Reihenfolge
geschehen. So beeinflusst die serielle Übermittlung mehrerer Signale
die Geschwindigkeit nicht signifikant.
-
Wie
auch gezeigt, ist nur ein Bit an Testdaten in jedem Wort enthalten,
sodass nur ein Bit in den Testcontroller 142 geladen wird
und vom Controller ausgegeben wird, wenn die Testsynchronisationssignale
wie TCK und TMS sich ändern.
Dies ist mit IEEE1149.1 kompatibel. In einer alternativen Ausführungsform
enthalten die Wörter
mehr als ein Testdatenbit, wobei die Datenbits von einem Wort parallel
in den Testcontroller 142 geladen oder von Testcontroller 142 ausgeben
werden.
-
Wie
auch gezeigt, ist gemacht, dass die Testdaten sich nur ändern, wenn
Testsynchronisationssignale wie TCK und TMS sich ändern. Als
Alternative können
sich die Testdaten häufiger ändern, sodass aufeinander
folgende Wörter,
die dieselben TCK- und TMS-Bits
enthalten, unterschiedliche TDI- oder TDO-Bits enthalten.
-
5 zeigt
eine integrierte Schaltung, die häufigere Änderungen von Testdaten verwendet.
Die integrierte Schaltung enthält
ein Schieberegister 50, das irgendeins der Schieberegister,
die beispielsweise in IEEE1149.1 für TDI/TDO-Daten verwendet werden,
sein kann. Ein Ausgang von Empfänger 140 zum
Ausgeben von Testdaten TDI ist an einen Eingang von Schieberegister 50 gekoppelt.
Ein Ausgang von Schieberegister 50 ist an den Transmitter
gekoppelt, um Testbits zur Übermittlung
von Testdaten TDO zu liefern. In einer weiteren Ausführungsform
können pro
Datenwort mehr als ein Testdatenbit parallel in Schieberegister 50 geladen
oder parallel von Schieberegister 50 ausgegeben werden.
-
Schieberegister 50 empfängt über Taktversorgungsschaltung 52 Taktsignale
von Taktschaltung 143. So werden Daten bei einer höheren Rate
als die Rate des Testtaktsignals TCK durch Schieberegister 50 geschoben.
Abgesehen von seinem Eingang und Ausgang und Takten wird das Schieberegister
unter Verwendung der internen Testsynchronisationssignale (TCK und
TMS), die wiederhergestellt wurden, gesteuert. Diese Synchro nisationssignale
steuern beispielsweise Aktualisieren mit Daten von Schieberegister 50 und
Auslesen in Schieberegister 50.
-
In
einer Ausführungsform
gibt Taktversorgungsschaltung 52 Taktpulse bei einer geteilten
Taktrate weiter, sodass für
jedes an Eingang 146 empfangene Wort ein Taktpuls weitergegeben
wird. Aber wenn es nicht der Fall ist, dass neue Testdaten in jedem
aufeinanderfolgenden Wort geliefert werden, kann Taktversorgungsschaltung 52 die
Anzahl der durchgegebenen Taktpulse weiter reduzieren, beispielsweise
auf einen Taktpuls für
je zwei Wörter, wenn
jedes zweite Wort ein neues Testdatenbit enthält. In einer weiteren Ausführungsform
kann Tester 10 Information, wie einen Bitzähler, in
den Wörtern einschließen, um
anzuzeigen, ob das Wort neue Testdaten enthält. In diesem Fall wird diese
Information verwendet, um zu steuern, ob die Taktversorgungsschaltung
einen Taktpuls weitergibt.
-
Die
Ausführungsform
von 5 erlaubt häufigere Änderungen
von Testdaten als von Synchronisationsdaten wie TCK und TMS. Dies
hat den Vorteil, dass mehr Testdaten pro Testtakt TCK-Periode übermittelt
werden können.
Aber dies kann zu Problemen führen,
wenn die Kette einige integrierte Schaltungen enthält, die
langsamer sind als andere. In diesem Fall werden vorzugsweise Wörter mit
einer höheren
Rate zwischen schnellen integrierten Schaltungen in der Kette und
mit einer niedrigeren Rate zwischen langsameren Schaltungen ausgetauscht.
So werden weniger aufeinanderfolgende Wörter mit derselben Synchronisationsinformation
mit langsameren integrierten Schaltungen ausgetauscht als zwischen
schnelleren integrierten Schaltungen. Dies macht es unvorhersehbar,
wann Testdaten weitergegeben werden und wann nicht, wenn die Testdaten
sich häufiger ändern als
die Synchronisationsinformation. In einer Ausführungsform ändern sich die Testdaten nur dann,
wenn sich die Synchronisationsdaten ändern, um komplette Übermittlung
von Testdaten auf einfache Weise sicherzustellen.