-
Technisches Gebiet
-
Ausführungsbeispiele
der vorliegenden Erfindung beziehen sich auf das Gebiet des Bauelementtestens
und insbesondere auf ein System und ein Verfahren zum Auswerten
hergestellter Bauelemente unter Verwendung einer Mehrzahl von Testtechniken.
-
Hintergrund der Erfindung
-
Wenn
Einheiten, wie z. B. Elektronikkomponenten oder dergleichen, unter
Verwendung moderner automatisierter Prozesse hergestellt werden,
beinhaltet ein bestimmter Prozentsatz dieser Einheiten Fehler, fehlende
Teile oder andere ähnliche
Mängel.
Wenn z. B. gedruckte Schaltungsplatinen (PCBs), wie z. B. diejenigen,
die in Mobiltelefonen verwendet werden, hergestellt werden, werden
einem Prozentsatz der erzeugten PCBs Komponenten fehlen. Um die
Qualität
sicherzustellen, testen Hersteller typischerweise die hergestellten Einheiten
auf das Vorliegen von Fehlern. Nachdem eine PCB hergestellt wurde,
werden z. B. typischerweise optische Untersuchungen der Oberfläche der
PCB durchgeführt.
Durch ein Vergleichen dieser Bilder mit bekannten Standardbildern
können
Fehler erfasst werden. Diese optischen Untersuchungen können Farbbilder sein,
die verwendet werden, um eine Oberflächenqualität zu bestimmen, Grauskalabilder
werden verwendet, um zu bestimmen, ob eine Komponente auf der PCB
vorhanden oder abwesend ist, oder sogar dreidimensionale Bilder
der PCB-Oberfläche,
die verwendet werden, um die Qualität von Lötmittelverbindungen zu bestimmen.
Andere Testtypen, wie z. B. elektrische Leitfähigkeit oder Röntgenstrahlabbildung,
können
ebenso verwendet werden. Der ausgewählte Testtyp ist typischerweise
eine Funktion des Typs der gerade hergestellten Einheit, des Typs
des Herstellungsprozesses selbst, der Testumgebung oder einer anderen ähnlichen Überlegung.
-
Ein
Großteil
der Testverfahren hat bisher Fehler dadurch erfasst, dass die Ergebnisse
eines Tests an einer neu hergestellten Einheit mit den Ergebnissen
eines bekannten Standards verglichen wurden. Optische Untersuchungstests,
wie z. B. diejenigen, die oben beschrieben wurden, vergleichen z.
B. das Bild einer hergestellten PCB mit dem Bild einer bekannten „guten" PCB. Ein Fehler
kann dann erfasst werden, wenn sich das Bild der PCB wahrnehmbar
von dem Bild der bekannten „guten" PCB unterscheidet.
Andere Verfahren verwenden ähnliche
Verfahren zur Erfassung des Vorliegens verschiedener Fehler. Während der
Herstellung z. B. könnte
eine Fehlfunktion bewirken, dass Lötmittelverbindungen, die zur
Befestigung von Chips auf PCBs verwendet werden, überlaufen.
Ein derartiger Fehler wird oft unter Verwendung von Tests der elektrischen
Verbindbarkeit erfasst, bei denen die Verbindbarkeit einer neu hergestellten
Einheit gemessen und mit den Werten einer bekannten „guten" Einheit verglichen
wird. Wenn sich der gemessene Wert um mehr als eine voreingestellte
Menge unterscheidet, wird die hergestellte Einheit als fehlerhaft
betrachtet.
-
Herkömmliche
Herstellungstechniken verwenden nur eine Testtechnik zur Erfassung
des Vorliegens eines Fehlers. Typischerweise wurde dieser Test ausgewählt, da
er angesichts des Herstellungsverfahrens, des Typs gerade hergestellter
Einheit und des Typs erwarteter Fehler als der am besten geeignete
(oder genauste) betrachtet wird. Wenn z. B. eine Farbabbildung die
genausten Ergebnisse zur Erfassung des Vorliegens einer Komponente
ergibt, wird die Farbabbildung verwendet. Wenn eine Grauskalaabbildung
die genausten Ergebnisse zum Erfassen von Textcodes auf einem Chip
einer integrierten Schaltung (IC) erzeugt, wird die Grauskalaabbildung
verwendet. Einige Herstellungstechniken verwenden mehrere Test,
insbesondere dann, wenn der Hersteller auf unterschiedliche Typen
von Fehlern hin testet. Es kann jedoch schwierig sein, wirksam mehrere
Tests einzusetzen, da die Tests unter Umständen nicht gleichermaßen zuverlässig sind
und oftmals inkonsistente Ergebnisse erzeugen. So wird bei Verwendung
mehrerer Tests oft ein „Mehrheitsregeln"-Verfahren eines
Kombinierens der Testergebnisse eingesetzt, was bedeutet, dass ein
Bauelement nur dann als fehlerhaft betrachtet wird, wenn es einen
Großteil
der Tests nicht besteht.
-
Die
US-A-5,922,079 offenbart
ein automatisiertes Analysesystem, das Erfassbarkeitsprobleme, Diagnostizierbarkeitsprobleme
und mögliche
Weisen zur Veränderung
einer Rangordnung von Diagnosen in einem Diagnosesystem identifiziert
und die Probleme und mögliche
Verbesserungen für
Testprogrammierer sichtbar macht, um eine Testverbesserung zu unterstützen. Komponenten,
die keine Abdeckung aufweisen, und Komponenten, die eine nicht ausreichende
Abdeckung aufweisen, werden als potentielle Erfassbarkeitsprobleme identifiziert.
Komponenten, die in allen Tests durch identische Operationen trainiert
werden, werden als Diagnostizierbarkeitsprobleme identifiziert.
Wenn eine falsche Diagnose gestellt wird, identifiziert das automatisierte
Analysesystem ein Nicht-Bestehen von Tests, die in dem echten Nichtbestehensfall
keine Abdeckung jeglicher Komponente aufweisen. Zusätzlich identifiziert
das automatisierte Analysesystem, wenn eine falsche Diagnose gestellt
wird, Weisen eines Veränderns
der Rangordnung von Diagnosen, einschließlich Abdeckungen, die reduziert
werden können,
und Identifizierung von Operationsverletzungen, die beseitigt oder
absichtlich hinzugefügt
werden können.
-
Die
US-A-5,631,857 offenbart
ein System zum Beurteilen der Testwirksamkeit eines Testwerkzeugs zum
Testen eines Computersystems. Das Computersystem wird zuerst in
eine Mehrzahl funktioneller Komponenten unterteilt. Für jede der
funktionellen Komponenten wird ein Satz von Zahlen bestimmt, wobei
jede Zahl einer Mehrzahl von Faktoren entspricht, die die Wirksamkeit
des Testwerkzeugs anzeigen. Basierend auf den bestimmten Zahlen
wird ein genormtes Gewicht des Satzes von Zahlen für jede der
funktionellen Komponenten berechnet. Dann wird basierend auf dem
genormten Gewicht für
jede der funktionellen Komponenten ein Komponententestwert für die Testwirksamkeit
des Testwerkzeugs beim Testen jeder der funktionellen Komponenten
berechnet. Basierend auf dem genormten Gewicht und dem Komponententestwert
für jede
der funktionellen Komponenten wird ein Gesamttestwert für die Testwirksamkeit
des Testwerkzeugs beim Testen der Computersystemhardware berechnet.
Schließlich
wird das Testwerkzeug basierend auf den Komponententestwerten und
dem Gesamttestwert modifiziert, um die Testwirksamkeit zu verbessern.
Das System könnte angewendet
werden, um schwache Bereiche einer Testabdeckung zu dem Zweck eines
Neuzuteilens von Codierungsanstrengungen und Betriebsmitteln zu
identifizieren.
-
Brosa
u. a. beschreiben in „ON
MAXIMIZING THE COVERAGE OF CATASTROPHIC AND PARAMETRIC FAULTS", Journal of Electronic
Testing, Bd. 16, Nr. 3, Seiten 251–258, 2000, ein Optimierungsverfahren zum
Verbessern der Testfähigkeit
von Struktur- und Parameterfehlern in analogen Schaltungen, einschließlich des
Findens eines optimalen Teilsatzes von Tests, der die Fehlerabdeckung
bei minimalen Kosten maximiert.
-
Die
Aufgabe der vorliegenden Erfindung besteht darin, ein verbessertes
Verfahren und eine verbesserte Vorrichtung zum Auswerten eines zu
testenden Bauelements zu schaffen.
-
Diese
Aufgabe wird durch ein Verfahren gemäß Anspruch 1 und durch ein
System gemäß Anspruch 7
gelöst.
-
Kurze Zusammenfassung der
Erfindung
-
Ausführungsbeispiele
der vorliegenden Erfindung verwenden die Ergebnisse einer Mehrzahl
von Fehlererfassungstests und passen das Ergebnis jedes Tests in
einer Weise an, die die Genauigkeit des Tests, der das Ergebnis
erzeugt hat, widerspiegelt. Eine hergestellte Einheit kann dann
unter Verwendung einer mathematischen Kombination der angepassten
Ergebnisse ausgewertet werden.
-
Einige
Ausführungsbeispiele
bestimmen die Genauigkeit jedes Tests durch Analysieren der Ergebnisse,
die auf Einheiten mit bekannten Fehlerprofilen laufen. Diese Ergebnisse
können
dann verwendet werden, um Gewichtungsfaktoren zu erzeugen, die bei
Ergebnissen von Tests verwendet werden, die an neu hergestellten
Einheiten durchgeführt
werden. Die gewichteten Ergebnisse jedes Tests können dann als eine Wahrscheinlichkeit,
dass die getestete Einheit einen Fehler beinhaltet, betrachtet werden.
Durch mathematisches Kombinieren dieser Wahrscheinlichkeiten kann
ein Hersteller wirksam eine Vielzahl von Tests zur Auswertung hergestellter
Einheiten verwenden, selbst wenn diese Tests unterschiedliche Zuverlässigkeiten
aufweisen.
-
Systeme
zum Auswerten einer Einheit gemäß der vorliegenden
Erfindung können
eine Mehrzahl von Testtechniken umfassen, die das Vorliegen von
Fehlern erfassen, wenn die Genauigkeit zumindest einer der Techniken
bestimmt werden kann. Ausführungsbeispiele
können
außerdem
einen Prozessor und Code umfassen, der die Ergebnisse von jeder
Technik unter Verwendung der Genauigkeit dieser Technik gewichtet.
Ausführungsbeispiele
können
dann Code zum Kombinieren der gewichteten Ergebnisse und Berechnen
einer Probabilität,
dass die Einheit fehlerhaft ist, verwenden.
-
Ausführungsbeispiele
können
ein Verfahren gemäß der vorliegenden
Erfindung verwenden, um ein hergestelltes elektronisches Bauelement
auszuwerten. Derartige Ausführungsbeispiele
testen jede einer Mehrzahl von Techniken zur Bestimmung dessen,
wie gut diese bekannte Herstellungsfehler erfassen. Nach einem Testen
eines neu hergestellten Bauelements mit jeder Technik könnten die
Ausführungsbeispiele
das Ergebnis, das durch jede Technik gefunden wird, anpassen, um mögliche bestimmte
Ungenauigkeiten auszugleichen. Das Ausführungsbeispiel würde dann
eine Probabilität,
dass das Bauelement fehlerhaft ist, durch Kombinieren der angepassten
Ergebnisse berechnen.
-
Vorstehendes
hat die Merkmale und technischen Vorteile der vorliegenden Erfindung
ziemlich breit herausgestellt, damit die folgende detaillierte Beschreibung
der Erfindung besser verstanden werden kann. Zusätzliche Merkmale und Vorteile
der Erfindung werden im Folgenden beschrieben und bilden den Gegenstand der
Ansprüche
der Erfindung. Es sollte zu erkennen sein, dass die Auffassung und
ein offenbartes spezifisches Ausführungsbeispiel ohne weiteres
als eine Basis zum Modifizieren von oder Entwerfen anderer Strukturen zum
Ausführen
der gleichen Zwecke der vorliegenden Erfindung eingesetzt werden
könnten.
Außerdem
sollte zu erkennen sein, dass derartige gleichartige Aufbauten nicht
von der Erfindung, wie diese in den beigefügten Ansprüchen dargelegt ist, abweichen.
Die neuartigen Merkmale, die als charakteristisch für die Erfindung
erachtet werden, sowohl in Bezug auf ihre Organisation als auch
Betriebsverfahren, sowie weitere Aufgaben und Vorteile werden aus
der folgenden Beschreibung bei Betrachtung in Verbindung mit den
beigefügten
Figuren besser verständlich
werden. Es wird jedoch ausdrücklich
darauf hingewiesen, dass jede der Figuren lediglich zu Darstellungs-
und Beschreibungszwecken vorgesehen ist und nicht als Definition
der Grenzen der vorliegenden Erfindung gedacht ist.
-
Kurze Beschreibung der Zeichnungen
-
Für ein vollständigeres
Verständnis
der vorliegenden Erfindung wird nun Bezug auf die folgenden Beschreibungen
in Verbindung mit den beiliegenden Zeichnungen genommen, in denen:
-
1 eine
Mehrzahl hergestellter Bauelemente, die gemäß einem Ausführungsbeispiel
der vorliegenden Erfindung auf Fehler hin getestet werden, darstellt;
-
2 ein
Flussdiagramm ist, das ein Verfahren zum Bestimmen, ob ein Bauelement
fehlerhaft ist oder nicht, gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung darstellt;
-
3 ein
Vorgang zum Trainieren eines Systems gemäß einem Ausführungsbeispiel
der vorliegenden Erfindung ist; und
-
4 einen
ROC-Graphen (ROC = Receiver Operating Characteristics = Empfängerbetriebscharakteristika)
basierend auf den Daten der Tabellen 1 und 2 darstellt.
-
5 stellt
ein exemplarisches Computersystem dar, das gemäß Ausführungsbeispielen der vorliegenden
Erfindung angepasst ist.
-
Detaillierte Beschreibung
der Erfindung
-
1 stellt
eine Mehrzahl hergestellter Bauelemente dar, die gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung auf Fehler hin getestet werden. Jedes
zu testende Bauelement (DUT; DUT = device under test) 101 in
einem System 100 ist eine hergestellte Einheit, die einen
Fehler beinhalten könnte.
Tests 102–105 sind
entworfen, um die Fehler zu erfassen, die bei der Herstellung des
DUT 101 erwartet werden. Die Auswahl der geeigneten Tests
könnte
von dem Typ hergestellten DUT, den Umgebungsfaktoren, die bei der Herstellung
beinhaltet sind, den Fehlertypen, die wahrscheinlich entstehen,
physischen Beschränkungen,
wie z. B. Testzugangspunkten einer gedruckten Schaltungsplatine, wirtschaftlichen
Beschränkungen,
wie z. B. den Kosten des Testens, logistischen Beschränkungen,
wie z. B. Durchsatzanforderungen, und/oder anderen ähnlichen Überlegungen
abhängen.
Ausführungsbeispiele
der vorliegenden Erfindung sind auf keinen spezifischen Typ von
DUT, Fehlertyp oder eine bestimmte Testanordnung eingeschränkt. Vielmehr
könnten
Ausführungsbeispiele
der vorliegenden Erfindung eingesetzt werden, um einen beliebigen
Typ von DUT unter Verwendung eines beliebigen Typs von Herstellungstechnik
und mit einem beliebigen Typ von Testtechnik, der gewichtet werden
kann, zu testen. Nachdem das System 100 ein DUT 101 mit
jedem Test 102–105 getestet
hat, werden die Ergebnisse der Tests 102–105 durch
einen Auswähler
bzw. Selektor 108 verwendet, um fehlerhafte DUTs 106 von
guten DUTs 107 zu trennen. Die DUTs 101 könnten Elektronikkomponenten,
gedruckte Schaltungsplatinen oder andere hergestellte Gegenstände, wie
z. B. Lebensmittelprodukte oder Spielzeug sein, die durch eine Mehrzahl
an gewichteten Tests getestet werden können. Es wird angemerkt, dass
die Ausführungsbeispiele
der vorliegenden Erfindung nicht auf das Testen hergestellter Produkte
für eine
Qualitätskontrolle
eingeschränkt
sind. Die Verfahren der vorliegenden Erfindung können in Vorgängen verwendet
werden, die in Verbindung mit Flughafenüberprüfung, medizinischer Überprüfung und
einer beliebigen anderen Anwendung verwendet werden, die mehrere
Testmechanismen mit variierender Qualität oder Genauigkeit einsetzen
können.
-
2 ist
ein Flussdiagramm, das ein Verfahren zum Bestimmen, ob ein DUT fehlerhaft
ist oder nicht, gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung darstellt. Das Verfahren 200 verwendet
zwei Testverfahren und lässt
jedes DUT bestehen oder durchfallen, indem eine Probabilität, dass
das DUT einen Fehler beinhaltet, aus einer gewichteten Kombination
des Ergebnisses jedes Tests berechnet wird. Es sollte jedoch zu
erkennen sein, dass Ausführungsbeispiele
der vorliegenden Erfindung nicht auf nur zwei Testverfahren eingeschränkt sind,
sondern vielmehr auf die Verwendung einer beliebigen Anzahl von
Tests angepasst werden können,
die in der Lage sind, gewichtete Ergebnisse zu erzeugen. Bei Schritt 201 wird
ein DUT unter Verwendung eines Testverfahrens Nummer 1 getestet
und erzeugt bei Schritt 203 eine bestimmte Bestimmung dessen,
ob gemäß Test 1
das DUT einen Fehler aufweist oder nicht. Bei Schritt 205 wird
die bei Schritt 203 durchgeführte Bestimmung unter Verwendung
einer bestimmten Bestimmung der Genauigkeit des Testverfahrens Nummer
1 gewichtet. Das Ergebnis ist eine Wahrscheinlichkeit, dass das
DUT einen Fehler aufweist, die eine Kombination des Resultats des
Tests 1 und des Vertrauens, das der Bediener in die Genauigkeit
des Testverfahrens Nummer 1 hat, ist.
-
Bei
Schritt 202 wird das gleiche DUT unter Verwendung eines
Testverfahrens Nummer 2 getestet. Bei Schritt 204 werden
die Ergebnisse des zweiten Tests verwendet, um zu bestimmen, ob
gemäß dem Test
2 das DUT einen Fehler aufweist oder nicht. Bei Schritt 206 wird
diese Bestimmung durch eine Messung der Genauigkeit des Testverfahrens
Nummer 2 gewichtet. Schritt 207 berechnet eine Probabilität, dass
das DUT fehlerhaft ist, indem die gewichteten Wahrscheinlichkeiten,
die durch jeden Test erzeugt werden, kombiniert werden. Bei einem
Ausführungsbeispiel
der Erfindung können
die Schritte 203–207 durch
einen Selektor 108 durchgeführt werden. Bei einem weiteren
Ausführungsbeispiel
der Erfindung können
die Schritte 201–206 durch
Tests 102 und 103 (beispielsweise) durchgeführt werden.
-
Um
den Vertrauensfaktor zu bestimmen, den ein Testverfahren „wiegt", muss ein System
unter Umständen „trainiert" werden. 3 ist
ein Vorgang zum Trainieren eines Systems gemäß einem Ausführungsbeispiel
der vorliegenden Erfindung. Bei einem Verfahren 300 ist
ein DUT 350 eine Standardeinheit, die bekannte Charakteristika
besitzt und einem Testen unter Verwendung eines Tests X bei Schritt 301 und
eines Tests Y bei Schritt 302 unterzogen wird. Lediglich
aus Gründen
der Klarheit sind zwei Tests dargestellt, die Aus führungsbeispiele
der vorliegenden Erfindung jedoch sind auf keine spezifische Anzahl
von Tests eingeschränkt.
Ferner müssen
die Messung X und die Messung Y nicht verwandt sein, sondern könnten vielmehr zwei
unabhängige
Informationsquellen sein, wie z. B. Farbabbildung und elektrische
Verbindbarkeit, was zu unabhängigen
DUT-Messungen führt.
-
Diese
Messungen erzeugen einen Merkmalssatz X bei Schritt 303 und
einen Merkmalssatz Y bei Schritt 304. Die Merkmalssätze X und
Y sind typischerweise Sätze
mehrerer Messungen, die an vorbestimmten Abtastpunkten auf dem DUT
genommen werden. Da die Standard-DUTs, die zum Trainieren eines
Systems eingesetzt werden, ein bekanntes Fehlerprofil besitzen,
zeigen die resultierenden Merkmalssätze, wie gut der Test X und
der Test Y die Fehler, von deren Vorhandensein der Betreiber weiß, erfassen.
Sobald der Merkmalssatz X und der Merkmalssatz Y für alle Standard-DUTs
gemessen sind, vergleichen Schritte 305 und 306 die
Merkmalssätze
X und Y mit den bekannten Profilen für jedes Standard-DUT und bestimmen
aus diesem Vergleich, wie genau jede Messung X und Y die Fehler
in den Standard-DUTs erfasst hat. Diese Ergebnisse sind typischerweise
als ein Vertrauensfaktor für
jeden Test ausgedrückt.
Schritt 307 kombiniert dann den Vertrauensfaktor für die Messungen
unter Verwendung von X und Y, um ein letztendliches Vertrauen Z
zu bestimmen, das darstellt, wie genau ein Fehler erfasst werden
könnte,
wenn beide Tests X und Y gemeinsam verwendet werden. Unter Verwendung
dieses Faktors Z stellt Schritt 308 die Probabilität eines
falschen Bestehens (ein fehlerhaftes DUT wird nicht als fehlerhaft
erkannt) und eines falschen Durchfallens (ein nicht fehlerhaftes
DUT wird als fehlerhaft eingestuft) graphisch dar.
-
Zur
Berechnung der Vertrauenswerte, die bei den obigen exemplarischen
Systemen und Verfahren verwendet werden, können Ausführungsbeispiele der vorliegenden
Erfindung ein beliebiges geeignetes statistisches Modell verwenden.
Hier wird lediglich beispielhaft und zur Darstellung ein Gauß sches Modell
verwendet. Ein Merkmalssatz X, der bei Schritt
303 aus
3 bestimmt
wird, kann durch eine Matrix dargestellt sein, bei der jede Spalte
einen Messpunkt darstellt und jede Zeile einen Messdurchlauf darstellt.
Die folgende Matrix von Übungsdaten
stellt die Ergebnisse eines X-Durchlaufs
an einem Standard an einer k-Zahl von Messpunkten und mit einer
n-Zahl von Malen dar.
-
Es
wird angemerkt, dass ein Übungsverfahren
bei der Alternative einen Test X mit einer k-Zahl von Messpunkten
und an einer n-Zahl von Abtastwerten laufen lassen und das gleiche
Ergebnis erzeugen kann.
-
Unter
Verwendung dieser Matrix ist der Mittelvektor:
und die Kovarianzmatrix für X, wobei
der ij-te Eintrag dieser Matrix die Kovarianz zwischen einem Merkmal
i und einem Merkmal j ist, ist folgendermaßen:
und
-
Für ein typisches
Testverfahren werden eine Matrix, ein Mittelvektor und eine Kovarianzmatrix üblicherweise
für eine „A"-Klasse von Standard-DUTs
bestimmt, die Bauelemente darstellt, die frei von Fehlern sind,
und separat für
eine „B"-Klasse von Standard-DUTs,
die Bauelemente darstellt, die bekannte Fehler beinhalten.
-
Ein
Merkmalssatz von Y, der denjenigen eines Testverfahrens Y darstellt,
der bei Schritt
304 aus
3 bestimmt
wird, kann durch die folgende Matrix dargestellt werden:
-
Unter
Verwendung dieser Matrix ist der Mittelvektor:
und die Kovarianzmatrix beträgt:
-
Unter
Verwendung der obigen Berechnungen können zwei Wahrscheinlichkeiten
(eine A und eine B) für
jeden Satz X und Y berechnet werden. Sobald ein System auf diese
Weise „trainiert" wurde, kann dasselbe, wie
z. B. das, das in
1 dargestellt ist, und/oder
diejenigen, die die Verfahren der
2 und
3 verwenden,
die Probabilität
eines Fehlers in einem neu hergestellten DUT bestimmen. Die Ergebnisse
eines Testdurchlaufs an einer neu hergestellten Einheit unter Verwendung
des Testverfahrens X können
durch den k-dimensionalen
Vektor X
neu dargestellt werden:
-
Für jeden
Vektor von Messungen können
Ausführungsbeispiele
dann eine Wahrscheinlichkeit berechnen, dass das getestete DUT einen
Fehler beinhaltet. Bei den exemplarischen Verfahren der
2 und
3 würden vier
Wahrscheinlichkeiten berechnet werden: eine Wahrscheinlichkeit,
dass ein Test X einen Fehler gefunden hat; eine Wahrscheinlichkeit,
dass der Test X keinen Fehler gefunden hat; eine Wahrscheinlichkeit, dass
ein Test Y einen Fehler gefunden hat; und eine Wahrscheinlichkeit,
dass Y keinen Fehler gefunden hat. Die Gaußsche Wahrscheinlichkeit, dass
X
neu ein Ergebnis eines Testverfahrens X
eines fehlerfreien DUT darstellt, z. B. wäre:
wobei
- det(Σ)
für die
Determinante von Σ steht,
- Σ–1 für das Matrixinverse
von Σ steht,
- (X – μ)t für eine Matrixtransponierte
von (X – μ) steht,
- (X – μ) eine Vektorsubtraktion
ist, und
- die Multiplikationen in der {} Matrixmultiplikationen sind.
-
Ein
neuer Vektor von Messungen unter Verwendung des Testverfahrens Y
kann folgendermaßen
dargestellt werden:
-
Die
Gaußsche
Wahrscheinlichkeit, dass Y
neu eine Messung
des Testverfahrens Y eines fehlerfreien DUT darstellt, wäre folgendermaßen:
wobei
- det(Σ)
für die
Determinante von Σ steht,
- Σ–1 für das Matrixinverse
von Σ steht,
- (Y – μ)t für eine Matrixtransponierte
von (Y – μ) steht,
- (Y – μ) eine Vektorsubtraktion
ist, und
- die Multiplikationen in der {} Matrixmultiplikationen sind.
-
Für jede Messung
eines neuen DUT, die Verfahren X und Y verwendet, könnten zwei
Gaußsche
Wahrscheinlichkeiten GA und GB für jedes
Verfahren berechnet werden, wobei GA(Xneu) die Wahrscheinlichkeit ist, dass das
DUT gemäß X fehlerfrei
ist, GB(Xneu) die
Wahrscheinlichkeit ist, dass das DUT gemäß X einen Fehler aufweist,
GA(Yneu) die Wahrscheinlichkeit ist,
dass das DUT gemäß Y fehlerfrei
ist, und GB(Yneu)
die Wahrscheinlichkeit ist, dass das DUT gemäß Y einen Fehler aufweist.
-
Wahrscheinlichkeiten
sind nützlicher,
wenn sie als Probabilitäten
(oder Vertrauenswerte (C)) ausgedrückt werden. Zur Umwandlung
Gaußscher
Wahrscheinlichkeiten G
A(X
neu)
und G
B(X
neu) in
Probabilitäten C
A(X
neu) bzw. C
B(X
neu) gilt:
-
Hier
wird Folgendes angemerkt: CA(Xneu)
= 1 – CB(Xneu)
-
Sobald
das Vertrauen jedes Messverfahrens bestimmt wurde, können Ausführungsbeispiele
die Ergebnisse mathematisch kombinieren, um dann basierend auf beiden
Techniken eine Bestimmung zu erzeugen, dass ein DUT einen Fehler
aufweist, wie z. B. bei Schritt
307 aus
3.
Eine Weise einer mathematischen Kombination ist die gut bekannte
Bayes-Abstimmformel
(Bayesian Voting Formula), die beschrieben ist in E. T. Jayne, Probability
Theory: The Logic of Science, Cambridge University Press. (2003).
Gemäß dieser Formel
gilt:
-
CA(X, Y) stellt deshalb eine Probabilität dar, dass
ein hergestelltes DUT einen Fehler beinhaltet, und ist eine effiziente
Verwendung mehrerer Testtechniken mit variierender Genauigkeit.
-
Tabellen
1 und 2 sind exemplarische Merkmalssätze von einer IC-Komponente,
die unter Verwendung einer optischen Untersuchungsmaschine gemessen
werden. Tabelle 1
gute
Daten | Merkmal
1 | Merkmal
2 | Merkmal
3 | Merkmal
4 |
Datenpunkt
1 | 43 | 39 | 69 | 3 |
Datenpunkt
2 | 11 | 36 | 79 | 7 |
Datenpunkt
3 | 24 | 38 | 79 | 5 |
Tabelle 2
gute
Daten | Merkmal
1 | Merkmal
2 | Merkmal
3 | Merkmal
4 |
Datenpunkt
1 | 29 | 37 | 18 | 5 |
Datenpunkt
2 | 28 | 38 | 19 | 6 |
Datenpunkt
3 | 30 | 37 | 20 | 6 |
-
4 stellt
einen ROC-Graphen (ROC = Receiver Operating Characteristics = Empfängerbetriebscharakteristika)
basierend auf den Daten der Tabellen 1 und 2 dar. In einem Graph 400 ist
die X-Achse eine Fehlbezeichnungsrate, die als die Anzahl von Fehlbezeichnungen
geteilt durch die Anzahl untersuchter Datenpunkte definiert ist,
und die Y-Achse ist die Empfindlichkeit, die definiert ist als der
Prozentsatz von Fehlern, die durch den Klassifizierer erfasst werden.
-
Der
ROC-Graph aus 4 wurde folgendermaßen erzeugt:
- 1. Berechnen der Vertrauenszahlen für jedes
Element in dem Übungssatz.
- 2. Anpassen der Schwelle von 0 auf 1. Für jeden Wert, Vergleichen der
wahren Klasse des Elements mit der Klasse, die durch Schwellenwertbildung
der Vertrauenszahlen entschieden wurde.
- 3. Die Fehlrufrate ist die Rate, mit der basierend auf der Schwellwertbildungsprozedur
Klasse A als Klasse B bezeichnet wird. Die Entkommensrate ist die
Rate, mit der Klasse B als Klasse A bezeichnet wird.
- 4. Die ROC-Kurve stellt die Fehlbezeichnungsrate gegenüber der
1-Entkommen-Rate für
jede Schwelle dar.
-
Bei
Implementierung über
computerausführbare
Instruktionen sind verschiedene Elemente von Ausführungsbeispielen
der vorliegenden Erfindung im Grunde der Softwarecode, der die Operationen
derartiger verschiedener Elemente definiert. Die ausführbaren
Instruktionen oder Softwarecode können von einem lesbaren Medium
(z. B. einem Festplattenmedium, optischen Medium, EPROM, EEPROM,
Bandmedien, Kassettenmedien, Flash-Speicher, ROM, Memorystick und/oder
dergleichen) erhalten oder über
ein Datensignal von einem Kommunikationsmedium (z. B. dem Internet)
weitergeleitet werden. Tatsächlich
können
lesbare Medien ein beliebiges Medium umfassen, das Informationen
speichern oder übertragen
kann.
-
5 stellt
ein exemplarisches Computersystem 500 dar, das gemäß Ausführungsbeispielen
der vorliegenden Erfindung angepasst ist. Dies bedeutet, dass das
Computersystem 500 ein exemplarisches System aufweist,
auf dem Ausführungsbeispiele
der vorliegenden Erfindung implementiert sein können. Eine zentrale Verarbeitungseinheit
(CPU) 501 ist mit einem Systembus 502 gekoppelt.
Die CPU 501 kann eine beliebige Universal-CPU sein. Geeignete
Prozessoren umfassen beispielhaft ohne Einschränkung einen PENTIUM®4-Prozessor
von Intel. Die vorliegende Erfindung ist jedoch durch die Architektur
der CPU 501 nicht eingeschränkt, solange die CPU 501 die
hierin beschriebenen erfindungsgemäßen Operationen unterstützt. Die
CPU 501 kann die verschiedenen Logikinstruktionen gemäß Ausführungsbeispielen
der vorliegenden Erfindung ausführen.
Die CPU 501 kann z. B. Instruktionen auf Maschinenebene
gemäß den exemplarischen
Operationsflüssen,
die oben in Verbindung mit den 2 oder 3 beschrieben
sind, ausführen.
-
Das
Computersystem 500 umfasst außerdem vorzugsweise einen Direktzugriffsspeicher
(RAM) 503, der SRAM, DRAM, SDRAM oder dergleichen sein
kann. Das Computersystem 500 umfasst vorzugsweise einen
Nur-Lese-Speicher (ROM) 504, der PROM, EPROM, EEPROM oder
dergleichen sein kann. Der RAM 503 und der ROM 504 halten
Benutzer- und Systemdaten und Programme, wie z. B. Programme, die
in der Lage sind, die oben beschriebenen Vektoren und Matrizen zu
analysieren.
-
Das
Computersystem 500 umfasst außerdem vorzugsweise einen Eingangs-/Ausgangs-(I/O-)Adapter 505,
einen Kommunikationsadapter 511, einen Benutzerschnittstellenadapter 508 und
einen Anzeigeadapter 509. Der I/O-Adapter 505,
der Benutzerschnittstellenadapter 508 und/oder der Kommunikationsadapter 511 könnten es
bei bestimmten Ausführungsbeispielen
einem Bediener ermöglichen,
mit dem Computersystem 500 in Wechselwirkung zu stehen,
was es dem Bediener ermöglicht,
z. B. die Anzahl von Standards, die verwendet werden, zu verändern oder
die Messpunkte, die bei einem bestimmten Test verwendet werden,
voreinzustellen.
-
Der
I/O-Adapter 505 verbindet vorzugsweise eine oder mehrere
Speichervorrichtungen 506, wie z. B. ein oder mehrere Elemente
von Festplatte, Kompaktplatten-(CD-)Laufwerk, Diskettenlaufwerk,
Bandlaufwerk usw., mit dem Computersystem 500. Die Speichervorrichtungen
könnten
eingesetzt werden, wenn der RAM 503 für die Speicheranforderungen,
die einem Speichern von Daten für
Benutzerinformationen zugeordnet sind, nicht ausreichend ist. Der
Kommunikationsadapter 511 ist vorzugsweise angepasst, um
das Computersystem 500 mit einem Netzwerk 512 zu
koppeln. Der Benutzerschnittstellenadapter 508 koppelt
Benutzereingabevorrichtungen, wie z. B. eine Tastatur 513,
eine Zeigevorrichtung 507 und ein Mikrophon 514,
und/oder Ausgabevorrichtungen, wie z. B. einen oder mehrere Lautsprecher 515,
mit dem Computersystem 500. Der Anzeigeadapter 509 wird
durch die CPU 501 getrieben, um die Anzeige auf der Anzeigevorrichtung 510 zu steuern,
die verwendet werden kann, um die Ergebnisse jedes Tests anzuzeigen,
sowie die Ergebnisse der mathematischen Kombination dieser Ergebnisse.
-
Es
sollte zu erkennen sein, dass die vorliegende Erfindung nicht auf
die Architektur des Systems 500 eingeschränkt ist.
Beispielsweise könnte
eine beliebige geeignete Vorrichtung auf Prozessorbasis eingesetzt werden,
die ohne Einschränkung
Personalcomputer, Laptop-Computer, Computerarbeitsplatzrechner und Mehrprozessor-Server
umfasst. Ferner könnten
Ausführungsbeispiele
der vorliegenden Erfindung auf anwendungsspezifischen integrierten
Schaltungen (ASICs; ASIC = application specific integrated circuit)
oder Höchstintegrations-(VLSI-)Schaltungen
(VLSI = very large scale intetration) implementiert sein. Tatsächlich können Fachleute
auf dem Gebiet eine beliebige Anzahl geeigneter Strukturen einsetzen,
die in der Lage sind, Logikoperationen gemäß den Ausführungsbeispielen der vorliegenden
Erfindung auszuführen.
-
Obwohl
die vorliegende Erfindung und ihre Vorteile detailliert beschrieben
wurden, wird darauf verwiesen, dass verschiedene Veränderungen,
Ersetzungen und Abänderungen
hieran durchgeführt
werden können,
ohne von der Erfindung, wie diese durch die beigefügten Ansprüche definiert
ist, abzuweichen.