DE60015991T2 - Prüfgerät zum gleichzeitigen testen mehrerer integrierter schaltkreise - Google Patents

Prüfgerät zum gleichzeitigen testen mehrerer integrierter schaltkreise Download PDF

Info

Publication number
DE60015991T2
DE60015991T2 DE60015991T DE60015991T DE60015991T2 DE 60015991 T2 DE60015991 T2 DE 60015991T2 DE 60015991 T DE60015991 T DE 60015991T DE 60015991 T DE60015991 T DE 60015991T DE 60015991 T2 DE60015991 T2 DE 60015991T2
Authority
DE
Germany
Prior art keywords
word
pattern generator
memory
chip
bit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE60015991T
Other languages
English (en)
Other versions
DE60015991D1 (de
Inventor
Vernon James RHODES
David Robert CONKLIN
Allen Timothy BARR
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Unisys Corp
Original Assignee
Unisys Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Unisys Corp filed Critical Unisys Corp
Publication of DE60015991D1 publication Critical patent/DE60015991D1/de
Application granted granted Critical
Publication of DE60015991T2 publication Critical patent/DE60015991T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/319Tester hardware, i.e. output processing circuits
    • G01R31/31917Stimuli generation or application of test patterns to the device under test [DUT]
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/319Tester hardware, i.e. output processing circuits
    • G01R31/31903Tester hardware, i.e. output processing circuits tester configuration
    • G01R31/31907Modular tester, e.g. controlling and coordinating instruments in a bus based architecture

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

  • 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 1014; 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 1014 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 4248, einen Multiplexer 49 und einen Oszillator 50 ein. Sämtliche Komponenten 4050 sind wie gezeigt miteinander verbunden.
  • Der Zähler 41 sowie jedes der Register 4248 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 4148 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 40c40e, 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 4447, 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 5558 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 6165, einen Satz von vier Parallel-Serien-Schieberegistern 6669, eine Schiebesteuerschaltung 70 und eine Leitung 71 mit variabler Verzögerung ein. Sämtliche Komponenten 6071 sind wie in der 6 gezeigt miteinander verbunden.
  • Jedes Register 6165 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 6165 zu speichern, wird ein separates Freigabesignal E1–E6 an den Freigabeeingang E dieses Registers gesendet.
  • Sämtliche Freigabesignale E1–E5 für die Register 6165 werden von der Adressdecoderschaltung 60 auf einem Satz von Signalleitungen 60a60e 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 6265 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 6265 ist jeweils mit einem Dateneingang D auf einem der Parallel-Serien-Schieberegister 6669 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 6669 gespeichert. Anderenfalls, wenn sich das Ladesignal in einem Zustand "0" befindet, wenn die ansteigende Flanke des SERIALCK-Taktsignals erscheint, verschieben sämtliche Register 6669 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 6669; und das bewirkt, dass die Register 6669 ein Wort der Bitströme speichern, die in den Registern 6265 enthalten sind. Dann erzeugt die Schiebesteuerschaltung 70 das Ladesignal als eine "0", was bewirkt, dass jedes der Parallel-Serien-Register 6669 das Wort der von ihnen gespeicherten Bitströme hinaus verschiebt.
  • Jedes Bit aus den Registern 6669 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 6669 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 6265 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 6669 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 6669 senden; und das bewirkt, dass die Register 6669 das zweite Wort der Bitströme speichern, die in den Registern 6265 enthalten sind. Dann wird die Schiebesteuerschaltung 70 das Ladesignal als eine "0" erzeugen, bis jedes der Parallel-Serien-Register 6669 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 6669 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 6669 leer sind, werden sie mit dem Inhalt der Halteregister 6265 geladen. Das geschieht, wenn sich die Chip-Treiber-Schaltungen in einem Zustand S21 befinden.
  • Danach wird der Inhalt der Parallel-Serien-Schieberegister 6669 auf die Signalleitungen 66a69a verschoben. Das geschieht, wenn sich die Chip-Treiber-Schaltungen in einem Zustand S22 befinden. Dann, wenn das letzte Bit in den Schieberegistern 6669 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 6669 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 8184 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 8184 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 9098 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 9092 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 100109 beschrieben, die in jeder Chip-Treiber-Schaltung 11 eingeschlossen sind. Alle diese Komponenten 100109 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 107109 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 107109 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.

Claims (10)

  1. Ein System zum Testen von Chips (10a) von integrierten Schaltungen, das mehrere Mustergeneratoren (12) einschließt, die parallel arbeiten, um Testsignale an die Chips zu senden; dadurch gekennzeichnet, dass jeder Mustergenerator (12) über seinen eigenen separaten ersten Bus (40a, 40b) mit einem jeweiligen Speicher (13) gekoppelt ist, der Bitströme (TDI, ETDO, MASK, TMS) speichert, die wortweise zu einer Zeit lesbar sind; jeder Mustergenerator (12) über seinen eigenen separaten zweiten Bus (12a) mit einer selektierbaren Anzahl von Chip-Treiber-Schaltungen (11) parallel gekoppelt ist; jeder Mustergenerator (12) ein Mittel (4050, 5558) zum gleichzeitigen selektiven Senden der Bitströme Wort für Wort aus seinem jeweiligen Speicher (13) an sämtliche Chip-Treiber-Schaltungen (11) einschließt, die mit seinem separaten zweiten Bus gekoppelt sind; und, jede Chip-Treiber-Schaltung (11) ein Mittel (6071) zum Konvertieren der Wörter einschließt, die ihr gesendet wurden, in bitseriellen Testsignalen und zum gleichzeitigen Testen mehrerer Chips (10a) mit den bitseriellen Testsignalen.
  2. Ein System gemäß Anspruch 1, worin jede Chip-Treiber-Schaltung (11) mit ihrem Mustergenerator (12) als eine jeweilige Mehrstufen-Pipeline zusammengeschaltet ist, wobei jede Chip-Treiber-Schaltung (11) Wörter konvertiert, die ihr gesendet wurden, in die bitseriellen Testsignale, während gleichzeitig jeder Mustergenerator (12) verschiedene Wörter aus seinem jeweiligen Speicher (13) liest.
  3. Ein System gemäß Anspruch 2, worin die Bitströme (TDI, ETDO, MASK, TMS) in jedem Speicher (13) als Teile von Anweisungen gespeichert werden, die mehrere unterschiedliche Befehlscodes (OP1–OP6, OP10) besitzen, und jede Chip-Treiber-Schaltung (11) Wörter konvertiert, die ihr aus einer bestimmten Anweisung gesendet wurden, während gleichzeitig die Mustergeneratoren (12) einen Befehlscode aus einer weiteren Anweisung lesen.
  4. Ein System gemäß Anspruch 3, worin jeder Mustergenerator (12) auf einen bestimmten Befehlscode (OP1–OP6) durch internes Erzeugen eines zusätzlichen Steuerbitstroms (TMS) und Senden des zusätzlichen Steuerbitstroms an sämtliche Chip-Treiber-Schaltungen (11) reagiert, die an seinem separaten Bus gekoppelt sind, zusammen mit den Bitströmen, die aus seinem jeweiligem Speicher (13) gesendet werden.
  5. Ein System gemäß Anspruch 4, worin ferner jeder Mustergenerator (12) auf den bestimmten Befehlscode (OP1, OP2) durch sequenzielles Lesen eines einzigen Bitstroms (TDI) in den Speicher reagiert, und zwar wortweise zu einer Zeit, und durch gleichzeitiges Senden der gelesenen Wörter mit dem intern erzeugten Bitstrom (TMS) reagiert.
  6. Ein System gemäß Anspruch 4, worin ferner jeder Mustergenerator (12) auf den bestimmten Befehlscode (OP3, OP4) durch sequenzielles Lesen zweier Bitströme (ETDO, MASK) in den Speicher reagiert, und zwar wortweise zu einer Zeit, und durch gleichzeitiges Senden der gelesenen Wörter mit dem intern erzeugten Bitstrom (TMS) reagiert.
  7. Ein System gemäß Anspruch 4, worin ferner jeder Mustergenerator (12) auf den bestimmten Befehlscode (OP5, OP6) durch sequenzielles Lesen dreier Bitströme (TDI, ETDO, MASK) in den Speicher reagiert, und zwar wortweise zu einer Zeit, und durch gleichzeitiges Senden der gelesenen Wörter mit dem intern erzeugten Bitstrom (TMS) reagiert.
  8. Ein System gemäß Anspruch 3, worin jeder Mustergenerator (12) auf einen bestimmten Befehlscode (OP10) durch Senden der Wörter der Bitströme reagiert, die aus dem Speicher gelesen werden, ohne irgendwelche zusätzliche Bitströme intern zu erzeugen und zu senden.
  9. Ein System gemäß Anspruch 1, worin jeder Speicher (13) erste und zweite Zugangsanschlüsse besitzt, die gleichzeitig arbeiten, und worin der erste Zugangsanschluss (13a) die Bitströme aus dem Speicher (13) an seinen Mustergenerator (12) sendet, während der zweite Zugangsanschluss (13b) gleichzeitig den Bitstrom aus einem Schreibsteuermittel (14) speichert, der mittels eines einzigen Busses (13c) mit dem zweiten Zugangsanschluss verbunden ist.
  10. Ein System gemäß Anspruch 1, worin das Mittel zum selektiven Senden (4050, 5558) in jedem Mustergenerator (12) eine Maschine mit endlich vielen Zuständen ist.
DE60015991T 1999-08-31 2000-08-23 Prüfgerät zum gleichzeitigen testen mehrerer integrierter schaltkreise Expired - Fee Related DE60015991T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US386946 1995-02-10
US09/386,946 US6363510B1 (en) 1999-08-31 1999-08-31 Electronic system for testing chips having a selectable number of pattern generators that concurrently broadcast different bit streams to selectable sets of chip driver circuits
PCT/US2000/023216 WO2001016613A1 (en) 1999-08-31 2000-08-23 Tester for concurrently testing multiple chips

Publications (2)

Publication Number Publication Date
DE60015991D1 DE60015991D1 (de) 2004-12-23
DE60015991T2 true DE60015991T2 (de) 2005-11-03

Family

ID=23527768

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60015991T Expired - Fee Related DE60015991T2 (de) 1999-08-31 2000-08-23 Prüfgerät zum gleichzeitigen testen mehrerer integrierter schaltkreise

Country Status (5)

Country Link
US (1) US6363510B1 (de)
EP (1) EP1212629B1 (de)
JP (1) JP3827575B2 (de)
DE (1) DE60015991T2 (de)
WO (1) WO2001016613A1 (de)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6651203B1 (en) * 1999-05-17 2003-11-18 Infineon Technologies Ag On chip programmable data pattern generator for semiconductor memories
US6502051B1 (en) * 2000-03-16 2002-12-31 Sun Microsystems, Inc. Method and apparatus for optimizing testing sequences for electronic equipment
WO2003093845A2 (en) * 2002-05-06 2003-11-13 Nextest Systems Corporation Semiconductor test system having multitasking algorithmic pattern generator
US7080283B1 (en) * 2002-10-15 2006-07-18 Tensilica, Inc. Simultaneous real-time trace and debug for multiple processing core systems on a chip
US6941232B2 (en) * 2003-01-28 2005-09-06 Texas Instruments Incorporated Method and apparatus for performing multi-site integrated circuit device testing
US6910162B2 (en) * 2003-05-12 2005-06-21 Kingston Technology Corp. Memory-module burn-in system with removable pattern-generator boards separated from heat chamber by backplane
DE10324080B4 (de) 2003-05-27 2006-03-23 Infineon Technologies Ag Verfahren zum Testen von zu testenden Schaltungseinheiten in einer Testvorrichtung
DE10326317B4 (de) * 2003-06-11 2007-05-10 Infineon Technologies Ag Testsystem zum Testen von integrierten Bausteinen
US7613184B2 (en) * 2003-11-07 2009-11-03 Alcatel Lucent Method and apparatus for performing scalable selective backpressure in packet-switched networks using internal tags
US7181661B2 (en) * 2004-02-04 2007-02-20 International Business Machines Corporation Method and system for broadcasting data to multiple tap controllers
US20060125504A1 (en) * 2004-12-10 2006-06-15 Systems On Silicon Manufacturing Company Pte. Ltd. Printed circuit board for burn-in testing
KR100660640B1 (ko) * 2005-08-18 2006-12-21 삼성전자주식회사 웨이퍼 자동선별 테스트를 위한 데이터 기입 장치 및 방법
JP2007101395A (ja) * 2005-10-05 2007-04-19 Sony Corp 回路装置の検査装置、検査方法及び製造方法
US7765450B2 (en) * 2005-10-20 2010-07-27 Jon Udell Methods for distribution of test generation programs
US7478298B2 (en) * 2006-01-26 2009-01-13 Honeywell International Inc. Method and system for backplane testing using generic boundary-scan units
US7511525B2 (en) * 2006-01-26 2009-03-31 Honeywell International Inc. Boundary-scan system architecture for remote environmental testing
US7523368B2 (en) * 2006-01-26 2009-04-21 Honeywell International Inc. Diagnostics unit using boundary scan techniques for vehicles
US8516305B2 (en) * 2010-09-01 2013-08-20 Advanced Micro Devices, Inc. Power dissipation test method and device therefor
CN110806539B (zh) * 2019-11-26 2021-12-28 深圳赛意法微电子有限公司 一种继电器与驱动芯片的检测器
CN115037419B (zh) * 2022-08-11 2023-01-31 德州鲲程电子科技有限公司 用于芯片测试过程中的不定长编码数据串行传输的方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4928278A (en) * 1987-08-10 1990-05-22 Nippon Telegraph And Telephone Corporation IC test system
DE4028819A1 (de) * 1990-09-11 1992-03-12 Siemens Ag Schaltungsanordnung zum testen eines halbleiterspeichers mittels paralleltests mit verschiedenen testbitmustern
US5390129A (en) * 1992-07-06 1995-02-14 Motay Electronics, Inc. Universal burn-in driver system and method therefor
KR970010656B1 (ko) * 1992-09-01 1997-06-30 마쯔시다 덴기 산교 가부시끼가이샤 반도체 테스트 장치, 반도체 테스트 회로칩 및 프로브 카드
US5504670A (en) * 1993-03-31 1996-04-02 Intel Corporation Method and apparatus for allocating resources in a multiprocessor system
EP0642083A1 (de) * 1993-09-04 1995-03-08 International Business Machines Corporation Prüfschaltkreis und Verfahren zum Prüfen von Chipverbindungen

Also Published As

Publication number Publication date
JP3827575B2 (ja) 2006-09-27
DE60015991D1 (de) 2004-12-23
US6363510B1 (en) 2002-03-26
EP1212629B1 (de) 2004-11-17
WO2001016613A1 (en) 2001-03-08
EP1212629A1 (de) 2002-06-12
JP2003508758A (ja) 2003-03-04

Similar Documents

Publication Publication Date Title
DE60015991T2 (de) Prüfgerät zum gleichzeitigen testen mehrerer integrierter schaltkreise
DE2555439C2 (de) Monolithische hochintegrierte Halbleiterschaltung
DE69831900T2 (de) Programmier-Modus-Auswahl mit JTAG Schaltungen
DE2555435C2 (de) Monolithische hochintegrierte Halbleiterschaltung
DE602004007503T2 (de) REKONFIGURIERBARE ARCHITEKTUR FÜR SOCs
DE3130714C2 (de)
DE4305442C2 (de) Verfahren und Vorrichtung zum Erzeugen eines Testvektors
DE69832015T2 (de) Halbleiterspeicher mit einer verbesserten Prüfschaltung
DE3606650A1 (de) Hardware logik-simulator
DE10150321A1 (de) Verfahren und Vorrichtung zum Testen von integrierten Schaltungen
DE10206249B4 (de) Verfahren zum Erzeugen von Testsignalen für eine integrierte Schaltung sowie Testlogik
DE69912545T2 (de) Schaltkreis mit einer einheit zum testen von verbindungen und ein verfahren zum testen von verbindungen zwischen einem ersten und zweiten elektronischen schaltkreis
DE2723467A1 (de) Speichersteuerungsanordnung
DE69634227T2 (de) Emulationssystem mit emulierten Mehrtaktzyklen pro Emulation-Taktzyklus und Signalweglenkung
DE2926322A1 (de) Speicher-subsystem
DE602005001900T2 (de) Rekonfigurierbarer Prozessor und Halbleiterbaustein
DE2902375C2 (de) Logikbaustein für integrierte Digitalschaltungen
EP1205938B1 (de) Integrierte Schaltung mit Testbetriebsart und Verfahren zum Testen einer Vielzahl solcher integrierter Schaltungen
DE19951534A1 (de) Integrierte Halbleiterschaltung
DE19781563C2 (de) Mustergenerator
EP0640919B1 (de) Prozessorschaltung mit Testeinrichtung
DE69833123T2 (de) Schaltungsanordnung zum testen eines kerns
DE60105168T2 (de) Automatische Abtastprüfung von komplexen integrierten Schaltungen
DE60001975T2 (de) Patterngenerator mit variabler länge für ein chipprüfsystem
DE60223043T2 (de) Elektronischer schaltkreis und testverfahren

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee