-
VERWANDTE
FÄLLE
-
Die
vorliegende Erfindung, wie sie durch das obige Aktenzeichen und
den Titel gekennzeichnet ist, ist mit zwei weiteren Erfindungen
verwandt, die hierin mit einer gemeinsamen "Detaillierten Beschreibung" beschrieben werden.
Diese zwei verwandten Erfindungen sind als Akte 550,609 mit dem
Titel "A PROGRAM STORAGE
DEVICE CONTAINING INSTRUCTIONS THAT ARE SPACED APART BY UNUSED BITS
THAT END ON WORD BOUNDARIES AND WHICH GENERATE CHIP TESTING BIT
STREAMS OF ANY LENGTH",
mit der US-Patent-Nr.
6,405,150, und als Akte 550,611 mit dem Titel "AN ELECTRONIC SYSTEM FOR TESTING A SET
OF MULTIPLE CHIPS CONCURRENTLY OR SEQUENTIALLY IN SELECTABLE SUBSETS
UNDER PROGRAM CONTROL TO LIMIT CHIP POWER DISSIPATION" mit der US-Patent-Nr. 6,363,504
gekennzeichnet. Die Patentanmeldungen zu allen drei Erfindungen
wurden im US-Patentamt gleichzeitig am 31. August 1999 eingereicht.
-
HINTERGRUND
DER ERFINDUNG
-
Die
vorliegende Erfindung, wie sie durch die Ansprüche dargestellt wird, umfasst
ein elektronisches System zum Testen von Chips, das eine selektierbare
Anzahl von Mustergeneratoren besitzt, die gleichzeitig verschiedene
Bitströme
an selektierbare Sätze
von Chip-Treiber-Schaltungen senden. Im Stand der Technik wird ein
verwandtes elektronisches System zum Testen von Chips im US-Patent
5,390,129 offenbart. Dieses System aus dem Stand der Technik ist
auf die Unisys Corporation übertragen,
die ferner die Inhaberin der vorliegenden Erfindung ist.
-
Ein
vereinfachtes Blockdiagramm des Chiptestsystems aus dem Stand der
Technik wird in der 2 des Patents '129 gezeigt. Dieses
System schließt
einen Computer 50 ein, der mittels eines Time-Sharing-Busses 52 mit
einer Vielzahl von Treiber-Platten 100 gekoppelt ist; und
jede Treiber-Platte 100 ist mit einer entsprechenden Einbrenn-Platte 500 gekoppelt,
die mehrere zu testende Chips von integrierten Schaltungen trägt.
-
Im
Betrieb sendet der Computer 50 sequenziell jeder Treiber-Platte 100 einen
separaten Satz von Testdatenmustern, die zum Testen der Chips verwendet
werden. Diese Testdatenmuster werden auf jeder Treiber-Platte in
einem großen
SRAM gespeichert, das in der 3 durch
das Bezugszeichen 107 gekennzeichnet und detaillierter
in der 9 durch das Bezugszeichen 145 gekennzeichnet
ist. Welche spezielle Treiber-Platte die Testdatenmuster zu einem
bestimmten Zeitpunkt empfängt
und speichert, wird von einer Adressschaltung 100A bestimmt,
die sich auf der Treiber-Platte befindet, wie im Blockdiagramm der 2 gezeigt
ist.
-
Nachdem
die Testdatenmuster im SRAM 145 auf sämtlichen Treiber-Platten 100 gespeichert
wurden, können
dann die Chips auf sämtlichen
Einbrenn-Platten 500 parallel getestet werden. Zu diesem
Zweck werden die Testmuster gleichzeitig von sämtlichen SRAMs gelesen und über entsprechende
Ausgabe-Treiber-Module 164 an die Chips auf sämtlichen
Einbrenn-Platten 500 gesendet, wie in der Fig. 14 gezeigt
ist.
-
Ein
besonderes Merkmal des Chiptestsystems im Patent '129 ist, dass jede
Einbrenn-Platte einen ID-Code einschließt, der die Chiptypen kennzeichnet,
die auf der Platte getestet werden sollen. Dieser ID-Code wird von
der Treiber-Platte 100 abgetastet und an den Computer 50 gesendet;
und als Antwort werden die Testdatenmuster, die der Computer 50 an
die Treiber-Platte
sendet, auf den abgetasteten ID-Code zugeschnitten.
-
Das
Chiptestsystem im Patent '129
hat jedoch auch einige bedeutende Einschränkungen, die durch den Aufbau
in der 2 auferlegt werden. Zum Beispiel ist der Computer 50 die
alleinige Quelle für
die Testdatenmuster für
sämtliche
Treiber-Platten 100. Folglich ist die Betriebsgeschwindigkeit
des Chiptestsystems eingeschränkt,
weil der Computer 50 die Testdatenmuster nur an eine einzige
Treiber-Platte zur Zeit über
den Bus 52 senden kann.
-
Eine
weitere Einschränkung
des Chiptestsystems im Patent '129
besteht darin, dass jede Treiber-Platte 100 immer sämtliche
Chips auf einer Einbrenn-Platte 500 gleichzeitig testet.
Jede Einbrenn-Platte hat jedoch von Natur aus eine Grenze bezüglich der
gesamten Leistungsmenge, welche die Chips auf der Platte verbrauchen
können.
Um die gesamte Verlustleistung auf jeder Einbrenn-Platte 500 unterhalb
einer bestimmten Grenze zu halten, muss folglich die Gesamtanzahl
der Chips auf jeder Einbrenn-Platte
verringert werden, wenn die maximale Verlustleistung pro Chip ansteigt.
-
Noch
eine weitere Einschränkung
des Chiptestsystems im Patent '129
besteht darin, dass die im großen
SRAM 145 auf jeder Treiber-Platte gespeicherten Testdatenmuster
die SRAM-Speicherzellen
nur sehr ineffizient nutzen können.
Die 9 des Patents '129
zeigt, dass jedes SRAM 145 neunzehn Adressbits empfängt und
acht Datenausgabebits besitzt; und folglich besitzt das SRAM 145 auf
jeder Treiber-Schaltung acht Millionen Speicherzellen. Aber bestimmte
Chiptypen werden getestet, indem ihnen Sequenzen von seriellen Bitströmen gesendet
werden, die sich mit der Zeit zahlenmäßig verändern. Wenn ein SRAM 145 vier
Bitströme während eines
Zeitintervalls sendet und nur zwei Bitströme während anderer Zeitintervalle
sendet, dann ist folglich die Hälfte
des SRAMs ungenutzt, wenn die zwei Bitströme gesendet werden.
-
Ferner
wird im Stand der Technik ein weiteres System zum Testen von Chips
von integrierten Schaltungen vom US-Patent 5,504,670 offenbart.
In diesem Chiptestsystem werden mehrere Ressourcen bereitgestellt,
um die Chips zu testen; und diese Ressourcen sind miteinander über einen
gemeinsamen Time-Sharing-Bus gekoppelt. Dieser gemeinsame Time-Sharing-Bus
ist erforderlich, damit die Ressourcen je nach Notwendigkeit verschiedenen
Verarbeitungselementen zugewiesen werden können; das Time-Sharing des Busses
schränkt
jedoch die Geschwindigkeit ein, mit der Testsignale aus den Ressourcen
gelesen und an die Chips gesendet werden können.
-
Entsprechend
besteht eine Hauptaufgabe des hierin offenbarten Chiptestsystems
darin, sämtliche
der obigen Beschränkungen
aufzugreifen und zu beseitigen.
-
KURZE ZUSAMMENFASSUNG
DER ERFINDUNG
-
Die
vorliegende Erfindung, wie sie durch die Ansprüche dargestellt wird, deckt
einen Aspekt des offenbarten Chiptestsystems ab, der die obige Beschränkung hinsichtlich
der Betriebsgeschwindigkeit aufgreift. Gemäß der vorliegenden Erfindung
besteht ein System zum Testen von Chips von integrierten Schaltungen
aus einer selektierbaren Anzahl von Mustergeneratoren, von denen
jeder mittels eines separaten Busses mit einer selektierbaren Anzahl
von Chip-Treiber-Schaltungen
gekoppelt ist. Jeder Mustergenerator ist ferner mit einem entsprechenden
Speicher gekoppelt, der unterschiedliche Bitströme speichert, die wortweise
lesbar sind. Während
des Betriebs liest jeder Mustergenerator die Bitströme selektiv
Wort für
Wort aus seinem jeweiligen Speicher; und er sendet die gelesenen
Wörter
gleichzeitig an sämtliche
Chip-Treiber-Schaltungen,
die mit seinem separaten Bus gekoppelt sind. Während das geschieht, konvertiert
jeder Chip-Treiber die Wörter,
die ihm gesendet werden, in bitserielle Testsignale, die mehrere
Chips von integrierten Schaltungen parallel prüfen.
-
Die
Betriebsgeschwindigkeit wird gegenüber dem Stand der Technik erhöht, weil
sämtliche
Chip-Treiber-Schaltungen, die mit einem separaten Bus gekoppelt
sind, die Wörter
der Bitströme
gleichzeitig aus einem Mustergenerator empfangen. Die Betriebsgeschwindigkeit
wird gegenüber
dem Stand der Technik weiterhin erhöht, weil ferner sämtliche
Mustergeneratoren unterschiedliche Bitströme zur gleichen Zeit auf separaten Bussen
senden.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
1 zeigt
ein Blockdiagramm eines Chiptestsystems, das eine bevorzugte Ausführungsform
der vorliegenden Erfindung darstellt.
-
2 zeigt,
wie das Chiptestsystem in 1 physisch
zusammengestellt ist.
-
3 zeigt
drei verschiedene Typen von Anweisungen mit variabler Länge, die
vom System in 1 ausgeführt werden, um Chips von integrierten
Schaltungen zu testen.
-
4 zeigt
ein Beispiel dafür,
wie die Anweisungen in 3 in einer Sequenz angeordnet
werden, um ein Testprogramm zu bilden.
-
5 zeigt
die internen Details eines Mustergenerators, der in selektierbaren
Mengen im System in 1 auftritt.
-
6 zeigt
die internen Details einer Chip-Treiber-Schaltung, die in selektierbaren
Mengen im System in 1 auftritt.
-
7 zeigt,
wie die Mustergeneratoren in 5 und die
Chip-Treiber-Schaltungen
in 6 im System von 1 zusammenwirken.
-
8 zeigt
eine zusätzliche
Verschaltung auf jeder Chip-Treiber-Schaltung,
durch die Fehler in den getesteten Chips ermittelt werden.
-
9 zeigt
eine zusätzliche
Verschaltung auf jeder Treiber-Schaltung,
durch die mehrere Chips gleichzeitig oder sequenziell in selektierbaren
Teilsätzen
unter Programmsteuerung getestet werden.
-
10 zeigt
die Struktur eines Steuerspeichers, der ein Teil der Verschaltung
in 9 ist.
-
11 zeigt
drei zusätzliche
Typen von Anweisungen, die vom Chiptestsystem in 1 ausgeführt werden.
-
12 zeigt
eine Modifikation, die an den drei Anweisungen vorgenommen werden
kann, die in der 3 gezeigt sind.
-
DETAILLIERTE
BESCHREIBUNG
-
Mit
Bezug auf die
1 wird nun eine Ausführungsform
eines Systems beschrieben, das Chips von integrierten Schaltungen
gemäß der vorliegenden
Erfindung testet. Dieses System besteht aus fünf verschiedenen Typen von
Modulen
10–
14;
und eine Beschreibung jedes Moduls wird unten in der Tabelle 1 geliefert. TABELLE
1
Modul | Beschreibung |
10 | Jedes
Modul 10 ist eine Chipanordnung, die mehrere Chips 10a von
integrierten Schaltungen trägt,
während
sie getestet werden. Im System in Fig. 1 ist die Gesamtzahl der
Chipanordnungen 10 selektierbar. Jede Chipanordnung 10 schließt eine
Platine 10b ein, auf die mehrere Buchsen 10c gelötet sind,
und jede Buchse trägt
einen der Chips 10a. Anschlüsse 10d sind an einer
Kante der Platine 10b montiert und elektrische Leiter 10e in
der Platine |
| befördern Testsignale
zwischen den Anschlüssen 10d und
den Chips 10a. |
11 | Jedes
Modul 11 ist eine Chip-Treiber-Schaltung. Im System in Fig. 1 wird
eine separate Chip-Treiber-Schaltung 11 für jede Chipanordnung 10 bereitgestellt.
Jede Chip-Treiber-Schaltung 11 schließt die gesamte
Verschaltung ein, die in den Fig. 6, 8, 9 und 10 gezeigt ist. Durch
diese Verschaltung werden Testsignale als verschiedene bitserielle
programmierbare Sequenzen an die Chips 10a gesendet und
von ihnen empfangen. |
12 | Jedes
Element 12 ist ein Mustergenerator. Im System in Fig. 1
ist jeder Mustergenerator 12 mittels eines Busses 12a mit
einer selektierbaren Anzahl von Chip-Treiber-Schaltungen gekoppelt. Die Fig. 1 zeigt ein
Beispiel, worin sämtliche
Chip-Treiber-Schaltungen 11 in
Teilgruppen unterteilt sind und ein separater Mustergenerator 12 mittels
eines separaten Busses 12a mit jeder Teilgruppe gekoppelt
ist. Alternativ können
sämtliche
Chip-Treiber-Schaltungen 11 über einen einzigen Bus 12a mit
einem einzigen Mustergenerator gekoppelt werden; oder jede Chip-Treiber-Schaltung 11 kann über einen
separaten Bus 12a mit einem separaten Mustergenerator gekoppelt
werden. Jeder Mustergenerator 12 schließt die gesamte Verschaltung
ein, die in den Fig. 5 und 6 gezeigt ist. Über diese Verschaltung führt jeder
Mustergenerator 12 eine separate Sequenz von programmierbaren
Anweisungen aus, die bestimmte bitserielle Sequenzen zum Testen
der Chips 10c spezifizieren. Bei der |
| Ausführung der
Anweisungen unterteilt jeder Mustergenerator 12 die bitseriellen
Sequenzen in Wörter
und sendet die Wörter
an sämtliche
Chip-Treiber-Schaltungen 11, die mit seinem Bus 12a gekoppelt
sind. |
13 | Jedes
Element 13 ist ein Lese-Schreib-Speicher mit Direktzugriff. Ein separater
Speicher 13 wird für
jeden Mustergenerator 12 bereitgestellt. Jeder Speicher 13 speichert
separate Sequenzen von programmierbaren Anweisungen, die vom entsprechenden
Mustergenerator ausgeführt
werden. Diese Anweisungen werden vom Mustergenerator 12 über eines
Zugangsanschluss 13a aus dem Speicher 13 gelesen
und sie werden in den Speicher über
einen weiteren Zugangsanschluss 13b geschrieben. Beide
Zugangsanschlüsse
arbeiten gleichzeitig; somit können
einige Anweisungen aus dem Anschluss 13a gelesen werden,
während
zur gleichen Zeit andere Anweisungen in den Anschluss 13b geschrieben
werden können. |
14 | Das
Modul 14 stellt einen einzigen Host-Computer dar, der den Betrieb des gesamten
Systems in Fig. 1 lenkt. Der Host-Computer 14 ist mittels
eines Busses 13c mit dem Anschluss 13b auf sämtlichen
Speichern 13 gekoppelt. Der Host-Computer 14 schließt eine Platte 14a,
eine Tastatur 14b und einen Bildschirm 14c ein.
Auf der Platte 14a sind mehrere Programme für die Mustergeneratoren 12 gespeichert;
und jedes dieser Programme schließt einen anderen Satz der programmierbaren
Anweisungen ein, die bestimmte bitserielle Sequenzen von Signalen |
| zum
Testen der Chips 10c spezifizieren. Um eines der Programme
zu selektieren und es an den Speicher 13 eines bestimmten
Mustergenerators zu senden, gibt ein Bediener (nicht gezeigt) verschiedene
Befehle an den Host-Computer 14 mittels der Tastatur 14b ein. Anschließend werden
die Ergebnisse, die aus dem Testen der Chips mit dem selektierten
Programm gewonnen werden, vom Mustergenerator im Speicher 13 gespeichert;
und sie werden vom Host-Computer 14 auf dem Bildschirm 14c angezeigt. |
-
Bezug
nehmend als Nächstes
auf die 2, zeigt sie, wie sämtliche
Module 10–14 physisch
als ein System zusammengestellt sind. Das Element 20 in
der 2 ist ein mechanisches Gestell, das mehrere horizontale
Steckplätze 21-1, 21-2 usw.
besitzt, die übereinander
in einem Stapel angeordnet sind. Jeder Steckplatz trägt selektiv
entweder eine Treiber-Schaltung 11 plus eine Chipanordnung 10 oder
er trägt
einen Mustergenerator 12 plus einen Speicher 13.
-
Die 2 zeigt
ein Beispiel, worin die Gesamtzahl der Steckplätze im Gestell 20 vierzehn
beträgt.
Der oberste Steckplatz ist 21-1; der nächste Steckplatz ist 21-2,
usw. In der 2 sind die Steckplätze 21-1 bis 21-14 wie
folgt belegt.
-
Jeder
Steckplatz 21-1 bis 21-7 trägt eine Treiber-Schaltung 11 plus
eine Chipanordnung 10; und der nächste Steckplatz 21-8 trägt einen
Mustergenerator 12 plus seinen Speicher 13. Der
Mustergenerator 12 im Steckplatz 21-8 ist mit
den sieben Treiber-Schaltungen in den Steckplätzen 21-1 bis 21-7 über einen
Bus 12a gekoppelt. Auf diesem Bus sendet der Mustergenerator
im Steckplatz 21-8 bitserielle Testsignale an alle sieben
Chip-Treiber-Schaltungen,
die sich in den Steckplätzen 21-1 bis 21-7 befinden.
-
Der
Steckplatz 21-9 trägt
eine Treiber-Schaltung 11 plus eine Chipanordnung 10;
und der Steckplatz 21-10 trägt einen Mustergenerator 12 plus
seinen Speicher 13. Der Mustergenerator im Steckplatz 21-10 ist mit
der Treiber-Schaltung im Steckplatz 21-9 über einen
Bus 12a gekoppelt; und auf diesem Bus sendet der Mustergenerator
im Steckplatz 21-10 bitserielle Testsignale nur an die
eine Chip-Treiber-Schaltung im Steckplatz 21-9.
-
Jeder
Steckplatz 21-11 bis 21-13 trägt eine Treiber-Schaltung 11 plus
eine Chipanordnung 10; und der nächste Steckplatz 21-14 trägt einen
Mustergenerator 12 plus seinen Speicher 13. Der
Mustergenerator im Steckplatz 21-14 ist mit drei Treiber-Schaltungen in den
Steckplätzen 21-11 bis 21-14 über einen
Bus 12a gekoppelt; und auf diesem Bus sendet der Mustergenerator
im Steckplatz 21-14 bitserielle Testsignale an alle drei
Chip-Treiber-Schaltungen,
die sich in den Steckplätzen 21-11 bis 21-13 befinden.
-
Jeder
Speicher 13 in den Steckplätzen 21-8, 21-10 und 21-14 speichert
unterschiedliche Sequenzen von mehreren Typen von Anweisungen, welche
die bitseriellen Testsignale definieren, die von den Mustergeneratoren 12 gesendet
werden. Drei unterschiedliche Typen der Anweisungen werden in der 3 gezeigt. Die
Anweisung 31 stellt einen ersten Typ dar; die Anweisung 32 stellt
einen zweiten Typ dar; und die Anweisung 33 stellt einen
dritten Typ dar.
-
Jede
Anweisung 31 des ersten Typs schließt ein Wort WO ein, das einen
Befehlscode OP, eine Wortzählung
WCNT und eine Bitzählung
BCNT enthält.
Wenn der Operationscode einen bestimmten Wert von OP1 besitzt, bewirkt
die Anweisung 31, dass ein Bitstrom TDI in ein Datenregister
geschrieben wird, das sich im Chip 10a befindet, der getestet
wird. Wenn der Operationscode einen weiteren bestimmten Wert von
OP2 besitzt, bewirkt die Anweisung 31, dass der TDI-Bitstrom
in ein Befehlsregister geschrieben wird, das sich im Chip 10a befindet.
-
Für beide
Operationscodes OP1 und OP2 wird der zu schreibende TDI-Bitstrom
innerhalb der Anweisung 31 spezifiziert, wie in der 3 gezeigt
ist. Dieser TDI-Bitstrom beginnt unmittelbar nach dem Wort WO und
er besitzt eine Länge,
die sich in Inkrementen von einem Bit verändert. Die Gesamtzahl von Bits
im TDI-Bitstrom beträgt
(WCNT-1)(X)+BCNT, worin X die Anzahl der Bits pro Wort ist. Alle
Bits im letzten Wort, die nicht den TDI-Bitstrom spezifizieren,
sind ungenutzt.
-
Jede
Anweisung 32 des zweiten Typs schließt ein Wort WO ein, das einen
Operationscode, eine Wortzählung
WCNT und eine Bitzählung
BCNT enthält.
Wenn der Operationscode einen bestimmten Wert von OP3 besitzt, bewirkt
die Anweisung 32, dass der Inhalt des Datenregisters im
Chip 10a gelesen und selektiv mit einem Datenstrom in der
Anweisung verglichen wird. Wenn der Befehlscode einen weiteren bestimmten
Wert von OP4 besitzt, bewirkt die Anweisung 32, dass der
Inhalt des Befehlsregisters im Chip 10a gelesen und selektiv
mit einem Datenstrom in der Anweisung verglichen wird.
-
Für beide
Operationscodes OP3 und OP4 werden zwei Bitströme ETDO und MASK innerhalb
der Anweisung 32 für
die Verwendung in der Vergleichsoperation spezifiziert. Diese zwei
Bitströme
beginnen unmittelbar nach dem Wort WO und sie werden Wort für Wort verschachtelt,
wie in der 3 gezeigt ist. Wenn das i-te
Bit im MASK-Bitstrom eine "1" ist, dann nimmt
das i-te Bit, das aus dem Chip gelesen wird, an der Vergleichsoperation
teil; und dieses bestimmte Bit aus dem Chip wird mit dem i-ten Bit
im ETDO-Bitstrom verglichen. Jeder der Bitströme ETDO und MASK hat eine variable
Länge und
die Gesamtzahl von Bits beträgt
in jedem dieser Bitströme
(WCNT-1)(X)+BCNT. Sämtliche
Bits in den letzten zwei Wörtern,
welche die ETDO- und MASK-Bitströme
nicht spezifizieren, sind ungenutzt.
-
Jede
Anweisung 33 des dritten Typs schließt ein Wort WO ein, das einen
Operationscode OP, eine Wortzählung
WCNT und eine Bitzählung
BCNT enthält.
Wenn der Operationscode einen bestimmten Wert von OP5 besitzt, bewirkt
die Anweisung 33, dass ein Bitstrom TDI in ein Datenregister
im Chip 10a geschrieben wird, und gleichzeitig bewirkt
die Anweisung 33, dass der Inhalt des Datenregisters im
Chip 10a gelesen und selektiv mit einem Datenstrom in der
Anweisung verglichen wird. Wenn der Operationscode einen weiteren
bestimmten Wert von OP6 besitzt, bewirkt die Anweisung 33,
dass der TDI-Bitstrom in das Befehlsregister im Chip 10a geschrieben
wird, und gleichzeitig bewirkt die Anweisung 33, dass der
Inhalt des Befehlsregisters im Chip 10a gelesen und selektiv
mit einem Datenstrom in der Anweisung verglichen wird.
-
Für beide
Operationscodes OP5 und OP6 wird der TDI-Bitstrom innerhalb der
Anweisung 33 spezifiziert; und zwei weitere Bitströme ETDO
und MASK werden ebenfalls innerhalb der Anweisung zur Verwendung in
der Vergleichsoperation spezifiziert. Diese drei Bitströme beginnen
unmittelbar nach dem Wort WO und sie werden Wort für Wort verschachtelt,
wie in der 3 gezeigt ist. Wenn das i-te
Bit im MASK-Bitstrom eine "1" ist, dann nimmt
das i-te Bit, das aus dem Chip gelesen wird, an der Vergleichsoperation
teil; und dieses bestimmte Bit aus dem Chip wird mit dem i-ten Bit
im ETDO-Bitstrom verglichen. Jeder der drei Bitströme TDI, ETDO
und MASK hat eine variable Länge;
und die Gesamtzahl von Bits beträgt
in jedem dieser Bitströme (WCNT-1) (X)+(BCNT). Sämtliche
Bits in den letzten drei Wörtern,
welche nicht die TDI-, ETDO- und MASK-Bitströme spezifizieren, sind ungenutzt.
-
Wenn
der Mustergenerator 12 jede der Anweisungen 31, 32 und 33 ausführt, erzeugt
er ferner einen zusätzlichen
Bitstrom, der innerhalb der Anweisung in 3 nicht
angegeben ist. Dieser zusätzliche
Bitstrom wird als Steuersignal, genannt TMS, verwendet, das den
Chip 10a in bestimmte Zustände versetzt, die selektiv das
Datenregister lesen, in das Datenregister schreiben, das Befehlsregister
lesen oder in das Befehlsregister schreiben. Jeder TMS-Bitstrom
wird als Antwort auf die Operationscodes OP1–OP6, die spezifizieren, dass entweder
das Befehlsregister oder das Datenregister verwendet werden soll,
und auf die WCNT- und BCNT-Zählungen
erzeugt, welche die Anzahl der Bits im TMS-Signal ermitteln.
-
Die 4 zeigt
ein Beispiel dafür,
wie die drei Typen von Anweisungen 31, 32 und 33 in
unterschiedlichen Sequenzen in jedem Speicher 13 für einen
Mustergenerator 12 gespeichert werden. Im Beispiel in 4 ist
die Sequenz von Anweisungen I (k), I(k+1) ... usw. Die Anweisungen
I(k+1) und I(k+3) haben den ersten Typ 31; die Anweisungen
I(k) und I(k+4) haben den zweiten Typ 32; und die Anweisungen
I(k+2) und I(k+5) haben den dritten Typ 33.
-
Jede
Anweisung 31 des ersten Typs wird durch einen Operationscode
von OP1 oder OP2 gekennzeichnet und sie bezeichnet einen einzigen
Bitstrom TDI mit variabler Länge.
Jede Anweisung 32 des zweiten Typs wird durch einen Operationscode
von OP3 oder OP4 gekennzeichnet und sie bezeichnet zwei Bitströme ETDO
und MASK mit variabler Länge.
Jede Anweisung 33 des dritten Typs wird durch einen Operationscode von
OP5 oder OP6 gekennzeichnet und sie bezeichnet drei Bitströme TDI,
ETDO und MASK mit variabler Länge.
Eine jeweilige Reihe von Bits, die nicht verwendet werden (NU),
beginnt unmittelbar nach jedem seriellen Bitstrom und endet an einer
Wortgrenze; und das ermöglicht
es der nächsten
Anweisung in der Sequenz, immer an einer Wortgrenze zu beginnen.
-
Mit
Bezug auf 5 werden nun die Details der
Verschaltung beschrieben, die sich in jedem Mustergenerator 12 befindet.
Diese Verschaltung schließt
eine sequenzielle Zustandsmaschine 40, einen Zähler 41, einen
Satz von sieben Registern 42–48, einen Multiplexer 49 und
einen Oszillator 50 ein. Sämtliche Komponenten 40–50 sind
wie gezeigt miteinander verbunden.
-
Der
Zähler 41 sowie
jedes der Register 42–48 besitzen
einen Satz von Dateneingängen
D und einen Takteingang C. Um die Daten auf den Eingängen D in
den Zähler
oder in ein bestimmtes Register zu speichern, sendet die Zustandsmaschine 40 einen
Taktimpuls an den Takteingang C. Der Zähler 42 besitzt ferner
einen Abwärtszähl-Eingang
CD; und der Zähler
erniedrigt seine gespeicherte Zählung
um eins, wenn ein Puls auf dem CD-Eingang empfangen wird.
-
Im
Betrieb wird jede der Komponenten 41–48 von der Zustandsmaschine 40 verwendet,
um die folgenden Informationen zu speichern. Das Register 42 speichert
den Operationscode OP, der im ersten Wort WO der Anweisungen 31, 32 und 33 in 3 erscheint.
Der Zähler 41 speichert
die Wortzählung
WCNT und das Register 43 speichert die Bitzählung BCNT,
die im ersten Wort WO jeder der Anweisungen in 3 erscheint.
-
Das
Register 44 speichert ein Wort des Bitstroms TDI, der in
den Anweisungen 31 und 33 in 3 erschient.
Das Register 45 speichert ein Wort des Bitstroms ETDO,
der in den Anweisungen 32 und 33 in 3 erschient.
Und das Register 46 speichert ein Wort des Bitstroms MASK,
der in den Anweisungen 32 und 33 in 3 erschient.
-
Das
Register 47 speichert ein Wort des zusätzlichen Bitstroms TMS, der
intern vom Mustergenerator 12 während der Ausführung der
Anweisungen in 3 erzeugt wird. Das Register 48 ist
ein Allzweckregister, das verschiedene Steuerbits speichert, die
intern sowohl vom Mustergenerator 12 als auch von den Chip-Treiber-Schaltungen 11 auf
eine Weise verwendet werden, die kurz beschrieben wird.
-
Zu
Beginn der Ausführung
einer der Anweisungen in 3 liest der Mustergenerator 12 das
erste Wort WO der Anweisung aus dem Speicher 13. Um diesen
Lesevorgang durchzuführen,
sendet die Zustandsmaschine 40 eine Speicheradresse MADDR
auf einem Satz von Adressenleitungen 40a, die zum Anschluss 13a des
Speichers 13 führen,
der in der 1 gezeigt ist. Als Antwort sendet
der Anschluss 13a des Speichers 13 das adressierte
Wort als Speicherdaten MDATA auf einem Satz von Datenleitungen 40b an
die Zustandsmaschine 40 zurück. Dann sendet die Zustandsmaschine 40 einen
Taktimpuls auf drei Taktleitungen 40c–40e, um den OP-Code
in das Register 42 zu speichern, die Wortzählung WCNT
in den Zähler 41 zu
speichern und die Bitzählung
BCNT in das Register 43 zu speichern.
-
Danach
prüft die
Zustandsmaschine 40 den OP-Code, der sich im Register 42 befindet.
Wenn der OP-Code im Register 42 anzeigt, dass die Anweisung
einen Typ hat, der einen TDI-Datenstrom einschließt, dann
wird das erste Wort dieses Datenstroms aus dem Speicher 13 gelesen
und im Register 44 gespeichert. Wenn der OP-Code im Register 42 anzeigt,
dass die Anweisung einen Typ hat, der einen ETDO-Datenstrom einschließt, dann
wird das erste Wort dieses Datenstroms aus dem Speicher 13 gelesen
und im Register 45 gespeichert. Wenn der OP-Code im Register 42 anzeigt,
dass die Anweisung einen Typ hat, der einen MASK-Datenstrom einschließt, dann
wird das erste Wort des MASK-Datenstroms aus dem Speicher 13 gelesen
und im Register 46 gespeichert.
-
Die
obigen Datenstromwörter
werden eines zur Zeit mittels der Mustergenerator-Zustandsmaschine 40 durch
sequenzielles Senden einer Speicheradresse auf den Adressenleitungen 40a und
Zurückerhalten des
adressierten Worts aus dem Speicher 13 auf den Datenleitungen 40b gewonnen.
Jedes empfangene Wort aus dem Speicher 13 wird im entsprechenden
Register 44, 45 oder 46 durch Senden
eines Taktimpulses auf einer der Taktleitungen 40f, 40g oder 40h gespeichert.
-
Nach
dem obigen Arbeitsgang erzeugt die Zustandsmaschine 40 intern
ein Wort des zusätzlichen
Bitstroms TMS, der zuvor beschrieben wurde. Dieses intern erzeugte
Wort des TMS-Bitstroms wird auf einem Satz von Signalleitungen 40i gesendet
und durch einen Taktimpuls auf einer Taktleitung 40j in
das TMS-Register 47 geladen.
-
Danach
verwendet die Zustandsmaschine 40 den Multiplexer 49,
um sequenziell die Ausgabe der Register 44–47,
die zuvor geladen wurden, auf einen Satz von Datenleitungen 55 zu
geben, welche mit JDATA bezeichnete Datensignale befördern. Um
die Ausgabe eines bestimmten Registers durch den Multiplexer 49 zu
geben, erzeugt die Zustandsmaschine 40 mit SEL(i) bezeichnete
Steuersignale auf einem Satz von Steuerleitungen 40k, die
zum Multiplexer 49 führen.
-
Während die
Ausgabe eines Registers auf den JDATA-Leitungen 55 gesendet
wird, erzeugt die Zustandsmaschine 40 ferner mit JADDR
bezeichnete Adresssignale auf einem Satz von Adressleitungen 56;
und diese Adresssignale legen den Bestimmungsort für die JDATA-Signale fest. Um
anzuzeigen, wann die JDATA-Signale und JADDR-Signale gesendet werden, sendet die
Zustandsmaschine 40 einen mit JSTROBE bezeichneten Puls
auf einer Taktleitung 57. Ferner sendet die Zustandsmaschine 40 einen
mit BUSCK bezeichneten freilaufenden Taktgeber auf einer Taktleitung 58.
Sämtliche
Leitungen 55–58 zusammen
bilden den Bus 12a, der in den 1 und 2 gezeigt
ist, die den Mustergenerator 12 mit einer selektierbaren
Anzahl von Chip-Treiber-Schaltungen 11 verbinden.
-
Bezugnehmend
auf die 6 werden als Nächstes die
Details der Verschaltung beschrieben, die sich in jeder Chip-Treiber-Schaltung 11 befindet.
Diese Verschaltung schließt
einen Adressdecoder 60, einen Satz von fünf Registern 61–65,
einen Satz von vier Parallel-Serien-Schieberegistern 66–69,
eine Schiebesteuerschaltung 70 und eine Leitung 71 mit
variabler Verzögerung
ein. Sämtliche
Komponenten 60–71 sind
wie in der 6 gezeigt miteinander verbunden.
-
Jedes
Register 61–65 besitzt
einen Satz von Dateneingängen
D und einen Freigabeeingang E und einen Takteingang C. Die Dateneingänge D empfangen
die Datensignale JDATA aus dem Mustergenerator in 5 und
der Takteingang C empfängt
den JSTROBE-Taktimpuls aus dem Mustergenerator. Um die JDATA-Signale
in ein bestimmtes Register 61–65 zu speichern,
wird ein separates Freigabesignal E1–E6 an den Freigabeeingang
E dieses Registers gesendet.
-
Sämtliche
Freigabesignale E1–E5
für die
Register 61–65 werden
von der Adressdecoderschaltung 60 auf einem Satz von Signalleitungen 60a–60e erzeugt.
Das Freigabesignal E1 wird an das Register 61 gesendet;
das Freigabesignal E2 wird an das Register 62 gesendet
usw. Diese Freigabesignale E1–E5
werden im Adressdecoder 60 durch Decodierung bestimmter
Adressen auf den JADDR-Adressleitungen 56 erzeugt.
-
Während des
Betriebs sendet die Mustergenerator-Zustandsmaschine 40 in 5 die
JADDR-, JDATA- und JSTROBE-Signale so, dass die Register 62–65 die
folgenden Informationen speichern. Ein Wort des MASK-Bitstroms wird
im Register 62 gespeichert; und dieses Wort wird aus dem
Register 47 in 5 durch den Multiplexer 50 gesendet.
Ein Wort des TDI-Bitstroms wird im Register 63 gespeichert;
und dieses Wort wird aus dem Register 44 in 5 durch
den Multiplexer 50 gesendet. Ein Wort des ETDO-Bitstroms
wird im Register 64 gespeichert; und dieses Wort wird aus
dem Register 45 in 5 durch
den Multiplexer 50 gesendet. Ein Wort des TMS-Bitstroms
wird im Register 65 gespeichert; und dieses Wort wird aus
dem Register 47 in 5 durch
den Multiplexer 50 gesendet.
-
Jedes
Register 62–65 ist
jeweils mit einem Dateneingang D auf einem der Parallel-Serien-Schieberegister 66–69 gekoppelt.
Diese Parallel-Serien-Schieberegister besitzen ferner einen Ladeeingang
L und einen Takteingang C. Wenn sich das Ladesignal am Eingang L
in einem Zustand "1" befindet, wenn der
Takteingang C die ansteigende Flanke des SERIALCK-Taktsignals empfängt, dann
werden sämtliche
Dateneingangssignale in den Parallel-Serien-Schieberegistern 66–69 gespeichert.
Anderenfalls, wenn sich das Ladesignal in einem Zustand "0" befindet, wenn die ansteigende Flanke
des SERIALCK-Taktsignals erscheint, verschieben sämtliche
Register 66–69 ein
Bit der von ihnen gespeicherten Daten hinaus.
-
Sowohl
das Ladesignal als auch das SERIALCK-Taktsignal werden von der Schiebesteuerschaltung 70 erzeugt;
und sie arbeitet als Antwort auf das Freigabesignal E5, das es einem
Wort des TMS-Bitstroms
ermöglicht,
in das Register 65 geladen zu werden. Nachdem das Freigabesignal
E5 bewirkt hat, dass das TMS-Register geladen wird, beginnt die
Schiebesteuerschaltung 70, das SERIALCK-Taktsignal auf
der Leitung 70a zu erzeugen. Dieses wird durch Durchlassen
des Bustaktsignals BUSCK aus der Taktleitung 58 an die
Taktleitung 70a bewerkstelligt.
-
Für den ersten
Zyklus des SERIALCK-Taktsignals sendet die Schiebesteuerschaltung 70 das
Ladesignal als eine "1" an sämtliche
seriell-parallelen Register 66–69; und das bewirkt,
dass die Register 66–69 ein Wort
der Bitströme
speichern, die in den Registern 62–65 enthalten sind.
Dann erzeugt die Schiebesteuerschaltung 70 das Ladesignal
als eine "0", was bewirkt, dass
jedes der Parallel-Serien-Register 66–69 das Wort der von
ihnen gespeicherten Bitströme
hinaus verschiebt.
-
Jedes
Bit aus den Registern 66–69 wird in Abstimmung
mit dem SERIALCK-Takt verschoben. Der MASK-Bitstrom wird auf die
Signalleitung 66a verschoben; der TDI-Bitstrom wird auf
die Signalleitung 67a verschoben; der ETDO-Bitstrom wird
auf die Signalleitung 68a verschoben; und der TMS-Bitstrom
wird auf die Signalleitung 69a verschoben. Dieses Verschieben
setzt sich als Reaktion auf den Zustand "0" des
Ladesignals fort, bis jedes Schieberegister 66–69 geleert
ist.
-
Wenn
sich irgendeiner der Bitströme
MASK, TDI, ETDO und TMS in ein zweites Wort erstreckt, werden diese
Wörter
aus dem Speicher 13 gelesen und von der Mustergenerator-Zustandsmaschine 40 in
die Register 62–65 geladen,
während
das obige Verschieben stattfindet. In diesem Fall wird sich die
Schiebesteuerschaltung 70 daran erinnern, dass das Freigabesignal
E5 wieder ein zweites Mal an das TMS-Register 65 gesendet
wurde.
-
Später, wenn
die Schieberegister 66–69 geleert
sind, wird die Schiebesteuerschaltung 70 nachprüfen, ob
das zweite Freigabesignal E5 gesendet wurde. Wenn es gesendet wurde,
wird die Schiebesteuerschaltung 70 wieder das Ladesignal
als eine "1" an sämtliche
seriell-parallelen Register 66–69 senden; und das
bewirkt, dass die Register 66–69 das zweite Wort
der Bitströme
speichern, die in den Registern 62–65 enthalten sind. Dann
wird die Schiebesteuerschaltung 70 das Ladesignal als eine "0" erzeugen, bis jedes der Parallel-Serien-Register 66–69 das
zweite Wort des von ihnen gespeicherten Bitstroms hinaus verschiebt.
-
Das
obige Laden und Verschieben setzt sich für eine Anweisung im Speicher 13 fort,
bis das Ende der seriellen Bitströme erreicht wird. Dann, wenn
das letzte Bit der Bitströme
aus den Registern 66–69 verschoben wurde,
hört die
Schiebesteuerschaltung 70 auf, das Taktsignal SERIALCK
auf der Taktleitung 70a zu erzeugen.
-
Zusätzlich zu
sämtlichen
oben beschriebenen Operationen erzeugt die Chip-Treiber-Schaltung
in 6 ferner ein Taktsignal TCK auf einer Taktleitung 71a.
Dieses TCK-Taktsignal ist eine verzögerte Kopie des BUSCK-Signals
auf der Leitung 53; und es wird von der Schaltung 71 mit
variabler Verzögerung
erzeugt. Das Ausmaß der
Verzögerung
durch die Schaltung mit variabler Verzögerung wird durch Steuersignale
auf den Signalleitungen 61a ausgewählt, die im Register 61 gespeichert
sind.
-
Mit
Bezug auf die 7 als Nächstes stellt diese die Gesamtsequenz
dar, in der jede Anweisung in der 3 vom Mustergenerator
in 5 und von der Chip-Treiber-Schaltung in 6 ausgeführt wird.
Anfangs befindet sich die Mustergenerator-Zustandsmaschine 40 im
Zustand 51, worin sie das erste Wort WO einer Anweisung
aus ihrem Speicher 13 liest. Danach prüft im Zustand S2 die Zustandsmaschine 40 den
Operationscode im Register 42, um den Typ der von ihr ausgeführten Anweisung
zu bestimmen.
-
Wenn
die Anweisung einen ersten Typ 31 oder einen dritten Typ 33 hat,
dann liest die Zustandsmaschine 40 ein Wort des TDI-Bitstroms; und das
geschieht im Zustand S3. Dieses Wort wird im Register 44 von der
Zustandsmaschine 40 gespeichert.
-
Wenn
die Anweisung einen zweiten Typ 32 oder einen dritten Typ 33 hat,
dann liest die Zustandsmaschine 40 ein Wort des ETDO-Bitstroms; und das
geschieht im Zustand S4. Dieses Wort des ETDO-Bitstroms wird im
Register 45 von der Zustandsmaschine 40 gespeichert.
-
Ferner,
wenn die Anweisung einen zweiten Typ 32 oder einen dritten
Typ 33 hat, dann liest die Zustandsmaschine 40 ein
Wort des MASK-Bitstroms; und das geschieht im Zustand S5. Dieses
Wort des MASK-Bitstroms wird im Register 46 von der Zustandsmaschine 40 gespeichert.
-
Danach
erzeugt die Zustandsmaschine 40 intern ein Wort des TMS-Bitstroms; und das
geschieht im Zustand S6. Dieses Wort des TMS-Bitstroms wird von der Zustandsmaschine 40 im
Register 47 gespeichert.
-
Als
Nächstes
sendet im Zustand S7 die Zustandsmaschine 40 ein Wort des
TDI-Bitstroms, wenn sie eine Anweisung 31 oder 33 des
ersten oder dritten Typs ausführt.
Dieses Wort des TDI-Bitstroms wird aus dem Register 44 durch
den Multiplexer 49 und in das Register 63 jeder
Chip-Treiber-Schaltung gesendet, die mit dem Mustergenerator verbunden
ist.
-
Als
Nächstes
sendet im Zustand S8 die Zustandsmaschine 40 ein Wort des
ETDO-Bitstroms, wenn sie eine Anweisung 32 oder 33 des
zweiten oder dritten Typs ausführt.
Dieses Wort des ETDO-Bitstroms
wird aus dem Register 45 durch den Multiplexer 49 und
in das Register 64 jeder Chip-Treiber-Schaltung gesendet, die
mit dem Mustergenerator verbunden ist.
-
Als
Nächstes
sendet im Zustand S9 die Zustandsmaschine 40 ein Wort des
MASK-Bitstroms, wenn sie eine Anweisung 32 oder 33 des
zweiten oder dritten Typs ausführt.
Dieses Wort des MASK-Bitstroms
wird aus dem Register 46 durch den Multiplexer 49 und in
das Register 62 jeder Chip-Treiber-Schaltung gesendet, die
mit dem Mustergenerator verbunden ist.
-
Als
Nächstes
sendet im Zustand S10 die Zustandsmaschine 40 ein Wort
des TMS-Bitstroms. Dieses Wort des TMS-Bitstroms wird aus dem Register 47 durch
den Multiplexer 49 und in das Register 65 jeder Chip-Treiber-Schaltung
gesendet, die mit dem Mustergenerator verbunden ist.
-
Dann
erniedrigt im Zustand S11 die Zustandsmaschine 40 die Wortzählung WCNT
im Zähler 41 um eins
und prüft
nach, ob das Ergebnis Null beträgt.
Wenn das Ergebnis nicht Null beträgt, werden sämtliche Operationen
in den Zuständen
S3–S10
wiederholt. Ansonsten, wenn das Ergebnis Null beträgt, beginnt
die Zustandsmaschine 40, die nächste Anweisung durch das Eintreten
in den Zustand S1 auszuführen.
-
Jedes
Mal, wenn die Zustandsmaschine 40 ein Wort des TMS-Bitstroms im Zustand
S10 sendet, erinnert sich die Schiebesteuerschaltung 70 in
jeder Chip-Treiber-Schaltung, die mit dem Mustergenerator verbunden
ist, an dieses Ereignis. Dann, wenn die Parallel-Serien-Schieberegister 66–69 leer
sind, werden sie mit dem Inhalt der Halteregister 62–65 geladen.
Das geschieht, wenn sich die Chip-Treiber-Schaltungen in einem Zustand
S21 befinden.
-
Danach
wird der Inhalt der Parallel-Serien-Schieberegister 66–69 auf
die Signalleitungen 66a–69a verschoben. Das
geschieht, wenn sich die Chip-Treiber-Schaltungen in einem Zustand
S22 befinden. Dann, wenn das letzte Bit in den Schieberegistern 66–69 hinaus
verschoben wird, prüft
die Schiebesteuerschaltung 70 nach, ob das Register 65 mit
einem weiteren Wort des TMS-Bitstroms geladen wurde. Wenn es geladen
wurde, werden die Lade- und Verschiebungsoperationen der Zustände S21
und S22 wiederholt.
-
Wenn
die TDI-, ETDO-, MASK- und TMS-Bitströme mehrere Wörter lang
sind, dann erscheinen die Zustände
S21 und S22 in den Chip- Treiber-Schaltungen 11 gleichzeitig
mit den Zuständen
S3–S11
im Mustergenerator 12. Bedingt durch diesen gleichzeitigen
Arbeitsgang wirken die Chip-Treiber-Schaltungen 11 und
der Mustergenerator 12 als eine Mehrstufen-Pipeline, in
der die Chip-Treiber-Schaltungen die Bits von einem Wort der Bitströme verschieben,
während
der Mustergenerator das nächste
Wort der Bitströme
liest und sendet.
-
Ferner,
wenn die Mustergenerator-Zustandsmaschine 40 beginnt, die
nächste
Anweisung auszuführen,
fahren die Chip-Treiber-Schaltungen 11 im
Zustand S22 fort, jegliche Bits zu verschieben, die in den Parallel-Serien-Schieberegistern 66–69 verbleiben.
Bedingt durch diesen Parallelbetrieb wirken die Chip-Treiber-Schaltungen 11 und
der Mustergenerator 12 wieder als eine Mehrstufen-Pipeline,
in der die Chip-Treiber-Schaltungen
die Bits in den Bitströmen
einer Anweisung verschieben, während
der Mustergenerator das Wort WO der nächsten Anweisung liest und
decodiert.
-
Mit
Bezug auf 8 zeigt diese nun zusätzliche
Details darüber,
wie jede Chip-Treiber-Schaltung mit den Chips von integrierten Schaltungen
gekoppelt ist, die getestet werden. In der 8 kennzeichnet
das Bezugszeichen 10 dieselbe Chipanordnung, die in den 1 und 2 gezeigt
ist; und das Bezugszeichen 10a kennzeichnet die zu testenden
Chips in der Anordnung 10.
-
Für jeden
Chip 10a, der in der Anordnung 10 getestet werden
soll, wird ein separater Satz von vier Sendern 81–84 plus
ein Empfänger 85 in
der Chip-Treiber-Schaltung 11 bereitgestellt. Jeder Sender 81 sendet das
Taktsignal TCK von der Leitung 71a an einen separaten Chip 10a.
Jeder Sender 82 sendet den Bitstrom TDI von der Leitung 67a an
einen separaten Chip 10a. Jeder Sender 83 sendet
den Bitstrom TMS aus der Leitung 69a an einen separaten
Chip 10a. Und jeder Sender 84 sendet einen entsprechenden
Hochfrequenztakt HFCK(i), der später
im Zusammenhang mit den 9 und 10 beschrieben
wird, an einen separaten Chip 10a.
-
Als
Antwort auf die Signale, die aus den Sendern 81–84 empfangen
werden, erzeugt jeder Chip 10a in der Anordnung 10 einen
separaten Ausgabebitstrom, der mit TDO bezeichnet wird. Dieser TDO-Bitstrom wird
aus jedem Chip 10a an einen separaten Empfänger 85 auf
der Chip-Treiber-Schaltung gesendet. Aus den Empfängern 85 werden
sämtliche
TDO-Bitströme
von den verbliebenen Komponenten 90–98 der Chip-Treiber-Schaltung
parallel verarbeitet, die in der 8 gezeigt
sind.
-
Die
Komponente 90 in der 8 ist ein
EXKLUSIV-ODER-Gatter; die Komponente 91 ist ein UND-Gatter;
und die Komponente 92 ist eine Kippschaltung. Ein separater
Satz der Komponenten 90–92 wird für jeden
Empfänger 85 bereitgestellt.
Die Komponente 93 in der 8 ist ein
Multiplexer; die Komponente 94 ist eine Decoderschaltung;
die Komponente 95 ist eine Schaltung mit variabler Verzögerung;
die Komponente 96 ist ein Register; die Komponente 97 ist
eine Decoderschaltung; die Komponente 98 ist ein Register;
und die Komponente 99 ist eine Decoderschaltung.
-
Während des
Betriebs werden die Bitströme
ETDO, MASK und TCK durch die Schaltung 95 mit variabler
Verzögerung
gesendet, um dadurch drei entsprechende verzögerte Bitströme zu erzeugen,
die mit DETDO, DMASK beziehungsweise DTCK bezeichnet werden. Das
Ausmaß der
Verzögerung
durch die Schaltung 95 mit variabler Verzögerung wird
durch die Ausgabe des Registers 96 selektiert; und diese
Verzögerung gleicht
eine Verzögerung
aus, die sich in jedem Chip 10a ereignet, der den TDO-Bitstrom
erzeugt. Um eine bestimmte Verzögerung
zu selektieren, wird das Register 96 mit den JDRTA-Signalen
geladen, wenn die Decoderschaltung 97 eine vordefinierte
JADR-Adresse erkennt.
-
Aus
der Verzögerungsschaltung 95 wird
der verzögerte
Bitstrom DETDO an sämtliche
EXKLUSIV-ODER-Gatter 90 gesendet, worin er mit den TDO-Bitströmen verglichen
wird, die aus sämtlichen
Empfängern 85 kommen.
Wenn sich ein Fehlvergleich zwischen irgendeinem Bit im DETDO-Bitstrom
und dem entsprechenden Bit im TDO(i)-Bitstrom ereignet, dann erzeugt
das EXKLUSIV-ODER-Gatter 90, worin sich der Fehlvergleich
ereignet, ein Ausgabesignal ERA(i) in einem Zustand "1".
-
Jedes
Fehlersignal ERA(i) aus den EXKLUSIV-ODER-Gattern 90 wird
an ein separates Gatter der UND-Gatter 91 gesendet; und
diese UND-Gatter empfangen ferner zwei weitere Eingabesignale. Ein
derartiges Eingabesignal ist der verzögerte Bitstrom DMASK und das
andere Eingabesignal ist ein separates Freigabesignal EN(i) aus
dem Register 98. Wenn das Fehlersignal ERA(i) eine "1" für
ein bestimmtes Bit im TDO(i)-Bitstrom ist und das entsprechende
Bit im DMASK-Signal auch eine "1" ist und das Freigabesignal EN(i)
auch eine "1" ist, dann ist das
Ausgabesignal ERB(i) aus dem i-ten UND-Gatter eine "1".
-
Um
einen Fehlvergleich bei irgendeinem bestimmten Bit im Bitstrom TDO(i)
zu ignorieren, muss das entsprechende Bit im DMASK-Bitstrom auf
eine "0" gesetzt werden.
Ferner kann ein ganzer Bitstrom TDO(i) ignoriert werden, indem das
entsprechende Freigabesignal EN(i) auf eine "0" gesetzt
wird.
-
Wenn
das Fehlersignal ERB(i) aus irgendeinem UND-Gatter 91 eine "1" wird, dann bewirkt dies das Setzen
der entsprechenden Kippschaltung 92. Jede Kippschaltung 92,
die gesetzt wird, verbleibt danach gesetzt, bis sie gelesen und
durch den Mustergenerator 12 zurückgesetzt wird.
-
Um
die Fehler-Kippschaltungen 92 zu lesen, sendet der Mustergenerator 12 eine
bestimmte JADR-Adresse an die Decoderschaltung 94; und
als Antwort erzeugt die Decoderschaltung 94 ein Signal
am Ausgang 94a, welcher die Fehlersignale aus sämtlichen
Kippschaltungen 92 durch den Multiplexer 93 auf
die JDATA-Leitungen 50 gibt. Dann sendet der Mustergenerator 12 eine
weitere JADR-Adresse, die bewirkt, dass die Decoderschaltung 94 ein
Signal am Ausgang 94b erzeugt, das sämtliche Kippschaltungen 92 zurücksetzt.
-
Als
Nächstes
werden mit Bezug auf die 9 mehrere zusätzliche
Schaltungskomponenten 100–109 beschrieben,
die in jeder Chip-Treiber-Schaltung 11 eingeschlossen
sind. Alle diese Komponenten 100–109 stehen in Wechselwirkung,
um ein separates Hochfrequenztaktsignal HFCK(i) für jeden
Chip 10a zu erzeugen, der getestet wird.
-
In
der 9 ist die Komponente 100 ein freilaufender
Hochfrequenzoszillator; die Komponente 101 ist eine Decoderschaltung;
die Komponente 102 ist ein Register; und die Komponente 103 ist
eine Teilerschaltung, die durch eine selektierbare ganze Zahl N
teilt. Die Komponente 104 ist eine sequenzielle Zustandsmaschine;
die Komponente 105 ist eine Zählerschaltung, die eine Zählung für die Zustandsmaschine 104 trägt; und
die Komponente 106 ist ein Speicher, der Steuersignale
für die
Zustandsmaschine 104 trägt.
Die Komponente 107 ist eine Kippschaltung; die Komponente 108 ist
ein ODER-Gatter;
und die Komponente 109 ist ein Sender. Ein separater Satz 110(i) der
Komponenten 107–109 wird
für jedes
erzeugte Hochfrequenztaktsignal HFCK(i) bereitgestellt.
-
Während des
Betriebs erzeugt der Oszillator 100 einen freilaufenden
Takt FRCK1 bei einer einzigen Hochfrequenz. Dieses Taktsignal FRCK1
wird an die Teilerschaltung 103 gesendet, worin seine Frequenz
um eine selektierbare ganze Zahl N verringert wird. Dann wird der
Ausgabetakt FRCK2 aus dem Teiler 103 an jeden Satz 110(i) der
Schaltungen 107–109 gesendet.
-
Jeder
Schaltungssatz 110(i) erzeugt das Hochfrequenztaktsignal
HFCK(i), indem er selektierbare Zyklen des freilaufenden Takts FRCK2
weitergibt. Die Zyklen, die weitergegeben werden, werden von zwei
Steuersignalen START(i) und STOP(i) selektiert; und sie werden von
der sequenziellen Zustandsmaschine 104 erzeugt.
-
Wenn
das Signal STOP(i) als eine "1" erzeugt wird, setzt
die Kippschaltung 107 in Abstimmung mit dem freilaufenden
Taktsignal FRCK2. Dieser gesetzte Zustand der Kippschaltung 107 bewirkt,
dass die Ausgabe des ODER-Gatters 108 konstant eine "1" erzeugt; und somit wird das Hochfrequenztaktsignal
HFCK(i) in einem Zustand "1" gestoppt.
-
Um
die Kippschaltung 107 zurückzusetzen, erzeugt die Zustandsmaschine 104 das
STOP(i)-Signal als eine "0" und sie erzeugt
das START(i)-Signal als eine "1". Dieser zurückgesetzte
Zustand der Kippschaltung 107 bewirkt, dass das ODER-Gatter 108 das
Taktsignal FRCK2 weitergibt; und aus dem Ausgang des ODER-Gatters 108 geht
der Hochfrequenztakt FRCK2 durch den Sender 109, worin
er zum Taktsignal HFCK(i) wird.
-
Um
die Steuersignale STOP(i) und START(i) für jeden Satz der Schaltungen 110(i) zu
erzeugen, liest die Zustandsmaschine 104 verschiedene Steuerbits,
die im Steuerspeicher 106 gespeichert sind. Ein Beispiel für diese
Steuerbits ist durch die "1"en und "0"en in der 10 dargestellt.
Um einen Satz der Steuerbits zu lesen, sendet die Zustandsmaschine 104 eine
Adresse auf den Adressleitungen 104a an den Speicher 106; und
als Antwort sendet der Speicher den adressierten Satz von Steuerbits
auf den Signalleitungen 104b an die Zustandsmaschine 104 zurück.
-
Die 10 zeigt
ein Beispiel, worin jeder Satz von Steuerbits aus sechzehn Bits
besteht, die als Bits B1–B16
gekennzeichnet sind. Jedes der ersten vierzehn Bits B1–B14 steuert
die Operation einer der Schaltungen 110(i). Das Bit B1
steuert die Schaltung 110(1); das Bit B2 steuert die Schaltung 110(1) usw.
Die verbleibenden Bits B15 und B16 sind Modussteuerbits, die bewirken,
dass die Zustandsmaschine 104 entweder in einem Sequenz-Modus
oder einem freilaufenden Modus arbeitet.
-
Wenn
der Zustandsmaschine 104 ein START-Befehl aus dem Decoder 101 zusammen
mit einer bestimmten Speicheradresse auf den JDATA-Leitungen gesendet
wird, liest sie den Satz von Steuerbits aus dem Speicher 106 an
dieser Adresse. Wenn die Zustandsmaschine 104 einen Satz
von Steuerbits liest, in dem das Bit B15 eine "1" ist,
dann arbeitet die Zustandsmaschine im Sequenz-Modus. In diesem Modus
inkrementiert die Zustandsmaschine 104 sequenziell die
Adresse, die sie an den Speicher 106 sendet; und als Antwort
empfängt
die Zustandsmaschine den adressierten Satz von Steuersignalen. Dieser
Sequenz-Modus der Operation setzt sich fort, bis ein Satz von Steuerbits
gelesen wird, in dem das Bit B16 eine "1" ist;
und dann endet der Sequenz-Modus der Operation.
-
Für jeden
Satz von Steuersignalen, der im Sequenz-Modus gelesen wird, prüft die Zustandsmaschine 104 die
Steuerbits B1–B14.
Jedes der Bits B1–B14,
das eine "1" ist, bewirkt, dass
die Zustandsmaschine 104 die STOP(i)- und START(i)-Signale
so erzeugt, dass die Schaltung 110(i) den Takt FRCK2 für die Anzahl
von Zyklen weitergibt, die vom Zähler 105 bestimmt
wird.
-
In
der 10 sind bei dem Satz von Steuerbits, der von der
Adresse "A" gelesen wird, die
Bits B1–B4 auf
eine "1" gesetzt. Somit bewirkt
die Zustandsmaschine 104 als Antwort auf diesen Satz von
Steuerbits, dass jede der Schaltungen 110(1) bis 110(4) das
Taktsignal FRCK2 für
die Anzahl von Zyklen weitergibt, die vom Zähler 105 bestimmt
wird.
-
Als
Nächstes
sind bei dem Satz von Steuerbits, der von der Adresse "A+1" gelesen wird, die
Bits B5–B7
auf eine "1" gesetzt. Somit bewirkt
als Antwort auf diesen Satz von Steuerbits die Zustandsmaschine 104,
dass jede der Schaltungen 110(5) bis 110(7) das
Taktsignal FRCK2 für
die Anzahl von Zyklen weitergibt, die vom Zähler 105 bestimmt
wird.
-
Als
Nächstes
sind bei dem Satz von Steuerbits, der von der Adresse "A+2" gelesen wird, die
Bits B8–B11
auf "1" gesetzt. Somit bewirkt
als Antwort auf diesen Satz von Steuerbits die Zustandsmaschine 104, dass
jede der Schaltungen 110(8) bis 110(11) das Taktsignal
FRCK2 für
die Anzahl von Zyklen weitergibt, die vom Zähler 105 bestimmt
wird.
-
Zuletzt
sind bei dem Satz von Steuerbits, der von der Adresse "A+3" gelesen wird, die
Bits B12-B14 auf eine "1" gesetzt. Somit bewirkt
als Antwort auf diesen Satz von Steuerbits die Zustandsmaschine 104,
dass jede der Schaltungen 110(12) bis 110(14) das
Taktsignal FRCK2 für
die Anzahl von Zyklen weitergibt, die vom Zähler 105 bestimmt
wird.
-
Zum
Vergleich arbeitet dann, wenn die Zustandsmaschine 104 einen
Satz von Steuerbits liest, in dem das Bit B15 eine "0" ist, die Zustandsmaschine im freilaufenden
Modus. In diesem Modus inkrementiert die Zustandsmaschine 104 nicht
die Adresse, die sie an den Speicher 106 sendet; sondern
die Zustandsmaschine arbeitet stattdessen kontinuierlich mit nur
dem einen Satz der Steuersignale, die sie gelesen hat.
-
Die
Zustandsmaschine 104 prüft
wieder die Steuerbits B1–B14,
wobei sie nur diesen einzigen Satz von Steuersignalen verwendet.
Jedes der Bits B1–B14,
das eine "1" ist, bewirkt, dass
die Zustandsmaschine 104 die STOP(i)- und START(i)-Signale
erzeugt, so dass die Schaltung 110(i) den Takt FRCK2 kontinuierlich weitergibt.
Um diese freilaufende Betriebsart zu beenden, muss der Zustandsmaschine 104 ein
STOP-Befehl aus dem Decoder 101 gesendet werden; und dieser
Befehl wird gesendet, wenn der Decoder 101 eine bestimmte
JADR-Adresse empfängt.
-
In
der 10 ist bei dem Satz von Steuerbits, der von der
Adresse "A+4" gelesen wird, das
Bit B15 auf eine "0" gesetzt; und das
setzt die Zustandsmaschine 104 in den freilaufenden Modus.
Ferner sind im Satz von Steuerbits an der Adresse "A+4" sämtliche
der Bits B1–B14
auf eine "1" gesetzt; und so
bewirkt als Antwort die Zustandsmaschine 104, dass jede
der Schaltungen 110(1) bis 110(14) kontinuierlich
das Taktsignal FRCK2 weitergibt, bis ein STOP-Befehl empfangen wird.
-
Ähnlich ist
in der 10 bei dem Satz von Steuerbits,
der von der Adresse "A+5" gelesen wird, ferner das
Bit B15 auf eine "0" gesetzt; und das
setzt die Zustandsmaschine 104 in den freilaufenden Modus.
Im Satz von Steuerbits an der Adresse "A+5" ist
jedoch nur das Bit B2 auf eine "1" gesetzt; und so
bewirkt die Zustandsmaschine 104 als Antwort, dass nur
die Schaltung 110(2) kontinuierlich das Taktsignal FRCK2
weitergibt.
-
Ein
besonderes Merkmal, das mit der Verschaltung in den 9 und 10 erreicht
wird, ist, dass sie es den Chips 10a in der Chipanordnung 10 ermöglicht,
gleichzeitig als ein Satz oder sequenziell in selektierbaren Teilsätzen getestet
zu werden. Dieses Merkmal ist wünschenswert,
wenn die Chips 10a, die getestet werden, von einem Typ
sind, der viel Strom verbraucht, wenn sie das Hochfrequenztaktsignal
HFCK(i) empfangen, aber wesentlich weniger Strom verbraucht, wenn
sie das Hochfrequenztaktsignal nicht empfangen. Derartige Chips
schließen
zum Beispiel CMOS-Mikroprozessor-Chips und CMOS-Speicher-Chips ein. Durch Begrenzen
der Anzahl von Chips 10a, die gleichzeitig das Hochfrequenztaktsignal
HFCK(i) empfangen, kann die gesamte Strommenge, die in sämtlichen
Chips 10a verbraucht wird, unter einer beliebigen vorbestimmten Stromgrenze
gehalten werden, die ansonsten überschritten
würde,
wenn sämtliche
Chips das Hochfrequenztaktsignal empfingen.
-
Ein
weiteres besonderes Merkmal, das mit der Verschaltung in den 9 und 10 gewonnen
wird, ist, dass sie es einem einzelnen Bitstrom ermöglicht,
in jeden Chip 10a separat geschrieben zu werden. Das wird
durch Speichern von Steuerbits im Speicher 106 erreicht,
die bewirken, dass das Hochfrequenztaktsignal HFCK(i) an jeden Chip 10a gesendet
wird, und zwar jeweils an einen zur Zeit. Dann, wenn ein bestimmter
Chip das Hochfrequenztaktsignal HFCK(i) empfängt, werden die Daten, die
in diesen Chip geschrieben werden sollen, als ein TDI-Bitstrom an
sämtliche
Chips 10a gesendet. Dieses Merkmal ist wünschenswert,
wenn eine bestimmte Einzelinformation, wie z.B. eine Seriennummer,
in jeden Chip 10a geschrieben werden muss, der getestet
wird.
-
Mit
Bezug auf 11 zeigt diese drei zusätzliche
Anweisungen 34, 35 und 36, die in ein
Chiptestprogramm im Speicher 13 eingeschlossen werden können, zusammen
mit den zuvor beschriebenen Anweisungen 31, 32 und 33 in 3.
Die Anweisung 34 ist ein interner Steuerbefehl, der aus
nur einem einzigen Wort WO besteht, das einen Operationscode OP7,
ein JADR-Feld 34a und ein JDATA-Feld 34b einschließt. Wenn die
Anweisung 34 vom Mustergenerator 12 ausgeführt wird,
sendet die Zustandsmaschine 40 das JADR-Feld 34a auf
die JADR-Signalleitungen 56 und sie sendet das JDATA-Feld 34b auf
die JDATA-Signalleitungen 55.
-
Die
Anweisung 34 kann verwendet werden, um das Register 61 in
der 6 zu laden, die Register 96 und 98 in
der 10 zu laden und das Register 102 in der 9 zu
laden. Ferner kann die Anweisung 34 verwendet werden, um
eine Adresse an den Decoder 94 in der 8 zu
senden, eine Zählung
an den Zähler 105 in
der 9 zu senden und jeden Satz von Steuerbits in den
Steuerspeicher auf 106 zu schreiben. Ferner kann die Anweisung 34 verwendet
werden, um START- und STOP-Befehle aus dem Decoder 101 an
die Zustandsmaschine 104 zu senden.
-
Die
Anweisung 35 ist ein Verzweigungsbefehl, der ebenfalls
aus nur einem einzigen Wort WO besteht. Die Anweisung 35 schließt einen
Operationscode OP8, ein Testbedingungsfeld 35a und ein
Verzweigungsadressfeld 35b ein. Wenn die Anweisung 35 vom
Mustergenerator 12 ausgeführt wird, testet die Zustandsmaschine 40 eine
Bedingung, die vom Testbedingungsfeld 35a angegeben wird.
Wenn diese getestete Bedingung wahr ist, dann erscheint die nächste Anweisung,
die aus dem Speicher 13 ausgeführt wird, an der Adresse des Verzweigungsbefehls 35 minus
der Verzweigungsadresse im Feld 35b.
-
Die
Anweisung 36 ist eine Schreib-Speicher-Anweisung, die ebenfalls
aus einem einzigen Wort WO besteht. Die Anweisung 36 schließt einen
Operationscode OP9 ein, der sie als die Schreibspeicheranweisung kennzeichnet,
und sie schließt
ein Speicheradressenfeld 36a ein. Wenn die Anweisung 36 vom
Mustergenerator 12 ausgeführt wird, werden die Fehlersignale
aus dem Multiplexer 93 in der 8 gelesen
und in den Speicher 13 am Speicheradressenfeld 36a geschrieben.
-
Die 2 stellt
nur ein Beispiel dar, worin das Chiptestsystem in einem Gestell 20 untergebracht
ist, das insgesamt vierzehn Steckplätze besitzt. Als Modifikation
kann das Gestell 20 jedoch eine beliebige Anzahl von Steckplätzen besitzen;
und mehrere Gestelle können
vorhanden sein. Ferner können
die Steckplätze
in jedem Gestell mit einer beliebigen Kombination der Chipanordnung 10,
der Treiber-Schaltung 11 und dem Mustergenerator 12 zusammen
mit seinem jeweiligen Speicher 13 gefüllt werden.
-
Ähnlich zeigt
die 1 nur ein Beispiel, worin jede Chipanordnung 10 nur
vier der zu testenden Chips 10a von integrierten Schaltungen
trägt.
Als Modifikation kann jedoch jede Chipanordnung 10 eine
beliebige gewünschte
Anzahl der Chips 10a von integrierten Schaltungen tragen.
-
Ferner
kann als eine weitere Modifikation jedes Modul 11, 12, 13 und 14,
die in der 1 gezeigt werden, aus einem
beliebigen Verschaltungstyp konstruiert werden. Zum Beispiel können die
gesamte Verschaltung in der Chip-Treiber-Schaltung 11 und
die gesamte Verschaltung im Mustergenerator 12 (wie im
Detail in den 5, 6, 8, 9 und 10 gezeigt
ist) aus TTL-Schaltungen, ECL-Schaltungen,
MOS-Schaltungen und CMOS-Schaltungen konstruiert werden. Ähnlich kann
jedes Speichermodul 13 in 1 aus Speicherzellen
eines beliebigen Typs konstruiert werden, wie z.B. denjenigen, die
Datenbits in Kippschaltungen oder in einem Kondensator oder auf
einem magnetischen Speichermedium oder auf einem optischen Speichermedium
speichern.
-
Ähnlich kann
jede der sequenziellen Steuerschaltungen, die sich im dargestellten
Chiptestsystem befinden, einen beliebigen internen Konstruktionstyp
besitzen. Diese sequenziellen Steuerschaltungen schließen die
Mustergenerator-Zustandsmaschine 40 in der 5,
die Schiebesteuerschaltung 70 in 6 und die
Taktsequenz-Zustandsmaschine 104 in 9 ein. Jede
interne Struktur für
die Mustergenerator-Zustandsmaschine 40 ist geeignet, solange
sie gemäß den Zuständen S1–S11 in 7 arbeitet.
Jede interne Struktur für
die Chipsteuerverschaltung 70 ist geeignet, solange sie
gemäß den Zuständen S21–S23 in 7 arbeitet.
Und jede interne Struktur für
die Taktsequenz-Zustandsmaschine 104 in 9 ist
geeignet, solange sie in einem Sequenz-Modus und einem freilaufenden
Modus arbeitet, wie in Verbindung mit der 10 beschrieben
wurde.
-
Ferner
kann als eine weitere Modifikation die Anzahl der Bits, die als
ein Wort aus jedem Speichermodul 13 gelesen werden, jede
beliebige vorbestimmte Anzahl sein. Die 3 zeigt,
dass jedes Wort im Speichermodul 13 aus "X" Bits besteht. Passenderweise ist X
eine ganze Zahl von Bytes, wie z.B. 16 Bits, 32 Bits, 48 Bits, 64
Bits, usw.
-
Weiterhin
kann als eine weitere Modifikation jeder TMS-Bitstrom, der erzeugt
wird, um die Chips
10a, die getestet werden, in einen bestimmten
Zustand zu versetzen, eine beliebige vorbestimmte Reihe von Bits sein.
Was jeder Bitstrom sein muss, wird von der internen Struktur der
Chips
10a bestimmt. Als ein spezifisches Beispiel können die
TMS-Bitströme
vordefiniert und erzeugt werden wie unten in der Tab. 2 gezeigt
ist. Tabelle
2
TMS-Kopfzeile | Zustand des Chips 10a als Antwort
auf Kopfzeile |
010000 | Lese
Befehlsregister |
011000 | Schreibe
Befehlsregister |
011100 | Lese
Datenregister |
011110 | Schreibe
Datenregister |
-
Auf
jede TMS-Kopfzeile in der Tab. 2 folgt eine Reihe von Bits "1", die der Anzahl von TDO-Bits, die aus
dem Befehls-/Datenregister gelesen werden, oder der Anzahl von TDI-Bits
gleicht, die in diese Register geschrieben werden. Auf diese Reihe
von Bits "1" folgt eine Reihe
von Bits "0", die sich fortsetzt,
bis die nächste
TMS-Kopfzeile beginnt.
-
Als
ein weiteres Beispiel kann jeder TMS-Bitstrom gemäß einem
beliebigen gewünschten
Standard vordefiniert und erzeugt werden. Ein solcher Standard ist
der IEEE 1149.1 Boundry-Scan-Standard.
-
Zusätzlich zeigt
die 12 noch eine weitere Modifikation, wodurch sämtliche
vier Bitströme
TDI, ETDO, MASK und TMS, die vom Mustergenerator gesendet werden,
ausdrücklich
innerhalb einer Anweisung 37 spezifiziert sind. Diese Anweisung 37 wird
durch einen Operationscode von OP10 im ersten Wort WO gekennzeichnet.
Die Anweisung 37 schließt ein neues TMS-Feld ein,
das den zu sendenden TMS-Bitstrom spezifiziert. Sämtliche
anderen Felder BCNT, WCNT, TDI, ETDO und MASK sind die gleichen
wie die entsprechenden Felder, die zuvor für die Anweisung 33 in 3 beschrieben
wurden.
-
Durch
die Fähigkeit,
die TMS-Bitströme
innerhalb der Anweisung 37 ausdrücklich zu definieren, kann ein
einziger Mustergenerator 12 sequenziell unterschiedliche
Chiptypen testen, die unterschiedliche TMS-Bitströme erfordern,
um den gleichen Zustand einzunehmen. Wenn jedoch sämtliche
Chips, die getestet werden, die gleichen TMS-Signalsequenzen verwenden,
dann wird die Anweisung 33 gegenüber der Anweisung 37 bevorzugt,
weil die Anweisung 33 25% weniger Speicherplatz belegt.
-
Als
eine weitere Modifikation kann ein beliebiger der Bitströme TDI,
ETDO und MASK in der Anweisung 37 aus dieser Anweisung
entfernt werden. Wenn der TDI-Bitstrom entfernt wird, dann ist das
Ergebnis ähnlich
der zuvor beschriebenen Anweisung 32 in 3,
außer
dass der TMS-Bitstrom wie gewünscht
spezifiziert werden kann. Wenn die ETDO- und MASK-Bitströme aus der
Anweisung 37 entfernt werden, dann ist das Ergebnis ähnlich der
zuvor beschriebenen Anweisung 31 in 3, außer dass
der TMS-Bitstrom
wieder wie gewünscht
spezifiziert werden kann.
-
Dementsprechend
versteht sich, dass die vorliegende Erfindung nicht auf die Details
irgendeiner bestimmten Ausführungsform
oder Modifikation beschränkt
ist, sondern durch die beigefügten
Ansprüche
definiert wird.