DE10343227A1 - System und Verfahren zum Testen eines Schaltungsaufbaus unter Verwendung einer extern erzeugten Signatur - Google Patents
System und Verfahren zum Testen eines Schaltungsaufbaus unter Verwendung einer extern erzeugten Signatur Download PDFInfo
- Publication number
- DE10343227A1 DE10343227A1 DE10343227A DE10343227A DE10343227A1 DE 10343227 A1 DE10343227 A1 DE 10343227A1 DE 10343227 A DE10343227 A DE 10343227A DE 10343227 A DE10343227 A DE 10343227A DE 10343227 A1 DE10343227 A1 DE 10343227A1
- Authority
- DE
- Germany
- Prior art keywords
- signature
- test
- data
- dut
- window
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3183—Generation of test inputs, e.g. test vectors, patterns or sequences
- G01R31/318335—Test pattern compression or decompression
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/31705—Debugging aspects, e.g. using test circuits for debugging, using dedicated debugging test circuits
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3183—Generation of test inputs, e.g. test vectors, patterns or sequences
- G01R31/318307—Generation of test inputs, e.g. test vectors, patterns or sequences computer-aided, e.g. automatic test program generator [ATPG], program translations, test program debugging
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
Description
- Die vorliegende Erfindung bezieht sich allgemein auf ein Testen von integrierten Schaltungen und spezieller auf ein System und ein Verfahren zum Testen eines Schaltungsaufbaus unter Verwendung einer Signatur, die außerhalb des Testschaltungsaufbaus erzeugt wird.
- Während eines typischen Halbleiterfertigungsprozesses werden eine Mehrzahl von integrierten Schaltungen als Einzelchips auf einem Halbleiterwafer gebildet. Jeder Halbleiterwafer weist allgemein Hunderte oder Tausende von individuellen Einzelchips auf, die auf demselben gebildet sind. Sobald die Einzelchips auf einem Halbleiterwafer gebildet sind, werden die Einzelchips dann getestet, um zu bestimmen, welche Einzelchips funktionsfähig sind und welche Einzelchips nicht funktionsfähig sind. Bei den meisten Testverfahren wird jeder Einzelchip unter Verwendung einer Sondenausrüstung untersucht, während sich die Einzelchips immer noch auf dem Wafer befinden. Dieser Schritt ist auch als „Wafersortierung" bekannt.
- Zweck des Sondentests auf Waferebene ist es, möglichst früh im Herstellungsprozeß zu bestimmen, ob jeder individuelle Einzelchip defekt ist oder nicht. Je früher ein defekter Einzelchip erfaßt wird, desto weniger Zeit und Kosten werden auf die Weiterverarbeitung des defekten Einzelchips aufgewendet. Das heißt, wenn bestimmt wird, daß ein erfaßter Defekt nicht behoben werden kann, werden weder Zeit noch Kosten für die Fertigstellung einer Chipanordnung aufgewendet. Nach dem Testen auf Waferebene werden die funktionsfähigen Einzelchips dann gehäust, und allgemein wird das gehäuste Teil erneut getestet, um sicherzustellen, daß während des Häusens keine Defekte eingeführt wurden. Es sind verschiedene Techniken zum Ausführen eines Testens auf Wa ferebene entwickelt worden, wie z. B. jene, die weiter unten beschrieben sind, und, wie in der Technik bekannt ist, können auch ähnliche Techniken zum Testen eines gehäusten Bauelements verwendet werden.
- Bei einem typischen Halbleitertesten empfängt das DUT (DUT = device under test = Testobjekt) (das als ein CUT (CUT = circuitry under test = Testschaltungsaufbau) bezeichnet werden kann und ein DUT auf einem Wafer sowie ein gehäustes Bauelement umfassen kann) einen Satz von eingegebenen Stimuli von einer ATE (ATE = automatic test equipment = automatische Testausrüstung), die außerhalb der DUT angeordnet ist, wonach die ATE die Ausgaben des DUT beobachtet. Allgemein werden die korrekten erwarteten Ausgaben des DUT im ATE-Speicher gespeichert, und die ATE vergleicht alle ausgegebenen Bits, die von dem DUT erhalten wurden, mit den gespeicherten erwarteten Bitwerten, um zu bestimmen, ob das DUT ordnungsgemäß funktioniert (z. B. ob das DUT die erwarteten Ausgabewerte ansprechend auf die Eingabewerte erzeugt). Somit kann ein DUT (z. B. ein Bauelement auf einem Wafer oder ein gehäustes Bauelement) mit einer externen ATE kommunikativ gekoppelt sein, und eine solche ATE kann Teststimuli in dasselbe eingeben und Antworten von demselben empfangen und analysieren. Wie nachstehend weiter beschrieben ist, kann ein Schaltungsaufbau auf dem DUT umfaßt sein, der beispielsweise ansprechend auf die eingegebenen Stimuli eine Signatur entsprechend der Antwort des DUT erzeugen kann, und eine solche Signatur kann an das ATE ausgegeben werden. Obgleich ein Großteil der Testverfahren, die hierin beschrieben sind, als Testen eines DUT, das sich auf einem Wafer befindet (d. h. Testen auf Waferebene), beschrieben ist, wird darauf hingewiesen, daß ähnliche Techniken typischerweise ebenfalls zum Testen eines gehäusten Bauelements verwendet werden können.
- Im Falle eines Testens auf Waferebene kann eine Sonde mit einer oder mehreren Verbindungsanschlußflächen eines Chips in Kontakt gebracht werden, um Signale (z. B. ein Testmus ter) an den Einzelchip zu kommunizieren und um die Signale, die durch den Chip ansprechend auf die Eingabesignale ausgegeben werden, zu empfangen. Die Sonde ist typischerweise mit einer externen ATE kommunikativ gekoppelt, die betreibbar ist, um die Signale, die in einen Chip eingegeben werden sollen, zu erzeugen, und um die Signale, die durch den Chip ausgegeben werden, auszuwerten, um zu bestimmen, ob der Chip ordnungsgemäß funktioniert. Einzelchips auf einem Wafer können seriell (z. B. durch Kontaktieren von jedem Chip mit der Sonde in Reihe) oder parallel getestet werden.
- Herkömmliche Testverfahren des Stands der Technik erfordern eine unerwünscht hohe Speichermenge auf der ATE, die zum Testen verwendet wird, was in unerwünschter Weise die Kosten der ATE und des resultierenden Produkts erhöht. Eine ausreichende Datenspeicherung, die mit der ATE kommunikativ gekoppelt ist, ist beispielsweise allgemein zur Speicherung von zumindest den nachstehenden Informationen für ein Testverfahren erforderlich: 1) Eingabevektordaten, 2) Ausgabevektordaten und 3) Maskenvektordaten. Allgemein weisen die Eingabevektordaten, die an der ATE gespeichert werden, die Daten auf, die als Stimuli für die Eingaben in das DUT (z.B. Testmusterdaten) verwendet werden, und die Ausgabevektordaten weisen die erwarteten Ausgabedaten des DUT angesichts der Eingabevektordaten auf, die zum Vergleich mit der tatsächlichen Datenausgabe des DUT ansprechend auf die Eingabevektordaten verwendet werden, um zu bestimmen, ob das DUT ordnungsgemäß funktioniert. Allgemein weisen die Maskenvektordaten Daten auf, die bezeichnen, welches der Bits der erwarteten Ausgabedaten tatsächlich mit den empfangenden Ausgaben des DUT verglichen werden müssen, z. B. bilden die Maskenvektordaten die erwarteten Ausgabedaten auf die tatsächlichen Ausgabedaten ab, die vom DUT empfangen werden, da bei bestimmten Konfigurationen alle Ausgabebits des DUT nicht mit den erwarteten Ausgabedaten verglichen werden können (z. B. können bestimmte nicht deterministische Bits oder „bedeutungslose/unbekannte Bits" existieren, deren Wert für das richtige Funktionieren des tieren, deren Wert für das richtige Funktionieren des DUT nicht relevant ist).
- Solche Eingabevektordaten, Ausgabevektordaten und Maskenvektordaten für ein Testverfahren können eine unerwünscht große Datenspeicherplatzmenge auf dem ATE verbrauchen. Ferner steigt die Datenspeicherplatzmenge, die auf dem ATE verbraucht wird, für diese Vektordaten wahrscheinlich an, da der Umfang des Testverfahrens erhöht wird und/oder die Komplexität des Bauelements, das getestet werden soll, zunimmt. Herkömmliche Testverfahren des Stands der Technik verwenden z. B. üblicherweise näherungsweise 400 bis 800 Bits pro Gatter des DUT, das getestet wird. Natürlich kann die Größe der Eingabevektordaten, Ausgabevektordaten und/oder Maskenvektordaten, abhängig von der Komplexität des DUT und/oder des Umfangs des Testverfahrens, das implementiert wird (die Anzahl von Flip-Flops auf dem DUT, das getestet wird, und/oder die Anzahl von Eingabetestmustern, die 'verwendet werden) von Testverfahren zu Testverfahren variieren (jedoch ist bei aktuellen ATE-Architekturen für jedes Ausgabebit ein Maskenbit erforderlich, so daß das Maskenvektorspeicher gleich dem Ausgabevektorspeicher ist). Die Ausführungsbeispiele der vorliegenden Erfindung überwinden diese Barriere, wodurch eine Verringerung der Datenspeicherungsmenge, die auf einer ATE für einen Test erforderlich ist, ermöglicht wird.
- Allgemein ist es wünschenswert, die Datenspeicherungsmenge, die auf der ATE zum Implementieren eines Testverfahrens erforderlich ist, zu minimieren. Im Stand der Technik sind mehrere Lösungen vorgeschlagen worden, um die Datenspeicherungsanforderungen der ATE zum Implementieren eines Testverfahrens zu reduzieren, und, spezieller, um die Speicheranforderung der ATE zum Speichern der Ausgabevektordaten für ein Testverfahren zu reduzieren. Die überzeugendsten Techniken zum Minimieren der Datenspeicherungsmenge, die auf einer ATE zum Speichern von Ausgabevektordaten erforderlich ist, sind Vektorsatzabschneidetechniken und Auf-Chip-Signaturanalysetechniken, die nachstehend ferner Chip-Signaturanalysetechniken, die nachstehend ferner beschrieben werden.
- Ein beliebtes Verfahren zum Minimieren der Datenspeicherungsmenge, die auf einer ATE zum Speichern von Ausgabevektordaten erforderlich ist, ist das Abschneiden. Allgemein umfaßt das Abschneiden ein Fallenlassen eines Abschnitts des Tests, d. h. eines Abschnitts der Ausgabedaten, Maskendaten und/oder Eingabedaten, (d. h. ein Nichtverwenden dieses Testabschnitts beim Bestimmen, ob das DUT ordnungsgemäß funktioniert). Infolgedessen kann die Datenmenge, die auf der ATE gespeichert ist, verringert werden. Das Abschneiden der Vektorsätze (z. B. Eingabe-, Ausgabe- und Maskenvektorsätze) führt jedoch beispielsweise zu einer Verringerung einer Testabdeckung, und infolgedessen kann es zu einer Verringerung der Produktqualität führen (d. h. das Abschneiden verringert den Umfang des Testens eines DUT, was zu einem nicht ordnungsgemäßen Funktionieren der DUT führen kann, das den Test besteht). Diese Verringerung in der Produktqualität ist häufig nicht akzeptabel. Manchmal wird dieses Verfahren in Kombination mit einer Vektorsatzneuordnung basierend auf der Wahrscheinlichkeit verwendet, daß ein Vektor tatsächlich einen Defekt für jeden Vektor erfaßt, woraufhin der Schweif der Vektortaten abgeschnitten wird. Auf diese Weise kann die Auswirkung auf die Testabdeckung minimiert werden. In den meisten Fällen besteht jedoch immer noch eine beträchtliche Auswirkung auf die Testabdeckung.
- Eines der attraktivsten Ausgabekomprimierungsschemata basiert auf einer Signaturanalyse. Die Signaturanalyse ist ein hinreichend bekanntes Verfahren zum Komprimieren einer Sequenz von logischen Werten, die von einer Testschaltung ausgegeben werden, in eine relativ kleine Anzahl von Bits von Daten (Signatur), die, wenn sie mit gespeicherten Daten verglichen werden (z. B. einer erwarteten Signatur), das Vorliegen oder die Abwesenheit von Fehlern in der Schaltung anzeigen. Allgemein komprimiert eine Signatur einer Gruppe von Ausgabebits eine solche Gruppe von Ausgabebits und identifiziert in eindeutiger Weise eine solche Gruppe von Ausgabebits, so daß bestimmt werden kann, ob die Gruppe von Ausgabebits so ausfällt wie erwartet. Es wird darauf hingewiesen, daß allgemein eine geringe Möglichkeit zum Erhalten einer korrekten Signatur für inkorrekte Ausgabebits (Aliasing) besteht. Obgleich eine Signatur verwendet, werden kann, um festzustellen, ob die Gruppe von Ausgabebits ausfällt wie erwartet, kann von der Signatur, wenn die Signatur nicht ausfällt wie erwartet, allgemein nicht festgestellt werden, welche (s) von der Gruppe von Ausgabebits unerwartete Werte aufwies(en). Somit ist die Diagnose von Fehlern oder eine Fehlerbereinigung allgemein begrenzt (nicht verfügbar), wenn eine Auf-Chip-Signaturerzeugung verwendet wird. Allgemein bezieht sich die Fehlerdiagnose auf einen Prozeß zum Identifizieren eines Fehlers in einem DUT, wie z. B. Bestimmen der Situation(en), in denen das DUT einen Fehler aufweist, und/oder Bestimmen der(des) Bits, die (das) infolge des Fehlers nicht korrekt sind (ist). Die Fehlerbereinigung bezieht sich allgemein auf einen Prozeß zum Bestimmen der Ursache eines Fehlers.
- Im Stand der Technik sind verschiedene Techniken zum Erzeugen einer Signatur für Ausgabedaten hinreichend bekannt. Eine Technik weist beispielsweise das Zuführen der kompletten Ausgabevektordaten durch ein lineares Rückkopplungsschieberegister mit unterschiedlichen exklusiven ODER(XOR-) Rückkopplungsschleifen auf, die eine sehr kurze Signatur in dem Schieberegister zur Folge haben, das von allen Ausgabevektordaten abhängt. Wenn die Rückkopplungsschleifen, d. h. die Polynome, des Schieberegisters sorgfältig ausgewählt sind, wird kein bemerkenswertes Aliasing eintreten. Die Auf-Chip-Techniken zum Erzeugen einer Signatur der Ausgabedaten des Chipelements während des Testens unter Verwendung eines Schaltungsaufbaus, der als SISR (SISR = Single Input Signature Register = Einzeleingabesignaturregister) oder (im Falle von mehreren XOR-Eingängen) als MISR (MISR = Multiple Input Signatur Register = Mehrfachein gangssignaturregister) bezeichnet wird, sind im Stand der Technik vorgeschlagen worden. Ein solcher SISR- und MISR-Schaltungsaufbau zum Erzeugen von Signaturen auf dem Chip sind in der Technik hinreichend bekannt und werden daher hierin nicht ausführlicher beschrieben. Beispiele von Testschemata, die eine Signaturanalyse verwenden (z. B. über ein MISR) sind in folgenden Patenten beschrieben: 1) U.S.-Patent Nummer 6,442,722 mit dem Titel „METHOD AND APPARATUS FOR TESTING CIRCUITS WITH MULTIPLE CLOCKS", das an Nadeau-Dostie u. a. erteilt wurde; 2) U.S.-Patent Nummer 6,393,594 mit dem Titel „METHOD AND SYSTEM FOR PERFORMING PSEUDO-RANDOM TESTING OF AN INTEGRATED CIRCUIT", das an Anderson u. a. erteilt wurde; 3) U.S.-Patent Nummer 6,374,370 mit dem Titel „METHOD AND SYSTEM FOR FLEXIBLE CONTROL OF BIST REGISTERS BASED UPON ON-CHIP EVENTS", das an Bockhaus u. a. erteilt wurde; 4) U.S.-Patent Nummer 6,363,506 mit dem Titel „METHOD FOR SELF-TESTING INTEGRATED CIRCUITS", das an Karri u. a. erteilt wurde; 5) U.S.-Patent Nummer 6,327,685 mit dem Titel „LOGIC BUILT-IN SELF TEST", das an Koprowski u. a. erteilt wurde; 6) U.S.-Patent Nummer 6,240,537 mit dem Titel „SIGNATURE COMPRESSION CIRCUIT AND METHOD", das an Sim erteilt wurde; 7) U.S.-Patent Nummer 6,158,033 mit dem Titel „MULTIPLE INPUT SIGNATURE TESTING & DIAGNOSIS FOR EMBEDDED BLOCKS IN INTEGRATED CIRCUITS", das an Wagner u. a. erteilt wurde; 8) U.S.-Patent Nummer 5,978,946 mit dem Titel „METHODS AND APPARATUS FOR SYSTEM TESTING OF PROCESSORS AND COMPUTERS USING SIGNATURE ANALYSIS", das an Needham erteilt wurde; 9) U.S.-Patent Nummer 5,960,008 mit dem Titel „TEST CIRCUIT", das an Osawa u. a. erteilt wurde; 10) U.S.-Patent Nummer 5,938,784 mit dem Titel „LINEAR FEEDBACK SHIFT REGISTER, MULTIPLE INPUT SIGNATURE REGISTER, AND BUILT-IN SELF TEST CIRCUIT USING SUCH REGISTERS", das an Kim erteilt wurde, deren Offenbarungen hierin durch Bezugnahme aufgenommen worden sind. Ein weiteres Beispiel eines Testschemas, das eine Signaturanalyse verwendet, (z. B. über ein MISR) ist in der veröffentlichten U.S.-Patentanmeldunq Nummer 20020073374 mit dem Titel „METHOD, SYSTEM AND PROGRAM PRODUCT FOR TESTING AND/OR DIAGNOSING CIRCUITS USING EMBEDDED TEST CONTROLLER ACCESS DATA" beschrieben, deren Offenbarung hierin durch Bezugnahme aufgenommen worden ist.
- Es wird darauf hingewiesen, daß, weil eine Signatur eine komprimierte Identifizierung der Ausgabebits ist, die Speicherplatzmenge, die auf einer ATE zum Speichern der Ausgabevektordaten (erwarteten Signaturen) erforderlich ist, gut unter die Menge reduziert werden kann, die zum Speichern aller tatsächlichen erwarteten Ausgabebits erforderlich ist. Weil ferner eine Signatur einen ganzen Satz von Ausgabebits (innerhalb der Grenzen des Aliasing), der analysiert werden soll (z. B. der gesamte Ausgabevektor), identifizieren kann, wird die Testabdeckung nicht verringert, wie im Falle eines Abschneidens.
- Die Auf-Chip-Signaturanalysetechniken des Stands der Technik weisen jedoch mehrere Nachteile auf. Zunächst umfassen solche Techniken einen Schaltungsaufbau auf dem Chip zum Erzeugen einer Signatur der Ausgabedaten des Chipelements während des Testens. Ein solcher Signaturerzeugungsschaltungsaufbau verbraucht eine Fläche auf dem Chip, wodurch die Gesamtgröße des Chips erhöht wird (oder die Menge des Schaltungsaufbaus, der ansonsten im Chip umfaßt ist, verringert wird) und potentiell das Verhalten des Chipelements behindert wird (z. B. aufgrund der erweiterten Entfernung, die die Signale evtl. angesichts der erhöhten Größe des Chipelements zurücklegen müssen). Auch kann ein Implementieren des Signaturerzeugungsschaltungsaufbaus auf dem Chip Entwurfsmodifizierungen erfordern, die an dem Testschaltungsaufbau vorgenommen werden müssen, um zu ermöglichen, daß ein solcher Signaturerzeugungsschaltungsaufbau mit denselben implementiert werden kann. Ferner wird der Signaturerzeugungsschaltungsaufbau typischerweise nur während des Testens des Schaltungsaufbaus verwendet. Das heißt, daß der Signaturerzeugungsschaltungsaufbau typischerweise nicht während eines Normalbetriebs des Schaltungsaufbaus in der Zielanwendung verwendet wird. Somit ist ein Implementieren des Signaturerzeugungsschaltungsaufbau auf dem Chip dahingehend nachteilig, daß er eine Fläche auf dem Chip verbraucht (wodurch die Gesamtgröße des Chipelements erhöht wird) und nur während des Testens des Chipelements nützlich ist. Ferner ist eine Signaturerzeugung auf dem Chip allgemein von Nachteil, weil sie keine Fehlerdiagnose (d. h. eine Bestimmung, welches) von der Gruppe von Ausgabebits, die eine inkorrekte Ausgabe aufweisen, nicht von der Signatur von solchen Ausgabebits erzeugt werden können (kann)) oder eine Fehlerbereinigung ermöglicht. Ferner kann ein Auf-Chip-Signaturerzeugungsschaltungsaufbau an sich Defekte aufweisen.
- Da die Signatur von allen Ausgabevektordaten abhängt, hängt sie zusätzlich auch von Ausgabevektordatenbits ab, die kein nicht deterministisches Verhalten aufweisen. Dieses nicht deterministische Verhalten kann beispielsweise eintreten, wenn ein Teilabtastlösungsansatz verwendet wird, z. B. nur ein Teilsatz von Flip-Flops auf einem DUT abgetastet wird. Bei bestimmten Entwürfen können einige Flip-Flop aufgrund von Entwurfsbeschränkungen nicht abgetastet werden. Andere Quellen von nicht deterministischen (unbekannten) Ausgabezuständen umfassen ein Vorliegen von mehreren Taktbereichen und drei Tristate-Bussen. Infolgedessen können die Werte dieser nicht deterministischen Bits nicht ohne zusätzliche Impulsmodifizierungen gesteuert werden. Diese Entwurfsmodifizierungen führen jedoch zu zusätzlichen Flächenkosten und einer potentiellen Verschlechterung des Verhaltens. Das Vorliegen von unbekannten/nicht deterministischen Ausgabesignalen kann die Signatur verfälschen, wodurch die Signatur und der Test fast nahezu immer unbrauchbar werden. Die Auswirkung der Entwurfsmodifizierungen auf die Fläche, den Fluß und das Entwurfsverhalten kann im wesentlichen nachteilig und für einige Entwürfe nicht akzeptabel sein.
- Zusätzlich möchte der Benutzer bei den Auf-Chip-Signaturerzeugungstechniken, die keine Auf-Chip-Maskierungsfähigkeit liefern, manchmal nur einen Teil des Tests ausführen oder bestimmte nicht deterministische Ausgaben vom Testschaltungsaufbau unterdrücken, z. B. während der Fehlerbereinigungsphase oder wenn bestimmte erwartete Ausgaben sich als unkorrekt simuliert herausstellen. In diesem Fall können die Signaturanalysetechniken des Stands der Technik abhängig von der Anzahl von maskierten Ausgaben nicht verwendet werden. Das heißt, weil die Signaturerzeugungstechniken des Stands der Technik einen Auf-Chip-Schaltungsaufbau aufweisen, der für ein Erzeugen einer Signatur einen bestimmten Satz von Ausgabewerten festgelegt ist, kann keiner dieser Ausgabewerte während des Testverfahrens herausmaskiert werden. Man könnte eine Auf-Chip-Maskierungsfähigkeit schaffen, jedoch sind im allgemeinen zusätzliche Kanäle/eine zusätzliche Bandbreite zum Liefern der Maskierungsdaten erforderlich.
- Außerdem ist es rechnerisch sehr aufwendig und manchmal unmöglich, den Signaturanalyseprozeß umzukehren. In anderen Worten ist es durch Verwenden der Signaturanalysetechniken des Stands der Technik möglich, eine Diskrepanz zwischen den tatsächlichen Ausgabevektordaten und den erwarteten Ausgabevektordaten zu bestimmen. Es ist jedoch typischerweise nicht möglich, zu bestimmen, welche empfangenen Bits der Ausgabevektordaten falsch sind. Dies schränkt die Fehlerdiagnose/Fehlerbereinigungsfähigkeit von signaturbasierten Testverfahren des Stands der Technik ernsthaft ein und erfordert typischerweise einen Umgehungsmodus zum Ausführen einer Fehlerdiagnose/Fehlerbereinigung, der einen zusätzlichen Schaltungsaufbau und zusätzliche Eingaben/Ausgaben erfordert.
- Für eine Testeinrichtung, die eine Signatur außerhalb des Chips erzeugt, sind Vorschläge gemacht worden. Zum Beispiel schlägt „Low-Cost Testing of High-Density Logic Components", IEEE Design & Test of Computers, 0740-7475 (April 1990) eine Testeinrichtung vor, die eine Signaturerzeugungslogik umfaßt, die eine Ausgabe von einem DUT empfängt und eine Signatur für eine solche empfangene Ausgabe er zeugt. Solche vorgeschlagenen Testeinrichtungen weisen jedoch mehrere Nachteile auf. Die vorgeschlagene Testeinrichtung ermöglicht beispielsweise nicht, daß das Testen und die Fehlerdiagnose/Fehlerbereinigung gleichzeitig erfolgen können. Ferner ermöglicht die vorgeschlagene Testeinrichtung kein Herausmaskieren von unbekannten Zuständen (z. B. Maskieren von nicht deterministischen Ausgabebits) beim Erzeugen einer Signatur. Wir sind uns keiner im Handel erhältlichen ATEs bewußt, die die durch den Artikel „Low-Cost Testing of High-Density Logic Components" vorgeschlagene Technik implementieren. Wenn ferner eine ATE gemäß einem solchen Vorschlag implementiert werden würde, würde sie keine Maskierung von unbekannten Zuständen ermöglichen, und wenn eine solche Maskierung implementiert werden wäre, dann würde sie eine beträchtliche Menge von Maskendaten erfordern, die an der ATE gespeichert werden, (da keine Komprimierung der Maskendaten vorgeschlagen wird).
- Aufgrund der vorstehend beschriebenen Nachteile ist die Verwendung von Signaturanalysetechniken zum Reduzieren der ATE-Speicheranforderungen nicht weit verbreitet.
- Es ist eine Aufgabe der vorliegenden Erfindung, ein System und ein Verfahren zum Testen eines Schaltungsaufbaus unter Verwendung einer extern erzeugten Signatur zu schaffen.
- Diese Aufgabe wird durch eine Off-Chip-Testsystem gemäß Anspruch 1, ein System zum Testen eines Schaltungsaufbaus gemäß Anspruch 14 sowie ein Verfahren zum Testen eines Schaltungsaufbaus gemäß Anspruch 21 gelöst.
- Angesichts des Vorstehenden besteht ein Bedarf an einem System und einem Verfahren zum Testen eines Schaltungsaufbaus, der vorzugsweise Datenspeicherungsanforderungen (z. B. ATE-Speicheranforderungen) zum Implementieren eines solchen Testsverfahrens bewahrt. Ferner besteht ein Bedarf an einem System und einem Verfahren, das ein Testen eines Schaltungsaufbaus ermöglicht, der vorzugsweise den Umfang des Auf-Chip-Schaltungsaufbaus, der zum Implementieren eines solchen Testverfahrens erforderlich ist, minimiert. Ferner besteht außerdem ein Bedarf an einem System und einem Verfahren, das ein Testen eines Schaltungsaufbaus in einer Weise ermöglicht, die eine Diagnose/Fehlerbereinigung von erfaßten Fehlern ermöglicht, um beispielsweise die spezifischen Ausgabebits von einem DUT zu bestimmen, die inkorrekt sind, ohne einen großen Vektorspeicher zu erfordern. Ferner besteht ist eine gleichzeitige Fehlerdiagnose/Fehlerbereinigung und ein Testen des Schaltungsaufbaus erwünscht. Das heißt, daß ein Bedarf an einer gleichzeitigen Fehlerauswertung (z. B. Diagnose und/oder Fehlerbereinigung) und einem Testen des Schaltungsaufbaus besteht. Der Begriff „Fehlerauswertung" wird hierin breit verwendet und soll eine Fehlerdiagnose und eine Fehlerbereinigung umfassen. Die Fehlerauswertung umfaßt ferner eine Ausbeutemitteilung. Das heißt, daß entweder die Fehlerdiagnose, die Fehlerbereinigung oder die Ausbeutemitteilung als eine Fehlerauswertung betrachtet werden können. Zusätzlich besteht ein Bedarf an einem solchen System und Verfahren, die ferner ein Maskieren von unbekannten Zuständen (z. B. nicht deterministischen Bits) beim Erzeugen einer Signatur ermöglichen. Es besteht ein Bedarf an einem System und einem Verfahren, das zumindest die Ausgabedaten und Maskendaten komprimiert, die zum Implementieren eines Testverfahrens zum Testen eines Schaltungsaufbaus verwendet werden.
- Die vorliegende Erfindung bezieht sich auf ein System und ein Verfahren, die ein Testen eines Schaltungsaufbaus unter Verwendung einer extern erzeugten Signatur ermöglichen. Bei einem bevorzugten Ausführungsbeispiel wird eine externe Testeinrichtung geschaffen, die außerhalb eines DUT angeordnet ist. Eine solche externe Testeinrichtung ist betreibbar, um Testdaten in das DUT einzugeben, Ausgabedaten vom DUT zu empfangen und eine Signatur für zumindest einen Abschnitt von solchen empfangenen Ausgabedaten zu erzeugen. Wie hierin ferner beschrieben ist, sind verschiedene Vorteile darin zu erkennen, daß eine Signatur für Ausga bedaten außerhalb des DUT erzeugt wird. Die externe Testeinrichtung kann dann die erzeugte Signatur mit einer erwarteten Signatur vergleichen, um zu bestimmen, ob das DUT wie erwartet funktioniert. Wenn die erzeugte Signatur nicht mit einer erwarteten Signatur übereinstimmt, dann können die Fehlerdaten an ein Fehlerabbildungsprotokoll geschrieben werden. Wenn die erzeugte Signatur beispielsweise mit der erwarteten Signatur nicht übereinstimmt, dann kann zumindest ein Abschnitt der tatsächlich empfangenen Ausgabedaten (für die die erzeugte Signatur erzeugt wurde) an ein Fehlerabbildungsprotokoll geschrieben werden. Bei einem bevorzugten Ausführungsbeispiel ist eine weitere Interaktion mit dem DUT, abhängig von den Fehlerauswertungszielen, nach einem Erfassen eines Fehlers (z. B. nach einem Erfassen, das eine erzeugte Signatur nicht mit einer erwarteten Signatur übereinstimmt), nicht erforderlich, um eine solche Fehlerauswertung (z. B. Speichern der tatsächlichen empfangenen Ausgabedaten, die einem Fehler entsprechen, in ein Fehlerabbildungsprotokoll) auszuführen. Somit kann eine Fehlerauswertung (Diagnose und/oder Fehlerbereinigung) gleichzeitig mit dem Testen des DUT ausgeführt werden. Dementsprechend kann eine Fehlerauswertung bei einem bevorzugten Ausführungsbeispiel gleichzeitig mit dem Testen eines DUT in dem Umfang ausgeführt werden, der durch herkömmliche ATEs unterstützt wird. Somit sind separate Test- und Fehlerbereinigungsmodi nicht erforderlich. Das heißt, sobald ein Testen auf dem DUT ausgeführt wird, das eine weitere Interaktion mit dem DUT nicht erforderlich ist, um eine Fehlerauswertung auszuführen.
- Ferner kann ein bevorzugtes Ausführungsbeispiel der vorliegenden Erfindung in Kombination mit Maskenvektorkomprimierungs- und/oder Eingabevektorkomprimierungstechniken für einen Test für eine weitere Beibehaltung der Datenspeicherung, die zum Implementieren des Tests erforderlich ist, implementiert werden. Nicht nur kann eine Signaturanalyse beispielsweise zum Komprimieren der Ausgabevektordaten implementiert werden, sondern Eingabevektor- und/oder Masken vektorkomprimierungstechniken können ebenfalls in Kombination mit derselben zum Minimieren der Datenspeicherungsmenge, die an der ATE zum Implementieren eines gegebenen Tests erforderlich ist, implementiert werden.
- Bei bestimmten Ausführungsbeispielen werden die empfangenen Ausgabedaten in eine Mehrzahl von Fenstern aufgeteilt, wobei jedes Fenster eine vorbestimmte Anzahl von Bits ist. Die externe Testeinrichtung erzeugt eine Signatur für jedes Fenster und vergleicht die erzeugte Signatur für jedes Fenster mit einer erwarteten Signatur für ein solches Fenster. Wenn ein Fehler erfaßt wird (d. h. eine erzeugte Signatur für ein Fenster nicht mit der erwarteten Signatur für ein solches Fenster übereinstimmt), dann können die Informationen, die sich auf zumindest das Defekte der Fenster beziehen, an ein Fehlerabbildungsprotokoll geschrieben werden. Die tatsächlich empfangenen Ausgabedaten für ein defektes Fenster können beispielsweise an ein Fehlerabbildungsprotokoll geschrieben werden.
- Gemäß einem Ausführungsbeispiel der vorliegenden Erfindung weist ein Off-Chip-Testsystem (Off-Chip = außerhalb des Chipelements) eine Einrichtung zum Eingeben von Testdaten in ein Testchipelement und eine Einrichtung zum Empfangen von Ausgabedaten von dem Testchipelement ansprechend auf die Eingabetestdaten auf. Das Off-Chip-Testsystem weist ferner eine Einrichtung zum Erzeugen einer Signatur für zumindest einen Abschnitt der empfangenen Ausgabedaten und eine Einrichtung zum Vergleichen der erzeugten Signatur mit einer erwarteten Signatur auf. Das Off-Chip-Testsystem weist ferner eine Einrichtung zum Speichern von Informationen an ein Fehlerabbildungsprotokoll auf, wenn die erzeugte Signatur nicht mit der erwarteten Signatur übereinstimmt.
- Gemäß einem weiteren Ausführungsbeispiel der vorliegenden Erfindung weist ein System zum Testen eines Schaltungsaufbaus eine automatisierte Testausrüstung außerhalb des Schaltungsaufbaus auf, die zumindest vorübergehend mit ei nem solchen Schaltungsaufbau gekoppelt ist. Die automatisierte Testausrüstung weist eine kommunikative Schnittstelle zum Eingeben von Testdaten in den Schaltungsaufbau, eine kommunikative Schnittstelle zum Empfangen von Ausgabedaten von dem Schaltungsaufbau ansprechend auf die Eingabetestdaten und eine Logik auf, die zum Erzeugen einer Signatur für zumindest einen Abschnitt der empfangenen Ausgabedaten betreibbar ist. Die automatisierte Testausrüstung weist ferner eine Vergleichslogik zum Vergleichen einer erzeugten Signatur mit einer erwarteten Signatur und eine Logik zum Speichern von Informationen an ein Fehlerabbildungsprotokoll auf, wenn eine erzeugte Signatur mit einer erwarteten Signatur nicht übereinstimmt.
- Gemäß einem weiteren Ausführungsbeispiel der vorliegenden Erfindung weist ein Verfahren zum Testen eines Schaltungsaufbaus ein Eingeben von Testdaten in den Testschaltungsaufbau und ein Empfangen, an einem externen Testbauelement, von Ausgabedaten von dem Testschaltungsaufbau ansprechend auf die Eingabetestdaten auf. Das Verfahren weist ferner ein Erzeugen, an dem externen Testbauelement, einer Signatur für zumindest einen Abschnitt der empfangenen Ausgabedaten und ein Vergleichen der erzeugten Signatur mit einer erwarteten Signatur auf, um zu bestimmen, ob der Testschaltungsaufbau wie erwartet funktioniert. Wenn die erzeugte Signatur mit der erwarteten Signatur nicht übereinstimmt, werden die Informationen an ein Fehlerabbildungsprotokoll gespeichert, wobei eine weitere Interaktion mit dem Testschaltungsaufbau nicht erforderlich ist, nachdem bestimmt worden ist, daß die erzeugte Signatur nicht mit der erwarteten Signatur übereinstimmt, um die Informationen zum Speichern solcher Informationen an das Fehlerabbildungsprotokoll zu erfassen.
- Im vorstehenden wurden die Merkmale und technischen Vorteile der vorliegenden Erfindung eher breit umrissen, damit die ausführliche Beschreibung der Erfindung, die nun folgt, besser verständlich ist. Zusätzliche Merkmale und Vorteile der Erfindung werden nachstehend beschrieben, die einen Teil des Gegenstands der Ansprüche der Erfindung bilden. Fachleute werden darauf hingewiesen, daß die Konzeption und die spezifischen Ausführungsbeispiele, die offenbart sind, ohne weiteres als eine Grundlage zum Modifizieren oder Entwerfen anderer Aufbauten zum Ausführen der gleichen Zwecke der vorliegenden Erfindung verwendet werden können. Fachleute werden ebenfalls darauf hingewiesen, daß solche äquivalente Konstruktionen nicht vom Schutzbereich der Erfindung, der in den angehängten Ansprüchen angeführt ist, abweichen. Die neuartigen Merkmale, die für die Erfindung sowohl in Bezug auf ihre Organisation als auch ihr Betriebsverfahren angeblich charakteristisch sein sollen, werden zusammen mit weiteren Aufgaben und Vorteilen anhand der folgenden Beschreibung besser verständlich, wenn dieselben in Verbindung mit den beigefügten Zeichnungen berücksichtigt werden. Es wird jedoch ausdrücklich darauf hingewiesen, daß die Zeichnungen jeweils ausschließlich zu Darstellungs- und Beschreibungszwecken vorgesehen sind und nicht als eine Definition von Einschränkungen der vorliegenden Erfindungen auszulegen sind.
- Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachstehend, Bezug nehmend auf die beiliegenden Zeichnungen näher erläutert. Es zeigen:
-
1A ein Blockdiagramm eines herkömmlichen Testsystems, -
1B einen beispielhaften Betriebsfluß des herkömmlichen Testsystems von1A , -
2 ein beispielhaftes Blockdiagramm eines bekannten Testsystems, das eine Signaturanalyse verwendet, -
3A ein beispielhaftes Blockdiagramm eines Testsystems eines bevorzugten Ausführungsbeispiels der vorliegenden Erfindung, -
3B einen beispielhaften Betriebsfluß eines Testsystems eines bevorzugten Ausführungsbeispiels der vorliegenden Erfindung, -
4 ein beispielhaftes Flußdiagramm, das darstellt, wie erwartete Fenstersignaturen bei einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung erzeugt werden, -
5 ein beispielhaftes Flußdiagramm, das einen Betriebsfluß eines Testverfahrens gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung darstellt, -
6 ein beispielhaftes Betriebsflußdiagramm von einem Ausführungsbeispiel der vorliegenden Erfindung, bei dem ein Erfassen von Fehlerinformationen nach einem Erfassen einer vorbestimmten Zielanzahl von defekten Fenstern für ein Testobjekt beginnt, -
7 ein beispielhaftes Computersystem, das zum Erzeugen von erwarteten Signaturen verwendet werden kann, um durch eine Testeinrichtung verwendet zu werden, und -
8 ein Blockdiagramm einer exemplarischen Testeinrichtung, die angepaßt sein kann, um Ausführungsbeispiele der vorliegenden Erfindung zu implementieren. - Wie vorstehend beschrieben, empfängt das DUT (oder der CUT) bei einem typischen Halbleitertesten einen Satz von eingegebenen Stimuli von einer ATE, die außerhalb des DUT angeordnet ist, woraufhin die ATE die DUT-Ausgaben beobachtet. Allgemein werden die korrekten erwarteten Ausgaben des DUT in dem ATE-Speicher gespeichert, und das ATE vergleicht alle Ausgabebits, die von dem DUT empfangen wurden, mit den gespeicherten erwarteten Bitwerten, um zu bestimmen, ob das DUT ordnungsgemäß funktioniert (z. B. ob das DUT die erwarteten Ausgabewerte ansprechend auf die Eingabewerte erzeugt);
Im Falle eines Testens auf Waferebene kann eine Sonde mit einer oder mehreren Verbindungsanschlußflächen eines Chips in Kontakt gebracht werden, um Signale (z. B. ein Testmuster) an den Chip zu kommunizieren und um die Signale, die durch den Chip ansprechend auf die Eingabesignale ausgegeben werden, zu empfangen. Die Sonde ist typischerweise mit einer externen ATE kommunikativ gekoppelt, die betreibbar ist, um die Signale zu erzeugen, die in einen Chip eingegeben werden sollen, und um die Signale, die durch den Chip ausgegeben werden, auszuwerten, um zu bestimmen, ob der Chip ordnungsgemäß funktioniert. - Ein Beispiel dieses herkömmlichen Lösungsansatzes ist in
1A bis1B dargestellt.1A zeigt ein Blockdiagramm eines herkömmlichen Testsystems100 , das einer ATE101 aufweist, die mit der Sonde111 kommunikativ gekoppelt ist. Wie ferner nachstehend beschrieben ist, kann die Sonde111 verwendet werden, um Eingabedaten an ein oder mehrere DUTs, wie z. B. ein DUT113 auf dem Wafer112 , zu kommunizieren und um Ausgabedaten von solchen DUTs zu empfangen. Wie gezeigt ist, ist die Datenspeicherung106 mit der ATE101 kommunikativ gekoppelt und speichert Informationen, die zum Ausführen des Testens des DUT113 erforderlich sind, wie z.B. Eingabevektordaten109 , Ausgabevektordaten (oder „erwartete Rohdaten")107 und Maskenvektordaten110 für den Test. Ferner können die Fehlerabbildungsdaten108 innerhalb der Datenspeicherung106 , wie nachstehend weiter beschrieben ist, gespeichert werden. Die Datenspeicherung106 ist typischerweise als interner Speicher der ATE101 implementiert, kann jedoch bei bestimmten Implementierungen als ein externes Datenspeicherungsmedium implementiert sein, das mit der ATE101 kommunikativ gekoppelt ist. Wie ferner gezeigt ist, weist die ATE101 eine Logik102 zum Erzeugen von Eingabetestdaten (z. B. Eingabetestmustern), die in das DUT113 eingegeben werden sollen, eine Logik103 zum Empfangen von Rohausgabedaten vom DUT113 ansprechend auf die Eingabetestdaten, eine Logik114 zum Maskieren von nicht deterministischen Bits der empfangenen Rohausgabedaten, eine Logik104 , die betreibbar ist, um die empfangenen, nicht maskierten Rohausgabedaten mit den erwarteten Rohdaten107 zu vergleichen, und eine Logik105 zum Erzeugen einer Fehlerabbildung108 für die nicht bestandenen Tests, auf. Jede Logik102 ,103 ,114 ,104 und105 der ATE101 kann eine Software und/oder Hardware zum Ausführen ihrer jeweiligen Aufgaben aufweisen. - Während des Betriebs wird die Sonde
111 typischerweise mit entsprechenden Zugriffsanschlußflächen zum Testen von einem oder mehreren DUTs, wie z. B. dem DUT113 , in Kontakt gebracht. Die Sonde111 wird beispielsweise mit den entsprechenden Anschlußflächen zum Eingeben von Testsignalen in das DUT113 und zum Empfangen von Ausgabesignalen vom DUT113 in Kontakt gebracht. Die Logik102 der ATE101 wird dann verwendet, um Eingabetestdaten an das DUT113 zu kommunizieren. Solche Eingabetestdaten können beispielsweise ein Muster von Eingabesignalen aufweisen, die konzipiert sind, um das Ansprechvermögen des DUT113 mit verschiedenen unterschiedlichen Eingabestimuli zu testen. Anschließend empfängt die Logik103 der ATE101 die Ausgabedaten, die durch DUT das113 ansprechend auf die Testeingabedaten erzeugt wurden. Die Logik114 wird verwendet, um die nicht deterministischen Bits der empfangenen Rohausgabedaten zu maskieren und eine Logik104 wird verwendet, um die nichtmaskierten Rohausgabedaten, die vom DUT113 empfangen werden, mit den erwarteten Rohdaten107 , die in der Datenspeicherung106 gespeichert sind, zu vergleichen. Somit wird bestimmt, ob die Ausgabedaten, die durch das DUT113 ansprechend auf die Eingabedaten erzeugt werden, wie erwartet ausfallen. Wenn bestimmt wird, daß die Ausgabedaten, die vom DUT113 empfangen werden, ansprechend auf die Eingabedaten nicht wie erwartet ausfallen (d. h. die empfangenen nichtmaskierten Ausgabedaten stimmen nicht mit den erwarteten Ausgabedaten107 überein), dann kann die Logik105 Informationen in der Fehlerabbildung108 über diesen nicht bestandenen Test erzeugen. Solche Fehlerabbildungsinformationen können beispielsweise ein Fehlerprotokoll der erwarteten Ausgabesignale und tatsächlichen empfangenen Ausgabesignale aufweisen. Dieser Prozeß kann für eine beliebige Anzahl von Eingabetestmustern wiederholt werden, die zum Testen des DUT113 erzeugt werden. -
1B zeigt einen beispielhaften Betriebsfluß des herkömmlichen Testsystems100 von1A . Wie bei Betriebsblock121 gezeigt ist, wird bestimmt, ob ein nächstes Ausgabebit vom DUT113 ansprechend auf spezielle Eingabetestdaten verfügbar ist. Das heißt, daß die Eingabeteststimuli (z. B. ein Testmuster) in das DUT113 eingegeben werden und bestimmt wird, ob alle Ausgabebits vom DUT113 ansprechend auf solche Eingabeteststimuli bei der ATE101 empfangen werden. Wenn keine weiteren Ausgabebits vom DUT113 erwartet werden, dann wird bei Block122 bestimmt, daß das Testen beendet ist. Wenn jedoch bestimmt wird, daß ein Ausgabebit vom DUT113 ansprechend auf eingegebenes Eingabetestmuster empfangen worden ist, dann rückt der Betrieb in der ATE101 zu Betriebsblock123 vor, wo ein „bedeutungsloses" Bit (oder ein „nichtdeterministisches" Bit) maskiert werden kann. Bestimmte Ausgabebits können beispielweise ein nichtdeterministisches Verhalten aufweisen (z. B. können sie nicht anzeigen, ob das DUT113 ansprechend auf das Eingabemuster ordnungsgemäß funktioniert), und solche Bits, deren Wert für den Test bedeutungslos ist, können anhand der empfangenen Ausgabedaten maskiert (oder gefiltert) werden. Somit kann das empfangene Bit bei Betriebsblock123 maskiert werden. - Wenn das empfangene Ausgabebit anschließend bei Block
123 nicht maskiert wird, dann vergleicht die ATE101 bei Betriebsblock124 das empfangene Ausgabebit mit dem erwarteten Ausgabebit107 , um zu bestimmen, ob ein solches Ausga bebit mit dem erwarteten Bit107 übereinstimmt. Wenn das empfangene Ausgabebit mit dem erwarteten Ausgabebit107 übereinstimmt, dann wird bestimmt, daß das DUT113 diesen Test bei Block125 besteht, und die Operation kann zu Block121 zurückkehren, um ein weiteres Testen (z. B. Empfangen von weiteren Ausgabebits vom DUT113 ) auszuführen. Wenn jedoch das empfangene Ausgabebit nicht mit dem erwarteten Ausgabebit107 übereinstimmt, dann wird bestimmt, daß das DUT113 diesen Test nicht besteht, und Informationen über ein solches Nichtbestehen (z. B. die Adresse und/oder die empfangenen Ausgabedaten vom DUT113 ) können an die Fehlerabbildung108 gespeichert werden, die später bei der Fehlerbereinigung des DUT113 verwendet werden kann, um den Grund zu bestimmen, warum es diesen Test nicht bestand. - Angesichts des vorstehenden speichern die herkömmlichen Testverfahren allgemein alle erwarteten Ausgabebits für verschiedene unterschiedliche Eingabetestmuster als die Ausgabevektordaten
107 in der Datenspeicherung106 für die ATE101 . Das Speichern aller solcher erwarteten Ausgabebits führt zu extrem hohen ATE-Speicheranforderungen. Ferner wird mit Weiterentwicklung der Technik erwartet, daß das erforderliche Ausgabevektordatenvolumen mit dem Skalieren einer Halbleitertechnologie steil ansteigt. Daher erwartet man für die Zukunft, daß sich das Problem verschlimmert. - Infolgedessen sind bestimmte Lösungen im Stand der Technik vorgeschlagen worden, um zu versuchen, die ATE-Speicheranforderung zum Speichern solcher Ausgabevektordaten zu reduzieren. Wie vorstehend erwähnt, wird bei einer vorgeschlagenen Lösung ein Abschnitt der Ausgabevektordaten einfach abgeschnitten, weil die ATE nicht in der Lage ist, die hohen Speicheranforderungen zu erfüllen. Wie vorstehend beschrieben, führt ein solches Abschneiden zu einer Verringerung der Testabdeckung, die zu einer geringeren Produktqualität führen kann.
- Eine weitere Lösung umfaßt ein Verwenden einer Signaturanalyse, um die Ausgabevektordaten zu komprimieren. Wie vorstehend beschrieben, ist die Signaturanalyse ein hinreichend bekanntes Verfahren zum Komprimieren einer Sequenz von logischen Werten, die von einer Testschaltung ausgegeben werden, in eine relativ geringe Anzahl von Datenbits (Signatur). Im Stand der Technik sind verschiedene Verfahren zum Erzeugen einer Signatur für Ausgabedaten hinreichend bekannt. Typischerweise ist ein hinreichend bekannter SISR- oder MISR-Schaltungsaufbau auf einem Chip implementiert, um eine Signatur für die Ausgabewerte des Chipelements ansprechend auf ein Eingabetestmuster zu erzeugen. Bei bestimmten Implementierungen kann ein hinreichend bekannter Zellular-Automata-Schaltungsaufbau auf dem Chip implementiert sein, um eine Signatur für die Ausgabewerte des Chipelements ansprechend auf ein Eingabetestmuster zu erzeugen. Weil verschiedene Implementierungen des Zellular-Automata-Schaltungsaufbaus zum Erzeugen einer Signatur in der Technik hinreichend bekannt sind, wird ein solcher Zellular-Automata hierin nicht weiter beschrieben.
- Unter Bezugnahme auf
2 ist ein beispielhaftes Blockdiagramm eines bekannten Testsystems200 gezeigt, das eine Signaturanalyse verwendet. Das Testsystem200 weist eine ATE201 auf, die mit einer Sonde211 kommunikativ gekoppelt ist. Wie nachstehend weiter beschrieben ist, kann die Sonde211 verwendet werden, um Eingabedaten an ein oder mehrere DUTs zu kommunizieren, wie z. B. ein DUT213 auf einem Wafer212 , und um Ausgabedaten von solchen DUTs zu empfangen. Bei dieser Testlösung ist ein Signaturerzeugungsschaltungsaufbau214 (z. B. SISR, MISR oder Zellular-Automata) im DUT213 umfaßt, der betreibbar ist, um eine Signatur von Ausgabewerten zu erzeugen, die durch das DUT213 ansprechend auf die Eingabetestwerte erzeugt werden. Wie gezeigt, ist die Datenspeicherung206 mit der ATE210 kommunikativ gekoppelt und speichert Informationen, die zum Ausführen des Testens des DUT213 notwendig sind, z. B. Eingabevektordaten208 und erwartete Signaturen207 . Wie ferner gezeigt ist, weist die ATE201 eine Logik202 zum Erzeugen von Eingabetestdaten, die in das DUT213 eingegeben werden sollen, eine Logik203 zum Empfangen einer Signatur (die durch den Schaltungsaufbau214 erzeugt wird) vom DUT213 ansprechend auf die Eingabetestdaten und eine Logik214 , die betreibbar ist, um die empfangende Signatur mit der erwarteten Signatur207 zu vergleichen, auf. - Während des Betriebs wird die Sonde
211 typischerweise mit den entsprechenden Zugriffsanschlußflächen zum Testen von einem oder mehreren DUTs, z. B. dem DUT213 , in Kontakt gebracht. Die Sonde211 wird beispielsweise mit den entsprechenden Anschlußflächen zum Eingeben von Testsignalen in das DUT213 und zum Empfangen von Ausgabesignalen vom DUT213 in Kontakt gebracht. Die Logik202 der ATE201 wird dann verwendet, um Eingabetestdaten an das DUT213 zu kommunizieren. Solche Eingabetestdaten können beispielsweise ein Muster von Eingabesignalen aufweisen, die konzipiert sind, um das Ansprechvermögen des DUT213 auf verschiedene unterschiedliche Eingabeanstimuli zu testen. Anschließend erzeugt die Signaturerzeugungslogik214 des DUT213 eine Signatur für die Ausgabewerte des DUT213 ansprechend auf die Eingabetestsignale. Die Logik203 der ATE201 empfängt die erzeugte Signatur vom DUT213 , und die Logik204 wird verwendet, um die empfangene Signatur mit der erwarteten Signatur207 , die in der Datenspeicherung206 gespeichert ist, zu vergleichen. Somit wird bestimmt, ob die erzeugte Signatur, die vom DUT213 ansprechend auf die Eingabetestdaten empfangen wurde, wie erwartet ausfällt. Dieser Prozeß kann für eine beliebige Anzahl von Eingabetestmustern, die zum Testen des DUT213 erzeugt werden, wiederholt werden. - Es wird darauf hingewiesen, daß, weil eine Signatur eine komprimierte Identifizierung der Ausgabebits ist, die Speicherplatzmenge, die auf einer ATE
201 zum Speichern der Ausgabevektordaten (erwarteten Signaturen207 ) erforderlich ist, weit unter die Menge reduziert werden kann, die für ein Speichern aller tatsächlich erwarteten Ausgabebits er forderlich ist (wie bei dem herkömmlichen System100 von1A ). Somit können die erwarteten Signaturen207 weniger Speicherplatz innerhalb der Datenspeicherung 206 zum Implementieren eines gegebenen Testverfahrens verbrauchen als durch herkömmliche Testlösungen verbraucht werden würde, bei denen alle erwarteten Bits gespeichert werden (z.B. erwartete Rohdaten107 in dem Beispiel von1A ), Ferner wird eine Testabdeckung wie im Fall des Abschneidens nicht verringert, weil eine Signatur einen ganzen Satz von Ausgabebits, die analysiert werden sollen (z. B. den gesamten Ausgabevektor) eindeutig identifizieren kann. - Wie vorstehend beschrieben, weisen Signaturanalyseverfahren des Stands der Technik jedoch mehrere Nachteile auf. Solche Verfahren umfassen beispielsweise einen Schaltungsaufbau auf einem Chip (z. B. Schaltungsaufbau
214 ) zum Erzeugen einer Signatur der Ausgabedaten des Chipelements während des Testens. Ein solcher Signaturerzeugungsschaltungsaufbau verbraucht eine Fläche auf dem Chip, wodurch die Gesamtgröße des Chipelements erhöht wird (oder die Menge des Schaltungsaufbaus, der ansonsten im Chipelement umfaßt sein kann, verringert wird) und das Verhalten des Chipelements potentiell behindert wird. Ferner ermöglicht eine solches Auf-Chip-Signaturerzeugungsverfahren typischerweise keine Diagnose von Fehlern (z. B. Bestimmen der spezifischen Ausgabebits, die nicht korrekt sind) an der ATE. Somit wird darauf hingewiesen, daß eine Fehlerabbildung bei diesem Beispiel nicht konstruiert ist, wie sie im Beispiel von1A konstruiert war. Verschiedene weitere Nachteile, die dem Signaturanalyseverfahren des Stands der Technik zugeordnet sind, werden nachstehend beschrieben, und aufgrund dieser Nachteile ist die Verwendung von Signaturanalyseverfahren zum Verringern der ATE-Speicheranforderungen nicht weit verbreitet. Da die Komplexität der DUTs und/oder der Umfang der Testabdeckung angestiegen ist, ist der Wunsch an einer Beibehaltung der Datenspeichermenge, die auf einer ATE zum Implementieren eines Tests erforderlich ist, größer geworden. Dementsprechend ist ein Bedarf an einem verbes serten Testverfahren entstanden, das die Datenspeichermenge, die zum Implementieren eines solchen Testsverfahrens erforderlich ist (z. B. durch Verwendung einer Signaturanalyse), beibehält, jedoch nicht die vorstehend erwähnten Nachteile aufweist. - Wie vorstehend beschrieben, sind für eine Testeinrichtung, die eine Signatur außerhalb des Chips erzeugt, ebenfalls Vorschläge eingereicht worden. Zum Beispiel wird in „Low-Cost Testing of High-Density Logic Components", IEEE Design & Test of Computers, 0740-7475 (April 1990) eine Testeinrichtung vorgeschlagen, die eine Signaturerzeugungslogik umfaßt, die eine Ausgabe von einem DUT empfängt und eine Signatur für eine solche empfangene Ausgabe erzeugt. Eine solche vorgeschlagene Testeinrichtung weist jedoch mehrere Nachteile auf. Die vorgeschlagene Testeinrichtung ermöglicht beispielsweise kein gleichzeitiges Testen und eine Fehlerdiagnose. Ferner ermöglicht die vorgeschlagene Testeinrichtung kein Herausmaskieren von unbekannten Zuständen (z. B. Maskieren von nichtdeterministischen Ausgabebits) beim Erzeugen einer Signatur. Außerdem sind wir uns keiner im Handel erhältlichen ATEs bewußt, die das durch den Artikel „Low-Cost Testing of High-Density Logic Components" vorgeschlagene Verfahren implementieren. Wenn ferner eine ATE gemäß einem solchen Vorschlag implementiert wäre, würde sie kein Maskieren von unbekannten Zuständen ermöglichen, und wenn ein solches Maskieren implementiert wäre, würde dies eine erhebliche Maskendatenmenge erfordern, die an der ATE gespeichert ist (da keine Komprimierung der Maskendaten vorgeschlagen wird).
- Ausführungsbeispiele der vorliegenden Erfindung schaffen eine Testlösung, die die Datenspeichermenge, die an der Testeinrichtung (z. B. der ATE) erforderlich ist, beibehält und auch vorzugsweise den Umfang des Auf-Chip-Schaltungsaufbaus, der für eine solche Testlösung erforderlich ist, minimiert. Spezieller verwenden die Ausführungsbeispiele der vorliegenden Erfindung eine Signaturanalyse, um eine Komprimierung der erwarteten Ausgabedaten zu erreichen. Ferner verwenden Ausführungsbeispiele der vorliegenden Erfindung eine Logik (z. B. Software und/oder Hardware) die außerhalb des DUT angeordnet sind (z. B. außerhalb eines Bauelements auf einem Wafer oder einem gehäusten Bauelement, das getestet wird), um eine Signatur der Ausgabe von einem solchen Bauelement zu erzeugen. Bei einem bevorzugten Ausführungsbeispiel ist die Logik in einer ATE umfaßt, um Rohausgabedaten von einem DUT zu empfangen und um eine Signatur für zumindest einen Abschnitt der empfangenen Rohausgabedaten zu erzeugen (z. B. kann ein Abschnitt der empfangenen Rohausgabedaten bei bestimmten Implementierungen so maskiert sein, daß er beim Erzeugen der Signatur nicht verwendet wird). Am meisten bevorzugt wird, die empfangenen Rohausgabedaten in eine Mehrzahl von „Fenstern" zu unterteilen, wobei jedes Fenster eine bevorzugte Anzahl von Bits ist, und eine Signatur in der ATE für jedes Fenster zu erzeugen und mit einer erwarteten Signatur für ein solches Fenster zu vergleichen, um zu bestimmen, ob das Bauelement wie erwartet funktioniert.
- Bei einem bevorzugten Ausführungsbeispiel kann die Datenspeicherung, die an der ATE erforderlich ist, dahingehend beibehalten werden, daß die erwarteten Signaturen für die Testlösung, im Gegensatz zum Speichern aller erwarteten tatsächlichen Ausgabebits für eine solche Testlösung, in derselben gespeichert werden können. Ferner ist bei einem bevorzugten Ausführungsbeispiel ein Schaltungsaufbau zum Erzeugen einer Signatur der Ausgabe des DUT nicht auf dem DUT umfaßt, wodurch die Fläche, die auf dem DUT zum Implementieren der Testlösung erforderlich ist, minimiert wird. Ein weiterer Vorteil eines bevorzugten Ausführungsbeispiels der vorliegenden Erfindung ist, daß es eine gleichzeitige (oder Einzeldurchgangs-) Fehlerauswertung (z. B. Diagnose-Fehlerbereinigung) ermöglicht. Wenn somit ein Fehler während des Testens erfaßt wird, ist ein zweiter Durchgang zum Eingeben von Daten in das DUT und zum Empfangen von Ausgabedaten von demselben zur Fehlerauswertung nicht erforder lich (z. B. Diagnostizieren des Fehlers zum Bestimmen der spezifischen Ausgabebits, die einen inkorrekten Wert aufweisen). Ferner ermöglicht ein bevorzugtes Ausführungsbeispiel der vorliegenden Erfindung ein Maskieren von empfangenen Ausgabedaten zum Erzeugen einer Signatur. Somit können die nichtdeterministischen Bits der empfangenen Ausgabedaten gemäß den Maskendaten, die auf der ATE gespeichert sind, die die Ausgabebits identifiziert, die für den Test maskiert oder gefiltert werden sollen, maskiert werden. Gemäß bestimmter Ausführungsbeispiele der vorliegenden Erfindung können Komprimierungsverfahren für die Maskendaten verwendet werden, um die Datenspeicherungsanforderungen an der ATE weiter zu verringern. Verschiedene weitere Vorteile der Ausführungsbeispiele der vorliegenden Erfindung werden nachstehend beschrieben.
- Verschiedene Ausführungsbeispiele der vorliegenden Erfindung werden nun unter Bezugnahme auf
3A –3B und4 –8 beschrieben, in denen identische Bezugszeichen identische Teile in verschiedenen Ansichten darstellen. Unter Bezugnahme auf3A –3B wird eine beispielhafte Implementierung eines bevorzugten Ausführungsbeispiels der vorliegenden Erfindung in Verbindung mit derselben beschrieben.3A zeigt ein beispielhaftes Blockdiagramm eines Testsystems300 , das eine Signaturanalyse verwendet, um die Ausgabevektordaten zu komprimieren, um die Menge der Datenspeicherung, die zum Implementieren des Testverfahrens erforderlich ist, beizubehalten. Obgleich viele Beispiele, die hierin (einschließlich des Beispiels von3A ) vorgesehen sind, das Testen eines Bauelements, das sich auf einem Wafer befindet, beschreiben, wird darauf hingewiesen, daß die vorliegende Erfindung in ihrer Anwendung diesbezüglich nicht eingeschränkt ist. Vielmehr können andere DUTs unter Verwendung von Ausführungsbeispielen der vorliegenden Erfindung einschließlich eines DUT, das beispielsweise gehäust worden ist, getestet werden. - Das Testsystem
300 weist eine ATE301 auf, die mit einer Sonde313 kommunikativ gekoppelt ist. Wie nachstehend weiter beschrieben ist, kann die Sonde313 verwendet werden, um Eingabedaten an ein oder mehrere DUTs, wie z. B. das DUT315 auf dem Wafer314 , zu kommunizieren und Ausgabedaten von solchen DUTs zu empfangen. Wie gezeigt ist, ist die Datenspeicherung308 mit der ATE311 kommunikativ gekoppelt und speichert Informationen, die zum Ausführen des Testens des DUT315 notwendig sind, wie z. B. Eingabevektordaten309 , Ausgabesignaturdaten311 und Maskenvektordaten310 für den Test. Ferner können Fehlerabbildungsdaten312 in einer Datenspeicherung308 gespeichert werden, wie nachstehend weiter beschrieben wird. - Wie weiter gezeigt ist, weist die ATE
301 eine Logik302 zum Erzeugen von Eingabetestdaten, die in das DUT315 eingegeben werden sollen, eine Logik303 zum Empfangen von Rohausgabedaten vom DUT315 ansprechend auf die Eingabetest daten, eine Logik304 zum De komprimieren von Maskendaten310 und Maskieren der entsprechenden Bits der empfangenen Ausgabedaten, eine Logik305 zum Erzeugen einer Signatur von zumindest einem Abschnitt der empfangenen Ausgabedaten (z. B. der nicht maskierten Ausgabedaten), die vom DUT315 empfangen werden, eine Logik306 , die betreibbar ist, um die erzeugte Signatur mit der erwarteten Signatur311 zu vergleichen, und eine Logik307 zum Erzeugen einer Fehlerabbildung312 für nicht bestandene Tests auf. Wie nachstehend ausführlicher beschrieben ist, erzeugt die Logik305 vorzugsweise eine Signatur für jedes von einer Mehrzahl von Fenstern der empfangenen Ausgabebits, und jede Fenstersignatur wird mit einer erwarteten Fenstersignatur in der Logik306 verglichen. Jede Logik302 ,303 ,304 ,305 ,306 und307 der ATE306 kann eine Software und/oder Hardware zum Ausführen ihrer jeweiligen Aufgaben aufweisen. - Während des Betriebs eines bevorzugten Ausführungsbeispiels kann die Sonde
313 mit den entsprechenden Zugriffsanschlußflächen zum Testen von ein oder mehreren DUTs, wie z. B. dem DUT315 , in Kontakt gebracht werden. Die Sonde313 kann beispielsweise mit den entsprechenden Kontaktanschlußflächen zum Eingeben von Testsignalen in das DUT315 in Kontakt gebracht werden und Ausgabesignale vom DUT315 empfangen. Die Logik302 der ATE301 wird dann verwendet, um Eingabetestdaten an das DUT315 zu kommunizieren. Solche Eingabetestdaten können beispielsweise ein. Muster von Eingabesignalen aufweisen, die entworfen sind, um das Ansprechvermögen des DUT315 auf verschiedene unterschiedliche Eingabestimuli zu testen. Anschließend empfängt die Logik303 der ATE301 die Rohausgabedaten, die durch das DUT315 ansprechend auf die Eingabetestdaten erzeugt werden. Somit ist die ATE301 mit dem DUT315 (z. B. über die Sonde313 ) kommunikativ schnittstellenmäßig verbunden, um die Testdaten in das DUT315 einzugeben und Rohausgabedaten vom DUT315 zu empfangen. - Die Logik
304 der ATE301 kann umfaßt sein, um bestimmte empfangene Ausgabebits (z. B. nichtdeterministische Bits) zu maskieren, damit diese beim Erzeugen einer Signatur nicht verwendet werden. Wie nachstehend beschrieben, sind die Maskendaten310 vorzugsweise komprimiert, und die Logik304 ist daher betreibbar, um die Maskendaten310 zu dekomprimieren und solche Maskendaten310 beim Maskieren der entsprechenden empfangenen Ausgabebits zu verwenden. Die Logik305 der ATE301 erzeugt eine Signatur für zumindest einen Abschnitt der empfangenen Ausgabewerte (z. B. die nichtmaskierten Ausgabebits) vom DUT315 . Wie vorstehend erwähnt, können die empfangenen Ausgabedaten bei bestimmten Ausführungsbeispielen in Fenstern organisiert sein, und die Logik305 kann eine Signatur für jedes Fenster von Bits erzeugen. Die Logik306 wird dann verwendet, um die erzeugte Signatur mit der erwarteten Signatur311 , die in der Datenspeicherung308 gespeichert ist, zu vergleichen. Vorzugsweise wird wiederum eine Signatur eines Fensters der empfangenen Ausgabebits mit einer erwarteten Signatur für ein solches Fenster von Bits verglichen. Somit wird bestimmt, ob die erzeugte Signatur für die Ausgabedaten, die vom DUT315 ansprechend auf die Eingabetestdaten empfangen werden, wie erwartet ausfällt. Wenn bestimmt wird, daß die erzeugte Signatur (z. B. Fenstersignatur) ansprechend auf die Eingabedaten nicht wie erwartet ausfällt (d. h. die erzeugte Signatur für ein Fenster von Bits stimmt nicht mit der erwarteten Signatur311 überein), dann kann die Logik307 Informationen in der Fehlerabbildung312 über diesen nicht bestandenen Test erzeugen. Solche Fehlerabbildungsinformationen können solche Informationen als eine Identifizierung der Fensteranzahl, die nicht bestand, und ein Fehlerprotokoll der erwarteten Daten und tatsächlich empfangenen Daten (z. B. tatsächlich empfangene Rohausgabebits) für das defekte Fenster aufweisen. Es wird darauf hingewiesen, daß diese Fehlerauswertung gleichzeitig mit dem Testen des DUT315 ausgeführt werden kann. Das heißt, sobald ein Fehler erfaßt wird (z. B. durch die Logik306 , die erfaßt, daß eine erzeugte Signatur nicht mit einer erwarteten Signatur übereinstimmt), muß die ATE201 nicht erneut auf das DUT315 zum Auswerten (z. B. Diagnostizieren und/oder Fehlerbereinigen) des erfaßten Fehlers zugreifen, sondern vielmehr können die Rohausgabedaten, die durch die ATE201 während des Testens empfangen werden (was zur Erzeugung einer fehlerbehafteten Signatur führte), zur Auswertung verwendet werden (z. B. in ein Fehlerabbildungsprotokoll gespeichert werden). Dieser Prozeß kann für eine beliebige Anzahl von Eingabetestmustern, die zum Testen des DUT315 erzeugt werden, wiederholt werden. -
3B zeigt einen beispielhaften Betriebsfluß des Testystems300 von3A . Es wird darauf hingewiesen, daß, obgleich3B ein Beispiel des allgemeinen Betriebs des Systems300 zeigt, ein solcher Betriebsfluß allgemein bitweise implementiert sein kann. Bei Betriebsblock322 wird beispielsweise ein Bit von Ausgabedaten empfangen, und der Betrieb rückt für ein solches Bit bitweise ähnlich jenem vor, wie zuvor in Verbindung mit1B beschrieben. Obwohl das Beispiel von3B nicht speziell als bitweise Operation gezeigt ist, sieht es ein Beispiel des allgemeinen Betriebs von System300 vor. - Wie gezeigt ist, werden bei Betriebsblock
321 die Testdaten von einem Off-Chip-Testeinrichtung (z. B. von der ATE301 ) in das DUT315 eingegeben. Bei Betriebsblock322 empfängt die Off-Chip-Testeinrichtung Ausgabedaten vom DUT315 , die ansprechend auf die Eingabetestdaten ausgegeben werden. Bei Betriebsblock323 kann ein bestimmter Abschnitt der empfangenen Ausgabedaten (z. B. bestimmte Bits) durch die Off-Chip-Testeinrichtung maskiert werden (durch Maskieren der Logik304 ), wie nachstehend hierin weiter beschrieben wird. Bestimmte Bits der empfangenen Ausgabedaten können beispielsweise nichtdeterministisch sein (z. B. können sie nicht anzeigen, ob das DUT315 ansprechend auf das Eingabemuster ordnungsgemäß funktioniert), solche Bits können (z.B. aufgrund des Vorliegens von mehreren Taktbereichen, Teilabtastlösungsansätzen oder Tristate-Bussen) maskiert werden, um eine Verfälschung der Signatur zu verhindern. Für einen bestimmten Abschnitt des Tests ignoriert zusätzlich der Benutzer typischerweise die Ausgaben (z. B. weil der Test Defekte abdeckt, die selten oder während der Diagnose/Fehlerbereinigung vorkommen). Diese Bits können ebenfalls von den empfangenen Ausgabedaten bei Betriebsblock323 maskiert (oder gefiltert) werden. Wie nachstehend weiter beschrieben, werden die Maskendaten310 vorzugsweise komprimiert, und somit kann der Betriebsblock323 ein Dekomprimieren solcher Maskendaten310 und Verwenden der Maskendaten zum Herausmaskieren der entsprechenden empfangenen Ausgabebits aufweisen. - Bei Betriebsblock
324 werden diese Ausgabebits, die in Block323 nicht maskiert worden sind, durch die Off-Chip-Testeinrichtung zum Erzeugen einer Signatur verwendet. Vorzugsweise werden die Ausgabebits in Fenster unterteilt, so daß die nicht maskierten Bits eines Fensters bei Betriebsblock324 in eine Signatur eines solchen Fensters komprimiert werden. Anschließend vergleicht die Off-Chip- Testeinrichtung bei Betriebsblock325 die erzeugte Signatur mit einer gespeicherten erwarteten Signatur (z. B. der erwarteten Signatur311 , die in der Datenspeicherung308 gespeichert ist), um zu bestimmen, ob die erzeugte Signatur mit der erwarteten Signatur übereinstimmt. Wenn bestimmt wird, daß die erzeugte Signatur mit der erwarteten Signatur übereinstimmt, dann wird bei Betriebsblock326 bestimmt, daß die Ausgabe des DUT315 diesen Test besteht, und der Betrieb kann zu Block321 zurückkehren, um ein weiteres Testen auszuführen (z. B. Eingeben weiterer Testmuster in das DUT312 ). Wenn jedoch die erzeugte Signatur nicht mit der erwarteten Signatur übereinstimmt, dann wird bestimmt, daß das DUT315 diesen Test nicht besteht, und die Informationen über ein derartiges Nichtbestehen können an die Fehlerabbildung312 gespeichert werden, die bei der Fehlerauswertung verwendet werden kann (z.B. Fehlerbereinigung des DUT315 , um den Grund, warum es diesen Test nicht bestand, zu bestimmen). Wenn spezieller eine Fenstersignatur nicht mit einer erwarteten Fenstersignatur übereinstimmt, dann können die tatsächlich empfangenen Rohausgabedaten von einem solchen Fenster in die Fehlerabbildung312 zur Fehlerauswertung gespeichert werden (z. B. Diagnostizieren eines solchen Fehlers zum Bestimmen, welche spezifischen Bits inkorrekte Werte aufwiesen). Somit werden Daten für die defekten Fenster Fenster-1 bis Fenster-M (wobei M kleiner als oder gleich N ist) in die Fehlerabbildungsdaten312 gespeichert. Dementsprechend werden für N Fenster der erwarteten Signatur311 die Daten für die defekten M Fenster, die typischerweise kleiner als die Anzahl N sind (und somit Speicheranforderungen der Fehlerabbildungsdaten312 beibehalten), in die Fehlerabbildungsdaten312 gespeichert. Es wird darauf hingewiesen, daß, weil die tatsächlichen Rohausgabedaten durch die Off-Chip-Testeinrichtung empfangen werden, eine solche Fehlerauswertung gleichzeitig mit dem Testen des DUT ausgeführt werden kann. Das heißt, daß ein weiterer Durchgang durch das DUT (z. B. Eingeben von Informationen und/oder Empfangen einer Ausgabe) nicht erforderlich ist, nachdem ein Fehler erfaßt wurde, sondern stattdessen, wenn die erzeugte Signatur für ein Fenster von Ausgabebits mit einer erwarteten Signatur für dieses Fenster nicht übereinstimmt, die tatsächlichen Ausgabebits des defekten Fensters in einer Fehlerabbildung zur Auswertung des Fehlers gespeichert werden können, ohne eine weitere Interaktion mit dem DUT (z. B. für den Zweck einer Ausbeutemitteilung) zu erfordern. - Es wird darauf hingewiesen, daß, weil eine Signatur eine komprimierte Identifizierung einer Gruppe (z. B. eines Fensters) von Ausgabebits ist, die Menge des Speicherplatzes, der bei der Datenspeicherung
308 zum Speichern der Ausgabevektordaten (erwarteten Signaturen311 ) erforderlich ist, weit unter die Menge reduziert werden kann, die zum Speichern aller tatsächlichen erwarteten Ausgabebits erforderlich ist (wie in dem herkömmlichen System100 von1A ). Somit können die erwarteten Signaturen311 weniger Speicherplatz innerhalb der Datenspeicherung308 zum Implementieren eines gegebenen Testverfahrens erfordern als ansonsten durch herkömmliche Testlösungen, bei denen alle erwarteten Bits gespeichert werden (z. B. die erwarteten Rohdaten107 in dem Beispiel von1A ), verbraucht werden würde. Weil ferner eine Signatur einen ganzen Satz von Ausgabebits, die analysiert werden sollen, (z. B. den gesamten Ausgabevektor) identifizieren kann, wird die Testabdeckung nicht verringert, wie dies beim Abschneiden der Fall ist. Somit kann die Menge der Datenspeicherung, die zum Speichern der Ausgabevektordaten für einen Test erforderlich ist, minimiert werden, ohne bezüglich der Qualität des Testens Abstriche machen zu müssen. Zusätzlich können durch Implementieren der Signaturerzeugungslogik außerhalb des Testbauelements (z. B. außerhalb eines Chips auf einem Wafer oder eines gehäusten Bauelements, das getestet wird) viele der vorstehend beschriebenen Nachteile der bekannten Signaturanalysetechniken (die auf einem Chip implementiert sind) überwunden werden. Eine zusätzliche Fläche ist beispielsweise innerhalb des Testchips nicht erforderlich, um einen Signaturerzeugungsschaltungsaufbau zu implementieren. - Ferner kann die Diagnose von Fehlern, wie vorstehend beschrieben, gleichzeitig mit dem Testen ausgeführt werden. Auch ermöglicht ein bevorzugtes Ausführungsbeispiel ein Maskieren von bestimmten empfangenen Ausgabebits (z. B. nichtdeterministischen Bits) von der Signaturerzeugung über eine Maskierungslogik
304 . Die Maskierungslogik304 kann Ausgabebits gemäß den Maskendaten310 für einen gegebenen Test ausgeben. Wie nachstehend ausführlicher beschrieben, können bei bestimmten Ausführungsbeispielen die Maskierungsdaten310 ebenfalls komprimiert werden, wodurch die Datenspeicherungsanforderungen der ATE301 weiter reduziert werden. - Wie vorstehend beschrieben, ist die Signaturerzeugungslogik vorzugsweise in der ATE
301 umfaßt, wie in dem Beispiel von3A gezeigt ist, oder in einem anderen Typ von Testeinrichtung, die nun bekannt oder später entwickelt wird, die außerhalb des Wafers314 angeordnet ist, auf dem das DUT315 positioniert ist. Bei alternativen Ausführungsbeispielen kann eine solche Signaturerzeugungslogik beispielsweise in einer beliebigen anderen Off-Chip-Testeinrichtung (d. h. einer Testeinrichtung, die außerhalb des DUT315 angeordnet ist) implementiert sein, die zum Testen des DUT315 verwendet werden kann. Bei bestimmten Ausführungsbeispielen kann beispielsweise eine Testeinrichtung, die außerhalb des DUT315 ist, auf dem Wafer314 zum Ausführen eines Teils oder der gesamten vorstehend beschriebenen Funktionalität der ATE301 umfaßt sein (z. B. Eingeben von Testdaten in das DUT315 , Empfangen von Ausgabedaten vom DUT315 , Erzeugen einer Signatur für die Ausgabedaten, Vergleichen der Signatur mit einer erwarteten Signatur und/oder Erzeugen einer Fehlerabbildung, wenn die Signatur nicht mit der erwarteten Signatur übereinstimmt). - Ein erster Chip, wie z. B. der Chip
316 , der in3A in gestrichelten Linien als betriebsfähig gezeigt ist, des Wafers314 kann beispielsweise zum Testen des Chips315 auf einem solchen Wafer314 implementiert sein. Eine beispiel hafte Konfiguration, die einem Chip eines Wafers ermöglicht, einen weiteren Chip des Wafers zu testen, wird in der mitanhängigen und an die Anmelderin gemeinsam überwiesenen U.S.-Patentanmeldung Seriennummer 10,155,651 mit dem Titel „SYSTEM AND METHOD FOR TESTEING CICUITRY ON A WAFER" weiter beschrieben, deren Offenbarung hiermit durch Bezugnahme aufgenommen worden ist. Bei solchen Konfigurationen kann eine Signaturerzeugungslogik in dem ersten Chip316 zum Erzeugen einer Signatur für die Ausgabe des Chips315 umfaßt sein, wobei die Signaturerzeugungslogik in dem Chip315 , der getestet wird, nicht erforderlich ist. Spezieller kann der Testeinrichtungsschaltungsaufbau316 bei bestimmten Implementierungen Testdaten (z. B. ein Testmuster) in den Chip315 eingeben. Alternativ können die Sonde313 und die ATE301 verwendet werden, um solche Testdaten einzugeben. Der Testeinrichtungsschaltungsaufbau316 kann die Ausgabe von einem DUT315 ansprechend auf die Eingabetestdaten empfangen, und der Testeinrichtungsschaltungsaufbau316 kann eine Signatur für zumindest einen Abschnitt der empfangenen Ausgabedaten erzeugen. Anschließend kann der Testeinrichtungsschaltungsaufbau316 die Signatur mit einer erwarteten Signatur vergleichen, um zu bestimmen, ob das DUT315 ordnungsgemäß funktioniert. Alternativ kann die Signatur, die durch den Schaltungsaufbau316 erzeugt wird, an die ATE301 (z. B. über die Sonde313 ) kommuniziert werden, und die ATE301 kann einen solchen Vergleich der erzeugten Signatur mit einer erwarteten Signatur vornehmen, um zu bestimmen, ob das DUT315 ordnungsgemäß funktioniert. - Ausführungsbeispiele der vorliegenden Erfindung können in einer Kombination mit Maskenvektorkomprimierungs- und/oder Eingabevektorkomprimierungs-Verfahren für einen Test implementiert sein. Das heißt, daß die Ausgabevektordaten
311 nicht nur durch die Verwendung von Signaturen komprimiert werden können, sondern daß auch Eingabevektordaten309 und/oder Maskenvektordaten310 komprimiert werden können. Durch Komprimieren der Ausgabedaten311 , Eingabedaten309 und Maskendaten310 sowie Minimieren der Menge von Fehler abbildungsdaten312 (durch Verwendung von Fenstern) verringerte ein bevorzugtes Ausführungsbeispiel weitgehend die Datenspeicheranforderungen308 der ATE301 zum Implementieren eines Testens eines DUT. - Verschiedene Verfahren können zum Komprimieren der Eingabedaten
309 und Maskendaten310 verwendet werden. Bei bestimmten Ausführungsbeispielen der vorliegenden Erfindung können beispielsweise die Maskendaten (z. B. Maskendaten310 von3A ) in Pakete einer feststehenden Anzahl von Bits kategorisiert werden. Es können zwei unterschiedliche Pakettypen definiert sein: (1) Null-Paket, d. h. Paket aus allen Nullen, und (2) ein deterministisches Paket mit sowohl Einsen als auch Nullen. Die Pakete des ersten Typs (Null-Pakete) können durch ein Steuerungsbit, das die Tatsache bezeichnet, daß es ein Null-Paket ist, ausgetauscht werden. Pakete des deterministischen Typs weisen Steuerungsbits auf, die den Typ zusammen mit dem Originalpaket bezeichnen. Da die Anzahl von Einsen allgemein sehr knapp ist (z. B. können Einsen die Bits bezeichnen, die für einen gegebenen Test maskiert werden sollen), können einige wenige Steuerungsbits viele der Originalbits ersetzen. - Die optimale Paketgröße hängt von der statistischen Verteilung der Einsen ab, d. h. sie variiert bei allen Bauelementen. Anstatt nur zwei unterschiedliche Pakettypen zu verwenden, können bei bestimmten Implementierungen mehr Pakettypen eingeführt werden. Zum Beispiel kann eine Paketgröße für alle Einsen eingeführt werden.
- Der vorstehende Typ einer Maskenkomprimierung kann sehr gut zusammen mit Eingabekomprimierungslösungsansätzen funktionieren, wie jenen, die in der mitanhängigen und an die Anmeldung der vorliegenden Erfindung gemeinsam übertragenen U.S.-Patentanmeldung Seriennummer 09/802,440 mit dem Titel „TEST VECTOR COMPRESSION METHOD", die am 9. März 2001 eingereicht wurde, beschrieben sind, deren Offenbarung hiermit hierin durch Bezugnahme aufgenommen worden ist.
- Da die Anzahl von Einsen im Maskendatensatz allgemein knapp ist, können die Maskendaten unter Verwendung von Lauflängen-Kodierungsverfahren komprimiert werden. Um die Längen zu kodieren, können normale Codewörter einer feststehenden Länge verwendet werden. Die hinreichend bekannten Huffman-Codes können beispielsweise verwendet werden, um kürzer Codewörter an Längen anzubringen, die mit einer höheren Wahrscheinlichkeit eintreten. Die Codes können unter Verwendung eines Huffman-Baums abgeleitet werden. Es kann nur eine begrenzte Anzahl von Längen codiert werden. Andere geeignete Komprimierungscodierverfahren können verwendet werden, die ohne Einschränkung die hinreichend bekannten Alias-γ-, die hinreichend bekannten Alias-λ-, die hinreichend bekannten Fibonacci-Codes, beliebige schwach besetzte Matrixcodes oder andere geeignete Komprimierungsschemata, die nun bekannt oder später entwickelt werden, umfassen, jedoch nicht auf dieselben beschränkt sind.
- Durch Verwendung der hinreichend Golomb-Rice-Codierung können alle Längen direkt codiert werden, während eine einfache Hardwaredecodierungsimplementierung beibehalten wird. Ein Golomb-Rice-Codewort besteht aus einer Verkettung von einem Präfix einer variablen Länge von n Bits und einem Ende einer feststehenden Länge von m Bits (die einen Dezimalswert von q darstellen), wodurch die Gesamtlänge des Codeworts zu n+m-Bits gemacht wird. Der Präfix von n Bits beginnt mit n–1 Nullen, und das letzte Bit ist stets 1 (Notation: 0n –1 1). Auf diese Weise wird das Dekodieren des Präfix (n) nur auf das Zählen der Anzahl von Nullen reduziert. Das Ende ist ein normaler binärer Code feststehender Länge. Der Wert eines Golomb-Rice-Codeworts ist als n·2m + q definiert.
- Tabelle 1 gibt ein Beispiel von acht unterschiedlichen Längen an, die unter Verwendung von Codes einer feststehenden Länge, Huffman-Codes und Golomb-Rice-Codes codiert wurden.
- Fachleute werden auf verschiedene weitere Vorteile der Ausführungsbeispiele der vorliegenden Erfindung hingewiesen.
- Bei herkömmlichen Testverfahren werden alle Bits der erwarteten Ausgabedaten im ATE-Speicher als die Ausgabevektordaten für einen Test, wie z. B. die erwarteten Ausgabedaten
107 , die im Datenspeicher106 von1A gespeichert sind, gespeichert. Bei einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung werden jedoch nur „Fenstersignaturen" (die, wie hierin verwendet, sich auf eine Signatur für ein Fenster von Bits beziehen) in einer Datenspeicherung308 für die Ausgabevektordaten für einen Test gespeichert. In dem Beispiel von3A weisen z. B. die erwarteten Signaturdaten311 eine Mehrzahl von Fenstersignaturen auf, die als Fenster-1, Fenster-2, ..., Fenster-N gezeigt sind. Eine Fenstersignatur ist als eine Signatur basierend auf nur einem Fenster von einer vorbestimmten Anzahl von Bits definiert, d. h. der Fenstergröße. Die Fenstergröße kann während des Tests von unterschiedlichen Bauelementen oder selbst beim Test von einem Bauelement variierbar gestaltet werden. - Man nehme beispielsweise an, daß, ansprechend auf eine Eingabe, ein DUT
10 Bits ausgibt. In diesem Fall können die ersten fünf der Ausgabebits einem ersten Fenster zugewiesen werden, das für ein Erzeugen einer ersten Signatur verwendet wird, und die zweiten fünf der Ausgabebits können einem zweiten Fenster zugewiesen werden, das zum Erzeugen einer zweiten Signatur verwendet wird. Als weiteres Beispiel nehme man an, daß ein Test zehn unterschiedliche Testmuster aufweist, die in einDUT eingegeben werden sollen, und die Ausgabebits von dem DUT (die eine beliebige Anzahl von Ausgabebits aufweisen können) ansprechend auf jedes der zehn unterschiedlichen Testmuster ausgewertet werden können, um zu bestimmen, ob das DUT ordnungsgemäß funktioniert. Bei bestimmten Implementierungen können die Ausgabebits ansprechend auf jedes der zehn unterschiedlichen Eingabetestmuster einem anderen Fenster zugewiesen werden, das zum Erzeugen einer Signatur verwendet wird. Die Ausgabebits von dem DUT können ansprechend auf ein erstes Eingabetestmuster beispielsweise einem ersten Fenster zugewiesen werden, die Ausgabebits von dem DUT ansprechend auf ein zweites Eingabetestmuster können einem zweiten Fenster zugewiesen werden, usw. - Das Unterteilen der empfangenen Ausgabebits in Fenster in dieser Weise bietet bestimmte Vorteile. Zum Beispiel kann es verwendet werden, um eine Beibehaltung der Datenspeicherung zu ermöglichen, die zum Speichern von Fehlerabbildungsdaten
312 erforderlich ist. Nach einem Erfassen eines Fehlers für ein spezielles Fenster (z. B. stimmt die Signatur des Fensters nicht mit der erwarteten Signatur für ein solches Fenster überein), können die Ausgabedatenbits von einem solchen speziellen Fenster beispielweise bei bestimmten Implementierungen, im Gegensatz zum Speichern aller empfangenen Ausgabebits, an die Fehlerabbildung gespeichert werden. Natürlich können bei anderen Implementierungen alle (oder eine beliebige andere gewünschte Menge) der empfangenen Ausgabedaten für DUT an die Fehlerabbildung nach einer Erfassung eines Fehlers gespeichert werden. Ferner können bei bestimmten Implementierungen ein oder mehrere der Fehlerabbildungsdatenfenster in ein externes Speicherbauelement abgeladen werden, das mit der Testeinrichtung301 kommunikativ gekoppelt ist, wodurch ein Teil der Datenspeicherung308 der Testeinrichtung301 von einem Speichern von mehr Fehlerdaten entlastet wird. Durchschnittsfachleute werden auf verschiedene weitere Vorteile der Verwendung der Fenster in der hierin offenbarten Weise hingewiesen. - Unter Bezugnahme auf
4 ist ein beispielhaftes Flußdiagramm gezeigt, das darstellt, wie erwartete Fenstersignaturen, wie z. B. die Fenstersignaturen311 von3A , bei einem bevorzugten Ausführungsbeispiel erzeugt werden. Solche erwarteten Signaturen würden typischerweise auf einem Computer erzeugt, wie z. B. dem beispielhaften Computer von7 , der nachstehend beschrieben wird, und dann auf die ATE301 geladen. Wie gezeigt, bestimmt das Signaturerzeugungsprogramm bei Betriebsblock401 , ob ein nächstes Fenster von erwarteten Ausgabebits für einen gegebenen Test zur Verfügung steht. Solche Ausgabebits können beispielsweise durch Simulation des DUT mit den Eingabetestmustern erzeugt werden. Für einen gegebenen Test für ein spezielles Bauelement, das getestet werden soll, können ein oder mehrere Muster von Eingabetestwerten bereitgestellt werden, und das spezielle Bauelement soll spezielle Ausgabedatenwerte ansprechend auf jedes der Eingabetestmuster erzeugen. Dementsprechend kann der Test in einem gewissen Sinne modelliert werden, um die verschiedenen Ausgabedatenwerte zu bestimmen, die von dem Bauelement ansprechend auf die Eingabetestmuster erwartet werden, wenn das Bauelement ordnungsgemäß funktioniert. - Die erwarteten Ausgabedatenwerte können über eine Mehrzahl von „Fenstern" verteilt werden. Wie vorstehend beschrieben kann ein „Fenster" eine bestimmte vorbestimmte Anzahl von Ausgabebits aufweisen, die bei bestimmten Implementierungen während des Tests von unterschiedlichen Bauelementen oder selbst beim Test von einem Bauelement variabel sein können.
- Verschiedene Fenster von unterschiedlichen Größen können beispielsweise beim Testen eines gegebenen Bauelements verwendet werden. Ferner können Größe und Anzahl von verwendeten Fenstern von einem Bauelementtest zum nächsten variieren. Vorzugsweise kann ein Benutzer die Fenstergröße, die für einen gegebenen Test zu verwenden ist, spezifizieren.
- Somit wird bei Betriebsblock
401 bestimmt, ob alle erwarteten Ausgabebits (ansprechend auf eine Eingabe von Teststimuli), die ein nächstes „Fenster" aufweisen, verfügbar sind. Wenn keine weiteren Fenster von Ausgabedatenbits für den Test zu erwarten sind, dann wird bei Block402 bestimmt, daß die Signaturerzeugung beendet ist (alle notwendigen Fenstersignaturen für den Test erzeugt worden sind). Somit ist der Test bei Block402 bereit, um auf den tatsächlichen Bauelementen ausgeführt zu werden. Wenn jedoch bei Block401 bestimmt wird, daß ein nächstes Fenster von Ausgabebits für die Signaturerzeugung zur Verfügung steht (z. B. erwartete Ausgabebits ansprechend auf ein gegebenes Eingabetestmuster), dann rückt der Betrieb zu Betriebsblock403 vor, bei dem die Signaturerzeugungslogik (z. B. Software und/oder Hardware, wie z. B. SISR, MISR oder Cellular Automata-Logic) so zurückgesetzt wird, daß sie zum Empfangen eines Fensters von Ausgabebits und zum Erzeugen einer Signatur für ein solches Fenster bereit ist. - Bei Betriebsblock
404 können ein oder mehrere „bedeutungslose" Bits des Fensters der Ausgabebits maskiert werden. Zum Beispiel können bestimmte Ausgabebits ein nichtdeterministisches Verhalten aufweisen (z. B. können sie nicht anzeigen, ob ein DUT ansprechend auf das Eingabemuster ordnungsgemäß funktioniert, und führen daher zu einer Signaturverfälschung, wenn sie nicht herausmaskiert werden), und solche Bits, deren Wert für den Test bedeutungslos ist, können vom Fenster der Ausgabedaten maskiert (oder gefiltert) werden. Solche Maskendaten werden vorzugsweise in der Datenspeicherung308 als Maskendaten310 für den erzeugten Test gespeichert, wenn der Test auf die ATE301 geladen wird. Wie vorstehend beschrieben, werden die Maskendaten310 vorzugsweise komprimiert, und somit werden solche Daten dekomprimiert und bei Betriebsblock404 zum Maskieren der entsprechenden Bits verwendet. Dann wird bei Betriebsblock405 ein Modell der Signaturerzeugungslogik305 der ATE301 verwendet, um eine Signatur für die verbleibenden (nicht maskierten) Ausgabebits des Fensters zu erzeugen. Bei bestimmten Ausführungsbeispielen kann beispielsweise ein Modell von einer Signaturerzeugungslogik305 ein SISR, MISR oder Cellular Automata (als Hardware und/oder Software) implementieren, und ein solches SISR, MISR oder Cellular Automata kann eine Signatur für die nichtmaskierten erwarteten Ausgabebits eines Fensters akkumulieren (erzeugen). Somit erzeugt die Signaturerzeugungslogik304 ein erwartetes Signaturfenster, das für den entsprechenden Abschnitt des Tests erwartet wird, wenn derselbe auf einem tatsächlichen Bauelement ausgeführt wird (wenn das Bauelement ordnungsgemäß funktioniert). Sobald ein solches erwartetes Signaturfenster erzeugt wird, wird es bei Betriebsblock406 (d. h. in der Datenspeicherung308 von der ATE301 ) gespeichert. Wie nachstehend ausführlicher beschrieben, werden solche gespeicherten erwarteten Signaturfenster während des tatsächlichen Testens des Schaltungsaufbaus verwendet, um zu bestimmen, ob die Ausgabe eines solchen Schaltungsaufbaus ansprechend auf Testeingabewerte wie erwartet ausfällt. - Unter Bezugnahme auf
5 ist ein Flußdiagramm gezeigt, das einen beispielhaften Betriebsfluß eines Testverfahrens eines bevorzugten Ausführungsbeispiels der Erfindung darstellt. Wie gezeigt, bestimmt die Off-Chip-Testeinrichtung (z. B. die ATE301 ) bei Betriebsblock501 , ob ein nächstes Fenster von Ausgabebits von einem DUT (z. B. DUT315 ) verfügbar ist. Spezieller werden die Eingabetestdaten von der Testeinrichtung in das DUT eingegeben, woraufhin das DUT Ausgabedaten erzeugt. Bei Betriebsblock501 bestimmt die Testeinrichtung, ob alle Ausgabebits (ansprechend auf die Eingabedaten), die ein nächstes „Fenster" aufweisen, vom DUT empfangen werden. Wenn keine weiteren Fenster vom DUT für diesen Test erwartet werden, dann wird bei Block502 bestimmt, daß das Testen beendet ist . Wenn jedoch bestimmt wird, daß ein Fenster von Ausgabebits vom DUT ansprechend auf ein gegebenes Eingabetestmuster empfangen worden ist, dann rückt der Betrieb in der Off-Chip-Testeinrichtung zu Betriebsblock503 vor, bei dem die Signaturerzeugungslogik (z. B. Logik305 der ATE301 in3A ) so zurückgesetzt wird, daß sie zum Empfangen eines Fensters von Ausgabebits und zum Erzeugen einer Signatur für ein solches Fenster bereit ist. Wie vorstehend beschrieben, kann die Signaturerzeugungslogik der Testeinrichtung bei bestimmten Implementierungen ein SISR, ein MISR oder Cellular Automata implementieren, wobei in diesem Fall das SISR, MISR oder Cellular Automata bei Block503 zurückgesetzt wird. - Bei Betriebsblock
504 können ein oder mehrere „bedeutungslose" Bits des empfangenen Fensters von Ausgabebits (unter Verwendung der Maskierungslogik304 ) maskiert werden. Bestimmte Ausgabebits können beispielsweise ein nichtdeterministisches Verhalten aufweisen (z. B. können nicht anzeigen, ob das DUT315 ansprechend auf das Eingabemuster ordnungsgemäß funktioniert), und solche Bits, deren Wert für den Test bedeutungslos ist, können von dem empfangenen Fenster von Ausgabedaten maskiert (oder gefiltert) werden. Die gleichen Bits, die bei Betriebsblock404 von4 beim Erzeugen eines erwarteten Signaturfensters maskiert wurden, werden bei Betriebsblock504 ebenfalls maskiert, so daß die gleichen Ausgabebits, die zum Erzeugen des erwarteten Signaturfensters in4 verwendet wurden, verwendet werden, um ein Signaturfenster für die Ausgabe des DUT zu erzeugen (wenn natürlich das DUT nicht wie erwartet funktioniert, können sich die Werte von solchen Ausgabebits von den erwarteten Werten, die beim Erzeugen des erwarteten Signaturfensters in4 verwendet wurden, unterscheiden). Vorzugsweise ist eine Identifizierung der Ausgabebits, die für den Test maskiert werden sollen, in den Mas kendaten310 umfaßt, die bei bestimmten Ausführungsbeispielen, wie vorstehend beschrieben, komprimiert sein können. - Anschließend wird die Signaturerzeugungslogik der Off-Chip-Testeinrichtung bei Betriebsblock
505 verwendet, um eine Signatur für die verbleibenden (nicht maskierten) Ausgabebits des Fensters zu erzeugen. Bei bestimmten Ausführungsbeispielen kann die Testeinrichtung beispielsweise ein SISR, MISR oder Cellular Automata (als Hardware und/oder Software) implementieren, und ein solches SISR, MISR oder Cellular Automata kann eine Signatur für die empfangenen (und nicht maskierten) Ausgabebits eines Fensters akkumulieren (erzeugen). Somit wird ein Signaturfenster für die empfangenen (und nicht maskierten) Ausgabebits vom DUT (unter Verwendung von beispielsweise der Logik305 ) erzeugt. - Anschließend vergleicht die Testeinrichtung bei Betriebsblock
506 das erzeugte Signaturfenster mit einem gespeicherten erwarteten Signaturfenster für diesen Abschnitt des Tests, um zu bestimmen, ob das erzeugte Signaturfenster mit dem erwarteten Signaturfenster übereinstimmt. Wenn bestimmt wird, daß das erzeugte Signaturfenster mit dem erwarteten Signaturfenster übereinstimmt, dann wird bei Betriebsblock507 bestimmt, daß das Fenster der empfangenen Ausgabebits diesen Test besteht, und der Betrieb kann zu Block501 zurückkehren, um ein weiteres Testen auszuführen (z. B. um weitere Fenster von Ausgabedaten, die vom DUT empfangen wurden, auszuwerten). Wenn das erzeugte Signaturfenster jedoch nicht mit dem erwarteten Signaturfenster übereinstimmt, dann wird bestimmt, daß das DUT diesen Test nicht besteht, und Informationen über dieses Nichtbestehen können bei Betriebsblock508 an eine Fehlerabbildung (z. B. Fehlerabbildung312 von3A ) gespeichert werden. Bei bestimmten Implementierungen können beispielsweise die Charakteristika und/oder der Inhalt des defekten Fensters von Ausgabebits (z. B. der tatsächlichen Rohausgabebits) in eine Fehlerabbildung gespeichert werden, und solche gespeicherten Fehlerabbildungsinformationen können bei einer Feh lerauswertung (z. B. Diagnostizieren des Fehlers, um zu bestimmen, welche Bits nicht korrekt waren, und/oder Fehlerbereinigung des DUT, um den Grund zu bestimmen, warum es diesen Test nicht bestand) verwendet werden. - Bei einem bevorzugten Ausführungsbeispiel kann die Fehlerauswertung eines DUT-Fehlers gleichzeitig mit dem Signaturanalysetesten eines solchen DUT ausgeführt werden. Bei bekannten Signaturanalysetechniken ist ein derartiges gleichzeitig stattfindendes Testen und eine Fehlerauswertung des DUT nicht möglich. Tatsächlich gestaltet sich ein Ermöglichen einer Fehlerauswertung (z. B. Fehlerdiagnose) überhaupt unter Verwendung von Signaturanalyseverfahren des Stands der Technik allgemein sehr schwierig. Bei bekannten Signaturanalyseverfahren ist es rechnerisch sehr aufwendig und manchmal unmöglich, den Signaturanalyseprozeß umzukehren. In anderen Worten ist es durch Verwendung von Signaturanalyseverfahren des Stands der Technik möglich, eine Diskrepanz zwischen den tatsächlichen Ausgabevektordaten und den erwarteten Ausgabevektordaten zu bestimmen. Es ist jedoch typischerweise nicht möglich, zu bestimmen, welche empfangenen Bits der Ausgabevektordaten falsch sind. Dies schränkt die Diagnosefähigkeit der signaturbasierten Testverfahren des Stands der Technik ernsthaft ein. Ein bevorzugtes Ausführungsverfahren der vorliegenden Erfindung vereinfacht die Fehlerdiagnose von der Signaturanalyse, weil die Signatur für die Diagnose nicht umgekehrt werden muß, sondern stattdessen können die entsprechenden Rohausgabedaten, die durch die Testeinrichtung empfangen werden, für ein defektes Fenster an ein Fehlerprotokoll geschrieben werden.
- Wenn außerdem die Fehlerauswertung (z. B. Diagnose) überhaupt bei bekannten Signaturanalyseverfahren verwendet wird, wird sie nicht gleichzeitig mit dem Testen des DUT ausgeführt. Vielmehr wird das Testen (z. B. Eingeben von Testdaten in das DUT, Erzeugen einer Signatur für Ausgabedaten des DUT und Vergleichen der erzeugten Signatur mit einer erwarteten Signatur) zuerst ausgeführt, und wenn die Fehlerauswertung erwünscht ist (z. B. ansprechend auf eine erzeugte Signatur, die mit einer erwarteten Signatur nicht übereinstimmt), dann wird ein zweiter Durchgang durch das DUT vorgenommen, wobei die Signaturlogik umgangen wird, um die Antwort direkt an die ATE zu senden. Das heißt, daß ein zweiter Satz von Interaktionen zwischen der Testeinrichtung um dem DUT erforderlich ist, um das DUT zu diagnostizieren/ einer Fehlerbereinigung zu unterziehen.
- Bei anderen Lösungsansätzen werden mehrere Signaturen erzeugt, so daß die Position (innerhalb des Bereichs der Fläche, von der die Signatur erzeugt wird) des Fehlers bekannt ist. Danach wird immer noch ein zweiter Durchgang durch das DUT vorgenommen, wobei die Signaturlogik umgangen wird, um die Antwort direkt an die ATE zu senden.
- Wie vorstehend beschrieben, können die Fenstercharakteristika in der Fehlerabbildung gespeichert werden (z. B. die Fenster-ID, die tatsächlichen und erwarteten Rohausgabedaten, die Zykluszahl etc.), wenn eine Diskrepanz zwischen der erwarteten Fenstersignatur und der erzeugten Fenstersignatur für empfangene Ausgabedaten bei einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung festgestellt wird. Der Start der Fenster in den Eingabe/Ausgabevektordaten kann beispielsweise durch ein Startzyklusregister oder durch Steuerungsbits bei den Eingabevektordaten erfolgen. Die Länge eines Fensters kann durch ein Längenregister bezeichnet werden, das für einen Test durch Benutzereingabe vorzugsweise dynamisch geändert werden kann. Es ist auch möglich, die Fensterlänge durch Steuerungsbits an den Eingabevektordaten zu bezeichnen, entweder indem dieselben mit den „Start-des-Fensters"-Steuerungsbits kombiniert werden oder das „Ende eines Fensters" bezeichnet wird.
- Anstatt nur ein defektes Fenster zu erfassen, ist es möglich, daß ein Zähler vorliegt, der bezeichnet, wie viele defekte Fenster erfaßt werden müssen (z. B. vor dem Speichern von Fehlerabbildungsdaten für das DUT). Während einer intensiven Analyse eines DUT könnte ein Benutzer beispielsweise den Wunsch haben, Informationen für mehr als ein defektes Fenster zu erfassen, wohingegen ein Benutzer während eines schnellen Produktionstestens möchte, daß nur das erste defekte Fenster für ein DUT erfaßt wird.
- Es ist möglich, die Speicheranforderungen weiter zu verringern, indem ein Zähler eingeführt wird, der zum Starten des Erfassens von Fehlerabbildungsinformationen verwendet wird, nachdem das nte Fenster oder das nte defekte Fenster erfaßt worden ist. Auf diese Weise müssen nicht alle bisher defekten Fenster im Speicher zum gleichen Zeitpunkt gespeichert werden.
6 zeigt ein Betriebsflußdiagramm von einem Ausführungsbeispiel der vorliegenden Erfindung, bei dem ein Erfassen von Fehlerinformationen nach dem nten defekten Fenster gestartet wird. Bei Betriebsblock601 wird ein Zähler, der zum Zählen defekter Fenster verwendet wird, zurückgesetzt (z. B. auf Null). Anschließend wird ein Testen eines DUT in einer ähnlichen Weise ausgeführt, wie vorstehend in Verbindung mit5 beschrieben wurde. Die Betriebsblöcke602 –608 entsprechen den Betriebsblöcken501 –507 von5 . - Wenn bei dem Ausführungsbeispiel von
6 jedoch bei Betriebsblock607 bestimmt wird, daß eine Fenstersignatur, die für eine empfangene Ausgabe eines DUT erzeugt wurde (die Signatur, die bei Betriebsblock606 erzeugt wurde), nicht mit der erwarteten Fenstersignatur für diesen Abschnitt des Tests übereinstimmt, dann rückt der Betrieb zu Block609 vor, bei dem der Zähler des defekten Fensters inkrementiert wird. Anschließend wird bei Betriebsblock610 bestimmt, ob der Zähler gleich einer vorbestimmten Zielzahl von defekten Fenstern ist. Bei diesem Ausführungsbeispiel werden Fehlerinformationen nur erfaßt, wenn eine vorbestimmte Zielzahl von defekten Fenstern für ein DUT erfaßt wird. Natürlich kann ein DUT den Test nicht bestehen und laut Bestimmung eine nicht ordnungsgemäße Qualität aufweisen, um als Produkt versandt zu werden, selbst wenn nur ein Fenster nicht besteht, jedoch werden Fehlerinformationen nur erfaßt (z. B. zur Fehlerauswertung), wenn eine vorbestimmte Zielzahl von defekten Fenstern während des Testens des DUT eintritt. Wenn somit bei Betriebsblock610 bestimmt wird, daß die vorbestimmte Zielzahl von defekten Fenstern nicht erreicht worden ist, dann kehrt der Betrieb zu Block602 zurück, um das nächste Fenster auszuwerten. Wenn andererseits bei Block610 bestimmt wird, daß die vorbestimmte Zielzahl von defekten Fenstern erreicht worden ist, rückt der Betrieb zu Block611 vor, um Informationen (z. B. Fenstercharakteristika und/oder Fensterinhalt) über das Nichtbestehen zu speichern. Anschließend kann der Betrieb zu Betriebsblock602 zurückkehren, um das Testverfahren fortzusetzen. - Durch Verwenden dieses Lösungsansatzes werden die Ausgabespeicheranforderungen der ATE nun von der Gesamtausgabevektordatengröße auf das Maximum der Fenstergröße und die Größe aller Fenstersignaturen reduziert. Die Speicheranforderungen der ATE können weiter durch Aussenden der erfaßten Fenster während des Tests an ein anderes Datenspeicherbauelement verringert werden, wie z. B. an eine Arbeitsstation, die mit der ATE kommunikativ gekoppelt ist. In diesem Fall kann die Fehlerabbildung, die auf der ATE gespeichert ist, im wesentlichen lediglich als ein Puffer verwendet werden. Die Anzahl von Fenstern in dem Fehlerabbildungspuffer wird durch die Häufigkeit von defekten Fenstern und die verfügbare Bandbreite zum Übertragen von erfaßten Fenstern während des Tests an beispielweise eine Arbeitsstation bestimmt.
- Wenn die Korrelation mit dem herkömmlichen Fluß nicht von Bedeutung ist, können folgende Verallgemeinerungen vorgenommen werden. Es ist möglich, nur die empfangenen Ausgabedaten, die an die Fehlerabbildung nach mehreren hierarchischen Iterationen gespeichert werden, entweder mit oder oh ne einen Zähler für die Anzahl von erfaßten defekten Fenstern oder dem zuerst erfaßten defekten Fenster zu erfassen. In diesem Fall können unterschiedliche vorbestimmte Fenstergrößen verwendet werden, um in ein kleineres Teilfenster zu iterieren (oder zu zoomen). Dementsprechend ist nur die erforderliche Speichergröße das Maximum der Größe der letzten Fensteriteration und der Größe der Signatur an sich, und nicht des Maximums der Größe von einem der bisherigen Fenster und der Größe der Signaturen an sich. Die optimale Fenstergröße wird zu einem Kompromiß zwischen der Anzahl von akzeptablen gewünschten Iterationen und dem erforderlichen gewünschten Ausgabekomprimierungsverhältnis.
- Angesichts des vorstehenden wird bei einem bevorzugten Ausführungsbeispiel eine Signatur auf einer Testeinrichtung, wie z. B. einer ATE, die sich außerhalb des DUT (z. B. einer Off-Chip-Testeinrichtung) befindet, für zumindest einen Abschnitt der Ausgabedaten, die vom DUT empfangen werden, erzeugt, und eine solche Signatur wird mit einer erwarteten Signatur verglichen, um zu bestimmen, ob das DUT ordnungsgemäß funktioniert. Bei einem bevorzugten Ausführungsbeispiel befindet sich das DUT auf einem Wafer, und die Testeinrichtung weist ein System auf, das sich außerhalb des Wafers befindet, auf dem das DUT angeordnet ist. Bei einer Implementierung eines bevorzugten Ausführungsbeispiels weist die Testeinrichtung beispielsweise eine ATE, wie z.B. die ATE
301 von3A , auf. Verschiedene Elemente der Testeinrichtung, wie z. B. die Logik302 zum Eingeben von Testdaten in das DUT, die Logik303 zum Empfangen von Ausgabedaten von dem DUT, die Logik304 zum Maskieren von Bits, die Logik305 zum Erzeugen einer Signatur von zumindest einem Abschnitt der empfangenen Ausgabedaten (z. B. der nicht maskierten Daten), die Logik306 zum Vergleichen der erzeugten Signatur mit einer erwarteten Signatur und die Logik307 zum Erzeugen einer Fehlerabbildung für einen nicht bestandenen Test können eine Hardware und/oder Software aufweisen. Wenn ein solcher Code als ausführbare Anweisung oder als Softwarecode implementiert ist, kann er durch die Testeinrichtung von einem computerlesbaren Medium (z. B. einem Festplattenmedium, einem optischen Medium, einem ROM (ROM = read-only memory = Nur-Lesespeicher), einem RAM (RAM = random access memory = Direktzugriffsspeicher), einem Bandmedium, einem Kassettenmedium, einem Flash-Speicher, einem Speicherstift und/oder dergleichen) erhalten werden oder über ein Datensignal von einem Kommunikationsmedium (z. B. dem Internet) kommuniziert werden. Tatsächlich können die lesbaren Medien ein beliebiges Medium umfassen, das Informationen speichern und übertragen kann. -
7 stellt ein beispielhaftes Computersystem700 dar, das zum Erzeugen von erwarteten Signaturen verwendet werden kann, die durch eine Testeinrichtung verwendet werden sollen. Eine CPU (CPU = central processing unit = Zentrale Verarbeitungseinheit)700 ist mit dem Systembus702 gekoppelt. Die CPU700 kann eine beliebige Allzweck-CPU sein. Geeignete Prozessoren umfassen einschränkungslos einen Pentium®-4-Prozecessor von Intel. Die vorliegende Erfindung ist jedoch nicht durch die Architektur der CPU700 eingeschränkt, solange die CPU aus701 die erfindungsgemäßen Operationen, die hierin beschrieben sind, unterstützt. Die CPU701 kann die verschiedenen logischen Anweisungen zum Erzeugen der gewünschten erwarteten Signaturen (z. B. Fenstersignaturen) für einen Test ausführen. Die CPU701 kann beispielsweise Anweisungen auf Maschinenebene gemäß den exemplarischen Betriebsflüssen, die vorstehend in Verbindung mit4 beschrieben wurden, ausführen. - Der Computer
700 umfaßt vorzugsweise auch einen RAM701 , der ein SRAM, DRAM, SDRAM oder dergleichen sein kann. Der Computer700 kann beispielsweise den RAM703 verwenden, um (zumindest vorübergehend) die verschiedenen erwarteten Signaturen zu speichern, die für einen speziellen Test, der modelliert wird, erzeugt wurden. Der Computer700 umfaßt vorzugsweise einen ROM704 , der ein PROM, EPROM, EEPROM oder dergleichen sein kann. Der RAM703 und der ROM704 hal ten die Benutzer- und Systemdaten und Programme, wie in der Technik hinreichend bekannt ist. - Der Computer
700 umfaßt auch vorzugsweise einen I/O-Adapter (I/O = input/output = Eingabe/Ausgabe)705 , einen Kommunikationsadapter711 , einen Benutzerschnittstellenadapter708 und einen Anzeigeadapter709 . Der I/O-Adapter705 und/oder der Benutzerschnittstellenadapter708 können bei bestimmten Ausführungsbeispielen einem Benutzer ermöglichen, mit dem Computer700 zu interagieren, um Informationen einzugeben (z. B. zum Spezifizieren eines Tests für ein DUT, Spezifizieren einer Fenstergröße, Spezifizieren einer Zielzahl von defekten Fenstern, woraufhin Fehlerinformationen erfaßt werden sollen (wie in dem Beispielfluß von6 ) und/oder zum Spezifizieren von Informationen, wie z. B. maskierten Bits, die beim Erzeugen erwarteter Signaturen zu verwenden sind). Ferner kann der I/O-Adapter705 mit einem Drucker714 gekoppelt sein, um zu ermöglichen, daß Informationen auf demselben gedruckt werden können. - Zusätzlich verbindet der I/O-Adapter
705 vorzugsweise die Speicherbauelemente706 , wie z. B. ein oder mehrere Festplatten, ein CD-Laufwerk, ein Floppy Disk-Laufwerk, ein Bandlaufwerk etc.. Die Speicherbauelemente können verwendet werden, wenn der RAM703 den Speicheranforderungen, die einem Modellieren eines Tests und einem Erzeugen erwarteter Signaturen zugeordnet sind, nicht genügen kann. - Der Kommunikationsadapter
711 kann umfaßt sein, der angepaßt ist, um den Computer700 mit dem Netz712 zu koppeln, das ein beliebiges geeignetes Kommunikationsnetz, wie z. B. eine Telephonienetz (z. B. öffentliches oder privates geschaltetes Telephonienetz), ein LAN (LAN = local area network = lokales Netz), das Internet oder ein anderes WAN (WAN = wide area network = weites Netz) und/oder drahtloses Netz sein kann. Der Benutzerschnittstellenadapter708 koppelt die Benutzereingabebauelemente, wie z. B. eine Tastatur713 , das Zeigerbauelement707 und/oder die Ausgabebau elemente, wie z. B. Lautsprecher (nicht gezeigt) mit dem Computer700 . Der Anzeigeadapter709 wird durch die CPU701 angetrieben, um die Anzeige auf dem Anzeigebauelement710 zu steuern, um beispielsweise einem Benutzer Informationen über einen Bauelementtest, der durchgeführt wird, anzuzeigen. Es wird darauf hingewiesen, daß die vorliegende Erfindung nicht auf die Architektur des Systems701 beschränkt ist. Ein beliebiges geeignetes prozessorbasiertes Bauelement kann beispielsweise zum Erzeugen erwarteter Signaturen für einen Test (einschließlich der Off-Chip-Testeinrichtung, z. B. der ATE301 , bei bestimmten Implementierungen) verwendet werden. -
8 stellt ein Blockdiagramm einer exemplarischen Testeinrichtung, ATE301 , dar, die zum Implementieren von Ausführungsbeispielen einer vorliegenden Erfindung angepaßt werden kann. Bei dem Ausführungsbeispiel von8 ist das Computersystem700 gezeigt, das mit der ATE301 gekoppelt ist, wie z. B. über den Kommunikationsadapter711 von7 , und kann ein Herunterladen von Testplänen, Testdaten (z.B. Eingabetestdaten, erwarteten Signaturen für einen Test etc.) oder eine Schnittstellenverbindungsfunktionsfähigkeit im Hinblick auf das ATE301 ermöglichen. Solche Testpläne und Testdaten können in den ATE-Speicher (z. B. kann der Speicher308 von3A in den Testressourcen820 umfaßt sein) über eine Zugriffssteuerungslogik810 geladen werden. Die Testressourcen820 können die vorstehend erwähnten Ressourcen302 bis307 , die vorstehend in3A beschrieben wurden, aufweisen. Bei dem dargestellten Ausführungsbeispiel werden die Testressourcen820 mit der Steuerung/den Sequenzern840 über ein Verbindungsnetz830 gekoppelt. Die Steuerung/der Sequenzer840 arbeiten vorzugsweise, um eine der Testressourcen820 mit einigen der Stifte860 zu koppeln (die z. B. auf einer Sonde oder Sonden angeordnet sein können, wie z. B. der Sonde313 von3A ), um entsprechende Testdaten auf das DUT zu Zeitpunkten und Sequenzen anzuwenden, die in dem verwendeten Testplan angeführt sind. Stiftelektronikkarten850 sind zwischen der Steuerung/den Sequenzern840 und den Stiften860 des dargestellten Ausführungsbeispiels angeordnet, um die speziellen Spannungspegel, die durch die DUTs erforderlich sind, zu liefern. - Obwohl das dargestellte Ausführungsbeispiel drei Testressourcen, eine Steuerung/Sequenzer und Stiftelektronikkarten zeigt, kann die ATE
301 eine beliebige Anzahl von Elementen aufweisen. Außerdem liegt dahingehend keine Begrenzung vor, daß eine gleiche Anzahl von jedem dieser Elemente gemäß der vorliegenden Erfindung vorgesehen sein kann. Ferner soll das Ausführungsbeispiel von8 lediglich ein Beispiel einer Konfiguration einer ATE sein, die Ausführungsbeispiele der vorliegenden Erfindung implementieren kann, und die vorliegende Erfindung soll eine solche beispielhafte Konfiguration nicht eingrenzen. Vielmehr soll eine beliebige andere geeignete Off-Chip-Testeinrichtungskonfiguration, die nun bekannt ist oder später entwickelt wird, die konfiguriert sein kann, um Rohausgabedaten von einem DUT zu empfangen und um eine Signatur (wie vorstehend bei3A ausführlicher beschrieben ist) zu erzeugen, im Schutzbereich der vorliegenden Erfindung umfaßt sein. Die Testeinrichtung kann ferner bei bestimmten Ausführungsbeispielen auf einem Wafer implementiert sein und zum Testen anderer Schaltungsaufbauten auf einem solchen Wafer verwendet werden. Bei bestimmten Ausführungsbeispielen kann eine Testeinrichtung beispielsweise auf einem ersten Chip eines Wafers implementiert sein und kann zum Testen von zumindest einem anderen Chip auf dem Wafer verwendet werden. - Angesichts des vorstehenden wird darauf hingewiesen, daß die Ausführungsbeispiele der vorliegenden Erfindung implementiert sein können, um viele Vorteile gegenüber den Testverfahren des Stands der Technik zu liefern. Gemäß den Ausführungsbeispielen der vorliegenden Erfindung kann beispielsweise ein ähnliches Komprimierungsverhältnis wie das von herkömmlichen Signaturanalyseverfahren erreicht werden, jedoch ohne die Notwendigkeit an Entwurfsmodifizierungen im DUT. Aufgrund dessen liegen keine möglichen Siliziumflächengesamtkosten auf dem DUT zum implementieren des Tests und keine potentielle Verhaltensverschlechterung des DUT vor. Gemäß den Ausführungsbeispielen der vorliegenden Erfindung kann als weiteres Beispiel ein ähnliches Komprimierungsverhältnis wie bei herkömmlichen Signaturanalyseverfahren erreicht werden, jedoch ohne beliebige Einschränkungen bezüglich der Fehlerdiagnosefähigkeit.
- Bei einem bevorzugten Ausführungsbeispiel kann eine Diagnose von Fehlern (und einer Ausbeutemitteilung) gleichzeitig mit dem Testen eines DUT ausgeführt werden. Das heißt ein „erster Durchgang" kann vorgenommen werden, bei dem die Off-Chip-Testeinrichtung mit dem DUT interagiert, indem Eingabetestdaten eingegeben und Rohausgabedaten von demselben empfangen werden, und aus einem solchen „ersten Durchgang" kann die Off-Chip-Testeinrichtung eine Signatur erzeugen und eine solche Signatur verwenden, um einen Fehler bei dem DUT zu erfassen, wobei, wenn ein Fehler erfaßt wird, die tatsächlichen Ausgabedaten, die von dem DUT empfangen werden, an ein Fehlerabbildungsprotokoll gespeichert werden können, ohne eine weitere Interaktion mit dem DUT zum Erfassen solcher Ausgabedaten zu erfordern. Weil eine Fehlerdiagnose gleichzeitig mit dem Testen eines DUT ausgeführt werden kann, sind bestimmte Ausführungsbeispiele der vorliegenden Erfindung speziell für eine Implementierung in einer Massenproduktions-Testeinstellung geeignet.
- Ferner unterteilt ein bevorzugtes Ausführungsbeispiel der vorliegenden Erfindung die empfangenen Ausgabebits in eine Mehrzahl von Fenstern und erzeugt Signaturen für jedes individuelle Fenster. Die Nutzung von Fenstern in dieser Weise ermöglicht bestimmte Vorteile, wie z. B. ein Ermöglichen einer Beibehaltung der Datenspeicherung, die zum Speichern von Fehlerabbildungsdaten erforderlich ist (z. B. durch Speichern von Fehlerdaten, die einem defekten Fenster zugeordnet sind, d. h. einem Fenster, dessen Signatur nicht mit der erwarteten Signatur für ein solches Fenster überein stimmt). Fachleute werden auf verschiedene weitere Vorteile des Verwendens von Fenstern in der hierin offenbarten Weise hingewiesen.
- Bei einem bevorzugten Ausführungsbeispiel ist das Testverfahren auf einer ATE implementiert, was dahingehend vorteilhaft ist, weil das ATE bereits die gewünschte Maskierungsfähigkeit aufweist (z. B. um ein flexibles Maskieren von Ausgabebits zu ermöglichen, die in der Signaturanalyse verwendet werden sollen). Als weiteres Beispiel können die Ausführungsbeispiele der vorliegenden Erfindung mit DUTs verwendet werden, die MISRs aufweisen, die auf dem Chip implementiert sind, wodurch eine generische Testplattform ermöglicht wird. Das heißt, obgleich ein Auf-Chip-Testschaltungsaufbau (z. B. ein Signaturerzeugungsschaltungsaufbau) bei Ausführungsbeispielen der vorliegenden Erfindung nicht erforderlich ist, können bestimmte Ausführungsbeispiele der vorliegenden Erfindung auf einer Plattform (z. B. einer ATE) implementiert sein, die verwendet werden kann, um auch DUTs zu testen, die einen Auf-Chip-Testschaltungsaufbau aufweisen, wodurch ein Testen bei den herkömmlichen Verfahren des Stands der Technik oder ein Testen gemäß den Ausführungsbeispielen der vorliegenden Erfindung ermöglicht wird. Das heißt, daß die Plattform der Ausführungsbeispiele der vorliegenden Erfindung kein Testen eines DUT ausschließt, das einen Auf-Chip-Testschaltungsaufbau umfaßt (z. B. einen Auf-Chip-Signaturerzeugungsschaltungsaufbau), jedoch in vorteilhafter Weise ein effizientes Testen von DUTs ermöglicht, die keinen solchen AufChip-Testschaltungsaufbau umfassen.
- Als weiteres Beispiel können die Ausführungsbeispiele der vorliegenden Erfindung in Kombination mit Maskenvektorkomprimierungs- und/oder Eingabevektorkomprimierungsverfahren für einen Test für eine anhaltende Beibehaltung der Datenspeicherung implementiert sein, die für ein Implementieren des Tests erforderlich ist.
Claims (25)
- Off-Chip-Testsystem, das folgende Merkmale aufweist: eine Einrichtung (
302 ) zum Eingeben von Testdaten in ein Testchipelement (315 ); eine Einrichtung (303 ) zum Empfangen von Ausgabedaten von dem Testchipelement ansprechend auf die Eingabetestdaten; eine Einrichtung (305 ) zum Erzeugen einer Signatur für zumindest einen Abschnitt der empfangenen Ausgabedaten; eine Einrichtung (306 ) zum Vergleichen der erzeugten Signatur mit einer erwarteten Signatur; und eine Einrichtung (307 ) zum Speichern von Informationen in einem Fehlerabbildungsprotokoll (312 ), wenn die erzeugte Signatur nicht mit der erwarteten Signatur übereinstimmt. - Off-Chip-Testsystem gemäß Anspruch 1, bei dem die Einrichtung (
307 ) zum Speichern von Informationen keine weitere Interaktion mit dem Testchipelement (315 ) erfordert, nachdem bestimmt worden ist, daß die erzeugte Signatur nicht mit der erwarteten Signatur übereinstimmt, um die Informationen, die in dem Fehlerabbildungsprotokoll gespeichert werden sollen, zu erfassen. - Off-Chip-Testsystem gemäß Anspruch 1 oder 2, bei dem die Einrichtung (
305 ) zum Erzeugen einer Signatur folgendes Merkmal aufweist: eine Einrichtung (305 ) zum Erzeugen einer Signatur für ein Fenster der empfangenen Ausgabedaten, wobei das Fenster eine vorbestimmte Anzahl von Bits aufweist. - Off-Chip-Testsystem gemäß Anspruch 3, bei dem die empfangenen Ausgabedaten in eine Mehrzahl von Fenstern aufgeteilt werden, und die Einrichtung (
305 ) zum Erzeugen einer Signatur eine Signatur für jedes von der Mehrzahl von Fenstern erzeugt. - Off-Chip-Testsystem gemäß Anspruch 4, bei dem die Einrichtung zum Vergleichen folgendes Merkmal aufweist: eine Einrichtung (
306 ) zum Vergleichen der erzeugten Signatur für ein erstes Fenster mit einer erwarteten Signatur für das erste Fenster. - Off-Chip-Testsystem gemäß Anspruch 5, bei dem die Einrichtung (
307 ) zum Speichern von Informationen folgendes Merkmal aufweist: eine Einrichtung zum Speichern von Informationen in ein Fehlerabbildungsprotokoll über zumindest das erste Fenster, wenn die erzeugte Signatur für das erste Fenster nicht mit der erwarteten Signatur für das erste Fenster übereinstimmt. - Off-Chip-Testsystem gemäß einem der Ansprüche 1 bis 6, bei dem der Testchipelement (
315 ) einen Schaltungsaufbau auf einem Halbleiterwafer aufweist und das Off-Chip-Testsystem außerhalb des Wafers angeordnet ist. - Off-Chip-Testsystem gemäß einem der Ansprüche 1 bis 7, bei dem das Testchipelement ein gehäustes Chipelement ist und das Off-Chip-Testsystem außerhalb des gehäusten Wafers angeordnet ist.
- Off-Chip-Testsystem gemäß einem der Ansprüche 1 bis 8, das ferner folgendes Merkmal aufweist: eine Einrichtung zum Maskieren von zumindest einem Abschnitt der empfangenen Ausgabedaten, um beim Erzeugen der Signatur nicht verwendet zu werden.
- Off-Chip-Testsystem gemäß einem der Ansprüche 1 bis 9, das ferner folgendes Merkmal aufweist: eine Einrichtung (
307 ) zum Speichern von Maskendaten, die Bits der empfangenen Ausgabedaten, die maskiert werden sollen, identifizieren, wobei die Maskendaten komprimiert sind. - Off-Chip-Testsystem gemäß Anspruch 10, das ferner folgende Einrichtung aufweist: eine Einrichtung zum Dekomprimieren der Maskendaten.
- Off-Chip-Testsystem gemäß Anspruch 10, das ferner folgendes Merkmal aufweist: eine Einrichtung zum Komprimieren der Maskendaten.
- Off-Chip-Testsystem gemäß einem der Ansprüche 1 bis 12, bei dem die Einrichtung zum Speichern von Informationen in das Fehlerabbildungsprotokoll den zumindest einen Abschnitt der empfangenen Ausgabedaten speichert, die zum Erzeugen der Signatur verwendet werden, die nicht mit der erwarteten Signatur übereinstimmt.
- System zum Testen eines Schaltungsaufbaus (
315 ), wobei das System folgende Merkmale aufweist: eine automatisiertes Testausrüstung (301 ) außerhalb des Schaltungsaufbaus, das zumindest vorübergehend mit dem Schaltungsaufbau kommunikativ gekoppelt ist, wobei die automatisierte Testausrüstung eine kommunikative Schnittstelle (313 ) zum Eingeben von Testdaten in den Schaltungsaufbau, eine kommunikative Schnittstelle (313 ) zum Empfangen von Ausgabedaten von dem Schaltungsaufbau ansprechend auf die Eingabetestdaten, eine Logik (305 ), die zum Erzeugen einer Signatur für zumindest einen Abschnitt der empfangenen Ausgabedaten betreibbar ist, eine Vergleichslogik (306 ) zum Vergleichen einer erzeugten Signatur mit einer erwarteten Signatur und eine Logik (307 ) zum Speichern von Informationen in ein Fehlerabbildungsprotokoll (312 ) aufweist, wenn eine erzeugte Signatur nicht mit einer erwarteten Signatur übereinstimmt. - System gemäß Anspruch 14, bei dem der Schaltungsaufbau einen Schaltungsaufbau auf einem Halbleiterwafer aufweist.
- System gemäß Anspruch 14 oder 15, bei dem die Logik zum Speichern der Informationen in ein Fehlerabbildungsprotokoll keine weitere Interaktion mit dem Schaltungsaufbau nach Erfassung einer erzeugten Signatur, die mit einer erwarteten Signatur nicht übereinstimmt, erfordert.
- System gemäß einem der Ansprüche 14 bis 16, bei dem die Informationen, die in ein Fehlerabbildungsprotokoll gespeichert wurden, zumindest einen Abschnitt der empfangenen Ausgabedaten aufweisen, die zum Erzeugen der Signatur verwendet werden, die mit der erwarteten Signatur nicht übereinstimmte.
- System gemäß einem der Ansprüche 14 bis 17, bei dem die automatisierte Testausrüstung ferner folgendes Merkmal aufweist: eine Logik zum Maskieren von zumindest einem Abschnitt der empfangenen Ausgabedaten, um nicht beim Erzeugen der Signatur verwendet zu werden.
- System gemäß Anspruch 18, bei dem die automatisierte Testausrüstung ferner folgendes Merkmal aufweist: eine Datenspeicherung, die mit derselben kommunikativ gekoppelt ist, die Maskendaten aufweist, die Bits der empfangenen Ausgabedaten identifizieren, die maskiert werden sollen, wobei die Maskendaten komprimiert sind.
- System gemäß Anspruch 19, bei dem die automatisierte Testausrüstung ferner folgendes Merkmal aufweist: eine Logik zum Dekomprimieren der Maskendaten.
- Verfahren zum Testen eines Schaltungsaufbaus, wobei das Verfahren folgende Schritte aufweist: Eingeben (
321 ) von Testdaten in einen Testschaltungsaufbau; Empfangen (322 ), an einer externen Testeinrichtung (301 ,316 ), von Ausgabedaten von dem Testschaltungsaufbau ansprechend auf die Eingabetestdaten; Erzeugen (324 ), an der externen Testeinrichtung (301 ,315 ), einer Signatur für zumindest einen Abschnitt der empfangenen Ausgabedaten; Vergleichen der erzeugten Signatur mit einer erwarteten Signatur, um zu bestimmen, ob der Testschaltungsaufbau wie erwartet funktioniert; und wenn die erzeugte Signatur nicht mit der erwarteten Signatur übereinstimmt, Speichern von Informationen in ein Fehlerabbildungsprotokoll, wobei eine weitere In teraktion mit dem Testschaltungsaufbau nicht erforderlich ist, nachdem bestimmt worden ist, daß die erzeugte Signatur nicht mit der erwarteten Signatur übereinstimmt, um die Informationen zum Speichern der Informationen in das Fehlerabbildungsprotokoll zu erfassen. - Verfahren gemäß Anspruch 21, das ferner folgenden Schritt aufweist: Aufteilen der empfangenen Ausgabedaten in eine Mehrzahl von Fenstern, wobei jedes Fenster eine vorbestimmte Anzahl von Bits aufweist, wobei der Schritt des Erzeugens ein Erzeugen einer Signatur für jedes von der Mehrzahl von Fenstern aufweist.
- Verfahren gemäß Anspruch 22, bei dem der Schritt des Erzeugens folgenden Schritt aufweist: Vergleichen der erzeugten Signatur für ein erstes Fenster mit einer erwarteten Signatur für das erste Fenster.
- Verfahren gemäß Anspruch 23, bei dem das Speichern von Informationen in ein Fehlerabbildungsprotokoll ferner folgenden Schritt aufweist: wenn die erzeugte Signatur für das erste Fenster nicht mit der erwarteten Signatur für das erste Fenster übereinstimmt, Speichern von Informationen über zumindest das erste Fenster in das Fehlerabbildungsprotokoll.
- Verfahren gemäß Anspruch 24, bei dem die Informationen über das erste Fenster folgendes Merkmal aufweisen die empfangenen Ausgabedaten des ersten Fensters.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/308,323 US7131046B2 (en) | 2002-12-03 | 2002-12-03 | System and method for testing circuitry using an externally generated signature |
US10-308,323 | 2002-12-03 |
Publications (1)
Publication Number | Publication Date |
---|---|
DE10343227A1 true DE10343227A1 (de) | 2004-07-15 |
Family
ID=32392721
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10343227A Withdrawn DE10343227A1 (de) | 2002-12-03 | 2003-09-18 | System und Verfahren zum Testen eines Schaltungsaufbaus unter Verwendung einer extern erzeugten Signatur |
Country Status (3)
Country | Link |
---|---|
US (1) | US7131046B2 (de) |
JP (1) | JP4580163B2 (de) |
DE (1) | DE10343227A1 (de) |
Families Citing this family (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6990423B2 (en) * | 2003-06-25 | 2006-01-24 | Teradyne, Inc. | Apparatus and method for testing non-deterministic device data |
US7509226B2 (en) * | 2003-06-25 | 2009-03-24 | Teradyne, Inc. | Apparatus and method for testing non-deterministic device data |
US7216273B2 (en) * | 2003-06-26 | 2007-05-08 | Teradyne, Inc. | Method for testing non-deterministic device data |
US20050080581A1 (en) * | 2003-09-22 | 2005-04-14 | David Zimmerman | Built-in self test for memory interconnect testing |
US7386777B2 (en) * | 2004-04-05 | 2008-06-10 | Verigy (Singapore) Pte. Ltd. | Systems and methods for processing automatically generated test patterns |
US7584386B2 (en) * | 2004-04-21 | 2009-09-01 | Stmicroelectronics Sa | Microprocessor comprising error detection means protected against an attack by error injection |
US7284176B2 (en) * | 2004-07-15 | 2007-10-16 | Nec Laboratories America, Inc. | Externally-loaded weighted random test pattern compression |
US7461312B2 (en) * | 2004-07-22 | 2008-12-02 | Microsoft Corporation | Digital signature generation for hardware functional test |
US7884715B2 (en) * | 2004-08-04 | 2011-02-08 | Nexteer (Beijing) Technology Co., Ltd. | Method and system for program execution integrity for communication-based angle sensor |
US7555690B1 (en) * | 2004-12-23 | 2009-06-30 | Xilinx, Inc. | Device for and method of coupling test signals to a device under test |
US20070115833A1 (en) * | 2005-11-21 | 2007-05-24 | Gerald Pepper | Varying the position of test information in data units |
US7743304B2 (en) * | 2006-02-17 | 2010-06-22 | Verigy (Singapore) Pte. Ltd. | Test system and method for testing electronic devices using a pipelined testing architecture |
WO2007098167A2 (en) | 2006-02-17 | 2007-08-30 | Mentor Graphics Corporation | Multi-stage test response compactors |
US7404126B2 (en) * | 2006-03-29 | 2008-07-22 | Texas Instruments Incorporated | Scan tests tolerant to indeterminate states when employing signature analysis to analyze test outputs |
US7849315B2 (en) * | 2006-05-22 | 2010-12-07 | General Dynamics C4 Systems, Inc. | Method for managing operability of on-chip debug capability |
TWM317575U (en) * | 2007-02-14 | 2007-08-21 | Princeton Technology Corp | Circuit testing apparatus |
US7620861B2 (en) * | 2007-05-31 | 2009-11-17 | Kingtiger Technology (Canada) Inc. | Method and apparatus for testing integrated circuits by employing test vector patterns that satisfy passband requirements imposed by communication channels |
TWM326153U (en) * | 2007-07-10 | 2008-01-21 | Princeton Technology Corp | Circuit testing apparatus |
US20090112548A1 (en) * | 2007-10-30 | 2009-04-30 | Conner George W | A method for testing in a reconfigurable tester |
US7757144B2 (en) * | 2007-11-01 | 2010-07-13 | Kingtiger Technology (Canada) Inc. | System and method for testing integrated circuit modules comprising a plurality of integrated circuit devices |
US9270477B2 (en) * | 2008-05-28 | 2016-02-23 | Airmagnet, Inc. | Method and apparatus of measuring and reporting data gap from within an analysis tool |
US7848899B2 (en) * | 2008-06-09 | 2010-12-07 | Kingtiger Technology (Canada) Inc. | Systems and methods for testing integrated circuit devices |
US8285687B2 (en) * | 2008-08-27 | 2012-10-09 | Netapp, Inc. | System and method for file system level compression using compression group descriptors |
US9075958B2 (en) * | 2009-06-24 | 2015-07-07 | Uniloc Luxembourg S.A. | Use of fingerprint with an on-line or networked auction |
US8356215B2 (en) * | 2010-01-19 | 2013-01-15 | Kingtiger Technology (Canada) Inc. | Testing apparatus and method for analyzing a memory module operating within an application system |
US8918686B2 (en) | 2010-08-18 | 2014-12-23 | Kingtiger Technology (Canada) Inc. | Determining data valid windows in a system and method for testing an integrated circuit device |
US9672146B2 (en) * | 2011-03-29 | 2017-06-06 | EMC IP Holding Company LLC | Retrieveing data from data storage systems |
US20120278441A1 (en) * | 2011-04-28 | 2012-11-01 | Futurewei Technologies, Inc. | System and Method for Quality of Experience Estimation |
US9003256B2 (en) | 2011-09-06 | 2015-04-07 | Kingtiger Technology (Canada) Inc. | System and method for testing integrated circuits by determining the solid timing window |
US8724408B2 (en) | 2011-11-29 | 2014-05-13 | Kingtiger Technology (Canada) Inc. | Systems and methods for testing and assembling memory modules |
US9117552B2 (en) | 2012-08-28 | 2015-08-25 | Kingtiger Technology(Canada), Inc. | Systems and methods for testing memory |
US9222971B2 (en) * | 2013-10-30 | 2015-12-29 | Freescale Semiconductor, Inc. | Functional path failure monitor |
US9448282B1 (en) * | 2014-02-12 | 2016-09-20 | Cadence Design Systems, Inc. | System and method for bit-wise selective masking of scan vectors for X-value tolerant built-in self test |
US9720036B2 (en) * | 2014-08-18 | 2017-08-01 | Duke University | Signal tracing using on-chip memory for in-system post-fabrication debug |
US10180454B2 (en) * | 2015-12-01 | 2019-01-15 | Texas Instruments Incorporated | Systems and methods of testing multiple dies |
JP6697993B2 (ja) * | 2016-09-29 | 2020-05-27 | ルネサスエレクトロニクス株式会社 | 半導体装置及び半導体装置の診断方法 |
US10268786B2 (en) | 2017-01-04 | 2019-04-23 | Hcl Technologies Limited | System and method for capturing transaction specific stage-wise log data |
KR102653937B1 (ko) * | 2018-07-17 | 2024-04-02 | 삼성전자주식회사 | 반도체 장치의 테스트 방법및 반도체 장치의 테스트 시스템 |
US10976367B2 (en) | 2018-12-13 | 2021-04-13 | Micron Technology, Inc. | Controller structural testing with automated test vectors |
DE112020000036T5 (de) * | 2019-01-22 | 2021-01-21 | Advantest Corporation | Automatisierte prüfeinrichtung zum prüfen eines oder mehrerer prüfobjekte, verfahren zum automatisierten prüfen eines oder mehrerer prüfobjekte und computerprogramm unter verwendung eines pufferspeichers |
Family Cites Families (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4513418A (en) | 1982-11-08 | 1985-04-23 | International Business Machines Corporation | Simultaneous self-testing system |
US4503537A (en) | 1982-11-08 | 1985-03-05 | International Business Machines Corporation | Parallel path self-testing system |
US5206582A (en) | 1988-05-18 | 1993-04-27 | Hewlett-Packard Company | Control system for automated parametric test equipment |
US5051996A (en) | 1989-03-27 | 1991-09-24 | The United States Of America As Represented By The United States Department Of Energy | Built-in-test by signature inspection (bitsi) |
US5369648A (en) | 1991-11-08 | 1994-11-29 | Ncr Corporation | Built-in self-test circuit |
JPH0611545A (ja) * | 1992-06-29 | 1994-01-21 | Oki Electric Ind Co Ltd | Icチップに内蔵される動作テスト回路 |
US5313469A (en) | 1993-06-11 | 1994-05-17 | Northern Telecom Limited | Self-testable digital integrator |
US5416783A (en) | 1993-08-09 | 1995-05-16 | Motorola, Inc. | Method and apparatus for generating pseudorandom numbers or for performing data compression in a data processor |
US5393594A (en) * | 1993-10-06 | 1995-02-28 | United States Surgical Corporation | Absorbable non-woven fabric |
US5509129A (en) * | 1993-11-30 | 1996-04-16 | Guttag; Karl M. | Long instruction word controlling plural independent processor operations |
US5583786A (en) | 1993-12-30 | 1996-12-10 | Intel Corporation | Apparatus and method for testing integrated circuits |
US5694401A (en) * | 1994-06-27 | 1997-12-02 | Tandem Computers Incorporated | Fault isolation using pseudo-random scan |
US5642362A (en) | 1994-07-20 | 1997-06-24 | International Business Machines Corporation | Scan-based delay tests having enhanced test vector pattern generation |
US5633877A (en) | 1995-05-31 | 1997-05-27 | International Business Machines Corporation | Programmable built-in self test method and controller for arrays |
US5668817A (en) | 1996-07-11 | 1997-09-16 | Northern Telecom Limited | Self-testable digital signal processor and method for self-testing of integrating circuits including DSP data paths |
JP3691170B2 (ja) | 1996-08-30 | 2005-08-31 | 株式会社ルネサステクノロジ | テスト回路 |
KR100206128B1 (ko) | 1996-10-21 | 1999-07-01 | 윤종용 | 선형 궤환 쉬프트레지스터, 다중 입력기호 레지스터 및 이들을 이용한 내장 자기 진단회로 |
US5968194A (en) * | 1997-03-31 | 1999-10-19 | Intel Corporation | Method for application of weighted random patterns to partial scan designs |
US5954830A (en) | 1997-04-08 | 1999-09-21 | International Business Machines Corporation | Method and apparatus for achieving higher performance data compression in ABIST testing by reducing the number of data outputs |
KR100261019B1 (ko) | 1997-09-08 | 2000-07-01 | 윤종용 | 시그너츄어 압축 방법 및 회로 |
KR100292821B1 (ko) | 1997-09-08 | 2001-06-15 | 윤종용 | 병렬 시그너츄어 압축 회로 |
US5978946A (en) | 1997-10-31 | 1999-11-02 | Intel Coporation | Methods and apparatus for system testing of processors and computers using signature analysis |
US6001662A (en) | 1997-12-02 | 1999-12-14 | International Business Machines Corporation | Method and system for providing a reusable configurable self-test controller for manufactured integrated circuits |
JPH11202026A (ja) * | 1998-01-13 | 1999-07-30 | Hitachi Ltd | 不良解析手法 |
GB9805054D0 (en) * | 1998-03-11 | 1998-05-06 | Process Intelligence Limited | Memory test system with buffer memory |
US6158033A (en) | 1998-05-08 | 2000-12-05 | S3 Incorporated | Multiple input signature testing & diagnosis for embedded blocks in integrated circuits |
US6374370B1 (en) | 1998-10-30 | 2002-04-16 | Hewlett-Packard Company | Method and system for flexible control of BIST registers based upon on-chip events |
US6452411B1 (en) * | 1999-03-01 | 2002-09-17 | Formfactor, Inc. | Efficient parallel testing of integrated circuit devices using a known good device to generate expected responses |
US6363506B1 (en) | 1999-04-13 | 2002-03-26 | Agere Systems Guardian Corp. | Method for self-testing integrated circuits |
US6327685B1 (en) | 1999-05-12 | 2001-12-04 | International Business Machines Corporation | Logic built-in self test |
US6393594B1 (en) | 1999-08-11 | 2002-05-21 | International Business Machines Corporation | Method and system for performing pseudo-random testing of an integrated circuit |
US6442722B1 (en) | 1999-10-29 | 2002-08-27 | Logicvision, Inc. | Method and apparatus for testing circuits with multiple clocks |
US6684358B1 (en) * | 1999-11-23 | 2004-01-27 | Janusz Rajski | Decompressor/PRPG for applying pseudo-random and deterministic test patterns |
CA2321346A1 (en) | 2000-09-28 | 2002-03-28 | Stephen K. Sunter | Method, system and program product for testing and/or diagnosing circuits using embedded test controller access data |
US6732312B2 (en) * | 2001-03-09 | 2004-05-04 | Agilent Technologies, Inc. | Test vector compression method |
US7412639B2 (en) * | 2002-05-24 | 2008-08-12 | Verigy (Singapore) Pte. Ltd. | System and method for testing circuitry on a wafer |
-
2002
- 2002-12-03 US US10/308,323 patent/US7131046B2/en not_active Expired - Lifetime
-
2003
- 2003-09-18 DE DE10343227A patent/DE10343227A1/de not_active Withdrawn
- 2003-12-02 JP JP2003402477A patent/JP4580163B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US7131046B2 (en) | 2006-10-31 |
US20040107395A1 (en) | 2004-06-03 |
JP4580163B2 (ja) | 2010-11-10 |
JP2004184413A (ja) | 2004-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE10343227A1 (de) | System und Verfahren zum Testen eines Schaltungsaufbaus unter Verwendung einer extern erzeugten Signatur | |
DE602004009284T2 (de) | Systeme und Verfahren um automatisch generiertes Testmuster zu verarbeiten | |
DE112020000035T5 (de) | Automatisierte prüfeinrichtung zum prüfen eines oder mehrerer prüfobjekte, verfahren zum automatisierten prüfen eines oder mehrerer prüfobjekte und computerprogramm zur handhabung von befehlsfehlern | |
DE69114183T2 (de) | System zur Reduzierung von Prüfdatenspeichern. | |
DE60220511T2 (de) | Verfahren und system zur optimierung der testkosten und deaktivierungsdefekte für scan- und bist-speicher | |
DE102006059158B4 (de) | Integrierter Schaltkreischip mit zumindest zwei Schaltungskernen und zugehöriges Verfahren zum Testen | |
DE102006059156B4 (de) | Verfahren zum Testen eines integrierten Schaltkreischips mit zumindest zwei Schaltungskernen sowie integrierter Schaltkreischip und Testsystem | |
DE69834892T2 (de) | Eingebetteter Logikanalysator | |
DE60132462T2 (de) | Erfassung und auswertung von hochgeschwindigkeitsdatenströmen | |
DE69209404T2 (de) | Selbsttest integrierter Schaltungen mit hybriden Mustern | |
DE60030480T2 (de) | Gerät und verfahren zum selektiven verdichten von testergebnissen | |
DE60205118T2 (de) | Integriertes prüfen eines serialisierers/deserialisierers in fpga | |
DE60018101T2 (de) | Testmuster-kompression für eine testumgebung von integrierten schaltungen | |
DE19952272B4 (de) | Verfahren und System zum Prüfen von auf eingebetteten Bausteinen basierenden integrierten Systemchip-Schaltungen | |
DE60025789T2 (de) | Logische eingebaute Selbstprüfung (LBIST) Steuerschaltungen, Systeme und Verfahren mit automatischer Bestimmung der maximalen Abtastkettenlänge | |
DE3819425A1 (de) | Anordnung zum automatischen pruefen von speichern | |
DE10392667T5 (de) | Ereignisbasiertes IC-Testsystem | |
DE19855488A1 (de) | Testmustergenerator mit verbesserter Testsequenzverdichtung | |
DE10297319T5 (de) | Anwendungsspezifisches ereignisbasiertes Halbleiterspeicher-Testsystem | |
DE10055456A1 (de) | Halbleiterprüfsystem zur Prüfung von Mischsignalbauteilen | |
DE69107476T2 (de) | Vorrichtung für eine in-circuit-prüfung mit einem minimalspeicher. | |
DE10315248A1 (de) | Eingebaute Selbsttestschaltung | |
DE602004009784T2 (de) | Datenkomprimierung | |
DE102013114512B4 (de) | Globales Einfangschema mit niedriger Leistung für Kerne | |
DE19952262A1 (de) | Schaltungssystem und Verfahren zum Prüfen von Mikroprozessoren |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8127 | New person/name/address of the applicant |
Owner name: VERIGY (SINGAPORE) PTE. LTD., SINGAPORE, SG |
|
R082 | Change of representative |
Representative=s name: SCHOPPE, ZIMMERMANN, STOECKELER, ZINKLER & PAR, DE Representative=s name: SCHOPPE, ZIMMERMANN, STOECKELER, ZINKLER & PARTNER |
|
R081 | Change of applicant/patentee |
Owner name: ADVANTEST (SINGAPORE) PTE. LTD., SG Free format text: FORMER OWNER: VERIGY (SINGAPORE) PTE. LTD., SINGAPORE, SG Effective date: 20120515 |
|
R082 | Change of representative |
Representative=s name: SCHOPPE, ZIMMERMANN, STOECKELER, ZINKLER, SCHE, DE Effective date: 20120515 Representative=s name: SCHOPPE, ZIMMERMANN, STOECKELER, ZINKLER & PAR, DE Effective date: 20120515 |
|
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |