-
Bereich der Erfindung
-
Die vorliegende Erfindung betrifft ein Verfahren zur Übersetzung von in STIL (Standard-Prüfschnittstellensprache) geschriebenen digitalen Prüfvektoren in eine zyklusgestützte Zielprüfsprache.
-
Hintergrund der Erfindung
-
Beim Prüfen von Halbleiterbauteilen, wie etwa integrierten oder hochintegrierten Schaltungen, mit Hilfe einer automatischen Prüfanlage (ATE) oder eines Prüfgeräts für integrierte Schaltungen werden einem zu prüfenden integrierten Halbleiterschaltungsbauteil durch ein Prüfgerät für integrierte Schaltungen an seinen entsprechenden Pins mit einer bestimmten Prüfzeitsteuerung Prüfsignale oder Prüfmuster zugeführt. Das Prüfgerät für integrierte Schaltungen empfängt vom integrierten Schaltungsbauteilprüfling Ausgangssignale in Antwort auf die Prüfsignale. Die Ausgangssignale werden mit Hilfe von durch das Prüfgerät für integrierte Schaltungen erzeugten Abtastsignalen mit einer bestimmten Zeitsteuerung abgetastet bzw. abgefragt, um sie mit SOLL-Daten zu vergleichen und so zu bestimmen, ob das integrierte Schaltungsbauteil korrekt arbeitet oder nicht. Üblicherweise wird dabei die jeweilige Zeitsteuerung der Prüfsignale und Abtastsignale relativ zu einem Startzeitpunkt jedes Prüfzyklus des Prüfgeräts für integrierte Schaltungen festgelegt.
-
Wie bereits erwähnt, erzeugt ein Prüfgerät für integrierte Schaltungen ausgehend von digitalen Prüfvektordaten, die in einer speziell auf das Prüfgerät ausgelegten Sprache (Format) beschrieben sind, Prüfmuster und Abtastsignale, d. h. einen Prüfvektor. Die dabei für automatische Prüfanlagen verwendeten Sprachen sind je nach Hersteller unterschiedlich.
-
Kürzlich wurde von IEEE als Standard-Prüfschnittstellensprache (IEEE Std 1450-1999) eine als STIL (Standard-Prüfschnittstellensprache) bezeichnete Sprache vorgeschlagen. STIL bildet eine Schnittstelle zwischen rechnergestützten Entwurfs- und Entwicklungssystemen (CAE), wie etwa Logikprüfsimulatoren, und automatischen Prüfanlagen. In einer CAE-Umgebung bzw. einer EDA-Umgebung (Umgebung für elektronische Entwurfsautomatisierung) wird ein Halbleiterbauteil mit Hilfe eines Rechnersystems entworfen, wobei ein solcher Entwurf sodann mit Hilfe eines Logikprüfsimulators oder einer Prüfbank geprüft wird. Es ist nun vorteilhaft, wenn beim Prüfen tatsächlicher Halbleiterbauteile durch Prüfgeräte für integrierte Schaltungen die aus der Logiksimulation resultierenden digitalen Prüfvektoren zum Einsatz kommen. STIL ist so ausgelegt, dass sie eine Übertragung großer Mengen an digitalen Prüfvektoren von der CAE-Umgebung zur Umgebung der automatischen Prüfanlage (ATE-Umgebung) erleichtert.
-
Die STIL-Prüfsprache wurde erst kürzlich zur Standardsprache. Derzeit verwenden allerdings die meisten ATE-Systeme STIL nicht als computerspezifische Sprache. Die von den Prüfanlagenherstellern vorgegebenen computerspezifischen Sprachen sind im übrigen miteinander nicht kompatibel, so dass ein Bedarf nach einer effizienten Übersetzung von STIL in die computerspezifischen ATE-Sprachen besteht.
-
US 5 845 234 A beschreibt ein Verfahren zum effizienten Erzeugen eines Prüfprogramms für ein automatisches Testsystem, das von zyklusbasierten Wellenformdaten ausgeht. Jedes Testsystem-Prüfprogramm besteht aus einem Standard-Satz von Modulen, die in einer Wellenformbeschreibungssprache aus Testsystem-spezifischen Schablonen erzeugt werden können. Jede Schablone besteht aus leeren Programmmodulen und enthält unter Anderem Format-, Zeitsteuer- und Musterinformationen. Mittels einer Wellenformtransformation werden die zyklusbasierten Wellenformdaten in eine vereinheitlichte, d. h. Testsystem-unabhängige, ATE-Datenbeschreibung übertragen. Dabei bezieht sich die Wellenformtransformation auf ATE-Charakterisierungstabellen, die einen minimalen Satz von Information spezifizieren, der für alle ZielTestsysteme gilt. Die vereinheitlichte ATE-Datenbeschreibung enthält Tabellen von Anschlussinformationen, Prüfmusterinformationen und Format- und Zeitablauf-Informationen in einem Ereignis-basierten Format. Schließlich werden die Schablonen mit den Daten der vereinheitlichten ATE-Datenbeschreibung, d. h. den Anschlussinformationen, Prüfmusterinformationen und Format- und Zeitablauf-Informationen vervollständigt. Diese Daten liegen in einer Form vor, die ein einfaches Einbinden dieser Informationen in die Listengesteuerten Schablonen ermöglichen.
-
Überblick über die Erfindung
-
Eine Aufgabe der vorliegenden Erfindung ist es, ein Verfahren zur Übersetzung einer Prüfsprache zu beschreiben, bei dem Prüfvektoren aus einem STIL-Format (Format der Standard-Prüfschnittstellensprache) mit hoher Effizienz und Genauigkeit in eine Zielsprache übersetzt werden.
-
Die Aufgabe wird gelöst durch den Gegenstand von Anspruch 1. Vorteilhafte Ausgestaltungen sind in den abhängigen Unteransprüchen angegeben.
-
Kurzbeschreibung der Zeichnung
-
In der Zeichnung zeigen
-
1 ein Diagramm zur Darstellung eines Beispiels für ein STIL-Format, das Signale oder Signalgruppen wiedergibt, die in den digitalen Prüfvektoren enthalten sind, die als Prüfvektoren dienen sollen;
-
2 ein Diagramm zur Darstellung eines Beispiels für ein STIL-Format, das die Zeitsteuerung von Flanken in den jeweiligen, die Wellenformen bildenden Signalen angibt;
-
3 ein Diagramm zur Darstellung eines Beispiels für ein STIL-Format, welches Vektorenmuster in jedem der die Wellenformen bildende Signale angibt;
-
4 ein Diagramm zur Darstellung eines Beispiels für ein STIL-Format, welches eine Musterabfolge in den die geplanten Wellenformen darstellenden Prüfvektoren wiedergibt;
-
5 ein Diagramm zur Darstellung eines Beispiels für ein Format, das in TDL (Prüfbeschreibungssprache) gehalten ist, wobei es sich um eine Prüfsprache handelt, die speziell auf ein ATE-System ausgelegt ist, welches von der Anmelderin der vorliegenden Erfindung entwickelt wurde;
-
6A ein Schemadiagramm zur Darstellung eines Grundprinzips der Prüfsprachenübersetzung gemäß der vorliegenden Erfindung und
-
6B ein Schemadiagramm zur Darstellung eines Beispiels für eine funktionelle Anordnung bei der erfindungsgemäßen Prüfsprachenübersetzung;
-
7 ein Diagramm zur Darstellung eines Beispiels eines STIL-Bausteins und einer äquivalenten TDL-Darstellung sowie einer auf der TDL-Darstellung basierenden Wellenform-Schablone;
-
8 ein Diagramm zur Darstellung anderer Beispiele von STIL-Bausteinen, von Wellenformen, die den STIL-Bausteinen entsprechen, und von TDL-Darstellungen;
-
9 ein Diagramm zur Darstellung weiterer Beispiele von STIL-Bausteinen, von Wellenformen, die den STIL-Bausteinen entsprechen, sowie von TDL-Darstellungen zur Erläuterung der Optimierungswellenformen;
-
10A und 10B Tabellen zur Darstellung von Beispielen für eine Matrix, die den zerlegten Ereignissen der STIL-Prüfvektoren entsprechende Startwerte und Flankenzahlen angibt und zur Durchführung des erfindungsgemäßen Musterabgleichs dient;
-
11 ein Flussdiagramm zur Darstellung eines Beispiels für das Vorgehen beim erfindungsgemäßen Wellentypabgleich auf den unterschiedlichen Prüfvektorebenen;
-
12 ein Flussdiagramm zur Darstellung eines Beispiels für das Vorgehen beim erfindungsgemäßen Wellentypabgleich vom vorhergehenden zum darauffolgenden Zyklus;
-
13 ein Diagramm zur Darstellung einer Grundidee für die Umwandlung der STIL-Prüfvektoren in TDL-Mehrtakt-Prüfsignale, sofern die Pins des Bauteilprüflings für derartige Mehrtaktsignale ausgelegt sind; und
-
14 ein Wellenformdiagramm zur Darstellung einer Grundidee für die Umwandlung der STIL-Prüfvektoren in TDL-Pinmultiplex-Prüfvektoren.
-
Detaillierte Beschreibung der bevorzugten Ausführungsbeispiele
-
Die STIL-Prüfsprache (Standard-Prüfschnittstellensprache) definiert Muster und Zeitsteuerungsinformationen für die Bauteilprüfung unter Einsatz einer zyklusgestützten Darstellung. Das verwendete Format entspricht dabei nicht der Sprache irgendeines ATE-Systems, sondern wurde so ausgelegt, dass es eine maximale Flexibilität bei der Prüfprogrammentwicklung bietet. STIL wurde erst kürzlich zum Standard erklärt und wird noch nicht in größerem Umfang eingesetzt. In den letzten Jahren wurden einige auf dem Einsatz von STIL basierende Anwendungen vorgeschlagen, etwa im allgemeinen Prüfablauf, in der Abtastprüfmethodik und in einem ATPG (automatischer Prüfmustergenerator). Derzeit wird STIL bei den meisten ATE-Systemen nicht als computerspezifische Sprache eingesetzt, so dass eine Übersetzung aus STIL in die computerspezifische Sprache des Ziel-ATE-Systems nötig ist. Bei letzterer handelt es sich üblicherweise um eine zyklusgestützte Sprache, so dass hier die Übersetzung von einer zyklusgestützten Darstellung in eine andere erfolgt.
-
In der vorliegenden Patentbeschreibung offenbart der Erfinder einige der grundlegenden Schritte eines Übersetzungsverfahrens von einem zyklusgestützten Format in ein anderes. Der Erfinder gibt zudem einige Kunstgriffe an, die die Übersetzung von STIL in effizienter Weise ermöglichen. Die in der vorliegenden Erfindung gezeigten Übersetzungen basieren auf einer Analyse von in STIL angegebenen Daten. Als ein Beispiel für eine einfache Zielsprache wird zum besseren Verständnis die von der Anmelderin der vorliegenden Erfindung, der Advantest Corporation, Tokyo, Japan, entwickelte Test Description Language (TDL-Prüfbeschreibungssprache) verwendet, wobei die angegebene grundsätzliche Vorgehensweise allerdings allgemein – und somit auch für andere Prüfsprachen – anwendbar ist.
-
Die 1 bis 4 zeigen Beispiele für ein in STIL angegebenes Format zur Wiedergabe der digitalen Prüfvektoren, wobei sich 1 Formate für Signale und Signalgruppen, 2 Formate für die Flankenzeitsteuerung in jedem Signal, 3 ein Beispiel für ein die Muster von Prüfvektoren beschreibendes STIL-Format und 4 ein Beispiel für ein den Musterablauf beschreibendes STIL-Format entnehmen lässt. Das Diagramm gemäß 5 zeigt ein Beispiel für ein Format in der eine Zielprüfsprache darstellenden Sprache TDL.
-
Schablonenabgleich
-
Die Übersetzung von einer zyklusgestützten Darstellung in eine andere lässt sich am einfachsten durch Einsatz eines ereignisgestützten Zwischenformats durchführen. Von einem Ereignis spricht man in diesem Zusammenhang, wenn relativ zur Zeitsteuerung festgelegt ist, dass es zu irgendeiner Veränderung, etwa durch Flanken in den Prüfvektoren, kommt bzw. dass keine Veränderungen eintreten. Die beiden zyklusgestützten Beschreibungen unterscheiden sich üblicherweise erheblich voneinander. Um nun eine zyklusgestützte Beschreibung in eine andere zyklusgestützte Beschreibung zu übersetzen, wird zwischen beiden eine als Vermittler dienende ereignisgestützte Darstellung verwendet, wobei die Daten in Grundbausteine zerlegt werden. Im einzelnen wird dabei das zyklusgestützte Ausgangsformat (STIL) in die zugehörigen Ereignisse zerlegt und diese Ereignisse werden sodann im Ziel-Beschreibungsformat (TDL-Format) erneut zusammengesetzt.
-
Dieses grundlegende Vorgehen, bei dem ein Übersetzungsvorgang von einem vektorgestützten Format in ein anderes vektorgestütztes Format erfolgt, lässt sich 6A entnehmen. Bei der vorliegenden Erfindung werden die im STIL-Format angegebenen Prüfvektoren in die einzelnen Ereignisse zerlegt, die dann jeweils mit Schablonen verglichen werden, welche auf der Grundlage von Wellenformen erzeugt wurden, die ihrerseits in der als ein Beispiel für eine Zielsprache verwendeten Sprache TDL definiert sind. Dieses Konzept ist in 6A durch den mit gestrichelten Linien eingezeichneten Pfeil dargestellt. Wird für eine Schablone eine Übereinstimmung festgestellt, so wird diese passende Schablone in einer Datei gelistet, in die zur vollständigen Angabe der Wellenform die Parameter der zugehörigen STIL-Prüfvektoren übertragen werden. Auf diese Weise werden die TDL-Prüfvektoren erzeugt, wie dies in 6A durch den mit gestrichelten Linien eingezeichneten Pfeil angedeutet ist.
-
6B zeigt eine funktionelle Darstellung der erfindungsgemäßen Prüfvektorübersetzung aus der STIL-Prüfsprache in die TDL-Prüfsprache. Bei einer STIL-Vektordatei 21 handelt es sich um eine Datei, in der STIL-Prüfvektoren gespeichert werden, die durch den erfindungsgemäßen Übersetzungsvorgang in TDL-Vektoren umgewandelt werden sollen. Üblicherweise stammen die STIL-Prüfvektoren in der STIL-Datei 21 aus der Entwicklungsphase der Halbleiterbauteile, d. h. aus einer CAE-Umgebung (rechnergestützten Entwicklungsumgebung) oder einer EDA-Umgebung (Umgebung für elektronische Entwurfsautomatisierung) und wurden bei der Durchführung von Logiksimulationen gewonnen. Die STIL-Vektoren werden in die zugehörigen Ereignisse zerlegt und in einer Ereigniszerlegungsdatei 24 gespeichert.
-
Wie bereits erwähnt, wurde von der Anmelderin der vorliegenden Erfindung, der Advantest Corporation, mit TDL eine Prüfsprache entwickelt, durch die sich eine Logikprüfmusterdatei (LPAT-Datei) erstellen lässt. Das TDL-Format wird in einer TDL-Wellentypdatei 22 gespeichert. Jede in der Zielprüfsprache TDL definierte Wellenform wird in eine entsprechende Schablone umgewandelt, die eine Gruppe von Bestandteilen umfasst, wobei diese Wellenformschablonen in einer Schablonen-Datei 25 gespeichert werden.
-
Durch einen Komparator 26 wird nun ein Musterabgleich zwischen den aus der Ereignisdatei 24 stammenden Ereignissen und den aus der Schablonendatei 25 stammenden Schablonen durchgeführt. Wird dabei eine Übereinstimmung festgestellt, so wird die TDL-Wellenform in einer Datei 28 gelistet, die Darstellungen von Daten speichert, für die eine Übereinstimmung mit einer Schablone ermittelt wurde. Zudem werden die Einzelheiten über die Parameter der Vektoren, die mit der Schablone übereinstimmen, von den STIL-Vektoren zu den TDL-Vektoren übertragen. Zu diesen die Vektoren betreffenden Einzelheiten gehören die jeweilige Zeitsteuerung, die Musterzeichen und die Flankentypen. Hierdurch lassen sich nun in dem beschriebenen Übersetzungsprozess in einer TDL & LPAT-Datei 29 TDL-Prüfvektoren erzeugen, welche den STIL-Prüfvektoren entsprechen.
-
Im folgenden wird unter Bezugnahme auf die 7 und 8 näher auf den nachfolgend angegebenen STIL-Baustein, eine äquivalente TDL-Darstellung und die entsprechenden Wellenformen eingegangen:
01{'400 ns' D/U;} => NRZ; T1 = 400 ns; T2 = 400 ns,
wobei der auf der linken Seite angegebene STIL-Baustein 01{'400 ns' D/U;} bedeutet, dass das Zeichen '0' eine abfallende Flanke (D) bei 400 ns spezifiziert, während das Zeichen '1' eine ansteigende Flanke (U) bei 400 ns spezifiziert. Diese STIL-Darstellung entspricht den in 8, oben, gezeigten Wellenformen sowie – bei Angabe in TDL – einer Wellenform ohne Rückkehr nach Null (NRZ-Wellenform). Die in 8 dargestellte, dem Zeichen '0' entsprechende Wellenform weist ausgehend von der Startflanke eines Prüfzyklus bis zur abfallenden Flanke T1 (400 ns nach der Startflanke) einen schattierten Bereich auf. Durch den schattierten Bereich ist angedeutet, dass der Logikzustand in diesem Abschnitt nicht definiert ist. Somit legt das Zeichen '0' die abfallende Flanke T1 bei 400 ns vom Start des Prüfzyklus unabhängig vom momentanen Logikzustand fest. In entsprechender Weise legt die dem Zeichen '1' entsprechende Wellenform die ansteigende Flanke T1 bei 400 ns nach dem Start des Prüfzyklus unabhängig vom momentanen Logikzustand fest. Wie bereits erwähnt, entspricht dieses Beispiel eines STIL-Bausteins bei einer Wiedergabe in TDL einer NRZ-Wellenform.
-
Beim Übersetzungsverfahren gemäß der vorliegenden Erfindung erfolgt also die Konstruktion von TDL-Wellenformen aus den zerlegten STIL-Wellenform-Beschreibungen unter Einsatz eines Schablonen-Abgleichverfahrens. Die für ein vorgegebenes Prüfgerät zur Verfügung stehenden Wellenformen werden dabei in Ablaufzeit eingelesen und in einer Weise gespeichert, die einen Schablonenabgleich auf einfache Weise ermöglicht. Somit wird in einem ersten Schritt für jede Wellenform, beispielsweise die in TDL definierte NRZ-Wellenform, eine Liste von Schablonen erstellt. Die Schablone ist dabei durch die die Wellenform beschreibenden Gruppe von (Mustertyp, Startwert, Anzahl darauffolgender Flanken)-Paaren gekennzeichnet. Die der NRZ-Wellenform gemäß dem obigen Beispiel entsprechende Darstellung lässt sich dem unteren Teil von 7 entnehmen.
-
Bei der in 7 beispielhaft angegebenen Schablone handelt es sich bei dem ersten Element jeder Zeile um den Mustertyp, während die nächsten beiden Elemente die {Startwert, Anzahl der darauffolgenden Flanken}-Paare repräsentieren und die verbleibenden Einträge die Namen der spezifizierten Flanken angeben. Wenn man die NRZ-Wellenform verwendet, lässt sich das obige Beispiel somit durch die folgenden Werte darstellen:
01 => {0,0,0}, {0,1,1 400 ns D}, {1,0,1 400 ns U}, {1,1,0}
wobei {Mustertyp, Startwert, Anzahl der nachfolgenden Flanken} dargestellt sind. Indem alle in der Zielprüfsprache, d. h. bei diesem Beispiel in TDL, angegebenen Wellenformen in der genannten Weise gespeichert werden, ist es möglich, die zerlegten STIL-Wellenformen auf einfache Weise mit den Möglichkeiten einer vorgegebenen Wellenform zu vergleichen. Auf diese Weise wird in der in 6B gezeigten Schablonendatei 25 eine Schablonen-Bibliothek angelegt.
-
Im Vergleichsschritt werden die zerlegte STIL-Wellenform und die der TDL-Wellenform entsprechende Schablone miteinander verglichen. Die STIL-Wellenform ist dabei in ihre einzelnen Ereignisse zerlegt, die jeweils durch eine Kombination aus Startwert und Flankenzahl wiedergegeben werden. Die den Startwert und die Flankenzahl jedes Ereignisses der STIL-Wellenform beschreibenden Daten werden in der in 6B gezeigten Ereignisdatei 24 gespeichert. Somit erfolgt der Vergleich zwischen den zerlegten Ereignissen und der Schablone, indem der jeweilige Startwert und die jeweilige Flankenzahl verglichen werden. Dies erfolgt durch eine Abfrage an die Wellenformen, wobei im Wesentlichen gefragt wird: ”Ist bei dir diese Flankenzahl mit diesem Startwert möglich?”
-
Natürlich muss für die Zuordnung einer STIL-Wellenform zu einer Schablone eine Übereinstimmung aller sich ergebender, die Wellenform festlegender Dreiergruppen gegeben sein. Beim obigen Beispiel ergeben die in STIL angegebenen Zeichen '01' die in der in 7 dargestellten Schablone angegebenen vier Dreiergruppen. Für die vollständige Wiedergabe dieser Zeichen muss demgemäß eine Zuordnung zu jeder der vier Dreiergruppen erfolgen. Bei diesem Beispiel ist die NRZ-Wellenform in der Lage, allen benötigten Dreiergruppen zu entsprechen.
-
Im folgenden wird ein weiteres Beispiel für das grundlegende Vorgehen beim Schablonenabgleich unter Bezugnahme auf 8 anhand der nachfolgend angegebenen STIL-Zeichen, der TDL-Darstellung und von Wellenformen näher erläutert:
0{} 1{'200 ns' U; '400 ns' D} => RZ; T1 = 200 ns; T2 = 400 ns;
-
Die obige Angabe in TDL entspricht hier einer Wellenform mit Rückkehr nach Null (RZ-Wellenform), wobei entsprechende Wellenformen in der Mitte von 8 dargestellt sind. Die der in TDL angegebenen RZ-Wellenform entsprechende Schablone wird dementsprechend in der in 6B gezeigten Schablonendatei gesetzt.
-
Die bisher gezeigten Beispiele für einen Schablonenabgleich sind sehr einfach, da hier eine direkte Übereinstimmung zwischen Wellenformen in der Standardsprache und NRZ bzw. RZ vorhanden ist. Diese Wellenformen können unter Umständen an einer unter Verwendung von TDL arbeitenden Prüfanlage ohne Betriebsmitteleinbuße eingesetzt werden. Bei tatsächlichen Prüfausführungen werden jedoch auch komplexere Wellenformen verwendet. Insofern wird nun näher auf das folgende Beispiel eingegangen:
01{'100 ns' D; '200 ns' D/U; '400 ns' D;}, das den in 8, unten, und in der oberen Hälfte von 9 gezeigten Wellenformen entspricht. Bei diesem Beispiel legt '0' eine abfallende Flanke bei 100 ns, eine abfallende Flanke bei 200 ns und eine abfallende Flanke bei 400 ns fest, wobei die letzten beiden Flanken redundant sind und nicht tatsächlich gespeichert werden. Das Zeichen '1' spezifiziert eine abfallende Flanke bei 100 ns, eine ansteigende Flanke bei 200 ns und eine abfallende Flanke bei 400 ns.
-
Dem Musterzeichen ”0” lässt sich eine NRZ- oder eine RZ-Wellenform zuweisen. Das Musterzeichen ”1” würde eine komplexere Wellenform, wie etwa die XOR-Wellenform (Exklusiv-Oder-Wellenform) mit den Werten T3 = 100 ns, T1 = 200 ns, T2 = 400 ns voraussetzen. Diese Situation ist aus verschiedenen Gründen nicht wünschenswert. Zum einen führt eine (durch die Definition der Zeichen wahrscheinliche) tatsächliche Verwendung dieser beiden Zeichen in einem Musterblock zu einem augenblicklichen Wellentypwechsel. Bei vielen ATE-Systemen werden hierdurch die zur Verfügung stehenden Betriebsmittel eingeschränkt. Zudem kann bei einigen Systemen die Verwendung der XOR-Wellenform in bestimmten Situationen zu einer Einschränkung der Prüfgerät-Betriebsmittel führen. Selbstverständlich ist dies keine wünschenswerte Lösung für das Problem des Wellenformabgleichs, weshalb im Folgenden einige Kunstgriffe genauer beschrieben werden, die zur Vereinfachung komplexer Abgleichfälle eingesetzt werden können.
-
Ungenutzter Ausgangswert
-
In STIL werden alle Informationen über Wellentypen, die zum Einsatz kommen, vorab im Wellenformtabellen-Baustein angegeben. An diesen Informationen lässt sich nun eine Analyse durchführen, um Eigenschaften der zu Verfügung stehenden Wellenformen zu bestimmen, wobei diese Informationen sodann für eine fundierte Optimierung Verwendung finden. Im vorliegenden Beschreibungsabschnitt wird das Konzept des ”ungenutzten Ausgangswertes” untersucht, um festzustellen, wie es sich zur Optimierung heranziehen lässt.
-
Zuerst sei dabei angemerkt, dass durch eine Gruppe von Musterzeichen, die einem bestimmten Signal zugeordnet sind, trotz der Verwendung einzelner Zeichen eine kontinuierliche Wellenform definiert wird. Dementsprechend basiert der für ein bestimmtes Zeichen geltende Startzustand auf dem durch das vorhergehende Zeichen hergestellten Endzustand. Die Einstellung des Endwerts ist dabei in den Informationen der Wellenformtabellen enthalten. Eine Ausnahme bildet dabei lediglich der Signalstartwert, der sich vom Benutzer beliebig einstellen lässt. Um eine Optimierung des Schablonenabgleichs-Algorithmus zu erzielen, ist es daher unbedingt notwendig, dass der Benutzer den Startwert sinnvoll wählt.
-
Im Folgenden wird noch einmal auf das erwähnte Beispiel sowie die entsprechenden, in den 8 und 9 gezeigten Wellenformen eingegangen, wobei das Beispiel hier nochmals wiederholt sei: 01{'100 ns' D; '200 ns' D/U; '400 ns' D;}. Es wurde bereits gezeigt, dass eine vollständige Verarbeitung dieser Zeichengruppe unerwünschte Folgen hat. Bei der Analyse dieser Zeichengruppe stellt man fest, dass keines der beiden Zeichen mit einem ”U”-Wert (ansteigender Wert) endet. Wird das Signal also mit einem ”D”-Wert (abfallender Wert) initialisiert – und es stehen ja nur entsprechende Zeichen zur Verfügung –, so beginnen die Zeichen niemals einen Zyklus im ”U”-Zustand. Die in 9 unten, links, gezeigte Wellenformbeschreibung reduziert sich hierbei (nahezu) auf das, was sich der unteren rechten Ecke in 9 entnehmen lässt. Somit lässt sich dieser Zeichengruppe die einfache RZ-Wellenform (T1 = 200 ns; T2 = 400 ns) zuordnen.
-
Analyse auf der Grundlage der Tabelle
-
Im folgenden wird mit Hilfe des Konzepts des ungenutzten Ausgangswerts der Mechanismus einer auf einer Wellenformtabelle basierenden Analyse der STIL-Zeichen unter Bezugnahme auf die in den 10A und 10B gezeigten Tabellen sowie auf die Flussdiagramme in den 11 und 12 erläutert. Hierzu ist es nötig, die durch alle Musterzeichen gemachten Vorgaben zu katalogisieren und aus diesen Daten auf mehreren Ebenen Zusammensetzungsdarstellungen zu erzeugen (S11 in 11). Hierbei ist im übrigen nicht etwa eine Übersetzung der Daten für alle Pins oder Pingruppen nötig, vielmehr reicht eine Übersetzung der Daten innerhalb eines Signals aus. Dabei werden die Wellenform-Vorgabedaten für jedes Signal auf drei Ebenen übersetzt (S12 in 11):
- 1. auf der Ebene des gesamten Signals,
- 2. auf der Ebene der Wellenformtabelle und
- 3. auf der Ebene der einzelnen Musterzeichen.
-
Dabei wäre es idealerweise wünschenswert, das Verhalten eines gesamten Signals mit Hilfe einer einzigen Wellenform zu charakterisieren, wobei die Daten dann auf dieser Ebene übersetzt werden. Ist dies nicht möglich, so stellt die Wellenformtabelle die nächste Logikebene dar. Es wird hierbei davon ausgegangen, dass ein Wechsel der Wellenformtabellen innerhalb der Muster nicht oft erfolgt, und zwar mit größer Wahrscheinlichkeit allenfalls beim Übergang von einem Musterblock zu einem anderen. Wenn zudem der Wechsel zwischen Musterblöcken auf der PatternExec-Block-Ebene erfolgt, so werden diese Blöcke verschiedenen Prüfungen im TDL-Code zugeteilt, so dass etwaige Unterschiede im Wellentyp nicht zu einem augenblicklichen Wechsel führen.
-
Ist es schließlich auch nicht möglich, das jeweilige Verhalten der Musterzeichen in einer Wellenformtabelle durch einen einzigen Wellentyp wiederzugeben so versucht man, auf der Ebene der einzelnen Zeichen eine Übereinstimmung zu finden. Ist dies nicht erfolgreich, so bedeutet dies, dass irgendein Musterzeichen in der STIL-Datei Vorgaben enthält, die durch die Prüfsprache des Ziel-ATE-Systems nicht erfüllt werden können. In einigen Fällen lassen sich zur Verringerung derartiger Probleme höherentwickelte Zusatzeinrichtungen des Ziel-ATE-Systems einsetzen. Andernfalls erhält man eine Meldung über das Auftreten eines zum Abbruch führenden Fehlers im Übersetzungsprozess.
-
Auf jeder der genannten Ebenen sind dabei dieselben Daten abzuspeichern, nämlich der Startwert und die Flankenzahl, die durch die STIL-Musterzeichen vorgegeben werden. Diese Daten werden in einer Matrix gespeichert, deren Dimensionen durch die Eigenschaften des Ziel-ATE-Systems vorgegeben sind. Durch den Einsatz der beschriebenen Technik des ”ungenutzten Ausgangswerts” lässt sich der Umfang der Matrix dabei erheblich reduzieren. Die Anzahl der pro Zeiteinheit einsetzbaren Steuerflanken wird in Ausführungszeit eingelesen und zur Bestimmung einer Dimension der Matrix verwendet. Die andere Dimension ist gleich zwei, d. h. sie entspricht der Anzahl der möglichen Startwerte ”1” bzw. ”0” in einem binären Logiksystem. Jede Kombination aus Startwert und Flankenzahl, die eine Bearbeitung erfordert, wird auf ”wahr” (T) gesetzt, während der Rest auf ”falsch” (F) gesetzt wird.
-
Beim obigen Beispiel:
0{} 1{'200 ns' U; '400 ns' D;} => RZO; T1 = 200 ns; T2 = 400 ns
würde demnach die Matrix der in 10A gezeigten Tabelle entsprechen, wobei davon ausgegangen wird, dass pro Zeiteinheit maximal vier Steuerflanken auftreten können. Für ein anderes Beispiel:
23{'100 ns' D; '200 ns' D/U; '400 ns' D;}
ist in der in 10B dargestellten Tabelle nun ein zusätzlicher Eintrag vorhanden. Diese Tabelle beschreibt dabei alle Informationen über diese vier Wellenformzeichen. Für diese Tabelle lässt sich wiederum die erwähnte Technik des ungenutzten Ausgangswerts einsetzen, weil hier ”1” als Ausgangswert niemals auftritt (sofern dies nicht bei der Initialisierung eingestellt wird). Somit lässt sich die gesamte mit ”1” überschriebene Spalte auf ”falsch” setzen, was zur selben Situation führt, wie sie bereits unter Bezugnahme auf die Wellenformen in der linken und rechten unteren Ecke der 9 beschrieben wurde. Dieser Mechanismus lässt sich für Tabellen auf jeder beliebigen Ebene anwenden, d. h. auf der erwähnten Signalebene, Wellenformtabellenebene und Musterzeichenebene.
-
Im folgenden wird der Schablonenabgleichsvorgang genauer erläutert. Wie bereits erwähnt, wird die Matrix (Abgleichsmatrix) für die zerlegten Ereignisse, die jeweils einen Startwert und eine Flankenzahl umfassen, in der in 6B gezeigten Ereignisdatei 24 erzeugt, um sie mit den als Gegenstück dienenden Wellenformdaten in der Schablonendatei 25 zu vergleichen. Sobald die beschriebene ”Abgleichsmatrix” erzeugt und sodann durch die Analyse ”ungenutzter Ausgangswerte” reduziert wurde, erfolgt der Abgleich mit den zur Verfügung stehenden Wellenformen (S13 in 11). Wie bereits erwähnt, sind die dem Ziel-ATE-System zur Verfügung stehenden (und in Ablaufzeit eingelesenen) Wellenformen auf der Grundlage ihres Startwerts und der Anzahl der bei ihnen möglichen Flanken in der Schablonendatei 25 gespeichert. Die Struktur der Schablonen ist dabei derjenigen der bereits gezeigten Abgleichmatrix analog, wobei allerdings die Eintragung in jedem Kästchen der in den 10A und 10B gezeigten Tabellen durch eine Ansammlung von Verweisen auf Wellentypen gebildet wird, welche die Vorgaben für die angegebene Kombination aus Startwert und Flankenzahl erfüllen.
-
Ein vorgegebener Wellentyp erscheint dabei im übrigen in mehreren dieser Listen, da er einer Vielzahl verschiedener {Startzeit, Flankenzahl}-Paare entsprechen kann. So würde man beispielsweise die RZO-Wellenform in den Matrixelementen {0,0}, {0,2}, {1,0} und {1,1} finden, da sie all diesen Kombinationen entspricht. Dies trifft im übrigen auf die RZO-Wellenform in TDL zu, bei der das Musterzeichen ”0” angibt, dass keine Aktivität vorhanden ist, so dass hier die Kombination {1,0} möglich ist. Die RZ-Wellenform gemäß dem Industriestandard würde hingegen für beide Musterzeichen '0' und '1' auf Null zurückkehren, so dass hier die Kombination {1,0} nicht möglich wäre.
-
Es lässt sich nun eine Abfrage der Zielwellenform hinsichtlich aller Kombinationen durchführen, denen diese Wellenform entsprechen kann. So kann der Abgleichsprozess für einen Zugriff auf die Ziel-RZO-Wellenform ausgehend vom Eintrag {0,0} einfach darin bestehen, dass an die Ziel-RZO-Wellenform einfache Anfragen zu anderen Kombinationen gerichtet werden, d. h. ”ist hier {0,2} möglich”, was mit ”wahr” beantwortet würde, bzw. ”ist hier {1,2} möglich”, was mit ”falsch” beantwortet würde. Im Abgleichsprozess wird hier also das Ziel ermittelt, indem man vom numerisch niedrigsten, den Vorgaben entsprechenden {Startwert, Flankenzahl}-Paar ausgeht und dann eine Zielabfrage für den Rest der gewünschten Zustände durchführt. Ist eine dieser Anfragen nicht erfolgreich, so funktioniert die Wellenform hier nicht und der Abgleichsvorgang geht zum nächsten Eintrag im Ausgangsverzeichnis über, wobei dann die Durchführung des Prozesses erneut versucht wird.
-
Sobald für einen bestimmten Wellentyp ein erfolgreicher Abgleich durchgeführt wurde, müssen die Werte für die Parameter gesetzt werden (S14 in 11). Die zerlegten STIL-Zeichen enthalten Zeitwerte für Übergänge und die Zielwellenformen enthalten Sequenzen für die Namen der für sie relevanten Betriebsmittel. Im Fall der RZO-Wellenform wird der Abgleich für den Fall {0,2} dadurch abgeschlossen, dass der Zeitwert 200 ns der Sequenz ”T1” und der Zeitwert 400 ns der Sequenz ”T2” zugeordnet wird. Diese Paarungen werden in einer Tabelle gespeichert, die dem in der Wellenformtabelle definierten STIL-Zeichen '1' entspricht.
-
Die Analyse auf der Grundlage der Wellenformtabelle nutzt eine bei einem zyklusgestützten Ausgangsformat zur Verfügung stehende effiziente Vorgehensweise. Die während des gesamten Prozesses eingesetzten Informationen über die Formate sind hier vorab erhältlich und lassen sich verarbeiten, analysieren und optimieren, ehe die Musterübersetzung beginnt. Ist diese abgeschlossen, so ist die Verarbeitung der Vektoren sehr einfach. Es erfolgt ein Zugriff auf das STIL-Musterzeichen (S21 in 12), der (am Ende des vorhergehenden Zyklus gespeicherte) vorhergehende Signalwert wird erneut abgerufen (S22 in 12) und diese Daten werden sodann verwendet, um auf die Informationen zuzugreifen, die für das {Startwert, STIL-Musterzeichen}-Paar gespeichert sind, d. h. auf die Informationen über Wellentyp und Parameter, die im Abgleichsprozess (S23 und S24 in 12) bestimmt wurden. Schließlich wird der Endwert für den Beginn des nächten Zyklus gespeichert (S25 in 12).
-
Hier ergeben sich wesentliche Unterschiede gegenüber einer Situation, in der das Ausgangsformat ereignisgestützt ist, wie etwa bei den VCD-Daten (Wertänderungsdaten) von Verilog. In diesem Fall stehen nämlich die Wellenformat-Informationen üblicherweise nicht schon vorab zur Verfügung. Der Abgleich von Ausgangsdaten mit Zielwellenformen muss also erfolgen, während die Vektoren verarbeitet werden, was zu einer mangelhaften Wahl führen kann, die sich allerdings durch den Einsatz geeigneter Tabellenanalysetechniken vermeiden lässt.
-
Im folgenden werden zwei aufeinanderfolgende Zyklen einer Wellenform betrachtet: Falls der Schablonenabgleich auf einer Zyklus-für-Zyklus-Basis erfolgt (wie dies normalerweise ohne tabellengestützte Analyse der Fall wäre), so würde der erste Zyklus wahrscheinlich der NRZ-Wellenform zugewiesen; dies ist die einfachste Wellenform, die den Bedingungen entspricht. Beim zweiten Zyklus handelt es sich eindeutig um eine RZO-Wellenform. Wäre der zweite Zyklus schon während der Verarbeitung des ersten Zyklus bekannt, so hätte man festgestellt, dass sich der erste Zyklus ebenfalls der RZO-Wellenform zuordnen lässt, wodurch ein augenblicklicher Wechsel des Wellentyps vermieden worden wäre. Gerade dies wird jedoch durch einen tabellengestützten Analyseansatz möglich.
-
Ausgangssignalumwandlung
-
Bei der obigen Beschreibung war das Augenmerk auf die Zuordnung von Eingabe-STIL-Zeichen zu äquivalenten TDL-Darstellungen gerichtet. Als ”Eingabe” wird dabei ein Prüfmuster bezeichnet, das einem Pin eines Bauteilprüflings (DUT) zugeführt wird (Steuerung). Wie bereits erwähnt, enthalten die Prüfvektoren Prüfmuster (Eingabe) und Abtastsignale (Ausgabe bzw. Vergleich). Bei einem Abtastsignal handelt es sich um einen Zeitsteuerungsimpuls, der zur Abtastung des Bauteilausgangssignals entweder eine Flanke (ohne Impulsbreite) oder ein Fenster (mit einer bestimmten Impulsbreite) umfasst. Im folgenden werden die Strategien bei der Ausgangssignalzuordnung beschrieben, die die Übersetzung von Abtastsignalen (Vergleich) aus dem STIL-Format in das TDL-Format betreffen. Die in der STIL-Dateispezifizierten Verhaltensweisen lassen sich dabei direkt in Musterzeichen umwandeln. So lässt sich beispielsweise für
LHZX {'0ns' Z; '0ns' X; '260 ns' L/H/T/X;}
eine direkte Zuordnung zu Flanken-Abtastsignalen mit entsprechendem Wert vornehmen, sofern diese jeweils anwendbar sind. Anders ausgedrückt, ist in diesem Prozess ein Schablonenabgleich unnötig. In entsprechender Weise lässt sich
LHZX {'0rts' Z; '0ns' X; '260 ns' l/h/t/x; '500 ns' x}
dem geeigneten Fenster-Abtastsignal zuordnen.
-
Bei der Ausgangssignalumwandlung sind einige Punkte zu beachten. Zum einen ist ein augenblicklicher Wechsel des Abtastsignaltyps bei einigen ATEs unter Umständennicht möglich. Flanken- und Fensterabtastsignale dürfen also nicht vermischt werden. Eine Lösung besteht. in diesem Fall darin, alle Abtastsignale als Fenster-Abtastsignale zu behandeln, wobei die Flanken-Abtastsignale zu Fenster-Abtastsignalen mit der für das System kleinstmöglichen Breite werden. Ein zweiter Punkt besteht darin, dass STIL-Musterzeichen, die in einem Zyklus mehrere Abtastsignale vorgeben, unter Umständen mit dem Ziel-ATE-System nicht kompatibel sind. Die jeweils unterschiedliche Leistungsfähigkeit innerhalb der ATE-Systemfamilie ist dem Umwandlungswerkzeug eingebaut, wobei in Ablaufzeit eine Quellendatei gelesen wird, die angibt, welche Teilgruppe an Strukturen in einem vorgegebenen Ziel-ATE-System tatsächlich zur Verfügung steht. Hierzu gehört dann auch ein bestimmtes Betriebsverhalten, wie etwa Übergangs- und Doppelabtastmodi.
-
Zweiwege-Signalumwandlung
-
Eine Zweiwege-Signalumwandlung liefert die größte Komplexität im gesamten Prozess. Unter dem Begriff ”Zweiwege” versteht man dabei eine Übersetzung der Prüfsprache aus dem STIL-Format in das Format der computerspezifischen Sprache für die Prüfvektoren, die einem sowohl für die Eingabe als auch für die Ausgabe dienenden Bauteilpin zugeordnet sind. Dabei werden neben allen oben erwähnten, für die Eingabe- und Ausgabezuordnung benötigten Strukturen auch noch zusätzliche Strukturen benötigt, die speziell auf die Zweiwege-Signale hin ausgelegt sind. Im übrigen kommt es bei Zweiwege-Signalen oft zu Einschränkungen bei den Prüfgerät-Betriebsmitteln, die weit über die Einschränkungen durch einfache Eingabe- oder Ausgabesignale hinausgehen. So kann es beispielsweise zu einer Reduzierung der Anzahl der zur Verfügung stehenden Flanken kommen, weil Treibersteuersignale zur Bestimmung des Richtungszustandes des Zweiwegesignals benötigt werden.
-
Die Überlegungen zur Treibersteuerung beruhen dabei auf den Eigenschaften der STIL-Musterzeichen sowie den Strukturen des Ziel-ATE-Systems. Ein typisches Beispiel besteht dabei im Vorsehen zweier Treiberfreigabemodi, von denen einer das NRZ-Verhalten und das andere das RZ-Verhalten simuliert. Im ersten Fall wird der Zyklus an einem gewissen Punkt zum ”Steuer”-Zyklus (Eingabezyklus) und bleibt bis zu seinem Ende in diesem Zustand. Für RZ wird der Zyklus in seinem Verlauf zu einem ”Steuer”-Zyklus und sodann zu einem ”Vergleichs”-Zyklus (Ausgabezyklus). Befindet sich der Zyklus im ”Vergleichs”-Modus, so bedeutet dies im übrigen nicht, dass tatsächlich ein Vergleich stattfindet, sondern nur, dass der Pin als Ausgabepin behandelt wird. Diese Unterscheidung ist im Hinblick auf die Fähigkeit des Ziel-ATE-Systems von Bedeutung, Steuerung und Vergleich im selben Zyklus durchzuführen.
-
Der Treiberfreigabemodus wird ausgehend von den STIL-Mustereigenschaften festgelegt, indem festgestellt wird, dass ein NRZ-Treiberfreigabemodus vorzuziehen ist, weil hierfür geringere Prüfgerätmittel benötigt werden. Somit wird dieser Modus gewählt, sofern es nicht speziell nötig ist, den RZ-Modus zu verwenden, was nur dann der Fall ist, wenn im selben Zyklus ein ”Steuerungs”-Bereich von ”Vergleichs”-Bereichen umgeben ist. Hierbei kommt es unter Umständen wiederum gar nicht zu einem tatsächlichen Vergleich, vielmehr dient hier der Bauteilpin als Ausgabepin. Die Zeitwerte für die Treibersteuerungsflanken werden auf der Grundlage der Zeitpunkte für den Signalrichtungsübergang festgelegt.
-
Das zusätzliche Vorsehen von Informationen über den Treibertyp führt zu einer nicht unerheblichen Erhöhung der Komplexität des beschriebenen ”Matrixabgleich”-Prozesses. Die Steuerungs-Bereiche des Signals werden mit zur Verfügung stehenden Wellenformen abgeglichen, während der Gesamtcharakter eines Zyklus im Hinblick auf ”Steuerungs”- und ”Vergleichs”-Abschnitte mit den Fähigkeiten des Ziel-ATE-Systems verglichen wird.
-
STIL umfasst das Konzept eines ”DrivePrior”-Ereignisses. Dies bedeutet, dass hier der zuletzt in einem System verwendete Steuerwert zur Verfügung steht. Für Eingangssignale entspricht der zuletzt verwendete Steuerwert immer dem letzten Zustand des Signals, so dass dieser Zustand hierbei nicht in Betracht gezogen werden muss. Ausgangssignale besitzen keinen Steuerzustand, so dass dieser Zustand in diesem Fall nicht relevant ist. Somit ist das ”DrivePrior”-Ereignis nur für Zweiwege-Signale von Bedeutung, bei denen es den vom Signal zuletzt eingenommenen Steuerzustand unabhängig von dazwischen ggf. aufgetretenen Abtast-Aktionen angibt. In einigen ATE-Systemen hat das Vorhandensein eines Abtastzeichens Auswirkungen auf den Zustand des im System verwendeten Treibers. So kann der Treiber beispielsweise dann, wenn es sich beim letzten ”Steuerungs”-Zustand um ”D” handelt und darauf eine Abtastung für ”H” folgt, für den nächsten Steuerzyklus auf einen ”U”-Zustand gesetzt werden. Das ”DrivePrior”-Ereignis ist für einen solchen Fall gedacht. Dabei muss nun für den Umwandlungsprozess der vorherige Zustand ebenso vorliegen wie der gegenwärtige Zustand des Treibers. Dies führt dazu, dass die oben gezeigte „Abgleichsmatrix” nun anstelle von zwei Spalten vier Spalten umfasst, die allen möglichen Paaren von {vorherigem Wert, DrivePrior} entsprechen, d. h. die Spaltenüberschriften lauten hier {0,0}, {0,1}, {1,0}, {1,1} (siehe 10A und 10B).
-
Die für diese Einträge verwendeten Daten müssen dabei korrekt eingesetzt werden, damit das ”DrivePrior”-Konzept fehlerfrei funktioniert. Es ist dabei notwendig, den durch den ”DrivePrior”-Wert angegebenen gewünschten Anfangszustand mit dem tatsächlichen Zustand des zuletzt vorhandenen Treiberanfangswerts in Übereinstimmung zu bringen. Beim obigen Beispiel befindet sich der Treiber im ”U”-Zustand, während das STIL-Musterzeichen auf der Grundlage der Verwendung des ”DrivePrior”- bzw. ”P”-Ereignisses in der Beschreibung verlangt, dass das Bauteil sich im ”D”-Zustand befindet. Die in Entsprechung mit diesem Musterzeichen gewählte Wellenform muss nun in der Lage sein, die beiden genannten Werte miteinander in Übereinstimmung zu bringen, indem sie den Pin bis zum vorgegebenen Zeitpunkt aus dem ”U”-Zustand in den ”D”-Zustand steuert. Dies kann dazu führen, dass hier eine zusätzliche Flanke vorhanden ist, die sich aus der STIL-Musterzeichenbeschreibung nicht direkt ersehen lässt.
-
Besondere Strukturen
-
Im folgenden wird die Prüfsprachenübersetzung im Hinblick auf die Behandlung von besonderen Strukturen beim Ziel-ATE-System näher erläutert. Dabei handelt es sich um besondere Strukturen, die sich im ATE-System der Anmelderin, der IC-Prüfgerätfamilie des Modells T6600 von Advantest, finden, wobei derartige Strukturen allerdings durchaus üblich und in der einen oder anderen Form in vielen unterschiedlichen Prüfsystemen vorhanden sind. Im folgenden werden daher die Algorithmen für die Zuordnung der STIL-Informationen für diese Strukturen kurz erläutert.
-
Mehrtaktsignale
-
Der Mehrtaktsignaltyp (MCLK-Signaltyp) dient üblicherweise dazu, mehr Impulse pro Zyklus bereitzustellen, als dies beim ATE-System theoretisch möglich ist. Dies erfolgt für sich wiederholende Wellenformen, indem man im wesentlichen den Prüfgerätzyklus (intern) in eine Reihe von Teilzyklen unterteilt und pro Teilzyklus jeweils eine von mehreren Kopien einer Basiswellenform bereitstellt. Dies führt dazu, dass eine größere Anzahl von Flanken vorhanden ist, als es beim Nennprüfzyklus möglich wäre.
-
Der Schlüssel zur Verwendung des MCLK-Paradigmas besteht dabei darin, dass die Wellenform innerhalb eines Zyklus eine Grundeinheit aufweist, die wiederholt werden kann. Wenn man bei dem beschriebenen Schablonenabgleichsalgorithmus feststellt, dass ein STIL-Musterzeichen zu viele Flanken umfasst, so versucht man, eine Zeichenzuordnung unter Verwendung eines MCLK-Formats vorzunehmen. Für dieses Vorgehen muss die Flankenzahl gerade sein (das MCLK-Format ist impulsgestützt). Die Einschränkungen, die für eine wiederholbare Einzelimpuls-Wellenform gelten, lassen sich unter Bezugnahme auf eine in 13, oben, dargestellte Wellenform ableiten.
-
Um eine wiederholbare Einheit zu erhalten, ist es notwendig, dass alle Impulse dieselbe Breite aufweisen. Zudem muss der Abstand zwischen den Impulsen der Summe aus dem Abstand (A) vor dem ersten Impuls und dem Abstand (B) am Ende des ersten Impulses entsprechen, wie sich dies der Zeichnung entnehmen lässt. Dies bedeutet, dass es notwendig ist, eine wiederholbare Grundeinheit vorzusehen, die wie RZ aussieht, wobei T1 = A, T2 = A + PW, und dass die Länge eines Teilzyklus A + PW + B betragen muss. Wird eine dieser Voraussetzungen nicht erfüllt, ist es nicht möglich, eine wiederholbare Einzelimpuls-Grundeinheit zu liefern.
-
Es ist auch möglich, eine wiederholbare Doppelimpuls-Grundeinheit vorzusehen, wobei sich die Bedingungen hierfür aus der in 13, unten, gezeigten Wellenform ableiten lassen. In diesem Fall sind pro wiederholbarem Block zwei Impulse vorhanden, wodurch es nötig ist, dass die zusammengehörenden Impulse, d. h. im vorliegenden Fall die mit PW1 und PW2 bezeichneten Impulse, dieselbe Breite aufweisen. Die Summe des Anfangs- und des Endabstands muss, wie zuvor, bei einer Wiederholung dem Intervall zwischen den wiederholbaren Einheiten entsprechen (Abstand der wiederholbaren Einheit = A + B). Zudem muss der Abstand (C) zwischen den Impulsen bei allen wiederholbaren Einheiten gleich sein. Somit beträgt eine Teilzykluslänge in diesem Fall A + PW1 + C + PW2 + B.
-
Pin-Multiplexen
-
Beim Pin-Multiplexen (PMUX) werden zwei Prüfkanäle zur Steuerung eines einzigen Pins miteinander kombiniert. Hierdurch wird es möglich, die Betriebsmittel beider Prüfgerätkanäle für dasselbe Signal einzusetzen, wodurch an ATE-Systemen, die hierfür normalerweise nicht ausgelegt sind, im selben Zyklus eine Steuerung (Eingabe) und ein Vergleich (Ausgabe) erfolgen kann.
-
Zwar kann der Einsatz von PMUX die Arbeit der ATE-Programmierung erleichtern; er führt jedoch auch dazu, dass der Übersetzungsprozess durch ein zusätzliches Maß an Freiheit komplexer wird. Dies scheint im Hinblick auf die hierdurch ermöglichte Flexibilität zwar wünschenswert; die Ermittlung des Wellentypbereichs wird jedoch ein wenig komplizierter, weil hier die Vorgaben nicht genau festgelegt sind. Im folgenden wird auf die Auswirkungen eingegangen, die PMUX für die verschiedenen Pin-Typen hat.
-
(1) Eingabe-PMUX
-
Die Eingabepinzuordnung erfolgt durch eine Ermittlung des Wellentypbereichs, wobei versucht wird, eine Übereinstimmung zwischen bei einem Wellentyp vorhandenen Möglichkeiten und den durch das STIL-Musterzeichen gemachten Vorgaben zu finden. Die Einzelheiten dieses Ansatzes wurden bereits erläutert. Wird ein Eingabesignal mit PMUX eingesetzt, so teilen sich die beiden Prüfgerätkanäle die Zuständigkeit für die Erfüllung der durch das STIL-Musterzeichen gemachten Vorgaben. Das Problem, das sich aufgrund der zusätzlichen Flexibilität ergibt, besteht dabei in der Bestimmung einer ”Vorgaben-Aufteilungs”-Methodik.
-
Dabei besteht ein Ansatz in der Feststellung, dass sich der einfachste Aufteilungs-Algorithmus dann ergibt, wenn überhaupt keine Aufteilung erfolgt. Dabei führt, falls dies möglich ist, ein Pin die gesamte Arbeit durch, während der andere keine Arbeit ausführt. Zu diesem Zweck wird versucht, alle durch das STIL-Musterzeichen spezifizierten Flanken dem ersten Prüfgerätkanal zuzuordnen. Die hier auftretende Zuordnung entspricht derjenigen, die bereits für Eingangssignale ohne PMUX erläutert wurde. Ein Unterschied besteht allerdings dann, wenn dieser Zuordnungsversuch scheitert, d. h. für eine Teilgruppe der durch ein STIL-Musterzeichen gemachten Vorgaben keine entsprechende Wellenform vorhanden ist. Bisher hat man in dieser Situation entweder versucht, ein Mehrtaktsignal MCLK einzusetzen, oder es wurde eine Fehlermeldung ausgegeben. Beim PMUX-Fall wird nun eine Flanke vom ersten Kanal zum zweiten Kanal verschoben und es wird versucht, für den ersten und zweiten Kanal eine getrennte Zuordnung vorzunehmen. Die Flankenverschiebung wird fortgesetzt, bis für alle Vorgabegruppen des STIL-Musterzeichens eine Übereinstimmung für beide Kanäle möglich ist.
-
Die Komplexität dieses Algorithmus wird zusätzlich noch durch die Notwendigkeit erhöht, eine Kontinuität zwischen dem Verhalten der beiden zusammengehörenden Kanäle aufrechtzuerhalten. Ein vorgegebener Kanal ”erinnert sich” an seinen Endzustand im letzten Zyklus. Der Zustand des für das Bauteil verwendeten Treibers wurde jedoch inzwischen durch die Signale vom anderen Kanal neu eingestellt. So ist der vorherige Zustand des Kanals 1 beispielsweise ein ”H”-Zustand, wenn dieser Kanal den Pin in einen ”H”-Zustand steuert. Geht man nun davon aus, dass der Kanal 2 den Pin in einen ”L”-Zustand steuert, so ”erinnert sich” der Kanal 1 bei der nächsten Steuerung an den ”H”-Zustand, während sich der Treiber aufgrund der Aktion des Kanals 2 tatsächlich im ”L”-Zustand befindet. Um diese Situation zu vermeiden, ist also eine Koordinierung der beiden das Signal enthaltenden Kanäle notwendig.
-
Als Beispiel wird nun näher auf das der in 14, oben, dargestellten Wellenform entsprechende Signal eingegangen, bei dem T0 eine Zyklusgrenze angibt. Dieses Signal ist sehr einfach, wobei für das erste Signal anscheinend ein NRZ-Zeichen vorhanden ist, während das zweite Signal sogar einfach nur auf niedrig gehalten werden muss. Es wird nun auf den ersten, in 14 gezeigten Lösungsdurchlauf für dieses Problem näher eingegangen.
-
Das für den Kanal (Pin) 1 vorgeschlagene Signal liefert – wie gewünscht – bei Ta eine ansteigende Flanke (zweite Wellenform von oben in 14). Da im zweiten Abschnitt des Signals keine Flanken vorhanden sind, müssen beim Pin 2 keine Flanken auftreten (dritte Wellenform von oben in 14). Im zweiten Zyklus bleibt Pin 1 auf hoch, weil hier keine Flanken vorhanden sind. Im zweiten Teil des Zyklus ist allerdings eine nach unten weisende Flanke vorgesehen. Da sich Pin 2 bereits im ”L”-Zustand befindet, wird hier keine Flanke erzeugt.
-
Wie das obige Beispiel deutlich zeigt, funktioniert der einfache Ansatz in diesem Fall nicht. Das Signal sieht vielmehr exakt so aus wie die Wellenform beim Pin 1, weil bei Pin 2 keine Flanken auftreten. Der Grund hierfür liegt darin, dass die Kontinuität zwischen den Kanälen nicht aufrechterhalten wurde. Für Pin 2 muss klar sein, dass sich Pin 1 zuletzt im ”H”-Zustand befand, so dass nachfolgende Flanken im System, d. h. im vorliegenden Fall der Übergang auf ”L” bei Ta im zweiten Zyklus, in korrekter Weise durchgeführt werden. Dies lässt sich erzielen, indem die obige Wellenform für Pin 2 durch die im unteren Teil von 14 gezeigte Wellenform ersetzt wird.
-
Hierbei wird die Wellenform für Pin 2 am Teilungszeitpunkt in den ”H”-Zustand gebracht. Dies hat keine Auswirkung auf das zusammengesetzte Signal, da sich der Treiber aufgrund der Aktion des Pins 1 bereits im ”H”-Zustand befindet. Es führt jedoch dazu, dass der Pin 2 so konditioniert ist, dass er mit Pin 1 übereinstimmt. Tritt die nach unten weisende Flanke im zweiten Zyklus im Bereich des Pins 2 auf, so führt dies in der gewünschten Weise am Pin 2 zum Zeitpunkt Tb zu einem Übergang nach unten. Das obige Beispiel zeigt das bei PMUX-Signalen im Hinblick auf die Kanalkontinuität zu behandelnde Problem.
-
(2) Ausgangs-PMUX
-
Wie bei der normalen Musterzuordnung ist auch die Umwandlung von Ausgangssignalen beim Einsatz von PMUX einfacher als die Eingabeumwandlung. Der Zyklus wird in zwei Bereiche aufgeteilt und den beiden Kanälen (Pins) werden je nach ihrer Position relativ zum Aufteilungszeitpunkt Abtastflanken zugeordnet. Der Aufteilungszeitpunkt wird der Einfachheit halber so gewählt, dass er in der Mitte des Zyklus liegt. Abtastflanken, die vor diesem Zeitpunkt auftreten, werden dem ersten Kanal zugeordnet, während diejenigen, die danach auftreten, dem zweiten Kanal zugeordnet werden. Ausnahmen zu dieser Regel bilden allerdings die Fenster-Abtastsignale. Diese dürfen nämlich nicht an der Grenze zwischen den Kanälen aufgeteilt werden. Dementsprechend wird der Aufteilungszeitpunkt hier so gewählt, dass das gesamte Fenster-Abtastsignal einem der Kanäle zufällt.
-
(3) Zweiwege-PMUX
-
Der Einsatz von PMUX bei Zweiwege-Signalen eröffnet Möglichkeiten, die sonst unter Umständen nicht vorhanden sind. Hierbei handelt es sich auch eher um ein Haupteinsatzgebiet für den Grundgedanken des Pin-Multiplexens als dies bei reinen Eingabe- oder Ausgabesignalen der Fall ist. Die wichtigste Anwendung des PMUX besteht möglicherweise darin, innerhalb eines einzigen Zyklus eine Steuerung und einen Vergleich zu ermöglichen, wenn das ATE-System hierfür nicht ausgelegt ist. Wenn ein STIL-Musterzeichen für ein Zweiwegesignal ein reines Steuerungs- oder Vergleichsverhalten für einen Zyklus spezifiziert, so ist die Verarbeitung praktisch identisch zu der Verarbeitung, die unter Bezugnahme auf das oben beschriebene Eingabe- und Ausgabepinmultiplexen erläutert wurde. Liegt ein Mischverhalten vor, so wird der Aufteilungszeitpunkt zur Aufteilung des Zyklus zwischen den Kanälen auf der Grundlage des Zeitpunkts bestimmt, an dem ein Richtungswechsel erfolgt. Dies führt zu einer sehr natürlichen Aufteilung der Zuständigkeiten zwischen den beiden Kanälen. Das bereits für die Eingabesignale erläuterte Konzept der Kontinuität zwischen den beiden Kanälen trifft hier ebenfalls zu, wobei allerdings auch die Wirkung von zwischendurch auftretenden Abtastsignalen in Betracht gezogen werden muss.
-
Wie sich der obigen Beschreibung entnehmen lässt, werden gemäß der vorliegenden Erfindung die in einer Ausgangsprüfsprache vorliegenden Prüfvektoren mit hoher Effizienz und großer Genauigkeit in eine Zielprüfsprache übersetzt.