-
HINTERGRUND
DER ERFINDUNG
-
GEBIET DER
ERFINDUNG
-
Diese
Erfindung betrifft allgemein automatische Testausrüstung, die
bei der Herstellung von Halbleitern verwendet wird, und insbesondere
die Produktionsschnittstelle und die Handler-Treiber des Testsystems.
-
BESCHREIBUNG
DES STANDES DER TECHNIK
-
Automatische
Testausrüstung
wird verbreitet bei der Herstellung von Halbleitern verwendet. Halbleiter werden
im allgemeinen mindestens einmal während ihrer Herstellung getestet
und werden manchmal bei mehr als einem Schritt innerhalb des Herstellungsprozesses
getestet. Weil jedes Bauelement getestet wird, ist die Testgeschwindigkeit
kritisch für
die ökonomische
Herstellung von Halbleitern. Langsames Testen verhindert die volle
Ausnutzung der teuren Ausrüstung,
die nötig
ist, um Halbleiterbauelemente zu produzieren. Moderne Halbleiterbauelemente
sind sehr kompliziert und haben viele Betriebszustände. Jeder
dieser Betriebszustände muss
abgearbeitet werden, um einen vollständigen Test durchzuführen. Deshalb
wird automatische Testausrüstung
konstruiert, um Testdaten an ein Halbleiterbauelement anzulegen
und sehr schnell zahlreiche Messungen in einer Produktionseinstellung
durchzuführen.
-
1 zeigt
ein verallgemeinertes automatisches Testsystem nach dem Stand der
Technik. Um sorgfältiges
und schnelles Testen zu ermöglichen,
weist das automatische Testsystem im allgemeinen einen Testgerätkörper 112,
eine Computer-Arbeitsstation 110 und eine Bedieneinrichtung 114 auf.
Die Computer-Arbeitsstation 110 steuert
sowohl die Bedieneinrichtung 114 als auch den Testgerätkörper 112.
Er steuert die Bedieneinrichtung 114, um das Halbleiterbauelement
(nicht sichtbar) zu positionieren, wo es mit zahlreichen Testsonden 118 auf
dem Testgerätkörper 112 in
Kontakt kommt. Oft weist ein Testgerät einen gesonderten Testkopf auf,
der Testsonden 118 enthält.
Jedoch ist eine solche Unterscheidung für die Erfindung nicht wichtig.
-
Die
Arbeitsstation 110 steuert dann den Testgerätkörper 112,
um eine Serie von Tests auf dem zu prüfenden Bauelement laufen zu
lassen. Jeder Test weist im allgemeinen einen Vorbereitungsteil
auf, in dem Steuersignale von der Arbeitsstation 110 zum
Testgerätkörper 112 gesendet
werden. Die Steuersignale sind normalerweise digitale Werte, die über den
Bus 116 gesendet werden. Diese Steuersignale konfigurieren
die Hardware im Testgerätkörper 112,
um die für
den Test erforderlichen Messungen durchzuführen. Die Hardware im Testgerätkörper stellt
Auslöseimpulse
bereit und misst Antworten von dem zu prüfenden Bauelement entsprechend
den Steuersignalen.
-
1 zeigt,
dass die Hardware im Testgerätkörper 112 zahlreiche
Schaltungen aufweist, die als Pin 124 bezeichnet werden.
Jeder Pin 124 erzeugt Signale oder führt Messungen für eine der
Testsonden 118 durch. Jeder Pin 124 kann ein stationäres oder
Gleichspannungssignal bereitstellen oder messen. Alternativ kann
jeder Pin 124 sich ändernde
Daten in einem sogenannten "Burst" bereitstellen oder
messen.
-
Während eines
Bursts wird der Testgerätkörper 112 durch
die Takt- und Ablaufschaltung 120 gesteuert. Die Takt-
und Ablaufschaltung 120 bewirkt, dass jeder der Pins 124 eine
Folge von Datenwerten aus einem zugeordneten Speicher 128 liest.
Jeder Datenwert kennzeichnet die Art von Signal, die der Pin zu
einem bestimmten Zeitpunkt an der ihm zugeordneten Testsonde 118 anlegen
oder zu messen erwarten sollte. Wenn der Pin eine Messung mit einem
erwarteten Wert vergleicht, könnten
die Resultate auch im Speicher 128 gespeichert werden.
-
Die
Menge von Datenwerten, die die Werte definieren, die alle Pins 124 zu
einer Zeit bereitstellen oder zu messen erwarten sollten, wird "Vektor" genannt. Während eines
Bursts werden viele Vektoren ausgeführt. Die Vektoren müssen mit
einer sehr hohen Frequenz ausgeführt
werden, um tatsächliche
Betriebsbedingungen des zu prüfenden
Bauelements zu simulieren. Normalerweise gibt es Millionen von Vektoren,
um die Bursts zu definieren, die benötigt werden, um ein Halbleiterbauelement
zu testen. Die Vektoren werden normalerweise zu dem Zeitpunkt, zu
dem das Testsystem programmiert wird, um eine bestimmte Art von
Bauteil zu testen, in Speicher 128 geladen. Dieser Ladeprozess
könnte
einige Minuten beanspruchen und wird nicht für jeden Burst wiederholt. Stattdessen
sendet die Arbeitsstation 110 für jeden Burst Befehle, die
anzeigen, welche Vektoren als Teil des Bursts auszuführen sind.
Sobald der Burst abgeschlossen ist, liest die Arbeitsstation 110 die
Ergebnisse des Bursts aus dem Speicher 128 oder der Takt-
und Ablaufschaltung 120.
-
Außerdem weist
der Testgerätkörper 112 eines
oder mehrere Instrumente 126 auf. Ein Instrument führt eine
spezifische Testfunktion aus. Es kann z.B. ein spezifisches Testsignal
wie etwa eine Sinuskurve erzeugen. Alternativ kann ein Instrument
ein Signal mit einer hohen Frequenz abtasten, so dass es später durch
einen digitalen Signalprozessor analysiert werden kann. Diese Funktionen
können
als Teil eines Bursts ausgeführt werden
oder gesondert von einem Burst ausgeführt werden.
-
Ein
vollständiger
Test eines Bauteils, manchmal als "Job" bezeichnet,
besteht aus einer Folge von Bursts, in die DC-Messungen sowie Messungen
durch die Instrumente 126 eingestreut sind. Die Bursts
könnten
verwendet werden, um spezifische Funktionseigenschaften des zu prüfenden Bauelements
zu messen. Alternativ könnte
jeder Burst nur dazu verwendet werden, das zu prüfende Bauelement in einen Zustand
zu versetzen, in dem eine Gleichstrommessung durchgeführt werden
kann. Die Reihenfolge, in der diese Elemente eines Tests durchgeführt werden – manchmal
als der "Ablauf' bezeichnet – wird von
Software in der Arbeitsstation 110 bestimmt.
-
Sobald
ein Bauelement vollständig
getestet worden ist oder bis zu dem Punkt getestet worden ist, an dem
es als fehlerhaft bestimmt wird, erzeugt die Arbeitsstation 110 Steuersignale
an die Bedienvorrichtung 114. Die Bedienvorrichtung 114 übergibt
dann dem Testgerätkörper 112 das
nächste
zu prüfende
Bauelement, und der Prozess wird wiederholt. Arbeitsstation 110 sammelt
auch Daten darüber,
ob bestimmte Bauelemente bestanden oder versagt haben. Er kann diese
Daten so verarbeiten, dass defekte Bauelemente verworfen werden,
oder er kann andere Funktionen ausführen, wie etwa die Daten auf
Fehlertrends zu analysieren.
-
Für die Produktion
ist es höchst
wünschenswert,
dass die Software, die es einem Bediener ermöglicht, das Testgerät zu steuern,
sehr leicht zu erlernen und zu benutzen ist. Was in einem Produktionstestumfeld
benötigt
wird, ist eine sehr einfache Bedienerschnittstelle zum Rest des
Testsystems. Außerdem
muss die Schnittstelle wegen der vielen von Kunde zu Kunde veränderten
Anforderungen an diese Schnittstelle flexibel und leicht zu ändern sein.
-
Ein
Vortrag mit dem Titel "Object-Oriented
design of Measurement Systems" von
Daponte P. et al und veröffentlicht
in "Proceedings
of the Instrumentation and Measurement Technology Conference", New York, 12.-14.
Mai 1992, Seiten 243–248,
XP000344047, beschreibt ein objektorientiertes Simultan-Echtzeit-Modell für die Entwicklung
von Software eines rechnergestützten
Messsystems.
-
Ein
Vortrag mit dem Titel "Ada
Software Support Environment for Test" von DeWald Gee et al und veröffentlicht
in "Advancing Mission
Accomplishment",
San Antonio, 17.-20. September 1990, Seiten 239–246, XP000201781.
-
Ein
Artikel mit dem Titel "ActiveX
Demystified" von
Chappell et al und veröffentlicht
in Byte, Vol. 20, Nr. 9, September 1997, Seiten 56–62, XP000726365,
liefert eine Hintergrundbeschreibung der ActiveX-Technologie.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Die
vorliegende Erfindung stellt ein Verfahren bereit, um eine einfache
Bedienerschnittstelle zum Testsystem zu erzeugen, die sehr flexibel
ist. Eine Produktions-Bedienerschnittstelle wird unter Verwendung
selbständiger
ActiveX-Steuerungsobjekte erzeugt, von denen jedes eine Schnittstelle
zu einem spezifischen Teil des gesamten Testsystems bereitstellt.
All diese Steuerungsobjekte kommunizieren automatisch untereinander.
Die Produktionsschnittstelle verwendet ein ActiveX-"Testgerät-Steuerungsobjekt", das eine Anwendungs-Programmierschnittstelle
zum Rest des Softwaresteuerungssystems bereitstellt. Eine Bibliothek
selbständiger
ActiveX-Steuerungsobjekte wird bereitgestellt, die "Bedienungselemente" enthält, die
in ein Bedienerfenster "gezogen
und losgelassen" werden
können,
um den Bediener mit Information und der Fähigkeit, das Testsystem zu
steuern, zu versehen. Die ActiveX-Bedienungselemente kommunizieren über das
ActiveX-Testgerät-Steuerungsobjekt
mit dem Rest des Testsystems.
-
Außerdem muss
ein Halbleitertestsystem angepasst werden, damit es mit einem oder
mehreren verschiedenen Handlern für geschlossene Bauelemente
oder mit Wafersonden zusammenarbeitet, die ein Halbleiterbauelement
zum Testen durch das Testgerät
positionieren. Ein ActiveX-Bedienungselement ermöglicht es einem Bediener, einen
Handler-Treiber aus einer Bibliothek von Handler-Treibern auszuwählen. Jeder
Handler-Treiber verwendet ein ActiveX-Handlertestgerät-Steuerungsobjekt,
das als Schnittstelle zwischen dem Handler und dem ActiveX-Testgerät-Steuerungsobjekt
(und dadurch zum Rest des Testsystems) dient.
-
BESCHREIBUNG
DER ZEICHNUNGEN
-
1 ist
ein Hardware-Blockschaltbild eines Testgeräts nach dem Stand der Technik.
-
2 ist
ein Funktions-Blockschaltbild der Produktionsschnittstelle der vorliegenden
Erfindung.
-
3 ist
ein Beispiel einer sehr einfachen Produktions-Bedienerschnittstelle.
-
AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
-
2 ist
ein ausführliches
Funktions-Blockschaltbild des vollständigen Testsystems gemäß der vorliegenden
Erfindung. Das System weist eine PC-Arbeitsstation 2000,
ein Testgerät 2002,
einen Handler 2004 und einen Zentralrechner 2006 auf.
Die Software der Arbeitsstation 2000 besteht aus einer
Produktionsschnittstelle 2008 und dem Testentwicklungs-
und Ausführungsprogramm 2010 (im
allgemeinen als Softwaresteuerungssystem bezeichnet).
-
Die
Produktionsschnittstelle 2008 dient als Schnittstelle zwischen
dem Bediener und dem Testentwicklungs- und Ausführungsprogramm 2010,
dem Zentalrechner 2006 und dem Handler 2004. Um diese
Ausrüstung
in einem Produktionstestumfeld zu steuern, ist es erforderlich,
dem Bediener der Ausrüstung
eine sehr einfache Steuerungsschnittstelle bereitzustellen. Jedoch
gibt es viele veränderte
Anforderungen an diese Schnittstelle von Kunde zu Kunde und auch
von Ort zu Ort beim selben Kunden. Außerdem muss die Testausrüstung oft
mit anderen Rechnersteuersystemen mit einer Vielzahl von Anforderungen
kommunizieren. Eine Schnittstelle bereitzustellen, die einfach und
dennoch flexibel ist, die den Anforderungen aller Nutzer entspricht und
die mit anderen Rechnersteuerprogrammen verknüpft werden kann, war ein sehr
schwieriges Problem. Dies wurde früher alles in C/C++ programmiert.
-
Die
Produktionsschnittstelle 2008 löst das Problem durch die Verwendung
von selbständigen
Steuerungsobjekten, nachfolgend selbständige "Steuerungsobjekte" genannt, von denen jedes eine Schnittstelle
zu einem spezifischen Teil des gesamten Testsystems mit dem Testentwicklungs-
und Ausführungsprogramm 2010,
dem Zentralrechner 2006 und Handler-Treibern 2004 bereitstellt.
Diese Steuerungen kommunizieren alle automatisch miteinander.
-
In
der bevorzugten Ausführungsform
sind diese Steuerungen "ActiveX"-Steuerungsobjekte,
die in Visual Basic (nachfolgend VB) von der Microsoft Corporation,
Redmond, Washington, geschrieben wurden. Diese Steuerungsobjekte
können
unter Verwendung von Visual Basic schnell und einfach zu einer grafischen
Anwenderschnittstelle (GUI) kombiniert werden oder als Programmschnittstelle
ohne GUI verwendet werden. Die ActiveX-Steuerungsobjekte ermöglichen
es dem Bediener, eine Aktion im Testentwicklungs- und Ausführungsprogramm 2010,
dem Zentralrechner 2006 oder dem Handler 2004 auszulösen. Der
Bediener verwendet während
des Produktionstests ein ActiveX-Steuerungsobjekt, um mit der Exekutive 2016 zu
kommunizieren. Zusätzlich
kann der Bediener begleitende Aktionen durch den Handler 2004 und
den Zentralrechner 2006 auslösen oder die Produktionsschnittstelle
kann als Antwort auf Anfragen vom Handler 2004 oder vom
Zentralrechner 2006 automatisch eine Aktion im Testentwicklungs- und Ausführungsprogramm 2010 (durch
Exekutive 2016) auslösen.
-
Eine
ActiveX-Steuerungsobjekt-Schnittstelle ist durch Eigenschaften,
Ereignisse und Methoden definiert. Eine Methode ist eine Visual-Basic-Funktion,
die im Steuerungsobjekt aufgerufen werden kann. Die Funktion kann
Argumente entgegennehmen und einen Wert zurückgeben und ist analog zu einer
Funktionsdefinition in einer C/C++-Bibliothek. Eine Eigenschaft
ist im Grunde genommen eine globale Variable im Steuerungsobjekt
mit Zugriffsfunktionen, die bereitgestellt werden, um ihren Wert
zu erhalten und/oder festzulegen. Eigenschaften können zur
Entwurfzeit oder zur Laufzeit programmierbar gemacht werden, und
VB behandelt die Sicherung programmierter Eigenschaftswerte automatisch
als Teil der ausführbaren
Produktionsschnittstelle. Ein Ereignis ist ein durch das Steuerungsobjekt
ausgelöstes
Signal, das zu dem Objekt weitergeleitet wird, das das Steuerungsobjekt
enthält.
Der Container (die Produktionsschnittstelle in der bevorzugten Ausführungsform)
kann einen Handler (Steuerungsprogramm) für das Ereignis enthalten, falls
es notwendig sein sollte.
-
Es
gibt vier Typen von ActiveX-Steuerungsobjekten in der bevorzugten
Ausführungsform:
- – Testgerät-Steuerung 2014.
Diese liefert eine Anwendungsprogrammierschnittstelle (API) zum
Rest des Systems.
- – Bedienungselemente 2022.
Dies sind GUI-Komponenten, die dem Bediener am Testgerät-Steuerpult
erlauben, Aktionen auszuführen
oder Zustände
zu überwachen.
- – Handlertestgerät-Steuerungsobjekt 2026.
Dies ist ein ActiveX-Steuerungsobjekt, das die Schnittstelle zu jedem
Handler 2004 definiert. Sie dient als einziger Verbindungspunkt
zwischen dem Handler-Treiber 2024 und der Testgerät-Steuerung 2014 der
Produktionsschnittstelle. Alles was diese Steuerung enthält, kann als
Handler-Treiber 2024 mit der Produktionsschnittstelle 2008 verwendet
werden.
- – Zentralrechner-Schnittstellensteuerung 2021.
Dieses Steuerungsobjekt übersetzt
die API der Testgerät-Steuerung 2104 in
Standardnachrichten, die an den Zentralrechner 2006 gesendet
oder von dort empfangen werden.
-
Der
Begriff "Produktions-Steuerungsobjekte" bezieht sich auf
alle ActiveX-Steuerungsobjekte, die verwendet werden, um eine Produktions-Bedienerschnittstelle
und/oder einen Handler-Treiber zu erzeugen. Dies schließt die Testgerätsteuerung,
die Bedienungselemente, die Handlertestgerät-Steuerungsobjekte und die Zentralrechner-Schnittstellensteuerungsobjekte
ein.
-
Um
das Testgerät
in einem Halbleiter-Produktionsumfeld zu betreiben, muss eine Vielzahl
von Fenstern verfügbar
sein, die der Bediener abhängig
vom durchzuführenden
Test auf seinen Bildschirm bringen kann. Um diese Fenster zu erzeugen,
kann der Programmierer Steuerungsobjekte aus einer Bibliothek von
ActiveX-Steuerungsobjekten auf das Bedienerfenster "ziehen und loslassen". ActiveX-Steuerungsobjekte
sind geeignet, selbständig
zu wirken, so dass sie in jede beliebige Anwendung gezogen und losgelassen
werden können.
Der Begriff "ziehen
und loslassen" wird
allgemein zur Bezeichnung der Handlung des Auswählens eines Gebildes und des
Plazierens dieses Gebildes in einem Container verwendet. Der Begriff
Container wird allgemein zur Bezeichnung eines Gebildes verwendet,
das andere Objekte enthalten kann. In der bevorzugten Ausführungsform
ist der Container das Bedienerfenster, und die Objekte sind ActiveX-Steuerungsobjekte.
Der Vorteil ist die Einfachheit, mit der die verschiedenen Fenster
an der Bedienerschnittstelle erzeugt werden können. Früher mussten alle solche Formen
einzeln in C/C++ programmiert werden, was schwierig und zeitraubend
war. Es ist eine völlig
neuartige Anwendung, ActiveX-Steuerungsobjekte für Bedienungselemente beim Testen
von Halbleitern zu verwenden.
-
Ein
weiterer Vorteil besteht darin, wie die ActiveX-Steuerungsobjekte
in einem spezifischen Fenster der Bedienerstation alle miteinander
kommunizieren. Jedes ActiveX-Steuerungsobjekt ist geeignet, so zu
arbeiten, dass zum Zeitpunkt der Initialisierung jedes Bedienungselement
nach anderen Bedienungselementen und der Testgerät-Steuerung im Fenster sucht
und eine Kommunikationsverbindung zu jedem anderen ActiveX-Steuerungsobjekt
herstellt, so dass jedes Steuerungsobjekt mit jedem anderen Steuerungsobjekt
kommunizieren kann.
-
Zur
weiteren Darstellung ist in 3 eine beispielhafte
Produktions-Bedienerschnittstelle gezeigt. Die Bedienerschnittstelle 3000 enthält ein Testgerät-Steuerungsobjekt 3030,
eine Ablagefach-Anzeige 3010 und einen Startknopf 3020.
Die Ablagefach-Anzeige und der Startknopf sind Beispiele für Bedienungselemente. Ein
Beispiel für
die Suchroutine, die verwendet wird, um alle Ablagefach-Anzeigen
im Fenster zu identifizieren, ist unten angegeben. Die verwendete
Methode besteht darin, auf der Suche nach Steuerungsobjekten des Typs "BinDisplay" (Ablagefach-Anzeige)
alle Steuerungsobjekte im Hauptfenster wiederholt zu durchlaufen. Wenn
eine Ablagefach-Anzeige gefunden wird, wird ein Objekthandler für dieses
Steuerungsobjekt für
die zukünftige
Kommunikation mit den Ablagefach-Anzeigen
gesichert. Diese Suchroutine war schwierig zu bestimmen, und das
folgende in Visual Basic geschriebene Programm ist der beste bekannte
Möglichkeit
für die
Suche.
-
Anmerkung
1: Diese Routine durchsucht momentan genau ein Level; es sollte
erweitert werden, um eine beliebige Anzahl von Levels durchlaufen
zu können.
-
Anmerkung
2: Diese Routine wird aufgerufen, sobald Kommunikation mit einer
Ablagefach-Anzeige benötigt wird
(siehe Anmerkung 3). Da die Anzahl der Steuerungsobjekte zur Optimierung
sich zur Laufzeit nicht ändern
kann (siehe Anmerkung 4), wird die Routine einfach verlassen, wenn
schon Ablagefach-Anzeigen gefunden worden sind.
-
Anmerkung
3: Diese Routine wird mehrfach aufgerufen, da es kein geeignetes
Initialisierungsereignis für
das Nutzer-Steuerungsobjekt gibt, wenn sie aufgerufen werden kann.
Aus verschiedenen Gründen
funktionieren weder UserControl_Initialize noch UserControl_InitProperties.
Das sollte wenn möglich
korrigiert werden.
-
Anmerkung
4: Steuerungsobjekte können
tatsächlich
zur Laufzeit hinzugefügt
werden. Wir gehen davon aus, dass das nicht geschehen wird. Aber
das ist nicht unbedingt eine sichere Annahme.
-
-
Als
ein Beispiel dafür,
wie die ActiveX-Steuerungsobjekte miteinander kommunizieren, wenn
der Bediener einen Test auslösen
möchte,
benutzt er ein ActiveX-Start-Steuerungsobjekt aus den Bedienungselementen 2022.
Das Start-Steuerungsobjekt ist so programmiert, dass es mit einer
Methode in der ActiveX-Testgerät-Steuerung 2014 kommuniziert,
die den Start des Tests durch die Exekutive 2016 auslöst. Das
Testprogramm läuft,
und ein Ergebnis wird verfügbar.
Das Testentwicklungs- und Ausführungsprogramm 2010 sendet eine
Meldung zurück,
dass der Test abgeschlossen ist. Die Testgerät-Steuerung 2104 fragt die Ergebnisse
des Tests von der Exekutive 2016 ab. Die Testgerät-Steuerung 2104 informiert
als nächstes
jede Ablagefach-Anzeige über
die Testergebnisse.
-
Alle
ActiveX-Steuerungsobjekte in der Bedienerschnittstelle kommunizieren
mit dem Rest des Testsystems durch die ActiveX-Testgerät-Steuerung.
Es gibt nur eine Testgerät-Steuerung 2014.
-
Die
Bedienungselemente 2022 weisen auch ein ActiveX-Handler-Steuerungsobjekt
auf, das einem Bediener ermöglicht,
einen Handler aus einem Menü verfügbarer Handler-Treiber
auszuwählen,
ihn zu verbinden und ihn zu aktivieren. Der Begriff "Handler" wird allgemein zur
Bezeichnung von Handlern für
geschlossene Bauelemente oder Wafersonden verwendet. Die Gestaltung
der Handler-Treiber 2024 weicht wesentlich davon ab, was
nach dem Stand der Technik getan wurde. Die Handler-Unterstützung für diese
herkömmlichen Testgeräte besteht
aus einer einzigen, stark konfigurierbaren Bibliothek, die versucht,
jede mögliche
Ausrüstung
zu unterstützen.
Das hat sich für
Kunden als schwer anwendbar erwiesen. Jedes einzelne Teil der Ausrüstung zu
konfigurieren, ist kompliziert, da die Schnittstelle viele programmierbare
Einstellungen aufweist, von denen nur einige notwendig sind. Wenn
ein neuer Handler ein Merkmal erfordert, das nicht in der Bibliothek verfügbar ist,
ist eine Aktualisierung der Systemsoftware erforderlich, die der
Endanwender nicht durchführen kann.
Und die Bibliothek ist fehleranfällig,
da jede Änderung,
um neue Handler zu unterstützen,
das Risiko birgt, Fehler in die bereits bestehenden einzuführen.
-
In
der bevorzugten Ausführungsform
hat jeder Handler seinen eigenen Treiber, der nur den Code enthält, der
erforderlich ist, um diesen spezifischen Handler zu bedienen. Zur
Laufzeit wird der Treiber, der benötigt wird, um den verwendeten
Handler zu bedienen, dynamisch in die Produktionsschnittstelle geladen.
Dies hat gegenüber
der herkömmlichen
Methode bedeutende Vorteile:
- – Da jedes
Treibermodul nur den von ihm benötigten
Code hat, ist es viel kleiner und einfacher.
- – Die
Visual-Basic-Umgebung macht es für
den Kundendienst oder die Kunden selbst einfach, einen neuen Treiber
zu erzeugen, ohne Unterstützung
von der Softwareabteilung des Herstellers zu benötigen. Die bevorzugte Ausführungsform
weist eine Anzahl von Treibern auf, die als Startpunkte kopiert
werden können.
- – Das
Risiko ist gering, dass die Softwareentwicklung für die Erfindung
Fehler verursacht, anders als bei einer einzelnen Bibliothek, die
kontinuierlich geändert
werden muss, um neue Merkmale hinzuzufügen.
-
Die
bevorzugte Ausführungsform
stellt eine Bibliothek von Handler-Treibern bereit, die Kunden entweder
direkt oder als Basis zur Entwicklung eines neuen Treibers nutzen
können.
Der übliche
Anfang bei der Entwicklung eines neuen Treibers besteht darin, einen
Treiber der bevorzugten Ausführungsform
zu kopieren. Der Treiber besteht aus einer VB-Vorlage, die mindestens
ein Handlertestgerät-Steuerungsobjekt 2026 und
Aufrufe zu einer Kommunikationsschnittstelle 2028 enthält. Das
Handlertestgerät-Steuerungsobjekt 2026 definiert die
Schnittstelle zum Handler 2004. Benutzerdefinierter Code
verwendet die Eigenschaften, Ereignisse und Methoden des Steuerungsobjekts
und programmiert über
die Kommunikationsschnittstelle 2028 auch den Handler entsprechend.
-
Genauer
betrachtet, ist das Handlertestgerät-Steuerungsobjekt 2026 ein
ActiveX-Steuerungsobjekt, das die Schnittstelle zu jedem Handler 2004 definiert.
Dies dient als der einzige Verbindungspunkt zwischen dem Handler-Treiber 2024 und
dem Rest der Produktionsschnittstelle 2008. Alles, was
dieses Steuerungsobjekt enthält,
kann von der Produktionsschnittstelle 2008 als Handler-Treiber 2024 verwendet
werden.
-
Die
Kommunikationsschnittstelle 2028 definiert die Netzwerktransportschicht
zwischen der Testgerät-Steuerung 2014 und
jeglicher Peripherie. Der Handler-Treiber 2024 verwendet
eine oder mehrere Kommunikationsschnittstellen 2028, um
die eigentlichen Lese- und Schreiboperationen zu und von dem Handler
oder der Sonde 2004 durchzuführen.
-
Die
Produktionsschnittstelle 2008 weist auch eine ActiveX-Zentralrechner-Schnittstellensteuerung 2021 auf,
die es dem Bediener ermöglicht,
den Zentralrechner 2006 mit dem Testgerät 2002 zu verbinden.
In der Produktionsstätte
wird manchmal ein Testgerät 2002 mit
einem Zentralrechner 2006 verbunden, der den Zustand des
Testgeräts überwacht,
Testergebnisse sammelt und den Testprozess direkt steuern kann.
-
Die
Zentralrechner-Schnittstellensteuerung 2021 übersetzt
die API der Testgerät-Steuerung 2014 in Standardnachrichten,
die an den Zentralrechner 2006 gesendet oder von dort empfangen
werden. Es gibt zwei Teile der Zentralrechner-Schnittstellensteuerung 2021.
Die Zentralrechner-Nachrichtensteuerung 2030 ist zuständig für die Übersetzung
der API der Testgerät-Steuerung 2014 in
Nachrichten in einem Standardformat, die von den Zentralrechnern
verstanden werden können.
Die Netzwerkschnittstelle 2032 führt die eigentliche Netzwerkkommunikation
mit der Zentralrechnerverwaltung durch.
-
Die
Zentralrechner-Nachrichtensteuerung 2030 ist ein ActiveX-Steuerungsobjekt,
das die Ereignisse der Testgerät-Steuerung 2014 wahrnimmt
und deren Eigenschaften und Methoden ausführen kann. Wenn ein Ereignis
der Testgerät-Steuerung 2014 empfangen
wird, das eine Nachricht zum Zentralrechner 2006 erfordert,
erzeugt es eine Zentralrechner-Nachricht, die das Ereignis beschreibt,
und ruft ein Ereignis "Nachricht bereit" hervor. Wenn eine
Nachricht vom Zentralrechner 2006 mittels eines "Nachricht empfangen"-Verfahrens empfangen
wird, greift es auf die geeigneten Testgerät-Steuerungsmethoden und -eigenschaften
zu, um die Anfrage zu implementieren. Die Netzwerkschnittstelle 2032 wird
durch einen Code in der Produktionsschnittstelle gesteuert, der
mit der Zentralrechner-Nachrichtensteuerung
zusammenwirkt.
-
Das
Testentwicklungs- und -ausführungsprogramm 2010 arbeitet
innerhalb des Betriebssystems Windows NT und besteht aus Software,
die in Elemente aufgeteilt ist, die verwendet werden: 1) zur Testentwicklungs-
und -auswertungszeit und 2) zur Testausführungszeit. Die Excel-Arbeitsmappe 308 ist
der Abschnitt des Programms, der zur Entwicklung von Tests zur Testentwicklungs-
und -auswertungszeit verwendet wird. Excel ist ein Tabellenkalkulationsprogramm,
mit dem eine Anwendung entwickelt werden kann. Visual Basic ist
eine in Excel eingebaute Programmiersprache, die genutzt wird, um
Testvorlagen zu schreiben und die Ausführung von Tests zu steuern.
-
In
der bevorzugten Ausführungsform
sind die Werkzeuge zur Bauelementdaten- und Ablaufentwicklung 310 durch
kundenspezifische Tabellen innerhalb der Excel-Arbeitsmappe 308 implementiert.
Drei Typen von Daten müssen
durch die Tabellen für
einen Test festgelegt werden: Bauelementdaten, Testablaufdaten und
Testinstanzdaten. Bei Bauelementdaten können dies Tabellen für Taktsätze, Kanalbelegungen,
Flankensätze
oder einen Anschlussbelegungsplan sein. Jede dieser Tabellen ist
ein Datensatz. Die Testinstanzdaten-Tabellen bestimmen die Testvorlage
und ihren zugeordneten Bauelementdatensatz. Eine Testvorlage ist ein
Testalgorithmus. In der bevorzugten Ausführungsform sind Testvorlagen
in Visual Basic geschrieben. Eine Testvorlage und ihr zugeordneter
Datensatz werden als "Instanz" bezeichnet. Testablaufdaten
können
Tabellen sein, die eine Serie von auszuführenden Testschritten festlegen.
Die Serie von Testschritten kann die Ausführung einer Serie von Testvorlagen
sein, die jeweils einen zugeordneten Datensatz verwenden.
-
Zusammengefasst
weist die Excel-Tabelleninformation 312 auf: die Bauelementdatensätze, die
Testinstanzinformation, die definiert, welche Vorlagen mit dem zugeordneten
Datensatz zu verwenden sind, und die Testablaufinformation, die
die Reihenfolge der auszuführenden
Testinstanzen definiert.
-
Die
Testvorlagen 320 sind in Visual Basic geschrieben und werden
normalerweise vom Hersteller bereitgestellt. Die Werkzeuge zur Bauelementdaten-
und Ablaufentwicklung 310, die Excel-Arbeitsblätter 312 und
die vom Hersteller bereitgestellten Testvorlagen 320 werden
zur Testentwicklungs- und -auswertungszeit vor der Testausführung während des
Produktionstests verwendet. Testvorlagen 320 und Excel-Arbeitsblätter 312 werden
ebenfalls während
des Produktionstest verwendet.
-
Die
zusätzliche
Software des Testentwicklungs- und -ausführungsprogramms 2010,
die zur Testausführungszeit
während
des Produktionstests verwendet wird, sind die Exekutive 2016,
die Ablaufsteuerungssoftware 314, der Datenmanager 316 und
die Gerätetreiber 328.
Diese gesamte Software arbeitet in der Betriebssystem-Umgebung Windows
NT.
-
In
der bevorzugten Ausführungsform
löst die
Testgerät-Steuerung 2014 das
Hochladen des Testprogramms aus. Excel wird gestartet, und die Arbeitsmappe 308 wird
geöffnet.
Die Daten der Arbeitsblätter 312 gehen
an den Datenmanager 316. Die Exekutive 2016 reagiert
auf die Testgerät-Steuerung 2014 und
ruft die Ablaufsteuerung 314 und die Gerätetreiber 328 auf.
Diese fordern Daten vom Datenmanager 316 an. Der Test ist
nun bereit zu starten, und alle Funktionen nehmen einen Ruhezustand
ein. Wenn das Testprogramm bereit ist zum Start, weist die Testgerät-Steuerung
die Exekutive 2016 an, den Test auszulösen. Die Exekutive weist die
Ablaufsteuerung 314 an, das Programm auszuführen. Die
Ablaufsteuerung legt fest, welche Instanz auszuführen ist, und ruft eine Vorlage
aus der Vorlagenbibliothek 320 auf. Die Vorlage fordert
die Bauelementdaten (d.h. Argumente) vom Datenmanager 316 an
und ruft dann die Treiber 328 auf.
-
Die
Gerätetreiber 328 übergeben
die Signale an das Testgerät 2002,
um einen vollständigen
Test oder "Job" mit einem zu prüfenden Bauelement
(DUT) durchzuführen.
Der gesamte Test weist Gleichstrompegel-, funktionales und serielles/abfragendes
Testen des DUT auf. Das Testgerät
kann ein beliebiges dem Stand der Technik entsprechendes Testgerät für einen
Halbleiter sein. Ein Beispiel eines Testgeräts ist in dem US-Patent 5606568
beschrieben, das auf denselben Rechtsnachfolger Teradyne übertragen
ist und dessen Inhalt hierin durch Bezugnahme aufgenommen wird.
-
Nachdem
das Testgerät 2002 den
Test beendet hat, bestimmt die Vorlage, ob der Test bestanden worden
ist oder nicht, und übergibt
die Steuerung zurück
an die Ablaufsteuerung 314. Die Ablaufsteuerung bestimmt
dann, ob noch mehr Instanzen auszuführen sind oder ob der Ablauf
abgeschlossen ist. Ist der Ablauf abgeschlossen, geht das Testsystem
in einen Ruhezustand über.
-
Das
Testentwicklungs- und -ausführungsmodul 2010 ist
in einer auf den gleichen Rechtsnachfolger Teradyne übertragenen,
gleichzeitig anhängigen
Patentanmeldung mit dem Titel "Low
cost, easy to use automatic test system software" von Daniel C. Proskauer und Predeep
B. Deshpande, angemeldet am 13. Juni 1997 als US-A-5910895 bzw.
EP-A-0988558, umfassender offenbart.
-
Zusätzliche
Angaben zur Produktionsschnittstelle 2008, zum Handler-Treiber 2024 und
zur Zentralrechner-Schnittstellensteuerung 2021 sind im
nachfolgenden Anhang A aufgeführt.
-
Alle
Rechte, einschließlich
Urheberrechte, an dem in Anhang A enthaltenen Material sind auf
Teradyne, den Rechtsnachfolger der vorliegenden Erfindung, übergegangen
und ihr Eigentum. Teradyne behält
sich alle Rechte an Anhang A vor und erteilt die Genehmigung, das
Material zu vervielfältigen,
nur in Verbindung mit der Vervielfältigung des erteilten Patents
und für
keinen anderen Zweck.
-
Obwohl
die bevorzugten Ausführungsformen
der Erfindung dargestellt und beschrieben worden sind, bieten sich
dem Fachmann zahlreiche Abwandlungen und alternative Ausführungsformen
an. Folglich wird die Erfindung nur durch die beigefügten Ansprüche eingeschränkt.
-
ANHANG A
-
PRODUKTIONSSOFTWARE IG-XL
-
INHALT
-
- 1. EINLEITUNG 1
- 1.1. Architekturüberblick
- 1.2. Konzept des offenen Entwurfs
- 1.3. ActiveX-Steuerungsobjekte
- 2. TESTGERÄT-STEUERUNG
4
- 3. BEDIENUNGSELEMENTE 6
- 3.1. Handler-Steuerung
- 3.2. Standort-Steuerungsobjekt
- 3.3. "BinDisplay"-Steuerungsobjekt
- 3.4. Startknopf-Steuerungsobjekt
- 3.5. Ausbeutenüberwachungs-Steuerungsobjekt
- 4. HANDLER-TREIBER 8
- 4.1. Treibermodell
- 4.2. Eingebaute Treiber
- 4.3. Entwicklung eines Treibers
- 4.4. Handler-Treiber-Assistent
- 4.5. Testen eines Treibeis
- 5. ZENTRALRECHNER-SCHNITTSTELLE 13
- 5.1. Zentralrechner-Nachrichtensteuerung
- 5.2. Netzwerkschnittstelle
- 6. PROJEKTLISTE 15
-
IG-XL-PRODUKTIONSSOFTWARE
-
BISHERIGER VERLAUF DER
BEARBEITUNG
-
- 16. Juni 1997 Jon Vollmar: Abschnitte zu ActiveX und Zentralrechner-Steuerungsobjekt
hingefügt.
- 14. Mai 1997 Jon Vollmar: Erste Version auf der Grundlage von
Ed Gilberts "Aurora
Production Software"
- Verwandte Dokumente
- "Aurora Production
Software", Ed Gilbert,
2.8.96
- \\aurorant\aurora\Documents\Production_SW\ProposalProductionSoftware.doc
-
EINLEITUNG
-
Architekturüberblick
-
Dieses
Dokument beschreibt die Produktionssoftware IG-XL. Wie in
1 dargestellt,
erfordert der Produktionstest vier physische Komponenten. Das Testgerät selbst
besteht aus einem PC, auf dem IG-XL läuft, und
seiner zugehörigen
Testhardware. Ein Handler setzt Bauelemente zum Testen ein und sortiert
sie auf der Grundlage von Testergebnissen (man beachte, dass in
diesem Dokument "Handler" immer als "Handler oder Sonde" zu verstehen ist).
Schließlich
wird das Testgerät
normalerweise mit einem Zentralrechner (Server) verbunden, der Testergebnisse
sammelt und speichert sowie den Testvorgang direkt steuern kann.
In letzterem Fall wird der Zentralrechner oft als Zellen-Steuerungseinrichtung
bezeichnet.
Fig.
1: Produktionssoftware IG-XL
-
Innerhalb
von IG-XL gibt es zwei Windows-NT-Prozesse. Microsoft Excel ist
die Schnittstelle zum Laden, Ausführen und Austesten des Programms.
Während
der Produktion führt
Excel diese Funktionen weiterhin aus, auch wenn es kein sichtbares
Fenster gibt, es sei denn, der Bediener geht in den Entwicklungsmodus über.
-
Ein
zweiter Prozess stellt die Produktionsschnittstelle bereit. Dies
ist ein in Visual Basic geschriebenes ausführbares Programm. Es besteht
aus als "ActiveX-Steuerungsobjekte" bezeichneten Bausteinen,
die in IG-XL enthalten sind. Es gibt drei Arten von Steuerungsobjekten:
- – Die
Testgerät-Steuerung.
Diese stellt eine API zu Exekutive und Job von IG-XL bereit.
- – Bedienungselemente.
Dies sind GUI-Komponenten, die es einem Bediener am Testgerät-Steuerpult ermöglichen,
Aktionen auszuführen
oder Zustände
zu beobachten.
- – Zentralrechner-Schnittstellensteuerung.
Dieses Steuerungsobjekt übersetzt
die API der Testgerät-Steuerung in Standardnachrichten,
die zum Zentralrechner gesendet oder von dort empfangen werden.
Beispiele für
diese Standards sind SECS II, definiert durch SEMI, und SEMF, definiert
durch Teradyne.
-
Eine
Produktionsschnittstelle weist außerdem einen Handler-Treiber
auf, der die gerätespezifische
Information darüber
aufweist, wie eine) bestimmter) Handler oder Sonde zu betreiben
ist. Ein Treiber wird zur Laufzeit ausgewählt und geladen. IG-XL weist
Treiber für
Standardschnittstellen und allgemein verwendete Ausrüstung auf.
Es ist auch leicht für
einen Kunden, einen kundenspezifischen Handler-Treiber zu erzeugen, ohne
irgendwelche Änderungen
an IG-XL zu erfordern.
-
Konzept des
offenen Entwurfs
-
Eine
Bedienerschnittstelle muss leicht anzupassen sein; jeder Kunde wünscht sich,
seine eigene zu erzeugen, die auf seine Fabrikräume zugeschnitten ist. Testgerät-Software
erfüllt
diesen Bedarf im allgemeinen durch Bereitstellung von grundlegenden
Anzeigewerkzeugen, die für
die meisten Kunden nützlich
sind, sowie durch Bereitstellung einer API, die Kunden ermöglicht,
ihre eigenen Werkzeuge zu erzeugen. Aber ein Kunde, der ein Werkzeug
erzeugt, kann damit normalerweise nicht beginnen, indem er ein systemeigenes Werkzeug
modifiziert, da es schwierig und teuer ist, die Entwicklungsumgebung
der Systemsoftware zu reproduzieren, und die Schnittstellen, die
erforderlich sind, um es funktionsfähig zu machen, oft nicht exportiert
oder dokumentiert werden.
-
Die
Wahl von Visual Basic macht ein anderes Entwurfsmodell möglich. Die
VB-Entwicklungsumgebung
ist sowohl leistungsfähig
genug, um für
die Entwicklung von Systemsoftware verwendet zu werden, als auch
so einfach anwendbar und preiswert, dass auch Kunden sie nutzen
können.
IG-XL enthält
Muster-Produktionsschnittstellen, die entweder ohne Umschweife verwendet
oder kopiert und kundengerecht angepasst werden können. Der
serienmäßige Software-Lieferumfang
weist Quellcode und Dokumentation für die Bedienungselemente, Zentralrechner-Schnittstellensteuerungen
und Handler-Treiber
auf. Indem ein Kunde einfach Visual Basic kauft, hat er die gleichen
Möglichkeiten,
Produktionsschnittstellen zu erzeugen, wie die IG-XL-Softwaregruppe.
-
ActiveX-Steuerungsobjekte
-
Überblick
-
ActiveX
ist eine Softwaretechnologie von Microsoft zur Entwicklung sprachunabhängiger Softwarekomponenten,
die als Steuerungsobjekte bezeichnet werden. Indem man sie verwendet,
kann man ein individuelles Steuerungsobjekt erzeugen, beispielsweise
eine Ablagefach-Anzeige. Das Steuerungsobjekt wird als eine binäre Datei
vertrieben, in die sowohl der Code als auch die GUI- Information eingebettet
sind und die jeder Entwicklungsumgebung, die ActiveX unterstützt, hinzugefügt werden
kann, unabhängig
von der Umgebung, die ursprünglich
verwendet wurde, um das Steuerungsobjekt zu erzeugen.
-
Vor
Visual Basic V5.0 wurden ActiveX-Steuerungsobjekte unter Verwendung
von C++ erzeugt (wo sie als kundenspezifische OLE-Steuerungsobjekte
bezeichnet wurden). Die C++-Schnittstelle zu ActiveX ist schwer
zu verwenden und erfordert einen erfahrenen Microsoft-C++/MFC-Programmierer.
VB 5.0 fügte
die Fähigkeit
hinzu, ActiveX-Steuerungsobjekte viel einfacher zu erzeugen und
zu verwenden, was die Technologie einer größeren Menge von Programmierern
zugänglich
machte.
-
Eigenschaften, Ereignisse
und Methoden
-
Ein
in einer herkömmlichen
C/C++-Bibliothek bereitgestelltes Merkmal besteht aus Klassendefinitionen,
Funktionsaufruf-Vereinbarungen und, wenn es schlecht konzipiert
wurde, globalen Variablen. Eine Schnittstelle eines ActiveX-Steuerungsobjekts
ist durch Eigenschaften, Ereignisse und Methoden definiert.
-
Eine
Methode ist einfach eine Visual-Basic-Funktion, die man im Steuerungsobjekt
aufrufen kann. Die Funktion kann Argumente entgegennehmen und einen
Wert zurückgeben
und ist analog zu einer Funktionsdefinition in einer C/C++-Bibliothek.
-
Eine
Eigenschaft ist im Grunde genommen eine globale Variable im Steuerungsobjekt
mit Zugriffsfunktionen, die bereitgestellt werden, um ihren Wert
zu erhalten und/oder festzulegen. Eigenschaften können zur Entwurfzeit
oder zur Laufzeit programmierbar gemacht werden, und VB behandelt
die Sicherung programmierter Eigenschaftswerte automatisch als Teil
der ausführbaren
Produktionsschnittstelle.
-
Ein
Ereignis ist ein durch das Steuerungsobjekt ausgelöstes Signal.
Der Container (die Produktionsschnittstelle) kann einen Handler
für das
Ereignis einfügen.
Zum Beispiel weist die Testgerät-Steuerung ein "Test abgeschlossen" genanntes Ereignis
auf, das gesendet wird, wenn ein Job-Durchlauf abgeschlossen ist. Die
Produktionsschnittstelle kann einen Handler für dieses Ereignis aufweisen,
der automatisch aufgerufen wird, wenn dieses Ereignis eintritt.
-
TESTGERÄT-STEUERUNG
-
Die
Testgerät-Steuerung
ist die API zum Testgerät.
Sie dient als die einzige Verbindungsstelle zwischen IG-XL und dem
Rest der Welt. Durch sie können
andere Steuerungsobjekte Programme laden und ausführen sowie
Ergebnisse empfangen. Eine Produktionsschnittstelle muss genau eine
Testgerät-Steuerung
enthalten. Die Testgerät-Steuerung-Schnittstelle
wird für
Kunden dokumentiert, aber sie wird nicht als Quellcode vertrieben,
weil ihre Verbindung zu Excel und der Exekutive nicht für allgemeine
Nutzer offengelegt werden soll.
-
Eigenschaften:
-
- – Programmname
- – Programmstatus
- geladen, geprüft,
läuft,
in der Auffangroutine
- – DIB-Kennung
- – Sondenkarten-Kennung
- – Ablagefach-Ergebnisse
- – Entwicklungsmodus-Passwort
- – Los-Kennung
- – Wafer-Koordinaten
- – Bedienername
- – Liste
aktiver Standorte – Karte
gegenwärtig
geprüfter
Standorte
- – Maximale
Standorte – Anzahl
der Standorte in der Kanalkarte des Programms
- – Kalibrierungsstatus
- – Programm-Handhabung – ermöglicht beliebige
Aufrufe zwischen dem Programm und Nutzer-Steuerungsobjekten
-
Ereignisse:
-
- – Bediener
eingeloggt/ausgeloggt
- – Laden
begonnen
- – Laden
abgeschlossen
- – Laden
abgebrochen
- – Test
begonnen
- – Test
abgeschlossen
- – Test
abgebrochen
- – Kalibrierung
begonnen
- – Kalibrierung
abgeschlossen
- – Kalibrierung
abgebrochen
- – Neues
Los beginnen
- – Los-Ende
- – Wafer-Anfang
- – Ende
des Wafers
- – Job
gelöscht
-
Methoden:
-
- – Bediener
einloggen/ausloggen
- – Ein
Testprogramm laden
- – Ein
Testprogramm löschen
- – Ein
Los laden
- – Ein
Los löschen
- – Ein
einzelnes Bauelement testen
- – Bei
Fehler in Schleife gehen (zur Sicherung des ununterbrochenen Ablaufs)
- – Testwiederholung
- – Für eine(n)
Handler/Sonde konfigurieren
- – Inbetriebnahme/Außerbetriebnahme
startet von einem Handler/einer Sonde
- – Einen
Standort aktivieren/deaktivieren
- – Abbruch
-
BEDIENUNGSELEMENTE
-
Handler-Steuerungsobjekt
-
Das
Handler-Steuerungsobjekt ermöglicht
einem Bediener, einen Handler aus einem Menü verfügbarer Handler-Treiber auszuwählen, ihn
anzuschließen
und ihn in Betrieb zu nehmen.
-
Eigenschaften:
-
- – Handler-Treiber-Handhabung
-
Methoden:
-
- – Handler-Treiber
auswählen
- – Handler
anschließen
- – Handler
trennen
- – Handler
in Betrieb nehmen
- – Handler
außer
Betrieb nehmen
-
Standort-Steuerungsobjekt
-
Dieses
Steuerungsobjekt zeigt die Anzahl der Standorte in der Kanalkarte
des Jobs an und ermöglicht es,
spezifische Standorte zum Testen zu aktivieren und zu deaktivieren.
-
Ablagefach-Anzeige
-
Zeigt
das letzte Ablagefach-Ergebnis an einem bestimmten Standort an.
-
Startknopf
-
Dieses
Steuerungsobjekt ist ein Knopf, der einen Job-Durchlauf startet.
-
Ausbeutenüberwachung
-
Die
Ausbeutenüberwachung überwacht
die Gut/Schlecht-Ergebnisse von Bauelementen an einem Standort und
verfolgt die Ausbeute. Sie stellt eine graphische Anzeige der Ausbeute über der
Zeit bereit und weist programmierbare Ausbeutegrenzen auf, die bei Überschreitung
Ereignisse auslösen.
-
Eigenschaften:
-
- – Standort – der Standort,
den die Anzeige überwacht
- – Bauelemente
pro Zelle – Anzahl
der Bauelemente, die gemeinsam zu einer Zelle gruppiert sind
- – Anzahl
der Zellen – wie
viele Zellen verfolgt werden
- – Zellenzähler – wie voll
die Zelle ist
- – Zellenausbeute – die Ausbeutezahl
für eine
bestimmte Zelle von Bauelementen
- – Zellenanzeige
in Betrieb – zeigt
ein Säulendiagramm
der Zellenausbeuten
- – Kumulative
Anzeige in Betrieb – zeigt
ein Liniendiagramm der über
die Zellen kumulierten
-
Ausbeute
-
- – Diagrammgestaltung – horizontal
oder vertikal
- – Alarm-Obergrenze – Ausbeuteschwelle,
bei der das Ereignis "Alarm-Obergrenze" auszulösen ist
- – Alarm-Untergrenze – Ausbeuteschwelle,
bei der das Ereignis "Alarm-Untergrenze" auszulösen ist
-
Ereignisse:
-
- – Ausbeutenalarm-Obergrenze
- – Ausbeutenalarm-Untergrenze
-
Methoden:
-
- – Rücksetzen – leert
alle Zellen
-
HANDLER-TREIBER
-
Die
Gestaltung von Handler-Treibern in IG-XL weicht erheblich von dem
ab, was in VTD und ICD getan wurde. Die Handler-/Sonden-Unterstützung für diese
Testgeräte
besteht aus einer einzigen, stark konfigurierbaren Bibliothek, die
versucht, jede mögliche
Ausrüstung
zu unterstützen.
Das hat sich für
Kunden als schwer anwendbar erwiesen. Jedes einzelne Teil der Ausrüstung zu
konfigurieren, ist kompliziert, da die Schnittstelle viele programmierbare
Steuerungsobjekte aufweist, von denen nur einige notwendig sind.
Wenn ein neuer Handler ein Merkmal erfordert, das nicht in der Bibliothek
verfügbar
ist, ist eine Aktualisierung der Systemsoftware erforderlich, die
der Endanwender nicht durchführen
kann. Und die Bibliothek ist fehleranfällig, da jede Änderung,
um neue Handler zu unterstützen,
das Risiko birgt, Fehler in die bereits bestehenden einzuführen.
-
Treibermodell
-
In
IG-XL hat jeder Handler seinen eigenen Treiber, der nur den Code
enthält,
der erforderlich ist, um diesen spezifischen Handler zu bedienen.
Zur Laufzeit wird der Treiber, der benötigt wird, um den verwendeten Handler
zu bedienen, dynamisch in die Produktionsschnittstelle geladen.
Dies hat gegenüber
der Herangehensweise in VTD/ICD bedeutende Vorteile:
- – Da
jedes Treibermodul nur den von ihm benötigten Code hat, ist es viel
kleiner und einfacher.
- – Die
Visual-Basic-Umgebung macht es für
den Teradyne-Kundendienst oder die Kunden selbst einfach, einen
neuen Treiber zu erzeugen, ohne Unterstützung von der Softwareabteilung
des Herstellers zu benötigen.
IG-XL weist eine Anzahl von Treibern auf, die als Startpunkte kopiert
werden können.
- – Das
Risiko ist gering, dass die Teradyne-Softwareentwicklung Fehler
verursacht, anders als bei einer einzelnen Bibliothek, die kontinuierlich
geändert
werden muss, um neue Merkmale hinzuzufügen.
-
Eingebaute Treiber
-
IG-XL
stellt eine Bibliothek von Handler-Treibern bereit, die Kunden entweder
direkt oder als Basis zur Entwicklung eines neuen Treibers nutzen
können.
Wir stellen die folgenden Treiber bereit:
- – P849.
Dies ist ein IEEE-Standard für
die Kommunikation mit einem Handler oder einer Sonde über eine RS232-Schnittstelle.
Bei Teradyne wird er mitunter als RDP bezeichnet. Jedes Peripheriegerät, das diesen Standard
erfüllt,
ist imstande, den eingebauten Treiber ohne Abwandlung zu verwenden.
- – SECS
II/HSEM (Handlerspezifisches Ausrüstungsmodell). Dies ist ein
SEMI-Standard für
die Schnittstelle zu Halbleiter-Handhabungsausrüstung gemäß dem SECS-II-Kommunikationsstandard.
Dieser Treiber unterstützt
jede Ausrüstung,
die die Spezifikation erfüllt.
- – Spezifische
Handler/Sonden, die gewöhnlich
von Teradyne-Kunden verwendet werden (die Liste ist noch zu bestimmen).
-
Entwicklung eines Treibers
-
Um
einen neuen Treiber zu entwickeln, wird man normalerweise damit
beginnen, einen der Treiber von IG-XL zu kopieren. Der Treiber besteht
aus einer VB-Vorlage, die mindestens ein Handlertestgerät-Steuerungsobjekt
und Aufrufe zu einer Kommunikationsschnittstelle enthält. Das
Handlertestgerät-Steuerungsobjekt definiert
die Schnittstelle zu IG-XL. Benutzerdefinierter Code in der Vorlage
verwendet die Eigenschaften, Ereignisse und Methoden des Steuerungsobjekts
und programmiert den Handler über
die Kommunikationsschnittstelle entsprechend.
-
2 stellt
die Struktur eines Handler-Treibers dar.
Fig.
2: Innerer Aufbau eines Handler-Treibers:
-
Handlertestgerät-Steuerungsobjekt
-
Das
Handlertestgerät-Steuerungsobjekt
ist ein von IG-XL zur Verfügung
gestelltes ActiveX-Steuerungsobjekt,
das die Schnittstelle zu jedem Handler definiert. Dies dient als
der einzige Verbindungspunkt zwischen dem Handler-Treiber und dem
Rest von IG-XL. Alles, was dieses Steuerungsobjekt enthält, kann
in eine Produktionsschnittstelle fallengelassen und als Handler
verwendet werden.
-
Eigenschaften:
-
- – In
Betrieb
- – Angeschlossen
- – Ablagefach-Ergebnisse
- – Fehlercode
- – Fehlermeldung
- – Kennung
des zu prüfenden
Bauelements (DUT)
- – Handler-/Sonden-Kennung
- – Ausgangsrohr-Status
(nur Handler)
- – Eingangsrohr-Status
(nur Handler)
- – Waferstatus
(nur Sonden)
- – Eingangskassetten-Status
(nur Sonden)
- – X-Koordinate
(nur Sonden)
- – Y-Koordinate
(nur Sonden)
-
Ereignisse:
-
- – Test
abgeschlossen
- – In
Betrieb
- – Außer Betrieb
- – Angeschlossen
- – Getrennt
- – Wafer
vollständig
(nur Sonden)
-
Methoden:
-
- – Test
beginnen
- – Handler
in Betrieb nehmen
- – Handler
außer
Betrieb nehmen
- – Handler
anschließen
- – Handler
trennen
- – Auf
Start warten
- – Ablagefach-Abfertigung
- – Einstellungen
laden
- – Befehl
senden
- – Anforderung
senden
- – Kontakt
unterbrechen (nur Handler)
- – Kontakt
herstellen (nur Handler)
- – Wafer
laden (nur Sonden)
- – Wafer
entladen (nur Sonden)
- – Wafer
abtasten (nur Sonden)
- – Abtasten
abbrechen (nur Sonden)
- – Zu
absolutem Chip bewegen (nur Sonden)
- – Zu
relativem Chip bewegen (nur Sonden)
- – Zu
relativer Position bewegen (nur Sonden)
- – Zum
Kontakt hin bewegen (nur Sonden)
- – Vom
Kontakt weg bewegen (nur Sonden)
- – Zu
gegebener Höhe
bewegen (nur Sonden)
- – Sortierkästen für gute Chips
zuweisen (nur Sonden)
- – Logische
Farbcodes zuweisen (nur Sonden)
-
Kommunikationsschnittstelle
-
Die
Kommunikationsschnittstelle definiert die Netzwerktransportschicht
zwischen dem Testgerät
und jeglicher Peripherie. Der Handler-/Sonden-Treiber verwendet
eine oder mehrere dieser Schnittstellen, um die eigentlichen Lese-
und Schreiboperationen zu und von dem Handler oder der Sonde durchzuführen.
-
Wir
beabsichtigen, fünf
Schnittstellen zu unterstützen:
- – RS232.
Dies ist die serielle Standardschnittstelle. Microsoft stellt mit
Visual Basic einen Controller für
serielle Anschlüsse
bereit, und wir hoffen, diesen verwenden zu können. Wir haben auch ein anspruchsvolleres,
Multithreading-fähiges
Steuerungsobjekt, das von Ed Gilbert entwickelt wurde.
- – GPIB.
Dies ist eine parallele Standardschnittstelle, die verbreitet von
Test- und Messinstrumenten benutzt wird. Wir hoffen, eine PC-GPIB-Schnittstelle
von National Instruments zu erwerben.
- – Anwendungsspezifisch
parallel. Dies ist eine spezielle Parallelschnittstelle, die eigens
für schnelle
Kommunikation vom Testgerät
zum Handler entwickelt wurde, wobei jede Leitung eine spezifische
Testfunktion ausführt
(nicht die Parallelschnittstelle an einem PC). VTD stellt ein Parallelschnittstellen-Controllererzeugnis
her, das mit einem RS232-Anschluss im Computer verbunden wird und
die nötigen
parallelen Signale erzeugt; wir hoffen, diese Box als unsere Unterstützung für Parallelschnittstellen
verwenden zu können.
- – Ethernet.
Ethernet-Schnittstellen werden an neuerer Ausrüstung verfügbar, und wir müssen es
unterstützen.
Bisher gibt es aber noch keinen Plan dafür.
- – Parallel-/Seriell-Kombination.
Manche Maschinen weisen bei Bedarf sowohl eine anwendungsspezifische Parallelschnittstelle
für Geschwindigkeit
als auch einen RS232-Anschluss für
kompliziertere Mitteilungen aus. Da ein Handler-Treiber über jede
einzelne oder alle der obigen Schnittstellen kommunizieren kann,
erfordert es keine besondere Arbeit, dies zu unterstützen.
-
Es
ist komfortabel, wenn die Kommunikationsschnittstelle ein aktives
Active X Steuerungsobjekt ist, aber es ist nicht erforderlich. Es
kann eine C/C++-DLL sein oder irgendetwas anderes, das aus Visual-Basic-Code heraus
aufgerufen werden kann.
-
Handler-Treiber-Assistent
-
Windows-Software
weist das Konzept der "Assistenten" auf, die einen mit
einer Entwicklungsaufgabe beginnen lassen, indem sie eine Reihe
von Fragen danach stellen, was man tun möchte, und dann automatisch
ein Projekt mit einem Codegerippe erzeugen, das von Hand ausgefüllt wird,
um das Projekt zu erzeugen. Das macht es dem Anfänger leicht, mit einem Projekt
zu beginnen, und selbst erfahrene Treiber-Entwickler erhalten eine
bequeme Startvorgabe zum Schreiben ihres Codes.
-
Wir
werden einen Handler-Treiber-Assistent erzeugen, um die Entwicklung
von Handler-Treibern zu erleichtern. Dieser würde Fragen aufwerfen wie:
- – Treiber
für einen
Handler oder eine Sonde?
- – Was
für eine
Kommunikationsschnittstelle wird er verwenden?
- – Ist
es ein Handler für
parallele Tests? Wie viele Standorte?
- – Anzahl
der unterstützten
Sortierkästen?
-
Testen eines Treibers
-
Das
Testen einer Produktionsschnittstelle erfordert normalerweise, dass
ein lauffähiges
Testprogramm und Testgerät
zur Verfügung
steht. Dies schränkt
die Fähigkeit
ein, die Entwicklung der Produktionssoftware und der Testprogramm-Software
parallel durchzuführen.
-
Der
modulare Aufbau der IG-XL-Produktionssoftware ermöglicht es,
dass das Testen einer Produktionsschnittstelle und eines neuen Handler-Treibers
unabhängig
voneinander vonstatten gehen kann. Es sind Standard-PC-Karten verfügbar, die
jeden PC direkt mit einem Handler kommunizieren lassen, ohne dass
ein Testgerät
vorhanden ist. Ein spezielles Softwaretest-Aufbauzubehör wird bereitgestellt,
das die Verbindung mit der Testgerät-Steuerung anstelle von Excel
herstellt. Das Aufbauzubehör
weist eine Mini-Exekutive
auf, die scheinbar ein Programm laden und ausführen sowie zufällige oder
vorprogrammierte Ablagefach-Ergebnisse zurückgeben kann.
-
Dies
würde dem
Entwickler, der eine Produktionsschnittstelle entwickelt, ermöglichen,
lediglich mit einem Laptop, auf dem IG-XL installiert ist, dem Handler
selbst und einer Schnittstellenkarte hochgradige Tests auszuführen.
-
ZENTRALRECHNER-SCHNITTSTELLENSTEUERUNGEN
-
Im
Fabrikraum wird ein Testgerät
normalerweise mit einem Zentralrechner verbunden, der den Testgerät-Zustand überwacht,
Testergebnisse sammelt und den Testvorgang direkt steuern kann.
-
Die
IG-XL-Produktionssoftware unterstützt dies durch eine Zentralrechner-Schnittstelle,
wie in
3 dargestellt.
Fig.
3: Zentralrechner-Schnittstelle
-
Die
Zentralrechner-Schnittstelle hat zwei Bestandteile. Die Zentralrechner-Nachrichtensteuerung
ist für
die Übersetzung
der API der IG-XL-Testgerät-Steuerung
in Nachrichten in einem Standardformat verantwortlich, das vom Zentralrechner
verstanden werden kann. Die Netzwerkschnittstelle führt die
eigentliche Netzwerkkommunikation mit dem Zentralrechner durch.
-
Zentralrechner-Nachrichtensteuerungen
-
Die
Zentralrechner-Nachrichtensteuerung ist ein ActiveX-Steuerungsobjekt,
das die Ereignisse der Testgerät-Steuerung
wahrnimmt und deren Eigenschaften und Methoden ausführen kann.
Wenn ein Ereignis der Testgerät-Steuerung
empfangen wird, das eine Nachricht zum Zentralrechner erfordert,
erzeugt es eine Zentralrechner-Nachricht, die das Ereignis beschreibt,
und ruft ein Ereignis "Nachricht
bereit" hervor.
Wenn eine Nachricht vom Zentralrechner mittels eines "Nachricht empfangen"-Verfahrens empfangen
wird, greift es auf die geeigneten Testgerät-Steuerungsmethoden und -eigenschaften
zu, um die Anfrage zu implementieren.
-
Eigenschaften:
-
- – In
Betrieb – Das
Steuerungsobjekt kann außer
Betrieb genommen werden, um das Senden von Nachrichten zu unterbrechen.
-
Ereignisse:
-
- – Zentralrechner-Nachricht
bereit – Das
Testgerät
hat eine Nachricht, die an den Zentralrechner zu senden ist. Ein
Ereignis-Handler in der Produktionsschnittstelle überträgt die Nachricht über das
Netzwerk.
-
Methoden:
-
- – Zentralrechner-Nachricht
verarbeiten – Die
Produktionsschnittstelle hat eine Zentralrechner-Nachricht über die Netzwerkschnittstelle
empfangen, die verarbeitet werden muss.
-
Zwei
spezifische Zentralrechner-Nachrichtensteuerungen werden mit IG-XL
bereitgestellt:
-
- – SEMF
(Standard-Ereignisnachrichtenformat). Dies ist ein von Teradyne
entwickelter Standard. Er besteht aus Textnachrichten, die hauptsächlich vom
Testgerät
zum Zentralrechner gesendet werden, um seinen Zustand zu melden.
- – SECS
II/TSEM. SECS (SEMI-Gerätekommunikationsstandard)
ist ein Standard, der die Einzelheiten des Nachrichtenaustauschs
zwischen einem Zentralrechner und beliebiger Halbleiter-Ausrüstung beschreibt. TSEM
(Testgerätspezifisches
Ausrüstungsmodell)
beschreibt Ergänzungen
zum Standard, die für
die Testausrüstung
spezifisch sind.
-
Netzwerkschnittstelle
-
Die
Schnittstelle zum Netzwerk wird durch Code in der Produktionsschnittstelle
gesteuert, der mit der Zentralrechner-Nachrichtensteuerung zusammenarbeitet.
Windows NT weist mehrere Optionen zur Kommunikation mit dem Zentralrechner
auf:
-
- – Winsock-Steuerungsobjekt.
Visual Basic weist ein Standard-ActiveX-Steuerungsobjekt zur Socket-Kommunikation
unter Verwendung von TCP mit jedem Knoten im Netzwerk, der Sockets
unterstützt,
auf.
- – RPC
(Fern-Prozeduraufruf). Dieser Standard ermöglicht einem Computer, Unterprogramm-Aufrufe auf einer
anderen Maschine im Netzwerk auszuführen. Dies ist aus Visual Basic
heraus nicht so einfach wie ein Socket zu verwenden, gibt uns aber
einen Ausweg, um eine Produktionsschnittstelle auf dem Netzwerk
alles das durchführen
zu lassen, was sie durchführen
muss.
- – Verteiltes
ActiveX. Innerhalb einer Windows-Betriebssystemumgebung können ActiveX-Steuerungsobjekte
auf verschiedenen Maschinen so einfach einander direkt aufrufen,
wie sie bei laufendem Betrieb miteinander kommunizieren, Wir haben
diese Möglichkeit
noch nicht umfassend erforscht.
-
PROJEKTLISTE
-
Produktions-Nutzer-Steuerungsobjekte
-
- – Testgerät-Steuerung
- – Standort-Steuerungsobjekt,
Ablagefach-Anzeige, Handler-Steuerungsobjekt, Startknopf
- – Ausbeutenüberwachung
-
Zentralrechner-Kommunikation
-
- – SEMF-Zentralrechner-Nachrichtensteuerung
- – SECS-II/TSEM-Zentralrechner-Nachrichtensteuerung
-
Handler-Treiber
-
- – Handlertestgerät-Steuerungsobjekt
- – P849-Treiber
- – SECS-II/HSEM-Treiber
- – Spezifischer)
Handler/Sonde Nr. 1
- – Spezifischer)
Handler/Sonde Nr. 2
- – RS232-Schnittstelle
- – GPIB-Schnittstelle
- – Ethernet-Schnittstelle
- – Handler-Treiber-Assistent
- – Test-Aufbauzubehör
-
Beispiel-Produktionsschnittstellen
-
- – Muster
Nr.1
- – Muster
Nr.2
-
Diese
Projekte werden als Standard-Bestandteil von IG-XL vertrieben und
weisen Quellcode auf, um als Beispiele zu dienen, falls kundenspezifische
Entwicklung erforderlich ist.