DE10127337A1 - Verfahren und Vorrichtung zum Erzeugen von beim Testen von Halbleiter-ICs verwendeten Testmustern - Google Patents

Verfahren und Vorrichtung zum Erzeugen von beim Testen von Halbleiter-ICs verwendeten Testmustern

Info

Publication number
DE10127337A1
DE10127337A1 DE10127337A DE10127337A DE10127337A1 DE 10127337 A1 DE10127337 A1 DE 10127337A1 DE 10127337 A DE10127337 A DE 10127337A DE 10127337 A DE10127337 A DE 10127337A DE 10127337 A1 DE10127337 A1 DE 10127337A1
Authority
DE
Germany
Prior art keywords
list
test pattern
error
client system
test
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.)
Ceased
Application number
DE10127337A
Other languages
English (en)
Inventor
Masahiro Ishida
Takahiro Yamaguchi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advantest Corp
Original Assignee
Advantest Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Advantest Corp filed Critical Advantest Corp
Publication of DE10127337A1 publication Critical patent/DE10127337A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/2851Testing of integrated circuits [IC]
    • G01R31/2882Testing timing characteristics
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/31813Test pattern generators
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318328Generation of test inputs, e.g. test vectors, patterns or sequences for delay tests
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/319Tester hardware, i.e. output processing circuits
    • G01R31/31917Stimuli generation or application of test patterns to the device under test [DUT]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers

Abstract

Eine Testmusterfolge, die dazu verwendet wird, einen Laufzeitfehler oder einen Offen-Fehler zu testen, der einer bei einem IC auftretenden Verzögerung zugrundeliegt, wird einfach und schnell erzeugt. Eine Liste von Stellen, wie beispielsweise Logikgatter und Signalleitungen in der Schaltung, wo es wahrscheinlich ist, daß ein Fehler auftritt, wird angefertigt (Schritt 101). Einer der Fehler wird ausgewählt, und ein Initialisierungstestmuster v1, das einen Anfangswert zum Aktivieren des Fehlers an der Stelle eines Fehlers bereitstellt, wird von der Implikationsoperation ermittelt (Schritt 103), und ein Fortpflanzungstestmuster v2, das bewirkt, daß sich ein Hängenbleibfehler zu einem folgenden Gatter fortpflanzt, wird durch die Implikationsoperation ermittelt (Schritt 105). Eine aus v1 und v2 gebildete Folge wird in einer Testmusterliste registriert (Schritt 107), und die beschriebenen Operationen werden wiederholt, bis kein nicht-verarbeiteter Fehler in der Fehlerliste verbleibt.

Description

HINTERGRUND DER ERFINDUNG
Die Erfindung betrifft ein Verfahren und eine Vorrichtung zum Erzeugen von beim Testen von Halbleiter-ICs verwendeten Testmustern, und insbesondere ein Verfahren und eine Vorrichtung zum Erzeugen von Testmustern, die zum Erfassen eines Gatterlaufzeitfehlers, eines zu einem Gatterlaufzeitfehler führenden Offen-Fehlers und eines Weglaufzeitfehlers mit Hilfe eines transienten Speisestromsignals bzw. Übergangsspeisestromsignals verwendet werden.
Testmuster zum Testen einer abnormalen Laufzeit eines Logikgatters in einem im Test befindli­ chen Halbleiter-IC (nachstehend als "Gatterlaufzeitfehler" bezeichnet) werden im Stand der Technik geschaffen, indem ein Testmuster, das ein Ausgangssignal aus einem im Test befindli­ chen Logikgatter der Schaltung auf einen Signalwert (Anfangslogikwert) initialisiert, und ein anderes Testmuster erzeugt werden, das das im Test befindliche Logikgatter auf einen Hängen­ bleibfehler oder einen Fehler, bei dem das Ausgangssignal aus dem im Test befindlichen Logikgat­ ter auf den Anfangslogikwert fixiert ist, testet. Fig. 1a zeigt ein Beispiel der im Test befindlichen Halbleiterschaltung. Die Schaltung enthält Eingangsanschlüsse x2 und x3, die mit den Eingängen eines NAND-Gatters G1 verbunden sind. Die Eingangsanschlüsse x3 und x4 sind mit den Eingän­ gen eines NAND-Gatters G2 verbunden. Die Ausgangssignale aus den NAND-Gattern G1 und G2 werden an das NAND-Gatter G3 geleitet, dessen Ausgangssignal zusammen mit einem am Eingangsanschluß x1 angelegten Eingangssignal an ein NOR-Gatter G4 geleitet wird. Das Aus­ gangssignal aus dem NAND-Gatter G3 wird außerdem zusammen mit einem am Eingangsanschluß x5 angelegten Eingangssignal an ein NAND-Gatter G5 geleitet. Die Ausgangssignale aus dem NOR-Gatter G4 und dem NAND-Gatter G5 werden an ein NOR-Gatter G6 geleitet, dessen Ausgang mit einem Ausgangsanschluß Z1 verbunden ist.
Für die dargestellte im Test befindliche Halbleiterschaltung wird in nachstehend beschriebener Weise ein Testmuster erzeugt, das einen "Langsam-Anstieg"-Gatterlaufzeitfehler des Logikgatters G3 untersucht. Zuerst wird ein Testmuster x1 = x, x2 = x, x3 = 0, x4 = x und x5 = x, das einen Anfangswert von "0" am Ausgang des fehlerhaften Gatters G3 produziert, ermittelt, wie in Fig. 1a gezeigt. Hier bedeutet "x" einen "Egal"-Wert von entweder "1" oder "0". Dieses Testmuster wird nachstehend als v1 = (xx0xx) bezeichnet. Wenn ein Hängenbleibfehler am fehlerhaften Gatter G3 so angenommen wird, daß dessen Ausgangssignal auf den Anfangswert von "0" fixiert ist, wird dann ein Testmuster v2 = (0x111) ermittelt, das es ermöglicht, daß der Hängenbleib­ fehler auf der Ausgangssignalleitung der Halbleiterschaltung erfaßt werden kann (vgl. Fig. 1(b)). Als Konsequenz wird eine Testmusterfolge, die einen Langsam-Anstieg-Fehler am Gatter G3 erfaßt, zu T = < v1, v2 < = <"xx0xx", "0x111"< definiert. Eine Technik zum Erzeugen von Testmustern für den Gatterlaufzeitfehler ist beispielsweise offenbart in E. S. Park und M. R. Mercer, "An Efficient Delay Test Generation System for Combinatorial Logic Circuits", Trans­ actions on Computer-Aided Design, 11(7), Seiten 926-938, 1992 oder U. Mahlstedt, "DELTEST: Deterministic Test Generation for Gate Delay Faults", Proceedings of IEEE International Test Conference, Seiten 972-980, 1993.
Ein Signalfortpflanzungsweg in einem Halbleiter-IC wird als ein Weg bezeichnet. Ein Zeitintervall, das ein Signal benötigt, um sich von einer Eingangssignalleitung zu einer Ausgangssignalleitung eines Wegs fortzupflanzen, wird als Weglaufzeit bezeichnet. Wenn eine Weglaufzeit einen gegebenen Wert übersteigt, arbeitet eine Schaltung nicht normal, und dies wird als Weglaufzeit­ fehler bezeichnet. Im allgemeinen sind zwei Testmuster zum Testen eines Laufzeitfehlers erforderlich, und sie werden gewöhnlich als Testvektorpaar oder als Testmusterfolge bezeichnet. In der herkömmlichen Praxis wird eine Testmusterfolge, die einen Weglaufzeitfehler in einem IC testet, erzeugt, indem ein in Fig. 2 gezeigtes System mit fünf Logikwerten verwendet wird und die Logikwerte verschiedenen Signalleitungen in der im Test befindlichen Schaltung gemäß einer in Fig. 3 gezeigten Implikationstabelle oder einer in Fig. 4 gezeigten Aktivierungstabelle zugewie­ sen werden: In Fig. 2 bleibt S0 für beide Muster v1 oder v2 "0"; S1 bleibt für beide Muster v1 oder v2 "1"; U0 ist gleich "x" für Muster v1 und ist gleich "0" für Muster v2; U1 ist gleich "x" für Muster v1 und ist gleich "1" für Muster v2; und XX bleibt "x" für beide Muster v1 oder v2.
Ausgangszustände eines in Fig. 3a1 gezeigten UND-Gatters, wenn dessen Eingangsanschlüsse x1, x2 verschiedene Kombinationen aus S0, U0, S1, U1 und XX annehmen, sind in der Implika­ tionstabelle von Fig. 3a2 dargestellt. Um ein Beispiel zu geben, wenn x1 gleich S0 ist und x2 gleich U0 ist, folgt, daß v1 = <0,x< und v2 = <0,0<, und somit ist das Ausgangssignal <0,0< = S0. Ausgangszustände eines in Fig. 3b1 gezeigten NOR-Gatters, wenn dessen Eingangsanschlüsse x1, x2 verschiedene Kombinationen aus S0, U0, S1; U1 und XX annehmen, sind in der Implikationstabelle von Fig. 3b2 dargestellt. In ähnlicher Weise sind Ausgangszu­ stände eines in Fig. 3c1 gezeigten Inverters, wenn ein einziger Eingangsanschluß x1 einen Wert von S0, U0, S1, U1 und XX annimmt, in der Implikationstabelle von Fig. 3c2 dargestellt.
Fig. 4a zeigt einen Wert des anderen Eingangssignals, um den Ausgangssignalstatus zu ändern oder die Schaltung zu aktivieren, wenn sich ein Eingangssignal in das UND-Gatter von "0" auf "1" geändert hat. Im vorliegenden Beispiel kann es S1 sein oder von "x" auf "1". Für das Beispiel von Fig. 4b, wo sich ein Eingangssignal von "1" auf "0" ändert, kann das andere Eingangssignal U1 sein oder "1" bleiben, um den Ausgangssignalzustand zu ändern (oder die Schaltung zu aktivieren). Fig. 4c zeigt die Logik mit fünf Werten des anderen Eingangssignals, das zum Aktivieren der jeweiligen Gatter erforderlich ist, wenn ein Eingangssignal in das UND-Gatter, NAND-Gatter, ODER-Gatter oder NOR-Gatter von "0" auf "1" ansteigt oder von "1" auf "0" abfällt.
Bei einem in Fig. 5a gezeigten IC werden die Eingangssignale von Eingangsanschlüssen x1 und x2 an ein UND-Gatter G1 geleitet; die Eingangssignale von Eingangsanschlüssen x3 und x4 werden an ein ODER-Gatter G2 geleitet; das Eingangssignal vom Eingangsanschluß x1 wird an einen Inverter G3 geleitet; ein Ausgangssignal aus dem Inverter G3 und ein Eingangssignal von einem Eingangs­ anschluß x5 werden an ein UND-Gatter G5 geleitet; die Ausgangssignale aus den Gattern G1 und G2 werden an ein NOR-Gatter G4 geleitet; und die Ausgangssignale aus den Gattern G4 und G5 werden an ein ODER-Gatter G6 geleitet. Um ein Testmuster für einen Weglaufzeitfehler, der auf einem in dicken Linien gezeigten Weg P in diese Schaltung oder einem sich vom Eingangsan­ schluß x3 über G2, G4 und G6 zur Ausgangsleitung erstreckenden Weg auftreten könnte, zu erzeugen, werden anfangs Übergangssignale gemäß Darstellung in Fig. 5a auf Signalleitungen geliefert, die sich auf dem im Test befindlichen Weg P befinden, es wird die in Fig. 4c gezeigte Aktivierungstabelle verwendet, um Signalwerte, die die Gatter G2, G6 aktivieren, an Seitenein­ gänge anzulegen, nämlich an Eingangssignalleitungen zu den Logikgattern G2, G6, die sich nicht auf dem Weg P befinden, wie in Fig. 5b gezeigt, und schließlich werden Signalwerte, die an einzelne Eingangssignalleitungen angelegt werden sollen, auf der Basis von Signalwerten ermittelt, die in der vorgenannten Weise zugeteilt worden sind, wobei die in Fig. 3 gezeigte Implikationstabelle verwendet wird, wie in Fig. 6 dargestellt. Bei dem in den Fig. 5 und 6 gezeigten Beispiel wird die Testmusterfolge, die den Weglaufzeitfehler auf dem Weg P testet, zu T = <v1, v2< = <"S0 XX U1 S0 U0"< = <"0x00x", "0x100"< ermittelt. Eine Technik zum Erzeugen von Testmustern für den Weglaufzeitfehler ist beispielsweise offenbart in C. J. Lin und S. M. Reddy, "On Delay Fault Testing in Logic Circuits", Transactions on Computer-Aided Design, CAD-6(5), Seiten 694-703, 1987 (als Dokument 1 bezeichnet) oder K. T. Cheng, A. Kristic und H. C. Chen, "Generation of High Quality Tests for Robustly Untestable Path Delay Faults", Transactions on Computers, 45(12), Seiten 1379-1392, 1996.
Das oben unter Bezug auf Fig. 1 beschriebene Verfahren zur Erzeugung von Testmustern unterliegt der Beschränkung, daß der Einfluß eines Fehlers zu einem Ausgangsanschluß (Pin) einer im Test befindlichen Schaltung fortgepflanzt werden muß, da die Technik auf der Beobach­ tung eines Spannungssignals an einem Ausgangsanschluß (Pin) der im Test befindlichen Schaltung basiert und daher beinhaltet die Erzeugung von Testmustern eine Schwierigkeit. Um genauer gesagt auf einen kleinen Gatterlaufzeitfehler zu testen, bei dem eine Zunahme der Gatterlaufzeit minimal oder kleiner als eine Taktperiode der im Test befindlichen Schaltung ist, muß ein Ausgangssignal aus einem fehlerhaften Gatter durch einen Signalübertragungsweg mit der größten Laufzeit zum Ausgangsanschluß (Pin) fortgepflanzt werden, und daher ist es sehr schwierig, zwei Testmuster (Testvektorpaar oder Testmusterfolge) zu erzeugen, um den Fehler zu aktivieren.
Bei einem herkömmlichen Verfahren zur Erzeugung von Testmustern erhöht das Erfordernis der Fortpflanzung des Einflusses eines Gatterlaufzeitfehlers und eines Offen-Fehlers bis zur Aus­ gangssignalleitung die Wahrscheinlichkeit, daß Logikwerte auf Signalleitungen, die durch die Implikationsoperation zur Erzeugung von Wegtestmustern erzeugt werden, unter Logikwerten auf Signalleitungen widersprüchlich werden können, was zu Schwierigkeiten führt, daß die Häufig­ keit, mit der die Einstellung von Signalen erneut versucht bzw. wiederholt werden muß (Rück­ läufe), um Testmuster zu erzeugen, zunimmt, und daß die Erzeugung von Testmustern eine größere Zeitspanne in Anspruch nimmt.
Somit besteht Bedarf für ein Verfahren zur Erzeugung von Testmustern, das einfach und schnell Testmusterfolgen erzeugen kann, um auf einen Gatterlaufzeitfehler oder einen zu einem Gatter­ laufzeitfehler führenden Offen-Fehler in einem IC zu testen.
Das oben unter Bezug auf die Fig. 5 und 6 beschriebene Verfahren zur Erzeugung von Testmus­ tern unterliegt der Beschränkung, daß nicht-steuernde Eingangswerte an Nebeneingängen oder jeder Eingangssignalleitung, die nicht auf den im Test befindlichen Weg angeordnet ist, bei jedem auf dem im Test befindlichen Weg angeordneten Logikgatter eingestellt werden müssen, um den im Test befindlichen Weg zu aktivieren, und der weiteren Beschränkung, daß keinerlei Störung (whisker-artiger Spannungsimpuls) auf dem im Test befindlichen Weg und Nebeneingängen vorhanden sein darf, um eine Testmusterfolge erzeugen zu können, die für ein robustes Weglauf­ zeitfehlertesten qualifiziert ist, d. h. Testergebnisse, die unabhängig von der Zeitlage der Abtas­ tung einer Ausgangsspannung sind. Als Konsequenz hieraus ist es sehr schwierig, eine Testmus­ terfolge zu erzeugen. Außerdem nimmt die Anzahl an Weglaufzeitfehlern, für die die Testmuster­ folge nicht erzeugt werden kann, zu, was ein Problem insofern darstellt, daß die Fehlerbeseiti­ gungsrate der Weglaufzeitfehler verschlechtert wird. Der nicht-steuernde Eingangswert bezieht sich auf einen Logikwert, der das Ausgangssignal eines Logikgatters nicht eindeutig festlegen kann. Beispielsweise ist ein nicht-steuernder Eingangswert für ein UND-Gatter oder ein NAND- Gatter ein Logikwert von "1", und ein nicht-steuernder Eingangswert für ein ODER-Gatter oder ein NOR-Gatter ist ein Logikwert von "0".
Somit besteht Bedarf für ein Verfahren zum Erzeugen von Testmustern, das einfach und effizient eine Testmusterfolge erzeugen kann, die bei den Weglaufzeitfehlern eines ICs verwendet werden kann.
Es ist eine Aufgabe der Erfindung, ein Verfahren und eine. Vorrichtung zum Erzeugen von Testmustern zu schaffen, die in der Lage sind, einfach und effizient eine Testmusterfolge zu erzeugen, die bei einem Laufzeitfehler oder einem Offen-Fehler in einem Halbleiter-IC verwendet werden können, indem eine sehr gut beobachtbare Übergangsspeisestrom (IDDT)-Testtechnik verwendet wird, die ein Übergangsphänomen in einer Schaltung testen kann.
Es ist eine andere Aufgabe der Erfindung, ein Verfahren und eine Vorrichtung zum Erzeugen von Testmustern zu schaffen, die auf einfache Weise eine Testmusterfolge erzeugen können, welche bei einem Weglaufzeitfehler in einem Halbleiter-IC verwendet werden kann und somit in der Lage ist, eine effiziente Testmusterfolge zu schaffen, indem eine sehr gut beobachtbare Übergangs­ speisestrom (IDDT)-Testtechnik verwendet wird, die ein Übergangsphänomen in einer Schaltung testen kann.
ZUSAMMENFASSUNG DER ERFINDUNG
Bei einem Verfahren zum Erzeugen einer Testmusterfolge zum Testen eines Halbleiter-ICs gemäß einem ersten Aspekt der vorliegenden Erfindung wird eine Liste von Fehlern angefertigt, die in einem im Test befindlichen Halbleiter-IC auftreten können, einer der Fehler, für den die Testmus­ ter erzeugt werden sollen, wird aus der Liste ausgewählt, ein Initialisierungstestmuster, das einen Anfangswert, der die Aktivierung des Fehlers bewirkt, an eine Stelle entsprechend dem ausge­ wählten Fehler anlegt, wird ermittelt, wobei angenommen wird, daß ein Fehler an der fehlerhaf­ ten Stelle auftritt, wo ein Hängenbleiben am Anfangswert auftritt, ein Fortpflanzungstestmuster, das den Hängenbleibfehler bis zum Ausgang eines folgenden Logikgatters fortpflanzt, das der fehlerhaften Stelle folgt, wird ermittelt, eine wie oben ermittelte, das Initialisierungstestmuster und das Fortpflanzungstestmuster umfassende Testmusterfolge wird in einer Testmusterliste registriert, und die Schritte einschließlich des Schritts des Auswählens des Fehlers und die diesem folgenden Schritte werden wiederholt, bis kein nicht-verarbeiteter Fehler mehr in der Fehlerliste existiert.
Die vorgenannte Testmusterfolge kann erzeugt werden, indem eine Testmusterfolge erzeugt wird, die Signalwerte entsprechend dem Logiksystem mit fünf Werten, die den ausgewählten Fehler aktivieren, an die Stellen entsprechend dem ausgewählten Fehler anlegt und die Signalwerte bis zum Ausgang eines der fehlerhaften Stelle folgenden Logikgatters fortpflanzt. Alternativ kann eine andere Technik verwendet werden.
Als weitere Alternative kann ein Client-System und eine Mehrzahl von Server-Systemen vorgese­ hen sein, wobei das Client-System die Fehlerliste anfertigt, die in eine Mehrzahl von Fehlerteillis­ ten unterteilt werden kann, die an die Mehrzahl von Server-Systemen übertragen werden, wo jedes der Server-Systeme einen der Fehler, für die Testmuster erzeugt werden sollen, aus der vom Client-System übertragenen Fehlerteilliste auswählt und eine Testmusterfolge ermittelt, die ein den Fehler aktivierendes Signal an die Stelle entsprechend dem ausgewählten Fehler anlegt und das Signal bis zu einem der Stelle des Fehlers folgenden Logikgatter fortpflanzt und die Testmusterfolge an das Client-System zurückgibt, wobei das Server-System dem Client-System immer dann mitteilt, daß es seine Verarbeitungsoperation abgeschlossen hat, wenn kein nicht­ verarbeiteter Fehler mehr in der Fehlerteilliste vorhanden ist, wobei das Client-System eine Testmusterfolge, die von der Mehrzahl von Servern zurückgegeben wird, in einer Testmusterliste registriert und bei Empfang von Benachrichtigungen von allen der Server-Systeme, daß ihre Erzeugungen von Testmustern abgeschlossen worden sind, seine Verarbeitungsoperation beendet.
Die Testmusterfolge kann durch Verwendung einer derartigen verteilten Verarbeitungsoperation schnell erzeugt werden.
Unter Verwendung der registrierten Testmusterfolge kann eine Übergangsstromversorgungstrom­ fehlersimulation ausgeführt werden, um eine Liste von Fehlern anzufertigen, die mit der Testmus­ terfolge erfaßt werden können (nachstehend als Liste erfaßbarer Fehler bezeichnet), und die Fehler, die in der Liste erfaßbarer Fehler enthalten sind, können aus der Fehlerliste gelöscht werden.
Auf diese Weise kann die Verarbeitung von Fehlern, die in der Fehlerliste enthalten sind, schnell abgeschlossen werden.
Bei Verwendung des Client-Systems in Kombination mit der Mehrzahl von Server-Systemen können, anstatt die Fehlerliste in Teillisten zu unterteilen und sie sofort an die Server-Systeme zu übertragen, die Fehler einzeln nacheinander an ein spezielles Server-System übertragen werden, das seine Verarbeitungsoperation abgeschlossen hat, und eine Testmusterfolge, die von dem Server-System zurückgegeben wird oder die registriert werden soll, kann zum Ausführen einer Übergangsspeisestromfehlersimulation verwendet werden, um eine Liste von Fehlern anzuferti­ gen, die mit dieser Testmusterfolge erfaßt werden können (oder eine Liste erfaßbarer Fehler), und die Fehler, die in der Liste erfaßbarer Fehler enthalten sind, können aus der Fehlerliste gelöscht werden. Auf diese Weise kann die Gesamtverarbeitungsgeschwindigkeit erhöht werden. Alternativ können die Server-Systeme einen Fehler oder mehrere Fehler aus der vom Client- System gespeicherten Fehlerliste zu deren Verarbeitung auswählen und können untersuchen, ob noch ein weiterer nicht-verarbeiteter Fehler in der Fehlerliste vorhanden ist.
Es ist wünschenswert, daß der Schritt der Erzeugung der Testmusterfolge die Testmusterfolge in Einheiten eines Gatterlaufzeitfehlers erzeugt.
Es ist außerdem wünschenswert, daß der Schritt der Erzeugung der Testmusterfolge die Testmusterfolge in Einheiten eines Offen-Fehlers erzeugt.
Bei einem Verfahren zum Erzeugen von Testmustern gemäß einem zweiten Aspekt der vorliegen­ den Erfindung wird eine Liste von Weglaufzeitfehlern für einen im Test befindlichen Halbleiter-IC angefertigt (eine Fehlerliste), eine Testmusterfolge, die zwei oder mehrere Testmuster umfaßt, die an den Halbleiter-IC angelegt werden sollen, wird erzeugt, die Testmusterfolge wird dazu verwendet, eine Übergangssimulation des im Test befindlichen Halbleiter-ICs auszuführen, eine Folge von Übergangssignalwerten, die auf Signalleitungen in der Schaltung auftreten, wird berechnet, wobei die durch die Übergangssimulation berechneten Übergangssignalwerte auf den Signalleitungen verwendet werden, eine Liste von Fehlern, die durch den Übergangsspeisestrom­ test unter Verwendung der Testmusterfolge erfaßt werden können (eine Liste erfaßbarer Fehler) wird angefertigt, Fehler, die in der Liste erfaßbarer Fehler enthalten sind, werden aus der Fehlerliste gelöscht, die Testmusterfolge wird in einer Testmusterfolgenliste registriert, und die Schritte einschließlich der Erzeugung der Testmusterfolge und der diesem folgenden Schritte werden wiederholt, bis die in der Fehlerliste enthaltenen Weglaufzeitfehler auf einen Wert unterhalb einer gegebenen Zahl reduziert worden sind.
Wieder können ein Client-System und eine Mehrzahl von Server-Systemen vorgesehen sein, wobei das Client-System beispielsweise eine Liste von Weglaufzeitfehlern (eine Fehlerliste) anfertigt, jeweils eine Testmusterfolge erzeugt und an einen oder mehrere der Server-Systeme übertragen werden, die gerade keine Verarbeitungsoperation ausführen, wobei jedes Server- System eine Übergangssimulation unter Verwendung der vom Client-System übertragenen Testmusterfolge ausführt, eine Folge von Übergangssignalwerten berechnet, die auf Signalleitun­ gen in der Schaltung erzeugt werden, eine Liste von Fehlern anfertigt, die durch den Übergangs­ speisestromtest nach Maßgabe dieser Testmusterfolge unter Verwendung der Übergangssignal­ werte erfaßt werden können (eine Liste erfaßbarer Fehler), und Fehler, die in der Liste erfaßbarer Fehler enthalten sind, aus der Fehlerliste löscht, und das Client-System jedem Server-System immer dann den Abschluß einer Verarbeitungsoperation mitteilt, wenn die Anzahl an Weglaufzeit­ fehlern, die in der Fehlerliste verbleiben, auf einen Wert unterhalb eines gegebenen Werts reduziert wird. Alternativ kann das Client-System vorab eine Liste einer ausreichenden Anzahl an Testmusterfolgen anfertigen, die dann in eine Mehrzahl von Testmusterfolgenteillisten unterteilt werden, die an die einzelnen Server-Systeme übertragen werden, die wiederum eine Testmuster­ folge aus der Liste von Testteilmusterfolgen zum Zweck ihrer Verarbeitungsoperation auswählen.
In der folgenden Beschreibung wird das Prinzip der vorliegenden Erfindung anhand eines CMOS- ICs beschrieben, der den gebräuchlichsten Halbleiter-IC darstellt. Erfindungsgemäß wird eine Übergangsspeisestromtesttechnik verwendet, und daher werden der Übergangsspeisestrom des CMOS-ICs und die auf dem Übergangsspeisestrom basierende Fehlererfassung nachstehend beschrieben.
Übergangsstrom in einem CMOS-Logikgatter
Fig. 7 zeigt ein Übergangsverhalten eines in den Fig. 7c und d gezeigten CMOS-Inverters. Das Übergangsverhalten wurde mit einem Schaltungssimulator ermittelt. Fig. 7a zeigt ein Verhalten einer Ausgangsspannung VOUT bezüglich einer Eingangsspannung VIN in einer Übergangsbedin­ gung, während Fig. 7b eine Antwort auf einen Strom IDD zeigt, der von einer Stromversorgung in einen CMOS-Inverter fließt. Der Strom IDD wird als Übergangsstrom bezeichnet. Wenn das Eingangssignal IN des Inverters von "1" auf "0" übergeht (vgl. 7c), werden der NMOS und der PMOS nur einen Moment eingeschaltet, solange die Eingangsspannung höher als die Schwellen­ spannung des NMOS und niedriger als die Schwellenspannung des PMOS ist, wodurch ein Kurzschlußstrom IS von einem Stromversorgungsanschluß TVD zur Masse GND fließt. Ein Ausgangssignal OUT aus der Ausgangssignalleitung des Inverters geht dann von "0" auf "1" über, und daher zur gleichen Zeit wie der Kurzschlußstrom IS ein Strom IC, der einem Kapazitäts­ laden einer parasitären Kapazität Cload zugeordnet ist, die an die Ausgangssignalleitung des Inverters angeschlossen ist, vom Stromversorgungsanschluß TVD zur parasitären Kapazität Cload. Somit ist, wenn ein Abfallsübergang (durch den Index "f" bezeichnet:) im Eingangssignal IN des Inverters auftritt, der Übergangsstrom IGf, der in den Inverter fließt, durch die Summe aus dem Kurzschlußstrom ISf, und dem Kapazitätsladestrom IC gegeben.
IGf = ISf + IC (1)
Andererseits tritt, wenn das Eingangssignal IN von "0" auf "1" übergeht oder wenn das Aus­ gangssignal von "1" auf "0" übergeht (mit dem Index "r" bezeichnet) (vgl. Fig. 7d), eine Kapazitätsentladung von der an die Ausgangssignalleitung angeschlossenen parasitären Kapazität Cload auf, wodurch ein Kapazitätsentladestrom ID erzeugt wird, aber der Strom IGr, der vom Stromversorgungsanschluß TVD zum Inverter fließt, umfaßt nur den Kurzschlußstrom ISr. Daher ist die Spitze des Stroms TVD etwas kleiner als die Spitze des Übergangsstroms IGf, der während des Abfallsübergangs auftritt, wie in Fig. 7b gezeigt.
IGr = ISr (2)
Der CMOS-Inverter weist eine Übertragungscharakteristik auf, die so ist, daß ein Dreiecksimpuls­ strom IS in Antwort auf eine Änderung der Eingangsspannung VIN erzeugt wird, wie in Fig. 5a gezeigt. Somit kann bei Auftreten eines Anstiegsübergangs im Eingangssignal des CMOS- Inverters die Wellenform des Kurzschlußstroms ISr der durch den CMOS-Inverter fließt, durch einen Dreiecksimpuls approximiert werden, wie durch "IS" in Fig. 8b angegeben, wobei ein Rampenübergang für die Eingangsspannung VIN angenommen wird. Die Wellenform des Kurzschlußstroms ISr bezüglich des Anstiegsübergangs des Eingangssignals gemäß Fig. 8b kann durch die folgenden Approximationen angegeben werden:
wobei ISmax einen Maximalwert des Übergangsstroms (Kurzschlußstrom) repräsentiert, der in den CMOS-Inverter fließt, VDD eine Speisespannung repräsentiert, VTHN eine Schwellenspannung des NMOS-Transistors, VTHP eine Schwellenspannung des PMOS-Transistors und tr ein Zeitintervall für den Anstiegsübergang des Eingangssignals. Es ist festzuhalten, daß VTHP als Absolutgröße angegeben ist. Um die Approximationen zu vereinfachen, wird angenommen, daß der Übergang der Eingangsspannung VIN zum Zeitpunkt 0 beginnt und die Eingangsspannung VDD zum Zeitpunkt tr erreicht, was den Abschluß des Übergangs repräsentiert.
In ähnlicher Weise kann die Wellenform des Kurzschlußstroms ISf des CMOS-Inverters in Antwort auf den Abfallsübergang des Eingangssignals durch die folgenden Approximationen angegeben werden:
wobei tf ein Zeitintervall für den Abfallsübergang des Eingangssignals repräsentiert. Aus Gründen der Einfachheit sind die Zeitpunkte für den Start des Anstiegsübergangs des Stroms der Strom­ versorgung, der Maximalwert ISmax und das Ende des Abfallsübergangs in Fig. 8b in Klammern angegeben.
Wenn eine Spannungsänderung auf der Ausgangssignalleitung durch dvout (t) bezeichnet wird, ist der Ladestrom IC zur an die Ausgangssignalleitung des CMOS-Inverters angeschlossenen parasitären Kapazität Cload durch die folgende Gleichung gegeben:
Derartige Gleichungen können auch für andere Logikgatter als der Inverter in ähnlicher Weise ermittelt werden.
Wenn angenommen wird, daß der Übergangsstrom IG, der in ein Logikgatter fließt, im wesentli­ chen ein Kurzschlußstrom ist, kann er durch einen Dreiecksimpuls approximiert werden, wie durch IS in Fig. 8b angegeben. In der Realität repräsentiert die Wellenform des Übergangsstroms IG des CMOS-Inverters einen in Fig. 7b gezeigten Dreiecksimpuls. Somit steigt der Übergangs­ strom IG des Logikgatters monoton an, bis der Maximalwert ISmax erreicht ist, wonach er monoton abfällt, wie in Fig. 8b gezeigt. Der Übergangsstrom Ig erreicht seinen Maximalwert ISmax, wenn die Eingangsspannung VIN die Schaltspannung VSP für das Logikgatter erreicht. Genauer gesagt fällt, wie in Fig. 8b gezeigt, der Zeitpunkt, wenn der Strom IG seinen Spitzenwert erreicht, mit dem Zeitpunkt des Übergangs des Eingangssignals des Logikgatters zusammen. Da das Logikgatter eine Laufzeit aufweist, hinkt der Zeitpunkt für den Übergang des Ausgangssignals des Logikgat­ ters etwas bezüglich des Zeitpunkts für den Übergang des Eingangssignals hinterher. Daher eilt der Zeitpunkt, wenn der Strom IG seinen Spitzenwert erreicht, dem Zeitpunkt für den Übergang des Ausgangssignals des Logikgatters etwas voraus. In diesem Beispiel kann die Abfallflanke der Wellenform des Übergangsstroms IG als mit dem Zeitpunkt für den Übergang des Ausgangssignals zusammenfallend angesehen werden. Außerdem weist die Wellenform des Übergangsstroms IG des Logikgatters eine Pulsweite auf, die proportional zur Übergangszeit der Eingangsspannung (beispielsweise dem Zeitintervall tr für den Anstiegsübergang) ist.
In der obigen Beschreibung wurde angenommen, daß der Übergangsstrom IG, der in das Logikgat­ ter fließt, im wesentlichen ein Kurzschlußstrom IS ist. Bei der Miniaturisierung eines CMOS- Herstellungsprozesses ist jedoch die Verdrahtungslaufzeit gegenüber der Gatterlaufzeit vorherr­ schend. Dies bedeutet, daß unter der Annahme eines konstanten Übergangszeitintervalls für die Eingangsspannung der Anteil des Ladestroms IC an der Ausgangssignalleitung größer ist als der Anteil des Kurzschlußstroms IS im Übergangsstrom IG, der in das CMOS-Logikgatter fließt. Somit hängt der Zeitpunkt, zu dem die Wellenform des Übergangsstroms des Logikgatters ihren Spitzenwert erreicht, vom Verhältnis des Ladestroms IC zum Kurzschlußstrom IS ab. Wenn IC kleiner als IS ist, fällt die Spitze der Wellenform des Übergangsstroms IC mit der Spitze von IS zusammen. Da die Spitze von IS mit dem Übergangszeitintervall der Eingangsspannung zusam­ menfällt, folgt, daß die Spitze von IG dem Zeitpunkt für den Übergang des Ausgangssignals des Logikgatters vorauseilt. Wenn im Gegensatz dazu IC größer als IS ist, fällt die Spitze der Wellen­ form des Übergangsstroms mit der Spitze von IC zusammen. Da der Ladestrom IC mit dem Span­ nungsübergang an der Ausgangssignalleitung in Zusammenhang steht, fällt die Spitze von IG im wesentlichen mit dem Zeitpunkt für den Übergang des Ausgangssignals des Logikgatters zusammen.
Integral des Übergangsspeisestroms
Unter Verwendung der Gleichungen (3) und (4) sind die Zeitintegrale QSr, und QSf der Kurzschlußströme IS, bzw. ISf wie folgt gegeben:
Demzufolge ist das Integral QS des Kurzschlußstroms durch das Logikgatter, während es geschaltet wird, wie folgt gegeben:
wobei tT eine Übergangszeit für das Eingangssignal repräsentiert. Somit ist das Integral QS des Kurzschlußstroms IS (ISr, oder ISf), der in das Logikgatter fließt, proportional zur Zeit tT für den Eingangsübergang des Logikgatters. Es ist außerdem ersichtlich, daß QS nicht davon abhängt, ob der Übergang des Eingangssignals ansteigend oder abfallend ist.
Aus der Gleichung (5) ist ersichtlich, daß das integral QC des Ladestroms IC zu einer Ausgangs­ lastkapazität Cload eines CMOS-Inverters durch die unten angegebene Gleichung angegeben ist.
und es ist ersichtlich, daß es nicht von der Zeit tT für den Eingangsübergang des CMOS-Inverters abhängt.
Somit sind die Integrale QGf und QGr der das Logikgatter durchlaufenden Übergangsströme IGf und IGr aus den Gleichungen (1), (2), (8) und (9) wie folgt festgelegt:
Somit ist das Integral des Übergangsstroms durch das Logikgatter proportional zur Zeit für den Eingangsübergang des Logikgatters.
Übergangsspeisestrom IDDT in CMOS-IC
Ein Speisestrom bei einem CMOS-IC stellt einen Speisestrom dar, der in den CMOS-IC fließt, und ist aus einer Summe von Strömen gebildet, die durch einzelne Logikgatter innerhalb des ICs fließen.
Ein in Fig. 9a gezeigter CMOS-IC umfaßt eine Kombination aus vier (G1, G2, G3, G4) der in Fig. 7c gezeigten Inverter, die in Reihe geschaltet sind. Übergangsströme IG1, IG2, IG3, IG4, die durch die Inverter G1, G2, G3 bzw. G4 fließen, werden normalerweise von einem einzigen Stromversor­ gungsanschluß TVD geliefert. Demzufolge ist die Übergangsspeisestromantwort des ICs aus einer Summe von Übergangsströmen gebildet, die durch die einzelnen Logikgatter fließen, wie in Fig. 9c gezeigt und unten angegeben.
wobei N die Anzahl an Logikgattern repräsentiert, die durch die Eingangstestmusterfolge geschaltet werden. Bei dem in Fig. 9a gezeigten Beispiel gilt N = 4. Fig. 9b zeigt eine Beziehung zwischen einer Eingangsspannung und einer Ausgangsspannung der einzelnen Logikgatter.
Somit kann, wenn ein Fehler in dem IC vorhanden ist, der eine Änderung des Übergangsstroms des Logikgatters verursacht, und wenn eine Testmusterfolge vorhanden ist, die den Fehler aktivieren kann, der Fehler durch Beobachtung von IDDT des ICs erfaßt werden.
Ein integrierter Wert QDDT des Übergangsspeisestroms IDDT kann als Summe integrierter Werte QGn (1 ≦ n ≦ N) von Strömen dargestellt werden, die einzelne Logikgatter durchlaufen.
In dem Beispiel von Fig. 9a ist der integrierte Wert QDDT des Übergangsspeisestroms IDDT als Summe integrierter Werte (QG1, QG2, QG3, QG4) der die einzelnen Inverter durchlaufenden Ströme (IG1, IG2, IG3, IG4) dargestellt. Somit kann, wenn ein Fehler in dem IC vorhanden ist, der bewirkt, daß sich ein Übergangsstrom durch das Logikgatter oder sein Zeitintegral ändert, und falls ein Testmuster vorhanden ist, das den Fehler aktivieren kann, der Fehler aus einer Beobachtung des integrierten Werts QDDT des Übergangsspeisestroms IDDT des ICs erfaßt werden.
Erfassung des Gatterlaufzeitfehlers
Ein Gatterlaufzeitfehler ist ein Fehler, der bewirkt, daß eine Signalfortpflanzungslaufzeit von einem Eingang zu einem Ausgang des Logikgatters zunimmt. Ein Fehler, der bewirkt, daß ein Anstiegsübergang eines Ausgangssignals aus dem Logikgatter verzögert wird, wird als Langsam- Anstieg-Fehler bezeichnet, während ein Fehler, der bewirkt, daß ein Abfallsübergang verzögert wird, als Langsam-Abfall-Fehler bezeichnet wird. Wenn ein Gatterlaufzeitfehler durch ein innerhalb eines CMOS-ICs angeordneten Logikgatter auftritt, wird die Übergangszeit des Ausgangssignals des Logikgatters verzögert. Somit weist ein Logikgatter, das an seinem Eingang ein Ausgangssignal aus dem fehlerhaften Logikgatter empfängt, eine verzögerte Zeitlage für die Spitze des Übergangsstroms auf. Somit kann, wenn eine Testmusterfolge ein fehlerhaftes Logikgatter aktivieren und ein anderes Logikgatter, das von dem fehlerhaften Gatter getrieben wird, schalten kann, der Gatterlaufzeitfehler aus einer Beobachtung einer Verzögerung der Stromspitze von IDDT des CMOS-ICs erfaßt werden.
Erfassung eines Offen-Fehlers
Als nächstes wird ein Offen-Fehler definiert, der einen Laufzeitfehler verursacht. Ein Offen-Fehler bezieht sich auf eine ungewollte elektrische Unterbrechung, was speziell bedeutet, daß eine Signalleitung in zwei oder mehrere verschiedene Signalleitungen unterteilt ist. Ein Offen-Fehler kann beispielsweise sein eine Unterbrechung, wie sie von einem schlechten Kontakt aufgrund der Abwesenheit von Metall oder dem Vorhandensein eines Oxidfilms verursacht werden kann, und eine Unterbrechung in einer Diffusionsschicht oder im Polysilicium aufgrund eines Maskierungs­ fehlers. Ein Offen-Fehler kann in zwei Arten unterteilt werden, umfassend einen Offen-Fehler, bei dem eine Verdrahtung L in zwei getrennte Abschnitte L1 und L2 unterteilt ist, wie in Fig. 10a gezeigt, und bei dem ein Eingangssignal VIN an einem Ende der Verdrahtung L nicht als Aus­ gangssignal VOUT am anderen Ende der Verdrahtung L erscheinen kann, wodurch ein "Logikfehler" bewirkt wird, und einen anderen Offen-Fehler, bei dem die unterteilten Verdrahtungsabschnitte L1 und L2 mit einem sehr kleinen Abstand voneinander angeordnet sind, wie in Fig. 10c gezeigt, und bei dem ein an ein Ende der Verdrahtung L angelegtes Eingangssignal VIN als Tunnelstrom fließt und ein Übergangssignal am anderen Ende der Verdrahtung L mit einer Verzögerung erscheint, wodurch ein "Laufzeitfehler" bewirkt wird, wie in Fig. 10d gezeigt. Ein Offen-Fehler, der einen Logikfehler verursacht, ist mit einer Unterbrechung größeren Ausmaßes verknüpft, so daß kein Stromfluß vorhanden ist, wenn eine Spannung an die Signalleitungen (unterteilte Verdrahtungsabschnitte L1 und L2) angelegt wird, die sich an den entgegengesetzten Seiten des Fehlers befinden, und somit erfolgt kein Laden oder Entladen der parasitären Kapazität Cload in Antwort auf einen Signalübergang, wodurch ein Logikfehler verursacht wird, bei dem der logische Wert auf einen gegebenen Wert fixiert wird. Im Gegensatz dazu fließt bei einem Offen-Fehler, der einen Laufzeitfehler verursacht, ein sehr schwacher Strom, wenn eine Spannung an die Signallei­ tungen (L1 und L2) angelegt wird, die sich auf den entgegengesetzten Seiten des Fehlers befinden, aber die Stärke des Stroms ist kleiner als ein normaler Stromfluß, was das Laden oder Entladen der parasitären Kapazität Cload in Antwort auf den Signalübergang verzögert, wodurch die Laufzeit der Schaltung erhöht wird. Ein Offen-Fehler, der einen Laufzeitfehler verursacht, ist beispielsweise ein Widerstands-Offen-Fehler, bei dem der Widerstand zwischen den Signalleitun­ gen L1 und L2 als Ergebnis eines schlechten Kontakts größer als ein normaler Wert wird oder der Widerstand der Signalleitung L als Folge eines in der Signalleitung L auftretenden Fehlers größer als ein normaler Wert wird, oder ein Mikro-Offen-Fehler (< 100 nm), bei dem ein sehr schwacher Leckstrom durch den Tunneleffekt zwischen zwei beschädigten Signalleitungsabschnitten L1 und L2 fließt. Ein Tunnelstrom durch einen Mikro-Offen-Fehler ist beispielsweise beschrieben in C. L. Henderson, J. M. Soden und C. F. Hawkins, "The Behaviour and Testing Implications of CMOS IC Logic Gate Open Circuits" Proceedings of IEEE International Test Conference, Seiten 302-310, 1991. Ein Offen-Fehler, der einen Laufzeitfehler verursacht, wird hier behandelt, und er wird einfach als Offen-Fehler bezeichnet.
Bei dem Offen-Fehler ist ein kleiner Stromfluß durch den Fehler vorhanden, und daher kann er durch ein Widerstandselement Ropen mit erhöhtem Widerstand modelliert werden. Fig. 11a zeigt ein Beispiel eines CMOS-ICs mit einem Offen-Fehler. Der CMOS-IC umfaßt ein Paar Inverter G1, G2, und ein Offen-Fehler ist in einer Signalleitung M vorhanden, die eine Verbindung zwischen den Invertern G1 und G2 herstellt. Der Ort der Unterbrechung kann als einer Verbindung durch den Widerstand Ropen äquivalent angesehen werden. Wenn der Inverter G1 schaltet, um einen Signalübergang auf der Signalleitung M zu erzeugen, verursacht das Vorhandensein des Offen- Fehlers, daß ein zum Laden oder Entladen eines parasitären Eingangskondensators CIN des Inverters G2 erforderliches Zeitintervall zunimmt (proportional zum Produkt aus dem Widerstand des Offen-Fehlers und der parasitären Kapazität), und daher wird ein Signalübergang auf einer Signalleitung M', die sich auf der dem Inverter G2 zugewandten Seite des Ersatzwiderstandsele­ ments Ropen befindet, gemäß Darstellung in Fig. 11c bezüglich eines Ausgangssignals aus dem Inverter G1 (Fig. 11b) verzögert. Somit weist, wie in Fig. 12 gezeigt, die Wellenform des Übergangsstroms (gestrichelt gezeigt) des Inverters G2 mit dem Offen-Fehler an seiner Eingangs­ seite eine größere Breite des Stromimpulses und ein größeres Zeitintegral des Übergangsstroms auf als die Wellenform des Übergangsstroms (in durchgezogenen Linien gezeigt) des normalen Inverters. Somit kann durch Beobachten von IDDT oder QDDT des CMOS-ICs das Vorhandensein eines Offen-Fehlers in der Eingangsstufe des Inverters G2 erfaßt werden. Ein Offen-Fehler, der in der Ausgangsstufe des Inverters G1 vorhanden ist, ist einem in der Eingangsstufe des Inverters G2 vorhandenen Offen-Fehler äquivalent und kann somit auf ähnliche Weise erfaßt werden. Jeglicher Offen-Fehler auf irgendeiner Signalleitung in einem IC kann im allgemeinen, falls ein Offen-Fehler durch eine Testmusterfolge zum Verursachen des Schaltens eines Logikgatters aktiviert werden kann, das von dem aktivierten Offen-Fehler getrieben wird, durch die Beobachtung von IDDT oder QDDT des ICs erfaßt werden.
Weglaufzeitfehler
Eine Strecke innerhalb eines ICs, die ein Signal durchläuft, wird als Weg bezeichnet. Wenn eine Laufzeit von einem Startpunkt des Wegs (Eingangssignalleitung) bis zu einem Endpunkt (Aus­ gangssignalleitung), die hier als Weglaufzeit bezeichnet wird, größer (oder kleiner) als ein gegebener Wert wird, zeigt der IC ein anormales Verhalten, das als Weglaufzeitfehler bezeichnet wird. Ein Weglaufzeitfehler wird nun definiert.
Bei einer CMOS-Logikschaltung sei ein Weg P = {g0, g1, g2, . . ., gm} aktiviert durch Verwendung einer Testmusterfolge T = <v1, v2<, was bedeutet, daß sie zwei Testmuster v1 und v2 enthält und daß ein Spannungssignal v2 einem Spannungssignal v1 folgt. g0 repräsentiert eine Eingangs­ signalleitung des Wegs P, während g1, g2, . . ., gm Ausgangssignalleitungen von Logikgattern G1, G2, . . ., Gm auf dem Weg P repräsentieren. Gleichzeitig repräsentieren g0, g1, . . ., gm-1 Eingangssig­ nalleitungen zu den Logikgattern G1, G2, . . ., Gm auf dem Weg P. Wenn der Zeitpunkt für einen Signalübergang auf den einzelnen Signalleitungen g0, g1, . . ., gm (der Zeitpunkt, wenn das Spannungssignal VDD/2 kreuzt) durch τ0, τ1, . . ., τm bezeichnet wird, ist die Gatterlaufzeit tgdi (1 ≦ i ≦ m) der jeweiligen Logikgatter g1, g2, . . ., gm auf dem Weg P wie folgt gegeben:
tgdi = τii-1 (14)
Somit ist die Weglaufzeit tpd des Wegs P als Summe der Gatterlaufzeiten tgdi wie folgt gegeben:
Die tatsächliche Gatterlaufzeit tgdi variiert jedoch unter dem Einfluß eines Fehlers wie folgt:
tgdi = tgdi,typ + δi, 1 ≦ i ≦ m (16)
wobei tgdi,typ einen typischen Wert der Gatterlaufzeit des Logikgatters Gi repräsentiert und δi eine Variationskomponente in der Gatterlaufzeit repräsentiert. Beispielsweise bewirkt ein Unterbre­ chungsfehler, daß die Gatterlaufzeit nur eines fehlerhaften Logikgatters zunimmt, ohne daß die Laufzeit der anderen Logikgatter zunimmt. Ein parametrischer Fehler bewirkt, daß die Laufzeit der einzelnen Logikgatter zunimmt. Mit der Variation der Gatterlaufzeit variiert die Weglaufzeit tpd in ähnlicher Weise, wie durch die unten angegebene Gleichung angegeben.
wobei tpd,typ einen typischen Wert einer Weglaufzeit für den Weg P repräsentiert und Δ eine Variationskomponente in der Weglaufzeit repräsentiert.
Fig. 13 ist eine schematische Darstellung des grundlegenden Prinzips einer Laufzeittesttechnik. Um einen in Fig. 13a gezeigten im Test befindlichen Halbleiter-IC (DUT) normal zu betreiben, muß ein Signalübergang, der in einem Eingangs-Latch auftritt, einen Weg P in dem im Test befindli­ chen Halbleiter-IC durchlaufen, um in einer gegebenen Zeitspanne an ein Ausgangs-Latch übertragen zu werden. Somit ist aus der Beziehung zwischen einem Eingangssignal VIN und einem Ausgangssignal VOUT und deren Beziehung bezüglich eines in Fig. 13b gezeigten Systemtakts ersichtlich, daß die Weglaufzeit tpd des Wegs P die folgende Anforderung erfüllen muß:
tpd + TSU < TCLK - TSKW (18)
wobei TSU eine Einstellzeit für das Signal repräsentiert, TCLK die Periode des Systemtakts und TSKW einen Takt-Zeitversatz des Systemtakts. Der Takt-Zeitversatz TSKW ist ein Jitter des Systemtakts und repräsentiert ein Maß, um das die Flanke des Systemtakts sich in positiver oder negativer Richtung ändert. Die Gleichung (18) kann wie folgt modifiziert werden:
tpd < TCLK - TSKW - TSU ∼ T' (19)
Somit muß die Weglaufzeit tpd des Wegs P kleiner sein als ein Zeitintervall T', das resultiert, wenn Größen wie beispielsweise die Einstellzeit TSU und der Takt-Zeitversatz TSKW von der Taktperiode TCLK subtrahiert werden. Wenn tpd größer als T' ist, kann die Signalübertragung auf dem Weg P nicht mit dem Systemtakt Schritt halten, und die Schaltung kann nicht exakt arbeiten. Dieser Zustand ist als Laufzeitfehler definiert. In anderen Worten wird der Weg P als einen Laufzeitfehler aufweisend definiert, wenn tpd größer ist als ein gegebenes Zeitintervall T'. T' repräsentiert eine obere Grenze einer zulässigen Laufzeit.
Erfassung einer Weglaufzeit (unter Verwendung einer Impulsweite eines Übergangsspeisestroms)
Da die Spitze oder die Abfallflanke der Wellenform des Übergangsstroms des Logikgatters dem Zeitpunkt für den Übergang des Ausgangssignals des Logikgatters entspricht, folgt, daß die letzte Spitze (oder die letzte Abfallflanke) der Wellenform des Übergangsspeisestroms des CMOS-ICs mit dem Zeitpunkt des Übergangs des Ausgangssignals des Logikgatters zusammenfällt, das in dem CMOS-IC als letztes zu schalten ist. Somit kann durch Erfassen der letzten Spitze (oder der letzten Abfallflanke) der Wellenform des Übergangsspeisestroms des CMOS-ICs und durch Vergleichen des Zeitpunkts der Erfassung mit dem Zeitpunkt für den Übergang des Eingangssig­ nals eine Weglaufzeit für den IC ermittelt werden. Der Zeitpunkt für die letzte Abfallflanke des Übergangsspeisestroms kann beispielsweise als Maximalwert der Zeit ermittelt werden, wenn der Übergangsspeisestrom einen gegebenen Stromwert annimmt, der Zeit für den Übergang des Eingangssignals auf dem Weg des ICs. Dieser Stromwert repräsentiert einen Wert des Speise­ stroms, wenn die Ausgangsspannung aus dem letzten Logikgatter auf dem im Test befindlichen Weg einen Wert gleich der halben Versorgungsspannung VDD erreicht und kann durch die Schaltungssimulation für die im Test befindliche Schaltung oder aus statistischen Daten ermittelt werden, die aus einer tatsächlichen Vorrichtung gewonnen werden.
Ein Weglaufzeitfehler auf dem im Test befindlichen Weg kann durch Vergleichen der ermittelten Weglaufzeit mit einer gegebenen Zeit (beispielsweise eine Periode TCLK eines Systemtakts) erfaßt werden.
Eine Technik zum Erfassen eines Laufzeitfehlers unter Verwendung der oben erwähnten Puls­ weite eines Übergangsspeisestroms wird nun beschrieben. Bei dieser Technik wird die Impuls­ weite der Wellenform des Speisestroms einer im Test befindlichen Schaltung gemessen und mit einem gegebenen Zeitintervall verglichen. Das Grundprinzip der Technik ist in Fig. 14 dargestellt.
Es sei angenommen, daß bei einer CMOS-Logikschaltung eine Vielzahl von Wegen P1, P2, . . ., Pn unter Verwendung der zwei Testmuster v1, v2 enthaltenden Testmusterfolge T = <v1, v2< aktiviert wird. Wenn der Zeitpunkt, zu dem ein j-tes Logikgatter, gezählt vom Eingang eines Wegs Pi, geschaltet wird, durch τij bezeichnet wird, ist ersichtlich, daß die Anzahl an Logikgattern von den einzelnen Wegen P1, P2, . . ., Pn abhängt, und der Zeitpunkt τmax für den Übergang des Ausgangssignals eines Logikgatters Gfinal , das unter den Wegen P1, P2, . . ., Pn als letztes zu schalten ist, durch die folgende Gleichung gegeben:
Somit wird ein Maximalwert der Weglaufzeit tpd,max unter den Wegen P1, P2, . . ., Pn als Zeitintervall zwischen τmax und dem Zeitpunkt τ0 für den Übergang des Eingangssignals ermittelt, wie nachstehend angegeben.
tpd,max = τmax - τ0 (21)
Andererseits ist die Pulsweite tPW der Wellenform des Übergangsspeisestroms der CMOS- Logikschaltung als Zeitintervall zwischen dem Zeitpunkt τ0 für den Signalübergang des Schal­ tungseingangssignals und dem τIDD der letzten Spitze (Abfallflanke) der Wellenform des Über­ gangsspeisestroms definiert. Somit gilt
tPW ∼ τIDD - τ0 (22)
Wie zuvor ausgeführt, fällt der Zeitpunkt τIDD für die letzte Spitze der Wellenform des Übergangs­ speisestroms entweder mit dem Zeitpunkt τmax für den Übergang des Ausgangssignals des Logikgatters Gfinal das als letztes zu schalten ist, zusammen oder eilt τmax voraus. Somit ent­ spricht die Pulsweite tPW der Wellenform des Übergangsspeisestroms der Verzögerungszeit tpd,max des Wegs P, der durch ein Testmuster T aktiviert wird.
tPW = τIDD - τ0 ≦ τmax - τ0 = tpd,max (23)
Wenn tPW größer als die obere Grenze T' der zulässigen Laufzeit ist, folgt, daß gilt
T' < tPW ≦ tpd,max (24)
Somit kann die Signalübertragung auf dem Weg mit der größten Laufzeit tpd,max nicht mit dem Systemtakt Schritt halten. Daher besteht ein Laufzeitfehler in der Schaltung. Auf diese Weise gibt ein tPW, das größer als T' ist, das Vorhandensein eines Laufzeitfehlers auf irgendeinem der aktivierten Wege an, während ein tPW, das kleiner als T' ist, die Abwesenheit eines Laufzeitfehlers auf irgendeinem aktivierten Weg angibt.
tPW ≦ T' kein Laufzeitfehler
tPW < T' Laufzeitfehler vorhanden (25)
Auf diese Weise kann ein Laufzeitfehler in der Schaltung durch Vergleichen der Impulsweite tPW der Wellenform des Übergangsspeisestroms mit einer gegebenen Zeit T' getestet werden.
Laufzeitfehlererfassungstechnik/unter Verwendung des Momentanwerts des Übergangsspeise­ stroms)
Da der Übergangsspeisestrom eines Logikgatters nach seiner Spitze monoton abnimmt, wie in Fig. 7b gezeigt, ist ersichtlich, daß der in Fig. 9c gezeigte Speisestrom des CMOS-ICs nach dem Zeitpunkt für den Übergang des Ausgangssignals eines Logikgatters, das in dem IC als letztes zu schalten ist, monoton abnimmt. In anderen Worten kann bei einem fehlerfreien CMOS-IC, wenn der Zeitpunkt für den Übergang des Ausgangssignals des als letztes zu schaltenden Logikgatters durch τmax und der Momentanwert des Übergangsspeisestroms zum Zeitpunkt τmax durch I' bezeichnet wird, der Übergangsspeisestrom des CMOS-ICs nach τmax nicht größer als I' werden.
Unter Verwendung dieses Prinzips kann ein Weglaufzeitfehler in einer im Test befindlichen Schaltung durch Messen des Momentanwerts eines Übergangsspeisestroms eines CMOS-ICs zu einem gegebenen Zeitpunkt erfaßt werden. Der Stromwert I', der als Kriterium für die Beurteilung einer Fehlerermittlung verwendet wird, ist ein Wert des Speisestroms zu dem Zeitpunkt, zu dem ein Ausgangssignal aus dem letzen Logikgatter auf einem im Test befindlichen Weg den Wert der halben Versorgungsspannung annimmt, und kann durch eine Schaltungssimulation der im Test befindlichen Schaltung oder aus statistischen Daten unter Verwendung einer tatsächlichen Vorrichtung ermittelt werden.
Eine Technik zum Erfassen eines Laufzeitfehlers unter Verwendung des Momentanwerts des Übergangsspeisestroms wird beschrieben. Bei dieser Technik wird der Momentanwert des Übergangsspeisestroms der im Test befindlichen Schaltung zu einem gegebenen Zeitpunkt gemessen und mit dem Wert des Übergangsspeisestroms einer goldenen Schaltung verglichen, die frei von einem Laufzeitfehler ist. Das Grundprinzip der Technik ist in Fig. 15 dargestellt.
Es sei angenommen, daß in einer CMOS-Logikschaltung eine Mehrzahl von Wegen P1, P2, . . ., Pn durch eine Testmusterfolge T = <v1, v2< aktiviert wird. Wenn der Zeitpunkt, zu dem ein j-tes Logikgatter, gezählt vom Eingang eines Wegs Pi, geschaltet wird, durch tj bezeichnet wird, ist der Zeitpunkt τmax für den Übergang des Ausgangssignals eines Logikgatters Gfinal, das als letztes unter den Wegen P1, P2, . . ., Pn zu schalten ist, durch die folgende Gleichung gegeben:
Somit kann ein Maximalwert tpd,max der Weglaufzeit unter den Wegen P1, P2, . . ., Pn als Zeitinter­ vall Zwischen τmax und einem Zeitpunkt τ0 für den Übergang des Eingangssignals ermittelt werden, wie nachstehend angegeben.
tpd,max = τmax - τ0 (27)
Wie zuvor ausgeführt, folgt, da der Zeitpunkt für den Übergang des Ausgangssignals eines Logikgatters mit dem Zeitpunkt für die Spitze oder die Abfallflanke des Übergangsspeisestroms des Logikgatters zusammenfällt, daß τmax einem Zeitpunkt τIDD für die letzte Spitze oder die Abfallflanke der Wellenform des Übergangsspeisestroms IDDT der Schaltung entspricht. Der Speisestrom IG des Logikgatters kann durch eine Dreieckswelle approximiert werden, Und Gfinal repräsentiert das letzte zu schaltende Gatter, und somit ist keine Logikschaltung vorhanden, die eine Spitze des Speisestroms nach τmax aufweist. Somit ist eine Funktion iDDT(t) der Wellenform des Speisestroms zu einer Zeit t, für die t ≧ τmax gilt, eine monoton fallende Funktion. Somit ist unter Bezeichnung der Zeitfunktion für die Wellenform des Speisestroms mit iDDT(t) und des Momentanwerts des Speisestroms zu einer Zeit τmax mit I' letzterer wie folgt gegeben:
I' ∼ iDDTmax) (28)
Es folgt, daß zu einer Zeit t, für die t ≧ τmax gilt,
iDDT(t) iDDTmax) = I', t τmax (29)
Damit die Schaltung richtig arbeitet, muß tpd,max kleiner als die obere Grenze T' der Laufzeit (die gleich TCLK - TSKEW - TSU ist, wie in Gleichung (19) angegeben) sein. Somit gilt
tpd,max = τmax - τ0 ≦ T' (30)
Demzufolge folgt in Abwesenheit eines Fehlers in der Schaltung aus der Gleichung (29), daß zu einer Zeit t, für die t = T' + τ0 < τmax gilt,
iDDT(T' + τ0) ≦ I' (31)
Wenn der Momentanwert von IDDT bei T' + τ0 größer als I' ist oder
iDDT(T' + τ0) < I' = iDDTmax) (32)
folgt aus der Gleichung (29), daß, weil T' + τ0 nicht größer sein kann als τmax,
τmax < T' + τ0 (33)
tpd,max = τmax - τ0 < T' (34)
Dies bedeutet, daß auf einem Weg mit der größten Laufzeit tpd,max die Signalübertragung nicht mit dem Systemtakt Schritt halten kann. Daher wird das Vorhandensein eines Laufzeitfehlers in der Schaltung angezeigt. Auf diese Weise gibt die Tatsache, daß ein Wert des Übergangsspeise­ stroms IDDT(T' + τ0) zur Zeit T' + τ0 größer als I' ist, das Vorhandensein eines Laufzeitfehlers in einem der aktivierten Wege an. Im Gegensatz dazu gibt die Tatsache, daß IDDT(T' + τ0) kleiner als I' ist, die Abwesenheit eines Laufzeitfehlers auf irgendeinem aktivierten Weg an.
iDDT(T' + τ0) ≦ I' kein Laufzeitfehler
iDDT(T' + τ0) < I' Laufzeitfehler vorhanden (35)
Wie oben diskutiert, kann ein Laufzeitfehler in der Schaltung durch Vergleichen des Momentan­ werts von IDDT zu einer gegebenen Zeit mit dem IDDT-Pegel einer fehlerfreien Schaltung erfaßt werden.
Erfassung eines Weglaufzeitfehlers (unter Verwendung eines Zeitintegrals des Übergangsspeise­ stroms)
Des weiteren kann durch Verwendung des integrierten Werts QDDT des Übergangsspeisestroms IDDT ein von einem Offen-Fehler verursachter Weglaufzeitfehler erfaßt werden. Eine Technik zum Erfassen eines Weglaufzeitfehlers durch Verwendung eines integrierten Werts des Übergangs­ speisestroms wird nun beschrieben. Gemäß dieser Technik wird ein integrierter Wert eines Übergangsspeisestroms durch eine im Test befindliche Schaltung gemessen und mit einem gegebenen Wert verglichen, um einen Weglaufzeitfehler zu evaluieren.
Der integrierte Wert QDDT des Übergangsspeisestroms IDDT ist als Summe integrierter Werte QGn (1 ≦ n ≦ N) von einzelne Logikgatter durchlaufenden Strömen repräsentiert.
Da das Integral QGn (1 ≦ n ≦ N) des ein Logikgatter durchlaufenden Stroms proportional zur Zeit tTn (1 ≦ n ≦ N) für den Übergang des Eingangssignals der einzelnen Logikgatter ist, wie durch die Gleichung (10) oder (11) angegeben, ist QDDT durch ein lineares Polynom von tTn (1 ≦ n ≦ N) gegeben. Bei dem in Fig. 9a gezeigten Beispiel ist QDDT durch ein nachstehend angegebenes lineares Polynom (36) der Zeiten (tT1, tT2, tT3, tT4) für die Übergänge der Eingangssignale der jeweiligen Inverter (G1, G2, G3, G4) gegeben.
In der Gleichung (36) repräsentiert an einen Proportionalitätsfaktor zwischen dem Integral QSn des Kurzschlußstroms durch das Logikgatter Gn und der Zeit tTn für den Übergang des Eingangssig­ nals des Logikgatters Gn, und b einen konstanten Term, der durch eine Summe aus Ladeströmen QCn repräsentiert ist, die in die jeweiligen Logikgatter fließen.
Ein Offen-Fehler kann durch einen großen Widerstand Ropen modelliert werden, da ein sehr schwacher Strom durch den Fehler fließt. Fig. 16a zeigt ein Beispiel eines CMOS-Inverters mit einem Offen-Fehler an seinem Eingang. Wenn ein in Fig. 16b gezeigter Signalübergang auf einer Eingangssignalleitung A auftritt, wird ein Signalübergang, der auf einer Signalleitung A' auftritt, die sich hinter der Stelle des Fehlers befindet, aufgrund des Offen-Fehlers verzögert, wie in Fig. 16c angegeben. Damit ist, wenn der Widerstand des Offen-Fehlers durch Ropen bezeichnet und die parasitäre Kapazität am Eingang des Inverters durch Cin bezeichnet wird, das Zeitintervall tT für den Signalübergang auf der Signalleitung A' wie nachstehend ausgeführt gegeben:
tr ≈ tT,typ + 2,2 RopenCin (37)
wobei TT,typ einen typischen Wert der Übergangszeit für das eingegebene Signal repräsentiert, wenn kein Fehler vorhanden ist. Die Übergangszeit tT ist hier als Zeitintervall für den Anstieg der Spannung von 0,1 VDD auf 0,9 VDD (oder einen Abfall von 0,9 VDD auf 0,1 VDD) bestimmt. 2,2 Ropen Cin repräsentiert ein Zeitintervall, in dem eine Spannung an Cin von 0,1 VDD auf 0,9 VDD ansteigt und ist bestimmt durch loge (0,9 VDD/0,1 VDD) × RopenCin. Somit ist ein Inkrement bei der Übergangszeit für das Eingangssignal des Inverters proportional zum Widerstand Ropen des Offen- Fehlers. Somit ist, wenn ein Offen-Fehler auf dem Eingang eines k-ten Inverters auf dem im Test befindlichen Weg vorhanden ist, das Integral QDDT des Speisestroms des CMOS-ICs durch die Gleichung (36) und (37) bestimmt, wie durch Gleichung (38) angegeben. Somit ändert sich QDDT linear mit dem Widerstand Ropen des Offen-Fehlers, und das Inkrement ist proportional zum Widerstand Ropen des Offen-Fehlers.
wobei QDDT,typ einen typischen Wert des Integrals des Speisestroms repräsentiert, wenn kein Fehler vorhanden ist. 2,2 ak Cin Ropen, das als zweiter Term auf der rechten Seite der Gleichung (38) erscheint, ist ein Zusatz, der auf dem Eingangs-Offen-Fehler des k-ten Inverters basiert. Die Gleichung (38) zeigt eine Koinzidenz mit einem in Fig. 17 gezeigten Ergebnis einer Simulation der Änderung bei QDDT bezüglich Ropen. Fig. 17 ist eine Darstellung einer Änderung von QDDT bezüglich des Widerstands Ropen des Offen-Fehlers, wenn ein Offen-Fehler in der Eingangssignalleitung IN2 des Inverters G2 bei der in Fig. 9 gezeigten Schaltung vorhanden ist.
Eine Gatterlaufzeit tgd eines Logikgatters ist proportional zur Zeit tT für den Übergang eines eingegebenen Signals, wie durch Gleichung (39) nachstehend angegeben. (Vgl. Gleichungen 4.52 und 4.53 "Principles of CMOS VLSI Design-A Systems Perspective", Second Edition, Addison- Weely Publishing Company, herausgegeben 1999, Seiten 216-217).
wobei tgd,step eine Laufzeit eines fehlerfreien Inverters bezüglich eines Stufeneingangssignals bei der Übergangszeit 0 repräsentiert und VTH eine Schwellenspannung für PMOS oder NMOS, wobei klar ist, das gilt VTH = VTHN für einen Anstiegsübergang eines Eingangssignals und VTH = VTHP für einen Abfallsübergang eines Eingangssignals. Somit kann, da eine Gatterlaufzeit tgd eines Logikgatters mit einem Offen-Fehler, der durch einen Widerstand Ropen modelliert werden kann, auf einer Eingangssignalleitung durch die Gleichung (37) gegeben ist, diese durch Einsetzen der Gleichung (37) in die Gleichung (39) ermittelt werden, wie unten angegeben.
wobei tgd,typ ein typischer Wert der Gatterlaufzeit eines fehlerfreien Logikgatters ist. Genauer gesagt variiert die Gatterlaufzeit tgd eines Logikgatters mit einem Offen-Fehler abhängig von dem Widerstand Ropen des Fehlers, und das Inkrement Δ der Gatterlaufzeit ist proportional zum Widerstand Ropen des Fehlers. Demzufolge ist, wenn ein Bruchfehler am Eingang irgendeines Logikgatters auf dem im Test befindlichen Weg vorhanden ist, die Weglaufzeit tpd des im Test befindlichen Wegs ebenfalls proportional zu Ropen. Dies wird durch die unten gegebene Gleichung (41) angegeben, die durch Einsetzen der Gleichung (40) in Gleichung (17) gewonnen wird.
Dies stimmt mit dem Ergebnis der bei einer Änderung von tpd bezüglich Ropen ausgeführten Simulation überein, wie in Fig. 18 angegeben, die eine Darstellung der Änderung von tpd mit dem Widerstand Ropen eines Offen-Fehlers ist, wenn ein Offen-Fehler in der Eingangssignalleitung IN2 eines Inverters G2 in der in Fig. 9a gezeigten Schaltung vorhanden ist.
Wenn ein Offen-Fehler am Eingang eines Logikgatters Gk auf dem Weg P existiert, wird das Integral QSk des Kurzschlußstroms des Gatters Gk durch die Gleichungen (8) und (37) bestimmt, wie nachstehend angegeben.
Somit ist das Integral QDDT des Übergangsspeisestroms des ICs gemäß Gleichung (36) wie nachstehend angegeben bestimmt.
Somit ist das Integral QDDT des Übergangsspeisestroms des ICs ebenfalls proportional zum Widerstand Ropen des Offen-Fehlers.
Somit ist aus den Gleichungen (41) und (42) ersichtlich, daß die Laufzeit tpd des Wegs P mit einem Offen-Fehler sich linear mit dem Integral QDDT des Übergangsspeisestroms des CMOS-ICs ändert, und dies stimmt mit dem Ergebnis einer bei der Änderung von tpd mit QDDT ausgeführten Simulation überein, wie in Fig. 19 angegeben, die eine Darstellung der Änderung tpd mit dem Integral QDDT des Übergangsspeisestroms ist, wenn ein Offen-Fehler auf der Eingangssignalleitung IN2 eines Inverters G2 in der in Fig. 9a gezeigten Schaltung vorhanden ist.
Das Einsetzen von Ropen das durch Gleichung (42) bestimmt ist, in die Gleichung (41) führt zu Gleichung (43).
Wenn das Integral des Übergangsspeisestroms, falls die Weglaufzeit tpd gleich der oberen Grenze T' der zulässigen Laufzeit ist, mit Qmax bezeichnet wird, wird die nachstehend angegebene Gleichung (44) durch Lösen der Gleichung (43) durch Setzen von tpd = T' und QDDT = Qmax gewonnen.
Das Qmax repräsentiert die obere Grenze des Integrals QDDT des Übergangsspeisestroms des CMOS-ICs, das frei von einem Laufzeitfehler ist. Somit kann ermittelt werden, daß kein Weglauf­ zeitfehler im CMOS-IC vorhanden ist, wenn QDDT kleiner als Qmax ist, während ein Weglaufzeit­ fehler aufgrund eines Bruchfehlers im CMOS-IC vorhanden ist, wenn QDDT größer als Qmax ist.
QDDT ≦ Qmax kein Laufzeitfehler
QDDT < Qmax Laufzeitfehler vorhanden (45)
Wie oben diskutiert, kann durch Vergleichen des Integrals QDDT des Übergangsspeisestroms mit dem gegebenen Wert Qmax ein Laufzeitfehler in der Schaltung getestet werden. Der gegebene Wert Qmax kann durch eine Schaltungssimulation oder aus der Gleichung (45) unter Verwendung statistischer Daten ermittelt werden.
Merkmale eines Laufzeitfehlertests mittels des Übergangsspeisestroms
Der Übergangsspeisestrom ist ein Übergangsstrom, der durch einen Stromversorgungs-Pin eines ICs fließt, und für diesen Übergangsstrom ist eine bessere Beobachtbarkeit sichergestellt als für ein Spannungssignal. Somit kann ein Laufzeitfehlertestverfahren, welches den Übergangsspeise­ strom verwendet, eine bessere Beobachtbarkeit eines Laufzeitfehlers sicherstellen als eine Laufzeitfehlertesttechnik, die ein Spannungssignal verwendet. Beispielsweise kann eine Laufzeit­ fehlertesttechnik, die ein Spannungssignal verwendet, einen Laufzeitfehler nur erfassen, wenn das Spannungssignal an eine Ausgangssignalleitung eines ICs übertragen wird. Im Gegensatz dazu ist bei einer Laufzeitfehlertesttechnik, die ein Übergangsspeisestromsignal verwendet, ein Übergangsspeisestromsignal mit einer Pulsweite, die einer Laufzeit auf einem Weg entspricht, auf dem das Spannungssignal übertragen wird, beobachtbar, wenn das Spannungssignal nicht an eine Ausgangssignalleitung des ICs übertragen wird, und kann daher einen Laufzeitfehler erfassen. Gleichzeitig besteht bei der Laufzeitfehlertechnik, die das Übergangsspeisestromsignal verwendet, kein Erfordernis, ein Spannungssignal an eine Ausgangssignalleitung eines ICs zu übertragen, weshalb bei dieser Technik beim Erzeugen von Testmustern bestehende Beschrän­ kungen im Vergleich zur Erzeugung von Testmustern für eine herkömmliche Laufzeitfehlertest­ technik, die ein Spannungssignal verwendet, wo es erforderlich ist, das Spannungssignal an die Ausgangssignalleitung des ICs zu übertragen, reduziert werden. Dies ermöglicht es, daß die Erzeugung von Testmustern erleichtert wird. Wenn in extremen Fällen Testmusterfolgen zufällig ausgewählt werden, kann die Laufzeitfehlertesttechnik, die das Übergangsspeisestromsignal einsetzt, einen Laufzeitfehler auf einem Weg erfassen, der durch die ausgewählte Testmuster­ folge aktiviert wird.
Testmustererzeugungstechnik (für Gatterlaufzeitfehler)
Ein Testmustererzeugungsverfahren gemäß einem ersten Aspekt der vorliegenden Erfindung bezüglich eines einzigen Laufzeitfehlers wird beschrieben. Fig. 20 zeigt ein Beispiel eines im Test befindlichen CMOS-ICs. Der im Test befindliche IC ist gleich wie die in Fig. 1 gezeigte Schaltung und weist fünf Eingangsanschlüsse x1, x2, x3, x4, x5, einen einzigen Ausgangsanschluß z1, fünf interne Signalknoten n1, n2, n3, n4, n5 und sechs Logikgatter G1, G2, G3, G4, G5, G6 auf. n1 und n2 repräsentieren Verbindungen zwischen den Gattern G1 und G2 mit dem Gatter G3, n3 repräsentiert eine Verbindung zwischen dem Gatter G3 und den Gattern G4 sowie G5, und n4 sowie n5 repräsentieren Verbindungen der Gatter G4 und G5 mit dem Gatter G6. Obwohl dies nicht gezeigt ist, sind die Stromversorgungsanschlüsse für die Gatter G1 bis G6 an eine gemeinsame Stromver­ sorgung angeschlossen. Die Erzeugung von Testmustern für einen Langsam-Anstieg-Gatterlauf­ zeitfehler, bei dem ein Anstiegsübergang des Logikgatters G3 verzögert ist, wird betrachtet.
Anfangs wird ein Testmuster v1 = "xx0xx", das einen Anfangswert von "0" für den Langsam- Anstieg-Fehler an den Ausgang des fehlerhaften Gates G3 anlegt, durch die Implikationsoperation ermittelt, wie in Fig. 20a gezeigt. Die Implikationsoperation ist eine Prozedur, die auf Logikwerten auf Signalleitungen in dem IC basiert, um Logikwerte zu ermitteln, die eindeutig für die Eingangs- und Ausgangssignalleitungen von Logikgattern ausgewählt werden, die in Reihe an die Signallei­ tungen angeschlossen sind, und sie erfolgt sowohl für die Eingangsseite (Rückwärtsoperation) als auch die Ausgangsseite (Vorwärtsoperation) der Schaltung. Es ist festzuhalten, daß die Signale "0", "1" und "x" ein niederpegeliges Signal, ein hochpegeliges Signal bzw. ein Egal-Signal, das entweder ein niederpegeliges oder ein hochpegeliges Signal sein kann, repräsentieren. Wenn beispielsweise ein Signalwert "0" am Ausgang des NAND-Gatters G3 eingestellt werden soll, ist es erforderlich, daß jeder Eingangssignalwert für das Gatter G3 "1" ist. Somit können als Ergebnis der Implikationsoperation die Ausgangssignalwerte aus den Logikgattern G1 und G2 zu "1" bestimmt werden. In ähnlicher Weise muß, damit die Ausgangssignalwerte von den NAND- Gattern G1 und G2 "1" sind, irgendeiner der zwei Eingänge jedes der NAND-Gatter G1 und G2 zu "0" gewählt werden. Somit kann ein Signalwert für den Eingangsanschluß x3 durch die Implika­ tionsoperation zu "0" bestimmt werden. Zu diesem Zeitpunkt können die verbleibenden Ein­ gangsanschlüsse entweder den Wert von "0" oder "1" aufweisen. Auf diese Weise ermöglicht es die Implikationsoperation, daß ein Testmuster v1, das einen Anfangswert von "0" an den Ausgang des fehlerhaften Gatters G3 anlegt, zu "xx0xx" bestimmt wird. Die Implikationsopera­ tion ist beispielsweise in Kapitel 8 von "design and test of a computer" von Hideo Fujiwara, Kougaku Tosho K. K., 1990, beschrieben.
Es sei nun ein Hängenbleibfehler angenommen, der bewirkt, daß das Ausgangssignal aus dem fehlerhaften Gatter G3 auf den eingestellten Anfangswert von "0" fixiert bleibt, und ein Testmus­ ter "v2 = 0x11x", das bewirkt, daß sich der Hängenbleibfehler zum Ausgang des Logikgatters G4 fortpflanzt, wird durch die Implikationsoperation (Fig. 20b) bestimmt. Demzufolge wi 99999 00070 552 001000280000000200012000285919988800040 0002010127337 00004 99880rd eine Testmusterfolge, die den Langsam-Anstieg-Fehler am Gatter G3 durch die Übergangsspeisestrom­ versorgungsstromtesttechnik erfaßt, zu T = <v1, v2< = <"xx0xx", "0x11x"< bestimmt.
Alternativ kann eine Testmusterfolge T' = "S0 S0 U1 S1 XX" durch die Implikationsoperation (Fig. 20c) bestimmt werden, die ein Signal "U1" entsprechend dem Langsam-Anstieg-Fehler an den Ausgang des fehlerhaften Gates G3 anlegt und die bewirkt, daß sich der Einfluß des Langsam-Anstieg-Fehlers zum Ausgang des Logikgatters G4 hin fortpflanzt. Es ist festzuhalten, daß die Signale "S0", "S1 ", "U0", "U1" und "XX" Signalwerte entsprechend dem System mit fünf Logikwerten sind, das von C. J. Lin et al. entwickelt worden ist. Wie in Fig. 2 angegeben, repräsentieren sie ein normalerweise niederpegeliges Signal <"0", "0"<, ein normalerweise hochpegeliges Signal <"1", "1"<, ein Signal <"x", "0"< mit niedrigem Pegel am Schluß, ein Signal <"x", "1"< mit hohem Pegel am Schluß bzw. ein Egal-Signal <"x", "x"<. Die Implika­ tionsoperation gemäß dem System mit fünf Logikwerten ist eine Prozedur, die auf einem Signalwert auf einer Signalleitung innerhalb des ICs basiert, um Signalwerte einzustellen, die eindeutig für die Eingangs- und Ausgangssignalleitungen von Logikgattern ausgewählt werden, die in Reihe zu der Signalleitung geschaltet sind.
Um beispielsweise einen Signalwert "U1" am Ausgang des NAND-Gatters G3 einzustellen, ist es erforderlich, daß einer der Eingangssignalwerte am Gatter G3 "U0" ist, während der andere Eingangssignalwert "S1" sein muß. Es wird hier angenommen, daß der Ausgangssignalwert des Logikgatters G1 "S1" ist und der Ausgangssignalwert des Gatters G2 "U1" ist. Damit der Ausgangssignalwert aus dem NAND-Gatter G1 "1" ist, muß einer der Eingänge des Gatters G1 auf "S0" eingestellt werden. Es wird angenommen, daß das Signal "S0" an den Eingangsanschluß x2 angelegt wird. Andererseits kann, um den Ausgangssignalwert des NAND-Gatters G2 auf "U0" einzustellen, ein Eingang des Gatters G2 zu "U0" gewählt werden, während der andere Eingang zu "S1" gewählt werden muß. Somit wird der Signalwert an dem Eingangsanschluß x3 zu "U0" gewählt, während der Signalwert am Eingangsanschluß x4 zu "S1" gewählt wird. Auf ähnliche Weise kann, um zu bewirken, daß sich der Einfluß "U1" des fehlerhaften Gatters G3 zum Ausgangs des NOR-Gatters G4 fortpflanzt, der andere Eingang oder die Eingangssignalleitung für das Gatters G4 zu "S0" gewählt werden. Somit wird eine Testmusterfolge T', die ein Signal "U1" entsprechend dem Langsam-Anstieg-Fehler an den Ausgang des fehlerhaften Gates G3 anlegt und die bewirkt, daß der Einfluß des Langsam-Anstieg-Fehlers sich zum Ausgang des Logikgatters G4 fortpflanzt, durch die Implikationsoperation bestimmt, die als "S0 S0 U1 S1 XX" festgelegt ist. Wie in den früheren Absätzen des Hintergrunds der Erfindung beschrieben, ist das System mit fünf Logikwerten in Dokument 1 beschrieben. Daher ist die Testmusterfolge, die den Langsam- Anstieg-Fehler am Gatter G3 durch die Übergangsspeisestromtesttechnik erfaßt, zu T' = "S0 S0 U1 S1 XX" = <v1, v2< = <"0001x", "0011x"< festgelegt.
Wenn das Logikgatter G3 einen Laufzeitfehler aufweist, ist der Übergangszeitpunkt des Aus­ gangssignals des Logikgatters G3 verzögert. Wenn bewirkt wird, daß sich durch die Testmuster­ folge T oder T' der Einfluß des Fehlers zum nächsten Logikgatter G4 (oder zu dessen Ausgang) fortpflanzt, wird die Wellenform des Übergangsspeisestroms des Logikgatters G4 anders als in einem normalen Zustand, wodurch eine Abnormalität beim Übergangsspeisestrom des im Test befindlichen ICs angezeigt wird. Daher ist es durch Anlegen der Testmusterfolge T oder T' und Beobachten, ob irgendeine Abnormalität beim Übergangsspeisestrom des im Test befindlichen ICs auftritt oder nicht, möglich zu ermitteln, ob ein Langsam-Anstieg-Fehler im Logikgatter G3 vorhanden ist oder nicht.
Aus dem Vorstehenden ist ersichtlich, daß eine Testmusterfolge, die einen Gatterlaufzeitfehler in dem im Test befindlichen IC untersucht, erzeugt werden kann. Außerdem ist das Verfahren der Erzeugung von Testmustern gemäß der vorliegenden Erfindung nicht auf die Erzeugung von Testmustern in Einheiten eines Gatterlaufzeitfehlers beschränkt, sondern eine Testmusterfolge kann auch in Einheiten eines Offen-Fehlers erzeugt werden, in dem das Vorhandensein eines Offen-Fehlers auf einer Signalleitung innerhalb des ICs angenommen wird.
Testmustererzeugungsverfahren (für Offen-Fehler)
Ein Verfahren zum Erzeugen von Testmustern gemäß dem ersten Aspekt der vorliegenden Erfindung bezüglich eines einzelnen Offen-Fehlers wird nun beschrieben. Fig. 21 zeigt ein Beispiel eines im Test befindlichen CMOS-ICs. Dieser im Test befindliche IC ist gleich wie die in Fig. 20 gezeigte Schaltung, und es sind neun interne Signalleitungen vorhanden: Signalleitungen m1 und m2 zwischen dem Eingangsanschluß x3 und den Gattern G1 und G2, Signalleitungen m3 und m4 zwischen den Gattern G1 und G2 einerseits und einem Gatter G3, eine Signalleitung m5 auf der Ausgangsseite des Gatters G3, Signalleitungen m6 und m7 zwischen der Signalleitung m5 und den Gattern G4 und G5 sowie Signalleitungen m8 und m9 zwischen den Gattern G4 und G5 einerseits und dem Gatter G6. Es wird die Erzeugung von Testmustern für einen Offen-Fehler (durch ein Zeichen x gekennzeichnet) in der Signalleitung m5 betrachtet. Anfangs wird ein Testmuster v1 = "xx0xx", das einen Anfangswert von "0" des Langsam-Anstieg-Fehlers an die fehlerhafte Signalleitung m6 anlegt, durch die Implikationsoperation bestimmt, um die in Fig. 21a angegebe­ nen Signalbedingungen herzustellen. Ein Hängenbleibfehler, der den Logikwert der fehlerhaften Signalleitung m6 bei dem hergestellten Anfangswert von "0" fixiert, wird dann angenommen, und das Testmuster v2 = "0x11x", das bewirkt, daß sich der Hängenbleibfehler zum Ausgang des Logikgatters G4 fortpflanzt, wird durch die Implikationsoperation ermittelt, wodurch die in Fig. 21a gezeigten Signalbedingungen hergestellt werden. Auf diese Weise kann eine Testmuster­ folge, die den Offen-Fehler auf der Signalleitung m6 entsprechend der Übergangsspeisestromtest­ technik erfaßt, zu T = <v1, v2< = <"xx0xx", "0x11x"< ermittelt werden.
Alternativ kann eine Testmusterfolge T' = "S0 S0 U1 S1 XX" durch die Implikationsoperation ermittelt werden, die ein Signal "U1" entsprechend dem Langsam-Anstieg-Fehler an die fehler­ hafte Signalleitung m6 anlegt und die bewirkt, daß sich der Einfluß des Langsam-Anstieg-Fehlers zum Ausgang des Logikgatters G4 fortpflanzt (Fig. 21c). Auf diese Weise wird eine Testmuster­ folge, die den Offen-Fehler auf der Signalleitung m6 entsprechend der Übergangsspeisestromtest­ technik erfaßt, zu T' = "S0 S0 U1 S1 XX" = <v1, v2< = <"0001x", "0011x"< ermittelt.
Wenn die Signalleitung m6 einen Offen-Fehler aufweist, nimmt die Übergangszeit des Eingangs­ signals des Logikgatters G4 zu. Wenn sich der Einfluß dieses Fehlers durch eine der Testmuster­ folgen T oder T' zum Logikgatter G4 (oder dessen Ausgang) fortpflanzt, wird die Wellenform des Übergangsspeisestroms des Logikgatters G4 anders als in einem normalen Zustand, und demzu­ folge weist der Übergangsspeisestrom des im Test befindlichen ICs eine Abnormalität auf. Auf diese Weise ist es durch Anlegen der Testmusterfolge T oder T' und durch Beobachten, ob eine Abnormalität beim Übergangsspeisestrom des im Test befindlichen ICs auftritt, möglich zu ermitteln, ob ein Offen-Fehler auf der Signalleitung m6 existiert oder nicht.
Aus dem Vorstehenden ist ersichtlich, daß eine Testmusterfolge erzeugt werden kann, die bei einem Offen-Fehler innerhalb des im Test befindlichen ICs verwendet werden kann. Das Verfah­ ren der Erzeugung von Testmustern gemäß der vorliegenden Erfindung ist nicht auf die Erzeugung von Testmustern hinsichtlich Offen-Fehlern auf Signalleitungen beschränkt, die Logikgatter verbinden, sondern es können auch Testmuster erzeugt werden, die so wirken, daß sie Offen- Fehler innerhalb des Logikgatters erfassen, indem die Anwesenheit eines Offen-Fehlers auf einer Signalleitung angenommen wird, die sich innerhalb des Logikgatters befindet.
Des weiteren ist das Verfahren zur Herstellung von Testmustern gemäß der vorliegenden Erfindung nicht in seiner Anwendung auf kombinatorische Logikschaltungen beschränkt, die keine Flip-Flops enthalten, sondern es ist auch auf Folgeschaltungen anwendbar, die Speicherelemente wie beispielsweise Flip-Flops enthalten.
Darüber hinaus ist das Verfahren zur Erzeugung von Testmustern gemäß der vorliegenden Erfindung nicht auf die Anwendung bei einem CMOS-IC beschränkt, sondern es ist auch bei Halbleiter-ICs anderer Arten anwendbar.
IDDT-Fehlersimulationstechnik (für Gatterlaufzeitfehler)
Eine Technik der Übergangsspeisestromfehlersimulation (nachstehend als IDDT-Fehlersimulation bezeichnet), die eine Liste erfaßbarer Fehler hinsichtlich Gatterlaufzeitfehler herstellt, wird nun beschrieben.
Fig. 22 zeigt ein Beispiel eines im Test befindlichen CMOS-ICs. Der im Test befindliche IC enthält drei Eingangsanschlüsse x1, x2, x3, zwei Ausgangsanschlüsse z1, z2, fünf Logikgatter G1, G2, G3, G4, G5, fünf interne Signalknoten n1, n2, n3, n4, n5 und zwei Ausgabepuffer G6, G7. Genauer gesagt ist der Eingangsanschluß x1 an den Eingang eines Inverterlogikgatters G1 angeschlossen; die Eingangsanschlüsse x2, x3 sind an die Eingänge des NAND-Logikgatters G2 angeschlossen; die Ausgänge der Logikgatter G1 und G2 sind über die Knoten n1, n2 an das NAND-Logikgatter G3 angeschlossen; der Ausgang des Logikgatters G3 ist über den Knoten n3 an den Eingang des Inverterlogikgatters G4 und an einen Eingang des NOR-Logikgatters G5 angeschlossen; der Eingangsanschluß x3 ist an den anderen Eingang des Logikgatters G5 angeschlossen; der Ausgang des Logikgatters G4 ist über den Knoten n4 und den Puffer G6 an den Ausgangsanschluß z1 angeschlossen; und der Ausgang des Logikgatters G5 ist über den Knoten n5 und den Puffer G7 an den Ausgangsanschluß z2 angeschlossen. Obwohl nicht gezeigt, sind die Stromversorgungs­ anschlüsse der Logikgatter G1 bis G5 und der Ausgabepuffer G6, G7 an eine gemeinsame Stromversorgung angeschlossen.
Ein Beispiel von Ergebnissen der IDDT-Fehlersimulation, die bei dem im Test befindlichen CMOS-IC ausgeführt wurde, ist in Fig. 23 dargestellt. In Fig. 23 stellt die erste Spalte, von links gezählt, eine Kennung einer Testmusterfolge dar. Eine zweite Spalte gibt Eingangssignale an, die an die Eingangsanschlüsse x1, x2, x3 des im Test befindlichen CMOS-ICs angelegt werden, und die dritte Spalte zeigt Signale, die an den internen Signalknoten n1, n2, n3, n4, n5 des im Test befindlichen CMOS-ICs erscheinen, wenn die einzelnen Testmusterfolgen angelegt werden. Eine vierte Spalte gibt Signale an, die an den Ausgangsanschlüssen z1, z2 des im Test befindlichen CMOS-ICs erscheinen, wenn die einzelnen Testmusterfolgen angelegt werden. Die Signale "L", "H", "R" und "F", die in der zweiten, der dritten bzw. der vierten Spalte in Fig. 23 eingetragen sind, repräsen­ tieren ein normalerweise niederpegeliges Signal <"0", "0"< (wobei festzuhalten ist, daß ein erstes Element innerhalb < < einen anfänglichen Signalwert und ein zweites Element einen Signalwert am Schluß repräsentiert), ein normalerweise hochpegeliges Signal <"1", "1"<, ein Signal <"0", "1"<, das von einem niedrigen Pegel auf einen hohen Pegel ansteigt, bzw. ein Signal <"1", "0"<, das von einem hohen Pegel auf einen niedrigen Pegel abfällt.
Somit umfaßt jede Testmusterfolge zwei Testmuster. Beispielsweise bedeutet eine Testmuster­ folge T1 = "LLR", daß x1, x2, x3 = <"000", "001"<. Die fünfte Spalte in Fig. 23 zeigt einen Satz von Gatterlaufzeitfehlern, die durch die Übergangsspeisestromtesttechnik erfaßt werden können, wenn die einzelnen Testmusterfolgen an den im Test befindlichen CMOS-IC angelegt werden (oder eine Liste erfaßbarer Fehler). Es ist festzuhalten, daß G5F einen Abfallsübergangs­ laufzeitfehler des Gatters G5 repräsentiert und G3R einen Anstiegsübergangsfehler des Gatters G3 repräsentiert. Wenn ein Logikgatter einen Gatterlaufzeitfehler aufweist, wird der Übergangszeit­ punkt des Ausgangssignals des Logikgatters verzögert. Gleichzeitig ist bei einem Logikgatter, das an seinem Eingang das Ausgangssignal aus dem fehlerhaften Logikgatter empfängt, die Zeitlage der Spitze seines Übergangsstroms verzögert, und der Übergangsspeisestrom des im Test befindlichen ICs weist eine Abnormalität auf. Somit ist es durch Anlegen einer Testmusterfolge und Beobachten, ob eine Abnormalität beim Übergangsspeisestrom auftritt oder nicht, möglich zu ermitteln, wenn die eingegebene Testmusterfolge einen Schaltvorgang (entweder einen Anstiegs­ übergang oder einen Abfallsübergang) von Logikgattern verursacht, was wiederum einen Schaltvorgang eines Logikgatters oder von Logikgattern verursacht, an dessen bzw. deren Eingang die Ausgangssignalleitungen von den erstgenannten Logikgattern angeschlossen sind, ob diese Logikgatter fehlerhaft sind oder nicht.
Wenn beispielsweise die Testmusterfolge T2 an den in Fig. 22 gezeigten, im Test befindlichen CMOS-IC angelegt wird, tritt ein Schaftvorgang in den Logikgattern G2 G3, G4, G5 und den Ausgabepuffern G6 und G7 auf, die sich in dem im Test befindlichen CMOS-IC befinden, wodurch ein Abfallsübergang auf den Signalleitungen n2, n4, n5 und den Ausgangsanschlüssen z1, z2 erzeugt wird, während ein Anstiegsübergang auf der Signalleitung n3 erzeugt wird. Somit wird, wenn ein Langsam-Abfall-Fehler in einem der Logikgatter G2, G4 und G5 vorhanden ist oder wenn ein Langsam-Anstieg-Fehler in dem Logikgatter G3 vorhanden ist, eine Abnormalität in dem Übergangsspeisestrom während des Übergangsspeisestromtestens beobachtet, das die Testmus­ terfolge T2 verwendet. Auf diese Weise ermöglicht es das Übergangsspeisestromtesten unter Verwenden der Testmusterfolge T2, einen Langsam-Abfall-Fehler in den Logikgattern G2, G4 und G5 sowie einen Langsam-Anstieg-Fehler in dem Logikgatter G3 zu erfassen. Somit kann eine Liste erfaßbarer Fehler, die von der Testmusterfolge T2 geliefert wird, durch die beschriebene IDDT-Fehlersimulation zu {G2F, G3R, G4F, G5F} bestimmt werden. Es ist klar, daß "F" und "R" einen Langsam-Abfall-Fehler bzw. einen Langsam-Anstieg-Fehler repräsentieren.
Auf diese Weise kann eine Liste erfaßbarer Fehler hinsichtlich Gatterlaufzeitfehlern angefertigt werden, die mit einer gegebenen Testmusterfolge erfaßt werden können.
IDDT-Fehlersimulationstechnik (für Offen-Fehler)
Nun wird eine IDDT-Fehlersimulationstechnik beschrieben, die eine Fehlerliste hinsichtlich Offen- Fehlern anfertigt. Fig. 24 zeigt ein Beispiel eines im Test befindlichen CMOS-ICs. Dieser ist gleich wie der in Fig. 22 gezeigte, aber die Signalleitungen zwischen den Eingangsanschlüssen x1, x2, x3 und den Logikgattern sowie die Signalleitungen zwischen den Logikgattern sind als Signalleitun­ gen m1, m2, . . ., m12 bezeichnet. Es ist festzuhalten, daß die Signalleitungen auch Eingangs- und Ausgangssignalleitungen umfassen, und jede Verzweigungsleitung wird als eigene Signalleitung behandelt. Es wird des weiteren angenommen, daß die Ausgangssignalleitungen m11, m12 an die Ausgabepuffer G6 bzw. G7 angeschlossen sind.
Ein Beispiel von Ergebnissen einer IDDT-Fehlersimulation, die bei dem im Test befindlichen CMOS- IC ausgeführt wurde, ist in Fig. 25 dargestellt. In Fig. 25 stellt die erste Spalte, von links gezählt, eine Kennung einer Testmusterfolge dar; die zweite Spalte zeigt an die Eingangsanschlüsse x1, x2, x3 des im Test befindlichen CMOS-ICs angelegte Eingangssignale; die dritte Spalte zeigt Signale, die auf den Signalleitungen m1, m2, . . ., m 12, des im Test befindlichen CMOS-ICs erscheinen, wenn die einzelnen Testmusterfolgen angelegt werden; und die vierte Spalte zeigt Signale, die an den Ausgangsanschlüssen z1, z2 des im Test befindlichen CMOS-ICs erscheinen, wenn die einzelnen Testmusterfolgen angelegt werden. Die Signale "L", "H", "R", "F" sind gleich wie die oben in Verbindung mit Fig. 23 beschriebenen. Beispielsweise bedeutet die Testmuster­ folge T1 = "LLR", daß x1 x2 x3 = <"000", "001"<. Die fünfte Spalte in Fig. 25 zeigt einen Satz von Signalleitungen mit Offen-Fehlern, die während des Übergangsspeisestromtestens erfaßt werden können, wenn die einzelnen Testmusterfolgen an den im Test befindlichen CMOS-IC angelegt werden, oder eine Liste erfaßbarer Fehler. Wenn eine Signalleitung innerhalb des ICs einen Offen-Fehler aufweist, wird der Schaltvorgang eines Logikgatters, der mit seinem Eingang an die fehlerhafte Signalleitung angeschlossen ist, verzögert, und gleichzeitig ändert sich die Wellenform des Übergangsspeisestroms der Logikschaltung, wodurch eine Abnormalität bei dem Übergangsspeisestrom des im Test befindlichen ICs auftritt. Somit ist es durch Anlegen einer Testmusterfolge und Beobachten, ob eine Abnormalität beim Übergangsspeisestrom auftritt oder nicht, möglich zu ermitteln, wenn die eingegebene Testmusterfolge das Auftreten eines Schalt­ vorgangs auf einer Signalleitung verursacht, was wiederum das Auftreten eines Schaltvorgangs in einem Logikgatter verursacht, das mit seinem Eingang an die Signalleitung angeschlossen ist, ob die Logikschaltung fehlerhaft ist oder nicht.
Wenn beispielsweise eine Testmusterfolge T6 an den in Fig. 24 gezeigten, im Test befindlichen CMOS-IC angelegt wird, tritt ein Schaltvorgang auf den Signalleitungen m2, m7, m5, m9, m10, m11 innerhalb des im Test befindlichen CMOS-ICs auf, und dies wiederum verursacht das Auftreten eines Schaltvorgangs in den Logikgattern G2, G3, G4 und dem Ausgabepuffer G6 innerhalb des im Test befindlichen CMOS-ICs. Somit wird, wenn ein Offen-Fehler in einer der Signalleitungen m2 m7, m8, m9, m11, vorhanden ist, eine Abnormalität beim Übergangsspeisestrom während des Übergangsspeisestromtestens beobachtet, das die Testmusterfolge T6 verwendet. Auf diese Weise ermöglicht es das Übergangsspeisestromtesten, das die Testrnusterfolge T6 verwendet, daß ein Offen-Fehler auf den Signalleitungen m2, m7, m8, m9, m11 erfaßt wird. Demzufolge kann eine liste erfaßbarer Fehler, die mit der Testmusterfolge T6 aus der IDDT-Fehlersimulation gewonnen wird, zu {m2, m7, m8, m9, m11} definiert werden. Die Liste von Offen-Fehlern ist hinsichtlich Signalleitungen angegeben, auf denen es wahrscheinlich ist, daß ein Offen-Fehler auftritt.
Aus dem Vorstehenden ist ersichtlich, daß eine Liste erfaßbarer Fehler hinsichtlich Offen-Fehlern angefertigt werden kann, die mit einer Testmusterfolge erfaßt werden können. Die IDDT-Fehlersi­ mulationstechnik ist in ihrer Anwendung nicht auf Offen-Fehler auf Signalleitungen beschränkt, die die Logikgatter miteinander verbinden, sondern sie ist auch bei Offen-Fehlern auf Signalleitun­ gen anwendbar, die innerhalb des Logikgatters angeordnet sind, indem ein Fehler auf einer Signalleitung angenommen wird, der innerhalb des Logikgatters angeordnet ist.
Eine Testmustererzeugungstechnik unter Verwendung der IDDT-Fehlersimulation
Das Testmustererzeugungsverfahren gemäß dem ersten Aspekt der Erfindung wird nun beschrie­ ben. Wie durch die oben beschriebenen Ergebnisse der IDDT-Fehlersimulation angegeben, kann eine einzelne Testmusterfolge dazu verwendet werden, eine Mehrzahl von Gatterlaufzeitfehlern oder Offen-Fehlern zu erfassen. Somit ist es, wenn eine Testmusterfolge, die für den Zweck eines ausgewählten Fehlers erzeugt worden ist, erfolgreich einen anderen oder nichtausgewähl­ ten Fehler erfaßt hat, nicht nötig, ein Testmuster für den nichtausgewählten Fehler zu erzeugen. Da die IDDT-Fehlersimulation als Logiksimulation implementiert werden kann, die einen Logiksig­ nalwert auf einer internen Signalleitung bezüglich eines Eingangssignals ermittelt, ist ein erforderliches Verarbeitungszeitintervall im allgemeinen kürzer als bei der Erzeugung von Testmustern, um das Eingangssignal aus dem internen Signalwert in umgekehrter Weise zu berechnen. Daher kann, wenn Testmuster für einen ausgewählten Fehler erzeugt werden, ein nicht-ausgewählter Fehler, der durch IDDT-Fehlersimulation erfaßt wird, von der Liste zu erfassen­ der Fehler entfernt werden, wodurch es möglich wird, daß die für die Erzeugung von Testmustern erforderliche Verarbeitungszeit reduziert wird.
Technik zum Herstellen einer Liste erfaßbarer Fehler (für Weglaufzeitfehler)
Eine Technik zum Herstellen einer Liste erfaßbarer Fehler wird nun beschrieben. Fig. 26 zeigt ein Beispiel eines im Test befindlichen MOS-ICs. Der im Test befindliche IC umfaßt vier Eingangsan­ schlüsse x1, x2, x3, x4, zwei Ausgangsanschlüsse z1, z2, fünf interne Signalknoten n1, n2, n3, n4, n5, fünf Logikgatter G1, G2, G3, G4, G5 und Ausgabepuffer G5, G7. Die Eingangsanschlüsse x1 und x2 sind mit den zwei Eingängen des NAND-Gatters G1 verbunden, dessen Ausgang über den Signalknoten n1 mit dem Eingang des Invertergatters G2 und einem Eingang des ODER-Gatters G3 verbunden ist. Der Ausgang des Invertergatters G2 ist über den Knoten n2 mit einem Eingang des UND-Gatters G4 verbunden, und der Ausgang des Gatters G3 ist über den Knoten n3 mit dem anderen Eingang des UND-Gatters G4 und einem Eingang des UND-Gatters G5 verbunden. Der Eingangsanschluß x3 ist mit dem anderen Eingang des ODER-Gatters G3 verbunden, und der Eingangsanschluß x4 ist mit dem anderen Eingang des UND-Gatters G5 verbunden. Die Ausgänge der UND-Gatter G4 und G5 sind über die Knoten n4 bzw. n5 und die Ausgabepuffer G6 bzw. G7 an die Ausgangsanschlüsse z1 bzw. z2 angeschlossen. Die Stromversorgungsanschlüsse der Gatter G1 bis G7 sind an eine gemeinsame Stromversorgung angeschlossen, wobei dies nicht gezeigt ist.
Hier wird angenommen, daß die Gatter G1, G2, G3, G4, G5, G6 und G7 Gatterlaufzeiten (Fortpflan­ zungslaufzeiten) aufweisen, die gleich 1, 1, 3, 2, 1, 1 bzw. 1 sind. Ein Beispiel von Ergebnissen einer Fehlersimulation, die bei dem im Test befindlichen MOS-IC ausgeführt wurde, ist in Fig. 27 dargestellt. In Fig. 27 stellt die erste Spalte, von links gezählt, eine Kennung einer Testmuster­ folge dar; die zweite Spalte zeigt an die Eingangsanschlüsse x1, x2, x3, x4 des im Test befindli­ chen CMOS-ICs angelegte Eingangssignale; die dritte Spalte zeigt eine Folge von Übergangssig­ nalwerten, die an den internen Signalknoten n1, n2, n3, n4, n5 des im Test befindlichen CMOS-ICs auftreten, wenn die einzelnen Testmusterfolgen an die Eingangsanschlüsse x1, x2, x3, x4 angelegt werden; und die vierte Spalte zeigt eine Folge von Übergangssignalwerten, die an den Ausgangs­ anschlüssen z1, z2 des im Test befindlichen CMOS-ICs auftreten und die aus den Übergangssig­ nalwerten auf diesen Knoten resultieren. Es ist festzuhalten, daß Signale "L", "H", "R" und "F" die gleichen Bezeichnungen repräsentieren, wie sie in den Fig. 23 und 25 verwendet wurden. Beispielsweise bedeutet eine Testmusterfolge T1 = "FHHL", daß x1 x2 x3 x4 = <"1110", "0110"<. In Klammern geschriebene Ziffern unterhalb entsprechenden Signalwerten stellen einen Übergangszeitpunkt der einzelnen Signale im Vergleich zum Übergangszeitpunkt des Signals am Eingangsanschluß dar, der als Null gewählt wird. Beispielsweise bedeutet R(3) das Auftreten eines Anstiegsübergangssignals ("R") zum Zeitpunkt 3.
Die fünfte Spalte in Fig. 27 zeigt Sätze von Laufzeitfehlerwegen, die während des Übergangs­ speisestromtestens erfaßt werden können, oder eine Liste erfaßbarer Fehler, wenn die einzelnen Testmusterfolgen an den im Test befindlichen IC angelegt werden. Wenn der im Test befindliche IC einen Weglaufzeitfehler aufweist, ist der Übergangszeitpunkt eines Ausgangssignals aus dem fehlerhaften Weg verzögert. Gleichzeitig bewirkt eine Änderung des Übergangszeitpunkts des Ausgangssignals aus jedem oder irgendeinem der auf dem fehlerhaften Weg befindlichen Logikgatter, daß die Zeitlage einer Spitze des Übergangsstroms eines Logikgatters der nächsten Stufe, das das Ausgangssignal aus einem derartigen Logikgatter an seinem Eingang empfängt, verzögert ist, wodurch der Übergangsspeisestrom des im Test befindlichen ICs eine Abnormalität zeigt. Somit ist es durch Anlegen einer Testmusterfolge an den im Test befindlichen IC und Beobachten, ob eine Abnormalität beim Übergangsspeisestrom des im Test befindlichen ICs auftritt oder nicht, möglich zu ermitteln, ob ein Weglaufzeitfehler auf irgendeinem Signalfortpflan­ zungsweg, auf dem jedes Logikgatter auf diesem Weg einen Schaltvorgang (entweder Anstiegs- oder Abfallsübergang) in Antwort auf die eingegebene Testmusterfolge durchläuft, aufgetreten ist oder nicht.
Wenn beispielsweise die Testmusterfolge T1 an den im Test befindlichen CMOS-IC angelegt wird, tritt ein Übergangssignal F(1) am Ausgangsknoten n1 des in dem im Test befindlichen CMOS-ICs befindlichen Logikgatters G1 auf, wie in Fig. 28a gezeigt. In ähnlicher Weise treten Signale R(2), R(4) und R(5) an den Ausgängen der Logikgatter G2, G4 bzw. des Ausgabepuffers G6 auf. Auf diese Weise folgt, da jedes auf einem Signalfortpflanzungsweg {x1, n1, n2, n4, z1} befindliche Logikgatter einer Schaltoperation unterliegt, daß immer dann, wenn ein Weglaufzeit­ fehler auf dem Signalfortpflanzungsweg {x1, n1, n2, n4, z1} vorhanden ist, eine Abnormalität im Übergangsspeisestrom während des Übergangsspeisestromtestens beobachtet wird, welches die Testmusterfolge T1 verwendet. In anderen Worten ermöglicht das die Testmusterfolge T1 verwendende Übergangsspeisestromtesten, daß ein oder mehrere Weglaufzeitfehler auf dem Signalfortpflanzungsweg {x1, n1, n2, n4, z1} erfaßt werden kann bzw. können. Auf diese Weise kann eine Liste erfaßbarer Fehler, die mit der Testmusterfolge T1 gewonnen werden können, durch die beschriebene Fehlersimulation zu {{x1, n1, n2, n4, z1}} ermittelt werden.
In einem anderen Beispiel tritt, wenn eine Tesimusterfolge T2 an den im Test befindlichen CMOS-IC angelegt wird, ein Übergangssignal F(1) am Ausgangsknoten n1 des Logikgatters G1 in dem im Test befindlichen CMOS-IC auf, und auf ähnliche Weise treten Signale R(2), F(4), R(4)-F(6), R(5)-F(7) an den Ausgängen der Logikgatter G2, G3, G4 bzw. des Ausgabepuffers G6 auf, wie in Fig. 28b gezeigt. Da jedes auf den Signalfortpflanzungswegen {x1, n1, n2, n4, z1} und {x1, n1, n3, n4, z1} befindliche Logikgatter einem Schaltvorgang unterliegt, wird, wenn ein Weglauf­ zeitfehler auf einem der Signalfortpflanzungswege {x1, n1, n2, n4, z1} oder {x1, n1, n3, n4, z1} vorhanden ist, eine Abnormalität im Übergangsspeisestrom während des Übergangsstromversor­ gungstestens beobachtet, das die Testmusterfolge T2 verwendet. Wenn die Weglaufzeit auf dem Signalfortpflanzungsweg {x1, n1, n2, n4, z1} zunimmt, wird der Anstiegsübergang R(5) auf der Ausgangssignalleitung z1 verzögert, wodurch die Wahrscheinlichkeit begründet wird, daß ein Signalübergang bei z1 nicht auftritt. Dies verhindert, daß die Weglaufzeit auf dem Signalfortpflan­ zungsweg {x1, n1, n2, n4, z1} durch das Übergangsspeisestromtesten ermittelt wird, was zu einem Fehler bei der Erfassung des Weglaufzeitfehlers auf dem Signalfortpflanzungsweg {x1, n1, n2, n4, z1} führt. Somit sind ein oder mehrere Weglaufzeitfehler, der/die durch das Übergangsspeise­ stromtesten erfaßt werden kann/können das die Testmusterfolge T2 verwendet, nur jene Weglaufzeitfehler, die auf dem Signalfortpflanzungsweg {x1, n1, n3, n4, z1} auftreten. Demzufolge wird eine Liste erfaßbarer Fehler, die durch die Testmusterfolge T2 ermittelt werden können, aus. der beschriebenen Fehlersimulation zu {{x1, n1, n3, n4, z1}} ermittelt.
Aus dem Vorstehenden ist ersichtlich, daß eine Liste erfaßbarer Fehler für jene Weglaufzeitfehler hergestellt werden kann, die mit einer gegebenen Testmusterfolge erfaßt werden können. Ein Signalfortpflanzungsweg, der einen Weglaufzeitfehler enthält, der bei der Liste erfaßbarer Fehler registriert ist, ist nicht auf einen Weg beschränkt, der sich vom Eingangsanschluß zum Ausgang­ sanschluß der im Test befindlichen Schaltung erstreckt, sondern kann auch einen Signalfortpflan­ zungsweg wie beispielsweise {x1, n1} oder {x1, n1, n3} des in Fig. 16 gezeigten Halbleiter-ICs umfassen, der den Ausgangsanschluß nicht erreicht.
Das Anfertigen der Liste erfaßbarer Fehler ist nicht auf einen CMOS-IC beschränkt, sondern ist in gleicher Weise bei anderen Arten von Halbleiter-ICs anwendbar.
Testmustererzeugungsverfahren
Ein Testmustererzeugungsverfahren gemäß dem zweiten Aspekt der vorliegenden Erfindung wird nun beschrieben. Wie bei den Ergebnissen der Technik der Anfertigung einer Liste erfaßbarer Fehler gemäß der in Fig. 27 dargestellten Übergangssimulation gezeigt, kann eine Mehrzahl von Weglaufzeitfehlern mit einer einzigen Testmusterfolge T3 erfaßt werden. Demzufolge besteht, wenn eine für einen speziellen Fehler (oder ausgewählten Fehler) erzeugte Testmusterfolge andere Fehler (nicht-ausgewählte Fehler) erfassen kann, kein Bedarf zum Erzeugen von Testmus­ tern, die andernfalls für diese anderen Fehler (nicht-ausgewählte Fehler) erforderlich wären. Da die Übergangssimulation durch eine Logiksimulation implementiert werden kann, die einen Logiksignalwert auf einer internen Signalleitung bezüglich eines Eingangssignals ermittelt, weist die Simulation im allgemeinen im Vergleich zur Erzeugung von Testmustern, bei denen das Eingangssignal durch einen umgekehrten Prozeß aus dem internen Signalwert berechnet wird, eine kurze Verarbeitungszeit auf. Daher kann die Verarbeitungszeit, die zum Erzeugen von Testmustern erforderlich wäre, reduziert werden. Außerdem ermöglicht es die Übergangsspeise­ stromtesttechnik, auf der der zweite Aspekt der vorliegenden Erfindung basiert, daß effizient auf einen Weglaufzeitfehler getestet werden kann, wenn eine Störung auf einer Signalleitung oder Nebeneingängen des im Test befindlichen Wegs vorhanden ist. Wenn beispielsweise eine Störung am Ausgang des in Fig. 28b gezeigten im Test befindlichen Wegs {x1, n1, n3, n4, z1} auftritt, ermöglicht es die Übergangsspeisestromtesttechnik, daß ein Weglaufzeitfehler auf dem im Test befindlichen Weg mit dem Testmuster T2 erfaßt wird. Dies zeigt die Möglichkeit an, daß die Anzahl an Weglaufzeitfehlern, die mit einer einzigen Testmusterfolge erfaßt werden können, erhöht werden kann, mit der Folge, daß die Gesamtanzahl an Testmusterfolgen, die zum Testen der Weglaufzeitfehler des im Test befindlichen Halbleiter-ICs erforderlich, sind, reduziert werden kann.
Das Testmustererzeugungsverfahren gemäß dem zweiten Aspekt der vorliegenden Erfindung ist nicht auf CMOS-ICs beschränkt, sondern es ist in gleicher Weise bei anderen Arten von Halblei­ ter-ICs einsetzbar.
KURZE BESCHREIBUNG DER ZEICHNUNGEN
Fig. 1a ist ein Schaltbild einer Logikschaltung, die zur Erläuterung einer herkömmlichen Testmustererzeugungstechnik verwendet wird;
Fig. 1b zeigt Muster, die an verschiedenen Punkten in der Schaltung eingetragen sind, die zum Erfassen eines Hängenbleibfehlers verwendet werden, der in der in Fig. 1a gezeigten Schaltung angenommen wird;
Fig. 2 ist ein Diagramm, das Signalwerte in dem Logiksystem mit fünf Werten angibt, das bei der herkömmlichen Testmustererzeugungstechnik verwendet wird;
Fig. 3a1, 3b1 und 3c1 sind Logikschaltbilder, und die Fig. 3a2, 3b2 und 3c2 sind Darstellungen, die die Implikationstabellen angeben, die gemäß dem herkömmlichen Testmustererzeu­ gungsverfahren bezüglich der in den Fig. 3a1, 3b1 bzw. 3c1 gezeigten Logikschaltun­ gen verwendet werden;
Fig. 4a und 4b sind Diagramme, die Werte des Logiksystems mit fünf Werten angeben, die an einen Eingang einer UND-Schaltung angelegt werden, um die Schaltung zu aktivieren, und Fig. 4c ist eine Darstellung, die eine Aktivierungstabelle repräsentiert, die gemäß dem herkömmlichen Testmustererzeugungsverfahren verwendet wird;
Fig. 5a und 5b sind Schaltbilder, die Logikwellenformen angeben, die ein beispielhaftes Testmustererzeugungsverfahren des Stands der Technik erläutern;
Fig. 6 ist ein Schaltbild der in den Fig. 5a und 5b gezeigten Schaltung, die an die Schaltung angelegte Testmuster und die darin auftretenden Wellenformen darstellt;
Fig. 7a zeigt graphisch eine Eingangsspannung VIN und eine Ausgangsspannung VOUT eines CMOS-Inverters, gegen die Zeit aufgetragen, Fig. 7b zeigt graphisch eine beispielhafte Übergangsantwort eines Speisestroms IDD, Fig. 7c ist ein Schaltbild der MOS-Inverter­ schaltung und gibt des weiteren einen Speisestrom an, der bei einem Anstiegsüber­ gang des Ausgangssignals fließt, und Fig. 7d ist eine ähnliche Ansicht wie Fig. 7c, gibt jedoch einen Speisestrom an, der bei einem Abfallsübergang des Ausgangssignals fließt;
Fig. 8 zeigt graphisch ein typisches Beispiel einer Übergangsantwort eines CMOS-Logikgat­ ters, genauer gesagt zeigt Fig. 8a graphisch eine Eingangsspannung VIN, eine Aus­ gangsspannung VOUT und einen Speisestrom IS in Form einer Übertragungscharakteris­ tik, und Fig. 8b stellt eine approximierte Wellenform für den Übergangsstrom dar;
Fig. 9a ist ein Schaltbild eines exemplarischen CMOS-ICs, Fig. 9b stellt graphisch eine Eingangsspannung in einen IC und eine Ausgangsspannung aus ihm dar, gegen die Zeit aufgetragen, und Fig. 9c zeigt graphisch eine entsprechende Übergangsstromversor­ gungsantwort IDDT, gegen die Zeit aufgetragen;
Fig. 10a ist eine schematische Ansicht eines Modells eines Fehlers bei vollständiger Unterbre­ chung, Fig. 10b ist eine Darstellung eines exemplarischen Eingangs- und Ausgangssig­ nals an der Stelle des Fehlers, Fig. 10c zeigt ein Modell eines Laufzeit-Offen-Fehlers, und Fig. 10d stellt ein exemplarisches Eingangs- und Ausgangssignal bezüglich der Stelle des Fehlers dar;
Fig. 11a ist eine schematische Ansicht eines exemplarischen CMOS-ICs mit einem Offen-Fehler, und dis Fig. 11b und 11c zeigen graphisch exemplarische Ausgangswellenformen in Abwesenheit und in Anwesenheit eines Offen-Fehlers;
Fig. 12 zeigt graphisch eine exemplarische Übergangsspeisestromantwort eines CMOS-ICs mit einem Offen-Fehler;
Fig. 13a ist eine schematische Darstellung des grundlegenden Prinzips eines Weglaufzeitfehler­ testverfahrens, Fig. 13b zeigt graphisch eine Eingangs/Ausgangsspannung, und Fig. 13c stellt einen entsprechenden Systemtakt dar;
Fig. 14 stellt das Prinzip des Übergangsspeisestromtestverfahrens dar, das die Pulsweite des Übergangsspeisestroms verwendet, wobei Fig. 14a graphisch eine gegen die Zeit auf­ getragene Eingangs/Ausgangsspannung zeigt und Fig. 14b einen gegen die Zeit aufge­ tragenen Übergangsspeisestrom darstellt;
Fig. 15 ist eine Darstellung des Prinzips des Übergangsspeisestromtestverfahrens, das einen Momentanwert des Übergangsspeisestroms verwendet, wobei Fig. 15a graphisch eine gegen die Zeit aufgetragene Eingangs/Ausgangsspannung darstellt und Fig. 15b einen gegen die Zeit aufgetragenen Übergangsspeisestrom darstellt;
Fig. 16a ist eine schematische Ansicht eines Modells für einen sehr kleinen Offen-Fehler, der auf einer Eingangssignalleitung eines CMOS-Inverters vorhanden ist, Fig. 16b zeigt graphisch eine exemplarische Ausgangswellenform, wenn kein Fehler vorhanden ist, und Fig. 16c zeigt graphisch eine exemplarische Ausgangswellenform, wenn ein Fehler vorhanden ist;
Fig. 17 zeigt graphisch eine Änderung im Integral des Übergangsspeisestroms des CMOS-ICs, aufgetragen gegen den Widerstand eines kleinen Offen-Fehlers, der im CMOS-IC vor­ handen ist;
Fig. 18 zeigt graphisch eine Änderung der Weglaufzeit eines im Test befindlichen Wegs, aufgetragen gegen den Widerstand eines sehr kleinen Offen-Fehlers, der bei dem im Test befindlichen Weg des CMOS-ICs vorhanden ist;
Fig. 19 zeigt graphisch eine lineare Beziehung zwischen dem Integral des Übergangsspeise­ stroms der CMOS-Schaltung und der Weglaufzeit des im Test befindlichen Wegs, wenn das Vorhandensein eines sehr kleinen Offen-Fehlers auf dem im Test befindlichen Weg des CMOS-ICs angenommen wird;
Fig. 20a, 20b und 20c sind schematische Ansichten, die einen im Test befindlichen exemplari­ schen CMOS-IC und Beispiele von Signalen zeigen, die auftreten, wenn ein Gatterlauf­ zeitfehler vorhanden ist, wobei sie eine Form eines Testmustererzeugungsverfahrens gemäß dem ersten Aspekt der vorliegenden Erfindung darstellen;
Fig. 21a, 21b und 21c sind ähnliche Ansichten wie die Fig. 20a, 20b bzw. 20c, die eine andere Form des Testmustererzeugungsverfahrens gemäß dem ersten Aspekt der vorliegenden Erfindung darstellen;
Fig. 22 ist ein Schaltbild eines im Test befindlichen exemplarischen CMOS-ICs, das dazu verwendet wird, eine IDDT-Fehlersimulation darzustellen, die bei dem Testmustererzeu­ gungsverfahren gemäß dem ersten Aspekt der vorliegenden Erfindung verwendet wird;
Fig. 23 ist ein Diagramm, das Ergebnisse einer IDDT-Fehlersimulation zeigt, die bei dem Testmustererzeugungsverfahren gemäß dem ersten Aspekt der vorliegenden Erfindung verwendet wurde;
Fig. 24 ist ein Schaltbild eines anderen im Test befindlichen exemplarischen CMOS-ICs, das dazu verwendet wird, die IDDT-Fehlersimulation darzustellen, die bei dem Testmusterer­ zeugungsverfahren gemäß dem ersten Aspekt der vorliegenden Erfindung verwendet wurde;
Fig. 25 ist ein Diagramm, das Ergebnisse der bei der in Fig. 24 gezeigten Schaltung eingesetz­ ten IDDT-Fehlersimulation zeigt;
Fig. 26 ist ein Schaltbild eines im Test befindlichen CMOS-ICs, das dazu verwendet wird, ein Fehlersimulationsverfahren gemäß dem zweiten Aspekt der vorliegenden Erfindung darzustellen;
Fig. 27 ist ein Diagramm, das Ergebnisse der bei der in Fig. 26 gezeigten Schaltung angewendeten Fehlersimulation zeigt;
Fig. 28a und 28b sind ähnliche Schaltbilder wie das in Fig. 26 gezeigte, stellen jedoch verschie­ dene Signalwellenformen dar, die in die Schaltbilder eingetragen wurden, um das Ver­ fahren gemäß dem zweiten Aspekt der vorliegenden Erfindung unter Verwendung der Ergebnisse der in Fig. 27 gezeigten Fehlersimulation zu beschreiben;
Fig. 29 ist ein Flußdiagramm einer exemplarischen Verarbeitungsprozedur für das Testmuster­ erzeugungsverfahren gemäß dem ersten Aspekt der vorliegenden Erfindung;
Fig. 30 ist ein Flußdiagramm einer anderen Verarbeitungsprozedur für das Testmustererzeu­ gungsverfahren gemäß dem ersten Aspekt der vorliegenden Erfindung;
Fig. 31 ist eine schematische Darstellung einer Vorrichtung gemäß der vorliegenden Erfindung, die ein Client-System und eine Mehrzahl von Server-Systemen umfaßt;
Fig. 32 ist ein Flußdiagramm einer exemplarischen Verarbeitungsprozedur, die auf der Client- Seite bei dem Testmustererzeugungsverfahren gemäß dem ersten Aspekt der vorlie­ genden Erfindung auftritt;
Fig. 33 ist ein Flußdiagramm einer exemplarischen Verarbeitungsprozedur, die auf der Server- Seite auftritt und die sich auf die Verarbeitungsprozedur bezieht, die auf der in Fig. 32 gezeigten Client-Seite auftritt;
Fig. 34 ist ein Flußdiagramm einer anderen auf der Client-Seite auftretenden Verarbeitungs­ prozedur gemäß dem Testmustererzeugungsverfahren gemäß dem ersten Aspekt der vorliegenden Erfindung;
Fig. 35 ist ein Flußdiagramm einer exemplarischen Verarbeitungsprozedur, die auf der Server- Seite auftritt und die sich auf die in Fig. 34 gezeigte Verarbeitungsprozedur der Client- Seite bezieht;
Fig. 36 ist ein Flußdiagramm einer weiteren Verarbeitungsprozedur für das Testmustererzeu­ gungsverfahren gemäß dem ersten Aspekt der vorliegenden Erfindung;
Fig. 37 ist ein Flußdiagramm einer anderen Verarbeitungsprozedur für das Testmustererzeu­ gungsverfahren gemäß dem ersten Aspekt der vorliegenden Erfindung;
Fig. 38 ist ein Flußdiagramm einer auf der Client-Seite auftretenden weiteren Verarbeitungspro­ zedur für das Testmustererzeugungsverfahren gemäß dem ersten Aspekt der vorliegen­ den Erfindung;
Fig. 39 ist ein Flußdiagramm einer auf der Server-Seite auftretenden Verarbeitungsprozedur, die sich auf die in Fig. 38 gezeigte Verarbeitungsprozedur der Client-Seite bezieht;
Fig. 40 ist ein Flußdiagramm einer anderen auf der Client-Seite auftretenden Verarbeitungspro­ zedur für das Verfahren gemäß dem ersten Aspekt der vorliegenden Erfindung;
Fig. 41 ist ein Flußdiagramm einer auf der Server-Seite auftretenden Verarbeitungsprozedur, die sich auf die in Fig. 40 gezeigte Verarbeitungsprozedur der Client-Seite bezieht;
Fig. 42 ist ein Flußdiagramm noch einer weiteren, auf der Client-Seite auftretenden Verarbei­ tungsprozedur für das Verfahren gemäß dem ersten Aspekt der vorliegenden Erfindung;
Fig. 43 ist ein Flußdiagramm einer auf der Server-Seite auftretenden Verarbeitungsprozedur, die sich auf die in Fig. 42 gezeigte Verarbeitungsprozedur der Client-Seite bezieht;
Fig. 44 ist ein Flußdiagramm einer anderen, auf der Client-Seite auftretenden Verarbeitungsprozedur für das Verfahren gemäß dem ersten Aspekt der vorliegenden Erfindung;
Fig. 45 ist ein Flußdiagramm noch einer anderen, auf der Client-Seite auftretenden Verarbeitungsprozedur für das Verfahren gemäß dem ersten Aspekt der vorliegenden Erfindung;
Fig. 46 ist ein Flußdiagramm einer exemplarischen Verarbeitungsprozedur für das Verfahren gemäß dem zweiten Aspekt der vorliegenden Erfindung;
Fig. 47 ist ein Flußdiagramm eines speziellen Beispiels des in Fig. 46 gezeigten Schritts der Anfertigung einer Liste erfaßbarer Fehler;
Fig. 48 ist ein Flußdiagramm einer auf der Client-Seite auftretenden exemplarischen Verarbei­ tungsprozedur für das Verfahren gemäß dem zweiten Aspekt der vorliegenden Erfin­ dung;
Fig. 49 ist ein Flußdiagramm einer auf der Server-Seite auftretenden Verarbeitungsprozedur, die auf die in Fig. 48 gezeigte Verarbeitungsprozedur der Client-Seite bezogen ist;
Fig. 50 ist ein Flußdiagramm einer auf der Client-Seite auftretenden anderen Verarbeitungspro­ zedur für das Verfahren gemäß dem zweiten Aspekt der vorliegenden Erfindung;
Fig. 51 ist ein Flußdiagramm einer Verarbeitungsprozedur, die auf dem Server auftritt und auf die in Fig. 50 gezeigte Verarbeitungsprozedur der Client-Seite bezogen ist;
Fig. 52 ist ein Flußdiagramm einer auf der Client-Seite auftretenden weiteren Verarbeitungspro­ zedur für das Verfahren gemäß dem zweiten Aspekt der vorliegenden Erfindung;
Fig. 53 ist ein Flußdiagramm einer Verarbeitungsprozedur, die auf der Server-Seite auftritt und auf die in Fig. 52 gezeigte Verarbeitungsprozedur der Client-Seite bezogen ist;
Fig. 54 ist ein Flußdiagramm noch einer anderen auf der Client-Seite auftretenden Verarbei­ tungsprozedur für das Verfahren gemäß dem zweiten Aspekt der vorliegenden Erfindung;
Fig. 55 ist ein Flußdiagramm einer Verarbeitungsprozedur, die auf der Server-Seite auftritt und auf die in Fig. 54 gezeigte Verarbeitungsprozedur der Client-Seite bezogen ist;
Fig. 56 ist ein Blockschaltbild, das eine exemplarische funktionelle Anordnung einer Vorrich­ tung zeigt, die das Verfahren gemäß dem ersten Aspekt der vorliegenden Erfindung implementiert;
Fig. 57A ist ein Blockschaltbild, das eine exemplarische funktionelle Anordnung eines Client- Systems zeigt, welches das Verfahren gemäß dem ersten Aspekt der vorliegenden Erfindung implementiert;
Fig. 57B ist ein Blockschaltbild, das eine exemplarische funktionelle Anordnung eines Server- Systems zeigt, welches das Verfahren gemäß dem ersten Aspekt der vorliegenden Erfindung implementiert;
Fig. 58 ist ein Blockschaltbild, das eine exemplarische funktionelle Anordnung einer Vorrich­ tung zeigt, die das Verfahren gemäß dem zweiten Aspekt der vorliegenden Erfindung implementiert;
Fig. 59A ist ein Blockschaltbild, das eine funktionelle Anordnung eines Client-Systems zeigt, welches das Verfahren gemäß dem zweiten Aspekt der vorliegenden Erfindung imple­ mentiert; und
Fig. 59B ist ein Blockschaltbild, das eine funktionelle Anordnung eines Server-Systems zeigt, welches das Verfahren gemäß dem zweiten Aspekt der vorliegenden Erfindung imple­ mentiert.
BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
Einige Ausführungsformen der vorliegenden Erfindung werden nun beschrieben.
Fig. 29 zeigt eine Verarbeitungsprozedur für ein Testmustererzeugungsverfahren gemäß einer Ausführungsform des ersten Aspekts der vorliegenden Erfindung. Anfangs wird bei Schritt 101 eine Fehlerliste angefertigt, in der alle Fehler eines im Test befindlichen Halbleiter-ICs registriert werden. Die Anfertigung der Fehlerliste kann beispielsweise durch manuelles Aufzählen von Langsam-Abfall-Fehlern (GF) und Langsam-Anstieg-Fehlern (GR) für alle Logikgatter in dem im Test befindlichen Halbleiter-IC nacheinander erfolgen, oder durch automatisches Ableiten jedes Logikgatters (jeder internen Signalleitung) durch einen elektronischen Computer auf der Basis von Schaltungsinformation. Beim nächsten Schritt 102 wird einer der Fehler in der Liste ausgewählt, für den Testmuster erzeugt werden sollen. Bei Schritt 103 wird der Versuch gemacht, durch die Implikationsoperation ein Initialisierungstestmuster v1 zu ermitteln, das einen Anfangswert an eine fehlerhafte Stelle entsprechend dem ausgewählten Fehler anlegt, um den Fehler zu aktivie­ ren. Bei Schritt 104 wird eine. Bestätigung ausgeführt, um zu sehen, ob die Implikationsoperation, die den Versuch machte, das Initialisierungstestmuster v1 zu erzeugen, erfolgreich ein Initialisie­ rungstestmuster erzeugt hat oder nicht, ohne irgendeinen Konflikt mit Logiksignalen auf Ein­ gangssignalleitungen und internen Signalleitungen des im Test befindlichen Halbleiter-ICs zu verursachen. Wenn das Initialisierungstestmuster erzeugt werden konnte, ohne einen Konflikt herbeizuführen, geht die Operation zu Schritt 105 weiter, während, wenn das Initialisierungs­ testmuster nicht ohne Hervorrufen eines Konflikts erzeugt werden konnte, die Operation zu Schritt 108 geht.
Somit wird, wenn die Erzeugung des Initialisierungstestmusters v1 bei Schritt 103 durch die Implikationsoperation versucht worden ist und diese es erfolgreich erzeugt hat, das Initialisie­ rungstestmuster bei Schritt 104 erzeugt, ohne irgendeinen Konflikt zu verursachen.
Bei Schritt 105 wird angenommen, daß die fehlerhafte Stelle einen Hängenbleibfehler aufweist, der bewirkt, daß das Ausgangssignal am Anfangswert hängenbleibt, und es wird ein Versuch unternommen, durch die Implikationsoperation ein Fortpflanzungstestmuster v2 zu ermitteln, das verursacht, daß sich der Hängenbleibfehler zum Ausgang eines folgenden Logikgatters fort­ pflanzt, dessen Eingang mit der fehlerhaften Stelle verbunden ist. Bei Schritt 106 wird eine Bestätigung ausgeführt, um zu sehen, ob die Implikationsoperation, welche die Erzeugung des Fortpflanzungstestmusters v2 versuchte, erfolgreich ein Fortpflanzungstestmuster ohne Herbei­ führung irgendeines Konflikts mit Logiksignalen auf Eingangssignalleitungen und internen Signalleitungen des im Test befindlichen Halbleiter-ICs erfolgreich hergestellt hat oder nicht. Wenn das Fortpflanzungstestmuster erfolgreich erzeugt worden ist, geht die Operation zu Schritt 107, während sie, wenn der Versuch der Erzeugung des Fortpflanzungstestmusters fehlschlug, die Operation zu Schritt 108 weitergeht.
Bei Schritt 107 wird eine Testmusterfolge T = <v1, v2< aus dem Initialisierungstestmuster v1 und dem Fortpflanzungstestmuster v2 zusammengestellt, die in den Schritten 103 bzw. 105 ermittelt werden, und die Testmusterfolge T wird in einer Testmusterliste registriert. Schließlich wird bei Schritt 108 eine Überprüfung ausgeführt, um zu sehen, ob noch ein Fehler, der noch nicht verarbeitet ist, in der Fehlerliste verbleibt oder nicht. Wenn ein nicht-verarbeiteter Fehler vorhanden ist, werden die Schritte 102, 103, 104, 105, 106, 107 und 108 wiederholt. Wenn jedoch kein nicht-verarbeiteter Fehler verbleibt, wird die Operation abgeschlossen. Das vorge­ nannte Testmustererzeugungsverfahren kann einen Gatterlaufzeitfehler oder einen Offen-Fehler als ausgewählten Fehler auswählen, für den Testmuster erzeugt werden sollen.
Fig. 30 zeigt eine Verarbeitungsprozedur gemäß einer anderen Ausführungsform für das Testmus­ tererzeugungsverfahren gemäß dem ersten Aspekt der vorliegenden Erfindung. Anfangs wird bei Schritt 201 eine Fehlerliste angefertigt, die jeden Fehler in einem im Test befindlichen Halbleiter- IC registriert. Beim nächsten Schritt 202 wird einer der Fehler, für den Testmuster erzeugt werden sollen, aus der Liste ausgewählt. Bei Schritt 203 wird ein Versuch unternommen, durch die Implikationsoperation eine Testmusterfolge T' zu ermitteln, die einen Signalwert entsprechend dem Logiksystem mit fünf Werten an eine fehlerhafte Stelle entsprechend dem ausgewählten Fehler anlegt, um den Fehler zu aktivieren, und die bewirkt, daß sich der Signalwert zum Ausgang eines folgenden Logikgatters fortpflanzt, dessen Eingang mit der fehlerhaften Stelle verbunden ist. Bei Schritt 204 wird eine Überprüfung ausgeführt, um zu sehen, ob die Implika­ tionsoperation erfolgreich eine Testmusterfolge T' ohne Herbeiführung eines Konflikts mit Logikwerten auf Eingangssignalleitungen und internen Signalleitungen des im Test befindlichen Halbleiter-ICs erzeugt hat oder nicht. Wenn die Testrnusterfolge T' erfolgreich erzeugt worden ist, geht die Operation zu Schritt 205 weiter, während, wenn es der Implikationsoperation nicht ge­ lungen ist, die Testmusterfolge T' zu erzeugen, der Ablauf zu Schritt 206 weitergeht. Bei Schritt 205 wird die Testmusterfolge T', die bei Schritt 203 ermittelt wurde, in einer Testmusterliste registriert. Schließlich wird bei Schritt 206 eine Überprüfung ausgeführt, um zu sehen, ob irgendein anderer Fehler in der Liste vorhanden ist oder nicht, der noch nicht verarbeitet worden ist. Wenn ein nicht-verarbeiteter Fehler verbleibt, werden die Schritte 202, 203, 204, 205 und 206 wiederholt. Wenn kein nicht-verarbeiteter Fehler verbleibt, wird der Ablauf abgeschlossen. Das vorgenannte Testmustererzeugungsverfahren kann einen Gatterlaufzeitfehler oder einen Offen-Fehler als ausgewählten Fehler auswählen, für den Testmuster erzeugt werden sollen.
Ein Verfahren zum Erzeugen von Testmustern durch eine Zusammenarbeit zwischen einem Client- System und Server-Systemen wird nun beschrieben. Ein Client-System 10 und eine Mehrzahl von Server-Systemen 20 sind über einen Kommunikationskanal 30 gemäß Darstellung in Fig. 31 miteinander verbunden. Diese Anordnung kann als sogenanntes LAN (Local Area Network) aufgebaut sein. In der folgenden Beschreibung wird das Client-System einfach als Client bezeichnet und das Server-System als Server.
Fig. 32 zeigt eine Verarbeitungsprozedur für das Client-System 10 in einer anderen Ausführungs­ form des Testmustererzeugungsverfahrens gemäß dem ersten Aspekt der vorliegenden Erfindung. Anfangs fertigt bei Schritt 301 ein Client (ein elektronischer Rechner, der Testmuster verwaltet) eine Fehlerliste an, in der jeder Fehler in einem im Test befindlichen Halbleiter-IC registriert wird. Beim nächsten Schritt 302 unterteilt der Client die Fehlerliste in eine Mehrzahl von Teilfehlerlis­ ten, die an die Mehrzahl von Servern übertragen werden. Danach wartet der Client bei Schritt 303 auf eine jeweilige Testmusterfolge, die von den einzelnen Servern zurückgegeben wird. Wenn eine Testmusterfolge T zurückgegeben wird, wird die Testmusterfolge T bei Schritt 304 in der Testmusterliste registriert. Schließlich überprüft der Client bei Schritt 305, ob alle Server die Erzeugung von Testmustern abgeschlossen haben oder nicht. Wenn der Server-Betrieb nicht abgeschlossen worden ist, werden die Schritte 303, 304 und 305 wiederholt, und wenn alle Server die Verarbeitung abgeschlossen haben, wird der Ablauf beendet.
Andererseits empfängt, wie in Fig. 33 gezeigt, jeder Server eine Teilfehlerliste, die von dem Client übertragen wird, und speichert sie bei Schritt 401 in einer Speicheranordnung. Beim nächsten Schritt 402 wählt der Server aus der in der Speicheranordnung gespeicherten Teilfeh­ lerliste einen der Fehler aus, für den Testmuster erzeugt werden sollen. Bei Schritt 403 versucht der Server, durch die Implikationsoperation ein Initialisierungstestmuster v1 zu ermitteln, das einen Anfangswert an eine fehlerhafte Stelle entsprechend dem ausgewählten Fehler anlegt, um den Fehler zu aktivieren. Bei Schritt 404 überprüft der Server, ob die Implikationsoperation, welche die Erzeugung des Initialisierungstestmusters beabsichtigt, das Initialisierungstestmuster erfolgreich erzeugt hat oder nicht, ohne einen Konflikt mit Logiksignalen auf Eingangssignalleitun­ gen und internen Signalleitungen in dem im Test befindlichen Halbleiter-IC herbeizuführen. Wenn das Initialisierungstestmuster erfolgreich erzeugt worden ist, geht der Ablauf zu Schritt 405 weiter, während, wenn es der Initialisierungsoperation nicht gelungen ist, das Initialisierungs­ testmuster zu erzeugen, der Ablauf zu Schritt 408 weitergeht.
Bei Schritt 405 nimmt der Server einen Hängenbleibfehler an der fehlerhaften Stelle an, der bewirkt, daß das Ausgangssignal bei dem Anfangswert fixiert ist, und versucht dann, durch die Implikationsoperation ein Fortpflanzungstestmuster v2 zu ermitteln, das bewirkt, daß sich der Hängenbleibfehler zum Ausgang eines Logikgatters der nächsten Stufe fortpflanzt, dessen Eingang mit der fehlerhaften Stelle verbunden ist. Bei Schritt 406 wird vom Server eine Überprü­ fung ausgeführt, um zu sehen, ob die Implikationsoperation, welche die Erzeugung des Fortpflan­ zungstestmusters v2 beabsichtigte, erfolgreich ein Fortpflanzungstestmuster erzeugt hat oder nicht, ohne einen Konflikt mit Logiksignalen auf Eingangssignalleitungen und internen Signallei­ tungen des im Test befindlichen Halbleiter-ICs herbeizuführen. Wenn das Fortpflanzungstestmus­ ter erfolgreich erzeugt worden ist, geht der Ablauf zu Schritt 407 weiter, während, wenn es der Implikationsoperation nicht gelungen ist, das Fortpflanzungstestmuster zu erzeugen, der Ablauf zu Schritt 408 weitergeht. Bei Schritt 407 bildet der Server eine Testmusterfolge T = <v1, v2< aus dem Initialisierungstestmuster v1 und dem Fortpflanzungstestmuster v2, die in den Schritten 403 bzw. 405 ermittelt werden, und gibt die Testmusterfolge T an den Client zurück. Schließlich wird bei Schritt 408 vom Server eine Überprüfung ausgeführt, um zu sehen, ob ein nicht- verarbeiteter Fehler in der Fehlerteilliste, die in der Speicheranordnung gespeichert ist, verblieben ist. Wenn ein nicht-verarbeiteter Fehler verblieben ist, werden die Schritte 402, 403, 404, 405, 406, 407 und 408 wiederholt. Wenn jedoch kein nicht-verarbeiteter Fehler verbleibt, berichtet der Server den Abschluß der Erzeugung der Testmuster an den Client, wodurch sein Betrieb abgeschlossen ist. Wenn die Mehrzahl von Servern auf diese Weise eine Testmusterfolge erzeugt, kann die Gesamtverarbeitungsgeschwindigkeit verbessert werden. Das vorgenannte Testmustererzeugungsverfahren kann einen Gatterlaufzeitfehler oder einen Offen-Fehler als ausgewählten Fehler wählen, für den Testmuster erzeugt werden sollen.
Fig. 34 zeigt eine Verarbeitungsprozedur, die durch den Client bei einer weiteren Ausführungs­ form des Testmustererzeugungsverfahrens gemäß dem ersten Aspekt der vorliegenden Erfindung erfolgt. Anfangs fertigt der Client bei Schritt 501 eine Fehlerliste an, in der jeder Fehler in einem im Test befindlichen Halbleiter-IC registriert wird. Bei Schritt 502 unterteilt der Client die Fehlerliste in eine Mehrzahl von Teilfehlerlisten, die an eine Mehrzahl von Servern übertragen werden. Danach wartet der Client bei Schritt 503 auf eine Testmusterfolge, die von den einzelnen Servern zurückgegeben wird. Eine zurückgegebene Testmusterfolge T' wird bei Schritt 504 in einer Testmusterliste registriert. Schließlich überprüft der Client bei Schritt 505, ob alle Server die Erzeugung von Testmustern abgeschlossen haben oder nicht. Wenn nicht alle Server die Erzeugung der Testmusterfolge abgeschlossen haben, werden die Schritte 503, 504 und 505 wiederholt, und wenn alle Server die Erzeugung von Testmustern abgeschlossen haben, wird der Betrieb beendet.
Andererseits empfängt, wie in Fig. 35 gezeigt, jeder Server bei Schritt 601 eine Teilfehlerliste, die von dem Client übertragen wird, und speichert sie in einer Speicheranordnung. Beim nächsten Schritt 602 wählt der Server einen der Fehler, für den Testmuster erzeugt werden sollen, aus der in der Speicheranordnung gespeicherten Teilfehlerliste aus. Danach versucht der Server bei Schritt 603, durch die Implikationsoperation eine Testmusterfolge T' zu ermitteln, die einen Signalwert entsprechend dem Logiksystem mit fünf Werten an eine fehlerhafte Stelle entspre­ chend dem ausgewählten Fehler anlegt, um den Fehler zu aktivieren und zu bewirken, daß sich der Signalwert zum Ausgang eines Logikgatters der nächsten Stufe fortpflanzt, dessen Eingang mit der fehlerhaften Stelle verbunden ist. Bei Schritt 604 wird eine Überprüfung durch den Server ausgeführt, um zu sehen, ob die Implikationsoperation, welche die Erzeugung der Testmuster­ folge T' beabsichtigte, die Testmusterfolge T' ohne Herbeiführung eines Konflikts mit Signalwer­ ten auf Eingangssignalleitungen und internen Signalleitungen des im Test befindlichen Halbleiter- ICs erfolgreich erzeugt hat oder nicht. Wenn die Testmusterfolge T' erfolgreich erzeugt worden ist, geht der Ablauf zu Schritt 605 weiter, während, wenn es der Implikationsoperation nicht gelungen ist, die Testmusterfolge T' zu erzeugen, der Ablauf zu Schritt 606 weitergeht. Bei Schritt 605 gibt der Server die bei Schritt 603 ermittelte Testmusterfolge T' an den Client zurück. Schließlich wird bei Schritt 606 eine Überprüfung ausgeführt, um zu sehen, ob irgendein anderer nicht-verarbeiteter Fehler in der in der Speicheranordnung gespeicherten Teilfehlerliste verbleibt oder nicht. Wenn ein nicht-verarbeiteter Fehler verbleibt, werden die Schritte 602, 603, 604, 605 und 606 wiederholt. Wenn jedoch kein nicht-verarbeiteter Fehler verbleibt, berichtet der Server den Abschluß der Erzeugung von Testmustern an den Client, wodurch sein Betrieb beendet ist. Das vorgenannte Testmustererzeugungsverfahren kann einen Gatterlaufzeitfehler oder einen Offen-Fehler als ausgewählten Fehler wählen, für den Testmuster erzeugt werden sollen.
Fig. 36 zeigt eine Verarbeitungsprozedur gemäß einer anderen Ausführungsform des Testmuster­ erzeugungsverfahrens gemäß dem ersten Aspekt der vorliegenden Erfindung. Diese Verarbei­ tungsprozedur ist der in Fig. 29 gezeigten Ausführungsform stark ähnlich, mit der Ausnahme, daß im Schritt 107, wo das in den Schritten 103 bzw. 105 ermittelte Initialisierungstestmuster v1 und das Fortpflanzungstestmuster v2 kombiniert werden, um die Testmusterfolge T = <v1, v2< zu definieren, das dann in der Testmusterliste registriert wird, ein Schritt 701 folgt, in dem die in Schritt 107 ermittelte Testmusterfolge T dazu verwendet wird, eine Übergangsspeise­ stromfehlersimulation (IDDT-Fehlersimulation) auszuführen, um eine Fehlerliste anzufertigen, die mit der Testmusterfolge erfaßt werden kann (eine Liste erfaßbarer Fehler). Dann folgt ein Schritt 702, in dem jene Fehler, die in der Liste erfaßbarer Fehler enthalten sind, die bei Schritt 701 angefertigt wird, von der bei Schritt 101 angefertigten Fehlerliste gelöscht werden. Schließlich wird bei Schritt 108 eine Überprüfung ausgeführt, um zu sehen, ob irgendein anderer Fehler, der noch nicht verarbeitet oder gelöscht worden ist, in der Fehlerliste verbleibt oder nicht. Wenn ein Fehler, der noch nicht verarbeitet oder gelöscht worden ist, verbleibt, werden die Schritte 102, 103, 104, 105, 106, 107, 701, 702 und 108 wiederholt. Wenn jedoch kein Fehler verbleibt, der noch nicht verarbeitet oder gelöscht worden ist, wird der Betrieb beendet. Das vorgenannte Löschen fördert den Abschluß der Erzeugung von Testmustern. Das vorgenannte Testmusterer­ zeugungsverfahren kann einen Gatterlaufzeitfehler oder einen Offen-Fehler für das ausgewählte Gatter wählen, für das Testmuster erzeugt werden sollen. Die Registrierung bei Schritt 107 und die Löschung bei den Schritten 701 und 702 können in ihrer Reihenfolge vertauscht werden.
Fig. 37 zeigt eine Verarbeitungsprozedur gemäß einer anderen Ausführungsform des Testmuster­ erzeugungsverfahrens gemäß dem ersten Aspekt der vorliegenden Erfindung. Diese Verarbei­ tungsprozedur ist der in Fig. 30 gezeigten Verarbeitungsprozedur äquivalent, der die zusätzliche Verarbeitungsoperation, die in Fig. 36 Unter Bezug auf Fig. 29 erfolgte, hinzugefügt wird. Als Unterscheidung zu Fig. 30 folgt nämlich nach Schritt 205, bei dem die Testmusterfolge T' in der Testmusterliste registriert wird, ein Schritt 801, bei dem die in Schritt 203 ermittelte Testmuster­ folge T' dazu verwendet wird, eine Übergangsspeisestromfehlersimulation (IDDT-Fehlersimulation) auszuführen, um eine Fehlerliste anzufertigen, die mit der Testmusterfolge erfaßt werden kann (eine Liste erfaßbarer Fehler). Dann folgt ein Schritt 802, in dem die Fehler, die in der bei Schritt 801 angefertigten Liste erfaßbarer Fehler enthalten sind, von der Fehlerliste gelöscht werden, die bei Schritt 201 angefertigt wird. Schließlich wird bei Schritt 206 eine Überprüfung ausgeführt, um zu sehen, ob irgendein anderer Fehler, der noch nicht verarbeitet oder gelöscht worden ist, in der Fehlerliste verbleibt oder nicht. Wenn ein Fehler verbleibt, der noch nicht verarbeitet oder gelöscht worden ist, werden die Schritte 202, 203, 204, 205, 801, 802 und 206 wiederholt. Wenn jedoch kein Fehler verbleibt, der noch nicht verarbeitet oder gelöscht worden ist, ist der Betrieb abgeschlossen. Das vorgenannte Testmustererzeugungsverfahren kann einen Gatterlauf­ zeitfehler oder einen Offen-Fehler für das ausgewählte Gatter wählen, für das Testmuster erzeugt werden sollen. Die Registrierung bei Schritt 205 und die Löschung bei den Schritten 801 und 802 können in ihrer Reihenfolge gegeneinander vertauscht werden.
Die Fig. 38 und 39 zeigen eine Verarbeitungsprozedur gemäß noch einer weiteren Ausführungs­ form des Testmustererzeugungsverfahrens gemäß dem ersten Aspekt der vorliegenden Erfindung.
Es wird hauptsächlich auf den Unterschied zu der in den Fig. 32 und 33 gezeigten Ausführungs­ form eingegangen. Nach dem Anfertigen einer Fehlerliste bei Schritt 301 aktiviert oder startet der Client bei Schritt 901 eine Mehrzahl von Servern zum Erzeugen von Testmustern. Beim nächsten Schritt 303 wartet der Client auf eine jeweilige Testmusterfolge, die von den einzelnen Servern zurückgegeben wird. Wenn eine Testmusterfolge T zurückgegeben wird, registriert der Client bei Schritt 304 die Testmusterfolge T in einer Testmusterliste. Beim nächsten Schritt 902 führt der Client eine Übergangsspeisestromfehlersimulation (IDDT-Fehlersimulation) unter Verwendung der Testmusterfolge T aus, um eine Liste von Fehlern anzufertigen, die mit der Testmusterfolge erfaßt werden können (eine Liste erfaßbarer Fehler). Beim nächsten Schritt 903 löscht der Client die in der Liste erfaßbarer Fehler enthaltenen Fehler, die bei Schritt 902 angefertigt wird, aus der bei Schritt 301 angefertigten Fehlerliste und geht dann zu Schritt 305 weiter. Die Reihenfolge der Registrierung bei Schritt 304 und der Löschung bei den Schritten 902 und 903 kann untereinan­ der vertauscht werden. Bei Schritt 305, wenn kein Fehler in der Fehlerliste ist, der nicht ausgewählt worden ist, werden alle Server, die nicht mit der Erzeugung von Testmustern beschäftigt sind, nacheinander deaktiviert.
Wie in Fig. 39 gezeigt, wählen die einzelnen Server, wenn sie vom Client aktiviert sind, bei Schritt 1001 einen der Fehler, für den Testmuster erzeugt werden sollen, aus der Fehlerliste aus, die vom Client unterhalten wird. Danach werden ein Initialisierungstestmuster v1 und ein Fortpflanzungstestmuster v2, die dazu verwendet werden, den ausgewählten Fehler zu erfassen, ermittelt und miteinander kombiniert, um eine Testmusterfolge T = <v1, v2< zu definieren, die dann in ähnlicher Weise wie oben in Verbindung mit Fig. 33 beschrieben an den Client zurückge­ geben wird. Nach dem Zurückgeben der Testmusterfolge im Schritt 407 führt der Server schließlich bei 1002 eine Überprüfung aus, um zu sehen, ob irgendein anderer Fehler in der vom Client unterhaltenen Fehlerliste, der noch nicht verarbeitet oder gelöscht worden ist, verbleibt oder nicht. Wenn ein Fehler verbleibt, der noch nicht verarbeitet oder gelöscht worden ist, wer­ den die Schritte 1001, 403, 404, 405, 406, 407 und 1002 wiederholt. Wenn jedoch kein Fehler verbleibt, der noch nicht verarbeitet oder gelöscht worden ist, ist der Betrieb der Erzeugung von Testmustern abgeschlossen. Das vorgenannte Testmustererzeugungsverfahren kann einen Gatterlaufzeitfehler oder einen Offen-Fehler als ausgewählten Fehler wählen, für den Testmuster erzeugt werden sollen. In den Fig. 38 und 39 überträgt der Client zur gleichen Zeit, wie er die Server aktiviert, einen ausgewählten Fehler, jeweils einen für jeden Server, aus der Fehlerliste, und wenn eine Testmusterfolge vom Server zurückgegeben wird, registriert der Client sie, fertigt eine Liste erfaßbarer Fehler an, was durch die Simulation erfolgt, und löscht den in der Liste erfaßbarer Fehler enthaltenen Fehler aus der Fehlerliste. Danach wählt der Client einen der nicht- verarbeiteten Fehler aus der Fehlerliste aus und überträgt ihn an den Server. Falls gefunden wird, daß kein nicht-verarbeiteter Fehler in der Fehlerliste verbleibt, wenn die Registrierung, die Anfertigung der Liste erfaßbarer Fehler und das Löschen für eine vom Server zurückgegebene Testmusterfolge abgeschlossen worden ist, teilt der Client den Servern diese Tatsache sofort mit, wonach die Server ihren Betrieb beenden. Alternativ kann der Client, wenn kein nichtverarbeite­ ter Fehler in der Fehlerliste vorhanden ist und er eine jeweils letzte Testmusterfolge empfangen hat, die von den einzelnen Servern zurückgegeben wird, diese Tatsache registrieren und deren Betrieb beenden.
Die Fig. 40 und 41 zeigen unterschiedliche Verarbeitungsprozeduren, die vom Client und den Servern beim Ausführen des Testmustererzeugungsverfahrens gemäß dem ersten Aspekt der vorliegenden Erfindung verwendet werden. Dies stellt eine Modifizierung der in den Fig. 34 und 35 gezeigten Ausführungsform in gleicher Weise dar, wie die in den Fig. 32 und 33 gezeigten Ausführungsformen zu den in den Fig. 38 und 39 gezeigten Ausführungsformen modifiziert sind. Demzufolge sind in Fig. 40 und 41 gezeigte Schritte, die die gleiche Funktion wie bestimmte Schritte in den Fig. 38 und 39 ausführen, mit den gleichen Bezugszahlen bezeichnet, wie sie zuvor verwendet wurden, ohne daß deren Beschreibung wiederholt würde. Dieses Testmusterer­ zeugungsverfahren kann wieder einen Gatterlaufzeitfehler oder einen Offen-Fehler als ausgewähl­ ten Fehler wählen. Außerdem kann die Reihenfolge der Registrierung in der Testmusterliste und der Löschung aus der Fehlerliste, die vom Client ausgeführt werden, untereinander vertauscht werden.
Eine Ausführungsform des ersten Aspekts der vorliegenden Erfindung, die eine Mehrzahl von Servern verwendet, bei der der Client einen Fehler auswählt, für den Testmuster erzeugt werden sollen, und das Vorhandensein eines nicht-verarbeiteten Fehlers überprüft, wird nun unter Bezug auf Fig. 42, die eine beim Client auftretende Verarbeitungsprozedur zeigt, und Fig. 43 beschrie­ ben, die eine beim Server auftretende Verarbeitungsprozedur zeigt.
Auf der Client-Seite wird bei Schritt 301 eine Fehlerliste angefertigt, und bei Schritt 901 wird eine Mehrzahl von Servern aktiviert. Im nachfolgenden Schritt 1201 untersucht der Client, ob er eine Anforderung für einen zu verarbeitenden Fehler von einem der Server empfangen hat. Wenn er die Anforderung empfangen hat, wählt der Client bei Schritt 1202 einen der Fehler aus der Fehlerliste aus und überträgt ihn zum anfordernden Server. Beim nächsten Schritt untersucht der Client, ob eine Testmusterfolge vom Server zurückgegeben worden ist. Wenn eine Testmuster­ folge zurückgegeben worden ist, registriert der Client bei Schritt 304 die Testmusterfolge in der Testmusterliste. Beim nächsten Schritt 1203 untersucht der Client, ob irgendein Fehler innerhalb der Fehlerliste verbleibt, der noch nicht verarbeitet worden ist. Wenn dies der Fall ist, kehrt der Ablauf zu Schritt 1201 zurück.
Wenn in Schritt 1201 festgestellt wird, daß der Client keine Anforderung für einen Fehler empfangen hat, geht der Ablauf zu Schritt 303 weiter. Wenn bei Schritt 303 festgestellt wird, daß keine Testmusterfolge zurückgegeben worden ist, geht der Ablauf zu Schritt 1203 weiter. Wenn bei Schritt 1203 festgestellt wird, daß kein nicht-verarbeiteter Fehler vorhanden ist, der in der Fehlerliste verbleibt, teilt der Client jedem Server den Abschluß des Betriebs mit und hört auf zu arbeiten.
Auf der Seite des Servers fordert er gemäß Fig. 43, wenn er vom Client aktiviert wurde, den Client bei Schritt 1301 auf, einen zu verarbeitenden Fehler zu übertragen. Bei Schritt 1302 wartet der Server auf den ausgewählten Fehler, der von dem Client her zu übertragen ist. Wenn der ausgewählte Fehler empfangen wird, führt er die in Fig. 33 gezeigten Schritte 403 bis 407 aus. Genauer gesagt versucht er, das Initialisierungstestmuster v1 und das Fortpflanzungstest­ muster v2 durch die Implikationsoperation zu ermitteln. Wenn diese Testmuster ermittelt werden, wird die resultierende Testmusterfolge T = <v1, v2< an den Client zurückgegeben. Nach dem Zurückgeben der Testmusterfolge oder falls es dem Server nicht gelungen ist, die Testmuster­ folge zu erzeugen, untersucht er bei Schritt 1303, ob eine Benachrichtigung der Beendigung des Betriebs vom Client empfangen worden ist. Wenn eine derartige Benachrichtigung nicht empfan­ gen worden ist, kehrt der Ablauf zu Schritt 1301 zurück, und wenn er die Benachrichtigung empfangen hat, hört er auf zu arbeiten.
Bei einer Ausführungsform, bei der jeder Server einen Fehler auswählt, für den Testmuster erzeugt werden sollen, und das Vorhandensein eines nicht-verarbeiteten Fehlers überprüft, kann eine vom Client zu verfolgende Verarbeitungsprozedur so sein, wie sie in Fig. 44 gezeigt ist, in der die in Fig. 38 gezeigten Schritte 902 und 903 weggelassen sind. Eine vom Server verfolgte Verarbeitungsprozedur bleibt im wesentlichen gleich wie die in Fig. 39 gezeigte. Es wird jedoch bei dem in Fig. 39 gezeigten Schritt 1002 eine Untersuchung ausgeführt, um zu sehen, ob irgendein Fehler in der Fehlerliste verbleibt, der noch nicht verarbeitet worden ist, und demzufolge wird die Löschung eines Fehlers oder mehrerer Fehler als Folge des Weglassens der Schritte 902 und 903 auf der Client-Seite nicht ausgeführt.
Bei der in Fig. 42 und 43 gezeigten Ausführungsform, bei der eine vom Server zurückgegebene Testmusterfolge T dazu verwendet wird, eine Fehlersimulation auszuführen, eine Liste erfaßbarer Fehler angefertigt wird und in der Liste erfaßbarer Fehler enthaltene Fehler aus der Fehlerliste gelöscht werden, arbeitet der Client gemäß einer in Fig. 45 gezeigtem Verarbeitungsprozedur. In diesem Beispiel werden bei der in Fig. 42 gezeigten Verarbeitungsprozedur die in Fig. 38 gezeigten Schritte 902 und 903 nach dem Schritt 304 vor dem Übergang zu Schritt 1203 ausgeführt. Die vom Server verfolgte Verarbeitungsprozedur in diesem Beispiel ist gleich wie die in Fig. 43 gezeigte Prozedur.
Bei den oben unter Bezug auf Fig. 42 bis 45 beschriebenen Ausführungsformen ist die Testmus­ terfolge durch Ermittlung des Initialisierungstestmusters und des Fortpflanzungstestmusters erzeugt worden. Es können jedoch, wie in der Ausführungsform von Fig. 40 und 41 gezeigt, Signalwerte entsprechend dem Logiksystem mit fünf Werten eingesetzt werden, um eine Testmusterfolge T' zu erzeugen.
Fig. 46 zeigt eine Verarbeitungsprozedur für das Testmustererzeugungsverfahren gemäß dem zweiten Aspekt der vorliegenden Erfindung. Anfangs wird eine Fehlerliste angefertigt, in der jeder Weglaufzeitfehler für den im Test befindlichen Halbleiter-IC registriert wird. Die Fehlerliste kann angefertigt werden, indem eine Schaltung manuell zurückverfolgt wird, um jeden Weglaufzeit­ fehler (oder jeden Weg, bei dem es wahrscheinlich ist, daß er einen Laufzeitfehler verursacht) aufzunehmen, oder indem Weglaufzeitfehler durch einen elektronischen Rechner auf der Basis von Schaltungsinformation für den im Test befindlichen Halbleiter-IC aufgezählt werden. Bei Schritt 2102 wird eine Testmusterfolge erzeugt, die zwei oder mehr Testmuster umfaßt und die an den im Test befindlichen Halbleiter-IC angelegt werden soll. Beim nächsten Schritt 2103 wird eine Übergangssimulation mit der Testmusterfolge ausgeführt, um eine Folge von Übergangssig­ nalwerten zu berechnen, die auf Signalleitungen innerhalb des im Test befindlichen Halbleiter-ICs auftreten. Bei Schritt 2104 werden die Übergangssignalwerte auf verschiedenen Signalleitungen, die durch die Übergangssimulation berechnet werden, verwendet, um eine Liste von Weglaufzeit­ fehlern anzufertigen, die von dem Übergangsspeisestromtesten erfaßt werden können, das die Testmusterfolge verwendet (oder eine Liste erfaßbarer Fehler). Beim nächsten Schritt 2105 wird eine Überprüfung ausgeführt, um zu sehen, ob ein Fehler oder mehrere Fehler, die in der Liste erfaßbarer Fehler enthalten sind, in der bei Schritt 2101 angefertigten Fehlerliste existieren. Wenn Fehler, die in der Liste erfaßbarer Fehler enthalten sind, in der Fehlerliste existieren, geht der Ablauf zu Schritt 2106. Wenn jedoch kein in der Liste erfaßbarer Fehler enthaltener Fehler in der Fehlerliste existiert, werden die Schritte 2102, 2103, 2104 und 2105 wiederholt.
Bei Schritt 2106 werden ein oder mehrere Fehler, die in der Liste erfaßbarer Fehler enthalten sind, aus der Fehlerliste gelöscht, die bei Schritt 2101 angefertigt wird. Beim nächsten Schritt 2107 wird die Testmusterfolge in der Testmusterliste registriert. Beim letzten Schritt 2108 wird eine Überprüfung ausgeführt, um zu sehen, ob die Fehlerliste leer ist. Wenn die Fehlerliste nicht leer ist, werden die Schritte 2102, 2103, 2104, 2105, 2106, 2107 und 2108 wiederholt. Wenn die Fehlerliste leer ist, ist der Ablauf abgeschlossen. Bei Schritt 2102, bei dem eine Testmuster­ folge erzeugt wird, können zwei oder mehrere Zufallsmuster als Testmusterfolge erzeugt werden, oder es kann eine aus einer Gruppe zuvor erzeugter Testmusterfolgen ausgewählt werden. Außerdem kann bei Schritt 2108, bei dem eine Überprüfung ausgeführt wird, um zu sehen, ob die Fehlerliste leer ist, eine Entscheidung getroffen werden, den Betrieb zu beenden, indem überprüft wird, daß die Anzahl an Fehlern, die in der Fehlerliste verbleiben, gleich Null oder kleiner als eine gegebene Anzahl (eine positive Zahl einschließlich Null) ist. Um jedoch die Weglaufzeitfehlererfassungsrate für den im Test befindlichen Halbleiter-IC zu verbessern, ist es wünschenswert, daß der vorgenannte Schwellenwert so klein wie möglich gewählt wird. Es ist klar, daß es mit kleiner werdender. Anzahl verbleibender Weglaufzeitfehler Zeit erfordert, eine Testmusterfolge zu gewinnen, die in der Lage ist, einen derartigen verbleibenden Fehler zu erfassen. Andererseits kann abhängig von den Schaltungserfordernissen die geforderte Fehlerer­ fassungsrate oberhalb eines bestimmten Niveaus wie beispielsweise 99% oder darüber liegen. Die Anzahl verbleibender Weglaufzeitfehler kann in Anbetracht einer derartigen Forderung erhöht werden, um die Erfordernisse zu erfüllen.
Fig. 47 zeigt eine Verarbeitungsprozedur zum Anfertigen einer Liste erfaßbarer Fehler des Schritts 2104 in Fig. 46. Anfangs wird bei Schritt 2201 eine Initialisierung ausgeführt, indem ein Weglaufzeitfehler, der bei dem im Test befindlichen Halbleiter-IC auftreten kann, aus der Fehlerliste ausgewählt wird, die beidem in Fig. 46 gezeigten Schritt 2101 angefertigt wird. Beim nächsten Schritt 2202 wird eine Überprüfung ausgeführt, um auf der Basis des Ergebnisses der Übergangssimulation zu sehen, ob jedes Logikgatter auf einem Weg mit dem Weglaufzeitfehler (fehlerhafter Weg) einem Schaltvorgang unterliegt. Wenn jedes Logikgatter auf dem fehlerhaften Weg einem Schaltvorgang unterliegt, geht der Ablauf zu Schritt 2203 weiter, aber wenn ein oder mehrere Logikgatter vorhanden sind, die keinem Schaltvorgang unterliegen, geht der Ablauf zu Schritt 2206 weiter.
Bei Schritt 2203 wird eine Überprüfung ausgeführt, ob ein Logikgatter auf dem fehlerhaften Weg vorhanden ist oder nicht, das in Antwort auf die Testmusterfolge, die bei Schritt 2102 in Fig. 46 auf der Basis des Ergebnisses der Übergangssimulation erzeugt wird, mehrere Male einem Schaltvorgang unterliegt. Wenn ein Logikgatter existiert, das mehrere Male einem Schaltvorgang unterliegt, geht der Ablauf zu Schritt 2204 weiter, aber wenn kein Logikgatter existiert, das mehrere Male einem Schaltvorgang unterliegt, wird der Weglaufzeitfehler bei Schritt 2205 in der Liste erfaßbarer Fehler registriert. Bei Schritt 2204 wird eine Überprüfung ausgeführt, um zu sehen, ob ein Im-Weg-Eingang irgendeines Logikgatters (eine Eingangssignalleitung des Logikgat­ ters, die sich auf dem fehlerhaften Weg befindet), das mehrere Male einem Schaltvorgang unterliegt, ein Fehlererfassungserfordernis gemäß dem Übergangsspeisestromtesten erfüllt. Wenn der Im-Weg-Eingang das Fehlererfassungserfordernis gemäß dem Übergangsstromvesorgungs­ stromtesten erfüllt, wird der Weglaufzeitfehler bei Schritt 2205 in der Liste erfaßbarer Fehler registriert. Wenn der Im-Weg-Eingang das Fehlererfassungserfordernis gemäß dem Übergangs­ speisestromtesten nicht erfüllt, geht der Ablauf zu Schritt 2206 weiter.
Bei Schritt 2204 wird eine Überprüfung ausgeführt, um zu sehen, ob ein Ausgangsübergangssig­ nal aus dem Logikgatter, das dem Im-Weg-Eingang in das Logikgatter entspricht, ein Übergangs­ signal der gleichen Art wie das auf der Ausgangssignalleitung des Logikgatters auftretende letzte Übergangssignal ist oder nicht. Diese Überprüfung wird bei jedem Logikgatter ausgeführt, das mehrere Male einem Schaltvorgang unterliegt. Beispielsweise ist das in Fig. 28b gezeigte Logikgatter G4 ein Beispiel, das mehrere Male einem Schaltvorgang unterliegt. Ein Ausgangsüber­ gangssignal "F(6)" aus dem Gatter G4, das dem Eingangsübergangssignal "F(4)" auf dem Im- Weg-Eingang n3 in das Gatter G4 entspricht, stimmt mit einem letzten Übergangssignal aus dem Logikclatter G4 überein, und demzufolge erfüllt der Im-Weg-Eingang n3 das Fehlererfassungserfor­ dernis gemäß dem Übergangsspeisestromtesten. Beim letzten Schritt 2206 wird eine Überprü­ fung ausgeführt, um zu sehen, ob irgendein anderer nicht-verarbeiteter Weglaufzeitfehler existiert oder nicht. Wenn ein nicht-verarbeiteter Weglaufzeitfehler existiert, wird bei Schritt 2207 ein nächster möglicher Weglaufzeitfehler geschätzt, und die Schritte 2202, 2203, 2204, 2205 und 2206 werden wiederholt. Wenn jedoch kein anderer nicht-verarbeiteter Weglaufzeitfehler vorhan­ den ist, wird der Betrieb beendet.
Fig. 48 und 49 zeigen Verarbeitungsprozeduren, die vom Client bzw. vom Server bei einer anderen Ausführungsform des Testmustererzeugungsverfahrens gemäß dem zweiten Aspekt der vorliegenden Erfindung verfolgt werden. Gemäß Fig. 48, welche die vom Client verfolgte Verarbeitungsprozedur zeigt, fertigt er anfangs bei Schritt 2301 eine Fehlerliste an, in der jeder Weglaufzeitfehler registriert wird, der bei einem im Test befindlichen Halbleiter-IC möglich ist. Beim nächsten Schritt 2302 erzeugt der Client eine zwei oder mehrere Testmuster umfassende Testmusterfolge, die an den Halbleiter-IC angelegt werden soll, und überträgt eine Testmuster­ folge, jeweils eine für einen oder mehrere Server, die nicht mit der Verarbeitungsoperation beschäftigt sind. Danach wartet der Client bei Schritt 2303 auf eine Benachrichtigung, die den Abschluß des Betriebs anzeigt, von der Mehrzahl von Servern. Bei Empfang der Benachrichtigung geht der Ablauf des Clients zum Schritt 2304 weiter. Bei Schritt 2304 überprüft der Client, ob die Fehlerliste leer ist oder nicht, und wenn die Fehlerliste nicht leer ist, wiederholt er die Schritte 2302, 2303 und 2304. Wenn jedoch die Fehlerliste leer ist, bricht er bei Schritt 2305 den Betrieb jedes Servers ab und hört damit auf zu arbeiten.
Andererseits führt der Server gemäß Fig. 49 eine Übergangssimulation mit der vom Client bei Schritt 2401 übertragenen Testmusterfolge aus, wodurch eine Folge von Übergangssignalwerten berechnet wird, die auf Signalleitungen in dem im Test befindlichen Halbleiter-IC erscheinen. Beim nächsten Schritt 2402 verwendet der Server die Übergangssignalwerte auf verschiedenen Signalleitungen, die von der Übergangssimulation berechnet wurden, um eine Liste von Fehlern anzufertigen, die durch das Übergangsspeisestromtesten erfaßt werden können, das die Test­ musterfolge verwendet (eine Liste erfaßbarer Fehler). Bei Schritt 2403 überprüft der Server, ob ein Fehler oder mehrere Fehler, der/die in der bei Schritt 2402 angefertigten Liste erfaßbarer Fehler enthalten ist/sind, in der vom Client unterhaltenen Fehlerliste (die bei Schritt 2301 angefertigt wird) existiert bzw. existieren. Wenn ein oder mehrere Fehler, die in der Liste erfaßbarer Fehler enthalten sind, in der Fehlerliste existieren, geht der Ablauf zu Schritt 2404 weiter. Wenn jedoch kein in der Liste erfaßbarer Fehler enthaltener Fehler in der Fehlerliste existiert, geht der Ablauf zu Schritt 2406 weiter.
Bei Schritt 2404 löscht der Server einen oder mehrere Fehler, die in der Liste erfaßbarer Fehler enthaltenen sind, aus der Fehlerliste. Beim folgenden Schritt 2405 registriert der Server die Testmusterfolge in der Testmusterfolgeliste, die vom Client unterhalten wird. Schließlich benachrichtigt der Server bei Schritt 2406 den Client vom Abschluß seines Betriebs, wodurch er aufhört zu arbeiten.
Bei dem in Fig. 48 gezeigten Schritt 2302, bei dem eine Testmusterfolge erzeugt wird, können zwei oder mehrere Zufallsmuster als Testmusterfolge erzeugt werden, oder es kann eine aus einer Gruppe zuvor erzeugter Testmusterfolgen ausgewählt werden. Bei Schritt 2402 in Fig. 49, bei dem eine Liste erfaßbarer Fehler angefertigt wird, kann eine derartige Liste unter Verwendung der Technik der Anfertigung einer Liste erfaßbarer Fehler gemäß Darstellung in Fig. 47 angefertigt werden. Bei dem in Fig. 48 gezeigten Schritt 2304, bei dem eine Überprüfung ausgeführt wird, um zu sehen, ob die Fehlerliste leer ist, kann eine Entscheidung getroffen werden, den Betrieb zu beenden, indem überprüft wird, ob die Anzahl an Fehlern, die in der Fehlerliste verbleiben, unter eine gegebene Zahl (einen Schwellenwert) gefallen ist oder nicht. Es ist jedoch wünschenswert, daß der Schwellenwert so klein wie möglich gewählt wird, um die Weglaufzeitfehlererfassungs­ rate für den im Test befindlichen Halbleiter-IC zu verbessern.
Nun wird eine Ausführungsform beschrieben, bei der ein Server eine Testmusterfolge von einem Client ableitet, um sie zu verarbeiten, wenn ein Client und eine Mehrzahl von Servern verwendet wird, die gemäß dem zweiten Aspekt der Erfindung betrieben werden. Eine von dem Client verfolgte Verarbeitungsprozedur ist in Fig. 50 gezeigt. Bei Schritt 2301 wird eine Liste von Weglaufzeitfehlern für einen im Test befindlichen Halbleiter-IC (eine Fehlerliste) angefertigt. Dann folgt ein Schritt 1401, bei dem eine Liste erzeugter Muster oder eine Liste von Testmusterfolgen, die zwei oder mehrere Testmuster umfassen und die an den im Test befindlichen Halbleiter-IC angelegt werden, angefertigt wird. Beim folgenden Schritt 2901 aktiviert der Client eine Mehrzahl von Servern. Beim nächsten Schritt 1402 wartet der Client darauf, daß eine Testmusterfolge von der Mehrzahl von Servern in einer Testmusterfolgeliste registriert wird. Bei Schritt 1403 wieder­ holt der Client die Schritte 1402 und 1403, bis die Anzahl an Weglaufzeitfehlern, die in der Fehlerliste verbleiben, unterhalb eines gegebenen Werts sinkt oder bis alle Server aufhören zu arbeiten. Wenn die Fehlerliste leer wird oder wenn die Server aufhören zu arbeiten, bricht der Client bei Schritt 1406 den Betrieb der einzelnen Server ab und hört somit auf zu arbeiten.
Wie in Fig. 51 gezeigt, wählt jeder Server, wenn er vom Client aktiviert ist, bei Schritt 1404 eine der Testmusterfolgen aus der Liste erzeugter Muster aus, die vom Client unterhalten wird. Danach führt der Server die in Fig. 49 gezeigten Schritte 2401 bis 2405 aus und fertigt eine Liste von Fehlern (eine Liste erfaßbarer Fehler) an, die von dem Übergangsspeisestromtesten unter Verwendung der ausgewählten Testmusterfolge erfaßt werden können, löscht diese Fehler aus der vorn Client unterhaltenen Fehlerliste und registriert die Testmusterfolge in der vom Client unterhaltenen Testmusterfolgeliste. Danach untersucht der Server bei Schritt 1405, ob eine Testmusterfolge existiert, die noch nicht in der erzeugten Musterliste des Clients ausgewählt worden ist. Wenn eine derartige Testmusterfolge existiert, kehrt der Ablauf zu Schritt 1404 zurück, wenn jedoch eine derartige Testmusterfolge nicht existiert, geht der Ablauf zu Schritt 2406 weiter, wo er die Verarbeitung der erzeugten Testmuster abbricht und dem Client die Beendigung seines Betriebs mitteilt.
Gemäß einer anderen Ausführungsform, bei der die Erzeugung einer Testmusterfolge, die zum Erfassen eines Weglaufzeitfehlers verwendet wird, gemeinsam von einem Client und einer Mehrzahl von Servern ausgeführt wird, ist eine vom Client verfolgte Verarbeitungsprozedur in Fig. 52 gezeigt und eine vom Server verfolgte Verarbeitungsprozedur in Fig. 53 gezeigt. In ähnlicher Weise, wie es in Fig. 50 gezeigt ist, fertigt der Client bei den Schritten 2301 und 1401 eine Liste von Weglaufzeitfehlern an und fertigt eine Liste von Testmusterfolgen (eine Liste erzeugter Muster) an. Bei dieser Ausführungsform wird die Liste von Testmusterfolgen (oder die Liste erzeugter Muster) bei Schritt 1501 in eine Mehrzahl von Musterfolgenteillisten unterteilt, wobei die Musterfolgenteillisten an die Server in verteilter Weise übertragen werden, so daß jeder Server eine Teilliste empfängt. Der nachfolgende Ablauf erfolgt in ähnlicher Weise, wie es in Fig. 50 gezeigt ist. Andererseits empfängt der Server gemäß Fig. 53 bei Schritt 1502 die Testmuster­ folgenteilliste vom Client, speichert sie einmal in seinem Speicher und wählt bei Schritt 1503 eine Testmusterfolge aus der Testmusterfolgenteilliste aus. Danach führt der Server die in Fig. 51 gezeigten Schritte 2401 bis 2405 aus und untersucht, ob irgendeine Testmusterfolge in der im Speicher gespeicherten Testmusterfolgenteilliste existiert, die noch nicht verarbeitet ist. Wenn eine nicht-verarbeitete Testmusterfolge existiert, kehrt der Ablauf zu Schritt 1503 zurück, aber wenn sie nicht existiert, benachrichtigt der Server bei Schritt 2406 den Client vom Abschluß seines Betriebs. In den Fig. 46, 49 und 51 ist festzuhalten, daß die Reihenfolge des Löschens aus der Fehlerliste und der Registrierung in der Testmusterfolgenliste untereinander vertauscht werden kann.
In den Fig. 49, 51 und 53 wird das Löschen von Fehlern aus der vom Client unterhaltenen Fehlerliste und die Registrierung einer Testmusterfolge in der Testmusterfolgenliste vom Server ausgeführt, wie bei den Schritten 2404 und 2405 angegeben, aber die Liste erfaßbarer Fehler und dis Testmusterfolge, die beim Anfertigen der Liste verwendet wird, kann bei jedem dieser Schritte an den Client übertragen werden, so daß der Client das Löschen von Fehlern und die Registrierung in der Testmusterfolgenliste ausführt. Ein Beispiel, bei dem die Ausführungsform der Fig. 50 und 51 in dieser Weise modifiziert ist, ist in den Fig. 54 und 55 gezeigt. Wie in Fig. 54 gezeigt, wartet der Client nach der Aktivierung der Server von Sehritt 2901 bei Schritt 1601 auf den Empfang der Liste erfaßbarer Fehler und der Testmusterfolge von den Servern. Bei Empfang von diesen löscht der Client bei Schritt 1602 einen Fehler oder mehrere Fehler, der/die in der liste erfaßbarer Fehler enthalten ist/sind, aus der Fehlerliste, registriert bei Schritt 1602 die empfangene Testmusterfolge in der Testmusterfolgenliste und geht darin zu Schritt 1403 weiter.
Wie in Fig. 55 gezeigt, geht bei Anfertigung der Liste erfaßbarer Fehler bei Schritt 2402 der Ablauf des Servers zu Schritt 1604 weiter, bei dem die angefertigte Liste erfaßbarer Fehler und eine bei dieser Anfertigung verwendete Testmusterfolge an den Client übertragen werden, wonach zu Schritt 1405 weitergegangen wird.
Während die Verwendung des Clients bei der Löschung und der Registrierung bei der in den Fig. 48 und 49 gezeigten Ausführungsform nicht dargestellt ist, geht der Server bei Anfertigung der Liste erfaßbarer Fehler im Schritt 2402 in Fig. 49 sofort zu Schritt 2406 weiter und überträgt die Liste erfaßbarer Fehler und die bei der Anfertigung verwendete Testrnusterfolge zusammen mit der den Abschluß seines Betriebs anzeigenden Benachrichtigu 17959 00070 552 001000280000000200012000285911784800040 0002010127337 00004 17840ng an den Client. In Antwort hierauf führt der Client bei Empfang der Benachrichtigung des Abschlusses des Betriebs bei dem in Fig. 48 gezeigten Schritt 2303 das Löschen von Fehlern nach Maßgabe der Liste erfaßbarer Fehler aus, die empfangen wurde, sowie die Registrierung der empfangenen Testmusterfolge, bevor er zu Schritt 2304 weitergeht.
Wenn die in den Fig. 52 und 53 gezeigte Ausführungsform so modifiziert wird, daß der Client das Löschen und die Registrierung ausführt, kann eine derartige Modifizierung in ähnlicher Weise wie die Modifizierung von den Fig. 50 und 51 zu den Fig. 54 und 55 erfolgen.
In den Fig. 49, 51 und 53 löscht der Server Fehler, die in der Liste erfaßbarer Fehler enthalten sind, aus der vom Client unterhaltenen Fehlerliste, während der Client die Testmusterfolge in der von ihm unterhaltenen Testmusterfolgenliste registriert, aber der Server kann die Liste erfaßbarer Fehler und eine Testmusterfolge an den Client übertragen, der die Löschung und die Registrierung ausführen kann.
Die vorgenannte Testmustererzeugung kann beispielsweise von einem Rechner bzw. Computer ausgeführt werden. Als Beispiel ist in Fig. 56 eine Vorrichtung gezeigt, welche das Verfahren gemäß dem ersten Aspekt der vorliegenden Erfindung ausführt. Wie gezeigt, führt eine CPU 11 ein in einem Speicher 12 gespeichertes Programm aus, um den Gesamtablauf zu steuern. Anfangs lädt eine Eingabeanordnung 13 beispielsweise Schaltungsinformation einer im Test befindlichen Schaltung, die vorübergehend in einem Speicher 14 gespeichert ist. Ein Programm zum Anfertigen einer Fehlerliste, das in einem Speicher 15 gespeichert ist, wird dann ausgeführt, um eine Fehlerliste abzuleiten, die in einem weiteren Speicher 16 gespeichert wird. Einer der Fehler wird dann aus der im Speicher 16 gespeicherten Fehlerliste in der vorgenannten Weise ausgewählt. Ein Programm, das durch die Implikationsoperation eine Testmusterfolge ermittelt, die eine Stelle entsprechend dem ausgewählten Fehler aktivieren und bewirken soll, daß ein Signal hiervon sich zu einem nächsten Logikgatter fortpflanzt, das der fehlerhaften Steile folgt, entweder durch Erzeugen eines Initialisierungstestmusters v1 und eines Fortpflanzungstestmus­ ters v2 oder durch Anlegen von Signalwerten entsprechend dem Logiksystem mit fünf Werten, ist in einem Speicher 17 gespeichert und wird dann aus ihm ausgelesen, um ausgeführt zu werden, und eine resultierende Testmusterfolge wird in einer Testmusterfolgenliste registriert, die in einem Speicher 18 gespeichert ist. Danach wird ein nächster ausgewählter Fehler aus der im Speicher 16 gespeicherten Fehlerliste gewählt.
Für die in den Fig. 36 und 37 gezeigte Ausführungsform wird eine IDDT-Fehlersimulation mit einer Testmusterfolge, die in der im Speicher 18 gespeicherten Liste von Testmusterfolgen registriert ist oder registriert werden soll, durch Ausführen eines in einem Speicher 19 gespeicherten Programms ausgeführt, und ein Programm zum Anfertigen einer Liste erfaßbarer Fehler, das in einem Speicher 21 gespeichert ist, wird ausgeführt, um eine Liste von Fehlern anzufertigen, die mit dieser Testmusterfolge erfaßt werden können. Diese Liste wird vorübergehend im RAM der CPU 11 gespeichert, und eine Funktion des Löschens eines derartigen Fehlers bzw. derartiger Fehler aus der im Speicher 16 gespeicherten Fehlerliste wird hinzugefügt.
Wie in Klammern in Fig. 56 angegeben, kann eine Testmustererzeugungsvorrichtung eine Fehlerlistenanfertigungseinheit 15, einen Testmustererzeugungsgenerator 17 zum Aktivieren fehlerhafter Stellen, einen IDDT-Fehlersimulationsprogrammspeicher 19, eine Einheit 21 zum Anfertigen einer Liste erfaßbarer Fehler, eine Steuereinheit 55, einen Fehlerlistenspeicher 16 und einen Testmusterfolgenlistenspeicher 18 umfassen. Die Steuereinheit 55 übt die Steuerung über andere Einheiten aus, um eine Serie von auf die Erzeugung von Testmustern bezogenen Verarbei­ tungsoperationen auszuführen.
Bei den in den Fig. 32 und 33 sowie in den Fig. 34 und 35 gezeigten Ausführungsformen kann die Funktion des Client-Systems die CPU 11, den Programmspeicher 12, die Eingabeanordnung 13, den Speicher 14, den Fehlerlistenanfertigungsprogrammspeicher 15 und den Testmusterfol­ genlistenspeicher 18 umfassen, die alle in Fig. 56 gezeigt sind, und umfaßt des weiteren einen Sender/Empfänger 22 für die Kommunikation mit einem Server-System oder -Systemen, wie in Fig. 57A angegeben. Es ist jedoch festzuhalten, daß ein im Speicher 12 gespeichertes Programm sich vorn dem in Fig. 56 gezeigten unterscheidet, jedoch dafür ausgelegt ist, die in Fig. 32 oder Fig. 34 gezeigten Verarbeitungsoperationen auszuführen. Wie in Fig. 57B gezeigt, umfaßt ein entsprechendes Server-System eine CPU 23, die ein in einem Speicher 24 gespeichertes Programm ausführt, um der Aktivierung der Gesamtfunktion des Server-Systems zu dienen. Das Server-System umfaßt einen Sender/Empfänger 26, der mit dem Client-System kommuniziert, um eine Fehlerteilliste zu empfangen, die dann in einem Fehlerteillistenspeicher 25 gespeichert wird, um danach verarbeitet zu werden. Es umfaßt des weiteren den in Fig. 56 gezeigten Speicher 17, der ein Programm zum Erzeugen einer Testmusterfolge zum Aktivieren einer fehlerhaften Stelle speichert.
Für die in den Fig. 38 und 39 sowie in den Fig. 40 und 41 gezeigten Ausführungsformen sind ein IDDT-Fehlersimulationsprogrammspeicher 19 und der Speicher 21, der ein in Fig. 56 gezeigtes Programm zum Anfertigen einer Liste erfaßbarer Fehler speichert, dem Client-System hinzuge­ fügt, wie in Fig. 57A durch gestrichelte Linien angegeben ist. Es ist ferner festzuhalten, daß das im Speicher 12 gespeicherte Programm so ausgelegt ist, daß es einen Austausch von Information mit dem Server-System ermöglicht und die in Fig. 38 oder 40 gezeigte Verarbeitungsoperation freigibt. In einem entsprechenden Server-System ist der in Fig. 57B gezeigte Fehlerteillistenspei­ cher 25 weggelassen, und das im Speicher 24 gespeicherte Programm ist ausgelegt, um die in Fig. 39 oder 41 gezeigte Verarbeitungsoperation zu ermöglichen. Für die in den Fig. 42 und 43 gezeigte Ausführungsform sind die in Fig. 57A gezeigten Speicher 19 und 21 beim Client-System weggelassen, und das im Speicher 12 gespeicherte Programm ist ausgelegt, um den Austausch von Information mit einem Server-System zu ermöglichen und die in Fig. 42 gezeigte Verarbei­ tungsoperation zu ermöglichen. In dem entsprechenden Server-System ist der in Fig. 57B gezeigte Fehlerteillistenspeicher 25 weggelassen, und das im Speicher 24 gespeicherte Programm ist ausgelegt, um die in Fig. 43 gezeigte Verarbeitungsoperation zu ermöglichen. Für die in den Fig. 44 und 45 gezeigte Ausführungsform kann eine beabsichtigte Funktion durch einen Compu­ ter mit einer in Fig. 57A bzw. 57B gezeigten Implementierung erzielt werden.
Das Client-System kann die Fehlerlistenanfertigungseinheit 15, den IDDT-Fehlersimulationspro­ grammspeicher 19, die Einheit 21 zum Anfertigen einer Liste erfaßbarer Fehler, die Steuereinheit 55, den Fehlerlistenspeicher 16, den Testmusterfolgenlistenspeicher 18 und den Sender/Emp­ fänger 22 umfassen, wie in Klammern in Fig. 57A angegeben, womit es der Steuereinheit 55 ermöglicht wird, die Steuerung dieser Einheiten auszuführen. Das Server-System kann den Generator 17 für eine Testmusterfolge zum Aktivieren fehlerhafter Stellen, die Steuereinheit 56, den Sender/Empfänger 26 und den Fehlerteillistenspeicher 25 umfassen, wie in Klammern in Fig. 57B angegeben, wodurch es dem Steuersystem 56 ermöglicht wird, die Steuerung anderer Einheiten auszuführen.
Eine Testmustererzeugungsvorrichtung für die in Fig. 46 gezeigte Ausführungsform kann gemäß Darstellung in Fig. 58 aufgebaut sein, so daß die CPU 31 ein in einem Speicher 32 gespeichertes Programm ausführt, um die Gesamtfunktion so zu steuern, daß Schaltungsinformation einer im Test befindlichen Schaltung durch die Eingabeanordnung 33 geladen und vorübergehend in einem Speicher 34 gespeichert wird und daß ein im Speicher 34 gespeichertes Programm zum Anferti­ gen einer Fehlerliste bei Schaltungsinformation ausgeführt wird, die im Speicher 34 gespeichert ist, um alle Weglaufzeitfehler zu ermitteln, wodurch eine Fehlerliste angefertigt wird, die dann in einem Speicher 36 gespeichert wird. Ein in einem Speicher 37 gespeichertes Testmustererzeu­ gungsprogramm wird dann ausgeführt, um eine Testmusterfolge zu erzeugen (wobei festzuhalten ist, daß dies durch Hardware erfolgen kann). Eine Übergangssimulation für die an die im Test befindliche Schaltung angelegte Testmusterfolge erfolgt durch Ausführen eines in einem Speicher 38 gespeicherten Programms, und dann wird ein in einem Speicher 39 gespeichertes Programm ausgeführt, um eine Liste erfaßbarer Fehler anzufertigen, die dann vorübergehend im RAM der CPU 31 oder im Speicher 34 gespeichert wird. Fehler, die in der Liste erfaßbarer Fehler (Wege) enthalten sind, werden aus dem Fehlerlistenspeicher 36 gelöscht, und die verwendete Testmus­ terfolge wird in einem Testmusterfolgenlistenspeicher 41 gespeichert. Ein ähnlicher Prozeß wird dann wiederholt, bis die Anzahl an Weglaufzeitfehlern, die in dem Fehlerlistenspeicher 36 verbleibt, auf eine gegebene Anzahl (einschließlich 0) reduziert ist oder darunterliegt.
Die Testmustererzeugungsvorrichtung kann die Fehlerlistenanfertigungseinheit 35, den Testmus­ tergenerator 37, die Übergangssimulationseinheit 38, die Einheit 39 zum Anfertigen einer Liste erfaßbarer Fehler, die Steuereinheit 47, den Fehlerlistenspeicher 36 und den Testmusterfolgenlis­ tenspeicher 31 umfassen, wie in Klammern in Fig. 58 angegeben, wodurch es der Steuereinheit 47 ermöglicht wird, die Steuerung anderer Einheiten auszuführen.
Für die in den Fig. 48 und 49, in den Fig. 50 und 51, in den Fig. 52 und 53 sowie in den Fig. 54 und 55 gezeigten Ausführungsformen ist das Client-System in der in Fig. 59A gezeigten Weise implementiert, wo der das Fehlersimulationsprogramm speichernde Speicher 38 und der das Programm zum Anfertigen einer Liste erfaßbarer Fehler speichernde Speicher 39, die beide in Fig. 58 gezeigt sind, weggelassen sind, während ein Sender/Empfänger 42 zum Ermöglichen einer Kommunikation mit einem Server hinzugefügt ist. Es ist festzuhalten, daß ein in dem Speicher 32 gespeichertes Programm dafür ausgelegt ist, die einzelnen in Fig. 48, 50, 52 bzw. 54 gezeigten Verarbeitungsoperationen zu ermöglichen. Bei dem in Fig. 50 gezeigten Beispiel ist ein Speicher 49 für eine vom Testmusterfolgengenerator 41 erzeugte Liste von Testmusterfolgen oder Liste erzeugter Muster vorgesehen, wie in Fig. 59A dargestellt.
Andererseits ist ein entsprechendes Server-System in der in Fig. 59B gezeigten Weise aufgebaut, so daß eine Kommunikation mit einem Client-System über einen Sender/Empfänger 43 ermöglicht wird und die Anfertigung einer Liste erfaßbarer Fehler ermöglicht wird, wobei die vom Client- System angefertigte Fehlerliste zuvor in einen Speicher 44 übertragen wird. Das Server-System enthält den Speicher 38, der das Übergangssimulationsprogramm speichert, und den Speicher 39, der das Programm zum Anfertigen der Liste erfaßbarer Fehler speichert, die beide in Fig. 58 gezeigt sind. Bei dem in Fig. 49 gezeigten Beispiel führt die CPU 45 ein in einem Speicher 46 gespeichertes Programm aus, um die in Fig. 49 gezeigte Verarbeitungsoperation jedesmal dann auszuführen, wenn eine Testmusterfolge vom Client-System übertragen wird. Bei dem in Fig. 51 gezeigten Beispiel wird eine Testmusterfolge von der im Speicher 49 des Client-Systems gespeicherten erzeugten Musterliste abgeleitet, um die in Fig. 51 gezeigte Verarbeitungsoperation auszuführen. Beidem in Fig. 53 gezeigten Beispiel enthält das Server-System einen Testmuster­ folgenteillistenspeicher 51 zum Speichern einer Testmusterfolgenteilliste, die vom Client-System empfangen wird, um die in Fig. 53 gezeigte Verarbeitungsoperation auszuführen. In ähnlicher Weise wird bei dem in Fig. 55 gezeigten Beispiel die in Fig. 55 gezeigte Verarbeitungsoperation ausgeführt.
Wie in Klammern in Fig. 59A angegeben, umfaßt das Client-System die Fehlerlistenanfertigungs­ einheit 35, den Testmusterfolgengenerator 41, die Steuereinheit 47, den Fehlerlistenspeicher 36, den Testmusterfolgenlistenspeicher 41 und den Sender/Empfänger 42, wodurch es der Steuer­ einheit 47 ermöglicht ist, die Steuerung anderer Einheiten auszuführen. In ähnlicher Weise kann das Server-System die Übergangssimulationseinheit 38, die Einheit 39 zum Anfertigen einer Liste erfaßbarer Fehler, die Steuereinheit 48, den Sender/Empfänger 43 und den Fehlerlistenspeicher 44 umfassen, wie in Fig. 59B gezeigt, wodurch es der Steuereinheit 48 ermöglicht ist, die Steuerung anderer Einheiten auszuführen.
Bei dem Verfahren oder der Vorrichtung zum Erzeugen von Testmustern gemäß dem ersten Aspekt der vorliegenden Erfindung können durch Verwendung einer Übergangsspeisestromtest­ technik, die ein hohes Maß an Beobachtbarkeit bietet und einen Gatterlaufzeitfehler oder einen Offen-Fehler effizient testen kann, auf einfache Weise Testmuster erzeugt werden, die einen Gatterlaufzeitfehler oder einen Offen-Fehler testen, wodurch eine drastische Verbesserung der Effizienz der Erzeugung von Testmustern geschaffen wird.
Bei denn Verfahren oder der Vorrichtung zum Erzeugen von Testmustern gemäß dem ersten Aspekt der vorliegenden Erfindung besteht kein Erfordernis, daß sich der Einfluß eines Gatterlauf­ zeitfehlers oder eines Offen-Fehlers zu einer Ausgangssignalleitung fortpflanzt, und dies ermög­ licht es, daß die Wahrscheinlichkeit der Herbeiführung eines Konflikts mit Logikwerten auf Signalleitungen während der Implikationsoperation, die bei der Erzeugung von Testmustern verwendet wird, reduziert wird, wodurch die Anzahl an Rückläufen (oder Wiederholungen) beim Erstellen von Eingangssignalen bei der Erzeugung des Initialisierungstestmusters und des Fortpflanzungstestmusters reduziert werden kann und das für die Erzeugung von Testmustern erforderliche Zeitintervall drastisch reduziert werden kann.
Bei bestimmten Ausführungsformen des Verfahrens und der Vorrichtung zur Erzeugung von Testmustern gemäß dem ersten Aspekt der vorliegenden Erfindung kann eine Liste erfaßbarer Fehler durch die Übergangsspeisestromfehlersimulation (IDDT-Fehlersimulation) angefertigt werden, die schneller arbeitet als die Testmusterverarbeitung, und die Anzahl an Fehlern, für die die Testmuster erzeugt werden müssen, kann reduziert werden, wodurch das zum Erzeugen von Testmustern erforderliche Zeitintervall weiter reduziert werden kann.
Bei dem Verfahren und/oder der Vorrichtung zum Erzeugen von Testmustern gemäß dem zweiten Aspekt der vorliegenden Erfindung ermöglicht es die Verwendung der Übergangsspeisestromtest­ technik, die ein hohes Maß an Beobachtbarkeit liefert und einen effizienten Test eines Gatterlauf­ zeitfehlers und eines Offen-Fehlers ermöglicht, daß zum Testen eines Weglaufzeitfehlers erforderliche Testmuster auf einfache Weise erzeugt werden können, wodurch eine drastische Verbesserung der Effizienz der Erzeugung von Testmustern ermöglicht wird.
Des weiteren kann in bestimmten Ausführungsformen des Verfahrens und/oder der Vorrichtung zur Erzeugung von Testmustern gemäß dem zweiten Aspekt der vorliegenden Erfindung die Liste erfaßbarer Fehler durch Verwendung der Fehlersimulation angefertigt werden, die schneller arbeitet als der Vorgang der Erzeugung von Testmustern, und in dieser Liste enthaltene Fehler können aus der Liste von Fehlern gelöscht werden, für die Testmuster erzeugt werden müssen, wodurch eine Reduzierung des zum Erzeugen von Testmustern erforderlichen Zeitintervalls ermöglicht wird.

Claims (24)

1. Verfahren zum Erzeugen einer Testmusterfolge, die zum Testen eines Halbleiter-ICs verwendet wird, umfassend:
einen Fehlerlistenanfertigungsschritt, der eine Fehlerliste anfertigt, in der Fehler regist­ riert werden, die in einem im Test befindlichen Halbleiter-IC auftreten;
einen Fehlerauswahlschritt des Auswählens eines der Fehler aus der Fehlerliste;
einen Musterfolgenerzeugungsschritt zum Gewinnen einer Testmusterfolge, die ein Signal oder Signale, die den ausgewählten Fehler aktivieren, an eine Stelle entsprechend dem ausgewählten Fehler anlegt und die das Signal oder die Signale zum Ausgang eines folgenden Logikgatters fortpflanzt, dessen Eingang mit der Stelle des Fehlers verbunden ist;
einen Registrierungsschritt, in dem die gewonnene Tesimusterfolge in einer Testmuster­ folgenliste registriert wird; und
einen Schritt der Wiederholung jedes Schritts beginnend mit dem Fehlerauswahlschritt.
2. Verfahren nach Anspruch 1, das ein Client-System und eine Mehrzahl von Server- Systemen verwendet;
ferner umfassend folgende Schritte:
Veranlassen, daß das Client-System den Fehlerlistenanfertigungsschritt ausführt;
Veranlassen, daß das Client-System die Mehrzahl von Server-Systemen aktiviert;
Ausführen des Fehlerauswahlschritts in Antwort auf eine Anforderung von einem der Server-Systeme und Übermitteln des ausgewählten Fehlers an das eine Server-System;
Veranlassen, daß jedes der Server-Systeme den Musterfolgenerzeugungsschritt bezüg­ lich des ausgewählten Fehlers ausführt, der vom Client-System übertragen wird;
Veranlassen, daß die Server-Systeme eine Testmusterfolge, die beim Musterfolgener­ zeugungsschritt gewonnen wird, zurückgeben und einen anderen ausgewählten Fehler anfordern, der verarbeitet werden soll; und
Veranlassen, daß das Client-System den Registrierungsschritt ausführt, um die vom Server-System zurückgegebene Testmusterfolge zu registrieren.
3. Verfahren nach Anspruch 1, das ein Client-System und eine Mehrzahl von Server- Systemen verwendet;
ferner umfassend folgende Schritte:
Veranlassen, daß das Client-System den Fehlerlistenanfertigungsschritt ausführt;
Veranlassen, daß das Client-System die Mehrzahl von Server-Systemen aktiviert;
Veranlassen, daß jeder der Server-Systeme den Fehlerauswahlschritt ausführt, bei dem der Server einen der Fehler aus der vom Client-System angefertigten Fehlerliste auswählt, und den Musterfolgenerzeugungsschritt ausführt;
Veranlassen, daß das Server-System die Testmusterfolge, die es beim Musterfolgener­ zeugungsschritt gewonnen hat, an das Client-System zurückgibt; und Veranlassen, daß das Client-System den Registrierungsschritt ausführt, in dem es die vom Server-System zurückgegebene Musterfolge registriert.
4. Verfahren nach Anspruch 1, ferner umfassend folgende Schritte:
Ausführen einer Übergangsspeisestromfehlersimulation bei dem Halbleiter-IC unter Ver­ wendung der Testmusterfolge, die registriert ist, um eine Liste von Fehlern anzufertigen, die mit jener Testmusterfolge erfaßt werden können, um eine Liste erfaßbarer Fehler zu bilden; und
Löschen der Fehler, die in der Liste erfaßbarer Fehler enthalten sind, aus der beim Feh­ lerlistenanfertigungsschritt angefertigten Fehlerliste.
5. Verfahren nach Anspruch 2, ferner umfassend folgende Schritte:
Ausführen einer Übergangsspeisestromfehlersimulation bei dem Halbleiter-IC unter Ver­ wendung der Testmusterfolge, die registriert ist, um eine Liste von Fehlern anzufertigen, die mit jener Testmusterfolge erfaßt werden können, um eine Liste erfaßbarer Fehler zu bilden; und
Löschen der Fehler, die in der Liste erfaßbarer Fehler enthalten sind, aus der beim Feh­ lerlistenanfertigungsschritt angefertigten Fehlerliste.
6. Verfahren nach Anspruch 3, ferner umfassend folgende Schritte:
Ausführen einer Übergangsspeisestromfehlersimulation bei dem Halbleiter-IC unter Ver­ wendung der Testmusterfolge, die registriert ist, um eine Liste von Fehlern anzufertigen, die mit jener Testmusterfolge erfaßt werden können, um eine Liste erfaßbarer Fehler zu bilden; und
Löschen der Fehler, die in der Liste erfaßbarer Fehler enthalten sind, aus der beim Feh­ lerlistenanfertigungsschritt angefertigten Fehlerliste.
7. Verfahren nach Anspruch 1, das ein Client-System und eine Mehrzahl von Server- Systemen verwendet,
ferner umfassend folgende Schritte:
Veranlassen, daß das Client-System den Fehlerlistenanfertigungsschritt ausführt;
Veranlassen, daß das Client-System die Fehlerliste in eine Mehrzahl von Fehlerteillisten unterteilt, die dann an die Mehrzahl von Server-Systemen übertragen werden;
wobei jedes der Server-Systeme den Fehlerauswahlschritt aus der vom Client-System an es übertragenen Fehlerteilliste ausführt und den Musterfolgenerzeugungsschritt ausführt;
wobei jedes der Server-Systeme die Testmusterfolge, die es beim Musterfolgenerzeu­ gungsschritt gewonnen hat, an das Client-System zurückgibt; und
wobei das Client-System den Registrierungsschritt ausführt, in dem es die vom Server- System zurückgegebene Testmusterfolge registriert.
8. Verfahren zum Erzeugen einer Testmusterfolge, die zum Testen eines Halbleiter-ICs verwendet wird, umfassend:
einen Fehlerlistenanfertigungsschritt, in dem eine Liste von Weglaufzeitfehlern für den im Test befindlichen Halbleiter-IC als eine Fehlerliste angefertigt wird;
einen Musterfolgenerzeugungsschritt, in dem eine zwei oder mehrere Testmuster um­ fassende Testmusterfolge erzeugt wird, die an den Halbleiter-IC angelegt werden soll;
einen Übergangssignalwerteberechnungsschritt, in dem eine Simulation von Übergän­ gen, die in dem Halbleiter-IC auftreten, wenn die Testmusterfolge an ihn angelegt werden, ausgeführt wird, um eine Folge von Übergangssignalwerten zu berechnen, die auf Signalleitungen innerhalb des ICs auftreten;
einen Schritt zum Anfertigen einer Liste erfaßbarer Fehler, in dem eine Liste von Fehlern angefertigt wird, die durch das Übergangsspeisestromtesten unter Verwendung der Übergangs­ signalwerte auf den einzelnen Signalleitungen erfaßt werden können, wenn die Testmusterfolge an den Halbleiter-IC angelegt wird;
einen Löschungsschritt, in dem diejenigen Fehler, die in der Liste erfaßbarer Fehler ent­ halten sind, aus der Fehlerliste gelöscht werden;
einen Registrierungsschritt, in dem die Testmusterfolge in einer Testmusterfolgenliste registriert wird; und
einen Schritt der Wiederholung der Schritte beginnend mit dem Musterfolgenerzeu­ gungsschritt.
9. Verfahren nach Anspruch 8, das ein Client-System und eine Mehrzahl von Server- Systemen verwendet;
ferner umfassend folgende Schritte:
Veranlassen, daß das Client-System den Fehlerlistenanfertigungsschritt ausführt und den Musterfolgenerzeugungsschritt ausführt;
Übertragen jeweils einer Testmusterfolge an die einzelnen Server-Systeme, die nicht mit einer Verarbeitungsoperation beschäftigt sind;
wobei jedes der Server-Systeme einen Schritt der Berechnung einer Folge von Über­ gangssignalwerten mit der Testmusterfolge, die vom Client-System an es übertragen worden ist, ausführt, den Schritt zum Anfertigen einer Liste erfaßbarer Fehler ausführt, den Löschungsschritt bezüglich der vom Client-System unterhaltenen Fehlerliste ausführt und den Registrierungsschritt zum Registrieren jener Testmusterfolge in der vom Client-System unterhaltenen Testmusterfol­ genliste ausführt; und
Veranlassen, daß das Server-System dem Client-System den Abschluß seiner Operation mitteilt;
wobei das Client-System die Musterfolge jedesmal dann erzeugt und überträgt, wenn es die Mitteilung des Abschlusses der Operation empfängt.
10. Verfahren nach Anspruch 8, das ein Client-System und eine Mehrzahl von Server- Systemen verwendet;
ferner umfassend folgende Schritte:
Veranlassen, daß das Client-System den Fehlerlistenanfertigungsschritt ausführt, den Musterfolgenerzeugungsschritt ausführt und eine Liste erzeugter Muster anfertigt, welche die so erzeugte Testmusterfolge umfaßt; und
Aktivieren der Mehrzahl von Server-Systemen;
wobei jedes der Server-Systeme eine der Testmusterfolgen von der vom Client-System unterhaltenen Liste erzeugter Muster auswählt und den Übergangssignalwerteberechnungsschritt mit der ausgewählten Testmusterfolge ausführt sowie den Schritt zum Anfertigen einer Liste erfaßbarer Fehler ausführt; und
wobei das Server-System den Löschungsschritt bezüglich der vom Client-System unter­ haltenen Fehlerliste ausführt und den Registrierungsschritt bezüglich der ebenfalls vom Client- System unterhaltenen Tesimusterfolgenliste ausführt.
11. Verfahren nach Anspruch 8, das ein Client-System und eine Mehrzahl von Server- Systemen verwendet;
ferner umfassend folgende Schritte:
das Client-System führt den Fehlerlistenanfertigungsschritt aus und führt des weiteren den Testmusterfolgenerzeugungsschritt aus, um eine Liste von Testmusterfolgen anzufertigen;
das Client-System unterteilt die Liste von Testmusterfolgen in eine Mehrzahl von Test­ musterfolgenteillisten, die vom Client-System an die Mehrzahl von Server-Systemen übertragen werden; und
jedes der Server-Systeme wählt eine der Testmusterfolgen aus seiner Liste, die vom Client-System an es übertragen worden ist, aus, führt den Übergangssignalwerteberechnungs­ schritt mit der ausgewählten Testmusterfolge aus, führt den Schritt zum Anfertigen einer Liste erfaßbarer Fehler aus, führt den Schritt der Löschung aus der vom Client-System unterhaltenen Fehlerliste aus, führt den Registrierungsschritt bezüglich der ebenfalls vom Client-System unterhaltenen Tesimusterfolgenliste aus, hört immer dann auf, Testmuster zu erzeugen, wenn keine Testmusterfolge in der Testmusterfolgenteilliste verbleibt, die noch nicht ausgewählt ist, und benachrichtigt das Client-System vom Abschluß seiner Operation.
12. Verfahren nach Anspruch 8, das ein Client-System und eine Mehrzahl von Server- Systemen verwendet;
ferner umfassend folgende Schritte:
das Client-System führt den Fehlerlistenanfertigungsschritt aus und führt den Testmus­ terfolgenerzeugungsschritt aus;
Übertragen unterschiedlicher Testmusterfolgen, die während des Testmusterfolgener­ zeugungsschritts erzeugt wurden, an die Mehrzahl von Server-Systemen;
jedes der Server-Systeme führt den Übergangssignalwerteberechnungsschritt mit der Testmusterfolge, die vom Client-System an es übertragen worden ist, aus, führt den Schritt zum Anfertigen einer Liste erfaßbarer Fehler aus und überträgt die so angefertigte Liste erfaßbarer Fehler und die zum Anfertigen der Liste verwendete Testmusterfolge an das Client-System; und
das Client-System führt den Löschungsschritt unter Verwendung der empfangenen Liste erfaßbarer Fehler aus und führt den Registrierungsschritt bezüglich der empfangenen Testmuster­ folge aus.
13. Vorrichtung zum Erzeugen einer Testmusterfolge, die zum Testen eines Halbleiter- ICs verwendet wird, umfassend:
einen Fehlerlistenspeicher zum Speichern einer Fehlerliste, in der Fehler für einen im Test befindlichen Halbleiter-IC registriert werden;
einen Testmusterfolgengenerator zum Erzeugen einer Testmusterfolge zum Anlegen eines Signals oder von Signalen, die den Fehler aktivieren, der ein ausgewählter der Fehler in der Fehlerliste ist, an eine Stelle entsprechend dem Fehler und zum Fortpflanzen des Signals oder der Signale zum Ausgang eines folgenden Logikgatters, dessen Eingang mit der Stelle des Fehlers verbunden ist;
einen Testmusterfolgenlistenspeicher zum Speichern der erzeugten Testmusterfolge; und
eine Steuereinheit zum Auswählen eines der Fehler von der Fehlerliste, zum Steuern des Testmusterfolgengenerators und zum Speichern der Testmusterfolge.
14. Vorrichtung nach Anspruch 13, ferner umfassend:
ein Client-System und eine Mehrzahl von Server-Systemen;
wobei das Client-System umfaßt: einen Sender/Empfänger für die Kommunikation mit jedem der Server-Systeme, den Fehlerlistenspeicher, den Testmusterfolgenlistenspeicher und einen ersten Controller zum Auswählen eines der Fehler aus der Fehlerliste in Antwort auf eine Anforderung von einem der Server-Systeme und Übertragen des ausgewählten Fehlers an das eine Server-System sowie zum Speichern der Testmusterfolge, die es von dem einen Server- System empfangen hat, in dem Testmusterfolgenlistenspeicher;
wobei jedes der Server-Systeme umfaßt: einen Sender/Empfänger für die Kommunika­ tion mit dem Client-System, eine Testmusterfolgenerzeugungseinheit und einen zweiten Control­ ler zum Aktivieren der Testmusterfolgenerzeugungseinheit für den ausgewählten Fehler, der vom Client-System empfangen worden ist, und zum Übertragen der erzeugten Testmusterfolge an das Client-System; und
wobei die Steuereinheit den ersten und den zweiten Controller umfaßt.
15. Vorrichtung nach Anspruch 13, ferner umfassend:
ein Client-System und eine Mehrzahl von Server-Systemen;
wobei das Client-System umfaßt: einen Sender/Empfänger für die Kommunikation mit jedem der Server-Systeme, den Fehlerlistenspeicher; den Testmusterfolgenlistenspeicher und einen ersten Controller zum Speichern der Testmusterfolge, die es vom Server-System empfan­ gen hat, in dem Testmusterfolgenlistenspeicher;
wobei jedes der Server-Systeme umfaßt: einen Sender/Empfänger für die Kommunika­ tion mit dem Client-System, eine Testmusterfolgenerzeugungseinheit und einen zweiten Control­ ler zum Auswählen eines der Fehler aus dem Fehlerlistenspeicher des Client-Systems, zum Aktivieren der Testmusterfolgenerzeugungseinheit und zum Übertragen der erzeugten Testmus­ terfolge an das Client-System; und
wobei die Steuereinheit den ersten und den zweiten Controller umfaßt.
16. Vorrichtung nach Anspruch 13, ferner umfassend
eine Einheit zum Anfertigen einer Liste erfaßbarer Fehler, die eine Übergangsspeise­ stromfehlersimulation bei dem Halbleiter-IC unter Verwendung der im Testmusterfolgenlistenspei­ cher gespeicherten Testmusterfolge ausführt und eine Liste von Fehlern anfertigt, die mit jener Testmusterfolge erfaßt werden können, um eine Liste erfaßbarer Fehler zu bilden;
wobei die Steuereinheit so arbeitet ist, daß sie die Fehler" die in der Liste erfaßbarer Fehler enthalten sind, aus dem Fehlerlistenspeicher löscht.
17. Vorrichtung nach Anspruch 14, ferner umfassend
eine Einheit zum Anfertigen einer Liste erfaßbarer Fehler, die eine Übergangsspeise­ stromfehlersimulation bei dem Halbleiter-IC unter Verwendung der im Testmusterfolgenlistenspei­ cher gespeicherten Testmusterfolge ausführt und eine Liste von Fehlern anfertigt, die mit jener Testmusterfolge erfaßt werden können, um eine Liste erfaßbarer Fehler zu bilden;
wobei die Steuereinheit so arbeitet ist, daß sie die Fehler, die in der Liste erfaßbarer Fehler enthalten sind, aus dem Fehlerlistenspeicher löscht.
18. Vorrichtung nach Anspruch 15, ferner umfassend
eine Einheit zum Anfertigen einer Liste erfaßbarer Fehler, die eine Übergangsspeise­ stromfehlersimulation bei dem Halbleiter-IC unter Verwendung der im Testmusterfolgenlistenspei­ cher gespeicherten Testmusterfolge ausführt und eine Liste von Fehlern anfertigt, die mit jener Testmusterfolge erfaßt werden können, um eine Liste erfaßbarer Fehler zu bilden;
wobei die Steuereinheit so arbeitet ist, daß sie die Fehler, die in der Liste erfaßbarer Fehler enthalten sind, aus dem Fehlerlistenspeicher löscht.
19. Vorrichtung nach Anspruch 13, ferner umfassend:
ein Client-System und eine Mehrzahl von Server-Systemen;
wobei das Client-System umfaßt: einen Sender/Empfänger für die Kommunikation mit der Mehrzahl von Server-Systemen, den Fehlerlistenspeicher und einen ersten Controller zum Unterteilen der Fehlerliste in eine Mehrzahl von Fehlerteillisten, die an die Mehrzahl von Servern übertragen werden sollen, und zum Speichern der vom Server-System empfangenen Testmuster­ folge in dem Testmusterfolgenlistenspeicher;
wobei jedes der Server-Systeme umfaßt: einen Sender/Empfänger für die Kommunika­ tion mit dem Client-System, einen Fehlerteillistenspeicher zum Speichern der Fehlerteilliste, eine Testmusterfolgenerzeugungseinheit und einen zweiten Controller zum Speichern der empfange­ nen Fehlerteilliste in dem Fehlerteillistenspeicher, zum Auswählen eines der Fehler aus dem Fehlerteillistenspeicher damit die Testmustererzeugungseinheit aktiviert wird, und zum Übertra­ gen der erzeugten Testmusterfolge an das Client-System; und
wobei die Steuereinheit den ersten und den zweiten Controller umfaßt.
20. Vorrichtung zum Erzeugen einer Testmusterfolge, die zum Testen eines Halbleiter- ICs verwendet wird, umfassend:
einen Fehlerlistenspeicher zum Speichern einer Liste von Weglaufzeitfehlern für einen im Test befindlichen Halbleiter-IC;
einen Testmusterfolgenlistenspeicher, in dem Testmusterfolgen gespeichert werden;
einen Musterfolgengenerator zum Erzeugen einer zwei oder mehrere Testmuster umfas­ senden Testmusterfolge, die an den Halbleiter-IC angelegt werden soll;
eine Übergangssignalwerteberechnungseinheit zum Ausführen einer Simulation von Übergängen, die in dem Halbleiter-IC auftreten würden, wenn die erzeugte Testmusterfolge an ihn angelegt würde, zur Berechnung einer Folge von Übergangssignalwerten, die auf Signalleitun­ gen in dem IC auftreten;
eine Einheit zum Anfertigen einer Liste erfaßbarer Fehler, zum Anfertigen einer Liste von Fehlern, die durch ein Übergangsspeisestromtesten unter Verwendung der Übergangssignalwerte auf den Signalleitungen erfaßt werden können, wenn die erzeugte Testmusterfolge an den Halbleiter-IC angelegt wird, wodurch eine Liste erfaßbarer Fehler gebildet wird; und
eine Steuereinheit zum Löschen von Fehlern, die in der liste erfaßbarer Fehler enthalten sind, aus dem Fehlerlistenspeicher, zum Speichern einer erzeugten Testmusterfolge im Testmus­ terfolgenlistenspeicher und zum Aktivieren des Musterfolgengenerators, der Übergangssignalwer­ teberechnungseinheit und der Einheit zum Anfertigen einer Liste erfaßbarer Fehler, bis die Anzahl an Weglaufzeitfehlern, die im Fehlerlistenspeicher verbleiben, auf einen gegebenen Wert oder weniger reduziert ist.
21. Vorrichtung nach Anspruch 20, ferner umfassend:
ein Client-System und eine Mehrzahl von Server-Systemen;
wobei das Client-System umfaßt: einen Sender/Empfänger für die Kommunikation mit der Mehrzahl von Server-Systemen, den Fehlerlistenspeicher, den Testmusterfolgenlistenspeicher, den Musterfolgengenerator und einen ersten Controller zum Veranlassen, bei Empfang einer Benachrichtigung von dem Server-System, die den Abschluß von dessen Operation angibt, daß das Server-System die erzeugte Testmusterfolge überträgt;
wobei jedes der Server-Systeme umfaßt: einen Sender/Empfänger für die Kommunika­ tion mit dem Client-System, die Übergangssignalwerteberechnungseinheit, die Einheit zum Anfertigen einer Liste erfaßbarer Fehler und einen zweiten Controller zum Aktivieren der Über­ gangssignalwerteberechnungseinheit und der Einheit zum Anfertigen einer Liste erfaßbarer Fehler in Antwort auf die vom Client-System empfangene Testmusterfolge, zum Löschen der Fehler, die in der Liste erfaßbarer Fehler enthalten sind, aus dem Fehlerlistenspeicher des Client-Systems, zum Veranlassen, daß die erzeugte Testmusterfolge im Testmusterfolgenlistenspeicher des Client-Systems gespeichert wird, und zum Benachrichtigen des Client-Systems über den Abschluß der Operation des Server-Systems; und
wobei die Steuereinheit den ersten und den zweiten Controller umfaßt.
22. Vorrichtung nach Anspruch 20, ferner umfassend:
ein Client-System und eine Mehrzahl von Server-Systemen;
wobei das Client-System umfaßt: einen Sender/Empfänger für die Kommunikation mit der Mehrzahl von Server-Systemen, den Fehlerlistenspeicher, die Testmusterfolgenerzeugungs­ einheit und einen Speicher für erzeugte Muster, der eine Liste erzeugter Testmusterfolgen speichert; und
wobei jedes der Server-Systeme umfaßt: einen Sender/Empfänger für die Kommunika­ tion mit dem Client-System, die Übergangssignalwerteberechnungseinheit, die Einheit zum Anfertigen einer Liste erfaßbarer Fehler und die Steuereinheit, die es jedem Server-System ermöglicht, eine der Testmusterfolgen aus dem Speicher für erzeugte Muster des Client-Systems zu erlangen, die die Übergangssignalwerteberechnungseinheit und die Einheit zum Anfertigen einer Liste erfaßbarer Fehler zum Betrieb mit der erlangten Testmusterfolge aktiviert, um die Fehler, die in der Liste erfaßbarer Fehler enthalten sind, aus dem Fehlerlistenspeicher des Client- Systems zu löschen und die Testmusterfolge in dem Testmusterfolgenlistenspeicher des Client- Systems zu speichern.
23. Vorrichtung nach Anspruch 20, ferner umfassend:
ein Client-System und eine Mehrzahl von Server-Systemen;
wobei das Client-System umfaßt: einen Sender/Empfänger für die Kommunikation mit der Mehrzahl von Server-Systemen, den Fehlerlistenspeicher, den Testmusterfolgenlistenspeicher, den Testmusterfolgengenerator und einen ersten Controller zum Unterteilen der Liste der erzeugten Testmusterfolgen in eine Mehrzahl von Testmusterfolgenteillisten, die an die Mehrzahl von Server-Systemen übertragen werden sollen;
wobei jedes der Server-Systeme umfaßt: einen Sender/Empfänger für die Kommunika­ tion mit dem Client-System, die Übergangssignalwerteberechnungseinheit, die Einheit zum Anfertigen einer Liste erfaßbarer Fehler, einen Testmusterfolgenteillistenspeicher zum Speichern einer empfangenen Testmusterteilliste und einen zweiten Controller, der es jedem Server-System ermöglicht, eine der Testmusterfolgen aus dem Testmusterfolgenteillistenspeicher abzuleiten, um die Übergangssignalwerteberechnungseinheit und die Einheit zum Anfertigen einer Liste erfaßba­ rer Fehler zu aktivieren, zum Löschen der Fehler, die in der Liste erfaßbarer Fehler enthalten sind, aus dem Fehlerlistenspeicher des Client-Systems und zum Speichern der Testmusterfolge im Testmusterfolgenlistenspeicher des Client-Systems; und
wobei die Steuereinheit den ersten und den zweiten Controller umfaßt.
24. Vorrichtung nach Anspruch 20, ferner umfassend:
ein Client-System und eine Mehrzahl von Server-Systemen;
wobei das Client-System umfaßt: einen Sender/Empfänger für die Kommunikation mit der Mehrzahl von Server-Systemen, den Fehlerlistenspeicher, den Testmusterfolgengenerator und einen ersten Controller zum Löschen von Fehlern, die in der Liste erfaßbarer Fehler enthalten sind, aus dem Fehlerlistenspeicher und zum Speichern der von jedem Server-System empfange­ nen Testmusterfolge in dem Testmusterfolgenlistenspeicher;
wobei jedes der Server-Systeme umfaßt: einen Sender/Empfänger für die Kommunika­ tion mit dem Client-System, die Übergangssignalwerteberechnungseinheit, die Einheit zum Anfertigen einer Liste erfaßbarer Fehler und einen zweiten Controller zum Aktivieren der Über­ gangssignalwerteberechnungseinheit und der Einheit zum Anfertigen einer Liste erfaßbarer Fehler für die empfangene Testmusterfolge und zum Übertragen der Testmusterfolge und der Liste erfaßbarer Fehler an das Client-System; und
wobei die Steuereinheit den ersten und den zweiten Controller umfaßt.
DE10127337A 2000-06-08 2001-06-06 Verfahren und Vorrichtung zum Erzeugen von beim Testen von Halbleiter-ICs verwendeten Testmustern Ceased DE10127337A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000171765A JP4488595B2 (ja) 2000-06-08 2000-06-08 テストパターン生成方法

Publications (1)

Publication Number Publication Date
DE10127337A1 true DE10127337A1 (de) 2002-06-27

Family

ID=18674277

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10127337A Ceased DE10127337A1 (de) 2000-06-08 2001-06-06 Verfahren und Vorrichtung zum Erzeugen von beim Testen von Halbleiter-ICs verwendeten Testmustern

Country Status (5)

Country Link
US (4) US7185254B2 (de)
JP (1) JP4488595B2 (de)
KR (1) KR20010111043A (de)
DE (1) DE10127337A1 (de)
TW (1) TW513580B (de)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4336029B2 (ja) * 2000-06-19 2009-09-30 株式会社アドバンテスト 半導体集積回路の故障シミュレーション方法および故障シミュレータ
KR100487979B1 (ko) * 2002-04-01 2005-05-06 학교법인 성균관대학 지유아이와 데이터베이스를 이용한 전력계통모의고장발생시스템 및 이의 운용방법
US7739638B2 (en) * 2003-03-06 2010-06-15 Fujitsu Limited Circuit analyzing device, circuit analyzing method, program, and computer readable information recording medium considering influence of signal input to peripheral circuit which does not have logical influence
US7376917B1 (en) * 2003-08-25 2008-05-20 Xilinx, Inc. Client-server semiconductor verification system
US7317324B2 (en) * 2003-11-04 2008-01-08 Canon Kabushiki Kaisha Semiconductor integrated circuit testing device and method
DE102004010783A1 (de) * 2004-03-05 2005-09-29 Infineon Technologies Ag Verfahren und Schaltungsanordnung zum Testen elektrischer Bausteine
US7216280B2 (en) * 2004-04-20 2007-05-08 Lsi Logic Corporation Method of generating test patterns to efficiently screen inline resistance delay defects in complex ASICs
US7356747B2 (en) * 2004-08-04 2008-04-08 Virginia Tech Intellectual Properties, Inc. Decision selection and associated learning for computing all solutions in automatic test pattern generation (ATPG) and satisfiability
US7216281B2 (en) * 2004-09-29 2007-05-08 Advantest Corp. Format control circuit and semiconductor test device
JP2006118880A (ja) * 2004-10-19 2006-05-11 Sharp Corp 半導体集積回路の検査方法及び検査装置
US7213182B2 (en) * 2005-01-19 2007-05-01 Advantest Corporation Test apparatus and test method
JP2007017430A (ja) * 2005-06-06 2007-01-25 Matsushita Electric Ind Co Ltd テストパターン生成方法
JP4636989B2 (ja) * 2005-10-11 2011-02-23 富士通セミコンダクター株式会社 遅延解析装置、遅延解析方法、遅延解析プログラム、および記録媒体
US20070260926A1 (en) * 2006-04-13 2007-11-08 International Business Machines Corporation Static and dynamic learning test generation method
US8051352B2 (en) * 2006-04-27 2011-11-01 Mentor Graphics Corporation Timing-aware test generation and fault simulation
WO2008001818A1 (fr) * 2006-06-30 2008-01-03 Japan Science And Technology Agency dispositif de conversion, procédé de conversion, programme et support d'enregistrement
JP4936367B2 (ja) * 2006-10-17 2012-05-23 ルネサスエレクトロニクス株式会社 回路設計プログラム及び回路設計システム
JP4805792B2 (ja) 2006-11-21 2011-11-02 株式会社東芝 遅延故障テスト品質算出装置、遅延故障テスト品質算出方法、及び遅延故障テストパターン発生装置
US7831879B2 (en) * 2008-02-19 2010-11-09 International Business Machines Corporation Generating test coverage bin based on simulation result
US8010851B2 (en) * 2008-03-31 2011-08-30 Advantest Corporation Testing module, testing apparatus and testing method
US7984353B2 (en) * 2008-08-29 2011-07-19 Advantest Corporation Test apparatus, test vector generate unit, test method, program, and recording medium
US8149721B2 (en) * 2008-12-08 2012-04-03 Advantest Corporation Test apparatus and test method
JP2010139322A (ja) * 2008-12-10 2010-06-24 Renesas Electronics Corp 半導体集積回路およびその半導体集積回路のテスト方法
US8813025B1 (en) 2009-01-12 2014-08-19 Bank Of America Corporation Customer impact predictive model and combinatorial analysis
US8832657B1 (en) * 2009-01-12 2014-09-09 Bank Of America Corporation Customer impact predictive model and combinatorial analysis
JP2010203937A (ja) 2009-03-04 2010-09-16 Sony Corp テスト装置、テスト方法、およびプログラム
US8526252B2 (en) * 2009-03-17 2013-09-03 Seagate Technology Llc Quiescent testing of non-volatile memory array
US8560991B1 (en) * 2010-10-05 2013-10-15 Cadence Design Systems, Inc. Automatic debugging using automatic input data mutation
EP2645255B1 (de) * 2010-11-26 2019-10-02 Mitsubishi Electric Corporation Programmerzeugungsvorrichtung, programmerzeugungsprogramm und programmerzeugungsverfahren
US8902767B2 (en) * 2010-12-15 2014-12-02 The Boeing Company Communications effects in network simulations
JP2014109453A (ja) * 2012-11-30 2014-06-12 Renesas Electronics Corp 半導体装置
US8806401B1 (en) * 2013-03-15 2014-08-12 Atrenta, Inc. System and methods for reasonable functional verification of an integrated circuit design
US10102329B2 (en) 2013-12-13 2018-10-16 Nxp Usa, Inc. Method and apparatus for validating a test pattern
US9806432B2 (en) * 2015-12-02 2017-10-31 Raytheon Company Dual-polarized wideband radiator with single-plane stripline feed
US20170184664A1 (en) * 2015-12-28 2017-06-29 Michel Nicolaidis Highly efficient double-sampling architectures
CN106326533A (zh) * 2016-08-12 2017-01-11 刘富利 一种模拟训练系统电路建模方法
CN112154336B (zh) * 2018-03-22 2024-03-29 西门子工业软件有限公司 确定性星体内建自测
US10579754B1 (en) * 2018-09-14 2020-03-03 Hewlett Packard Enterprise Development Lp Systems and methods for performing a fast simulation
US11353496B2 (en) * 2019-05-08 2022-06-07 Hamilton Sundstrand Corporation Frequency-based built-in-test for discrete outputs
US11042679B1 (en) * 2020-08-31 2021-06-22 Siemens Industry Software Inc. Diagnosis resolution prediction

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1053758B (de) 1953-05-23 1959-03-26 Alfons Speer Einrichtung an elektrisch beheizten Back- und Bratgeraeten
US3961250A (en) 1974-05-08 1976-06-01 International Business Machines Corporation Logic network test system with simulator oriented fault test generator
JPS5965441A (ja) 1982-10-05 1984-04-13 Fujitsu Ltd 半導体集積回路の故障解析装置
JPH0287397A (ja) 1988-09-22 1990-03-28 Hitachi Ltd 半導体集積回路
US5321354A (en) * 1990-07-23 1994-06-14 Seiko Epson Corporation Method for inspecting semiconductor devices
JPH04344481A (ja) * 1991-05-21 1992-12-01 Matsushita Electric Ind Co Ltd 検査系列生成方法
JPH0572287A (ja) * 1991-09-18 1993-03-23 Hitachi Ltd デイレイテストパターン生成方法
JPH05182492A (ja) 1992-01-07 1993-07-23 Sharp Corp 誤り訂正可能な半導体記憶装置
US5425036A (en) * 1992-09-18 1995-06-13 Quickturn Design Systems, Inc. Method and apparatus for debugging reconfigurable emulation systems
JP2715956B2 (ja) * 1995-01-20 1998-02-18 日本電気株式会社 Iddqを用いたCMOS論理回路の故障箇所の絞り込み方法
US5913022A (en) 1995-08-31 1999-06-15 Schlumberger Technologies, Inc. Loading hardware pattern memory in automatic test equipment for testing circuits
JPH09145800A (ja) * 1995-11-17 1997-06-06 Nec Corp テストパターン生成方式
JPH09269959A (ja) * 1996-02-02 1997-10-14 Matsushita Electric Ind Co Ltd 経路遅延故障の検査容易化設計方法及び検査系列生成方法
JP2991138B2 (ja) * 1996-12-09 1999-12-20 日本電気株式会社 メモリlsiの不良解析方法
US5802075A (en) * 1997-01-16 1998-09-01 Unisys Corporation Distributed test pattern generation
CA2206738A1 (en) 1997-06-02 1998-12-02 Naim Ben Hamida Fault modeling and simulation for mixed-signal circuits and systems
US6167352A (en) * 1997-06-26 2000-12-26 Agilent Technologies, Inc. Model-based diagnostic system with automated procedures for next test selection
US6671716B1 (en) * 1997-11-28 2003-12-30 International Business Machines Corporation Processing extended transactions in a client-server system
JPH11352200A (ja) 1998-06-04 1999-12-24 Toshiba Corp 半導体集積回路の故障解析方法
JP2001208803A (ja) * 2000-01-24 2001-08-03 Advantest Corp 半導体集積回路の故障シミュレーション方法および故障シミュレータ
JP4336029B2 (ja) * 2000-06-19 2009-09-30 株式会社アドバンテスト 半導体集積回路の故障シミュレーション方法および故障シミュレータ

Also Published As

Publication number Publication date
KR20010111043A (ko) 2001-12-15
TW513580B (en) 2002-12-11
JP4488595B2 (ja) 2010-06-23
JP2001349932A (ja) 2001-12-21
US7254764B2 (en) 2007-08-07
US20060041810A1 (en) 2006-02-23
US7225377B2 (en) 2007-05-29
US20060031732A1 (en) 2006-02-09
US20020035708A1 (en) 2002-03-21
US7185254B2 (en) 2007-02-27
US7225378B2 (en) 2007-05-29
US20060031731A1 (en) 2006-02-09

Similar Documents

Publication Publication Date Title
DE10127337A1 (de) Verfahren und Vorrichtung zum Erzeugen von beim Testen von Halbleiter-ICs verwendeten Testmustern
DE602004009309T2 (de) Automatische testmustererzeugung
DE2729053C2 (de) Prüfverfahren für eine monolithisch integrierte stufenempfindliche, einseitig verzögerungsabhängige logische Einheit
DE2349377C2 (de) Schaltwerk zur Durchführung von Datenverarbeitungsoperationen
DE3490015C2 (de)
DE10053758A1 (de) Verfahren und Vorrichtung zur Fehlersimulation bei einer integrierten Halbleiterschaltung
DE3725822C2 (de)
DE3700251C2 (de)
DE3725823C2 (de)
DE10129329A1 (de) Fehlersimulationsverfahren und Fehlersimulator für einen Halbleiter-IC
DE4404445C2 (de) Integrierte Halbleiterschaltung und Verfahren zum Testen derselben
DE2842750A1 (de) Verfahren und anordnung zur pruefung von durch monolithisch integrierten halbleiterschaltungen dargestellten sequentiellen schaltungen
DE2346617A1 (de) Verfahren zur pruefung der laufzeitverzoegerung einer funktionalen logischen einheit
DE4243910A1 (de) Aufgeteiltes Grenzabtasttesten zum Vermindern des durch Testen hervorgerufenen Schadens
DE3702408C2 (de)
DE602005002931T2 (de) Prüfung eines Testobjekts mit Abtastung vom Taktsignal und vom Datensignal
DE2335785A1 (de) Schaltungsanordnung zum pruefen einer matrixverdrahtung
DE10315248A1 (de) Eingebaute Selbsttestschaltung
DE19536203A1 (de) Fehlerdiagnoseverfahren für eine sequentielle Schaltung
EP0580663B1 (de) Verfahren zur verifikation datenverarbeitender systeme
DE10045671A1 (de) Testvorrichtung und Testverfahren für eine integrierte Halbleiterschaltung
DE4031136C2 (de)
DE69433542T2 (de) Prüfung, sequenziellogischer Schaltung auf grund einer kombinatorischen Logikschaltungsveränderung
DE4305677C2 (de) Testschaltung
EP0628832B1 (de) Integrierte Schaltung mit Registerstufen

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8172 Supplementary division/partition in:

Ref document number: 10164962

Country of ref document: DE

Kind code of ref document: P

Q171 Divided out to:

Ref document number: 10164962

Country of ref document: DE

Kind code of ref document: P

8131 Rejection