[go: up one dir, main page]

DE10053758A1 - Verfahren und Vorrichtung zur Fehlersimulation bei einer integrierten Halbleiterschaltung - Google Patents

Verfahren und Vorrichtung zur Fehlersimulation bei einer integrierten Halbleiterschaltung

Info

Publication number
DE10053758A1
DE10053758A1 DE10053758A DE10053758A DE10053758A1 DE 10053758 A1 DE10053758 A1 DE 10053758A1 DE 10053758 A DE10053758 A DE 10053758A DE 10053758 A DE10053758 A DE 10053758A DE 10053758 A1 DE10053758 A1 DE 10053758A1
Authority
DE
Germany
Prior art keywords
error
logic
test pattern
semiconductor
sequence
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
DE10053758A
Other languages
English (en)
Inventor
Masahiro Ishida
Takahiro Yamaguchi
Yoshihiro Hashimoto
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 DE10053758A1 publication Critical patent/DE10053758A1/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/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318342Generation of test inputs, e.g. test vectors, patterns or sequences by preliminary fault modelling, e.g. analysis, simulation
    • 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/30Marginal testing, e.g. by varying supply voltage
    • G01R31/3004Current or voltage test

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

Eine Prüfmusterfolge wird erzeugt (101), dann eine Logiksimulation der Operation eines zu prüfenden ICs im Fall der Eingabe jedes Prüfmusters der Prüfmusterfolge und einer Logiksignalwertfolge, die auf jeder Signalleitung des zu prüfenden ICs auftritt (102). Die Logiksignalwertfolge auf jeder Signalleitung wird verwendet, um in einer Fehlerliste Teile (ein Logikgatter, eine Signalleitung oder einen Signalausbreitungsweg) zu registrieren, in denen ein Fehler (ein Verzögerungsfehler oder ein Offen-Fehler), der durch eine Transientversorgungsstrom-Prüfung unter Verwendung der Prüfmusterfolge erfaßbar ist, mit Wahrscheinlichkeit auftreten kann (103).

Description

Hintergrund der Erfindung
Die vorliegende Erfindung betrifft ein Verfahren und eine Vorrichtung zur Fehlersimulation, die eine Liste von Fehlern in einer integrierten Halbleiterschaltung anlegen, die unter Verwendung einer bestimmten Prüfmusterfolge erfaßbar sind.
Bei herkömmlicher Fehlersimulation einer integrierten Halbleiterschaltung (im folgenden als Halbleiter-IC oder als einfach als IC bezeichnet) werden vorgegebene Prüfmuster in den Halbleiter- IC eingegeben, in dem Fehler angenommen werden, dann werden Antwort-Ausgabewerte, die von seinem Ausgabeanschluß verfügbar sind, durch eine Logiksimulation berechnet, um Abwei­ chungen in den Ausgabewerten relativ zu den unter fehlerfreien Bedingungen erhältlichen zu erfassen, und die so erhaltenen Ergebnisse werden als eine Vergleichstabelle von angenommenen Fehlern und Eingabe/Ausgabe-Logikwerten zusammengefaßt, wobei die Tabelle allgemein als Fehlerlexikon bezeichnet wird. Dies ist ein herkömmliches Verfahren zum Anlegen einer Liste von durch die Prüfmuster erfaßbaren Fehlern. Beim Prüfen eines ICs wird jedes Prüfmuster in diesen eingegeben, und sein Antwort-Ausgabewert und der Eingabewert werden benutzt, um auf das Fehlerlexikon zuzugreifen, um zu entscheiden, ob der IC Fehlerbedingungen aufweist, und ggf. zu lokalisieren, welcher Teil oder welche Teile des ICs fehlerhaft sind.
Um mit Fehlern fertig zu werden, die nicht zu Logikfehlern führen, wie etwa ein Überbrückungs­ fehler und ein Leckstromfehler, ist ein Fehlersimulationsverfahren vorgeschlagen werden, das in Kombination ein IDDQ-(quiescent power supply current)-Prüfschema und eine Logiksimulation verwendet. Nach diesem Verfahren wird die Logiksimulation verwendet, um Logiksignalwerte zu berechnen, die sich auf Signalleitungen in dem IC in Reaktion auf ein bestimmtes darauf ange­ wendetes Prüfmuster entwickeln, und eine Liste von erfaßbaren Fehlern wird angelegt durch Aufzählen von Fehlern, die die Kriterien für das Auftreten von IDDQ-Anomalitäten bei den in dem IC angenommenen Fehlern erfüllen. Bei Anwendung eines bestimmten Prüfmusters auf einen IC hat jede Signalleitung üblicherweise einen Logikwert "0" oder "1". Wenn jedoch ein Über­ brückungsfehler zwischen den Signalleitungen mit den Logikwerten "0" bzw. "1" auftritt, entwickelt der IC eine IDDQ-Anomalität. Folglich sind Überbrückungsfehler zwischen allen Signalleitungen mit den Logikwerten "0" und "1" in dem IC auf Grundlage von Eingabeprüfmu­ stern mit dem IDDQ-Prüfschema erfaßbar, und diese Überbrückungsfehler können zu einer Liste von mit dem IDDQ-Prüfschema erfaßbaren Fehlern zusammengestellt werden.
Mit dem Fehlersimulationsmodell, das die Logiksimulation verwendet, ist das simulierbare Fehlermodell jedoch auf einen einzigen "Festklemmfehler (stack-at fault (Stuck-At-0 oder Stuck- At-1)) beschränkt, d. h. auf einen Fehler, bei dem eine Signalleitung in einem bestimmten Zustand ("0" oder "1") festklemmt. Deswegen ist es mit diesem Fehlersimulationsverfahren unmöglich, mit hoher Empfindlichkeit einen Mehrfach-Festklemmfehler, bei dem mehrere Signalleitungen bei "0" oder "1" festklemmen, einen Verzögerungsfehler, einen Kurzschlußfehler zwischen Signallei­ tungen usw. zu simulieren, folglich können keine Listen von erfaßbaren Fehlern angelegt werden.
Außerdem ist das Fehlersimulationsverfahren durch die kombinierte Verwendung des IDDC- Prüfschemas und der Logiksimulation ein Verfahren zum Messen des Versorgungsstromes des Halbleiter-ICs unter stabilen Bedingungen, und ist insbesondere für Kurzschlußfehler in der Schaltung vorgesehen. Deshalb ist dieses Verfahren nicht in der Lage, Listen von erfaßbaren Fehlern zu transienten Erscheinungen in Halbleiter-ICs wie etwa Verzögerungsfehlern und Offen- Fehlern, die die Verzögerungszeit beeinflussen, und von Anomalitäten lokaler oder globaler Prozeßparameter (ein Schichtwiderstand, eine Oxidschichtdicke usw.) anzulegen.
Es besteht also Bedarf nach der Implementierung eines Fehlersimulationsverfahrens, bei dem es möglich ist, eine Liste von mit einer bestimmten Prüfmusterfolge erfassbaren Fehler für die oben erwähnten Verzögerungsfehler, Offen-Fehler und Parameter-Anomalitätsfehler anzulegen.
Eine Aufgabe der vorliegenden Erfindung ist, ein Verfahren und eine Vorrichtung zur Fehlersimula­ tion anzugeben, mit denen es möglich ist, eine Liste von Fehlern anzulegen, die durch eine bestimmte Prüfmusterfolge für Verzögerungs-, Offen- und Parameter-Anomalitätsfehler in Halbleiter-ICs durch kombinierte Verwendung eines Prüfschemas mit transientem Versorgungs­ strom (IDDT), mit dem transiente Erscheinungen des ICs mit hoher Beobachtbarkeit erfaßt werden können, und Logiksimulation anzulegen.
Kurzbeschreibung der Erfindung
Gemäß einem Aspekt der vorliegenden Erfindung ist ein Fehlersimulationsverfahren zum Erzeugen einer Liste von Fehlern vorgesehen, die unter Verwendung einer Eingabe-Prüfmusterfolge erfaßbar sind, welches folgende Schritte umfaßt: Erzeugen einer aus zwei oder mehr Prüfmustern aufgebauten Prüfmusterfolge zum Eingeben in einen zu prüfenden IC; Durchführen einer Logik­ simulation, um zu erfassen, welche Situation sich in dem zu prüfenden IC bei Eingabe jedes Prüfmusters ergeben wird, und Berechnen einer Folge von Logiksignalwerten, die in Signalleitun­ gen des zu prüfenden ICs erzeugt werden; und Anlegen einer Liste von mit der transienten Versorgungsstromprüfung erfaßbaren Fehlern durch Verwendung der durch die Logiksimulation berechneten Folge der Logiksignalwerte der Signalleitungen.
Mit diesem Verfahren ist es möglich, eine Liste von Fehlern zu erzeugen, die mit dem transienten Versorgungsstrom-Prüfverfahren unter Verwendung einer bestimmten Prüfmusterfolge für herkömmlicherweise unerfaßbare Verzögerungsfehler oder Offen-Fehler, die zu Verzögerungsfeh­ lern führen, erfaßbar sind - dies verbessert die Effizienz der Prüfung auf Verzögerungs- und Offen- Fehler signifikant.
Eine Form des oben erwähnten Schrittes des Erzeugens der Fehlerliste ist, eine Liste von Fehlern zu erzeugen, die sich in Logikgattern entwickeln.
Eine andere Form des oben erwähnten Schrittes des Erzeugens der Fehlerliste ist, eine Liste von Fehlern zu erzeugen, die sich in Signalleitungen entwickeln.
Eine weitere Form des oben erwähnten Schrittes des Erzeugens der Fehlerliste ist, eine Liste von Fehlern zu erzeugen, die sich in Signalausbreitungswegen entwickeln.
Gemäß einem anderen Aspekt der Erfindung ist ein Fehlersimulator zum Erzeugen einer Liste von Fehlern vorgesehen, die mit einer Eingabeprüfmusterfolge erfaßbar sind, welcher umfaßt: Prüfmustererzeugungsmittel zum Erzeugen einer aus zwei oder mehr Prüfmustern bestehenden Prüfmusterfolge zur Anwendung an einem zu prüfenden Halbleiter-IC; einen Logiksimulator, der eine Logiksimulation durchführt, um zu erfassen, welche Situation sich in dem zu prüfenden IC bei Eingabe jedes Prüfmusters aus der Prüfmusterfolge darein entwickeln wird, und der eine Folge von Logiksignalwerten berechnet, die in Signalleitungen des zu prüfenden ICs erzeugt würde, und Fehlerlisten-Erzeugungsmittel zum Erzeugen einer Liste von Fehlern, die durch eine transiente Versorgungsstromprüfung unter Verwendung der durch den Logiksimulator berechneten Folge von Logiksignalwerten erfaßbar sind.
Mit dem Fehlersimulator mit dem obigen Aufbau ist es möglich, eine Liste von Fehlern zu erzeugen, die durch die transiente Versorgungsstromprüfung unter Verwendung einer bestimmten Prüfmusterfolge für herkömmlicherweise unerfaßbare Verzögerungsfehler oder Offen-Fehler, die zu den Verzögerungsfehlern führen, erfaßbar sind - dies verbessert signifikant die Effizienz der Prüfung auf solche Verzögerungs- und Offen-Fehler.
Gemäß einem anderen Aspekt der vorliegenden Erfindung ist ein Verfahren zum Erzeugen einer Liste von unter Verwendung einer Eingabe-Prüfmusterfolge erfaßbaren Fehlern vorgesehen, welches folgende Schritte umfaßt: Einfügen eines angenommenen Fehlers in einen zu prüfenden Halbleiter-IC; Erzeugen einer Prüfmusterfolge, bestehend aus zwei oder mehr Prüfmustern, zur Eingabe in den zu prüfenden IC; Berechnen eines transienten Versorgungsstroms des zu prüfen­ den ICs durch Durchführung einer Schaltungssimulation im Falle des Anwendens der Prüfmuster­ folge auf den IC mit dem angenommenen darin eingefügten Fehler; Vergleichen des durch die Schaltungssimulation berechneten transienten Versorgungsstroms mit einem transienten Versorgungsstrom eines normalen ICs und Entscheiden, ob der Fehler durch eine transiente Versorgungsstromprüfung unter Verwendung der Prüfmusterfolge erfaßbar ist.
Mit diesem Verfahren ist es möglich, eine Liste von Fehlern zu erzeugen, die durch die transiente Versorgungsstromprüfung unter Verwendung einer bestimmten Prüfmusterfolge für Verzöge­ rungs-, Offen- und Parameteranomalitätsfehler erfaßbar sind, die bisher nicht erfaßbar waren. So verbessert dieses Verfahren die Effizienz der Prüfung auf solche Verzögerungs- und Offen-Fehler.
Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird ein Fehlersimulator zum Erzeugen einer Liste von unter Verwendung einer Eingabe-Prüfmusterfolge erfaßbaren Fehlern geschaffen, welcher umfaßt: Prüfmusterfolge-Erzeugungsmittel zum Erzeugen einer aus zwei oder mehr Prüfmustern aufgebauten Prüfmusterfolge zur Eingabe in den zu prüfenden IC; Mittel zum Einfügen eines angenommenen Fehlers in den IC; einen Schaltungssimulator zum Berechnen eines transienten Versorgungsstroms des ICs durch Durchführung einer Schaltungssimulation im Fall des Eingebens der Prüfmusterfolge in den IC mit dem darin eingefügten angenommenen Fehler; Fehlerlisten-Erzeugungsmittel zum Erzeugen einer Fehlerliste durch Vergleichen des durch die Schaltungssimulation berechneten transienten Versorgungsstroms mit einem transienten Versorgungsstrom eines normalen ICs und Entscheiden, ob der Fehler durch eine transiente Versorgungsstromprüfung unter Verwendung der Prüfmusterfolge erfaßbar ist.
Mit diesem Fehlersimulator ist es möglich, eine Liste von durch die transiente Versorgungsstrom­ prüfung unter Verwendung einer bestimmten Prüfmusterfolge erfassbaren Fehlern für Verzöge­ rungs-, Offen- und Parameteranomalitätsfehler zu erzeugen, die bisher nicht erfaßbar waren. Daher verbessert dieser Fehlersimulator signifikant die Effizienz der Prüfung auf solche Verzöge­ rungs- und Offen-Fehler.
Prinzip der Erfindung
Um ein besseres Verständnis der vorliegenden Erfindung zu erleichtern, wird das Prinzip der vorliegenden Erfindung im folgenden mit Bezug auf einen CMOS-IC beschrieben, der ein typisches Beispiel für einen Halbleiter-IC ist.
Der Versorgungsstrom des CMOS-ICs ist ein in den CMOS-IC fließender Strom und ist ausge­ drückt durch die Summe von Strömen durch die jeweiligen Logikgatter in dem IC.
Transienter Versorgungsstrom
Fig. 1 zeigt eine transiente Antwort eines CMOS-Inverters. Diese transiente Antwort wurde mit einem Schaltungssimulator erhalten. Wie in Fig. 1C gezeigt, ist der CMOS-Inverter durch eine Reihenschaltung von p- und n-MOS-Transistoren gebildet, die an beiden Enden mit einem Stromversorgungsanschluß TVD und mit Masse GND verbunden ist. Die Gates beider Transistoren sind an einen Eingangsanschluß IN angeschlossen, und ihr Verbindungspunkt ist an einen Ausgabeanschluß OUT angeschlossen. Fig. 1A zeigt eine Antwort einer Ausgabespannung VOUT auf eine Eingabespannung VIN in einem transienten Zustand, und Fig. 1B zeigt eine Antwort eines in den CMOS-Inverter aus der Stromversorgung zu dieser Zeit fließenden Stroms IDD. Der in den CMOS-Inverter fließende Strom wird als transienter Strom bezeichnet. Wenn sich die Eingabe in den Inverter von einem Logikwert "1" auf "0" ändert, wie in Fig. 1C gezeigt, schalten der n- und p-MOS-Transistor gleichzeitig für einen sehr kurzen Zeitraum ein, wenn die Eingabespannung VIN höher als eine Schwellenspannung des n-MOS-Transistors, aber niedriger als eine Schwellen­ spannung des p-MOS-Transistors ist, und ein Kurzschlußstrom IS fließt vom Stromversorgungsan­ schluß TVD zur Masse GND. Da zu dieser Zeit das Potential am Ausgabeanschluß OUT sich vom Logikwert "0" auf "1" ändert, fließt ein Strom IC zum Laden einer an eine Ausgabesignalleitung (den OUT-Anschluß) des Inverters angeschlossene parasitäre Kapazität Cload vom Stromversor­ gungsanschluß TVD zur gleichen Zeit, wie der Kurzschlußstrom IS fließt. Wenn also die Eingabe in den Inverter einen fallenden Übergang macht (beschrieben durch ein Suffix "f" an einem diesen Zustand bezeichnenden Parameter), ist der in den Inverter fließende transiente Strom IGf gegeben durch die Summe des Kurzschlußstromes ISf und des Kondensatorladestroms IC, wie folgt:
IGf = ISf + IC. (1)
Wenn hingegen die Eingabe des Inverters sich wie in Fig. 1D gezeigt von "0" auf "1" ändert, geht die Ausgabe des Inverters "1" auf "0" über (beschrieben durch ein Suffix "r" an einem diesen Zustand bezeichnenden Parameter), wodurch eine Entladung aus der an den Ausgabean­ schluß OUT angeschlossenen parasitären Kapazität Cload ausgelöst wird und somit ein Kondensa­ tor-Entladestrom ID erzeugt wird. In diesem Fall ist jedoch der Strom IGr vom Stromversorgungs­ anschluß TVD zum Inverter nur der Kurzschlußstrom ISr. Infolgedessen ist die Spitze des transien­ ten Stroms IGr etwas kleiner als IGf.
IGr = ISr (2)
Die Transfercharakteristik des CMOS-Inverters liefert einen dreieckspulsartigen Kurzschlußstrom IS mit einer Änderung in der Eingabespannung VIN, wie in Fig. 2A gezeigt. Wenn dabei die Eingabe in den CMOS-Inverter einen steigenden Übergang durchführt, kann der Kurzschlußstrom ISr durch den CMOS-Inverter durch einen in Fig. 2B mit "IS" bezeichneten Dreieckspuls angenä­ hert werden, wenn angenommen wird, daß die Eingabespannung VIN einen rampenartigen Übergang macht, wie in Fig. 2A und 2B gezeigt. Ferner ist der Kurzschlußstrom des CMOS- Inverters, der durch den in Fig. 2B gezeigten ansteigenden Übergang der Eingabespannung VIN verursacht wird, gegeben durch den folgenden Ausdruck:
wobei ISmax der Maximalwert des in den CMOS-Inverter fließenden transienten Stroms (des Kurzschlußstrom) IS ist, VDD die Versorgungsspannung am Stromversorgungsanschluß TVD, VTHN eine Schwellenspannung des n-MOS-Transistors ist, VTHP eine Schwellenspannung des p-MOS- Transistors ist und tr die Anstiegsübergangszeit der Eingabespannung VIN ist. Man beachte, daß die Schwellenspannung VTHP als Absolutwert gezeigt ist. Um den angenäherten Ausdruck zu vereinfachen, ist außerdem dargestellt, daß die Eingabespannung VIN den Übergang zum Zeitpunkt 0 beginnt und die Eingabespannung VIN den Wert VDD zum Übergangs-Endzeitpunkt tr erreicht.
Der Kurzschlußstrom ISf des CMOS-Inverters, der durch den fallenden Übergang der Eingabespan­ nung VIN hervorgerufen wird, kann in ähnlicher Weise wie folgt erhalten werden:
wobei tf die fallende Übergangszeit der Eingabespannung VIN ist. Vorsichtshalber sind die Anstiegs-Anfangszeit des Versorgungsstroms, die Zeit seines Maximalwertes ISmax und seine Abfall-Endzeit in Fig. 2B in Klammern gezeigt.
Ferner ist der Kapazitäts-Ladestrom IC in die parasitäre Kapazität Cload am Ausgabeanschluß (Signalleitung) OUT des CMOS-Inverters durch die folgende Gleichung gegeben, in der vout(t) eine Spannungsänderung in der Ausgabesignalleitung OUT ist.
Diese Gleichungen können für ein Logikgatter genauso wie für den Inverter in ähnlicher Weise erhalten werden.
Wenn ein in das Logikgatter fließender transienter Strom IG fast ein Kurzschlußstrom ist, kann er durch einen Dreieckpuls, wie in Fig. 2B mit IS bezeichnet, angenähert werden. Tatsächlich ist die Wellenform des transienten Stroms IG des CMOS-Inverters eine Dreieckpuls-Wellenform, wie in Fig. 1B abgebildet. Folglich steigt der transiente Strom IG des Logikgatters monoton bis zum Maximalwert ISmax und nimmt dann monoton ab. Ferner erreicht der transiente Strom IG den Maximalwert ISmax zur gleichen Zeit, wie die Eingabespannung VIN eine Schaltspannung VSP des Logikgatters erreicht. Das heißt, wie in Fig. 2B gezeigt, erreicht der transiente Strom IG seinen Spitzenwert gleichzeitig mit einem Eingangsübergang des Logikgatters. Da das Logikgatter eine Verzögerungszeit hat, hinkt der Ausgangsübergang des Logikgatters geringfügig hinter seinem Eingangsübergang hinterher. Mit anderen Worten erreicht der transiente Strom IG seinen Spitzen­ wert kurz vor dem Ausgangsübergang des Logikgatters. Hier kann angenommen werden, daß die fallende Flanke (der fallende Abschnitt) der Wellenform des transienten Stroms IG mit der Zeit des Ausgangsübergangs zusammenfällt. Ferner ist die Pulsbreite der Wellenform des transienten Stroms IG des Logikgatters proportional zur Übergangszeit (z. B. der Anstiegsübergangszeit tr) der Eingabespannung VIN.
Die obige Beschreibung basiert auf der Annahme, daß der in das Logikgatter fließende transiente Strom IG hauptsächlich der Kurzschlußstrom IS ist. Bei der modernen Miniaturfertigung von CMOS-Schaltungen wird die Verdrahtungsverzögerung gegenüber der Gatterverzögerung dominierend. Dies impliziert, daß wenn die Übergangszeit der Eingabespannung als fest ange­ nommen wird, der Anteil des Ladestroms IC in die Ausgabesignalleitung OUT höher ist als der Anteil des Kurzschlußstroms IS in dem transienten Strom IG, der in das CMOS-Logikgatter fließt. Somit hängt die Zeit, zu der die Wellenform des transienten Stroms IG des Logikgatters ihren Spitzenwert erreicht, von dem Verhältnis zwischen dem Kapazitätsladestrom IC und dem Kurzschlußstrom IS ab. Wenn der Kapazitätsladestrom IC kleiner als der Kurzschlußstrom IS ist, fällt der Spitzenwert der Wellenform des transienten Stroms IG mit dem Spitzenwert des Kurzschlußstroms IS zusammen. Da der Spitzenwert des Kurzschlußstroms IS mit der Übergangs­ zeit der Eingabespannung zusammenfällt, liegt der Spitzenwert des transienten Stroms IG vor der Übergangszeit des Logikgatterausgangs. Wenn umgekehrt der Kapazitätsladestrom IC größer als der Kurzschlußstrom IS ist, fällt der Spitzenwert der Wellenform des transienten Stroms IG mit dem Spitzenwert des Strom IC zusammen. Da der Kapazitätsladestrom IC mit dem Spannungs­ übergang an der Ausgabesignalleitung OUT verknüpft ist, fällt der Spitzenwert des transienten Stroms IG virtuell mit der Ausgangsübergangszeit des Logikgatters zusammen.
Fig. 3A zeigt einen CMOS-IC, der durch eine Reihenschaltung von vier Invertern G1, G2, G3 und G4 gebildet ist, bei denen hindurchfließende transiente Ströme IG1, IG2, IG3 und IG4 üblicherweise von einem einzigen Stromversorgungsanschluß TVD zugeführt werden. Wenn die Eingabespan­ nung VIN1 zum Inverter G1 wie in Fig. 3B gezeigt variiert, ist eine transiente Versorgungsstrom­ antwort des dargestellten ICs gegeben als Summe der durch die Logikgatter G1 bis G4 fließenden transienten Ströme IG1 bis IG4 und ist gegeben durch die folgende Gleichung:
wobei N die Zahl von logischen Gattern ist, die durch eine Eingabe-Prüfmusterfolge geschaltet werden; N = 4 im Beispiel von Fig. 3A.
Da die Spitze (oder die nacheilende Flanke) der Transientstrom-Wellenform des Logikgatters der Übergangszeit der Ausgabe aus dem Logikgatter entspricht, fällt die abschließende Spitze (die abschließende nacheilende Flanke) der Transientstrom-Wellenform des CMOS-ICs mit der Übergangszeit der Ausgabe aus dem Logikgatter G4 zusammen, das als letztes in dem CMOS-IC geschaltet wird. Infolgedessen kann die Ausbreitungsverzögerungszeit des CMOS-ICs durch Erfassen der abschließenden Spitze (der abschließenden nacheilenden Flanke) der Transientver­ sorgungsstrom-Wellenform des CMOS-ICs und vergleichen der Zeit der erfaßten abschließenden Spitze und der Zeit eines Eingabeübergangs erfaßt werden. In diesem Fall kann die Zeit der abschließenden nacheilenden Flanke des transienten Versorgungsstroms z. B. als Maximalwert der Zeit berechnet werden, wo der transiente Versorgungsstrom einen vorgegebenen Wert erreicht. Im allgemeinen ist der oben erwähnte Stromwert des transienten Versorgungsstroms der Wert, den der Versorgungsstrom zu der Zeit erreicht, wenn die Ausgabe aus dem letzten Logikgatter auf demjenigen von mehreren Logiksignalwegen in dem Halbleiter-IC, der geprüft wird, einen Wert gleich der Hälfte der Versorgungsspannung erreicht. Dieser vorgegebene Stromwert ist z. B. aus statistischen Daten verfügbar, die durch Durchführung einer Schaltungssimulation der zu prüfenden Schaltung oder durch Verwenden einer realen Vorrichtung erhalten werden.
In der oben beschriebenen Weise kann die Verzögerungszeit jedes Weges in dem Halbleiter-IC berechnet werden, und durch Vergleichen der so erhaltenen Verzögerungszeit mit einer vorgege­ benen Zeit (z. B. der Periode TCLK eines Systemtaktes) kann ein Verzögerungsfehler in dem zu prüfenden Weg erfaßt werden.
Verzögerungsfehler
Zunächst wird eine Definition des Verzögerungsfehlers gegeben. Es wird die Aktivierung eines Signalausbreitungsweges P = {g0, g1, g2, . . ., gm} in einer CMOS-Logikschaltung durch Verwen­ dung einer Prüfmusterfolge T = <v1, v2< (was bedeutet, daß auf ein Spannungssignal v1 ein Spannungssignal v2 folgt) betrachtet, das aus zwei Prüfmustern v1 und v2 aufgebaut ist. Dabei ist g0 eine Eingabesignalleitung des Weges P, und g1, g2, . . ., gm sind Ausgabesignalleitungen von Logikgattern G1, G2 . . ., Gm auf dem Weg P, wobei gleichzeitig g0, g1, . . ., gm-1 auch Eingabe­ signalleitungen der Logikgatter G1, G2, . . ., Gm auf dem Weg P sind.
Wenn die Signalübergangszeiten in den Signalleitungen g0, g1, . . ., gm (die Zeiten, zu denen ein Spannungssignal VDD/2 kreuzt) als τ0, τ1, . . ., τm bezeichnet sind, ist die Gatterverzögerungszeit tgdi (wobei 1 ≦ i ≦ m) eines jeden der Logikgatter G1, G2, . . ., Gm auf dem Weg P gegeben durch
tgdi = τi - τi-1 (7)
Folglich kann die Wegverzögerungszeit tpd des Weges P als Summe der Gatterverzögerungszeiten tgdi durch
berechnet werden. Die tatsächliche Gatterverzögerungszeit tgdi variiert jedoch unter dem Einfluß eines Fehlers
tgdi = tgdi,typ + δi, 1 ≦ i ≦ m (9)
wobei tgdi,typ ein typischer Wert der Verzögerungszeit des Logikgatters Gi und δi eine Schwan­ kungskomponente der Gatterverzögerungszeit ist. Zum Beispiel erhöht ein Offen-Fehler die Verzögerungszeit nur eines fehlerhaften Logikgatters, erhöht aber nicht die Verzögerungszeit eines fehlerfreien oder normalen Logikgatters. Ein Parameter-Anomalitätsfehler hingegen erhöht die Verzögerungszeit jedes Logikgatters. Bei einer Änderung in der Gatterverzögerungszeit erfährt die Wegverzögerungszeit tpd eine entsprechende Änderung, die durch die folgende Gleichung ausgedrückt werden kann:
wobei tpd,typ ein typischer Wert der Verzögerungszeit des Weges P und Δ eine Schwankungskom­ ponente der Wegverzögerungszeit ist.
Fig. 4 zeigt schematisch das Grundprinzip eines Verzögerungsfehler-Prüfverfahrens. Wie in Fig. 4A gezeigt, wird die Prüfmusterfolge < v1, v2 < Muster für Muster mit jedem Systemtakt in ein Eingabelatch eingegeben, aus dem sie auf das Eingabesignal jedes Weges des zu prüfenden Halbleiter-ICs gegeben wird, und die Ausgabe von jeder Ausgabesignalleitung des zu prüfenden ICs wird mit dem Takt CLK gelatcht. Damit der zu prüfende IC normal arbeitet, ist es notwendig, daß ein Signalübergang, der im Eingabelatch stattfindet, sich innerhalb einer vorgegebenen Zeit über den Weg P in dem zu prüfenden IC zum Ausgabelatch ausbreitet. Basierend auf der Beziehung zwischen Eingabe VIN und Ausgabe VOUT des in Fig. 4 gezeigten Weges P und des in Fig. 4C gezeigten Systemtaktes muß die Verzögerungszeit tpd des Weges P die folgende Bedingung erfüllen:
tpd + TSU < TCLK - TSKW (11)
wobei TSU eine Signalbereitstellungszeit ist, TCKL die Periode des Systemtaktes CLK ist und TSKW eine Taktverschiebung des Systemtaktes CKL (der Betrag von ±-Schwankungen der Flanke des Taktes CLK aufgrund von dessen Jitter) ist. Eine Abwandlung von Gleichung (11) ergibt
tpd < TCLK - TSKW - TSU ∼ T' (12)
d. h. die Verzögerungszeit tpd des Weges P muß kürzer als die Zeit (T') sein, die durch Subtrahie­ ren von Sicherheitsabständen wie etwa der Einrichtzeit TSU und der Taktverschiebung TSKW von der Taktperiode TCLK erhalten wird. Wenn tpd größer als T' ist, hinkt die Signalausbreitung auf dem Weg P hinter dem Systemtakt hinterher, mit dem es im Ausgabelatch gelatcht werden soll, so daß die Schaltung nicht normal arbeitet. Dieser Zustand wird als Verzögerungsfehler definiert. D. h. es wird definiert, daß der Weg P einen Verzögerungsfehler hat, wenn die Verzögerungszeit tpd länger als die vorgegebene Zeit T' ist, wobei T' der zulässige obere Grenzwert der Verzöge­ rungszeit ist.
Offen-Fehler (begleitet von Verzögerungsfehler)
Als nächstes wird eine Definition eines Offen-Fehlers gegeben, der zu dem Verzögerungsfehler führt. Der Offen-Fehler ist eine unbeabsichtigte elektrische Diskontinuität, die eine bestimmte Signalleitung in zwei oder mehr verschiedene Signalleitungen auftrennt. Zu Offen-Fehlern gehören Fehler wie eine Metallunterbrechung in einem Kontakt aufgrund eines Oxidfilms, ein Bruch in einem Metalldraht durch einen Musterfehler oder einen Ätzfehler und eine Unterbrechung in einer Diffusionsschicht oder Poly-Si-Schicht aufgrund eines Maskenfehlers. Es gibt zwei Typen solcher Offen-Fehler: einen Offen-Fehler, der einen "Logikfehler" dahingehend verursacht, daß das Eingabesignal VIN an der Ausgabe VOUT einer Signalleitung Wi aufgrund einer Offen-Stelle FC in der Signalleitung Wi, wie in Fig. 5A gezeigt, niemals erscheint, und einen Offen-Fehler, der einen "Verzögerungsfehler" verursacht, dahingehend, daß das Eingabesignal VIN die Unterbrechung oder den Offen-Abschnitt FC z. B. durch einen Tunnelstrom überquert und an der Ausgabe VOUT der Signalleitung Wi nach einer Zeitverzögerung erscheint, wie in Fig. 5B dargestellt. Bei dem Offen- Fehler, der den Logikfehler hervorruft, ist die Offen-Stelle so groß, daß kein Strom fließt, selbst wenn eine Spannung über die Bruchstelle an die unterbrochene Signalleitung Wi angelegt wird. Folglich wird die parasitäre Kapazität nicht in Verbindung mit dem Signalübergang geladen und entladen, was bei dem Logikfehler dazu führt, daß die Logik auf einem bestimmten Wert gehalten bleibt. Im Gegensatz dazu wird bei dem Offen-Fehler, der zu dem Verzögerungsfehler führt, ein sehr kleiner Strom erzeugt, wenn eine Spannung an die Signalleitung Wi über die Bruchstelle angelegt wird; da jedoch der Betrag eines solchen Stromes kleiner als der Stromfluß bei norma­ lem Betrieb ist, sind Ladung und Entladung der dem Signalübergang zugeordneten parasitären Kapazität verzögert, was zu einer Zunahme der Verzögerungszeit der Schaltung führt. Bei Offen- Fehlern dieser Art wird zwischen einem resistiven Offen-Fehler, bei dem der Widerstandswert zwischen Signalleitungen aufgrund eines Kontaktfehlers oder dergleichen größer als sein normaler Wert wird oder der Widerstandswert einer Signalleitung wegen einer Störung in der Signalleitung größer als sein normaler Wert wird, und einem kleinen Offen-Fehler (< 100 nm) unterschieden, bei dem der Tunneleffekt einen sehr kleinen Leckstromfluß über die Bruchstelle hervorruft. Der Tunnelstrom, der durch den kleinen Offen-Fehler fließt, ist z. B. bei C. L. Henderson, J. M. Soden und C. F. Hawkins, "The Behavior and Testing Implications of CMOS IC Logic Gate Open Circuits", Proceedings of IEEE International Test Conference, Seiten 302-310, 1991, beschrie­ ben. Die vorliegende Erfindung ist für Offen-Fehler vorgesehen, die zu dem Verzögerungsfehler führen. In der Beschreibung wird diese Art von Fehler nachfolgend einfach als Offen-Fehler bezeichnet.
Verzögerungsfehler-Erfassungsverfahren (unter Verwendung der Pulsbreite des transienten Versorgungsstroms)
Als nächstes wird ein Verfahren zum Erfassen des Verzögerungsfehlers durch Ausnutzung der Pulsbreite des oben erwähnten transienten Versorgungsstroms beschrieben. Bei diesem Verfahren wird die Pulsbreite des Versorgungsstroms der zu prüfenden Schaltung gemessen und mit einer vorgegebenen Zeit verglichen. Fig. 6 zeigt das Grundprinzip dieses Verfahrens.
Es wird angenommen, daß in einer CMOS-Logikschaltung mehrere Wege P1, P2, . . ., Pn durch eine Prüfmusterfolge T = <v1, v2< aktiviert werden, die zwei Prüfmuster v1 und v2 umfaßt. Es sei τij die Schaltzeit des j-ten Logikgatters ab dem Eingang des Weges Pi, wobei die Zahl von Logikgattern für die Wege P1, . . ., Pn unterschiedlich ist, und die Ausgabeübergangszeit τmax des Logikgatters Gfinal, das als letztes unter den Logikgattern auf den Wegen P1, . . ., Pn geschaltet wird, ist gegeben durch
Folglich kann der Maximalwert tpd,max der Wegverzögerungszeit auf den Wegen P1, . . ., Pn berechnet werden als das Zeitintervall zwischen der Zeit τmax und der Eingabeübergangszeit τ0:
tpd,max = τmax - τ0 (14)
Andererseits ist die Pulsbreite tPW der Transientversorgungsstrom-Wellenform der CMOS- Logikschaltung definiert als das Zeitintervall zwischen der Eingabeübergangszeit τ0 und der Zeit τIDD der letzten Spitze (nacheilende Flanke) der Transientversorgungsstrom-Wellenform:
tPW ∼ τIDD - τ0 (15)
Wie zuvor beschrieben, liegt die Zeit τIDD der letzten Spitze der Transientversorgungsstrom- Wellenform vor der Ausgabeübergangszeit τmax des Logikgatters Gfinal, das als letztes schaltet, und die nacheilende Flanke der Transientversorgungsstrom-Wellenform fällt zusammen mit der Ausgabeübergangszeit τmax des Logikgatters Gfinal. Folglich entspricht die Pulsbreite τPW des transienten Versorgungsstroms der Verzögerungszeit τpd,max des Weges P, der durch das Prüfmu­ ster T aktiviert wird:
tPW = τIDD - τ0 ≦ τmax - τ0 = tpd,max (16)
Wenn die Pulsbreite tPW größer als der zulässige obere Grenzwert T' der Verzögerungszeit ist, gilt
T' < tPW ≦ tpd,max (17)
Auf dem Weg mit der größten Verzögerungszeit tpd,max hinkt die Signalausbreitung hinter dem Systemtakt her. Das heißt, die Schaltung hat einen Verzögerungsfehler. Wenn tPW größer als T' ist, zeigt dies also das Vorhandensein des Verzögerungsfehlers auf irgendeinem der aktivierten Wege an, wohingegen ein tPW, das kleiner als T ist, das Nicht-Vorhandensein des Verzögerungs­ fehlers auf den aktivierten Wegen anzeigt.
Verzögerungsfehler nicht vorhanden: tPW ≦ T'
Verzögerungsfehler vorhanden: tPW < T' (18)
Diese Beziehung ist in Fig. 6 dargestellt. Fig. 6A zeigt die Eingabe- und Ausgabespannungen VIN und VOUT eines Weges in den Fällen, daß der Weg fehlerhaft bzw. fehlerfrei ist. In entspre­ chender Weise zeigt Fig. 6B den transienten Versorgungsstrom in den Fällen, wo der Weg fehlerhaft bzw. fehlerfrei ist.
Wie oben beschrieben kann die Schaltung auf Fehler geprüft werden, indem die Pulsbreite tPW des transienten Versorgungsstroms mit der vorgegebenen Zeit T' verglichen wird.
Da außerdem der transiente Versorgungsstrom des Logikgatters nach Erreichen des Spitzenwer­ tes monoton abnimmt, wie in Fig. 2 gezeigt, nimmt der Versorgungsstrom des in Fig. 3 gezeigten CMOS-ICs nach der Ausgabeübergangszeit des zuletzt schaltenden Logikgatters monoton ab. Bei einem fehlerfreien CMOS-IC wird also, wenn die Ausgabeübergangszeit des zuletzt schaltenden Logikgatters mit tmax und der Momentanwert des transienten Versorgungs­ stroms zur Zeit τmax mit I' bezeichnet ist, der transiente Versorgungsstrom des CMOS-ICs nach der Zeit τmax nicht größer als der Wert I'.
Durch Messen des Momentanwertes des transienten Versorgungsstroms des CMOS-ICs zu einer vorgegebenen Zeit durch Verwendung des obigen Prinzips ist es möglich, den Verzögerungsfehler in der zu prüfenden Schaltung zu erfassen. Der Stromwert I', der als Kriterium für die Beurteilung der Fehlererfassung verwendet wird, ist der Wert des Versorgungsstroms zu dem Zeitpunkt, wenn die Ausgabe aus dem letzten Logikgatter auf dem zu prüfenden Weg einen Wert gleich der Hälfte der Versorgungsspannung erreicht. Der Stromwert I' kann mit einer Schaltungssimulation für die zu prüfende Schaltung oder aus statistischen Daten einer realen Vorrichtung erhalten werden.
Verzögerungsfehler-Erfassungsverfahren (unter Verwendung eines Momentanwertes des transienten Versorgungsstroms)
Als nächstes wird ein Verfahren zum Erfassen eines Verzögerungsfehlers durch Verwendung eines Momentanwertes des transienten Versorgungsstroms beschrieben. Bei diesem Verfahren wird ein Momentanwert des transienten Versorgungsstroms der zu prüfenden Schaltung zu einer vorgegebenen Zeit gemessen und der gemessene Wert mit dem transienten Versorgungsstrom einer von dem Verzögerungsfehler freien "goldenen" Schaltung verglichen. Das Grundprinzip dieses Verfahrens ist in Fig. 7 gezeigt. Fig. 7A zeigt Eingabe- und Ausgabespannungen VIN und VOUT eines Weges, und Fig. 7B zeigt den transienten Versorgungsstrom.
Wie zuvor beschrieben, ist in dem CMOS-IC der Maximalwert tpd,max der Verzögerungszeit auf den Wegen P1, P2, . . ., Pn durch Gleichung (14) gegeben. Da die Ausgabeübergangszeit des Logikgat­ ters mit der Zeit der Spitze oder der nacheilenden Flanke des transienten Versorgungsstroms des Logikgatters zusammenfällt, entspricht, wie oben angegeben, die maximale Zeit τmax der Zeit τIDD der letzten Spitze oder nacheilenden Flanke der Transientversorgungsstrom-Wellenform IDDT der Schaltung. Da der Versorgungsstrom IG des Logikgatters durch eine Dreieckwelle approximiert werden kann und Gfinal das letzte zu schaltende Gatter ist, gibt es keine Logikschaltung, die die Spitze ihres Versorgungsstroms nach τmax hat. Folglich ist zu einer Zeit t, wobei t ≧ τmax, eine Versorgungsstrom-Wellenformfunktion iDDT(t) eine monoton abnehmende Funktion. Das heißt, wenn die Zeitfunktion der Versorgungsstrom-Wellenform durch iDDT(t) dargestellt ist und der Momentanwert des Versorgungsstroms zur Zeit τmax durch
I' ∼ iDDTmax) (19)
dargestellt ist, gilt die folgende Gleichung zur Zeit t, wobei t ≧ τmax:
IDDT(t) ≦ iDDTmax) = I', t ≧ τmax (20)
Für Normalbetrieb der Schaltung muß die maximale Wegverzögerungszeit tpd,max kleiner als der obere Grenzwert T' (= TCLK - TSKW - TSU) der Verzögerungszeit sein:
Tpd,max = τmax - τ0 < T' (21)
Wenn die Schaltung fehlerfrei ist, gilt nach Gleichung (20) folglich zur Zeit t, wobei t = T' + τ0 < τmax:
iDDT(T' + τ0) ≦ I' (22)
Wenn der Momentanwert der Transientversorgungsstrom-Wellenform iDDT zur Zeit T' + τ0 größer als der Wert I' ist, d. h. wenn
iDDT(T' + τ0) < I' = iDDTmax) (23)
ist, so folgt, daß
weil T' + τ0 nicht größer als τmax sein kann. Auf dem Weg mit der längsten Verzögerungszeit τpd,max hinkt die Signalausbreitung hinter dem Systemtakt her. Das heißt, der Verzögerungsfehler ist in der Schaltung vorhanden. Dass der Versorgungsstromwert iDDT (T' + τ0) zur Zeit T' + τ0 größer als I' ist, zeigt folglich das Vorhandensein des Verzögerungsfehlers auf einem der aktivierten Wege an. Umgekehrt zeigt ein Versorgungsstromwert iDDT (T' + τ0) der kleiner als I' ist, das Nichtvorhandensein des Verzögerungsfehlers auf jedem der aktivierten Wege an.
Verzögerungsfehler vorhanden: iDDT (T' + τ0) ≦ I'
Verzögerungsfehler nicht vorhanden: iDDT (T' + τ0) < I' (26)
Diese Beziehung ist in Fig. 7 gezeigt.
Wie oben beschrieben, kann der Verzögerungsfehler in der Schaltung durch Vergleichen des Momentanwertes des Versorgungsstromwertes IDDT zu einer vorgegebenen Zeit mit dem IDDT- Pegel einer fehlerfreien Schaltung erfaßt werden.
Integralwert des transienten Versorgungsstroms
Ferner sind nach Gleichungen (3) und (4) zeitliche Integrale QSr und QSf der Kurzschlußströme ISr und ISf gegeben durch
Dementsprechend ist das Integral QS des durch das Logikgatter zur Zeit des Schaltens fließenden Kurzschlußstroms gegeben durch
wobei tr die Eingabesignal-Übergangszeit ist. Das heißt, das Integral QS des Kurzschlußstroms IS (ISr oder ISf) ist proportional zur Eingabeübergangszeit tr des Logikgatters. Außerdem ist zu sehen, daß das Integral QS unabhängig davon ist, ob die Richtung des Eingabesignal-Überganges ein steigender oder ein fallender Übergang ist.
Nach Gleichung (5) ist das Integral QC des Ladestroms IC in die Ausgabe-Lastkapazität Cload des CMOS-Inverters gegeben durch
Das Integral QC ist nicht abhängig von der Eingabe-Übergangszeit tr des CMOS-Inverters.
Dementsprechend werden die Integrale QGf und QGr der durch das Logikgatter fließenden transienten Ströme IGf und IGr aus Gleichungen (1), (2), (29) und (30) wie folgt berechnet:
Das heißt, das Integral des transienten Stroms des Logikgatters ist proportional zu dessen Eingabe-Übergangszeit. Fig. 8 ist ein Graph, der die Ergebnisse einer Schaltungssimulation über Schwankungen im Integral des transienten Stroms des Inverters zeigt, wenn die Eingabe- Übergangszeit des Inverters verändert wird. Der Graph von Fig. 8 zeigt auch, daß die Diskussion der Gleichungen (31) und (32) korrekt ist.
Der in Fig. 3 dargestellte CMOS-IC ist eine Kombination von vier Invertern (G1, G2, G3, G4), die in Reihe geschaltet sind, und die durch die Inverter fließenden Ströme (IG1, IG2, IG3, IG4) werden üblicherweise von einer einzigen Stromversorgung geliefert. Dementsprechend ist die Transient­ versorgungsstrom-Antwort IDDT des ICs gegeben durch die Summe der durch die jeweiligen Logikgatter fließenden Ströme, wie in Fig. 3C abgebildet (Gleichung (6)). Folglich ist das Integral QDDT des transienten Versorgungsstroms IDDT auch durch Gleichung (33) als Summe von Integra­ len QGn (mit 1 ≦ n ≦ N) der Stromflüsse durch die jeweiligen Logikgatter gegeben. N ist die Zahl der Logikgatter, die durch die Eingabe-Prüfmusterfolge geschaltet werden, und im Falle von Fig. 3A ist N = 4.
Bei dem Beispiel der Fig. 3 ist das Integral QDDT des transienten Versorgungsstroms IDDT gegeben als Summe von Integralen (QG1, QG2, QG3, QG4) der Stromflüsse durch die jeweiligen Inverter.
Da die Integrale QGn (mit 1 ≦ n ≦ N) der Stromflüsse durch die jeweiligen Logikgatter proportional zu den Eingabe-Übergangszeiten trn (mit 1 ≦ n ≦ N) der jeweiligen Logikgatter sind, ist das Integral QDDT gegeben als lineares Polynom von trn (mit 1 ≦ n ≦ N). Zum Beispiel ist im Beispiel der Fig. 3 das Integral QDDT gegeben durch ein lineares Polynom der Eingabe-Übergangszeiten (tr1, tr2, tr3, tr4) der jeweiligen Inverter; im allgemeinen ist es gegeben durch die folgende Gleichung:
wobei an ein Proportionalkoeffizient zwischen dem Integral QSn des Kurzschlußstroms des Logikgatters Gn und dessen Eingabe-Übergangszeit trn ist und b ein konstanter Term ist, der ausgedrückt wird als die Summe von in die jeweiligen Logikgatter fließenden Ladeströmen QCn.
Offen-Fehler
Die Verwendung des Integrals des transienten Versorgungsstroms ermöglicht die Erfassung des Offen-Fehlers in dem zu prüfenden Weg und des aus dem Offen-Fehler resultierenden Verzöge­ rungsfehlers.
Der Offen-Fehler läßt nur einen kleinen Strom durch den Unterbrechungspunkt fließen und kann daher mit einem großen Widerstand Ropen modelliert werden. Fig. 9A zeigt ein Beispiel eines CMOS-Inverters mit einem Offen-Fehler an seinem Eingang. Das heißt, er kann dargestellt werden mit einem Widerstandselement mit hohem Widerstand Ropen, das zur Eingabesignalleitung A in Reihe geschaltet ist. Wenn ein Signalübergang stattfindet, wie in Fig. 9B dargestellt, wird ein Signalübergang in der hinter dem Unterbrechungspunkt liegenden Signalleitung A durch den Offen-Fehler verzögert, wie in Fig. 9C gezeigt. Wenn der Widerstand des Offen-Fehlers gegeben ist durch Ropen und die parasitäre Kapazität im Eingang des Inverters durch Cin, so ist die Signal­ übergangszeit tr in der Signalleitung A' gegeben durch
tr ≈ tT,typ + 2,2RopenCin (35)
wobei tT,typ ein typischer Wert der Übergangszeit des Eingabesignals ist, wenn kein Fehler vorliegt. Die Übergangszeit tT wurde berechnet als die Zeit, die der Spannungswert braucht, um von 0,1 VDD auf 0,9 VDD zu steigen oder von 0,9 VDD auf 0,1 VDD zu fallen. 2,2 RopenCin ist die Zeit, die die parasitäre Kapazität Cin benötigt, um von 0,1 VDD auf 0,9 VDD zu steigen; dieser Wert wurde berechnet als In(0,9 VDD/0,1 VDD) × RopenCin. Das heißt, die Zunahme der Eingabesignal- Übergangszeit des Inverters ist proportional zum Widerstandswert Ropen des Offen-Fehlers. Wenn also ein Offen-Fehler im Eingang eines k-ten Invertes auf dem zu prüfenden Weg vorliegt, ist das Integral QDDT des Versorgungsstroms durch die folgende Gleichung (36) aus den Gleichungen (34) und (35) gegeben und variiert linear mit dem Widerstandswert Ropen des Offen-Fehlers, und die Zunahme ist proportional zum Widerstandswert Ropen:
wobei QDDT,typ ein typischer Wert des Integrals des Versorgungsstroms im fehlerfreien Fall ist. 2,2akCinRopen im zweiten Term auf der rechten Seite von Gleichung (36) ist die auf den Offen- Fehler im Eingang des k-ten Inverters zurückgehende Zunahme. Gleichung (36) stimmt auch mit den Ergebnissen der in Fig. 10 gezeigten Simulation von Änderungen im Integral QDDT mit dem Widerstandswert Ropen überein. In Fig. 10 sind Änderungen des Integral QDDT mit dem Wider­ standswert Ropen des Offen-Fehlers aufgetragen, wenn der Offen-Fehler in der Eingangssignallei­ tung IN2 des Inverters G2 in der in Fig. 3 gezeigten Schaltung vorhanden ist.
Demzufolge ist es möglich, einen Offen-Fehler in der Eingangsstufe eines Logikgatters auf dem zu prüfenden Weg durch Messen des Integrals QDDT des transienten Versorgungsstroms und Vergleichen mit dem Integral QDDT,typ des transienten Versorgungsstroms einer fehlerfreien Schaltung zu erfassen. Im tatsächlichen CMOS-Herstellungsprozeß verursachen Änderungen von Prozeßparametern Änderungen im Integral des transienten Versorgungsstroms innerhalb des Bereichs QDDT,typ ± ΔQ, wie in Fig. 11 dargestellt, wobei ΔQ eine Schwankung des Integrals des transienten Versorgungsstroms ist. Wenn also das Integral QDDT größer als der obere Grenzwert QDDT,typ + ΔQ des Integrals des transienten Versorgungsstroms in einer fehlerfreien Schaltung ist, kann entschieden werden, daß auf dem zu prüfenden Weg ein Offen-Fehler vorliegt. Das heißt, ein Integral QDDT, das kleiner als der obere Grenzwert QDDT,typ + ΔQ ist, zeigt das Nichtvorhanden­ sein eines Offen-Fehlers in dem CMOS-IC an, wohingegen QDDT oberhalb von QDDT,typ + ΔQ das Vorhandensein eines Offen-Fehlers in dem CMOS-IC anzeigt.
Offen-Fehler nicht vorhanden: QDDT ≦ QDDT,typ + ΔQ
Offen-Fehler vorhanden: QDDT < QDDT,typ + ΔQ (37)
QDDT,typ und ΔQ können z. B. durch eine Simulation über Prozeßveränderungen abgeleitet werden.
Verfahren zum Erfassen eines Verzögerungsfehlers durch einen Fehler in der Eingangsstufe (unter Verwendung des Integrals des transienten Versorgungsstroms)
Als nächstes wird eine Beschreibung eines Verfahrens zum Erfassen des Verzögerungsfehlers durch Verwendung des Zeitintegrals des transienten Versorgungsstroms, wie oben beschrieben, gegeben. Dieses Verfahren dient zur Abschätzung des Verzögerungsfehlers durch Messen des Integrals des transienten Versorgungsstroms des zu prüfenden Schaltung und Vergleichen mit einem vorgegebenen Wert.
Die Verzögerungszeit tgd eines Logikgatters ist proportional zur Eingabesignal-Übergangszeit tT und ist durch folgende Gleichung gegeben (Neil H. E. Weele, "Principles of CMOS VLSI Design - A Systems Perspective", Erste Auflage, Seiten 216-217, Gleichung 4.52 und 4.53, Addison- Wesley Publishing Company, 1999):
wobei tgd,step die Verzögerungszeit eines fehlerfreien Inverters für eine Stufeneingabe ohne Übergangszeit ist. Des weiteren ist VTH ein Schwellwert eines p-MOS oder n-MOS, der durch VTH = VTHN für einen ansteigenden Übergang der Eingabe und durch VTH = VTHP für einen abfallenden Übergang der Eingabe gegeben ist. Da die Eingabeübergangszeit des Logikgatters durch Glei­ chung (35) gegeben ist, kann die Verzögerungszeit tgd eines Logikgatters mit einem Offen-Fehler in der Eingabesignalleitung, der durch den Widerstand Ropen modelliert werden kann, berechnet werden durch Substituieren von Gleichung (35) in Gleichung (38):
Dabei ist tgd,typ ein typischer Wert der Verzögerungszeit eines fehlerfreien Logikgatters. D. h., die Verzögerungszeit eines Logikgatters mit Offen-Fehler variiert mit dem Widerstandswert Ropen des Fehlers, und die Zunahme δ der Gatterverzögerungszeit ist proportional zu dem Widerstandswert Ropen. Wenn also ein Offen-Fehler im Eingang eines der Logikgatter auf dem zu prüfenden Weg vorhanden ist, ist auch die Verzögerungszeit tpd des zu prüfenden Weges proportional zu dem Widerstandswert Ropen. Dies kann daran verstanden werden, daß die Substitution von Gleichung (39) in Gleichung (10) die folgende Gleichung (40) ergibt:
Dies stimmt auch mit den Ergebnissen einer Simulation für Änderungen der Wegverzögerungszeit tpd mit Bezug auf den Widerstandswert Ropen überein, wie in Fig. 12 gezeigt. In Fig. 12 sind Änderungen der Wegverzögerungszeit tpd mit Bezug auf den Widerstandswert Ropen des Offen- Fehlers in der Eingabesignalleitung des Inverters G2 der in Fig. 3A abgebildeten Schaltung aufgetragen.
Das Integral QSk des Kurzschlußstroms eines Logikgatters Gk auf dem Weg P bei Vorhandensein eines Offen-Fehlers in dem Eingang des Gatters Gk kann aus Gleichungen (29) und (35) wie folgt berechnet werden:
Deshalb berechnet sich das Integral QDDT des transienten Versorgungsstroms des ICs aus Gleichung (34) wie folgt:
und das Integral QDDT des transienten Versorgungsstroms der Schaltung ist auch proportional zum Widerstandswert Ropen des Offen-Fehlers.
Wie sich also aus Gleichungen (40) und (41) ergibt, variiert die Verzögerungszeit tpd des Weges P mit dem Offen-Fehler linear mit dem Integral QDDT des transienten Versorgungsstroms des CMOS- ICs. Dies stimmt auch mit den Ergebnissen der Simulation zu Änderungen in der Verzögerungszeit tpd mit Bezug auf den Integralwert QDDT, wie in Fig. 13 gezeigt, überein. In Fig. 13 sind Änderungen der Verzögerungszeit tpd mit Bezug auf den Integralwert QDDT des transienten Versorgungsstroms aufgetragen, wenn ein Offen-Fehler in der Eingabesignalleitung des Inverters G2 in der Schaltung der Fig. 3A vorhanden ist.
Die Substitution des aus Gleichung (41) erhaltenen Ropen in Gleichung (40) ergibt
Wenn Qmax das Integral des transienten Versorgungsstroms zu der Zeit darstellt, wenn die Wegverzögerungszeit tpd den zulässigen oberen Grenzwert T' der Verzögerungszeit erreicht, wird durch Berechnen von Qmax mit tpd = T' und QDDT = Qmax in Gleichung (42) die folgende Gleichung (43) erhalten:
Der Wert Qmax ist der obere Grenzwert des Integrals QDDT des transienten Versorgungsstroms eines CMOS-ICs ohne Verzögerungsfehler. Das heißt, wenn QDDT kleiner als der obere Grenzwert Qmax ist, zeigt dies das Nichtvorhandensein eines Verzögerungsfehlers in dem CMOS-IC an, und wenn der Wert QDDT größer als der Wert Qmax ist, zeigt dies das Vorhandensein eines Verzöge­ rungsfehlers an.
Verzögerungsfehler nicht vorhanden: QDDT ≦ Qmax
Verzögerungsfehler vorhanden: QDDT < Qmax (44)
Wie oben beschrieben, kann die Schaltung auf den Verzögerungsfehler durch Vergleichen des Integrals QDDT des transienten Versorgungsstroms mit dem vorgegebenen Wert Qmax geprüft werden. Der vorgegebene Wert Qmax kann durch eine Schaltungssimulation oder aus statistischen Daten durch Gleichung (43) erhalten werden.
Der transiente Versorgungsstrom ist ein transienter Strom, der durch den Stromversorgungsan­ schluß des ICs fließt, und seine höhere Beobachtbarkeit als die eines Spannungssignals ist gewährleistet. Das Verzögerungsfehler-Erfassungsschema unter Verwendung des transienten Versorgungsstroms gewährleistet eine höhere Beobachtbarkeit des Verzögerungsfehlers als ein Verzögerungsfehler-Erfassungsschema, das das Spannungssignal verwendet. Zum Beispiel kann das ein Spannungssignal verwendende Verzögerungsfehler-Erfassungsschema einen Verzöge­ rungsfehler nur dann erfassen, wenn das Spannungssignal sich zur Ausgabesignalleitung eines ICs ausbreitet. Im Gegensatz dazu kann das Verzögerungsfehler-Erfassungsschema unter Verwendung des transienten Versorgungsstromsignals den Verzögerungsfehler erfassen, weil es möglich ist, ein transientes Versorgungsstromsignal mit einer Pulsbreite zu messen, die der Verzögerungszeit des Weges entspricht, über den sich das Spannungssignal ausgebreitet hat, selbst wenn das Spannungssignal sich nicht bis zur Ausgabesignalleitung des ICs ausbreitet. Daher erfordert das Verzögerungsfehler-Erfassungsschema, das den transienten Versorgungs­ strom verwendet, nicht die Ausbreitung des Spannungssignals zur Ausgabesignalleitung des ICs und ist daher in der Prüfmustererzeugung weniger beschränkt als das herkömmliche Fehlererfas­ sungsschema, das das Spannungssignal verwendet. Folglich können Prüfmuster leichter erzeugt werden. Im Extremfall, z. B. sogar wenn Prüfmusterfolgen zufällig erzeugt und in die zu prüfende Schaltung eingegeben werden, ermöglicht das Verzögerungsfehler-Erfassungsschema, das den transienten Versorgungsstrom verwendet, die Erfassung eines Verzögerungsfehlers in dem durch die eingegebenen Prüfmusterfolgen aktivierten Weg.
Fehlerlisten-Erzeugungsverfahren (Fehlersimulation)
Als nächstes wird eine Beschreibung des Fehlerlisten-Erzeugungsverfahrens oder des Fehlersimu­ lationsverfahrens gemäß der vorliegenden Erfindung gegeben. Fig. 14 zeigt ein Beispiel eines zu prüfenden CMOS-ICs. Der dargestellte zu prüfende IC hat drei Eingabeanschlüsse I1, I2 und I3, zwei Ausgabeanschlüsse O1 und O2, drei interne Signalknoten N1, N2 und N3 und fünf Logikgatter G1, G2, G3, G4 und G5. Der Eingabeanschluß I1 ist an den Eingang des Inverter- Logikgatters G1 angeschlossen, dessen Ausgang über den Knoten N1 an den einen Eingang des NAND-Logikgatters G3 angeschlossen ist. Die Eingabeanschlüsse I2 und I3 sind an die Eingangs­ seite des NAND-Logikgatters G2 angeschlossen, dessen Ausgang über den Knoten N2 an den anderen Eingang des Logikgatters G3 angeschlossen ist, dessen Ausgang über den Knoten N3 an den Eingang des Inverter-Logikgatters G4 und den einen Eingang des NOR-Logikgatters G5 angeschlossen ist. Der Eingabeanschluß I3 ist an den anderen Eingang des Logikgatters G5 angeschlossen, und die Ausgänge der Logikgatter G4 und G5 sind an die Ausgabeanschlüsse O2 und O3 angeschlossen. Obwohl nicht dargestellt, sind die Logikgatter G1 bis G5 an einen gemeinsamen Stromversorgungsanschluß angeschlossen.
In Fig. 15 sind die Ergebnisse einer an dem oben erwähnten zu prüfenden CMOS-IC durchge­ führten Fehlersimulation gezeigt. In Fig. 15 zeigt die erste Spalte Identifikatoren oder Bezeichner von Prüfmusterfolgen; die zweite Spalte zeigt Eingabesignale (Prüfmusterfolgen), die auf die Eingabeanschlüsse I1, I2 und I3 des CMOS-ICs angewendet werden; die dritte Spalte zeigt Signale, die an den internen Signal-Knoten N1, N2 und N3 eines fehlerfreien zu prüfenden CMOS- IC bei Anwendung der jeweiligen Prüfmusterfolgen darauf auftreten, und die vierte Spalte zeigt Signale, die an den Ausgabeanschlüssen O1 und O2 des fehlerfreien CMOS-ICs bei Anwendung der jeweiligen Prüfmusterfolgen darauf auftreten. Die Signale "0", "1", "R" und "F" in der zweiten, dritten und vierten Spalte zeigen: ein normalerweise niedriges Signal <"0", "0"< (das erste Element in den Winkelklammern bezeichnet einen Anfangssignalwert und das zweite Element einen Endsignalwert); ein normalerweise hohes Signal (<"1", "1"<); ein von niedrigem auf hohen Pegel ansteigendes Signal (<"0", "1"<) und ein von hohem auf niedrigen Pegel fallendes Signal (<"1", "0"<). Jedes Prüfmuster ist aus zwei Prüfmustern aufgebaut; zum Beispiel bedeutet ein Prüfmuster T1 = "00R": I1, I2, I3 = <"000", "001"<. Das heißt, es bedeutet das Eingeben von "0", "0", "0" und dann "0", "0", "1" in die Eingabeanschlüsse I1, I2 bzw. I3. Die fünfte Spalte zeigt Sätze von fehlerhaften Logikgattern (Fehlerpunktliste), die durch die Prüfung unter Verwendung des transienten Versorgungsstroms bei Eingabe der jeweiligen Prüfmusterfolgen erfaßbar sind.
Wenn das Logikgatter einen Verzögerungsfehler oder einen Offen-Fehler hat, wird seine Schalt­ operation langsam, und dementsprechend ändert sich seine Transientversorgungsstrom-Wellen­ form, was zu einer Anomalität in dem transienten Versorgungsstrom des zu prüfenden ICs führt. Durch Messen, ob die Anwendung einer bestimmten Prüfmusterfolge eine Anomalität in dem transienten Versorgungsstrom verursacht, kann also entschieden werden, ob die Logikgatter, die die Schaltoperation bei Eingabe der oben erwähnten Eingabeprüfmusterfolgen durchführen, fehlerhaft sind oder nicht. Zum Beispiel führen bei Eingabe der Prüfmusterfolge T2 in den in Fig. 14 gezeigten CMOS-IC die Logikgatter G2, G3, G4 und G5 in dem IC ein Schalten durch und erzeugen Übergangssignale an den internen Signalknoten (Signalleitungen) N2, N3 und den Ausgabeanschlüssen O1, O2, wie in Fig. 14 gezeigt. Wenn folglich an einem der Logikgatter G2 bis G5 ein Fehler vorhanden ist, wird in dem transienten Versorgungsstrom während der Transientversorgungsstromprüfung unter Verwendung der Prüfmusterfolge T2 eine Anomalität beobachtet. Fehler der Logikgatter G2 bis G5 können also mit der Transientversorgungsstromprü­ fung unter Verwendung der Prüfmusterfolge T2 festgestellt werden. Eine Fehlerpunktliste für die Prüfmusterfolge T2 kann also durch die obige Fehlersimulation zu GT2 = {G2, G3, G4, G5} berechnet werden.
Auf die oben beschriebene Weise ist es möglich, eine Liste von Fehlern, die mit einer bestimmten Prüfmusterfolge erfaßbar sind, für jedes Logikgatter anzulegen. Außerdem ist das Fehlerlisten- Erzeugungsverfahren nach der vorliegenden Erfindung nicht speziell auf die Erzeugung der Fehlerliste für jedes Logikgatter beschränkt, sondern unter Annahme des Vorhandenseins von Fehlern in den Signalleitungen des ICs kann die Fehlerliste für jede Signalleitung erstellt werden.
Fig. 16 zeigt einen zu prüfenden CMOS-IC, der drei Eingabeanschlüsse I1, I2 und I3, zwei Ausgabeanschlüsse O1 und O2, fünf Logikgatter G1, G2, G3, G4 und G5 und zwölf Signalleitun­ gen L1, L2, . . ., L12 hat. Die Signalleitungen sollen Eingabe- und Ausgabesignalleitungen umfassen, und die verzweigten Signalleitungen werden als unterschiedliche Signalleitungen betrachtet. Nehmen wir an, daß die Eingabesignalleitungen L11 und L12 am Ausgabepfuffer G6 bzw. G7 angeschlossen sind. Der Eingabeanschluß I1 ist über die Signalleitung L1 an den Eingang des Inverter-Logikgatters G1 angeschlossen. Die Eingabeanschlüsse I2 und I3 sind an den Eingang des NAND-Logikgatters G2 über die Signalleitungen L2, L3 bzw. L4 angeschlossen. Die Ausgänge der Logikgatter G1 und G2 sind an den Eingang des NAND-Logikgatters G3 über die Signalleitungen L6 bzw. L7 angeschlossen. Der Ausgang des Logikgatters G3 ist an den Eingang des Inverter-Logikgatters G4 und über die Signalleitungen L8 und L9 und an den einen Eingang des NOR-Logikgatters G5 über die Signalleitungen L8 und L10 angeschlossen. Der Eingabeanschluß I3 ist an den anderen Eingang des Logikgatters G5 über die Signalleitungen L3 und L5 angeschlossen. Der Ausgang des Logikgatters G4 ist an den Ausgabeanschluß O1 über die Signalleitung L11 und den Puffer G6 angeschlossen. Der Ausgang des Logikgatters G5 ist an den Ausgabeanschluß O2 über die Signalleitung L12 und den Puffer G7 angeschlossen. Obwohl nicht gezeigt, sind die Versorgungsanschlüsse der Logikgatter G1 bis G5 und der Ausgangspuffer G6 und G7 an eine gemeinsame Stromversorgung angeschlossen.
In Fig. 17 sind die Ergebnisse einer an dem oben erwähnten zu prüfenden CMOS-IC durchge­ führten Fehlersimulation gezeigt. In Fig. 17 zeigt die erste Spalte Identifikatoren von Prüfmuster­ folgen; die zweite Spalte zeigt Eingabesignale, die auf die Eingabeanschlüsse I1, I2 und I3 des CMOS-ICs angewendet werden; die dritte Spalte zeigt Signale, die in den Signalleitungen L1 bis L12 eines fehlerfreien zu prüfenden CMOS-ICs bei Anwendung der jeweiligen Prüfmusterfolgen darauf auftreten; und die vierte Spalte zeigt Signale, die an den Ausgabeanschlüssen O1 und O2 des fehlerfreien CMOS-ICs bei Anwendung der jeweiligen Prüfmusterfolgen darauf auftreten. Die Signale "0", "1", "R" und "F" in der zweiten, dritten und vierten Spalte sind identisch mit den zuvor mit Bezug auf Fig. 15 beschriebenen. Die fünfte Spalte zeigt Sätze von fehlerhaften Logiksignalleitungen, d. h. eine Liste von fehlerhaften Punkten, die durch die Prüfung unter Verwendung des transienten Versorgungsstroms bei Anwendung der jeweiligen Prüfmusterfolgen erfaßbar sind. Wenn eine Signalleitung in dem IC einen Offen-Fehler hat, wird die Schaltoperation des Logik-Gatters, dessen Eingang an die fehlerhafte Signalleitung angeschlossen ist, langsam, und die Tansientversorgungsstrom-Wellenform des Logikgatters ändert sich entsprechend, so daß sich eine Anomalität in dem transienten Versorgungsstrom des zu prüfenden ICs entwickelt. Durch Messen oder Beobachten, ob die Anwendung einer bestimmten Prüfmusterfolge eine Anomalität in dem transienten Versorgungsstrom verursacht, kann entschieden werden, ob die Logikgatter, deren Eingänge an Signalleitungen angeschlossen sind, in denen sich die Logik­ signalwerte ändern, fehlerhaft sind oder nicht, wenn sie bei Anwendung der oben erwähnten Eingabe-Prüfmusterfolgen auf die Signalleitungen die Schaltoperation durchführen.
Nehmen wir z. B. an, daß die Prüfmusterfolge T6 in den in Fig. 16 gezeigten CMOS-IC eingege­ ben wird. Wenn kein Fehler vorhanden ist, sind die Signale in den jeweiligen Signalleitungen so wie mit 0 und 1 angegeben, und die Logiksignalwerte ändern sich entsprechend in den Signallei­ tungen L2, L7, L8, L9, L10 und L11 im CMOS-IC, und ferner findet in den Logikgattern G2, G3 und G4 und im Ausgabepuffer G6 ein Schalten statt. Der Logiksignalwert ändert sich auf der Signalleitung L10, doch im Logikgatter G5, das einen mit der Signalleitung L10 verbundenen Eingang hat, findet kein Schalten statt. Wenn also in einer der Signalleitungen L2, L7, L8, L9 und L11 ein Fehler vorhanden ist, wird eine Anomalität im transienten Versorgungsstrom während der Transientversorgungsstrom-Prüfung unter Verwendung der Prüfmusterfolge T6 festgestellt. Das heißt, Fehler in den Signalleitungen L2, L7, L8, L9 und L11 können durch die Transientversor­ gungsstrom-Prüfung unter Verwendung der Prüfmusterfolge T6 erfaßt werden. Eine Fehlerliste für die Prüfmusterfolge T6 kann also durch die obige Fehlersimulation berechnet werden als LT6 = {L2, L7, L8, L, L11}.
Auf die oben beschriebene Weise kann eine Liste von durch Eingeben einer bestimmten Prüfmu­ sterfolge in jede Signalleitung erfaßbaren Fehlern erzeugt werden. Ferner sind das Fehlerverfahren und der Fehlersimulator nach der vorliegenden Erfindung nicht speziell auf die Vorhersage fehlerhafter Punkte von Signalleitungen beschränkt, an die Logikgatter angeschlossen sind, sondern sie sind auch auf die Vorhersage von Fehlern von Signalleitungen in Logikgattern unter der Annahme von Fehlern darin anwendbar.
Außerdem sind das Verfahren und die Vorrichtung gemäß der vorliegenden Erfindung nicht speziell auf einen CMOS-IC beschränkt, sondern sind auch auf andere Halbleiter-ICs anwendbar.
Kurze Beschreibung der Zeichnungen
Fig. 1A ist ein Graph, der langfristige Änderungen in den Eingabe- und Ausgabespannungen VIN und VOUT eines CMOS-Inverters zeigt;
Fig. 1B ist ein Graph, der ein Beispiel einer transienten Antwort eines Versorgungsstroms IDD auf die langfristigen Änderungen der Eingabespannung in Fig. 1A zeigt;
Fig. 1C ist ein Diagramm, das den CMOS-Inverter und dessen Versorgungsstrom zeigt, der zur Zeit eines ansteigenden Übergangs des Inverter-Ausgangssignals fließt;
Fig. 1D ist ein Diagramm, das den CMOS-Inverter und dessen Versorgungsstrom zeigt, der zur Zeit eines abfallenden Übergangs des Inverterausgangs fließt;
Fig. 2A ist ein Graph, der die Transfercharakteristika der Eingabe- und Ausgabespannungen VIN und VOUT und eines Versorgungsstroms IS bei einem typischen Beispiel für die transiente Antwort eines CMOS-Logikgatters zeigt;
Fig. 2B ist ein Diagramm, das eine angenäherte Wellenform des transienten Stroms in Fig. 2A zeigt;
Fig. 3A ist ein Schaltungsdiagramm, das ein Beispiel für einen CMOS-IC zeigt;
Fig. 3B ist ein Graph, der Schwankungen der Eingabespannung in den bzw. der Ausgangsspannung aus dem in Fig. 3A gezeigten IC zeigt;
Fig. 3C ist ein Graph, der eine Transientversorgungsstrom-Antwort IDDT zeigt, die beobachtet wird, wenn die Eingabespannung von Fig. 3B auf die Schaltung von Fig. 3A angewendet wird;
Fig. 4A ist ein Diagramm, das schematisch das Grundprinzip eines Verzögerungsfehlerprüfverfahrens für einen mit Eingabe- und Ausgabelatches versehenen Halbleiter-IC zeigt;
Fig. 4B ist ein Diagramm, das eine Verzögerung der Ausgabespannung VOUT gegen die Eingabespannung VIN bei der in Fig. 4A gezeigten Prüfung zeigt;
Fig. 4C ist ein Diagramm, das einen Operationstakt für die Prüfung von Fig. 4A in Verbindung mit Fig. 4B zeigt;
Fig. 5A ist ein Diagramm, das einen Offen-Fehler in einer Signalleitung zeigt, der einen Logikfehler verursacht, sowie Eingabe- und Ausgabespannung zu dieser Zeit;
Fig. 5B ist ein Diagramm, das einen Offen-Fehler in einer Signalleitung zeigt, der einen Verzögerungsfehler verursacht, sowie Eingabe- und Ausgabespannung zu dieser Zeit;
Fig. 6A ist ein Graph, der Änderungen von Eingabe- und Ausgabespannungen mit der Zeit in Fällen zeigt, wo ein Verzögerungsfehler vorhanden ist bzw. wo kein Verzögerungsfehler vorhanden ist;
Fig. 6B ist ein Graph, der in Verbindung mit Fig. 6A den transienten Versorgungsstrom zur Erläuterung des Prinzips eines Transientversorgungsstrom-Prüfverfahrens zeigt;
Fig. 7 dient zur Erläuterung des Prinzips eines anderen Transientversorgungsstrom- Prüfverfahrens, wobei Fig. 7A ein Graph ist, der Änderungen von Eingabe- und Ausgabespannung mit der Zeit in Fällen zeigt, wo kein Verzögerungsfehler vorhanden ist bzw. wo ein Verzögerungsfehler vorhanden ist, und Fig. 7B ein Graph ist, der den entsprechenden transienten Versorgungsstrom und dessen Meßpunkte zeigt;
Fig. 8 ist ein Graph, der Änderungen im Integral des transienten Versorgungsstroms zur Zeit des Eingangsübergangs des CMOS-Inverters zeigt;
Fig. 9A ist ein Schaltungsdiagramm, das ein Modell eines in einer Eingabesignalleitung des CMOS-Inverters vorhandenen kleinen Offen-Fehlers zeigt;
Fig. 9B ist ein Graph, der schematisch die Signalübergangszeit in Abwesenheit des kleinen Offen-Fehlers zeigt;
Fig. 9C ist ein Graph, der schematisch die Signalübergangszeit in Gegenwart des kleinen Offen-Fehlers zeigt;
Fig. 10 ist ein Graph, der Änderungen in einem Integral QDDT des transienten Versorgungsstroms eines CMOS-ICs mit Bezug auf den Widerstandswert Ropen des in dem CMOS-IC vorhandenen kleinen Offen-Fehlers zeigt;
Fig. 11 ist ein Histogramm, das die Verteilung von Integralen des transienten Versorgungsstroms des CMOS-ICs mit Bezug auf Änderungen des CMOS- Herstellungsprozesses zeigt;
Fig. 12 ist ein Graph, der Änderungen in der Verzögerungszeit tpd eines zu prüfenden Weges des CMOS-ICs mit Bezug auf den Widerstandswert Ropen des auf dem Weg vorhandenen kleinen Offen-Fehlers zeigt;
Fig. 13 ist ein Graph, der die lineare Beziehung zwischen dem Integral QDDT des transienten Versorgungsstroms des CMOS-ICs und der Verzögerungszeit tpd des zu prüfenden Weges in Anwesenheit des auf dem Weg angenommenen kleinen Offen-Fehlers zeigt;
Fig. 14 ist ein Schaltungsdiagramm, das ein Beispiel eines zu prüfenden CMOS-ICs zeigt;
Fig. 15 ist eine Tabelle, die als Beispiel die Ergebnisse einer Fehlersimulation an dem CMOS-IC der Fig. 14 zeigt;
Fig. 16 ist ein Schaltungsdiagramm, das ein anderes Beispiel des zu prüfenden CMOS-ICs zeigt;
Fig. 17 ist eine Tabelle, die als Beispiel die Ergebnisse einer anderen Fehlersimulation an dem CMOS-IC aus Fig. 16 zeigt;
Fig. 18 ist ein Blockdiagramm, das die Konfiguration einer Ausgestaltung des Fehlersimulators nach der vorliegenden Erfindung zeigt;
Fig. 19 ist ein Flußdiagramm, das die Prozedur des Fehlersimulationsverfahrens nach der vorliegenden Erfindung zeigt;
Fig. 20 ist ein Flußdiagramm, das die Prozedur des Fehlerlisten-Erzeugungsschrittes 206 in Fig. 19 zeigt;
Fig. 21 ist ein Flußdiagramm, das die Prozedur des Fehlerlisten-Erzeugungsschrittes 206 im Falle des Erzeugens der Liste für jedes Logikgatter zeigt;
Fig. 22 ist ein Flußdiagramm, das die Prozedur des Erzeugens einer Fehlerliste 206 im Falle des Erzeugens der Liste für jede Signalleitung zeigt;
Fig. 23 ist ein Flußdiagramm, das die Prozedur des Fehlerlisten-Erzeugungsschrittes 206 im Falle des Erzeugens der Liste für jeden Signalausbreitungsweg zeigt;
Fig. 24 ist eine Tabelle, die ein Beispiel der für jeden Signalausbreitungsweg erzeugten Fehlerliste der Schaltung aus Fig. 14 zeigt;
Fig. 25 ist eine Tabelle, die ein Beispiel der für jeden Signalausbreitungsweg erzeugten Fehlerliste der Schaltung aus Fig. 16 zeigt;
Fig. 26 ist ein Flußdiagramm, das eine andere Prozedur des Fehlersimulationsverfahrens nach der vorliegenden Erfindung zeigt;
Fig. 27 ist ein Blockdiagramm, das die Konfiguration einer anderen Ausgestaltung des Fehlersimulators gemäß der vorliegenden Erfindung zeigt; und
Fig. 28 ist ein Flußdiagramm, das die Prozedur einer anderen Ausgestaltung des Fehlersimulationsverfahrens nach der vorliegenden Erfindung zeigt.
Detaillierte Beschreibung der bevorzugten Ausgestaltungen
Nun wird eine Beschreibung von Ausgestaltungen der vorliegenden Erfindung geliefert.
Fig. 18 zeigt in Blockform ein Beispiel für den Aufbau eines Fehlersimulators zur Verwendung in einer Ausgestaltung der vorliegenden Erfindung. Der allgemein mit 100 bezeichnete Fehlersimula­ tor umfaßt: ein Prüfmuster-Erzeugungsmittel 101, das Prüfmuster nacheinander zur Eingabe in einen zu prüfenden Halbleiter-IC erzeugt; einen Logiksimulator 102, der Logiksimulationen der Operation des zu prüfenden ICs durch sequentielles Anwenden der Prüfmuster aus dem Prüfmu­ ster-Erzeugungsmittel 101 darauf erzeugt, dann die in den Signalleitungen des zu prüfenden ICs auftretenden Logiksignalwertfolgen berechnet und sie in einem Speicher 102M in Beziehung zu den jeweiligen Prüfmusterfolgen speichert, und ein Fehlerlisten-Erzeugungsmittel 103, das Listen von durch ein Transientversorgungsstrom-Prüfverfahren für jede Prüfmusterfolge durch Verwen­ dung der vom Logiksimulator 102 berechneten Logiksignalwertfolge erfaßbaren Fehler für jede Signalleitung erzeugt und die Fehlerliste in einem Fehlerlistenspeicher 103M speichert. Das Prüfmuster-Erzeugungsmittel 101, der Logiksimulator 102 und das Fehlerlisten-Erzeugungsmittel 103 können durch Hardware oder Software gebildet sein.
Wenn der zu prüfende Halbleiter-IC z. B. drei Eingangsanschlüsse hat, ist das Prüfmuster-Erzeu­ gungsmittel 101 durch zwei Pseudozufallsmusterfolgen-Generatoren gebildet, die auf verschie­ dene Werte initialisiert und synchron unter Verwendung des gleichen Taktes betrieben werden, um so Zufallsmusterfolgen zu erzeugen. Die Ausgaben der drei Pseudozufallsmusterfolgen- Generatoren werden als Prüfmuster für jeden Takt verwendet. Alternativ wird ein Drei-Bit-Zähler zum Takte zählen verwendet, und für jeden Takt wird der durch drei Bits ausgedrückte Zählwert als Prüfmuster entnommen. Es ist leicht zu verstehen, daß diese Schemata durch Software implementiert werden können. Es ist auch möglich, benötigte Prüfmuster vorab zu speichern und sie dann eins nach dem anderen zu lesen. Auf jeden Fall wird die Zahl von Verschiebungsstufen eines Pseudozufallszahl-Generators so gewählt oder eine ausreichende Zahl von Prüfmustern in einem Speicher vorab gespeichert, so daß diverse Prüfmuster erzeugt werden können, die ausreichend Daten liefern, die zum Erfassen, als erfaßbare Punkte, von Verzögerungsfehlern in beliebigen Logikgattern oder von Offen-Fehlern an beliebigen Signalleitungen des zu prüfenden Halbleiter-ICs erforderlich sind.
Wenn der Logiksimulator 102 durch Software implementiert ist, werden die Operationen in den jeweiligen Logikgattern des zu prüfenden Halbleiter-ICs sequentiell durch Software für jedes darin eingegebene Prüfmuster durchgeführt, und die Operationsergebnisse (Logiksignalwerte) für alle Prüfmuster werden entsprechend den Signalleitungen, wo die Operationsergebnisse geliefert werden, gespeichert. Auf diese Weise kann die Folge von Logiksignalwerten auf jeder Signallei­ tung leicht erhalten werden. Im Falle der Realisierung des Logiksimulators 102 durch Hardware wird eine Schaltungsinformation über den Halbleiter-IC z. B. in eine feldprogrammierbare Gatter­ anordnung (FPGA) eingegeben, um einen zu prüfenden Halbleiter-IC zu bilden, und bei Eingabe jeweils eines Prüfmusters darin wird der Logiksignalwert auf jeder Leitung erfaßt und im Zusam­ menhang mit der Signalleitung gespeichert. Folglich ist der Logiksimulator 102 mit dem Speicher 102M zum Speichern der Logiksignalwerte versehen, die jeweils auf den Signalleitungen für jedes Prüfmuster erzeugt werden. Der Logiksimulator 102 kann ein Allzweck-Logiksimulator wie etwa ein VHDL-Systemsimulator (VSS) von Synopsys, Inc. sein. Das Fehlerlisten-Erzeugungsmittel 103 wird später beschrieben.
Als nächstes wird eine Beschreibung der Operationen des Fehlersimulators 100 geliefert, die mit der Fehlersimulation eines Halbleiter-ICs zusammenhängen. Fig. 19 zeigt die Prozedur des Fehlersimulationsverfahrens nach der vorliegenden Erfindung. Diese Simulation beginnt bei Schritt 201, in dem das Prüfmuster-Erzeugungsmittel 101 den Anfangswert für Prüfmuster einer Serie von Prüfmusterfolgen für die zu erzeugende Fehlerliste setzt, d. h. ein Prüfmuster mit dem Anfangswert erzeugt. Dann empfängt in Schritt 202 der Logiksimulator 102 das in Schritt 201 gesetzte Prüfmuster. In Schritt 203 verwendet der Logiksimulator 102 das Prüfmuster, um eine Logiksimulation der Operation des zu prüfenden Halbleiter-ICs durchzuführen, berechnet dann die Logiksignalwerte auf den Signalleitungen des zu prüfenden ICs und speichert im Speicher 102M den Logiksignalwert für jede Signalleitung in Entsprechung zum Prüfmuster. Als nächstes überprüft in Schritt 204 der Fehlersimulator 100, ob ein Prüfmuster in der betreffenden Prüfmu­ sterfolge unberücksichtigt ist. Wenn ja, setzt (erzeugt) der Fehlersimulator 100 das nächste Prüfmuster (stellt z. B. die Operation eines Pseudozufallsmuster-Generators um einen Taktzyklus weiter) und wiederholt Schritte 202 und 203. Wenn in der Serie von Prüfmusterfolgen kein übrig bleibendes unberücksichtigtes Prüfmuster gefunden wird (wenn z. B. der Pseudozufallsmuster- Generator einen Durchgang der Zufallmustererzeugung beendet hat), geht der Fehlersimulator in Schritt 204 zu Schritt 206 über.
Schließlich erzeugt in Schritt 206 das Fehlerlisten-Erzeugungsmittel 103 eine Liste von Fehlern, die durch eine Transientversorgungsstrom-Prüfung für die Prüfmusterfolgen erfaßbar sind, auf Grundlage der auf den jeweiligen Signalleitungen des ICs in den obigen Schritten erzeugten und in dem Speicher 102M gespeicherten Logiksignalwertfolgen. Wenn die Prüfmusterfolgen, wie in dem oben erwähnten Beispiel, jeweils aus zwei Prüfmustern bestehen, werden zwei von dem Prüfmuster-Erzeugungsmittel 102 erzeugte willkürliche Prüfmuster entnommen und mit einer Prüfmusterfolge-Identifikationsnummer versehen, und die Signalleitungen, auf denen sich Logiksignalwerte in Reaktion auf die Anwendung der Prüfmuster ändern, werden als mögliche Fehlererfassungspunkte der Prüfmusterfolge-Identifikationsnummer zugeordnet, um die Fehlerli­ sten zu erzeugen. Die Erzeugung der Fehlerliste wird später genauer beschrieben. Die zeitliche Serie der durch den Logiksimulator 102 jeweils in Schritten 202, 203 und 204 berechneten Logiksignalwerte entspricht der zeitlichen Serie der Prüfmuster in der Prüfmusterfolge.
Fig. 20 ist ein Flußdiagramm, das ein Beispiel der Prozedur zur Erzeugung der Fehlerliste im Schritt 206 von Fig. 19 zeigt. Die Prozedur beginnt mit Schritt 301, in dem einer der Punkte, die in dem zu prüfenden Halbleiter-IC möglicherweise fehlerhaft werden können, gewählt und gesetzt wird. Darauf folgt Schritt 302, in dem eine Überprüfung durchgeführt wird, um festzu­ stellen, ob die von dem Logiksimulator 102 berechnete Logiksignalwertfolge die Bedingung für Fehlererfassung durch die Transientversorgungsstrom-Prüfung erfüllt, wenn der oben gesetzte Punkt fehlerhaft wird. Wenn die Fehlererfassungsbedingung erfüllt ist, wird der gesetzte Punkt in Schritt 303 in der Fehlerliste registriert. Wenn im Schritt 302 festgestellt wird, daß die Fehlerer­ fassungsbedingung nicht erfüllt wird, geht die Prozedur weiter zu Schritt 304. In Schritt 304 wird eine Überprüfung durchgeführt, um festzustellen, ob es in dem zu prüfenden IC irgendwelche weiteren unberücksichtigten Punkte gibt, die möglicherweise fehlerhaft werden können; wenn ja, wird der Punkt, der fehlerhaft werden kann, in Schritt 305 gesetzt, und die Prozedur geht über zu Schritt 302. Auf diese Weise werden die Schritte 302, 303, 304 und 305 wiederholt, bis alle Punkte, die in dem zu prüfenden IC fehlerhaft werden können, behandelt sind; das heißt, wenn in Schritt 304 keine unberücksichtigten Punkte gefunden werden, endet die Prozedur.
Fig. 21 ist ein Flußdiagramm, das ein Beispiel der Prozedur zum Erzeugen einer Liste von Fehlern in Logikgattern in Schritt 206 in Fig. 19 zeigt. Die Prozedur beginnt mit Schritt 401, in dem eines der Logikgatter, die fehlerhaft werden können, ausgewählt und anfänglich gesetzt wird. Als nächstes wird in Schritt 402 eine Überprüfung durchgeführt, um festzustellen, ob eine Änderung oder Umschaltung in der Logiksignalwertfolge auf der Ausgabesignalleitung des gesetzten Logikgatters stattgefunden hat, berechnet durch den Logiksimulator 102 auf Grundlage der Logiksignalwerte in der Ausgabesignalleitung jedes Logikgatters, die für jede Prüfmusterfolge in dem Speicher 102M gespeichert sind, in dem die Ergebnisse der Simulation in Schritt 203 von Fig. 19 gespeichert sind. Wenn die Logiksignalwertfolge in der Ausgabesignalleitung des obigen fehlerhaften Logikgatters verändert ist, werden das gesetzte Logikgatter und das entsprechende Prüfmuster in der Fehlerliste in Schritt 403 registriert. Wenn z. B. das Logikgatter G1 in der Schaltung von Fig. 14 gesetzt ist, wird die erste Logiksignalwertfolge "1, 1, 0, 0, . . ." in der dritten Spalte der Tabelle von Fig. 15 nach Prüfmusterfolgen T9, T10, T11 und T12 abgesucht, die R oder F werden, und diese Prüfmusterfolgen werden für G1 in der Fehlerliste registriert, oder G1 wird für jede dieser Prüfmusterfolgen T9 bis T12 registriert; d. h. diese Beziehungen werden im Speicher 103M gespeichert, um die Fehlerliste zu erzeugen. Unter diesen Umständen können Fehler, die erfaßbar sind, wenn das Logiksignal in der Ausgabesignalleitung des fehlerhaften Logikgatters einen Wert R (einen ansteigenden Übergang) und einen Wert F (einen abfallenden Übergang) einnimmt, als verschiedene Fehler registriert werden. Wenn z. B. das Logikgatter G1 gesetzt ist, werden der Fehler, der erfaßbar ist, wenn das Logiksignal auf seiner Ausgabesignallei­ tung den Wert R annimmt, und der Fehler, der erfaßbar ist, wenn das Logiksignal auf seiner Ausgabesignalleitung den Wert F annimmt, in der Fehlerliste jeweils als G1R bzw. G2F registriert. Da bei dem obigen Beispiel das Logiksignal am Ausgabeknoten N1 des Logikgatters G1 den Wert F für alle Prüfmusterfolgen T9, T10, T11 und T12 annimmt, werden diese Prüfmusterfolgen in der Fehlerliste für den Fehler G1F registriert, oder G1F wird für jedes dieser Prüfmuster registriert.
Wenn in Schritt 402 festgestellt wird, daß die Logiksignalwertfolge auf der Ausgabesignalleitung des gesetzten Logikgatters sich nicht geändert hat, geht die Prozedur über zu Schritt 404. In Schritt 404 wird eine Überprüfung durchgeführt, um festzustellen, ob es noch ein unberücksich­ tigtes Logikgatter in dem zu prüfenden Halbleiter-IC gibt, und wenn ein solches Logikgatter gefunden wird, geht die Prozedur über zu Schritt 405, in der das Logikgatter, in dem der nächste Fehler möglicherweise auftritt, gesetzt wird, gefolgt von einer Rückkehr zu Schritt 402. Auf diese Weise werden die Schritte 402, 403, 404 und 405 wiederholt, bis die Logikgatter, in denen Fehler auftreten können, alle berücksichtigt oder behandelt sind, und wenn kein unberücksichtig­ tes Logikgatter in Schritt 404 gefunden wird, endet die Prozedur.
Wenn eine Änderung in der Logiksignalwertfolge auf der Ausgabesignalleitung des gesetzten Logikgatters gefunden wird, wird der transiente Versorgungsstrom des zu prüfenden Halbleiter- ICs zur Zeit der Eingabe der Prüfmusterfolge, die die Veränderung in der Logiksignalwertfolge verursacht, gemessen. Aus dem Momentanwert des transienten Versorgungsstroms nach einer vorgegebenen verstrichenen Zeit oder der Pulsbreite oder dem Integral des transienten Versor­ gungsstroms kann, wie oben beschrieben, entschieden werden, ob das gesetzte Logikgatter sich in einem Verzögerungsfehlerzustand befindet. Das heißt, bei der Erzeugung der Fehlerliste für jedes Logikgatter ist die Überprüfung, ob die Logiksignalwertfolge auf der Ausgabesignalleitung des gesetzten Logikgatters sich geändert hat, äquivalent mit der Durchführung einer Überprüfung, um festzustellen, ob die Bedingung für Fehlererfassung durch die Transientversorgungsstrom- Prüfung erfüllt ist.
Fig. 22 ist ein Flußdiagramm, das ein Beispiel der Prozedur zum Erzeugen einer Liste von Fehlern in jeder Signalleitung in Schritt 206 von Fig. 19 zeigt. Die Prozedur beginnt mit Schritt 501, in der unter Signalleitungen, in denen ein Fehler auftreten kann, eine ausgewählt und anfänglich gesetzt wird. Als nächstes wird in Schritt 502 eine Überprüfung durchgeführt, um festzustellen, ob eine Veränderung in der in Schritt 203 von Fig. 19 durch den Logiksimulator 102 berechne­ ten Logiksignalwertfolge auf der gesetzten Signalleitung stattgefunden hat, auf der Grundlage der Logiksignalwertfolge in der gesetzten Signalleitung, die für jede Prüfmusterfolge im Speicher 102M gespeichert ist, in dem die Ergebnisse der in Schritt 203 von Fig. 19 durchgeführten Logiksimulation gespeichert sind. Wenn festgestellt wird, daß die Logiksignalwertfolge auf der gesetzten Signalleitung sich geändert hat, geht die Prozedur über zu Schritt 503. Wenn z. B. die Signalleitung L2 in der Schaltung von Fig. 16 gesetzt wird, ist die Logiksignalwertfolge auf dieser Signalleitung die zweite Folge der Logiksignalwerte "0, 1, 0, 1, . . ." in der dritten Spalte der Tabelle von Fig. 17, und diese Logiksignalwertfolge wird auf R oder F geprüft. Da hier R in der Logiksignalwertfolge in Verbindung mit den Prüfmusterfolgen T5, T6, T7 und T8 gefunden wird, d. h. da die Logiksignalwertfolge durch diese Prüfmusterfolgen verändert worden ist, geht die Prozedur über zu Schritt 503. Wenn in der Logiksignalwertfolge auf der gesetzten Signallei­ tung keine Veränderung gefunden wird, geht die Prozedur zu Schritt 505. Als nächstes findet auf der Grundlage der Ergebnisse von Berechnungen durch den Logiksimulator 102 (die gespeicherten Inhalte des Speichers 102M) eine Überprüfung statt, um festzustellen, ob die Logiksignalwert­ folge in der Ausgabesignalleitung des Logikgatters, an dessen Eingang die gesetzte Signalleitung angeschlossen ist, durch die Prüfmusterfolge verändert worden ist, die diese Veränderung in der Logiksignalwertfolge in Schritt 502 verursacht hat. Wenn festgestellt wird, daß die Logiksignal­ wertfolge sich geändert hat, wird die gesetzte Signalleitung in der Fehlerliste in Schritt 504 registriert. Das heißt, bei dem obigen Beispiel können zwar die Musterfolgen T5 bis T8 die Logiksignalwertfolge auf der gesetzten Eingabesignalleitung L2 ändern, doch sind es die Muster­ folgen T6 und T8, wie durch F in der Tabelle von Fig. 17 angegeben, die die Logiksignalwert­ folge in der Ausgabesignalleitung L7 des Logikgatters G2 ändern, von dem ein Eingang an die gesetzte Signalleitung L2 angeschlossen ist; entsprechend werden die Prüfmusterfolgen T6 und T8 für die gesetzte Signalleitung L2 registriert. Alternativ wird die Signalleitung L2 für T6 und T8 in der Fehlerliste registriert. Das heißt, die Logiksignalwertfolge auf der Signalleitung L2 wird durch die Prüfmusterfolgen T5 bis T8 verändert, doch das Logikgatter G2 reagiert nur auf die Prüfmusterfolgen T6 und T8 mit dem Durchführen eines Schaltens, und da ohne ein Schalten des Logikgatters G2 kein Fehler durch die Transientversorgungsstrom-Prüfung gefunden werden kann, werden die Prüfmusterfolgen T6 und T8 für die Signalleitung L2 registriert. Wenn in Schritt 503 festgestellt wird, daß die Logiksignalwertfolge auf der Ausgabesignalleitung des Logikgat­ ters, dessen Eingang an die gesetzte Signalleitung angeschlossen ist, nicht durch die Prüfmuster­ folge verändert worden ist, von der in Schritt 502 festgestellt worden ist, dass sie die Logik­ signalwertfolge auf der Eingabeleitung geändert hat, geht die Prozedur über zu Schritt 505. In Schritt 505 wird eine Überprüfung durchgeführt, um festzustellen, ob andere Signalleitungen in dem zu prüfenden Halbleiter-IC noch ungeprüft sind, und wenn ja, wird die Signalleitung, in der der nächste Fehler auftreten kann, in Schritt 506 gesetzt, gefolgt durch eine Rückkehr zu Schritt 502. Auf diese Weise werden die Schritte 502, 503, 504, 505 und 506 wiederholt, bis alle Signalleitungen in dem zu prüfenden IC, an denen Fehler auftreten können, überprüft sind. Wenn in Schritt 505 keine ungeprüfte Signalleitung gefunden wird, endet die Prozedur.
Falls eine Unterbrechung in der gesetzten Signalleitung einen Verzögerungsfehler in dem Logikgatter verursacht, dessen Eingang an die gesetzte Signalleitung angeschlossen ist, ist es zum Erfassen des Fehlers durch die Transientversorgungsstrom-Prüfung notwendig, daß eine Änderung in der Logiksignalwertfolge auf der gesetzten Signalleitung eine Änderung in d 25295 00070 552 001000280000000200012000285912518400040 0002010053758 00004 25176er Logiksignalwertfolge in dem daran angeschlossenen Logikgatter herbeiführt. Wie oben mit Bezug auf die Erzeugung der Fehlerliste basierend auf der gesetzten Signalleitung beschrieben, läuft eine Prüfung zum Feststellen, ob die Umschaltung der Logiksignalwertfolge auf der gesetzten Signalleitung die Umschaltung der Logiksignalwertfolge in der Ausgabesignalleitung des Logikgat­ ters mit dem an die gesetzte Signalleitung angeschlossenen Eingang bewirkt, darauf hinaus, dass eine Überprüfung durchgeführt wird, um festzustellen, ob die Bedingung für die Fehlererfassung durch die Transientversorgungsstrom-Prüfung erfüllt ist.
Mit Bezug auf Fig. 23 wird nun eine Beschreibung eines Beispiels der Prozedur zum Erzeugen einer Liste von Fehlern auf jedem Signalausbreitungsweg geliefert. Die Prozedur beginnt mit Schritt 801, in dem unter Signalausbreitungswegen, in denen ein Fehler sich entwickeln kann, einer ausgewählt und anfänglich gesetzt wird. Als nächstes wird in Schritt 802 für jede Prüfmu­ sterfolge anhand gespeicherter Inhalte des Speichers 102M, in dem die Ergebnisse der in Schritt 203 von Fig. 19 durchgeführten Logiksimulation gespeichert sind, geprüft, ob die Logiksignal­ wertfolge an jedem Punkt des gesetzten Signalausbreitungsweges verändert ist. Wenn die Logiksignalwertfolge an jedem Punkt des gesetzten Signalausbreitungsweges verändert ist, werden die entsprechende Prüfmusterfolge und der gesetzte Signalausbreitungsweg in der Fehlerliste in Schritt 803 registriert. Zum Beispiel ändern sich bei der Logiksimulation für jedes Logikgatter in dem in Fig. 14 abgebildeten Halbleiter-IC die Logiksignalwerte an jedem Eingabe­ anschluß, jedem internen Knoten und jedem Ausgabeanschluß in Reaktion auf die Eingabe jeder Prüfmusterfolge, wie in Fig. 15 gezeigt. Beispielsweise in dem Fall, wo der gesetzte Signalaus­ breitungsweg, auf dem ein Fehler auftreten kann, <I1, N1, N3, O1< ist, zeigt die Tabelle von Fig. 15, daß I1, N1, N3 und O1 für die Prüfmusterfolge T9 jeweils R, F, R bzw. F sind; d. h. die Logiksignalwerte ändern sich an jedem Punkt auf diesem Signalausbreitungsweg. Ferner sind auch im Fall der Prüfmusterfolgen T10 und T11 I1, N1, N3 und O1 = R, F, R bzw. F; d. h. die Logiksignalwerte ändern sich an jedem Punkt auf diesem Weg. Folglich werden die Prüfmuster­ folgen T9, T10 und T11 für den Signalausbreitungsweg <I1, N1, N3, O1< registriert; alternativ wird der Weg <I1, N1, N3, O1< für jede der Prüfmusterfolgen T9, T10 und T11 registriert.
Entsprechend ändern sich bei der Logiksimulation für jede interne Signalleitung in dem in Fig. 16 abgebildeten Halbleiter-IC die Logiksignalwerte an jedem Eingabeanschluß, jeder internen Signalleitung und jedem Ausgabeanschluß in Reaktion auf die Eingabe jeder Prüfmusterfolge, wie in der Tabelle von Fig. 17 abgebildet. Zum Beispiel im Fall, wo der gesetzte Signalausbreitungs­ weg, in dem ein Fehler auftreten kann, <I3, L3, L5, L12, O2< ist, zeigt die Tabelle von Fig. 17, daß I3, L3, L5, L12 und O2 für die Prüfmusterfolge T1 jeweils R, R, R, F bzw. F sind, das heißt, die Logiksignalwerte ändern sich an jedem Punkt auf diesem Signalausbreitungsweg. Ferner sind für die Prüfmusterfolge T2 ebenfalls I3, L3, L5, L12 und O2 jeweils R, R, R, F bzw. F; das heißt, die Logiksignalwerte ändern sich an jedem Punkt auf diesem Weg. Folglich werden die Prüfmusterfolgen T1 und T2 in der Fehlerliste für den Signalausbreitungsweg <I3, L3, L5, L12, O2< registriert; alternativ wird der Weg <I3, L3, L5, L12, O2< für jedes der Prüfmuster T1 und T2 registriert. Die Signalausbreitungswege, die in der Fehlerliste registriert werden, sind nicht spezifisch auf die Wege vom Eingabe- zum Ausgabeanschluß des zu prüfenden ICs beschränkt, sondern können auch Signalausbreitungswege sein, die den Ausgabeanschluß nicht erreichen, wie etwa <I1, N1< im Halbleiter-IC von Fig. 14 und <I1, L1, L6< im IC von Fig. 16.
Wenn in Schritt 802 festgestellt wird, daß es keine Prüfmusterfolge gibt, die eine Veränderung der Logiksignalwertfolge an jedem Punkt auf dem betreffenden Weg bewirkt, oder nach der Registrierung in der Fehlerliste in Schritt 803, wird in Schritt 804 überprüft, ob noch ein ungeprüfter Signalausbreitungsweg in dem zu prüfenden Halbleiter-IC übrig ist. Wenn ein ungeprüfter Signalausbreitungsweg gefunden wird, geht die Prozedur über zu Schritt 805 des Setzens eines Signalausbreitungsweges, der fehlerhaft werden kann, gefolgt von einer Rückkehr zu Schritt 803. Auf diese Weise werden die Schritte 802, 803, 804 und 805 so lange wieder­ holt, wie es einen ungeprüften Signalausbreitungsweg gibt, der fehlerhaft werden kann. Nach vollständiger Überprüfung aller Signalausbreitungswege, die fehlerhaft werden können, endet die Fehlerlistenerzeugungs-Prozedur. Fig. 24 ist eine Tabelle, die eine Fehlerliste über die Signalaus­ breitungswege zeigt, die durch Logiksimulationen erhalten ist, die durchgeführt worden sind, um festzustellen, ob die Logikgatter in den internen Signalleitungen des Halbleiter-ICs von Fig. 14 schalten. Fig. 25 ist eine Tabelle, die eine Fehlerliste über die Signalausbreitungswege zeigt, die durch Logiksimulationen erhalten ist, die durchgeführt worden sind, um zu überprüfen, ob die Logiksignatwertfolgen in den internen Signalleitungen des Halbleiter-ICs von Fig. 16 sich ändern. Wie sich aus Fig. 15, 17, 24 und 25 ergibt, können die Speicher 102M und 103M durch einen Speicher gebildet sein.
Während die obige Fehlerliste erzeugt ist nach Durchführung von Logiksimulationen unter Verwendung aller Prüfmusterfolgen, ist es auch möglich, das Ergebnis der Logiksimulation in der Fehlerliste bei Vollendung der Simulation mit jeder Prüfmusterfolge nach Bedarf zu registrieren, so daß die Erzeugung der Fehlerliste endet, wenn die Logiksimulationen unter Verwendung aller Prüfmuster vollendet sind. Ein Beispiel für eine solche Prozedur ist in Fig. 26 gezeigt. Wenn z. B. der Halbleiter-IC drei Eingabeanschlüsse hat, werden drei Pseudozufallmuster-Generatoren mit unterschiedlichen Anfangswerten auf dem gleichen Takt betrieben, um drei Zufallmuster zu erzeugen, die jeweils in ein Ein-Takt-Verzögerungsregister eingegeben werden. Die Prüfmusterfol­ gen werden jeweils erzeugt, indem als Prüfmuster die Ausgaben aus den drei Verzögerungsregi­ stern entnommen werden und dann als Prüfmuster die Ausgaben von den drei Prüfmustergenera­ toren entnommen werden und die entnommenen Ausgaben kombiniert werden.
In Schritt 901 wird eine der Prüfmusterfolgen, für die die Fehlerliste erzeugt werden soll, z. B. durch Kombinieren der Ausgaben von den Verzögerungsregistern und der Pseudozufallsmuster- Generatoren wie oben beschrieben erzeugt. Als nächstes wird in Schritt 902 ein Prüfmuster der so erzeugten Prüfmusterfolge in geordneter Folge entnommen, und in Schritt 903 wird eine Logiksimulation der Operation des zu prüfenden Halbleiter-ICs unter Verwendung des entnomme­ nen Prüfmusters und von auf den Signalleitungen des ICs auftretenden und im Speicher 102M für jede Signalleitung in Entsprechung zum verwendeten Prüfmuster gespeicherten Logiksignalwerten durchgeführt. In Schritt 904 wird geprüft, ob in der Prüfmusterfolge ein ungenutztes oder unberücksichtigtes Prüfmuster übrig ist, und wenn ja, geht die Prozedur zu Schritt 905 über, in der das nächste Muster gesetzt (erzeugt) wird, z. B. durch Setzen der Ausgaben der Pseudozu­ fallsmuster-Generatoren, und dann werden die Schritte 902 und 903 wiederholt.
Wenn in Schritt 904 kein unberücksichtigtes Prüfmuster gefunden wird, erfolgt die Registrierung in der Fehlerliste basierend auf den Ergebnissen der Logiksimulation unter Verwendung der betreffenden Prüfmusterfolge. Dieser Prozeß wird später beschrieben. Dann geht die Prozedur zu Schritt 907, in dem geprüft wird, ob noch eine unerzeugte Prüfmusterfolge übrig ist, und wenn ja, geht die Prozedur zu Schritt 901, in dem die nächste Prüfmusterfolge erzeugt wird; z. B. wird die Operation der Pseudozufallsmuster-Generatoren um einen Takt weitergestellt. Für die neu erzeugte Prüfmusterfolge werden die Schritte 902 bis 906 erneut durchgeführt. Wenn in Schritt 907 keine unerzeugte Prüfmusterfolge gefunden wird, z. B. wenn die Pseudozufallsmuster- Generatoren eine Runde der Erzeugung der Prüfmusterfolgen beendet haben, endet diese Prozedur.
Nun wird mit Bezug auf Fig. 21 die Prozedur zur Registrierung in der Fehlerliste in Schritt 906 von Fig. 26 beschrieben. In Schritt 401 wird eines der Logikgatter, die in dem zu prüfenden Halbleiter-IC fehlerhaft werden können, anfänglich gesetzt. Dann wird in Schritt 402 anhand der gespeicherten Inhalte 102M geprüft, ob die Logiksignalwertfolge auf der Ausgabesignalleitung des gesetzten Logikgatters, berechnet mit dem Logiksimulator 102 für die in Schritt 901 in Fig. 26 erzeugte Prüfmusterfolge, verändert worden ist. Wenn die Logiksignalwertfolge auf der Ausgabesignalleitung des gesetzten Logikgatters verändert worden ist, geht die Prozedur über zu Schritt 404, in dem das betreffende Logikgatter und die Prüfmusterfolge in der Fehlerliste registriert werden. Betrachten wir z. B. den Fall, wo die Schaltung aus Fig. 14 geprüft werden soll und T9 aus der Tabelle von Fig. 15 die in Schritt 901 von Fig. 26 erzeugte Prüfmuster­ folge ist. Wenn das Logikgatter G1 in der Schaltung von Fig. 14 in Schritt 401 von Fig. 21 gesetzt wird, ist die Logiksignalwertfolge im Ausgabeknoten N1 des Logikgatters G1 als F in Verbindung mit der Prüfmusterfolge T9 in der dritten Spalte der Tabelle von Fig. 15 angegeben; d. h., es ist angegeben, daß die Logiksignalwertfolge durch die Prüfmusterfolge T9 verändert worden ist. Deshalb wird G1 für T9 in der Fehlerliste registriert; alternativ wird T9 für G1 registriert. Der Fehler, der erfaßbar ist, wenn der Signalwert im Ausgabeknoten des fehlerhaften Logikgatters R ist (ansteigender Übergang), und der Fehler, der erfaßbar ist, wenn der Signalwert im Ausgabeknoten F ist (fallender Übergang), können auch als unterschiedliche Fehler registriert werden. Wenn z. B. das Logikgatter G1 gesetzt ist, werden die zwei oben erwähnten erfaßbaren Fehler als G1R und G1F in der Fehlerliste registriert. Da bei dem obigen Beispiel der Signalwert im Ausgabeknoten N1 des Logikgatters den Signalwert F für die Prüfmusterfolge T9 hat, wird T9 für G1F in der Fehlerliste registriert, oder G1F wird für die Prüfmusterfolge T9 registriert. Wenn die Logiksignalwertfolge im Ausgabeknoten des gesetzten Logikgatters nicht verändert ist, geht die Prozedur zu Schritt 404 über. In Schritt 404 wird überprüft, ob noch ein ungeprüftes Logikgatter übrig ist, und wenn ja, wird das nächste Logikgatter, das fehlerhaft werden kann, in Schritt 405 gesetzt, gefolgt von einer Rückkehr zu Schritt 402. Auf diese Weise werden die Schritte 402, 403, 404 und 405 wiederholt, bis die Logikgatter, die fehlerhaft werden können, alle geprüft oder berücksichtigt sind, und wenn kein ungeprüftes oder unberücksichtigtes Logikgatter gefunden wird, endet die Prozedur. Wie oben beschrieben, wird bei der Erzeugung jeder Prüfmu­ sterfolge eine Verarbeitung durchgeführt, um zu entscheiden, ob die Prüfmusterfolge und das gesetzte Logikgatter in der Fehlerliste registriert werden.
Bezogen auf Fig. 22 wird als nächstes eine Beschreibung der Prozedur zum Erzeugen der Fehlerliste für jede Signalleitung in Schritt 906 von Fig. 26 geliefert. In Schritt 501 wird eine der Signalleitungen, die in dem zu prüfenden Halbleiter-IC fehlerhaft werden können, initialisiert. Als nächstes wird in Schritt 502 anhand der gespeicherten Inhalte des Speichers 102M geprüft, ob die Logiksignalfolge auf der gesetzten Signalleitung, berechnet mit dem Logiksimulator für die in Schritt 901 von Fig. 26 erzeugte Prüfmusterfolge, verändert worden ist. Wenn die Logiksignal­ wertfolge auf der gesetzten Signalleitung verändert worden ist, geht die Prozedur zu Schritt 503 über, wohingegen, wenn die Logiksignalwertfolge nicht verändert worden ist, die Prozedur zu Schritt 505 übergeht. Als nächstes wird in Schritt 503 geprüft, ob die Logiksignalwertfolge auf der Ausgabesignalleitung des Logikgatters mit an die gesetzte Signalleitung angeschlossenem Eingang, berechnet mit dem Logiksimulator für die in Schritt 901 von Fig. 26 erzeugte Prüfmu­ sterfolge, verändert worden ist. Wenn die Logiksignalwertfolge auf der Ausgabesignalleitung des Logikgatters verändert worden ist, wird die gesetzte Signalleitung in der Fehlerliste in Schritt 504 registriert, und die Prozedur geht zu Schritt 505 über. Wenn z. B. das Prüfmuster T1 von Fig. 17 in Schritt 901 von Fig. 26 erzeugt wird und die Signalleitung L3 im Halbleiter-IC von Fig. 16 in Schritt 501 von Fig. 22 gesetzt wird, haben sich die Logiksignalwertfolgen auf der Signalleitung L3 und der Ausgabesignalleitung L12 des Logikgatters G5 mit an die Signalleitung L3 ange­ schlossenem Eingang verändert, und folglich wird das Prüfmuster T1 für die gesetzte Signallei­ tung L3 in der Fehlerliste registriert, oder L3 wird für T1 registriert. Wenn die Logiksignalwert­ folge in dem Logikgatter mit an die gesetzte Signalleitung angeschlossenem Eingang durch die zu dieser Zeit erzeugte Prüfmusterfolge nicht verändert worden ist, geht die Prozedur zu Schritt 505 über. In Schritt 505 wird eine Prüfung durchgeführt, um zu bestimmen, ob es eine weitere ungeprüfte Signalleitung gibt, die fehlerhaft werden kann. Wenn eine solche Signalleitung gefunden wird, wird die nächste Signalleitung, die fehlerhaft werden kann, in Schritt 506 gesetzt, gefolgt von einer Rückkehr zu Schritt 502. Auf diese Weise werden die Schritte 502, 503, 504, 505 und 506 wiederholt, bis alle Signalleitungen, die in dem Halbleiter-IC fehlerhaft werden können, geprüft sind. Wenn keine solche ungeprüfte Signalleitung gefunden wird, endet die Prozedur. Die oben beschriebene Verarbeitung wird bei jeder Erzeugung des Prüfmusters in Schritt 901 durchgeführt.
Mit Bezug auf Fig. 23 wird eine Beschreibung eines Beispiels der Prozedur zum Erzeugen einer Fehlerliste für jeden Signalausbreitungsweg in Schritt 906 von Fig. 26 geliefert. In Schritt 801 wird einer der Signalausbreitungswege, die in dem zu prüfenden Halbleiter-IC fehlerhaft werden können, anfänglich gesetzt. Als nächstes wird in Schritt 802 geprüft, ob die Logiksignalwertfolge an jedem Punkt auf dem gesetzten Signalausbreitungsweg, berechnet mit dem Logiksimulator 102 für die in Schritt 901 von Fig. 26 erzeugte Prüfmusterfolge, verändert worden ist. Wenn ja, geht die Prozedur über zu Schritt 803, dann wird der gesetzte Signalausbreitungsweg in der Fehlerliste registriert, und die Prozedur geht über zu Schritt 804. Zum Beispiel in dem Fall, wo das Prüfmuster T9 von Fig. 15 in Schritt 901 von Fig. 26 erzeugt wird und der Signalausbrei­ tungsweg <I1, N1, N3, O1< in dem Halbleiter-IC von Fig. 14 in Schritt 801 von Fig. 23 gesetzt wird, ändert sich die Logiksignalwertfolge an jedem Punkt auf dem gesetzten Signalaus­ breitungsweg, und folglich wird die Prüfmusterfolge T9 für den gesetzten Signalausbreitungsweg <I1, N1, N3, O1< in der Fehlerliste registriert, oder <I1, N1, N3, O1< wird für T9 registriert. Die Signalausbreitungswege, die in der Fehlerliste registriert werden, sind nicht spezifisch auf die Wege vom Eingabe- zum Ausgabeanschluß des zu prüfenden ICs beschränkt, sondern es können auch Signalausbreitungswege, die sich nicht vom Eingabeanschluß zum Ausgabeanschluß erstrecken, wie etwa <I1, N1< im Halbleiter-IC von Fig. 14 und <I1, L1, L6< in Fig. 16 registriert werden. Wenn sich an keinem Punkt auf dem Signalausbreitungsweg die Logiksignal­ wertfolge verändert hat, geht die Prozedur über zu Schritt 804. In Schritt 804 wird eine Prüfung durchgeführt, um festzustellen, ob ein Signalausbreitungsweg, der fehlerhaft werden kann, noch ungeprüft ist, und wenn ja, wird der nächste Signalausbreitungsweg, der fehlerhaft werden kann, in Schritt 805 gesetzt, gefolgt von einer Rückkehr zu Schritt 802. Auf diese Weise werden die Schritte 802, 803, 804 und 805 wiederholt, bis alle Signalausbreitungswege, die in dem zu prüfenden Halbleiter-IC fehlerhaft werden können, geprüft sind. Wenn kein solcher ungeprüfter Signalausbreitungsweg gefunden wird, endet die Prozedur. Die oben beschriebene Verarbeitung wird bei jeder Erzeugung des Prüfmusters in Schritt 901 durchgeführt.
Fig. 27 zeigt in Blockform eine andere Ausgestaltung des Fehlersimulators nach der vorliegen­ den Erfindung. Der allgemein mit 600 bezeichnete Fehlersimulator umfaßt Prüfmusterfolgen- Erzeugungsmittel 601, Fehlereinfügungsmittel 602, einen Schaltungssimulator 603 und Fehlerli­ sten-Erzeugungsmittel 604. Das Prüfmusterfolgen-Erzeugungsmittel 601 erzeugt eine Prüfmuster­ folge, die aus zwei oder mehr Prüfmustern besteht, zur Eingabe in den zu prüfenden IC besteht. Das Fehlereinfügungsmittel 602 fügt einen angenommenen Fehler in den zu prüfenden IC ein. Der Schaltungssimulator 603 wendet die von dem Prüfmusterfolgen-Erzeugungsmittel erzeugte Prüfmusterfolge auf den zu prüfenden IC mit dem darin von dem Fehlereinfügungsmittel 602 eingefügten angenommenen Fehler an und führt eine Schaltungssimulation durch und berechnet so den transienten Versorgungsstrom des zu prüfenden ICs. Das Fehlerlisten-Erzeugungsmittel 604 vergleicht den vom Schaltungssimulator 603 berechneten transienten Versorgungsstrom mit einem transienten Versorgungsstrom einer normalen Schaltung und erzeugt dann durch Entschei­ den, ob der Fehler durch den transienten Versorgungsstrom unter Verwendung der Prüfmuster­ folge erfaßbar ist, eine Fehlerliste und speichert die Fehlerliste in dem Speicher 604M. Das Prüfmusterfolgen-Erzeugungsmittel 601, das Fehlereinfügungsmittel 602, der Schaltungssimula­ tor 603 und Fehlerlisten-Erzeugungsmittel können als Hardware oder Software ausgebildet sein. Eine Softwarekonfiguration des Schaltungssimulators ist vorgeschlagen worden. Nach dem herkömmlichen Schema wird Verbindungsinformation über den Halbleiter-IC für jeden Transistor, z. B. im Falle der Schaltung aus Fig. 3A Verbindungsinformation darüber, wie jeder Transistor verbunden ist, in den Schaltungssimulator eingegeben, wodurch der Halbleiter-IC softwaremäßig konstruiert wird, dann wird eine Modelldatei der Charakteristik jedes Transistors gemäß gesetzten Bedingungen ausgelesen, und der einem Eingabemuster entsprechende transiente Versorgungs­ strom wird durch Simulation berechnet. Ein Offen-Fehler kann einfach durch Einfügen eines Hochwiderstandselementes an dem Punkt eingefügt werden, an dem der angenommene Fehler liegen soll, und ein Verzögerungsfehler kann durch einfaches Einfügen eines Verzögerungsele­ mentes an dem Punkt, wo der angenommene Fehler liegen soll, eingefügt werden. Der Schal­ tungssimulator 603 kann ein Allzweck-Schaltungssimulator, z. B. Star-HSPICE von Avant! Corporation sein.
Als nächstes wird mit Bezug auf Fig. 28 eine Fehlersimulation eines Halbleiter-ICs durch den in Fig. 27 abgebildeten Fehlersimulator 600 beschrieben. Fig. 28 ist ein Flußdiagramm, das die Prozedur einer anderen Ausgestaltung des erfindungsgemäßen Fehlersimulationsverfahrens zeigt. Zunächst erzeugt das Prüfmusterfolgen-Erzeugungsmittel 601 in Schritt 701 eine Prüfmuster­ folge, für die eine Fehlerliste erzeugt werden soll. Als nächstes nimmt in Schritt 702 das Fehlereinfügungsmittel 602 einen der Fehler an, die in dem zu prüfenden Halbleiter-IC auftreten können, und fügt den angenommenen Fehler in den IC ein. Dann führt in Schritt 703 der Schaltungssimulator 603 Schaltungssimulationen des Betriebs der fehlerhaften Schaltung mit dem in Schritt 702 darin eingefügten Fehler und einer normalen, fehlerfreien Schaltung für den Fall des Anwendens der in Schritt 701 erzeugten Prüfmusterfolge darauf durch und berechnet die transienten Versorgungsströme beider Schaltungen.
In Schritt 704 vergleicht das Fehlerlisten-Erzeugungsmittel 604 die vom Schaltungssimulator 603 berechneten transienten Versorgungsströme der fehlerhaften und der normalen Schaltung und prüft dadurch, ob eine Anomalität im transienten Versorgungsstrom der fehlerhaften Schaltung auftritt. Wenn eine Anomalität gefunden wird, werden in Schritt 705 der Fehler und die entspre­ chende Prüfmusterfolge in der Fehlerliste registriert, d. h. im Speicher 604M gespeichert, und die Prozedur geht über zu Schritt 706. Wenn in Schritt 704 keine Anomalität gefunden wird, geht die Prozedur zu Schritt 706 über. Schließlich wird in Schritt 706 geprüft, ob noch ein in dem zu prüfenden IC möglicher Fehler unberücksichtigt ist. Wenn solche Fehler gefunden werden, werden die Schritte 702, 703, 704 und 705 wiederholt, bis alle Fehler, die in dem zu prüfenden IC auftreten können, behandelt sind. Wenn solche Fehler in Schritt 706 nicht gefunden werden, wird in Schritt 707 überprüft, ob noch Prüfmusterfolgen unerzeugt sind. Wenn ja, kehrt die Prozedur zu Schritt 701 zurück, und die gleiche Verarbeitung wie oben erwähnt wird von neuem durchgeführt. Wenn keine unerzeugte Prüfmusterfolge gefunden wird, endet die Prozedur. Der Vergleich des transienten Versorgungsstroms der fehlerhaften Schaltung mit dem transienten Versorgungsstrom der normalen Schaltung in Schritt 704 kann sowohl an ihren Wellenformen als auch ihren Momentanwerten, Pulsbreiten oder Integralen nach einer vorgegebenen verstrichenen Zeit durchgeführt werden, wie bereits angesprochen.
Wirkung der Erfindung
Das Fehlersimulationsverfahren und der Fehlersimulator gemäß der vorliegenden Erfindung sind nicht speziell auf Verzögerungs- und Offen-Fehler beschränkt, sondern sind auch auf einen Logikfehler (Stack-Fehler), Kurzschlußfehler und einen Parameter-Anomalitätsfehler eines MOS- Transistors durch geeignete Änderung der Fehlererfassungsbedingung durch die Transientversor­ gungsstromprüfung oder ein Fehlermodell anpaßbar. Ferner ist die vorliegende Erfindung nicht nur auf Fälle von MOS-Transistor-ICs, sondern auf alle Arten von Halbleiter-ICs anwendbar, bei denen transiente Versorgungsströme durch Fehler anomal werden. Oben wurde zwar eine aus zwei Prüfmustern aufgebaute Prüfmusterfolge beschrieben, doch können drei oder mehr Prüfmuster verwendet werden.
Nach dem Fehlersimulationsverfahren nach der vorliegenden Erfindung ist es möglich, unter Verwendung der Transientversorgungsstromprüfung mit guter Beobachtbarkeit und mit Schaltin­ formation über Logikgatter eine Liste von durch die Transientversorgungsstromprüfung erfaßba­ ren Fehlern für Verzögerungsfehler oder für zu einem Verzögerungsfehler führende Offen-Fehler zu erzeugen, für die in der Vergangenheit keine Fehlerliste erzeugt werden konnte. Daher verbessert das Verfahren nach der vorliegenden Erfindung signifikant die Effektivität der Prüfung auf Verzögerungsfehler und Offen-Fehler.
Zahlreiche Veränderungen und Abwandlungen können durchgeführt werden, ohne den Rahmen der neuartigen Konzepte der vorliegenden Erfindung zu verlassen.

Claims (12)

1. Fehlersimulationsverfahren für einen Halbleiter-IC, mit den Schritten:
Erzeugen einer aus zwei oder mehr Prüfmustern bestehenden Prüfmusterfolge zur Eingabe in den Halbleiter-IC;
Durchführen einer Logiksimulation der Operation des Halbleiter-ICs im Falle des Anlegens eines jeden der zwei oder mehr Prüfmuster der Prüfmusterfolge an ihn und Berechnen einer Logiksignalwertfolge auf jeder Signalleitung an dem Halbleiter-IC; und
Erzeugen einer Liste von Fehlern, die durch eine Transientversorgungsstromprüfung unter Verwendung der Prüfmusterfolge erfaßbar sind, durch Verwendung der durch die Logiksimulation berechneten Logiksignalwertfolge auf jeder Signalleitung.
2. Verfahren nach Anspruch 1, bei dem der Fehlerlisten-Erzeugungsschritt ein Schritt des Erzeugens der Fehlerliste für jedes Logikgatter in dem Halbleiter-IC ist.
3. Verfahren nach Anspruch 2, bei dem der Fehlerlisten-Erzeugungsschritt ein Schritt des Prüfens für jedes der Logikgatter ist, ob eine Logiksignalwertfolge in einer Ausgabesignal­ leitung des Logikgatters verändert worden ist, und wenn ja, Erzeugen der Fehlerliste, in der ein Identifikator einer Prüfmusterfolge, die die Logiksignalwertfolge verändert hat, und das Logik­ gatter in Entsprechung zueinander registriert werden.
4. Verfahren nach Anspruch 1, bei dem der Fehlerlisten-Erzeugungsschritt ein Schritt des Erzeugens der Fehlerliste für jede der Signalleitungen ist.
5. Verfahren nach Anspruch 4, bei dem der Fehlerlisten-Erzeugungsschritt folgende Schritte umfaßt:
Überprüfen für jede Signalleitung, ob die Logiksignalwertfolge auf der Signalleitung verändert worden ist;
wenn ja, Überprüfen, ob eine Logiksignalwertfolge auf einer Ausgabesignalleitung eines Logikgatters, dessen Eingang an die Signalleitung angeschlossen ist, in der die Logiksignalwert­ folge verändert worden ist, durch eine Prüfmusterfolge verändert wird, die die Logiksignalwert­ folge auf der Signalleitung verändert hat, und wenn ja, Erzeugen der Fehlerliste, in der die Signalleitung und ein Identifikator der Prüfmusterfolge, die die Logiksignalwertfolge auf der Signalleitung verändert hat, in Entsprechung zueinander registriert werden.
6. Verfahren nach Anspruch 1, bei dem der Fehlerlisten-Erzeugungsschritt ein Schritt des Erzeugens der Fehlerliste für jeden Signalausbreitungsweg in dem Halbleiter-IC ist.
7. Verfahren nach Anspruch 6, bei dem der Fehlerlisten-Erzeugungsschritt ein Schritt des Überprüfens für jeden Signalausbreitungsweg ist, ob Logiksignalwertfolgen an jeweiligen Punkten des jeweiligen Signalausbreitungsweges alle verändert worden sind, und wenn ja, Erzeugen der Fehlerliste, in der ein Identifikator einer Prüfmusterfolge, die die Logiksignalwert­ folgen verändert hat, und der Signalausbreitungsweg in Entsprechung zueinander registriert werden.
8. Verfahren nach Anspruch 1, ferner mit dem Schritt des Berechnens der Logiksignal­ wertfolge für jede Prüfmusterfolge vor dem Fehlerlisten-Erzeugungsschritt.
9. Verfahren nach Anspruch 1, ferner mit dem Schritt des Berechnens der Logiksignal­ wertfolge und des Erzeugens der Fehlerliste bei Erzeugung jeder Prüfmusterfolge.
10. Fehlersimulator für einen Halbleiter-IC, mit:
einem Prüfmuster-Erzeugungsmittel zum Erzeugen einer Prüfmusterfolge, die aus zwei oder mehr Prüfmustern aufgebaut ist, zur Eingabe in den Halbleiter-IC;
einem Logiksimulator, der mit der Prüfmusterfolge versorgt wird, zum Durchführen einer Logiksimulation der Operation des Halbleiter-ICs für den Fall des Anlegens jedes der zwei oder mehr Prüfmuster an ihn und zum Berechnen und Ausgeben einer Logiksignalwertfolge auf jeder Signalleitung in dem Halbleiter-IC;
einem Speicher zum Speichern der auf jeder Signalleitung für jede Prüfmusterfolge erzeugten berechneten Logiksignalwertfolge; und
einem Fehlerlisten-Erzeugungsmittel, das mit der in dem Speicher gespeicherten Logik­ signalwertfolge jeder Signalleitung versorgt wird, zum Erzeugen einer Liste von durch eine Transientversorgungsstrom-Prüfung unter Verwendung der Prüfmusterfolge erfaßbaren Fehlern.
11. Fehlersimulationsverfahren für einen Halbleiter-IC, mit den Schritten:
Einfügen eines angenommenen Fehlers in den Halbleiter-IC;
Erzeugen einer aus zwei oder mehr Prüfmustern aufgebauten Prüfmusterfolge zur Eingabe in den Halbleiter-IC;
Anlegen der Prüfmusterfolge an den Halbleiter-IC mit dem darin eingefügten angenommenen Fehler und Durchführen einer Schaltungssimulation der Operation des Halbleiter- ICs, um so einen transienten Versorgungsstrom des Halbleiter-ICs zu berechnen;
Vergleichen des berechneten transienten Versorgungsstroms mit dem transienten Versorgungsstrom einer normalen Schaltung und Entscheiden, ob der angenommene Fehler durch eine Transientversorgungsstrom-Prüfung unter Verwendung der Prüfmusterfolge erfaßbar ist; und
Erzeugen einer Fehlerliste, in der der erfaßbare Fehler und ein Identifikator der Prüfmusterfolge registriert sind.
12. Fehlersimulator für einen Halbleiter-IC, mit:
einem Prüfmuster-Erzeugungsmittel zum Erzeugen wenigstens einer aus zwei oder mehr Prüfmustern aufgebauten Prüfmusterfolge zur Eingabe in den Halbleiter-IC;
einem Fehlereinfügungsmittel zum Einfügen eines angenommenen Fehlers in den Halbleiter-IC;
einem Schaltungssimulator zum Anwenden des Prüfmusters auf den Halbleiter-IC mit dem darin eingefügten angenommenen Fehler und Durchführen einer Schaltungssimulation der Operation des Halbleiter-ICs, um so einen transienten Versorgungsstrom des Halbleiter-ICs zu berechnen; und
einem Fehlerlisten-Erzeugungsmittel zum Vergleichen des berechneten transienten Versorgungsstroms mit dem transienten Versorgungsstrom einer normalen Schaltung, um zu entscheiden, ob der angenommene Fehler durch eine Transientversorgungsstrom-Prüfung unter Verwendung der Prüfmusterfolge erfaßbar ist, und zum Registrieren des erfaßbaren Fehlers und eines Identifikators der Prüfmusterfolge in einer Fehlerliste.
DE10053758A 2000-01-24 2000-10-30 Verfahren und Vorrichtung zur Fehlersimulation bei einer integrierten Halbleiterschaltung Ceased DE10053758A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000014962A JP2001208803A (ja) 2000-01-24 2000-01-24 半導体集積回路の故障シミュレーション方法および故障シミュレータ

Publications (1)

Publication Number Publication Date
DE10053758A1 true DE10053758A1 (de) 2001-08-09

Family

ID=18542334

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10053758A Ceased DE10053758A1 (de) 2000-01-24 2000-10-30 Verfahren und Vorrichtung zur Fehlersimulation bei einer integrierten Halbleiterschaltung

Country Status (3)

Country Link
US (1) US6975978B1 (de)
JP (1) JP2001208803A (de)
DE (1) DE10053758A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7225377B2 (en) 2000-06-08 2007-05-29 Advantest Corporation Generating test patterns used in testing semiconductor integrated circuit

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040078183A1 (en) * 2002-10-21 2004-04-22 Victor Drabkin System and method of system response testing and modeling
US7191113B2 (en) * 2002-12-17 2007-03-13 International Business Machines Corporation Method and system for short-circuit current modeling in CMOS integrated circuits
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
US7400167B2 (en) * 2005-08-16 2008-07-15 Altera Corporation Apparatus and methods for optimizing the performance of programmable logic devices
TW200622275A (en) * 2004-09-06 2006-07-01 Mentor Graphics Corp Integrated circuit yield and quality analysis methods and systems
GB0502829D0 (en) * 2005-02-11 2005-03-16 Ibm Connection error avoidance in apparatus connected to a power supply
US7266797B2 (en) * 2005-05-19 2007-09-04 International Business Machines Corporation Automated and electrically robust method for placing power gating switches in voltage islands
US7350170B2 (en) * 2005-06-01 2008-03-25 International Business Machines Corporation System and method for memory element characterization
US7362106B2 (en) * 2005-06-29 2008-04-22 Agilent Technologies, Inc. Methods and apparatus for non-contact testing and diagnosing of open connections on non-probed nodes
US7327148B2 (en) * 2005-06-29 2008-02-05 Agilent Technologies, Inc. Method for using internal semiconductor junctions to aid in non-contact testing
JP2007107905A (ja) * 2005-10-11 2007-04-26 Mitsubishi Electric Corp 基板給電評価用論理回路および基板給電評価方法
US7352170B2 (en) * 2006-06-13 2008-04-01 International Business Machines Corporation Exhaustive diagnosis of bridging defects in an integrated circuit including multiple nodes using test vectors and IDDQ measurements
US7295031B1 (en) * 2006-07-12 2007-11-13 Agilent Technologies, Inc. Method for non-contact testing of marginal integrated circuit connections
US20080126293A1 (en) * 2006-09-21 2008-05-29 International Business Machines Corporation Method and apparatus for dynamically creating scenario based test designs from hierarchical use cases
JP5141988B2 (ja) * 2007-04-23 2013-02-13 株式会社Lptex 半導体集積回路の2パターンテストにおける誤テスト回避型テスト入力生成方法
US20080263400A1 (en) * 2007-04-23 2008-10-23 Microsoft Corporation Fault insertion system
US8706467B2 (en) * 2008-04-02 2014-04-22 Synopsys, Inc. Compact circuit-simulation output
US7984353B2 (en) * 2008-08-29 2011-07-19 Advantest Corporation Test apparatus, test vector generate unit, test method, program, and recording medium
JP5161035B2 (ja) * 2008-10-29 2013-03-13 ルネサスエレクトロニクス株式会社 半導体集積回路の設計装置、設計方法およびプログラム
US8185336B2 (en) * 2008-10-30 2012-05-22 Advantest Corporation Test apparatus, test method, program, and recording medium reducing the influence of variations
US8526252B2 (en) * 2009-03-17 2013-09-03 Seagate Technology Llc Quiescent testing of non-volatile memory array
US9057764B2 (en) * 2011-10-27 2015-06-16 International Business Machines Corporation Detection of unchecked signals in circuit design verification
US8776006B1 (en) * 2013-02-27 2014-07-08 International Business Machines Corporation Delay defect testing of power drop effects in integrated circuits
JP6365467B2 (ja) * 2015-08-28 2018-08-01 株式会社デンソー 断線検出装置
CN105606300B (zh) * 2015-12-21 2018-01-26 合肥工业大学 一种电池供电式应变多维力传感器故障诊断系统
KR102592921B1 (ko) * 2015-12-31 2023-10-23 삼성전자주식회사 패턴 결함 검사 방법
CN106646174B (zh) * 2016-09-30 2018-03-16 浙江大学 一种应用于晶体管的高速三维电学特性测试系统
CN106596035B (zh) * 2016-12-07 2018-10-09 中国航天空气动力技术研究院 一种用于风洞应变式天平健康状态监控的装置
CN110597694A (zh) * 2019-08-09 2019-12-20 深圳木成林科技有限公司 一种监控前端页面的方法及终端
US10969429B1 (en) * 2019-08-13 2021-04-06 Cadence Design Systems, Inc. System and method for debugging in concurrent fault simulation
US11042679B1 (en) * 2020-08-31 2021-06-22 Siemens Industry Software Inc. Diagnosis resolution prediction
US12007431B2 (en) * 2021-08-27 2024-06-11 Taiwan Semiconductor Manufacturing Company Ltd. Test circuit and method for operating the same
CN116594830B (zh) * 2023-03-17 2024-03-01 芯华章科技(北京)有限公司 硬件仿真工具、调试方法和存储介质

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0232275A (ja) * 1988-07-22 1990-02-02 Hitachi Ltd 論理回路装置の遅延テストパターン作成方法
JPH02276980A (ja) * 1989-04-19 1990-11-13 Hitachi Ltd 論理回路のテストパターン生成方法及びその装置
US5321354A (en) * 1990-07-23 1994-06-14 Seiko Epson Corporation Method for inspecting semiconductor devices
US5483170A (en) * 1993-08-24 1996-01-09 New Mexico State University Technology Transfer Corp. Integrated circuit fault testing implementing voltage supply rail pulsing and corresponding instantaneous current response analysis
JPH07159496A (ja) * 1993-10-12 1995-06-23 At & T Global Inf Solutions Internatl Inc 集積回路の検査のための装置及びその方法
US5552744A (en) * 1994-08-11 1996-09-03 Ltx Corporation High speed IDDQ monitor circuit
JP2715956B2 (ja) * 1995-01-20 1998-02-18 日本電気株式会社 Iddqを用いたCMOS論理回路の故障箇所の絞り込み方法
US5953519A (en) * 1995-06-12 1999-09-14 Fura; David A. Method and system for generating electronic hardware simulation models
JP2783243B2 (ja) * 1996-02-06 1998-08-06 日本電気株式会社 Cmos集積回路の故障検出方法及び装置
US6175244B1 (en) * 1997-04-25 2001-01-16 Carnegie Mellon University Current signatures for IDDQ testing
JP2982741B2 (ja) 1997-05-13 1999-11-29 日本電気株式会社 集積回路の故障診断装置及びその記録媒体
US6182258B1 (en) * 1997-06-03 2001-01-30 Verisity Ltd. Method and apparatus for test generation during circuit design
US6031386A (en) * 1997-10-31 2000-02-29 Sandia Corporation Apparatus and method for defect testing of integrated circuits
JPH11265980A (ja) * 1998-03-17 1999-09-28 Matsushita Electric Ind Co Ltd 集積回路の故障検証方法
US6140832A (en) * 1998-06-05 2000-10-31 Raytheon Company Method of utilizing IDDQ tests to screen out defective parts
US6163763A (en) * 1998-10-06 2000-12-19 Cadence Design Systems, Inc. Method and apparatus for recording and viewing error data generated from a computer simulation of an integrated circuit
JP2001091568A (ja) * 1999-09-17 2001-04-06 Advantest Corp 半導体集積回路の試験装置及び試験方法
US6513137B1 (en) * 1999-10-18 2003-01-28 Cardiac Pacemakers, Inc. Test method and apparatus using energy consumption ratio
JP4174167B2 (ja) * 2000-04-04 2008-10-29 株式会社アドバンテスト 半導体集積回路の故障解析方法および故障解析装置
JP4336029B2 (ja) * 2000-06-19 2009-09-30 株式会社アドバンテスト 半導体集積回路の故障シミュレーション方法および故障シミュレータ

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7225377B2 (en) 2000-06-08 2007-05-29 Advantest Corporation Generating test patterns used in testing semiconductor integrated circuit
US7225378B2 (en) 2000-06-08 2007-05-29 Advantest Corporation Generating test patterns used in testing semiconductor integrated circuit
US7254764B2 (en) 2000-06-08 2007-08-07 Advantest Corporation Generating test patterns used in testing semiconductor integrated circuit

Also Published As

Publication number Publication date
US6975978B1 (en) 2005-12-13
JP2001208803A (ja) 2001-08-03

Similar Documents

Publication Publication Date Title
DE10053758A1 (de) Verfahren und Vorrichtung zur Fehlersimulation bei einer integrierten Halbleiterschaltung
DE10191490B4 (de) Verfahren und Vorrichtung zur Defektanalyse von integrierten Halbleiterschaltungen
DE10129329A1 (de) Fehlersimulationsverfahren und Fehlersimulator für einen Halbleiter-IC
DE3689228T2 (de) Verfahren zur Modellierung und zur Fehlersimulation von komplementären Metalloxidhalbleiterschaltungen.
DE10127337A1 (de) Verfahren und Vorrichtung zum Erzeugen von beim Testen von Halbleiter-ICs verwendeten Testmustern
DE3825260C2 (de) Verfahren zur fehlerdiagnose an elektrischen schaltungen und anordnung zum durchfuehren des verfahrens
DE68925813T2 (de) Verfahren und vorrichtung zum nachweis von fehlern in halbleiterschaltungen
DE10045671B4 (de) Testvorrichtung und Testverfahren für eine integrierte Halbleiterschaltung
DE4110551C1 (de)
DE4417573A1 (de) System und Verfahren zum Erfassen von Kurzschlüssen, Leerläufen und verbundenen Anschlußstiften auf einer gedruckten Leiterplatte unter der Verwendung eines automatischen Testgeräts
EP0685087B1 (de) Selbsttestverfahren für nicht-reguläre cmos-schaltstrukturen mit hoher defekterfassung
DE3702408C2 (de)
DE69017169T2 (de) Testen integrierter Schaltungen unter Verwendung von Taktgeberstössen.
DE3889140T2 (de) On-chip, On-line-Wechselstrom und Gleichstromfehlererkennungssystem für Taktbaum.
DE2615787C2 (de) Schaltungsanordnung zur Bestimmung der Signalverzögerungszeit monolithisch integrierter digitaler Halbleiterschaltungen
DE69406942T2 (de) Abtastprüfungsschaltung mit schnellem übertragungsgateschalter
EP1217630A2 (de) Verfahren zur Prüfung von einer integrierten Schaltung
DE19601862C2 (de) Vorrichtung und Verfahren zur Entdeckung von fehlerhaften Logikteilschaltungen mittels eines anomalen Ruheversorgungsstroms
DE3686989T2 (de) Verminderung des rauschens waehrend des pruefens von integrierten schaltungschips.
DE19903606A1 (de) Halbleiteranordnung und Verfahren zum Entwurf der Halbleiteranordnung
DE10341836B4 (de) Testvorrichtung zum Testen von elektrischen Schaltungen sowie Verfahren zum parallelen Testen von elektrischen Schaltungen
DE69419589T2 (de) Verfahren zum prüfgerechten Entwurf von CMOS und BICMOS IC&#39;s
DE3486064T2 (de) Logische schaltung mit eingebauter selbsttestfunktion.
DE19528733C1 (de) Integrierte Schaltung
EP0733910B1 (de) Platine mit eingebauter Kontaktfühlerprüfung für integrierte Schaltungen

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection