DE102013114558A1 - Ausschneiden-bei-der Diagnose (CID) - Ein Verfahren zur Verbesserung des Durchsatzes des Vorgangs für Anhebung der Ausbeute - Google Patents

Ausschneiden-bei-der Diagnose (CID) - Ein Verfahren zur Verbesserung des Durchsatzes des Vorgangs für Anhebung der Ausbeute Download PDF

Info

Publication number
DE102013114558A1
DE102013114558A1 DE102013114558.2A DE102013114558A DE102013114558A1 DE 102013114558 A1 DE102013114558 A1 DE 102013114558A1 DE 102013114558 A DE102013114558 A DE 102013114558A DE 102013114558 A1 DE102013114558 A1 DE 102013114558A1
Authority
DE
Germany
Prior art keywords
candidate
group
faulty
integrated circuit
design
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.)
Granted
Application number
DE102013114558.2A
Other languages
English (en)
Other versions
DE102013114558B4 (de
Inventor
Vishal Mehta
Bruce Cory
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.)
Nvidia Corp
Original Assignee
Nvidia 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 Nvidia Corp filed Critical Nvidia Corp
Publication of DE102013114558A1 publication Critical patent/DE102013114558A1/de
Application granted granted Critical
Publication of DE102013114558B4 publication Critical patent/DE102013114558B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
    • 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/31707Test strategies

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Testing Or Measuring Of Semiconductors Or The Like (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

Es ist ein Verfahren zur Erkennung von einem Kandidaten für eine fehlerhafte Schaltung in einer integrierten Schaltung (IC) offenbart. Das Verfahren umfasst die Rückwärtsverfolgung ausgehend von mindestens einem fehlerhaften Ausgang der IC, um einen entsprechenden Eingangskegel für jeden fehlerhaften Ausgang unter Anwendung von Simulationswerten zu ermitteln, die aus einer fehlerfreien Simulation eines Entwurfs der IC ermittelt sind. Ferner umfasst es die Ermittelung einer ersten Gruppe an verdächtigen Fehlerkandidaten für jeden fehlerhaften Ausgang, wobei jeder verdächtige Fehlerkandidat potentiell einem fehlerhaften Element in der IC entspricht. Als nächstes umfasst es die vorwärtsgerichtete Verfolgung ausgehend von jedem Verdächtigen in der ersten Gruppe, um eine zweite Gruppe an Verdächtigen zu ermitteln, die eine kleinere Teilmenge der ersten Gruppe ist. Schließlich umfasst das Verfahren die Ermittelung eines fehlerhaften Blocks aus dem IC-Entwurf, wobei der fehlerhafte Block verdächtige Fehlerkandidaten aus der zweiten Gruppe umfasst und unabhängig zu dem vollständigen Entwurf simuliert werden kann.

Description

  • GEBIET DER ERFINDUNG
  • Ausführungsformen gemäß der vorliegenden Erfindung betreffen allgemein die Herstellung integrierter Schaltungen (IC) aus Halbleitern und insbesondere ein Verfahren und ein System zur Verbesserung der Geschwindigkeit des Prozesses zur Anhebung der Ausbeute während der IC-Herstellung.
  • HINTERGRUND DER ERFINDUNG
  • Die Halbleiter-IC-Herstellung ist ein an sich komplexer Ablauf, beginnend mit dem Entwurf eines neuen Chips, über einen streng vorgegebenen Fertigungsvorgang bis hin zu der Produktprüfung und der Verteilung. Die Datenanalyse, die zu Überwachung und zur Verbesserung der Ausbeute erforderlich ist, ist eine wesentliche Herausforderung, insbesondere da bei Technologien mit zunehmend kleiner werdenden Strukturgrößen die Datenvolumina stark ansteigen und sehr vielseitig werden. Produktspezifische Entwurf-Prozess-Test-Verfahren haben zunehmend den Weg für grundlegende Diagnosen erschwert, wodurch es für Ingenieure schwierig ist, ein klares Verständnis über die Natur der begrenzenden Faktoren für die Ausbeute zu erlangen, wodurch die Geschwindigkeit des Vorgangs zur Anhebung der Ausbeute verlangsamt wird.
  • Die Geschwindigkeit des Vorgangs zur Anhebung der Ausbeute ist kritisch in der Halbleiterindustrie für die Zeitdauer bis zur Vermarktung. Die Ermittelung der grundsätzlichen Ursache eines Fehlverhaltens in der IC ist die entscheidende Aufgabe bei dem Vorgang, die Ausbeute hochzufahren. Konventionelle auf Software beruhende Verfahren für die Ursachenforschung sind tendenziell sehr langsam und für große Entwürfe, beispielsweise eine zentrale Recheneinheit (CPU) oder eine grafische Verarbeitungseinheit (GPU) ressourcenintensiv. Es kann beispielsweise bis zu zwei Tage in einem Prüfsystem mit 256 Gigabytes (GB) an Speicher dauern, um den Grund eines Fehlers für einen fehlerhaften GPU-Chip zu ermitteln. Wenn daher eine Scheibe mit 100 Chips 50 Chips aufweist, die fehlerhaft sind, kann es bis zu 100 Tage dauern, um den Grund des Fehlers für alle Chips zu ermitteln. Dieser Grad an Verzögerung ist nicht akzeptabel.
  • Der Kauf mehrerer Testsysteme mit hoher Kapazität und das parallele Betreiben dieser Systeme bietet keine adäquate Lösung. Anlagen mit hoher Kapazität mit über 256 GB an Speicher sind teuer und der Kapitalaufwand, der zum Kauf mehrerer derartiger Anlagen erforderlich ist, um diese parallel betreiben zu können, ist sehr groß. Da ferner die auf Software beruhenden Prozeduren für die Fehlersuche den gesamten Entwurf bzw. das gesamte Design des Chips auf diesem Testsystemen unter Anwendung von Testmustern, die von den Design-für-Test (DFT) Ingenieuren bereitgestellt werden, simulieren, sind sie extrem langsam. Ein Grund für die Langsamkeit ist die unnötige Simulation des gesamten Entwurfs, wenn der den Fehler hervorrufende Defekt nur einen kleinen Teil des gesamten Chips bildet. Beispielsweise kann in einer GPU mit 150 Millionen Zellen lediglich eine einzelne Zelle von einem Defekt betroffen sein. Oder ein Partikeldefekt beeinflusst gegebenenfalls lediglich ungefähr einen Quadratmikrometer an Chipfläche, während der gesamte Chip mehr als 500 Quadratmillimeter aufweisen kann. Eine konventionelle Simulationssoftware wird dennoch den gesamten Entwurf simulieren, obwohl die Diagnose und die Simulation nur für eine kleine Gruppe an Zellen erforderlich ist, um die Ursachenanalyse an der Position des Defekts auszuführen.
  • KURZER ÜBERBLICK ÜBER DIE ERFINDUNG
  • Was daher benötigt wird, ist ein effizientes, schnelles und kostengünstiges System und ein Verfahren zur Ausführung einer Ursachenanalyse für fehlerhafte Chips, wobei die Notwendigkeit vermieden wird, den Entwurf für einen gesamten Chip zu simulieren, wenn der den Fehler hervorrufende Defekt in einem relativ kleinen Bereich des Chips lokalisiert wird.
  • Ausführungsformen der vorliegenden Erfindung stellen Lösungen für die Herausforderungen, die mit der Beschleunigung des Vorgangs zur Anhebung der Ausbeute verknüpft sind, bereit. Eine Ausführungsform der vorliegenden Erfindung ermittelt in intelligenter Weise Logik, die von dem Defekt beeinflusst ist, und löst diese aus dem gesamten Entwurf des Chips heraus und erzeugt einen kleineren Entwurf. Nachfolgend werden auf Software beruhende Simulationen an dem kleineren Entwurf ausgeführt, um eine mögliche Schaltung zur Verwendung bei der Isolierung der Defektposition bereitzustellen. Dieses von der vorliegenden Erfindung gelehrte Verfahren kann als „Ausschneiden bei der Diagnose (CID)” bezeichnet werden.
  • In einer Ausführungsform ist ein Verfahren zur Erzeugung von einem Kandidaten für eine fehlerhafte Schaltung (producing candidate faulty circuitry) in einer integrierten Schaltung (IC) offenbart. Das Verfahren umfasst die Zurückverfolgung von mindestens einem fehlerhaften Ausgang der IC, um einen entsprechenden Eingangskonus für jeden fehlerhaften Ausgang unter Anwendung von Simulationswerten zu ermitteln, die aus einer fehlerfreien Simulation eines Entwurfs der IC erhalten werden. Ferner umfasst das Verfahren die Ermittelung einer ersten Gruppe an verdächtigen Fehlerkandidaten für jeden fehlerhaften Ausgang, wobei jeder verdächtige Fehlerkandidat möglicherweise zu einem defekten Element in der IC korrespondiert. Als nächstes umfasst das Verfahren die Verfolgung in Vorwärtsrichtung jedes Verdächtigen aus der ersten Gruppe, um eine zweite Gruppe an Verdächtigen zu ermitteln, die eine eingegrenzte Teilmenge der ersten Gruppe ist. Schließlich umfasst das Verfahren die Ermittelung eines fehlerhaften Blocks aus dem IC-Entwurf, wobei der fehlerhafte Block verdächtige Fehlerkandidaten aus der zweiten Gruppe umfasst und unabhängig von dem vollständigen Entwurf simuliert werden kann.
  • In einer weiteren Ausführungsform ist ein computerlesbares Speichermedium offenbart, das darauf gespeichert computerausführbare Befehle enthält, die, wenn sie von einem Computersystem ausgeführt werden, das Computersystem veranlassen, ein Verfahren zur Erzeugung von einem Kandidaten für eine fehlerhafte Schaltung in integrierten Schaltungen auszuführen. Das Verfahren umfasst die Zurückverfolgung von mindestens einem fehlerhaften Ausgang der IC, um einen entsprechenden Eingangskegel für jeden fehlerhaften Ausgang unter Verwendung von Simulationswerten zu ermitteln, die aus einer fehlerfreien Simulation eines Entwurfs der IC erhalten wurden. Ferner umfasst es die Ermittelung einer ersten Gruppe an verdächtigen Fehlerkandidaten für jeden fehlerhaften Ausgang, wobei jeder verdächtige Fehlerkandidat potentiell zu einem fehlerhaften Element in der IC korrespondiert. Als nächstes umfasst es, die Verfolgung in Vorwärtsrichtung ausgehend von jedem Verdächtigen in der ersten Gruppe, um eine zweite Gruppe an Verdächtigen zu ermitteln, die eine eingegrenzte Teilmenge der ersten Gruppe ist. Schließlich umfasst das Verfahren die Ermittelung eines fehlerhaften Blocks aus dem IC-Entwurf, wobei der fehlerhafte Block verdächtige Fehlerkandidaten aus der zweiten Gruppe umfasst und unabhängig zu dem vollständigen Entwurf simuliert werden kann.
  • In einer anderen Ausführungsform wird ein Prüfsystem offenbart. Das Prüfsystem umfasst eine Eingabeschnittstelle zum Einlesen eines Prüfprotokolls, wobei das Prüfprotokoll Information enthält, die beobachtete Antworten betrifft, die an mehreren fehlerhaften Ausgängen während der Hardware-Prüfung und einer Sondierung eines Chips (die) aufgezeichnet wurden. Es umfasst ferner einen Speicher zur Speicherung eines Entwurfs einer integrierten Schaltung, die dem Chip entspricht, und von Simulationswerten, die aus einer Simulation des Entwurfs der integrierten Schaltung erzeugt sind. Ferner umfasst es einen Prozessor, der ausgebildet ist, um: (a) eine Rückverfolgung aus mehreren fehlerhaften Ausgängen vorzunehmen, die mit dem Entwurf der integrierten Schaltung verknüpft sind, um einen entsprechenden Eingangskegel für jeden fehlerhaften Ausgang unter Anwendung von Simulationswerten zu ermitteln, die aus einer fehlerfreien Simulation des Entwurfs der integrierten Schaltung erhalten werden. Ferner umfasst es die Ermittlung einer ersten Gruppe an verdächtigen Fehlerkandidaten für jeden fehlerhaften Ausgang, wobei jeder verdächtige Fehlerkandidat möglicherweise zu einem Defekt in der integrierten Schaltung korrespondiert, der für die Erzeugung eines fehlerhaften Ergebnisses an einem entsprechenden fehlerhaften Ausgang verantwortlich ist; (c) Zurückverfolgen ausgehend von jedem verdächtigen Fehlerkandidaten in der ersten Gruppe, um eine zweite Gruppe an verdächtigen Fehlerkandidaten zu ermitteln, wobei die zweite Gruppe eine eingegrenzte Teilmenge der ersten Gruppe ist, und wobei jeder Verdächtige Fehlerkandidat in der zweiten Gruppe eine höhere Wahrscheinlichkeit hat, zu einem Defekt in der integrierten Schaltung zu korrespondieren, als jeder verdächtige Fehlerkandidaten der ersten Gruppe; und (i) Ermitteln eines fehlerhaften Blocks aus dem Entwurf der integrierten Schaltung, wobei der fehlerhafte Block verdächtige Fehlerkandidaten aus der zweiten Gruppe umfasst, und wobei der fehlerhafte Block unabhängig von dem Entwurf simuliert werden kann.
  • Die folgende detaillierte Beschreibung zusammen mit den begleitenden Zeichnungen ist angegeben für ein besseres Verständnis der Natur und der Vorteile der vorliegenden Erfindung.
  • KURZER BESCHREIBUNG DER ZEICHNUNGEN
  • Ausführungsformen der vorliegenden Erfindung sind beispielhaft und nicht einschränkend in den Figuren der begleitenden Zeichnungen dargestellt, in denen gleiche Bezugszeichen gleiche Elemente bezeichnen.
  • 1 ist eine Blockansicht eines Beispiels eines Rechensystems, in welchem Ausführungsformen der vorliegenden Offenbarung realisiert werden können.
  • 2 ist eine schematische Blockansicht einer automatisierten Testanlagen, die zum Prüfen von Halbleiter-IC-Chips verwendet wird.
  • 3 zeigt ein Bild eines Elektronenmikroskops, wobei ein anschaulicher Defekt in Form einer Öffnung im Detail gezeigt ist.
  • 4 zeigt einen anschaulichen fehlerhaften Block in dem Chip-Entwurf mit der Logik, die von dem Defekt betroffen ist, die unter Anwendung des Auschneiden-bei-der-Diagnose-(CID-)Werkzeugs gemäß einer Ausführungsform der vorliegenden Erfindung herausgelöst werden kann.
  • 5A ist eine Blockansicht, in der ein anschaulicher Prozessablauf für eine allgemeine Diagnoseprozedur gezeigt ist, die zur Auswahl der Liste verdächtiger Fehler verwendet wird, um einen fehlerhaften Block in dem Chip-Entwurf gemäß einer Ausführungsform der vorliegenden Erfindung zu ermitteln.
  • 5B ist eine Blockansicht, die die Unterteilung für die Diagnose zeigt, die angewendet wird, um die fehlerhaften Blöcke, die mit dem fehlerhaften Ausgang verknüpft sind, gemäß einer Ausführungsform der vorliegenden Erfindung zu ermitteln.
  • 6 ist eine Blockansicht, die einen anschaulichen Prozessablauf zur Fehlererkundung in einer fehlerhaften IC zeigt, wobei die Ursache des Fehlers unter Anwendung des CID-Werkzeugs ermittelt wird, wodurch gemäß einer Ausführungsform der vorliegenden Erfindung der Ausbeute verbessert wird.
  • 7 zeigt ein Flussdiagramm 640 eines anschaulichen Prozesses zur Ermittelung eines Kandidaten einer fehlerhaften Schaltung unter Anwendung der CID-Prozeduren gemäß einer Ausführungsform der vorliegenden Erfindung.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
  • Es wird nun detailliert auf diverse Ausführungsformen der vorliegenden Offenbarung Bezug genommen, wovon Beispiele in den begleitenden Zeichnungen dargestellt sind. Obwohl sie in Verbindung mit diesen Ausführungsformen beschrieben sind, ist zu beachten, dass sie nicht beabsichtigen, die Offenbarung auf diese Ausführungsformen einzuschränken. Vielmehr beabsichtigt die Offenbarung, Alternativen, Modifizierungen und Äquivalente abzudecken, die in dem Grundgedanken und dem Schutzbereich der Offenbarung, wie sie durch die angefügten Patentansprüche definiert ist, enthalten sind. Ferner sind in der folgenden detaillierten Beschreibung der vorliegenden Offenbarung zahlreiche spezielle Details angegeben, um ein gründlicheres Verständnis der vorliegenden Offenbarung zu ermöglichen. Es ist jedoch zu beachten, dass die vorliegende Offenbarung auch ohne diese speziellen Details praktiziert werden kann. In anderen Fällen sind gut bekannte Verfahren, Prozeduren, Komponenten und Schaltungen nicht detailliert beschrieben, um Aspekte der vorliegenden Offenbarung nicht unnötig zu verdunkeln.
  • Einige Teile der detaillierten Beschreibungen, die folgen, sind in Begriffen von Prozeduren, Logikblöcken, Verarbeitung und anderen symbolischen Darstellungen von Operationen an Datenbits innerhalb eines Computerspeichers angegeben. Diese Beschreibungen und Darstellungen sind die Mittel, die der Fachmann in der Datenverarbeitung verwendet, um in höchst effizienter Weise den Inhalt seiner Arbeit einem anderen Fachmann zu vermitteln. In der vorliegenden Anmeldung wird eine Prozedur, ein Logikblock, ein Prozess oder dergleichen als eine selbstkonsistente Sequenz aus Schritten oder Befehlen verstanden, die zu einem gewünschten Ergebnis führt. Die Schritte sind solche, die physikalische Manipulationen von physikalischen Größen verwenden. Für gewöhnlich, obwohl dies nicht notwendig ist, nehmen diese Größen die Form elektrischer oder magnetischer Signale an, die in einem Computersystem gespeichert, übertragen, kombiniert, verglichen oder anderweitig bearbeitet werden können. Es hat sich zu Zeiten als bequem erwiesen, insbesondere aus Gründen der üblichen Verwendung, diese Signale als Transaktionen, Bits, Werte, Elemente, Symbole, Zeichen, Abtastwerte, Pixel oder dergleichen zu bezeichnen.
  • Es sollte ferner beachtet werden, dass alle diese und ähnliche Begriffe mit geeigneten physikalischen Größen zu verknüpfen sind und lediglich bequeme Namen sind, die diesen Größen zugeordnet sind. Sofern dies nicht anderweitig angegeben ist oder aus der folgenden Erläuterung hervorgeht, ist zu beachten, dass durchwegs in der vorliegenden Offenbarung Erläuterungen unter Verwendung von Begriffen, etwa „Ermittlung”, „Simulierung”, „Verfolgung”, „Extrahierung bzw. Herauslösung”, oder dergleichen Aktionen und Prozesse (beispielsweise Flussdiagramm 640 aus 7) eines Computersystems oder einer ähnlichen elektronischen Recheneinrichtung oder eines Prozessors (beispielsweise System 110 aus 1) bezeichnen. Das Computersystem oder eine ähnliche elektronischen Recheneinheit manipuliert und transformiert Daten, die als physikalische (elektronische) Größen in den Speichern, Registern oder anderen derartigen Informationsspeichern des Computersystems, einer Übertragung oder Anzeigegeräten enthalten sind.
  • Die hierin beschriebenen Ausführungsformen können im allgemeinen Zusammenhang mit Computer ausführbaren Befehlen erläutert sein, die in einer gewissen Form eines computerlesbaren Speichermediums, etwa in Programmmodulen, enthalten sind, die von einem oder mehreren Computern oder anderen Geräten ausgeführt werden. Beispielsweise, ohne Einschränkung, können computerlesbare Speichermedien nicht-flüchtige computerlesbare Speichermedien und Kommunikationsmedien umfassen; nicht-flüchtige computerlesbare Medien umfassen alle computerlesbaren Medien mit Ausnahme eines flüchtigen, sich ausbreitenden Signals. Generell umfassen Programmmodule Routinen, Programme, Objekte, Komponenten, Datenstrukturen usw., die spezielle Aufgaben ausführen oder spezielle abstrakte Datentypen realisieren. Die Funktion der Programmmodule kann kombiniert oder verteilt werden, wie dies in diversen Ausführungsformen gewünscht ist.
  • Computerspeichermedien umfassen flüchtige und nicht flüchtige, entfernbare und stationäre Medien, die ein beliebiges Verfahren oder eine Technik zur Speicherung von Information realisieren, etwa computerlesbare Befehle, Datenstrukturen, Programmmodule oder andere Daten. Zu Computerspeichermedien gehören, ohne Einschränkung, Speicher mit wahlfreiem Zugriff (RAM), Nur-Lese-Speicher (ROM), elektrisch löschbare programmierbare ROM (EEPROM), Flash-Speicher oder andere Speichertechniken, Kompaktdisketten (CD-), digitale Vielseitigkeitsdisketten (DVD) oder andere optische Speicher, magnetische Kassetten, Magnetbänder, magnetische Diskettenspeicher oder andere magnetische Speichereinrichtungen, oder ein anderes Medium, das verwendet werden kann, um die gewünschte Information zu speichern, und auf das zugegriffen werden kann, um diese Information abzurufen.
  • Kommunikationsmedien können computerausführbare Befehle, Datenstrukturen und Programmmodule verkörpern und können beliebige Informationsauslieferungsmedien umfassen. Beispielsweise, ohne Einschränkung, umfassen Kommunikationsmedien verdrahtete Medien, etwa ein verdrahtetes Netzwerk oder eine direkt verdrahtete Verbindung, und drahtlose Medien, etwa akustische, Hochfrequenz-(HF), Infrarot- und andere drahtlose Medien. Kombinationen beliebiger der vorhergehenden Komponenten sind ebenfalls im Bereich der computerlesbare Medien.
  • 1 ist eine Blockansicht eines Beispiels eines Rechensystems 110, das zur Realisierung des Ausschneiden-bei-der Diagnose-(CID-)Werkzeugs der vorliegenden Offenbarung geeignet ist. Das Rechensystem 110 repräsentiert in breiter Weise eine Recheneinrichtung mit einem einzelnen Prozessor oder Multiprozessor oder ein System, das in der Lage ist, computerlesbare Befehle auszuführen. Zu Beispielen des Rechensystems 110 gehören, ohne Einschränkung, Arbeitsplatzrechner, mobile Rechner, Endgeräte auf der Klientenseite, Dienstleister-Rechner, verteilte Rechensysteme, Handgeräte oder ein anderes Rechensystem oder ein Gerät. In der grundlegendsten Konfiguration kann das Rechensystem 110 zumindest einen Prozessor 114 und einen Systemspeicher 116 umfassen.
  • Der Prozessor 114 repräsentiert generell eine beliebige Art oder Form einer Verarbeitungseinheit, die in der Lage ist, eine Datenverarbeitung auszuführen oder Befehle zu interpretieren und auszuführen. In gewissen Ausführungsformen kann der Prozessor 114 Befehle aus einer Software-Anwendung oder einem Modul empfangen. Diese Befehle können den Prozessor 114 veranlassen, die Funktionen eines oder mehrerer der anschaulichen Ausführungsformen, die hierin beschrieben und/oder dargestellt sind, auszuführen.
  • Der Systemspeicher 116 repräsentiert allgemein eine beliebige Art oder Form eines flüchtigen oder nicht flüchtigen Speichergeräts oder Mediums, das in der Lage ist, Daten und/oder andere computerlesbare Befehle zu speichern. Zu Beispielen des Systemspeichers 116 gehören, ohne Einschränkung, RAM, ROM, Flash-Speicher oder eine andere geeignete Speichereinrichtung. Obwohl nicht erforderlich, kann in gewissen Ausführungsformen das Rechensystem 110 sowohl eine flüchtige Speichereinheit (beispielsweise den Systemspeicher 116) als auch eine nicht-flüchtige Speichereinrichtung (beispielsweise eine primäre Speichereinrichtung 132) aufweisen.
  • Das Rechensystem 110 kann ferner eine oder mehrere Komponenten oder Elemente zusätzlich zu dem Prozessor 114 und den Systemspeicher 116 aufweisen. Beispielsweise umfasst in der Ausführungsform aus 1 das Rechensystem 110 eine Speichersteuerung 118, eine Eingabe/Ausgabe-(I/O-)Steuerung 120 und eine Kommunikationsschnittstelle 122, wobei jede dieser Komponenten mit den anderen über eine Kommunikationsinfrastruktur 112 verbunden sein kann. Die Kommunikationsinfrastruktur 112 repräsentiert generell eine beliebige Art oder Form einer Infrastruktur, die in der Lage ist, eine Kommunikation zwischen einer oder mehreren Komponenten einer Recheneinrichtung zu ermöglichen. Zu Beispielen der Kommunikationsinfrastruktur 112 gehören, ohne Einschränkung, ein Kommunikationsbus (etwa eine Industrie Standard Architektur (ISA), eine periphere Komponenten-Verbindung (PCI), PCI-Express (PCIe) oder ein ähnlicher Bus) und ein Netzwerk.
  • Die Speichersteuerung 118 repräsentiert generell eine beliebige Art oder Form einer Einrichtung, die in der Lage ist, einen Speicher oder Daten zu handhaben oder die Kommunikation zwischen einer oder mehreren Komponenten des Rechensystems 110 zu steuern. Beispielsweise kann die Speichersteuerung 118 die Kommunikation zwischen dem Prozessor 114, dem Systemspeicher 116 und der I/O-Steuerung 120 über die Kommunikationsinfrastruktur 112 steuern.
  • Die I/O-Steuerung 120 repräsentiert generell eine beliebige Art oder Form eines Moduls, das in der Lage ist, die Eingabe- und Ausgabefunktionen einer Recheneinrichtung zu koordinieren und/oder zu steuern. Beispielsweise kann die I/O-Steuerung 120 den Transfer von Daten zwischen einem oder mehreren Elementen des Rechensystems 110, etwa zwischen dem Prozessor 114, dem Systemspeicher 116, der Kommunikationsschnittstelle 122, einem Anzeigeadapter 126, einer Eingabeschnittstelle 130 und einer Speicherschnittstelle 134 koordinieren und/oder steuern.
  • Die Kommunikationsschnittstelle 122 repräsentiert ganz allgemein eine beliebige Art oder Form einer Kommunikationseinrichtung oder eines Adapters, die bzw. der in der Lage ist, eine Kommunikation zwischen dem anschaulichen Rechensystem 110 und einem oder mehreren weiteren Geräten zu ermöglichen. Beispielsweise kann die Kommunikationsschnittstelle 122 eine Kommunikation zwischen dem Rechensystem 110 und einem privaten oder öffentlichen Netzwerk ermöglichen, das weitere Rechensysteme enthalten kann. Zu Beispielen der Kommunikationsschnittstelle 122 gehören, ohne Einschränkung: eine verdrahtete Netzwerkschnittstelle (etwa eine Netzwerkschnittstellenkarte), eine drahtlose Netzwerkschnittstelle (etwa eine drahtlose Netzwerkschnittstellenkarte), ein Modem und jede andere geeignete Schnittstelle. In einer Ausführungsform stellt die Kommunikationsschnittstelle 122 eine direkte Verbindung zu einem entfernten Dienstleister über eine direkte Verbindung zu dem Netzwerk, etwa dem Internet, her. Die Kommunikationsschnittstelle 122 kann ferner indirekt eine derartige Verbindung über eine andere geeignete Verbindung herstellen.
  • Die Kommunikationsschnittstelle 122 kann auch einen übergeordneten Adapter repräsentieren, der ausgebildet ist, eine Kommunikation zwischen dem Rechensystem 110 und einem oder mehreren weiteren Netzwerk- oder Speichereinrichtungen über einen externen Bus oder einen Kommunikationskanal zu ermöglichen. Zu Beispielen von übergeordneten Adaptern bzw. Hauptadaptern gehören, ohne Einschränkung, Klein-Computer-System-Schnittstelle(SCSI-)Hauptadapter, universelle serielle Bus-(USB-)Hauptadapter, IEEE-(Institut für Elektroingenieure und Elektrotechnikingenieure)1394-Hauptadapter, serielle Erweiterte Zusatztechnik-(SATA) und externe SATA-(eSATA)Hauptadapter, Erweiterte Zusatztechnik (ATA) und parallele ATA (PATA) Hauptadapter, Schnittstellenadapter für Glasfaserkanäle, Ethernet-Adapter und dergleichen. Die Kommunikationsschnittstelle 122 kann ferner ermöglichen, dass das Rechensystem 110 in eine verteilte oder entfernte Berechnung mit eingebunden wird. Beispielsweise kann die Kommunikationsschnittstelle 122 Befehle aus einem entfernten Gerät empfangen oder Befehle an ein entferntes Gerät zur Ausführung senden.
  • Wie in 1 gezeigt ist, kann das Rechensystem 110 ferner mindestens eine Anzeigeeinrichtung 124 aufweisen, die mit der Kommunikationsinfrastruktur 112 über einen Anzeigeadapter 126 verbunden ist. Die Anzeigeeinrichtungen 124 repräsentiert generell eine beliebige Art oder Form einer Einrichtung, die in der Lage ist, Information, die von dem Anzeigeadapter 126 zugeleitet ist, visuell anzuzeigen. In ähnlicher Weise repräsentiert der Anzeigeadapter 126 generell eine beliebige Art oder Form einer Einrichtung, die ausgebildet ist, Grafik, Text oder andere Daten für die Anzeige auf der Anzeigeeinrichtung 124 weiterzuleiten.
  • Wie in 1 gezeigt ist, kann das Rechensystem 110 ferner mindestens ein Eingabegerät 128 aufweisen, das mit der Kommunikationsinfrastruktur 112 über eine Eingabeschnittstelle 130 verbunden ist. Das Eingabegerät 128 repräsentiert generell eine beliebige Art oder Form einer Eingabeeinrichtung, die in der Lage ist, eine Eingabe, Computer-erzeugt oder Menschen-erzeugt, für das Rechensystem 110 bereitzustellen. Zu Beispielen des Eingabegeräts 128 gehören, ohne Einschränkung, eine Tastatur, ein Zeigergerät, eine Spracherkennungseinrichtung oder eine andere Eingabeeinrichtung.
  • Wie in 1 gezeigt ist, kann das Rechensystem 110 ferner eine primäre Speichereinrichtung 132 und eine Sicherungsspeichereinrichtung 133, die über eine Speicherschnittstelle 134 mit der Kommunikationsinfrastruktur 112 verbunden sind, umfassen. Die Speichereinrichtungen 132 und 133 der präsentierten generell eine beliebige Art oder Form einer Speichereinrichtungen oder eines Mediums, die bzw. das in der Lage ist, Daten und/oder andere computerlesbare Befehle zu speichern. Beispielsweise können die Speichereinrichtungen 132 und 133 ein Laufwerk mit magnetischer Diskette (beispielsweise eine so genannte Festplatte), ein Diskettenlaufwerk, ein Magnetbandlaufwerk, ein Laufwerk für eine optische Diskette, ein Flash-Laufwerk oder dergleichen sein. Die Speicherschnittstelle 134 repräsentiert generell eine beliebige Art oder Form einer Schnittstelle oder einer Einrichtung, um Daten zwischen den Speichereinrichtungen 132 und 133 und anderen Komponenten des Rechensystems 110 zu übertragen.
  • In einem Beispiel können Datenbanken 140 in der primären Speichereinrichtung 132 gespeichert sein. Die Datenbanken 140 können Teile einer einzelnen Datenbank oder einer Recheneinrichtung repräsentieren oder sie können mehrere Datenbanken oder Recheneinrichtungen repräsentieren. Beispielsweise können die Datenbanken 140 einen Teil des Rechensystems 110 repräsentieren (oder darin gespeichert sein) und/oder Teile einer anschaulichen Netzwerkarchitektur 200 in 2 (unten) repräsentieren. Alternativ können die Datenbanken 140 ein oder mehrere physikalische separate Einrichtungen repräsentieren (darauf gespeichert sein), die in der Lage sind, von einer Recheneinrichtung angesprochen zu werden, etwa dem Rechensystem 110 und/oder Bereichen der Netzwerkarchitektur 200.
  • Es sei weiterhin auf 1 verwiesen; die Speichereinrichtungen 132 und 133 können ausgebildet sein, eine entfernbare Speichereinheit zu lesen und/oder diese zu beschreiben, die ausgebildet ist, Computersoftware, Daten oder andere computerlesbare Information zu speichern. Zu Beispielen geeigneter entfernbarer Speichereinheiten gehören, ohne Einschränkung, eine Diskette, ein Magnetband, eine optische Diskette, eine Flash-Speichereinrichtung oder dergleichen. Die Speichereinrichtungen 132 und 133 können ferner ähnliche Strukturen oder Einrichtungen umfassen, die es ermöglichen, dass Computersoftware, Daten oder andere computerlesbare Befehle in das Rechensystem 110 geladen werden. Beispielsweise können die Speichereinrichtungen 132 und 133 ausgebildet sein, Software, Daten oder andere computerlesbare Befehle zu lesen und zu schreiben. Die Speichereinrichtungen 132 und 133 können auch Teil des Rechensystems 110 sein oder können separate Einrichtungen sein, auf die über andere Schnittstellensysteme zugegriffen werden kann.
  • Es können viele andere Geräte oder Subsysteme mit dem Rechensystem 110 verbunden sein. Ferner müssen nicht alle Komponenten und Einrichtungen, die in 1 gezeigt sind, vorhanden sein, um die hierin beschriebenen Ausführungsformen zu praktizieren. Die Einrichtungen und Subsysteme, die zuvor genannt sind, können in anderer Weise miteinander verbunden sein, wie dies in 1 gezeigt ist. Das Rechensystem 110 kann eine beliebige Anzahl an Software-, Firmware- und/oder Hardware-Konfigurationen einsetzen. Beispielsweise können die anschaulichen Ausführungsformen, die hierin offenbart sind, als ein Computerprogramm (auch als eine Computersoftware, Softwareanwendung, computerlesbare Befehle oder Computer-Steuerlogik bezeichnet) auf einem computerlesbaren Medium kodiert sein.
  • Das computerlesbare Medium, das das Computerprogramm enthält, kann in das Rechensystem 110 geladen werden. Das gesamte Computerprogramm oder ein Teil davon, das auf dem computerlesbare Medien gespeichert ist, kann dann in dem Systemspeicher 116 und/oder in diversen Bereichen der Speichereinrichtungen 132 und 133 gespeichert werden. Bei Ausführung durch den Prozessor 114 kann ein in das Rechensystem 110 eingeladene Computerprogramm den Prozessor 114 veranlassen, die Funktionen der anschaulichen hierin beschriebenen und/oder dargestellten Ausführungsformen auszuführen und/oder Mittel für deren Ausführung bereitzustellen. Zusätzlich oder alternativ können die anschaulichen hierin beschriebenen und/oder dargestellten Ausführungsformen in Firmware und/oder Hardware realisiert werden.
  • Beispielsweise kann ein Computerprogramm zur Realisierung der CID-Lösung der vorliegenden Erfindung auf dem computerlesbaren Medien gespeichert sein und kann dann in dem Systemspeicher 116 und/oder diversen Bereichen der Speichereinrichtungen 132 und 133 gespeichert werden. Bei Ausführung durch den Prozessor 114 kann das Computerprogramm den Prozessor 114 veranlassen, die Funktionen auszuführen und/oder Mittel für die Ausführung bereitzustellen, die für die Ausführung der CID-Prozedur, die nachfolgend detaillierter erläutert ist, erforderlich sind.
  • AUSSCHNEIDEN-BEI-DER-DIAGNOSE (CID) – EIN VERFAHREN ZUR VERBESSERUNG DES DURCHSATZES IN EINEM PROZESS ZUR ANHEBUNG DER AUSBEUTE
  • Die Diagnose für fehlerhafte IC-Bauelemente ist entscheidend für die Bereitstellung wertvoller Information im Hinblick auf die Position und die Art von Defekten, die in der IC während des Fertigungsprozesses auftreten. Eine statistische Ausbeuteanalyse wird durchgeführt, wobei die Diagnosedaten verwendet werden, um in effizienter Weise dominierende Defektmuster innerhalb der IC zu erkennen, und damit letztlich den Prozess zur Anhebung der Ausbeute zu verbessern.
  • Wie zuvor erläutert ist, ist die Geschwindigkeit des Prozesses zur Anhebung der Ausbeute entscheidend für das Maß der Zeitdauer bis zur Vermarktung in der Halbleiterindustrie. Die Bestimmung der Ursache des fehlerhaften Verhaltens in der IC ist die entscheidende Aufgabe in dem Vorgang zur Anhebung der Ausbeute. Jedoch neigen konventionelle Software-basierte Methoden zur Ursachenerforschung dazu, dass sie extrem langsam und ressourcenintensiv für große Entwürfe bzw. Designs sind. Beispielsweise kann für einen großen Entwurf mit Millionen von Gattern ein Diagnosewerkzeug bis zu Hunderte von Gigabyte an Speicher benötigen.
  • In dem Maße, wie die Anzahl der Gatter pro Chip anwächst, werden konventionelle Verfahren zur Ursachenforschung zunehmend unpraktikabel aufgrund der signifikanten Verarbeitungs- und Speicherressourcen, die benötigt werden, um große Entwürfe mit einer großen Anzahl an Gattern zu simulieren. Beispielsweise können in einer Fertigungsumgebung, etwa einer Fabrik, Tausende von fehlerhaften Bauteilen vorhanden sein, die innerhalb weniger Tage mit begrenzten Rechnerressourcen zu untersuchen sind. Unter Berücksichtigung der Randbedingungen für die Rechenleistung und die Zeit sind konventionelle Techniken zur Ursachenforschung zunehmend nicht in der Lage, die Diagnose eines derartigen großen Volumens an fehlerhaften Bauelementen zu handhaben. Aufgrund aktueller Laufzeitbeschränkungen verarbeiten tatsächlich IC-Entwickler typischerweise nur ausgewählte Chips in der Diagnoseprozedur zur Erforschung der Ursachen, die auf Software beruhen. Dies erhöht die Wahrscheinlichkeit, dass einige Defektprofile nicht erkannt werden.
  • Ausführungsformen der vorliegenden Erfindung stellen daher Lösungen für die Herausforderungen bereit, die mit der Beschleunigung des Vorgangs zur Anhebung der Ausbeute einhergehen. Eine Ausführungsform der vorliegenden Erfindung ermittelt intelligent die Logik, die von dem Defekt betroffen ist (im weiteren als der „fehlerhafte Block” bezeichnet) und löst diesen aus dem gesamten Entwurf des Chips heraus und erzeugt einen kleineren Entwurf bzw. ein kleineres Design. Nachfolgend werden die Softwaresimulationen mit dem kleineren Entwurf ausgeführt, um die Defektposition zu isolieren. Diese durch die vorliegende Erfindung gelehrte Prozedur wird als Ausschneiden-bei-der-Diagnose” (CID) bezeichnet. Die CID-Prozedur erhöht den Durchsatz bei der Massendiagnose, indem die Anzahl an fehlerhaften Chips vergrößert wird, die während einer gegebenen Zeitdauer geprüft werden kann. Ferner verwendet die CID-Prozedur wesentlich weniger Verarbeitungs- und Speicherressourcen im Vergleich zu konventionellen Verfahren zur Ursachenerforschung. Folglich beschleunigt das CID-Werkzeug den Vorgang der Anhebung der Ausbeute, indem die Simulation und die Diagnose fehlerhafter Chips mit einer hohen Geschwindigkeit unter Anwendung von deutlich weniger Ressourcen ausgeführt wird.
  • 2 ist eine schematische Blockansicht einer automatisierten Testanlage (ATE), die zur Prüfung von Halbleiter-IC-Chips verwendet wird. Die ATE-Vorrichtung 200 kann beispielsweise während des Fertigungsprozesses in einer Fabrik verwendet werden, um anfänglich zu ermitteln, welche der Bauelemente fehlerhaft sind. In einer Ausführungsform umfasst die Systemsteuerung 201 einen oder mehrere vernetzte Rechner. In einer Ausführungsform umfasst die Systemsteuerung nur einen einzelnen Computer. Die Systemsteuerung 201 ist die Steuereinheit für das Gesamtsystem und führt die Software für die ATE aus, die dafür verantwortlich ist, dass alle Prüfaufgaben auf Anwenderebene bewerkstelligt werden, wozu die Ausführung des Haupttestprogramms des Anwenders gehört. Das Prüfprogramm kann funktionale und andere notwendige Prüfungen beinhalten, die benötigt werden, um die angeschlossenen Bauelementen im Test (DUT) zu bewerten. In einer Ausführungsform können die DUT Halbleiter-IC-Bauelemente sein.
  • Der Kommunikator-Bus 215 stellt einen elektronischen Kommunikationskanal mit hoher Geschwindigkeit zwischen der Systemsteuerung und der Prüf-Hardware bereit. Der Kommunikator-Bus wird auch als Basisplattform, eine Modulverbindungseinheit, oder ein Systembus bezeichnet. Physikalisch ist der Kommunikator-Bus 215 ein schneller Duplex-Verbindungsbus mit hoher Bandbreite, der elektrisch, optisch usw. sein kann. Die Systemsteuerung 201 richtete die Bedingungen für die Prüfung der DUT 211-214 ein, indem die Prüf-Hardware durch Befehle, die über den Kommunikator-Bus 215 gesendet werden, programmiert wird.
  • Die Prüf-Hardware 202 umfasst die komplexe Gruppe an elektronischen und elektrischen Teilen und Verbindungselementen, die notwendig sind, um die Prüf-Stimuli (Test-Vektoren) den Bauteilen im Test (DUT) 211214 zuzuleiten und um die Antwort der DUT auf den Stimulus zu messen und diese mit dem erwarteten Ergebnis zu vergleichen.
  • Nachdem eine Sondierung durch die ATE-Vorrichtung 200 ausgeführt ist, werden die fehlerhaften Ausgänge bzw. Ausgaben der geprüften IC ermittelt. Es können dann Diagnoseprozeduren als Software ausgeführt werden, um den Grund für das fehlerhafte Verhalten zu ermitteln.
  • 3 zeigt ein Bild eines Elektronenmikroskops, wobei ein anschaulicher Defekt in Form einer Öffnung im Detail gezeigt ist. Ein Defekt in Form einer Öffnung ist ein Beispiel einer Art von Herstellungsdefekt, die zu dem fehlerhaften Verhalten führt, das in der Software unter Anwendung der CID-Prozedur der vorliegenden Erfindung ermittelt werden kann. Ein Defekt in Form einer Öffnung auf einer Leitung 310 ergibt sich, weil die Leitung 310 unbeabsichtigt während des Fertigungsprozesses unterbrochen wurde, wie in 3 gezeigt ist. Andere Arten von Fertigungsdefekten neben gebrochenen Schaltkreisen (Unterbrechungen), die zu einem fehlerhaften Verhalten führen, sind Kurzschlüsse (Brücken) oder Via-Blocks. In einer Ausführungsform der vorliegenden Erfindung wird der kritische Bereich oder der fehlerhafte Block, der Logikgatter und Netze umfasst, die von einem derartigen Defekt betroffen sind, aus dem gesamten Entwurf herausgelöst, wobei das CID-Werkzeug verwendet wird, und es werden Diagnoseprozeduren an dem herausgelösten Bereich des Entwurfs durchgeführt anstelle des gesamten Entwurfs, um die Defektposition zu isolieren.
  • 4 zeigt einen anschaulichen fehlerhaften Block in dem Chip-Entwurf, der die Logik umfasst, die von dem Defekt betroffen ist, und der unter Anwendung des CID-Werkzeugs gemäß einer Ausführungsform der vorliegenden Erfindung herausgelöst werden kann. Ein Chip-Entwurf bzw. Chip-Design 400, der in 4 gezeigt ist, kann beispielsweise ein ARN-Kernmodul 450, zwei Prozessordatenpfadmodule 430 und 440, ein digitales Logikblockmodul 420, ein I/O-Modul 450, eine Video-DAC-Modul 497, ein WiFi-Modul 495, ein Audiomodul 496, ein USB-Modul 460, ein PLL-Modul 480 und ein DDR SDRM-Schnittstellenmodul 490 umfassen.
  • In einer Ausführungsform der vorliegenden Erfindung wird, anstatt dass der gesamte Chip-Entwurf 400 simuliert wird, wirkt die CID-Prozedur als eine Zuordnungseinheit und extrahiert einen fehlerhaften Block 410, der mit einem Defekt verknüpft ist, wobei dies durch Software während des Diagnoseprozesses erfolgt. Sie simuliert dann den kleineren Entwurf stattdessen, der mit dem fehlerhaften Block 410 verknüpft ist. Vor der Herauslösung des fehlerhaften Blocks 410 muss jedoch das CID-Werkzeug zunächst eine Gruppe an verdächtigen Fehlerkandidaten ermitteln, die mit dem Defekt verknüpft sind, der den fehlerhaften Block 410 bildet. Anders ausgedrückt, das CID-Werkzeug muss zunächst die Logikgatter und Netze ermitteln, die den fehlerhaften Block bilden, bevor dieser aus dem Entwurf herausgelöst und als ein diskretes Modul simuliert werden kann.
  • 5A ist eine Blockansicht, in der ein anschaulicher Prozessablauf für eine allgemeine Diagnoseprozedur dargestellt ist, die verwendet werden kann, die Liste an möglichen Verdächtigen zu erstellen, um einen fehlerhaften Block in dem Chip-Entwurf gemäß einer Ausführungsform der vorliegenden Erfindung zu ermitteln. Beginnend mit dem fehlerhaften primären Ausgängen, die bei der Sondierung der Ausgänge eines IC-Chips beobachtet werden, die sich nach dem Fertigungsprozess ergeben, verwendet die CID-Prozedur eine Verfolgung kritischer Pfade oder „eine Rückverfolgung” durch die Schaltung, die in Software im Block 501 repräsentiert ist, um eine Gruppe verdächtiger Fehlerkandidaten zu ermitteln, die möglicherweise zu dem beobachteten Fehlerverhalten der IC führen könnten. Ein Pfad wird als kritisch erachtet, wenn seine Änderung bewirkt, dass die Ausgabe sich an fehlerhaften Betrachtungspunkten ändert. Die Verfolgung kritischer Pfade umfasst die Simulierung der fehlerfreien Schaltung und die Verwendung der berechneten Signalwerte, um den Pfad von den beobachteten fehlerhaften primären Ausgängen in Richtung zu den primären Eingängen, die diese Ausgänge speisen, zu verfolgen, um eine primäre Liste an verdächtigen Fehlerkandidaten für den erkannten Fehler im Block 502 zu ermitteln.
  • Im Block 503 wird eine vorwärtsgerichtete Pfadverfolgung eingesetzt, um die Liste an Verdächtigen noch weiter einzuschränken und um die Größe des fehlerhaften Blocks weiter einzuschränken, der von dem CID-Werkzeug verwendet wird. In einer Ausführungsform können die anfänglichen verdächtigen Kandidaten, die im Block 502 ermittelt werden, mit diversen Eingangs-Stimuli beaufschlagt werden, und die Ausgaben bzw. Ausgänge können in Vorwärtsrichtung verfolgt werden, um zu ermitteln, ob das Verhalten an den fehlerhaften Betrachtungspunkten dem Verhalten entspricht, das während der Sondierung der IC beobachtet wurde. Beispielsweise kann ein verdächtiger Kandidat mit einem Eingangsmuster beaufschlagt werden, von dem man weiß, dass es fehlerhafte Ergebnisse an einem der fehlerhaften primären Ausgänge erzeugt hat. Die Antwort an dem fehlerhaften Ausgang während der Simulation wird mit der beobachteten Antwort an dem fehlerhaften Ausgang während der Sondierung des fehlerhaften Chips verglichen. Wenn die Antwort nicht übereinstimmt, kann der verdächtige Kandidat aus der Liste der verdächtigten Fehlerkandidaten gestrichen werden. In ähnlicher Weise kann ein verdächtiger Kandidat auch mit einem Eingangsmuster beaufschlagt werden, von dem man weiß, dass es positive Ergebnisse an einem der fehlerhaften primären Ausgänge erzeugt hat. Wenn der verdächtige Kandidat fehlerhafte Ergebnisse während Simulation für dieses Eingangsmuster erzeugt, kann dieser ebenfalls aus der Liste der verdächtigen Kandidaten gestrichen werden. Auf diese Weise kann die vorwärtsgerichtete Verfolgung eingesetzt werden, um eine kleinere sekundäre Liste von verdächtigen Fehlern im Block 504 zu ermitteln, wodurch das CID-Werkzeug in die Lage versetzt wird, eine höhere Genauigkeit und bessere Auflösung zu erreichen. Die Verfolgung kritischer Pfade oder die Rückwärtsverfolgung und die vorwärtsgerichtete Verfolgung reduzieren zusammen den Suchraum und ermöglichen es dem CID-Werkzeug, einen zu simulierenden Entwurfsraum herauszulösen, der wesentlich kleiner als der ursprüngliche Entwurf ist.
  • Die sekundäre Liste an verdächtigen Fehlern wird dann verwendet, um den fehlerhaften Block zu simulieren, um den Kandidaten für eine fehlerhafte Schaltung, die dem Defekt entspricht, zu ermitteln. Die mögliche fehlerhafte Schaltung kann nachfolgend an eine Herstellungsstätte übermittelt werden, in der der physikalische Chip, der zu dem IC-Entwurf gehört, physikalisch an Positionen inspiziert werden kann, die der möglichen fehlerhaften Schaltung entsprechen, um die Ursache für den Defekt zu isolieren. Sobald der Defekt isoliert ist, kann einen Prozessänderung im Herstellungsprozess eingeführt werden, um den Defekt zu berücksichtigen. Durch die rasche Möglichkeit, eine Kandidatenliste für Defekte bereitstellen zu können, ist die Zeitdauer bis zur Entdeckung eines Defekts kürzer und die Anzahl an Defekten, die in einer vorgegebenen Zeitdauer erfasst werden kann, ist größer. Folglich kann die Ausbeute verbessert werden und es kann die Geschwindigkeit des Vorgangs zur Anhebung der Ausbeute wesentlich erhöht werden.
  • Die Verarbeitungs- und Speicheranforderungen zur Ausführung der oben beschriebenen anfänglichen Simulation der fehlerfreien Schaltung zu Beginn und die Ausführung sowohl der rückwärtsgerichteten als auch der vorwärtsgerichteten Verfolgung können hoch sein. Jedoch liegt ein Vorteil des CID-Werkzeugs der vorliegenden Erfindung darin, dass es nicht die umfangreichen Verarbeitungs- und Speicheranforderungen hat, die mit der Simulation der gesamten Schaltung während der Diagnose oder mit der Speicherung überflüssiger Information, etwa dem Simulationsstatus für alle Knoten in der Schaltung, die die Ursache des Fehlers nicht betreffen, einhergehen. Konventionelle Verfahren für die Ursachenforschung sind vergleichsweise wesentlich langsamer, da die Simulierung und die Diagnose des gesamten Entwurfs die Beibehaltung der Statusinformation der Millionen an Gattern und Netzen gleichzeitig im Speicher erforderlich macht, die den Entwurf bilden.
  • Daher wird durch die Verwendung des CID-Werkzeugs der Durchsatz für die Diagnose großer Entwürfe deutlich verbessert. Beispielsweise kann in gewissen Fällen die Verwendung des CID-Werkzeugs eine Verbesserung um mehr als das 70000-fache in der Durchlaufzeit der auf Software beruhenden Techniken für die Ursachenforschung erreicht werden. Diese Größenordnung der Verbesserung wird nur ansteigen, wenn weiterhin die Größen der Bauteile zunehmen. Die Größe des Bereichs, der von einem Partikeldefekt beeinflusst wird, bleibt konstant, aber die Anzahl an Zellen, die von dem Partikeldefekt betroffen wird, kann aufgrund der abnehmenden Dimensionen in dem entsprechenden Technologieknoten zunehmen. Jedoch wird erwartet, dass diese Zunahme sehr gering ist. Daher kann die Menge an Logik, die das CID-Werkzeug herauslösen muss, nur sehr langsam zunehmen, typischerweise nicht mehr als 1 der gesamten Entwurfsgröße. Somit kann die Verwendung des CID-Werkzeug zu einer riesigen Leistungszunahme in Bezug auf die konventionelle Software für die Ursachenforschung (die den gesamten Entwurf simuliert) selbst für künftige Entwurfsgrößen führen.
  • Ein weiterer Vorteil der kürzeren Simulationszeiten und der kleinen Entwürfe der vorliegenden Erfindung besteht darin, dass mehrere andere Software-gestützte Verfahren für die Ursachenforschung, die früher aufgrund der Entwurfsgröße als zu schwierig erachtet wurden, in Verbindung mit der vorliegenden Erfindung eingesetzt werden können. Der Vorgang zur Anhebung der Ausbeute wird daher präziser und schneller sein, wenn es effizientere Verfahren zur Defektisolation gibt, die für die Verwendung verfügbar sind.
  • Aufgrund der Beschränkungen im Hinblick auf die Verarbeitung und den Speicher in konventionellen Diagnoseverfahren durchlaufen letztlich nur ausgewählte Chips die Software-gestützten Prozeduren für die Ursachenforschung. Dies erhöht die Wahrscheinlichkeit, dass gewisse Defektmechanismen übersehen werden. Mit dem CID-Ansatz der vorliegenden Erfindung haben Chip-Entwickler oder Hersteller mit höherer Wahrscheinlichkeit die volle Kapazität zur Verfügung, um alle fehlerhaften Chips der Software für Ursachenerforschung zuzuführen und können wesentlich mehr Fehlermechanismen sowohl in der Entwicklungsphase als auch in der Massenproduktion erkennen.
  • 5B ist eine Blockansicht, die die Diagnoseeinteilung zeigt, die verwendet wird, um die fehlerhaften Blöcke, die mit fehlerhaften Ausgaben verknüpft sind, gemäß einer Ausführungsform der vorliegenden Erfindung zu ermitteln. Eine IC 500 umfasst Eingänge 540A540N und Ausgänge 530A530E. Während des Sondierungsprozesses, der nach dem Fertigungsvorgang durchgeführt wird, kann gegebenenfalls die IC 500 als eine ermittelt werden, die fehlerhafte Ausgänge bzw. Ausgaben, d. h. 530B und 530C, aufweist.
  • Nachdem die fehlerhaften Ausgänge 530B und 530C durch die Sondierung erkannt sind, können Software-gestützte Verfahren zur Ursachenforschung der vorliegenden Erfindung eingesetzt werden, um eine Rückwärtsverfolgung durchzuführen, um eine Gruppe verdächtiger Fehlerkandidaten zu erkennen, die Gatter und Netze umfassen, die möglicherweise zu dem beobachteten fehlerhaften Verhalten der IC führen. Diese Gruppe an verdächtigen Fehlerkandidaten umfasst schließlich den fehlerhaften Block, auf den durch das CID-Werkzeug der vorliegenden Erfindung eingewirkt wird, wie dies zuvor beschrieben ist.
  • Durch Verwendung der Rückwärtsverfolgung können zunächst die Eingangskegel für jeden der fehlerhaften Ausgänge 530B und 530C ermittelt werden. Typischerweise umfasst der Eingangskegel für einen gegebenen fehlerhaften Ausgang die Logikpfade, die strukturell den fehlerhaften Ausgang erreichen können. Der Eingangskegel für den fehlerhaften Ausgang 530B ist durch den Bereich 580 repräsentiert, und der Eingangskegel für den fehlerhaften Ausgang 530C ist durch den Bereich 590 repräsentiert. Durch die Rückwärtsverfolgung zur Ermittelung von Eingangskegeln ist es für die CID-Prozedur der vorliegenden Erfindung möglich, eine anfängliche Liste an Fehlerkandidaten zu ermitteln. Man kann erwarten, dass der Defekt irgendwo innerhalb des Bereichs liegt, der durch die Kombination der Eingangskegel 580 und 590 abgedeckt ist.
  • Als nächstes wird eine vorwärtsgerichtete Verfolgung angewendet, um die Liste möglicher Verdächtiger weiter einzugrenzen. Ein oder mehrere verdächtige Kandidaten in den Eingangskegeln 580 und 590 können in einer Ausführungsform mit einem Eingangsmuster beaufschlagt werden, von dem man weiß, dass es fehlerhafte Ergebnisse an einem der fehlerhaften primären Ausgänge 530B oder 530C erzeugt hat. Wenn die resultierende Antwort nicht mit der beobachteten Antwort übereinstimmt, wie zuvor erläutert ist, dann kann der verdächtige Kandidat aus der Liste an Verdächtigen entfernt werden. Nachfolgend können ein oder mehrere verdächtige Kandidaten ebenfalls mit einem Eingangsmuster beaufschlagt werden, von dem bekannt ist, dass es positive Ergebnisse an einem der fehlerhaften primären Ausgänge erzeugt hat. Wenn der verdächtige Kandidat fehlerhafte Ergebnisse während der Simulation für dieses Eingangsmuster erzeugt, kann er ebenfalls aus der Liste der verdächtigen Kandidaten entfernt werden. In einer Ausführungsform kann das Eingangsmuster mit positiven Ergebnissen vor dem Fehlereingangsmuster während der vorwärts gerichteten Verfolgung abgearbeitet werden.
  • Das Ergebnis der rückwärts gerichteten und vorwärts gerichteten Verfolgung sind ein oder mehrere fehlerhafte Blöcke 505 und 510, die von dem CID-Werkzeug extrahiert und unabhängig von dem Entwurf des gesamten Chips simuliert werden können.
  • Wie zuvor erläutert ist, können der eine oder die mehreren fehlerhaften Blöcke simuliert werden, um eine mögliche fehlerhafte Schaltung, die dem einen oder den mehreren Defekten entspricht, zu ermitteln. Der Kandidaten für eine fehlerhafte Schaltung kann nachfolgend an eine Fertigungsumgebung übermittelt werden, in der der physikalische Chip, der mit dem IC-Entwurf verknüpft ist, dann physikalisch an Positionen inspiziert werden kann, die dem Kandidaten für eine fehlerhafte Schaltung entsprechen, um die Ursache des Defekts zu isolieren.
  • In einer Ausführungsform kann die Auflösung des CID-Werkzeugs verbessert werden, indem die Ausgabe an weiteren Freigabe-Primärausgängen (passing primary output) ebenfalls beobachtet wird. Beispielsweise kann ein Verdächtiger in dem Eingangskegel 580 sowohl die Prüfung mit dem Freigabeeingangsmuster als auch die Prüfung mit dem Fehlereingangsmuster der vorwärts gerichteten Verfolgungsprozedur bestehen, wenn nur die Ausgänge 530B und 530C beobachtet werden. Jedoch kann der gleiche Verdächtige ein fehlerhaftes Ergebnis am Ausgang 530A erzeugen. Daher kann in einer Ausführungsform der Eingangskegel des den Test bestehenden primären Ausgangs 530A ebenfalls in die Analyse mit einbezogen werden, um die Liste an Verdächtigen weiter zu reduzieren, wodurch die Auflösung verbessert wird. Jedoch würde dies die Größe des fehlerhaften Blocks vergrößern und folglich mehr Verarbeitungs- und Speicherressourcen erfordern. Es ist daher ein Kompromiss zwischen der Anzahl an Beobachtungsknoten, die verwendet wird, um die Liste der Verdächtigen zu ermitteln, und der resultierenden Größe des fehlerhaften Blocks zu machen.
  • In einer weiteren Ausführungsform kann eine Grenze für die Größe des fehlerhaften Blocks festgelegt werden, der unabhängig von der umfangreicheren Schaltung simuliert wird. Beispielsweise kann das CID-Werkzeug eine obere Grenze für den fehlerhaften Block auf 10% der gesamten Gatter in der ursprünglichen Schaltung festlegen. Wenn die Größe des fehlerhaften Blocks, der unter Anwendung der rückwärtsgerichteten und vorratsgerichteten Verfolgungstechniken analysiert wird, auf über 10% ansteigt, kann das CID-Werkzeug Eingangskegel, die mit primären Freigabeausgängen verknüpft sind, verwerfen, bis die Größe des fehlerhaften Blocks unter 10% abfällt. Wenn in ähnlicher Weise die Größe des fehlerhaften Blocks letztlich wesentlich kleiner als 10% ist, kann das CID-Werkzeug weitere Beobachtungsknoten in die Partitionen mit aufnehmen, um die Auflösung zu verbessern.
  • 6 ist eine Blockansicht, die einen anschaulichen Prozessablauf zur Fehlerbehandlung einer defekten IC zeigt, wobei die Ursache eines Fehlers unter Anwendung des CID-Werkzeugs ermittelt und die Ausbeute gemäß einer Ausführungsform der vorliegenden Erfindung verbessert wird.
  • Block 610 repräsentiert den zu prüfenden Chip nach dem Fertigungsprozess in der Fertigungsstätte. Im Block 620 wird eine Prüfeinrichtung ähnlich zu der Prüfeinrichtung 200 in 2 verwendet, um den Chip zu sondieren, um damit die fehlerhaften primären Ausgänge zu ermitteln. Es wird ein Testprotokoll im Block 630 erzeugt, das Information im Hinblick auf die erwarteten Ausgaben und die tatsächlichen Ausgaben enthält, die sich aus der Prüfung des Chips 610 ergeben. In einer Ausführungsform werden nur die fehlerhaften Bits in der Testprotokolldatei aufgezeichnet, so dass die fehlerhaften Bits (oder fehlerhaften Ausgänge) leicht ermittelt werden können. Das Testprotokoll kann von dem Entwurfsingenieur des Chips verwendet werden, um Fehler in dem Chip unter Anwendung von Methoden mit Software zur Ursachenforschung zu ermitteln.
  • Im Block 640 wird das Diagnoseprogramm, das das CID-Werkzeug der vorliegenden Erfindung umfasst, verwendet, wie zuvor beschrieben ist, um eine Liste an verdächtigen Fehlerkandidaten für den Defekt in dem Chip zu ermitteln.
  • Zunächst wird eine rückwärtsgerichtete und vorwärtsgerichtete Verfolgung angewendet, wie zuvor erläutert ist, und nachfolgend wird ein verdächtiger fehlerhafte Block, der mit den Fehlerkandidaten verknüpft ist, ermittelt. Dieser fehlerhafte Block ist wesentlich kleiner als der ursprüngliche Entwurf und kann wesentlich schneller mit deutlich weniger Ressourcen simuliert und bewertet werden. Das Ergebnis der Simulation des fehlerhaften Blocks liefert die Logikzellen, die als Grund für den Bauteilausfall verdächtigt werden. Wie in 6 gezeigt ist, wird dieser Vorgang mit allen Chips wiederholt, die den gleichen Entwurf einer gegebenen Charge aufweisen.
  • Der Kandidat für eine fehlerhafte Schaltung wird an die Hersteller des Bauteils 610 zurückgegeben, so dass die physikalische Position, die den verdächtigten Logikzellen entspricht, im Hinblick auf Materialdefekte, beispielsweise Brückendefekte, im Block 660 inspiziert werden kann. Wie in der Figur dargestellt ist, kann die physikalische Inspektion für alle Chips wahrgenommen werden, um die Defektposition innerhalb des Chips zu ermitteln.
  • In einer Ausführungsform kann ein Fehler-Histogramm im Block 670 verwendet werden, um das häufigste Auftreten oder problematische Defekte im Fertigungsvorgang zu ermitteln.
  • Im Block 680 kann der Herstellungsvorgang so eingestellt werden, dass eine Abhilfe im Hinblick auf die Defekte erreicht wird. Als Folge kann die Ausbeute im Block 690 verbessert werden. Da ferner nur kurze Simulationszeiten zum Simulieren der erkannten fehlerhaften Blöcke erforderlich sind, können die Zeiten für das Anheben der Ausbeute reduziert werden.
  • 7 zeigt ein Flussdiagramm 640 eines anschaulichen Prozesses zur Ermittelung von einem Kandidaten für eine fehlerhafte Schaltung unter Anwendung der CID-Prozeduren gemäß einer Ausführungsform der vorliegenden Erfindung. Das Flussdiagramm 640 zeigt eine detailliertere Ansicht, wie Logikzellen, die für die Erzeugung eines Fehlers verdächtigt werden, in der Software im Block 640 aus 6 erkannt werden können. Die Erfindung ist jedoch nicht auf die Beschreibung beschränkt, die in dem Flussdiagramm 640 angegeben ist. Vielmehr erkennt der Fachmann auf dem Gebiet oder den Gebieten aus den hierin bereitgestellte Lehren, dass andere funktionale Abläufe innerhalb des Schutzbereichs und des Grundgedankens der vorliegenden Erfindung liegen. Das Flussdiagramm 640 wird weiterhin mit Bezug zu anschaulichen Ausführungsformen beschrieben, die zuvor aufgeführt sind, obwohl das Verfahren nicht auf diese Ausführungsformen beschränkt ist.
  • Im Block 702 werden die fehlerhaften bzw. fehlerbehafteten primären Ausgänge aus der Sondierung des physikalischen Chips aus der Fertigungsstätte empfangen. Wie zuvor erläutert ist, enthält die Datei des Testprotokolls, das durch die Sondierung erzeugt wird, die Liste tatsächlicher und erwarteter Ausgaben, die von der Software für die Ursachenerforschung der vorliegenden Erfindung verwendet werden kann, um die Liste fehlerhafter primäre Ausgänge einzulesen.
  • Im Block 704 kann die Software zur Ursachenerforschung, die in dem CID-Werkzeug enthalten ist, den fehlerfreien ursprünglichen Entwurf der Schaltung in der Software während einer Vorverarbeitungsstufe simulieren. Die Simulationswerte, die während dieser Vorverarbeitungsstufe ermittelt werden, werden dann später für die rückwärtsgerichtete und vorwärtsgerichtete Verfolgung verwendet, die von dem CID-Werkzeug gemäß einer Ausführungsform der vorliegenden Erfindung ausgeführt wird. Obwohl diese Simulation zeitaufwändig und ressourcenintensiv sein kann, sind die Kosten vernachlässigbar im Vergleich zu dem Zeitaufwand und den Ressourcen für die Diagnose der mehreren tausend oder mehr Chips, die mit dem Entwurf verknüpft sein können, die während des Vorgangs zur Anhebung der Ausbeute simuliert werden.
  • Im Block 706 verwendet die CID-Prozedur die Verfolgung kritischer Pfade oder „die Rückwärtsverfolgung”, um Eingangskegel zu erkennen, die mit jedem fehlerhaften primären Ausgang verknüpft sind, wobei die Signalwerte verwendet werden, die aus der fehlerfreien Schaltungssimulation ermittelt sind. Durch die Verwendung der Eingangskegel kann die CID-Prozedur dann die anfängliche Liste verdächtiger Fehlerkandidaten ermitteln, die potenziell zu dem beobachteten Fehlerverhalten der IC führen können, im Block 708 ermitteln.
  • Im Block 710 wendet die CID-Prozedur die vorwärtsgerichtete Pfadverfolgung an, um die Liste der Verdächtigen weiter einzugrenzen. Wie zuvor beschrieben ist, kann die vorwärtsgerichtete Pfadverfolgung die Beaufschlagung verdächtiger Kandidaten mit sowohl Freigabe- als auch Fehler-Eingangs-Stimuli und die Ermittelung beinhalten, ob das Verhalten der fehlerhaften Ausgänge mit dem Verhalten der gleichen Ausgänge übereinstimmt, die während der Sondierung beobachtet wurden.
  • Sobald die sekundäre Liste der verdächtigen Kandidaten ermittelt ist, wird der fehlerhafte Block unter Anwendung der CID-Prozedur im Block 712 ermittelt und wird unabhängig von dem ursprünglichen Entwurf simuliert, um eine endgültige Liste von verdächtigen Kandidaten zu ermitteln, die möglicherweise mit dem Defekt in dem Chip verknüpft sind. Diese sind die Kandidaten, die dann an die Fertigungsstätte zurückgegeben und verwendet werden, um die Defektposition in dem Chip zu bewerten.
  • Obwohl die vorhergehende Offenbarung diverse Ausführungsformen unter Anwendung spezieller Blockdiagramme, Flussdiagramme und Beispiele angibt, kann jede Komponente einer Blockansicht, eines Schritts eines Flussdiagramms, eine Operation und/oder einer Komponente, die hierin beschrieben und/oder dargestellt ist, individuell und/oder Kollektiv realisiert werden unter Anwendung einer großen Fülle von Hardware, Software oder Firmware (oder einer Kombination davon). Ferner sollte die Offenbarung von Komponenten, die in anderen Komponenten enthalten sind, als Beispiele betrachtet werden, da viele andere Architekturen realisiert werden können, um die gleiche Funktion zu erreichen.
  • Die Prozessparameter und die Reihenfolge von Schritten, die beschrieben und/oder hierin dargestellt sind, sind nur als Beispiel angegeben. Während die dargestellten und/oder hierin beschriebenen Schritte beispielsweise in einer speziellen Reihenfolge gezeigt oder erläutert sind, müssen diese Schritte nicht notwendigerweise in der dargestellten oder erläuterten Reihenfolge ausgeführt werden. Die diversen beispielhaften Verfahren, die hierin beschrieben und/oder dargestellt sind, können auch einen oder mehrere der Schritte, die hierin beschrieben oder dargestellt sind, weglassen, oder können weitere Schritte zusätzlich zu den offenbarten Schritten enthalten.
  • Obwohl diverse Ausführungsformen hierin beschrieben und/oder dargestellt sind im Zusammenhang mit vollständig funktionsfähigen Rechensystemen, können eine oder mehrere dieser beispielhaften Ausführungsformen als ein Programmprodukt in einer Vielzahl von Formen verteilt werden, unabhängig von der speziellen Art des computerlesbaren Mediums, das zur tatsächlichen Ausführung der Verteilung eingesetzt wird. Die hierin offenbarten Ausführungsformen können ferner unter Anwendung von Softwaremodulen, die gewisse Aufgaben ausführen, realisiert werden. Diese Softwaremodule können Skripte, Stapel oder andere ausführbare Dateien enthalten, die auf einem computerlesbaren Speichermedium oder in einem Rechensystem gespeichert werden können. Diese Softwaremodule können ein Rechensystem konfigurieren, um eine oder mehrere der anschaulichen hierin offenbarten Ausführungsformen auszuführen. Eines oder mehrere der Softwaremodule, die hierin offenbart sind, können in einer Wolken-Rechenumgebung realisiert werden. Wolken-Rechenumgebungen liefern diverse Dienstleistungen und Anwendungen über das Internet. Diese wolkengestütztem Dienstleistungen (beispielsweise Software als Dienstleistung, Plattform als Dienstleistung, Infrastruktur als Dienstleistung, usw.) können über eine Netz-Suchanwendung oder über eine andere entfernte Schnittstelle angesprochen werden. Diverse Funktionen, die hierin beschrieben sind, können über eine Fern-Tischrechner-Umgebung oder jede andere wolkengestützte Rechnerumgebung bereitgestellt werden.
  • Die vorhergehende Beschreibung wurde zum Zwecke der Erläuterung mit Bezug zu speziellen Ausführungsformen angegeben. Jedoch sind die anschaulichen Erläuterungen zuvor nicht als umfassend oder als Einschränkung der Erfindung auf die genauen offenbarten Formen beabsichtigt. Es sind viele Modifizierungen und Variationen im Lichte der obigen Lehren möglich. Die Ausführungsformen wurden ausgewählt und beschrieben, um am besten die Prinzipien der Erfindung und ihrer praktischen Anwendungen zu erläutern, um damit einen anderen Fachmann in die Lage zu versetzen, die Erfindung und die diversen Ausführungsformen mit diversen Modifizierungen einzusetzen, wie sie für die spezielle betrachtete Anwendung als geeignet erscheinen.
  • Es sind somit Ausführungsformen gemäß der Erfindung beschrieben. Obwohl die vorliegende Offenbarung in speziellen Ausführungsformen beschrieben worden ist, sollte beachtet werden, dass die Erfindung nicht als eingeschränkt betrachtet werden sollte durch derartige Ausführungsformen, sondern sie ist durch den nachfolgenden Patentansprüche festgelegt.

Claims (11)

  1. Ein Verfahren zur Erzeugung von einem Kandidaten für eine fehlerhafte Schaltung in einer integrierten Schaltung, wobei das Verfahren umfasst: Zurückverfolgen mindestens eines fehlerhaften Ausgangs der integrierten Schaltung, um einen entsprechenden Eingangskegel für jeden fehlerhaften Ausgang unter Verwendung von Simulationswerten zu ermitteln, die aus einer fehlerfreien Simulation eines Entwurfs der integrierten Schaltung erhalten werden; Bestimmen einer ersten Gruppe an verdächtigen Fehlerkandidaten für die jeden fehlerhaften Ausgänge, wobei jeder verdächtige Fehlerkandidat potentiell einem Defekt in der integrierten Schaltung entspricht, der für die Erzeugung eines fehlerhaften Ergebnisses an einem entsprechenden fehlerhaften Ausgang verantwortlich ist; Verfolgung in Vorwärtsrichtung jedes verdächtigen Fehlerkandidaten aus der ersten Gruppe, um eine zweite Gruppe verdächtiger Fehlerkandidaten zu ermitteln, wobei die zweite Gruppe eine eingegrenzte Teilmenge der ersten Gruppe ist, und wobei jeder verdächtige Fehlerkandidat in der zweiten Gruppe eine höhere Wahrscheinlichkeit hat, zu einem Defekt in der integrierten Schaltung zu korrespondieren, als jeder verdächtige Fehlerkandidat in der ersten Gruppe; und Ermitteln eines fehlerhaften Blocks aus dem Entwurf der integrierten Schaltung, wobei der fehlerhafte Block verdächtige Fehlerkandidaten aus der zweiten Gruppe umfasst, und wobei der fehlerhafte Block unabhängig von dem Entwurf simuliert werden kann.
  2. Das Verfahren nach Anspruch 1, das ferner umfasst: Simulieren des fehlerhaften Blocks, um eine dritte Gruppe an verdächtigen Fehlerkandidaten zu ermitteln, wobei die dritte Gruppe eine eingegrenzte Teilmenge der zweiten Gruppe ist, und wobei jeder verdächtige Fehlerkandidat in der dritten Gruppe eine höhere Wahrscheinlichkeit hat, zu einem Defekt in der integrierten Schaltung zu korrespondieren, als jeder verdächtige Fehlerkandidat in der zweiten Gruppe.
  3. Das Verfahren nach Anspruch 1, wobei eine Art von Defekt in der integrierten Schaltung ausgewählt ist aus der Gruppe: eine Brücke, eine Unterbrechung und eines Via-Blocks.
  4. Das Verfahren nach Anspruch 1, wobei die vorwärtsgerichtete Verfolgung ferner umfasst: Eingeben eines Eingangs-Stimulus in jeden verdächtigen Fehlerkandidaten in der ersten Gruppe und Überwachen einer Antwort auf den Stimulus; Vergleichen der Antwort mit einer beobachteten Antwort eines Chips, der mit der integrierten Schaltung verknüpft ist, in Bezug auf den Eingangs-Stimulus, wobei die beobachtete Antwort während einer Hardware-Prüfung und Sondierung des Chips aufgezeichnet wird; und in Reaktion darauf, dass ermittelt wird, dass die Antwort nicht mit der beobachteten Antwort aus der Hardware-Prüfung übereinstimmt, Ausschließen eines verdächtigen Fehlerkandidaten aus der zweiten Gruppe.
  5. Das Verfahren nach Anspruch 4, wobei die vorwärtsgerichtete Verfolgung ferner umfasst: in Reaktion darauf, dass bestimmt wird, dass die Antwort mit der beobachteten Antwort aus der Hardware-Prüfung übereinstimmt, Aufnehmen eines verdächtigen Fehlerkandidaten in die zweite Gruppe.
  6. Das Verfahren nach Anspruch 4, wobei der Eingangs-Stimulus ein Fehlermuster ist, wobei das Fehlermuster eine fehlerhafte Antwort an einem korrespondieren fehlerhaften Ausgang erzeugt.
  7. Das Verfahren nach Anspruch 4, wobei der Eingangs-Stimulus ein Freigabemuster ist, wobei das Freigabemuster eine Freigabeantwort an einem korrespondierenden fehlerhaften Ausgang erzeugt.
  8. Das Verfahren nach Anspruch 1, wobei das Ermitteln ferner umfasst: Aufnehmen von verdächtigen Fehlerkandidaten aus einem Eingangskegel eines Freigabe-Primärausgangs in den fehlerhaften Block.
  9. Das Verfahren nach Anspruch 1, wobei der fehlerhafte Block einer Größenbeschränkung unterliegt, wobei die Größenbeschränkung als ein Prozentsatz einer Größe des Entwurfs der integrierten Schaltung ausgedrückt ist.
  10. Ein computerlesbares Speichermedium, auf welchem computerausführbare Befehle gespeichert sind, die, wenn sie von einem Computersystem ausgeführt werden, das Computersystem veranlassen, ein Verfahren zur Erzeugung von einem Kandidaten für eine fehlerhafte Schaltung gemäß einem der Ansprüche 1–9 auszuführen.
  11. Ein Prüfsystem mit: einer Eingabeschnittstelle zum Einlesen eines Testprotokolls, wobei das Testprotokoll Information umfasst, die beobachtete Antworten betrifft, die an einer Mehrzahl von fehlerhaften Ausgängen während einer Hardware-Prüfung und Sondierung eines Chips aufgezeichnet wurden; einem Speicher zur Speicherung eines Entwurfs einer integrierten Schaltung, die zu dem Chip korrespondiert, und von Simulationswerten, die aus einer Simulation des Entwurfs der integrierten Schaltung erzeugt sind; und einem Prozessor, der ausgebildet ist, das Verfahren nach einem der Ansprüche 1–9 auszuführen.
DE102013114558.2A 2013-03-14 2013-12-19 Ausschneiden-bei-der Diagnose (CID) - Ein Verfahren zur Verbesserung des Durchsatzes des Vorgangs für Anhebung der Ausbeute Active DE102013114558B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/830,683 US20140282327A1 (en) 2013-03-14 2013-03-14 Cutter in diagnosis (cid) a method to improve the throughput of the yield ramp up process
US13/830,683 2013-03-14

Publications (2)

Publication Number Publication Date
DE102013114558A1 true DE102013114558A1 (de) 2014-09-18
DE102013114558B4 DE102013114558B4 (de) 2019-12-19

Family

ID=51418674

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102013114558.2A Active DE102013114558B4 (de) 2013-03-14 2013-12-19 Ausschneiden-bei-der Diagnose (CID) - Ein Verfahren zur Verbesserung des Durchsatzes des Vorgangs für Anhebung der Ausbeute

Country Status (4)

Country Link
US (1) US20140282327A1 (de)
CN (1) CN104050308A (de)
DE (1) DE102013114558B4 (de)
TW (1) TWI515445B (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9152520B2 (en) * 2013-09-26 2015-10-06 Texas Instruments Incorporated Programmable interface-based validation and debug
CN106161132B (zh) * 2015-04-17 2019-10-01 伊姆西公司 用于对存储网络进行测试的装置和方法
TWI637250B (zh) * 2017-03-31 2018-10-01 林器弘 智慧加工調變系統及方法
US11435393B2 (en) * 2017-11-03 2022-09-06 Tokyo Electron Limited Enhancement of yield of functional microelectronic devices
CN114186524A (zh) 2020-08-28 2022-03-15 长鑫存储技术有限公司 晶圆探测数据的处理方法和计算机可读存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8280687B2 (en) * 2004-03-31 2012-10-02 Mentor Graphics Corporation Direct fault diagnostics using per-pattern compactor signatures
US7729884B2 (en) * 2004-03-31 2010-06-01 Yu Huang Compactor independent direct diagnosis of test hardware
CN101076805B (zh) * 2004-11-15 2010-10-27 电子科学工业公司 跟踪并标记具有缺陷的试样
US7240306B2 (en) * 2005-02-24 2007-07-03 International Business Machines Corporation Integrated circuit layout critical area determination using Voronoi diagrams and shape biasing
CN100449320C (zh) * 2006-06-23 2009-01-07 河海大学 板级时序电路测试矢量生成方法
US8539389B2 (en) * 2010-09-27 2013-09-17 Teseda Corporation Correlation of device manufacturing defect data with device electrical test data
US9063097B2 (en) * 2011-02-11 2015-06-23 Taiwan Semiconductor Manufacturing Company, Ltd. Systems and methods eliminating false defect detections
US8707232B2 (en) * 2011-06-08 2014-04-22 Mentor Graphics Corporation Fault diagnosis based on design partitioning
US9336107B2 (en) * 2011-11-18 2016-05-10 Mentor Graphics Corporation Dynamic design partitioning for diagnosis
US9277186B2 (en) * 2012-01-18 2016-03-01 Kla-Tencor Corp. Generating a wafer inspection process using bit failures and virtual inspection

Also Published As

Publication number Publication date
US20140282327A1 (en) 2014-09-18
TWI515445B (zh) 2016-01-01
DE102013114558B4 (de) 2019-12-19
TW201435371A (zh) 2014-09-16
CN104050308A (zh) 2014-09-17

Similar Documents

Publication Publication Date Title
DE3787431T2 (de) Verfahren zur Generierung einer Kandidatenliste von fehlerhaften Schaltungselementen und Verfahren zur Isolierung von Fehlern in einer logischen Schaltung unter Verwendung dieser Kandidatenliste.
DE69924296T2 (de) Ic-test programmiersystem zur zuordnung logischer funktionstestdaten von logischen integrierten schaltung zu einer physikalischen darstellung
DE102013114558B4 (de) Ausschneiden-bei-der Diagnose (CID) - Ein Verfahren zur Verbesserung des Durchsatzes des Vorgangs für Anhebung der Ausbeute
DE102004009693A1 (de) Technik zum Kombinieren eines Abtasttests und eines eingebauten Speicherselbsttests
DE10392497T5 (de) Herstellungsverfahren und Herstellungsvorrichtung zum Vermeiden eines Prototypen-Aufschubs bei der ASIC/SOC-Herstellung
US9857421B2 (en) Dynamic design partitioning for diagnosis
DE19959157C2 (de) Verbessertes Funktionstesten durch das Filtern von groben Mutationen
DE112013000485T5 (de) Automatische Synthese von Einheitentests für Sicherheitstests
DE102013114512A1 (de) Globales Einfangschema mit niedriger Leistung für Kerne
DE102012224276B4 (de) Verzögerte Ausführung auf mehreren Prozessoren
DE102016117029A1 (de) System und Verfahren zum Diagnostizieren einer integrierten Schaltung
US20190278645A1 (en) Log post-processor for identifying root causes of device failure during automated testing
DE112021000600T5 (de) Fortschrittlicher inline part average test
DE102021116906A1 (de) Test- und messsystem zur analyse von zu testenden vorrichtungen
DE102019121285A1 (de) Systeme und Verfahren zur Lokalisierung systematischer Fehler mittels physical failure analysis (PFA)
DE102017117322A1 (de) Verfahren zur Herstellung eines Halbleiterbauelementes mittels computergestütztem Entwurf von Testszenarien
DE102015105414B4 (de) Bearbeiten eines Zielspeichers
DE112021003677T5 (de) Automatisierte unterstützte schaltkreisvalidierung
DE102021130630A1 (de) Testen von software-anwendungskomponenten
DE112020007444T5 (de) Automatische Testeinrichtung, Prozess und Computerprogramm zum Testen eines oder mehrerer zu testender Geräte, wobei unterschiedliche Testaktivitäten Teilsätze von Ressourcen des zu testenden Geräts nutzen
DE102021119616A1 (de) Multiplexer-fähige kabel und testvorrichtungen
DE202016008006U1 (de) Generierung von Integrationstests im Kleinen
DE60104015T2 (de) Entschlüsselungsverfahren zur datenabbildung in speicherschaltungen
DE102015102034A1 (de) Verfahren zum Analysieren von Ergebnissen in einem Entwurfsautomatisierungsablauf für elektronische Systeme, Computersystem und Computerprogrammprodukt
Xiaobo et al. How negative effects a multiple-fault program can do to spectrum-based fault localization

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: DILG HAEUSLER SCHINDELMANN PATENTANWALTSGESELL, DE

Representative=s name: KRAUS & WEISERT PATENTANWAELTE PARTGMBB, DE

R082 Change of representative

Representative=s name: KRAUS & WEISERT PATENTANWAELTE PARTGMBB, DE

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final