-
Die
vorliegende Erfindung betrifft ein Verfahren zum Liefern von Abtastmustern
zu einer elektronischen Vorrichtung.
-
Ein
Schaltungstest kann allgemein in zwei Klassen eingeteilt werden:
funktional und strukturell. Bei einem Funktionstest 1) emuliert
ein Testingenieur und/oder eine Software die Stimuli und Antworten, die
eine Schaltung an den Eingängen
und Ausgängen
derselben während
einer normalen Verwendung empfangen/erzeugen könnte, 2) legt die Stimuli an die
Eingänge
der Schaltung an, 3) erfasst Antworten auf die Stimuli an den Ausgängen der
Schaltung und 4) vergleicht die erfassten Antworten mit den erwarteten
Antworten. Bei einem Strukturtest hat eine beabsichtigte Funktion
einer Schaltung wenig oder keinen Einfluss auf die Erzeugung von
Schaltungstests. Vielmehr wird eine Schaltung mit einer Mehrzahl
von Speicherungselementen versehen, die verbunden sind, um eine
Abtastkette um einen logischen Kombinations-„Kern" herum zu bilden. Ein Schaltungstestmuster
wird dann in die Speicherungselemente verschoben; das Muster wird
in den logischen Kern eingekoppelt; und eine Antwort auf das Testmuster
wird dann über
die Elemente der Abtastkette erfasst. Die erfasste Antwort wird
dann aus den Speicherungselementen heraus verschoben und mit einer
erwarteten Antwort verglichen. Durch ein Prüfen des logischen Kerns unter
Verwendung einer Vielfalt von Testmustern kann man ableiten, dass
die Struktur des logischen Kerns vorhanden und geeignet verbunden
ist. Falls die Struktur des logischen Kerns vorhanden und geeignet
verbunden ist, kann man dann ableiten, dass derselbe wie entworfen
arbeiten sollte. Ein Strukturtest ist deshalb dahingehend vorteilhaft,
dass man eine Funktion einer Schaltung weder emulie ren noch verstehen
muss, sondern lediglich die Logik derselben prüfen muss.
-
Eine
Schaltung, die für
einen Strukturtest entworfen ist, weist typischerweise „Entwurf-für-Test"-Strukturen (DFT-Strukturen; DFT =
design-for-test) auf. In einem einfachen Fall können DFT-Strukturen lediglich
eine Mehrzahl von Speicherungselementen aufweisen, die verbunden
sind, um eine Abtastkette zu bilden. In komplexeren Fällen können DFT-Strukturen Speicherungselemente
aufweisen, die in mehreren Abtastketten verbunden sind; oder DFT-Strukturen
können
eine eingebaute Selbsttest-Hardware (BIST-Hardware; BIST = built-in self-test)
aufweisen, die 1) Abtastmuster innerhalb eines Testobjekts erzeugt
und 2) optional Antworten auf Abtastmuster sammelt und dieselben
in eine oder mehrere Ausgangssignaturen komprimiert.
-
Die
WO 01/38889 A1 beschreibt ein Verfahren und eine Vorrichtung zum
selektiven Zusammenfassen von Testantworten, die unbekannte Werte oder
mehrere fehlerhafte Defekte einer Testumgebung enthalten. Die Ausgangssignale
einer oder mehrerer einer Mehrzahl von Abtastketten kann für diese
Zusammenfassung ausgewählt
werden, abhängig
von einem extern bereiten Auswahlsignal.
-
Die
DE 10122619 C1 beschreibt
eine Testschaltung zum Testen einer synchronen Schaltung, wobei
die Testschaltung einen Testdatenmustergenerator umfasst, der Testmuster
an eine zu testende Schaltung bereitstellt. Die Testschaltung empfängt die
Antwortsignale von der Schaltung und gibt an ein externes Testgerät ein kurzes
Fehlerdatenwort aus, falls in der Antwort von dem zu testenden Gerät ein Fehler
aufgefunden wird. In diesem Fall wird ferner das gesamte, vom Testgerät empfangene
Antwortsignal zur Auswertung an das externe Testgerät übertragen.
-
In
dem Artikel „Pattern
Generation for a Deterministic BIST Scheme" von Sybille Hellebrand, u.a., in Proc.
International Conference on Computer-Aided Design 1995, ICCAD-95,
IEEE/ACM, San Jose, USA, 1995, Seiten 88-94 wird die Mustererzeugung
für ein
deterministisches BIST-Schema beschrieben. Dieses Schema codiert
deterministische Testsätze
mit geringem Aufwand und ermöglicht Testsätze, die
effizient codiert werden können.
-
Es
ist die Aufgabe der vorliegenden Erfindung, ein Verfahren zum Liefern
von Abtastmustern zu einer elektronischen Vorrichtung zu schaffen
und hierfür
eine Datenverarbeitungsanlage zu verwenden.
-
Diese
Aufgabe wird durch ein Verfahren gemäß Anspruch 1 gelöst.
-
Bei
einem Ausführungsbeispiel
liefert ein Verfahren Abtastmuster zu einer elektronischen Vorrichtung
bzw. einem elektrischen Bauelement, die bzw. das eine eingebaute
Selbsttest-Hardware (BIST-Hardware; BIST = built-in selftest) aufweist. Die
BIST-Hardware weist einen Produktionstestmodus und einen Diagnosetestmodus
auf und die elektronische Vorrichtung gibt eine oder mehrere Antwortsignaturen
in dem Produktionstestmodus aus und gibt Rohantwortdaten in dem
Diagnosetestmodus aus. In einem Produktionstestmodus verwendet das
Verfahren eine automatische Testausrüstung (ATE = automated test
equipment), um 1) eine erste Reihe von Abtasttestmustern zu der
BIST-Hardware zu liefern und 2) Antwortsignaturen zu erfassen und dieselben
mit erwarte ten Antwortsignaturen zu vergleichen, um eine Anzahl
von durchfallenden Abtasttestmustern zu identifizieren. Das Verfahren
verwendet dann die ATE, um eine Anzahl von eindeutigen Etiketten
zu identifizieren, die den durchfallenden Abtasttestmustern zugeordnet
sind. In einem Diagnosetestmodus verwendet das Verfahren die ATE,
um 1) eine zweite Reihe von Abtasttestmustern zu der BIST-Hardware
zu liefern und 2) Rohantwortdaten zu erfassen. Die Abtasttestmuster
in der zweiten Reihe von Abtasttestmustern entsprechen den identifizierten
Etiketten.
-
Bei
einem anderen Ausführungsbeispiel
liefert ein Verfahren Abtastmuster zu Eingangsanschlussstiften einer
elektronischen Vorrichtung. Jeder Eingangsanschlussstift ist einer
eingebauten Selbsttest-Hardware (BIST-Hardware) zugeordnet, die
einen Produktionstestmodus und einen Diagnosetestmodus aufweist.
In dem Produktionsmodus gibt die elektronische Vorrichtung eine
oder mehrere Antwortsignaturen an Ausgangsanschlussstiften der Vorrichtung
aus und in dem Diagnosetestmodus gibt die Vorrichtung Rohantwortdaten
an den Aungangsanschlussstiften aus. In einem Produktionstestmodus
verwendet das Verfahren eine ATE, um 1) eine Reihe von Abtasttestmustern
zu den Eingangsanschlussstiften der Vorrichtung zu liefern und 2)
Antwortsignaturen an den Ausgangsanschlussstiften der Vorrichtung
zu erfassen. Die erfassten Antwortsignaturen werden dann mit erwarteten
Antwortsignaturen verglichen, um eine Anzahl von durchfallenden
Abtasttestmustern jedem Eingangsanschlussstift entsprechend zu identifizieren.
Das Verfahren verwendet dann die ATE, um eine Anzahl von eindeutigen Etiketten
zu identifizieren, die den durchfallenden Abtasttestmustern zugeordnet
sind. In einem Diagnosetestmodus und für jeden Eingangsanschlussstift
verwendet das Verfahren die ATE, um 1) eine zweite Reihe von Abtasttestmustern
zu dem Eingangsanschlussstift zu liefern und 2) Rohantwortdaten
zu erfassen. Die Abtasttestmuster in der zweiten Reihe von Abtasttestmustern
entsprechen den identifizierten Etiketten für den Eingangsanschlussstift.
-
Andere
Ausführungsbeispiele
sind ebenfalls offenbart.
-
Darstellende
und gegenwärtig
bevorzugte Ausführungsbeispiele
der Erfindung sind in den Zeichnungen dargestellt.
-
Bevorzugte
Ausführungsbeispiele
der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf
die beiliegenden Zeichnungen näher
erläutert.
Es zeigen:
-
1 ein
exemplarisches System auf einem Chip (SOC = system-on-a-chip), das
eine BIST-Hardware sowie eine automatische Testausrüstung zum Testen
des SOC umfasst;
-
2 ein
exemplarisches Verfahren zum Liefern von Abtastmustern zu einer
elektronischen Vorrichtung, die eine BIST-Hardware aufweist, wie beispielsweise
diese, die in 1 gezeigt ist;
-
3 ein
exemplarisches Verfahren zum Liefern von Abtastmustern zu einer
elektronischen Vorrichtung, die eine BIST-Hardware aufweist (wie beispielsweise
diese, die in 1 gezeigt ist), die jedem einer
Anzahl der Eingangs- und Ausgangsanschlussstifte derselben zugeordnet
ist; und
-
4 einen
exemplarischen Programmcode, der auf computerlesbaren Medien gespeichert sein
kann, um eine Ausführung
eines Verfahrens zu bewirken, wie beispielsweise diesem, das in 2 dargestellt
ist.
-
Eine
DFT-Struktur, die in eine Schaltung, und insbesondere ein System
auf einem Chip (SOC), eingegliedert werden kann, ist eine deterministische BIST-Struktur,
wie beispielsweise die DBIST-Struktur, die durch Synopsis, Inc.
(aus Mountain View, Kalifornien, USA) angeboten wird.
-
Ein
SOC 100, das eine deterministische BIST-Struktur umfasst,
ist in 1 gezeigt. Die deterministische BIST-Struktur weist beispielsweise
einen Mustergenerator 102 und einen Signaturanalysator 104 auf.
Zwischen den Mustergenerator 102 und den Signaturanalysator 104 ist
eine Mehrzahl von Abtastketten 106, 108, 110, 112 gekoppelt.
Bei Gebrauch wird ein extern erzeugter Abtast-„Keim" (d. h. ein Keim, der durch eine ATE 114 geliefert
wird) zu dem Mustergenerator 102 geliefert. Der Mustergenerator 102 verwendet
dann den Keim als eine Basis zum Erzeugen einer Mehrzahl von Abtastmustern,
die dann in die verschiedenen Abtastketten 106-112 verschoben
werden. Nach einem Einkoppeln der Muster von den Abtastketten 106-112 werden
Antworten auf die Muster über
die Abtastketten 106-112 erfasst und zu dem Signaturanalysator 104 verschoben.
Bei einem deterministischen BIST kann der Signaturanalysator 104 ein
Mehr-Eingang-Schieberegister
(MISR = multiple-input shift register) aufweisen, das zum Umwandeln
von hundertausenden verschobener Bits in eine 128-Bit-Signatur in
der Lage ist.
-
Eine
deterministische BIST-Struktur Kann in mehreren Modi wirksam sein,
einschließlich
eines Produktionstestmodus und eines Diagnosetestmodus. In dem Produktionstestmodus
sind die Abtastketten 106-112 eines SOC zwischen
den deterministischen BIST-Mustergenerator 102 und den
Signaturanalysator 104 gekoppelt, wie es in 1 gezeigt
ist. In dem Diagnosetestmodus sind die Abtastketten 106-112 des
SOC mit dem Mustergenerator 102 gekoppelt, aber von dem
Signaturanalysator 104 entkoppelt (d. h. die Ausgänge derselben
umgehen den Signaturanalysator 104). Somit können in
einem Diagnosetestmodus Rohantwortdaten von den Abtastketten 106-112 gewonnen
bzw. erfasst werden. Diese Rohantwortdaten können dann außerhalb
des SOC 100 detaillierter analysiert werden.
-
Typischerweise
wird während
eines „ersten Durchlaufs" eines Abtasttestens
eine deterministische BIST-Hardware 102, 104 in
den Produktionstestmodus versetzt. Während dieses ersten Durchlaufs
werden durchfallende Abtastintervalle (d. h. Gruppen von Abtastmustern)
identifiziert. Während eines
zweiten Durchlaufs kann die deterministische BIST-Hardware 102, 104 in
den Diagnosetestmodus versetzt werden und die Abtastmuster der durchfallenden
Intervalle können
wiederholt werden.
-
Um
die Abtastmuster der durchfallenden Intervalle zu wiederholen, musste
ein Testingenieur typischerweise die Speicherpositionen der durchfallenden
Intervalle unter Verwendung von durch einen Entwurfsingenieur gelieferten
Informationen manuell identifizieren. Der Testingenieur musste dann
Vektordaten manipulieren, um die durchfallenden Intervalle zu wiederholen,
und musste sicher gehen, dass Testerspeicherbegrenzungen nicht überschritten
wurden (d. h. da große
Volumen von Rohantwortdaten manchmal Testerspeicherbegrenzungen überschreiten
können.
Diese hauptsächlich
manuellen Schritte sind zeitraubend und fehleranfällig und
dieselben können
eine erhebliche Verzögerung
und Unterbrechung während
eines Produktionstestens bewirken. 2 stellt
deshalb ein neues Verfahren zum Liefern von Testmustern zu einer
elektronischen Vorrichtung dar, die eine BIST-Hardware aufweist,
wie beispielsweise dieselbe, die in 1 gezeigt
ist.
-
Das
Verfahren 200 geht wie folgt vonstatten. In einem Produktionstestmodus
wird eine automatische Testausrüstung
(ATE = automated test equipment) verwendet 202, um 1) eine
erste Reihe von Abtasttestmustern zu der BIST-Hardware einer elektronischen
Vorrichtung zu liefern und 2) Antwortsignaturen zu erfassen und
dieselben mit erwarteten Antwortsignaturen zu vergleichen. Die Ergebnisse
der Vergleiche können
dann verwendet werden, um eine Anzahl von durchfallenden Abtasttestmustern
zu identifizieren. Die ATE wird dann verwendet 204, um eine
Anzahl von eindeutigen Etiketten zu identifizieren, die den durchfallenden
Abtasttestmustern zugeordnet sind. In einem Diagnosetestmodus wird
die ATE verwendet 206, um 1) eine zweite Reihe von Abtast testmustern
zu der BIST-Hardware zu liefern und 2) Rohantwortdaten zu erfassen.
Die Abtasttestmustern in der zweiten Reihe entsprechen den identifizierten
Etiketten.
-
Bei
einem Ausführungsbeispiel
des Verfahrens (200) kann jede Reihe von Abtasttestmustern mehrere
Intervalle von Abtasttestmustern aufweisen (z. B. wie es der Fall
bei dem DBIST von Synopsis ist). Die Anzahl von durchfallenden Abtasttestmustern
kann durch ein Identifizieren von Etiketten identifiziert werden,
die einer Anzahl von durchfallenden Intervallen von Abtasttestmustern
entsprechen.
-
Eindeutige
Etiketten können
unterschiedlichen Abtastmustern oder unterschiedlichen Intervallen
von Abtastmustern z. B. durch ein getrenntes Speichern jedes der
unterschiedlichen Abtastmuster (oder Intervalle von Abtastmustern)
zugeordnet werden. Auf diese Weise können unterschiedliche Vektoren
von Abtastmustern aus den gleichen Testmustern kompiliert werden,
ungeachtet dessen, ob die BIST-Hardware in einen Produktionstestmodus
oder einen Diagnosetestmodus versetzt ist. Obwohl Etiketten lediglich
für jedes
Intervall vorgesehen sein müssen,
kann eine feinere Granularität
von Etiketten (d. h. Etiketten für
jedes Abtastmuster) manchmal eine effizientere Verwendung einer
Produktionstestzeit und eines Speichers liefern.
-
In
einigen Fällen
kann die Reihe von Abtasttestmustern, die zu einer elektronischen
Vorrichtung während
eines Produktionstestmodus geliefert werden, innerhalb eines einzigen
Produktionstestvektors (z. B. in einem „Burst"- bzw. „Stoß"-Modus) ausgeführt werden. Dann kann eine
ATE während
eines Diagnosetestmodus eine Mehrzahl von Diagnosetestvektoren (z.
B. einen Vektor für
jedes identifizierte Etikett in einem „Unburst"-Modus oder Vektoren für Gruppen
von Etiketten, die in der Erzeugung von Rohantwortdaten resultieren,
die in die Speicherbegrenzungen der ATE passen) dynamisch erzeugen und
ausführen;
oder die ATE kann die identi fizierten Etiketten dynamisch in einen
einzigen Diagnosetestvektor (z. B. in einem „Burst"-Modus) kompilieren.
-
Die
durch das Verfahren 200 verwendete ATE kann beispielsweise
ein System-auf-einem-Chip-Tester (SOC-Tester) sein, wie beispielsweise
der SOC-Tester 93000, der durch Agilent Technologies, Inc. (aus
Palo Alto, Kalifornien) angeboten wird. In Anbetracht dessen, dass
der SOC-Tester 93000 zum Liefern von Daten zu einer Mehrzahl von Vorrichtungsanschlussstiften
und Sammeln von Daten von denselben parallel in der Lage ist, ist
das Verfahren 300 jedoch eventuell besser geeignet, um
die Fähigkeiten
des SOC-Testers 93000 auszunutzen.
-
Das
Verfahren 300 ist wie folgt wirksam. In einem Produktionstestmodus
wird eine ATE verwendet 302, um 1) eine Reihe von Abtasttestmustern
zu einer Mehrzahl von Eingangsanschlussstiften einer elektronischen
Vorrichtung zu liefern und 2) Antwortsignaturen an Ausgangsanschlussstiften
der elektronischen Vorrichtung zu erfassen. Die erfassten Antwortsignaturen
werden dann mit erwarteten Antwortsignaturen verglichen, um eine
Anzahl von durchfallenden Abtasttestmustern entsprechend jedem Eingangsanschlussstift
zu identifizieren. Die ATE wird dann verwendet 304, um
eine Anzahl von eindeutigen Etiketten zu identifizieren, die den
durchfallenden Abtasttestmustern zugeordnet sind. In einem Diagnosetestmodus
und für
jeden Eingangsanschlussstift wird die ATE verwendet 306,
um 1) eine zweite Reihe von Abtasttestmustern zu dem Eingangsanschlussstift
zu liefern und 2) Rohantwortdaten zu erfassen. Die Abtasttestmuster
in der zweiten Reihe von Testmustern entsprechen den identifizierten
Etiketten für
den Eingangsanschlussstift.
-
Bei
einem Ausführungsbeispiel
des Verfahrens 300 kann jede Reihe von Abtasttestmustern mehrere
Intervalle von Abtasttestmustern aufweisen (z. B. wie es der Fall
bei dem DBIST von Synopsis ist). Die Anzahl von durchfallenden Abtasttestmustern
kann dann durch ein Identifizieren einer Anzahl von Etiketten entsprechend
durchfallenden Intervallen von Abtasttestmustern identifiziert werden.
-
In
einigen Fällen
kann die Reihe von Abtasttestmustern, die zu einem Eingangsanschlussstift während eines
Produktionstestmodus geliefert werden, innerhalb eines einzigen
Produktionstestvektors ausgeführt
werden. In anderen Fällen
können
alle Reihen von Abtasttestmustern, die zu Eingangsanschlussstiften
einer elektronischen Vorrichtung geliefert werden, innerhalb eines
einzigen Produktionstestvektors ausgeführt werden.
-
Während des
Diagnosetestmodus kann eine ATE eine Mehrzahl von Diagnosetestvektoren
für jeden
Eingangsanschlussstift einer Vorrichtung dynamisch erzeugen und
ausführen.
Zum Beispiel kann die ATE einen Vektor für jedes identifizierte Etikett ausführen oder
kann Vektoren für
Gruppen von Etiketten ausführen,
die in der Erzeugung von Rohantwortdaten resultieren, die in die
Speicherbegrenzungen der ATE passen. Alternativ kann die ATE die identifizierten
Etiketten dynamisch in einen einzigen Diagnosetestvektor für jeden
Anschlussstift oder einen einzigen Diagnosetestvektor für die Vorrichtung kompilieren.
-
Beide
Verfahren 200, 300, einschließlich Varianten derselben,
können
in einem Programmcode 402-414 verkörpert sein,
der auf computerlesbaren Medien 400 gespeichert ist, wie
beispielsweise einem Speicher oder einer Platte (entweder fest oder entfernbar).
Es ist zu beachten, dass „Speicher" hierin als sowohl
eine einheitliche Speicherstruktur oder eine verteilte oder funktionsspezifische
Speicherstruktur abdeckend aufzufassen ist. Zum Beispiel weist der
SOC-Tester 93000
eine Speicherstruktur auf, die in Pro-Anschlussstift-Vektor- und Sequenzer-Speicher
zum Speichern eines Vektors bzw. Sequenzers (d. h. Programmanweisungen)
für jeden Anschlussstift
des SOC-Testers 93000 unterteilt ist.
-
In
dem Fall des Verfahrens 200 kann der Programmcode einen
Programmcode aufweisen, um zu bewirken, dass eine ATE eine BIST-Hardware
einer elektronischen Vorrichtung in einen Produktionstestmodus versetzt 402.
Während
sich die BIST-Hardware
in einem Produktionstestmodus befindet, kann dann der Programmcode
bewirken, dass die ATE 1) eine erste Reihe von Abtasttestmustern
zu der BIST-Hardware liefert 404, 2) Antwortsignaturen entsprechend
den Abtasttestmustern erfasst 406 und 3) die erfassten
Antwortsignaturen mit erwarteten Antwortsignaturen vergleicht 408,
um eine Anzahl von durchfallenden Abtasttestmustern zu identifizieren.
Der Programmcode kann dann eine Anzahl von eindeutigen Etiketten
identifizieren 410, die den durchfallenden Abtasttestmustern
zugeordnet sind. Danach kann der Programmcode bewirken, dass die ATE
die BIST-Hardware der Vorrichtung in einen Diagnosetestmodus versetzt 412.
Während
die BIST-Hardware
sich in einem Diagnosetestmodus befindet, kann der Programmcode
bewirken, dass die ATE 1) eine zweite Reihe von Abtasttestmustern zu
der BIST-Hardware liefert 404 und 2) Rohantwortdaten entsprechend
den Abtasttestmustern erfasst 416. Wie vorhergehend angemerkt,
können
die Abtasttestmuster in der zweiten Reihe denselben entsprechen,
die durch Etiketten identifiziert sind, die durchfallenden Abtasttestmustern
zugeordnet sind.
-
Andere
Merkmale und Variationen des Verfahrens 200 sowie Merkmale
und Variationen des Verfahrens 300 können in einer ähnlichen
Weise in einem Programmcode verkörpert
sein.