-
Die
vorliegende Erfindung betrifft automatische Prüfgeräte zum Prüfen von Halbleiterbauteilen durch
Zuführung
von Prüfmustersignalen
zu einem Halbleiterbauteil und Bewerten resultierender Ausgangssignale
des Halbleiterbauteils und dabei insbesondere ein ereignisgestütztes Halbleiterprüfsystem zur
Erzeugung von Ereignissen mit unterschiedlicher Zeitsteuerung, die
als Prüfmustersignale
und Strobe-Signale zur Bewertung von Halbleiterbauteilen verwendet
werden, wobei die Zeitsteuerung der einzelnen Ereignisse durch einen
zeitlichen Abstand zu einem festgelegten Zeitpunkt bestimmt wird.
-
Beim
Prüfen
von Halbleiterbauteilen, wie etwa integrierten Schaltungen oder
hochintegrierten Schaltungen, mit Hilfe eines Halbleiterprüfsystems, beispielsweise
eines Prüfgeräts für integrierte
Schaltungen, werden einem zu prüfenden
Halbleiterbauteil an dessen entsprechenden Pins Prüfsignale
mit einer bestimmten Prüfzeitsteuerung
zugeführt
und das Halbleiterprüfsystem
empfängt
vom Bauteilprüfling
in Antwort auf die Prüfsignale
erzeugte Ausgangssignale. Die Ausgangssignale werden mit Hilfe von
Strobe-Signalen mit einer bestimmten Zeitsteuerung abgetastet, um
sie mit SOLL-Werten zu vergleichen und so zu bestimmen, ob der Halbleiterbauteilprüfling einwandfrei
funktioniert.
-
1 zeigt
ein schematisches Blockschaltbild eines Beispiels für ein herkömmliches
Halbleiterprüfsystem.
Beim Halbleiterprüfsystem
gemäß 1 empfängt ein
Mustergenerator 12 Prüfdaten
von einem Prüfprozessor 11 und
erzeugt Prüfmusterdaten, die
einem Wellenformatierer 14 zugeführt werden, sowie ein SOLL-Wert-Muster, das
an einen Musterkomparator 17 geleitet wird. Ein Zeitsteuerungsgenerator 13 liefert
Zeitsteuerungssignale für
die Synchronisierung der Operation des gesamten Prüfsystems. Die
Zeitsteuerungssignale werden dabei beim Prüfsystem gemäß 1 beispielsweise
dem Mustergenerator 12, dem Musterkomparator 17,
dem Wellenformatierer 14 und einem analogen Komparator 16 zugeführt.
-
Der
Zeitsteuerungsgenerator 13 liefert zudem einen Prüfzyklusimpuls
(Prüfgerätgeschwindigkeitsimpuls)
und Zeitsteuerungsdaten an den Wellenformatierer 14. Die
Musterdaten (Prüfvektordaten)
legen den Logikzustand "0" bzw. "1", d.h. ein Ansteigen oder Abfallen der
Flanken der Prüfsignalwellenform fest,
während
die Zeitsteuerungsdaten (Zeitsteuerungs-Einstelldaten) die zeitliche
Steuerung (d.h. die Verzögerungszeiten)
der ansteigenden und abfallenden Wellenformflanken relativ zum Prüfzyklusimpuls angeben. Üblicherweise
umfassen die Zeitsteuerungsdaten auch Informationen über die
Wellenform, wobei es sich beispielsweise um eine RZ-Wellenform (mit Rückkehr zu
null), NRZ-Wellenform (keine Rückkehr
zu null) bzw. XOR-Wellenform (Exklusiv-ODER-Wellenform) handelt.
-
Auf
der Grundlage der Musterdaten vom Mustergenerator 12 und
der Prüfzyklusimpuls-
und Zeitsteuerungsdaten vom Zeitsteuerungsgenerator 13 bildet
der Wellenformatierer 14 ein Prüfsignal mit bestimmten Wellenformen
und einer bestimmten Zeitsteuerung. Der Wellenformatierer 14 sendet
das Prüfsignal über einen
Treiber 15 an den Bauteilprüfling 19. Der Wellenformatierer 14 umfaßt (nicht
dargestellte) Setz-/Rücksetz-Flip-Flop-Schaltungen
zur Bildung des dem Treiber 15 zuzuführenden Prüf signals. Der Treiber 15 reguliert
die Amplitude, die Impedanz und/oder die Anstiegsrate des Prüfsignals
und führt
das Prüfsignal
dem Bauteilprüfling
DUT 19 zu.
-
Ein
Antwortsignal vom Bauteilprüfling 19 wird
mit einer festgelegten Strobe-Zeitsteuerung durch den analogen Komparator 16 mit
einer Referenzspannung verglichen. Das sich ergebende Logiksignal
wird dem Musterkomparator 17 zugeführt, der einen Logikvergleich
zwischen dem resuliterenden Logikmuster vom analogen Komparator 16 und dem
SOLL-Wert-Muster vom Mustergenerator 12 vornimmt. Der Musterkomparator 17 prüft dabei,
ob die beiden Muster miteinander übereinstimmen, und bestimmt
so, ob der Bauteilprüfling 19 fehlerfrei
arbeitet. Wird ein Fehler entdeckt, so wird eine entsprechende Fehlerinformation
an einen Fehlerspeicher 18 geleitet und dort zur Fehleranalyse
zusammen mit vom Mustergenerator 12 gelieferten Informationen über die
Fehleradresse des Bauteilprüflings 19 gespeichert.
-
Bei
einem herkömmlichen
Halbleiterprüfsystem,
wie es in 1 gezeigt ist, wird auf der
Grundlage von drei verschiedenen Datentypen, d.h. Musterdaten (Vektordaten),
Zeitsteuerungsdaten und Wellenformdaten, für jeden Zyklus ein dem Bauteilprüfling zuzuführendes
Prüfsignal
erzeugt. 2 zeigt ein Beispiel für die Beziehung
zwischen den drei Datentypen sowie dem Prüfzyklus für die Erzeugung der in der
Wellenformdarstellung 45 gezeigten Prüfsignale. Dem Wellenformatierer 14 werden
durch den Mustergenerator 12 Musterdaten (Prüfvektordaten) 46 aus
einer Prüfvektordatei 41 zugeführt, während er
durch den Zeitsteuerungsgenerator 13 Zeitsteuerungsdaten 47 aus
einer Prüfplandatei 42 erhält. Die
Musterdaten 46 legen die Flanken (1 bzw. 0) für jeden
Prüfzyklus
fest, während
die Zeitsteuerungsdaten 47 die Wellenformen und die jeweilige Zeitsteuerung,
d.h. die Verzögerungszeit
relativ zum Prüfzyklus,
bestimmen.
-
Wie
bereits erwähnt,
werden beim herkömmlichen
Halbleiterprüfsystem
Prüfsignale
und Strobe-Signale auf der Grundlage von Musterdaten, Zeitsteuerungsdaten
und Wellenformdaten relativ zu den einzelnen Prüfzyklen erzeugt. Ein derartiges
Prüfsystem
wird mit unter als zyklusgestütztes
Prüfsystem bezeichnet,
wobei Zeitsteuerungsdaten und Musterdaten für jeden Zyklus angegeben werden.
In den heute häufig
für den
Entwurf eines Halbleiterbauteils, etwa von hoch- oder höchstintegrierten
Schaltungen, eingesetzten rechnergestützten Entwicklungssystemen
(CAD-Systemen) geben die üblicherweise.
verwendeten Logiksimulatoren Prüfsignale
und Prüfergebnisse
in ereignisgestützter
Form wieder. Bei den Ereignissen handelt es sich um alle etwaigen
Veränderungen
im Logikzustand, beispielsweise ein Ansteigen oder Abfallen von
Prüfsignalen,
wobei diese Ereignisse durch zeitliche Abstände zu einem Referenzzeitpunkt
festgelegt sind. Anders ausgedrückt, wird
bei einer ereignisgestützten
Beschreibung von Prüfsignalen
und Prüfergebnissen
nicht, wie bei herkömmlichen
Prüfsystemen,
auf Prüfzyklen
Bezug genommen, weshalb es nicht möglich ist, die in der Entwicklungsstufe
des Halbleiterbauteils gewonnenen Prüfsignale und Prüfergebnisse
direkt in einem herkömmlichen
zyklusgestützten
Prüfsystem
einzusetzen.
-
US 5 212 443 A beschreibt
ein Prüfsystem zum
Prüfen
einer Schaltung. Dabei handelt es sich um ein System, das die herkömmliche
Architektur eines zyklusgestützten
Prüfsystems
verwendet. Dies geht beispielsweise aus
4 der
US 5 212 443 A hervor,
wonach ein Prüfintervall
von 10 ns verwendet wird, um die Zeitsteuerung für jede Wellenform des Prüfvektors
zu definieren. Es ist ein Lokalspeicher vorgesehen, der die Daten
zur Erzeugung des Prüfsignals
speichert. Die in diesem Lokalspeicher gespeicherten Daten werden
jedoch nicht in komprimierter Form gespeichert. Ferner sind Ereignisfolgespeicher
vorgesehen, doch wird nicht zwischen einem ganzzahligen Datenteil
und einem Bruch-Datenteil der Zeitsteuerungsdaten unterschieden,
um diese getrennt voneinander zu speichern. Außerdem ist der
US 5 212 443 A keine Skalierlogik
zu entnehmen, die die von einem Ereignisspeicher gelieferten Zeitsteuerungsdaten
proportional mit einem Skalierfaktor multipliziert.
-
US 5 461 310 A betrifft
ein automatisches Prüfequipment,
das eine „pin-slice"-Archiktektur verwendet.
Auch hierbei handelt es sich nicht um ein ereignisgestütztes Prüfsystem.
Das Prüfgerät weist mehrere „pin-slice"-Schaltungen auf,
von denen jede mit einem separaten Anschluss des Bauteilprüflings assoziiert
ist. Jede „pin-slice"-Schaltung weist
ihren eigenen Speicher und Register und Schaltungen zum Erzeugen
der notwendigen Prüfsignale
auf. Diese Lokalspeicher speichern jedoch keine Zeitsteuerungsdaten,
bei denen zwischen einem ganzzahligen Vielfachteil und einem Bruchteil
des Referenztaktintervalls unterschieden wird. Ferner weist das
Prüfsystem
der
US 5 461 310 A keine
Skalierlogik auf.
-
Die
nachveröffentlichte
DE 100 07 427 A betrifft
ein ereignisgestütztes
Prüfsystem,
bei dem Ereignisdaten in komprimierter Form gespeichert werden.
Bei dem Prüfsystem
der
DE 100 07 427 A wird jedoch
keine Skalierlogik verwendet, die die vom Ereignisspeicher gelieferten
Zeitsteuerungsdaten proportional mit einem Skalierfaktor multipliziert.
-
Die
nachveröffentlichten
DE 100 16 611 A1 und
DE 100 06 919 A1 betreffen
ereignisgestützte Prüfsysteme,
bei denen Zeitsteuerungsdaten und Ereignistypdaten in einem Ereignisspeicher
gespeichert werden. Die Ereignisdaten werden jedoch nicht in komprimierter
Form gespeichert und so sind auch keine Dekomprimierungseinheiten
vorgesehen. Diese Prüfsysteme
verwenden ferner keine Skalierlogik, um die vom Ereignisspeicher
gelieferten Zeitsteuerungsdaten proportional mit einem Skalierfaktor
zu multiplizieren.
-
Der
vorliegenden Erfindung liegt deshalb die Aufgabe zugrunde, ein ereignisgestütztes Halbleiterprüfsystem
zu beschreiben, das zur Bewertung eines Halbleiterbauteils Prüf- und Strobe-Signale
direkt aus in einem Ereignisspeicher gespeicherten Ereignisdaten
erzeugen kann.
-
Die
vorliegende Erfindung betrifft ein ereignisgestütztes Prüfsystem zum Prüfen eines
Elektronikbauteilprüflings
(DUT) durch Zuführung
eines Prüfsignals
zum Bauteilprüfling
und Bewertung eines Ausgangssignals vom Bauteilprüfling mit
der Zeitsteuerung eines Strobe-Signals. Das ereignisgestützte Prüfsystem
enthält
die folgenden Bestandteile: einen Ereignisspeicher zur Speicherung
von Zeitsteuerungsdaten für
jedes Ereignis, wobei die Zeitsteuerungsdaten ein ganzzahliges Vielfaches
eines Referenztaktintervalls (ganzzahliger Datenteil) und einen
Bruchteil des Referenztaktintervalls (Bruch-Datenteil) umfassen
und einen Zeitabstand zwischen einem gegenwärtigen Ereignis und einem allgemeinen
Referenzpunkt wiedergeben, eine Adreßfolge-Steuerungseinheit, die
Adreßdaten
für den
Zugriff auf den Ereignisspeicher zum. Auslesen der Zeitsteuerungsdaten
aus diesem Speicher erzeugt, eine Zeitsteuerungszähllogik
zur Erzeugung eines Ereignisstartsignals, das um einen mit dem ganzzahligen
Datenteil multiplizierten Referenztaktintervall verzögert ist,
eine Ereignis-Erzeugungsschaltung, die zur Festlegung des Prüfsignals
bzw. der Strobe-Signale auf der Grundlage des von der Ereigniszähllogik
gelieferten Ereignisstartsignals so wie des vom Ereignisspeicher
gelieferten Bruch-Datenteils die einzelnen Ereignisse erzeugt, und
einen Hauptrechner zur Steuerung der Gesamtoperation des ereignisgestützten Prüfsystems
mit Hilfe eines Prüfprogramms.
-
Gemäß einem
weiteren Aspekt der vorliegenden Erfindung enthält der Ereignisspeicher die folgenden
Bestandteile: einen Ereigniszählspeicher zur
Speicherung des ganzzahligen Datenteils der Zeitsteuerungsdaten
jedes Ereignisses, einen Feinabstimmungsspeicher zur Speicherung
des Bruch-Datenteils der Zeitsteuerungsdaten jedes Ereignisses und
einen Ereignistypspeicher zur Speicherung von Daten, die den Typ
jedes den Zeitsteuerungsdaten im Taktzählspeicher und im Feinabstimmungsspeicher
entsprechenden Ereignisses repräsentieren.
-
Gemäß einem
weiteren Aspekt der vorliegenden Erfindung umfaßt das ereignisgestützte Prüfsystem
weiterhin eine zwischen dem Ereignisspeicher und der Ereigniszähllogik
angeordnete Dekomprimierungseinheit zur Wiederherstellung von Zeitsteuerungsdaten
aus im Ereignisspeicher gespeicherten komprimierten Ereignisdaten
und die Ereigniszähllogik
enthält
eine Skalierlogik, die die vom Ereignisspeicher kommenden Ereignisdaten
proportional zu einem Skalierfaktor modifiziert.
-
Bei
einem weiteren Aspekt der vorliegenden Erfindung umfaßt die Ereignis-Erzeugungseinheit
einen Demultiplexer zur wahlweisen Zuführung des Ereignisstartsignals
von der Zeitsteuerungszähllogik auf
der Grundlage der vom Ereignisspeicher gelieferten Ereignistypdaten,
eine Vielzahl variabler Verzögerungsschaltungen,
die das Ereignisstartsignal vom Demultiplexer empfangen, wobei jede
variable Verzögerungsschaltung
eine zusätzliche
Verzögerung liefert,
die durch Feinabstimmungs-Summendaten von der Zeitsteuerungszähllogik
festgelegt wird, sowie Mittel zur Erzeugung verschiedener Relativverzögerungen
zwischen den Prüfsignalen.
-
Das
erfindungsgemäße ereignisgestützte Halbleiterprüfsystem
ist in der Lage, zur Bewertung eines Halbleiterbauteils Prüf- und Strobe-Signale
auf der Grundlage der im Ereignisspeicher gespeicherten Ereignisdaten
zu erzeugen. Die Zeitsteuerung jedes Ereignisses wird durch die
Länge eines
Zeitabstands zum allgemeinen Referenzpunkt (Absolutzeit) oder zum
letzten Ereignis (Deltazeit) bestimmt. Die Prüf- und Strobe-Signale werden
auf der Grundlage von Ereignisinformationen erzeugt, deren Deltazeit gegenüber dem
vorhergehenden Ereignis durch eine Kombination eines ganzzahligen
Viel fachen des Referenztaktintervalls und eines Bruchteils des
Referenztaktintervalls festgelegt wird.
-
Das
erfindungsgemäße ereignisgestützte Halbleiterprüfsystem
ist in der Lage, die Zeitsteuerungsdaten zur Erzeugung der momentanen
Ereignisse durch Modifikation der Verzögerungszeiten dieser momentanen
Ereignisse proportional zu einem Skalierfaktor zu skalieren.
-
Darüber hinaus
ist das ereignisgestützte Halbleiterprüfsystem
in der Lage, zur Speicherung von Ereignisdaten in einem Ereignisspeicher
eine Datenkomprimierungs- und Dekomprimierungstechnologie zu verwenden;
um so die benötigte
Ereignisspeicherkapazität
zu verringern.
-
Schließlich ist
das ereignisgestützte
Halbleiterprüfsystem
in der Lage, zur Erzeugung von Prüf- und Strobe-Signalen Daten
direkt einzusetzen, die durch eine Prüfbank eines CAD-Systems bei
der Entwicklung des Halbleiterbauteilprüflings gewonnen wurden.
-
Im
folgenden wird die vorliegende Erfindung unter Bezugnahme auf die
beigefügte
Zeichnung näher
erläutert.
-
In
der Zeichnung zeigen
-
1 ein
schematisches Blockschaltbild eines Beispiels für den Aufbau eines herkömmlichen Halbleiterprüfsystems,
das Prüfsignale
und Prüf-Strobe-Signale
auf der Grundlage von zyklusgestützten
Prüfdaten
erzeugt;
-
2 ein
Diagramm zur Darstellung eines Beispiels für die im zyklusgestützten Prüfsystem
gemäß 1 zur
Erzeugung von Prüfsignalen
unter Verwendung von Musterdaten, Zeitsteuerungsdaten und Wellenformdaten
für jeden
Prüfzyklus
eingesetzten Datenstruktur;
-
3 ein
Blockschaltbild eines Beispiels für den Aufbau eines erfindungsgemäßen ereignisgestützten Halbleiterprüfsystems;
-
4 ein
schematisches Blockschaltbild zur Darstellung einer Beziehung zwischen
einer Umgebung zur elektronischen Entwicklungsautomatisierung und
einem erfindungsgemäßen ereignisgestützten Halbleiterprüfsystem;
-
5A bis 5K Zeitsteuerungsgraphiken zur
Darstellung eines Beispiels für
die Operation eines erfindungsgemäßen ereignisgestützten Prüfsystems
bei der Erzeugung von Prüfsignalflanken
(Ereignissen) gemäß den 5I bis 5K auf
der Grundlage von im Ereignisspeicher gespeicherten Ereignisdaten;
-
6 ein
Schemadiagramm eines Beispiels für
den Aufbau des Ereignisspeichers und der Zeitsteuerungszähl- und
Skalierlogik beim erfindungsgemäßen ereignisgestützen Prüfsystem;
-
7 ein
Schemadiagramm eines anderen Beispiels für den Aufbau des Ereignis speichers
und der Zeitsteuerungszähl- und Skalierlogik
beim erfindungsgemäßen ereignisgestützten Prüfsystem;
-
8 ein
schematisches Blockschaltbild eines Beispiels für den Aufbau der Ereignis-Erzeugungseinheit
zur Erzeugung verschiedener Ereignisse auf der Grundlage der durch
die Zeitsteuerungszähl-
und Skalierlogik gemäß 6 bzw. 7 gelieferten
Daten;
-
9 ein
Schemadiagramm eines grundlegenden Aufbaus des erfindungsgemäßen ereignisgestützten Prüfsystems;
-
10A eine Datentabelle zur Darstellung der Beziehungen
zwischen verschiedenen Zeitsteuerungen zur Erzeugung der in den 5I bis 5K gezeigten
Ereignisse mit Hilfe der im Diagramm gemäß 6 gezeigten
Schaltungen;
-
10B eine Datentabelle zur Darstellung der Beziehungen
zwischen verschiedenen Zeitsteuerungen zur Erzeugung der in den 5I bis 5K gezeigten
Ereignisse mit Hilfe der in 7 gezeigten Schaltungen;
-
11 eine
Zeitsteuerungsgraphik eines Beispiels für eine Ereignisabfolge zur
Verdeutlichung der Ereignisdaten-Komprimierungs- und Dekomprimierungstech nologie
beim erfindungsgemäßen ereignisgestützten Prüfsystem;
-
12A eine Datentabelle zur Darstellung von unkomprimiert
im Ereignisspeicher (Ereigniszählspeicher
und Feinabstimmungsspeicher) gespeicherten Ereignisdaten zur Erzeugung
der in 11 gezeigten Ereignisse;
-
12B eine Datentabelle zur Darstellung von im Ereignisspeicher
unter Einsatz der erfindungsgemäßen Datenkomprimierung
gespeicherten Ereignisdaten zur Erzeugung der in 11 gezeigten
Ereignisse,
-
13 ein
Blockschaltbild eines Beispiels für den Schaltungsaufbau der
Datenkomprimierungseinheit beim erfindungsgemäßen ereignisgestützten Prüfsystem;
-
14 ein
schematisches Blockschaltbild eines Beispiels für den Aufbau der Skalierlogik
des erfindungsgemäßen ereignisgestützten Prüfsystems; und
-
15 ein
Blockschaltbild eines detaillierteren Beispiels für den Aufbau
der Skalierlogik des erfindungsgemäßen ereignisgestützten Prüfsystems.
-
Das
schematische Blockschaltbild gemäß 3 zeigt
ein Beispiel für
den Aufbau eines erfindungsgemäßen ereig nisgestützten Prüfsystems.
Das ereignisgestützte
Prüfsystem
umfaßt
einen Hauptrechner 22 und eine Busschnittstelle 23,
die beide mit einem Systembus 24, einem internen Bus 25,
einer Adreßfolge-Steuerungseinheit 28,
einem Fehlerspeicher 27, einem Ereignisspeicher 30,
einer Dekomprimierungseinheit 32, einer Zeitsteuerungszähl- und Skalierlogik 33,
einer Ereignis-Erzeugungseinheit 34 und einer Pin-Elektronik 36 verbunden
sind. Das ereignisgestützte
Prüfsystem
dient zur Bewertung eines an die Pin-Elektronik 36 angeschlossenen
Halbleiterbauteilprüflings
(DUT) 38, bei dem es sich üblicherweise um eine integrierte
Speicherschaltung, eine integrierte Mikroprozessorschaltung oder
eine anwendungsspezifische integrierte Schaltung handelt.
-
Als
Hauptrechner 22 dient beispielsweise ein Arbeitsplatz.
Der Hauptrechner 12 fungiert als Benutzerschnittstelle,
wodurch es einem Benutzer ermöglicht
wird, Start- und Endbefehle für
die Prüfung
einzugeben, ein Prüfprogamm
und andere Prüfbedingungen
zu laden oder im Hauptrechner Prüfergebnisanalysen
durchzuführen.
Der Hauptrechner 22 ist über den Systembus 24 und
die Busschnittstelle 23 mit einem Hardware-Prüfsystem
und zudem vorzugsweise zum Absenden bzw. Empfangen von Prüfinformationen
von anderen Prüfsystemen
oder Rechnernetzen mit einem Datenübertragungsnetzwerk verbunden,
wobei letzteres jedoch in der Zeichnung nicht dargestellt ist.
-
Beim
internen Bus 25 handelt es sich um einen Bus im Hardware-Prüfsystem,
der üblicherweise mit
den meisten Funktionsblöcken,
wie etwa der Adreßfolge-Steuerungseinheit 28,
dem Fehlerspeicher 27, der Dekomprimierungseinheit 32,
der Zeitsteuerungszähl-
und Skalierlo gik 33 und der Ereignis-Erzeugungseinheit 34 verbunden
ist. Als Adreßfolge-Steuerungseinheit 28 wird
beispielsweise ein nur dem Hardware-Prüfsystem zur Verfügung stehender
Prüfprozessor
verwendet, auf den der Benutzer keinen Zugriff hat. Die Adreßfolge-Steuerungseinheit 28 liefert
an andere Funktionsblöcke
des Prüfsystems
auf der Grundlage der vom Hauptrechner 22 vorgegebenen
Bedingungen und des Prüfprogramms
entsprechende Befehle. Der Fehlerspeicher 27 speichert
Prüfergebnisse,
beispielsweise Fehlerinformationen über den Bauteilprüfling 38,
an den durch die Adreßfolge-Steuerungseinheit 28 vorgegebenen
Adressen ab, wobei dann die im Fehlerspeicher 27 enthaltenen
Informationen während
der Fehleranalyse des Bauteilprüflings
verwendet werden.
-
Eine
der Aufgaben der Adreßfolge-Steuerungseinheit 28 besteht
darin, dem Ereignisspeicher 30 Adreßdaten zu liefern, wie sich
dies 3 entnehmen läßt. Bei
einem tatsächlichen
Prüfsystem
ist eine Vielzahl von Ereignisspeichern 30 vorgesehen,
von denen jeder einem Prüfpin
(Prüfkanal)
des Prüfsystems
zugeordnet sein kann. Der Ereignisspeicher 30 speichert
die Zeitsteuerungsdaten für
jedes Prüfsignal-
bzw. Strobe-Signal-Ereignis. Wie später noch im einzelnen erläutert wird,
werden vom Ereignisspeicher 30 dabei die Ereignisdaten
auf zweierlei Weise gespeichert, und zwar erfolgt einerseits eine
Speicherung von Zeitsteuerungsdaten, die ein ganzzahliges Vielfaches
eines Zyklus des Referenztakts darstellen, und andererseits eine
Speicherung von Zeitsteuerungsdaten, die einen Bruchteil bzw. mehrere Bruchteile
eines Referenztaktzyklus betragen. Bei der vorliegenden Erfindung
werden die Zeitsteuerungsdaten jedes Ereignisses durch einen Zeitabstand
zum allgemeinen Refe renzzeitpunkt (Absolutzeit) oder zum vorhergehenden
Ereignis (Deltazeit) ausgedrückt,
was ebenfalls im folgenden noch genauer erläutert wird.
-
Die
Zeitsteuerungsdaten im Ereignisspeicher 30 werden vorzugsweise
komprimiert, um die benötigte
Speicherkapazität
zu verringern. Die Dekomprimierungseinheit 32 empfängt die
komprimierten Daten vom Ereignisspeicher 30 und stellt
die Zeitsteuerungsdaten in einem Dekomprimierungsvorgang wieder
her.
-
Die
Zeitsteuerungszähl-
und Skalierlogik 33 dient zur Erzeugung von Gesamtzeitsteuerungsdaten,
durch die ein gegenwärtiges
Ereignis auf der Grundlage der Deltazeitsteuerungsdaten vom Ereignisspeicher 30 direkt
erzeugt werden kann. Die Gesamtzeitsteuerungsdaten werden dabei
beispielsweise durch eine Kombination aus einem Ereignisstartsignal
und einer auf das Ereignisstartsignal bezogenen Verzögerungszeit
gebildet. Gemäß einem
Aspekt der Erfindung umfaßt
ein Vorgang zur Erzeugung derartiger Gesamtzeitsteuerungsdaten eine Summieroperation,
in der eine Vielzahl von Bruchteil-Zeitsteuerungsdaten (Feinabstimmungs-Zeitsteuerungsdaten)
addiert werden, wobei während der
Summierung der Zeitsteuerungsdaten in der Zeitsteuerungszähl- und
Skalierlogik 33 zudem ein Übertrag der Bruchteil-Daten
(Verschiebung zum ganzzahligen Datenteil) erfolgt. Gemäß einem
anderen Aspekt umfaßt
die Erzeugung der Gesamtzeitsteuerungsdaten keinen Summiervorgang.
-
Die
Zeitsteuerungszähl-
und Skalierlogik 33 dient zudem zur Modifizierung der Zeitsteuerungsdaten
proportional zu einem Skalierfaktor. Eine derartige Skalieroperation
der Zeitsteuerungsdaten besteht in einer Multiplikation von Zeitsteuerungsdaten
(d.h. jeder Deltazeit bzw. Absolutzeit) mit einem Skalierfaktor.
So bedeutet beispielsweise die Skalierung von Zeitsteuerungsdaten,
die "1,5" Systemtakte (Referenztakte)
angeben, mit einem Skalierfaktor "2",
daß die
sich ergebenden Zeitsteuerungsdaten 1,5 × 2 = 3,0 Systemtakte betragen.
Allgemein ausgedrückt, lautet
für die
durch die erwähnten
Ereigniszähl-
und Ereignisfeinabstimmungsdaten angegebenen Zeitsteuerungsdaten
(d.h. die Verzögerungszeit)
die Multiplikation folgendermaßen:
(Ereigniszähldaten
+ Ereignisfeinabstimmungsdaten) × (Skalierfaktor) = skalierte
Verzögerung.
-
Die
genannten Summier- und Skalieroperationen können unter Einsatz von Software
durchgeführt
werden. Allerdings ist die Umformung einer umfangreichen Verzögerungs-Datenbank
und das erneute Laden dieser Daten in ein ereignisgestütztes Prüfgerät unter
Umständen
sehr zeitaufwendig, so daß sich
die Summierung und Skalierung gegebenenfalls direkt mit Hilfe der
Hardware schneller durchführen
läßt. Bei
dem ereignisgestützten
Prüfsystem
kann dabei eine Vielzahl unterschiedlicher Skaliertechnologien zum
Einsatz kommen.
-
Die
Ereignis-Erzeugungseinheit 34 dient zur eigentlichen Erzeugung
der Ereignisse auf der Grundlage der von der Zeitsteuerungszähl- und
Skalierlogik 33 gelieferten Gesamtzeitsteuerungsdaten. Die
so erzeugten Ereignisse (Anstiegs- und Abfallpunkte der Prüf- und Strobe-Signale)
werden dem Bauteilprüfling 38 durch
die Pin-Elektronik 36 zugeführt. Die
Pin-Elektronik 36 besteht im wesentlichen aus einer großen Anzahl
von Schnittstellenschaltungen, die als Schnittstellen zwischen dem
Halbleiterprüfsystem
und dem Halbleiterbauteilprüfling dienen. So
besteht beispielsweise jede Schnittstellenschaltung aus einem Treiber
und einem Komparator gemäß der Darstellung
in 1 und umfaßt
Umschalter, um die Eingabe- und Ausgabebeziehungen zum Treiber,
zum Komparator und zum Bauteilprüfling 38 herstellen.
-
Das
Schemadiagramm gemäß 4 zeigt einen
Gesamtüberblick über die
Beziehung zwischen einer Entwicklungsphase und einer Prüfphase einer integrierten
Halbleiterschaltung. Das dargestellte Beispiel betrifft dabei eine
Situation, in der eine höchstintegrierte
Schaltung (VLSI), etwa ein Systemchip (SoC) 53, in einer
Umgebung zur elektronischen Entwicklungsautomatisierung (EDA-Umgebung) 51 entworfen
wird.
-
Durch
die Entwicklung der integrierten Halbleiterschaltung 53 in
der EDA-Umgebung 51 erhält man
eine Entwurfsdatei 55 und eine Prüfdatei 63. Durch verschiedene
Datenumwandlungsvorgänge werden
die Entwurfsdaten nun in Daten auf physikalischer Ebene umgewandelt,
die jedes Gatter der entworfen integrierten Halbleiterschaltung
anzeigen, und auf der Grundlage dieser physikalischen Daten wird
sodann in einem Herstellungsverfahren für integrierte Halbleiterschaltungen
(Silizium-Verfahren) eine tatsächliche
integrierte Schaltung 59 erzeugt.
-
Die
auf diese Weise hergestellte integrierte Schaltung wird nun mit
Hilfe eines Halbleiterprüfsystems 60 geprüft. Durch
eine Logiksimulation mit Hilfe einer Prüfbank 64 unter Verwendung
der in der Entwicklungsphase der integrierten Schaltung gewonnenen
Prüfdaten
wird dabei eine Datei 65 erzeugt, die die Beziehung zwischen
Eingangs- und Ausgangssignalen der integrierten Schal tung wiedergibt.
Ein Beispiel für
eine derartige Datei ist die VCD-Datei (Wertänderungs-Speicherauszugsdatei)
von Verilog.
-
Bei
herkömmlichen,
zyklusgestützten
Halbleiterprüfsystemen
wird daraufhin durch eine Umwandlungssoftware 67 eine Formatumwandlung durchgeführt, bei
der die in einem ereignisgestützten Format
geschriebene VCD-Datei 65 in ein Prüfsignal im zyklusgestützten Format
umgewandelt wird. In einer Datei 68 im Halbleiterprüfsystem 60 wird
dementsprechend ein zyklusgestütztes
Prüfmuster
abgespeichert. Eine Prüfgerät-Hardware 69 führt dieses Prüfmuster
dem Bauteilprüfling 59 zum
Prüfen
der Funktionen des Bauteils usw. zu. Beim erfindungsgemäßen ereignisgestützten Halbleiterprüfsystem
kann die VCD-Datei 65 hingegen durch Abspeichern der VCD-Daten
im in 3 gezeigten Ereignisspeicher 30 direkt
verwendet werden.
-
Die 5A bis 5K zeigen
ein Beispiel für
die Operation zur Erzeugung von Ereignissen auf der Grundlage von
Ereignisdaten. Dem Schemadiagramm gemäß 6 läßt sich
ein Beispiel für
den Aufbau der Zeitsteuerungszähl-
und Skalierlogik 33 zur Erzeugung eines Ereignisstartsignals
sowie von Feinabstimmungsdaten auf der Grundlage der aus dem Ereignisspeicher 30 stammenden
Zeitsteuerungsdaten relativ zu einem allgemeinen Referenzpunkt,
d.h. in Form einer Absolutzeit, entnehmen. Das Schaltdiagramm gemäß 7 zeigt
ein weiteres Beispiel für
einen Aufbau der Zeitsteuerungszähl- und
Skalierlogik 33, wobei hier das Ereignisstartsignal sowie
Feinabstimmungsdaten auf der Grundlage der Zeitsteuerungsdaten vom
Ereignisspeicher 30 relativ zu einem vorhergehenden Ereignis,
d.h. als Deltazeit, erzeugt werden.
-
Beim
Beispiel gemäß 6 ist
keine Summierfunktion vorhanden, während das Beispiel gemäß 7 eine
Funktion zur Summierung der Feinabstimmungsdaten und zur Erzeugung
von Übertragsignalen
umfaßt.
Die Schaltungsanordnungen gemäß den 6 und 7 weisen
im übrigen
zur besseren Übersichtlichkeit
keine Schaltdiagramme für
die Skalierlogik auf.
-
Wie
sich den 6 und 7 entnehmen läßt, liefert
die Adreßfolge-Steuerungseinheit 28 Adreßdaten an
den Ereignisspeicher 30. Wie bereits erwähnt, kann
es sich bei der Adreßfolge-Steuerungseinheit 29 um
einen mit einem Mikroprozessor ausgestatteten Prüfgerät-Prozessor handeln, während allerdings
im einfachsten Fall ein Adreßzähler als
Adreßfolge-Steuerungseinheit 28 dient.
Ein solcher Adreßzähler beginnt
seine Zählung
mit null und erhöht
den Wert jeweils um eins bis eine vorab eingestellte Endadresse
erreicht ist. Die Größe der Bitbreite
hängt dabei
von der Tiefe des zu unterstützenden Speichers
ab, wobei jedoch bei einer tatsächlichen Zählerausführung wenigstens
16 Bits erforderlich sind.
-
Beim
Beispiel gemäß 6 umfaßt der Ereignisspeicher 30 einen
Taktzähl-Direktzugriffsspeicher 71,
einen Feinabstimmungs-Direktzugriffsspeicher 72 und einen
Ereignistyp-Direktzugriffsspeicher 73. Der Taktzähl-Direktzugriffsspeicher 71 speichert den
ganzzahligen Teil der Zeitsteuerungsdaten, d.h. das ganzzahlige
Vielfache des Referenztaktintervalls, der Feinabstimmungs-Direktzugriffsspeicher 72 speichert
den Bruchteil der Zeitsteuerungsdaten (Feinabstimmungsdaten), d.h.
die Bruchteile des Referenztaktintervalls, während im Ereignistyp-Direktzugriffsspeicher 73 die
Daten zur Auswahl des Ereignistyps gespeichert sind. Der Ereignistyp
wird ausgewählt,
indem entweder die Prüfgerät-Ausgabepinsignale
(Prüfsignale)
auf den logischen Zustand "1" oder "0" bzw. auf "hohe Impedanz" gesetzt oder indem SOLL-Werte zur Zwischenspeicherung
der Antwortsignale vom Bauteilprüfling 38 gemäß der Zeitsteuerung
durch die Strobe-Signale eingestellt werden.
-
Die
zur Erzeugung der Ereignisse bei dem in den 5I bis 5K gezeigten
Beispiel mit Hilfe der Zeitsteuerungszähl- und Skalierlogik gemäß 6 im
Ereignisspeicher 30 zu speichernden Daten lassen sich der
Datentabelle gemäß 10A entnehmen. Wie bereits erwähnt, beschreiben die Zeitsteuerungsdaten
im Zeitsteuerungsspeicher 30 die Zeitsteuerung jedes Ereignisses
relativ zu einem allgemeinen Referenzpunkt. Anders ausgedrückt, zeigen
die Zeitsteuerungsdaten Absolutzeiten der zu erzeugenden Ereignisse
ab diesem festgelegten Zeitpunkt an, weshalb die Zeitsteuerungszähl- und
Skalierlogik gemäß 6 keine
Summierfunktion umfaßt.
-
Beim
dem in den 5A bis 5K dargestellten
Beispiel lautet die Zeiteinstellung für das Ereignis 1 1(3/16) ns
(Nanosekunden) ab einem Referenzpunkt (Startzeitpunkt), wie sich
dies 5I entnehmen läßt. Für das Ereignis
1 lauten somit die im Taktzähl-Direktzugriffsspeicher 71 gespeicherten Zeitsteuerungsdaten "1", während
der Feinabstimmungs-Direktzugriffsspeicher 72 die Daten "3/16" enthält. Das
Ereignis 2 ist zum Referenzpunkt um 2(10/16) ns zeitlich verschoben,
wie sich dies 5J entnehmen läßt. Somit
lauten die Zeitsteuerungsdaten im Taktzähl-Direktzugriffsspeicher 71 hier "2", während
der Feinabstimmungs-Direktzugriffsspeicher 72 die Bruchteildaten "10/16" enthält. Da das
Ereignis 3 zum Referenzpunkt um 4(2/16) ns verschoben ist, wie sich
dies 5K entnehmen läßt, lauten die
Zeitsteuerungsdaten im Taktzähl-Direktzugriffsspeicher 71 hier "4" und die Bruchteildaten im Feinabstimmungs-Direktzugriffsspeicher 72 "2/16".
-
Die
Daten (ganzzahliger Datenteil) im Taktzähl-Direktzugriffsspeicher 71 repräsentieren
die Anzahl der gezählten
Referenztakte (Haupttakte), die abgewartet werden müssen, ehe
das zugehörige
Ereignis ausgeführt
wird, d.h. sie geben die Zeitsteuerung eines Ereignisstartsignals
wieder. Die dem Bruchdatenteil entsprechende Bitzahl im Feinabstimmungs-Direktzugriffsspeicher 72 gibt
die Anzahl der Bruchteileinheiten pro Takt an, d.h. die zu erzeugende
zeitliche Steuerung des Ereignisses nach dem Ereignisstartsignal.
Beim obigen Beispiel enthält
jeder Zyklus des Referenztakts 16 Bruchteileinheiten.
-
Die
vom Ereignisspeicher 30 gelieferten Ereignisdaten werden
der Zeitsteuerungszähl-
und Skalierlogik gemäß 6 zugeführt. Bei
diesem Beispiel umfaßt
das Schaltdiagramm der 6 nur einen Rückzähler 75 zum
Rückzählen der
Zahl der Referenztaktimpulse (vgl. 5A). Die
Daten vom Taktzähl-Direktzugriffsspeicher
dienen zur Voreinstellung des Rückzählers 75,
wobei dieser dann den Referenztakt zählt und ein Zählendsignal
(Ereignisstartsignal) erzeugt, wenn von den vorab eingestellten
Daten auf null zurückgezählt wurde.
Die Feinabstimmungsdaten vom Feinabstimmungs-Direktzugriffsspeicher 72 und
die Ereignistypdaten vom Ereignistyp-Direktzugriffsspeicher werden
der Ereignis-Erzeugungseinheit 34 direkt zugeführt.
-
Bei
dem in den 5A bis 5K dargestellten
Beispiel werden somit der Ereignis-Erzeugungseinheit 34 zur
Erzeugung des Ereignisses 1 gemäß 5I ein
Ereignisstartsignal gemäß 5B und
Feinabstimmungsdaten zugeführt,
die die Bruchteil-Zeitdifferenz gemäß 5C wiedergeben.
Wenn zwei Taktimpulse gezählt
wurden, wird in entsprechender Weise ein Ereignisstartsignal gemäß 5D erzeugt
und der Ereignis-Erzeugungseinheit 34 zusammen mit den
Feinabstimmungsdaten zugeführt,
die in diesem Fall eine Bruchteil-Zeitdifferenz 10/16 gemäß 5E angeben,
so daß nun
das Ereignis 2 gemäß 5J erzeugt
werden kann. Zur Erzeugung des Ereignisses 3 gemäß 5K wird
ein Ereignisstartsignal gemäß 5G erzeugt,
wenn vier Taktimpulse gezählt
wurden, und sodann zusammen mit den Feinabstimmungsdaten, die die
Bruchteil-Zeitdifferenz 2/16 gemäß 5H angeben,
der Ereignis-Erzeugungseinheit 34 zugeführt.
-
Beim
Beispiel gemäß 7 ist
eine Summierfunktion zur Verarbeitung von Ereignisdaten vorgesehen,
die eine Zeitdifferenz jedes Ereignisses zum vorhergehenden Ereignis,
d.h. eine Deltazeit, wiedergeben. In diesem Fall werden die Zeitsteuerungsdaten
eines gegenwärtigen
Ereignisses im Ereignisspeicher 30 durch eine Verzögerungszeit
ab einem vorhergehenden Ereignis ausgedrückt. Somit lauten die Zeitsteuerungsdaten
im Taktzähl-Direktzugriffsspeicher 71 für das Ereignis
1 gemäß 5I "1" und die Daten im Feinabstimmungs-Direktzugriffsspeicher 72 "3/16". Das Ereignis 2
ist gegenüber
dem Ereignis 1 um 1(7/16) ns zeitlich verschoben, wie sich dies 5J entnehmen
läßt. Somit
lauten die Zeitsteuerungsdaten im Taktzähl-Direktzugriffsspeicher 71 hier
wiederum "1", während die
Bruchteil-Daten im Feinabstimmungs-Direktzugriffsspeicher 72 "7/16" betragen. Da das
Ereignis 3 um 1(8/16) ns nach dem Ereignis 2 erfolgt, wie sich dies 5K entnehmen läßt, betragen
hier die Zeitsteuerungsdaten im Taktzähl-Direktzugriffsspeicher 71 ebenfalls "1", während die
Bruchteildaten im Feinabstimmungs-Direktzugriffsspeicher 72 "8/16" lauten.
-
Die
Daten (ganzzahliger Datenteil) im Taktzähl-Direktzugriffsspeicher 71 geben
die Anzahl der gezählten
Referenztakte (Haupttakte) wieder, die abgewartet werden müssen, ehe
das zugehörige
Ereignis stattfinden kann, während
die Daten (Bruchteildaten) im Feinabstimmungs-Direktzugriffsspeicher 72 die
Anzahl der Feinabstimmungseinheiten angeben, die nach dem Ablauf
der ganzzahligen Taktzählwerte (d.h.
nach dem Ereignisstartsignal) vor der Ausführung des Ereignisses noch
abzuwarten sind. Die Anzahl der dem Feinabstimmungsteil zugeordneten
Bits legt dabei die Anzahl der Bruchteileinheiten pro Takt fest.
Beim obigen Beispiel umfaßt
jeder Referenztaktzyklus 16 Bruchteileinheiten.
-
Die
Feinabstimmungssumme in der Tabelle gemäß 10B besteht
aus der Summe der Bruch-Datenteile der vorhergehenden Ereignisse und
des gegenwärtigen
Ereignisses. So lautet beispielsweise die Feinabstimmungssumme beim
Ereignis 2 "10/16", was der Summe des
Feinabstimmungszählwerts "3/16" des Ereignisses
1 und des Feinabstimmungszählwerts "7/16" des Ereignisses
2 entspricht. Dementsprechend beträgt die Feinabstimmungssumme
für das
Ereignis 3 "18/16", d.h. es handelt
sich um die Summe des Feinabstimmungszählwerts "3/16" des
Ereignisses 1, des Feinabstimmungszählwerts "7/16" des
Ereignisses 2 und des Feinabstimmungszählwerts "8/16" des
Ereignisses 3. Durch die Summieroperation erhält man die Feinabstimmungssumme
2/16 für
das Ereignis 3, während der
Taktzählwert
um 1 erhöht
wird.
-
Bei
der in der rechten Spalte von 10B aufgeführten Gesamtzeit
handelt es sich um die jeweilige Gesamtzeitsteuerung der Ereignisse
in bezug zum in 5 dargestellten Startpunkt
(Referenzpunkt) "0". Diese Gesamtzeit
erhält
man durch Bildung der Summe aus den ganzzahligen Teilen der Zeitsteuerungsdaten
und den Bruchteilen der Zeitsteuerungsdaten. Wenn die Summe der
Bruchteile die Länge
eines Zeitintervalls des Referenztakts überschreitet, so werden die
Daten des ganzzahligen Teils entsprechend erhöht. Das Ereignis 1 weist eine Gesamtzeitdifferenz
zum Referenzpunkt von 1(3/16) ns auf, während das Ereignis 2 um eine
Gesamtzeit von 2(10/16) ns und das Ereignis 3 um eine Gesamtzeit
von 4(2/16) ns gegenüber
dem Referenzpunkt verschoben ist. Das Ereignisstartsignal und die
Feinabstimmungssumme für
die Ereignisse 1 bis 3 werden jeweils in der unter Bezugnahme auf 6 bereits
beschriebenen Weise der Ereignis-Erzeugungseinheit 34 zugeführt.
-
Die
in 7 gezeigte Zeitsteuerungszähl- und Skalierlogik 33 umfaßt einen
Rückzähler 75,
einen Zwischenspeicher 76, eine Flip-Flop-Schaltung 77,
einen Multiplexer 78 und einen Addierer 79. Der Rückzähler 75 empfängt den
ganzzahligen Teil der Zeitsteuerungsdaten vom Taktzähl-Direktzugriffsspeicher 71,
während
der Addierer 79 den Bruch-Datenteil der Zeitsteuerungsdaten
vom Feinabstimmungs-Direktzugriffsspeicher 72 empfängt.
-
So
wird beispielsweise im Rückzähler 75 der vom
Direktzugriffsspeicher 71 gelieferte ganzzahlige Datenteil
vorab eingestellt, wobei der Rückzähler dann
vom einge stellten Wert jeweils um den Referenztakt CLK zurückzählt. Erreicht-
der Rückzähler 75 null,
so wird ein Ausgangssignal (Zählendsignal) erzeugt,
das einem Eingang des Multiplexers 78 zugeführt wird.
Ein weiterer Eingang des Multiplexers 78 empfängt das
Ausgangssignal der Flip-Flop-Schaltung 77, welches das
vom Rückzähler 75 gebildete
Ausgangssignal um einen Taktzyklus verzögert. Der Multiplexer 78 schiebt
dabei in den ganzzahligen Datenteil vom Taktzähl-Direktzugriffsspeicher 71 eine
zusätzliche
Taktverzögerung
ein. Beim Ausgangssignal vom Multiplexer 78 handelt es sich
um ein Ereignisstartsignal, das der Anzahl der gezählten Referenztaktwerte
entspricht. Das Ereignisstartsignal wird an die Ereignis-Erzeugungseinheit 34 und
die Adreßfolge-Steuerungseinheit 28 geleitet.
-
Der
Bruch-Datenteil vom Feinabstimmungs-Direktzugriffsspeicher 72 wird
einem Eingabeanschluß des
Addierers 79 zugeführt,
während
ein weiterer Eingabeanschluß des
Addierers 79 die Feinabstimmungsdaten der vorhergehenden
Ereignisse vom Zwischenspeicher 76 empfängt. Der Addierer 79 addiert
somit alle Bruch-Datenteile vom Taktzähl-Direktzugriffsspeicher 72.
Wenn die Summe der Bruch-Datenteile einen Taktintervall übersteigt,
d.h. wenn sie etwa beim erwähnten
Beispiel für
das in den 5 und 10A dargestellte Ereignis 3 16/16 beträgt, so wird
ein Übertragsignal
erzeugt und an den Multiplexer 78 geleitet. Empfängt der
Multiplexer 78 das Übertragsignal,
so wählt
er das Ausgangssignal der Flip-Flop-Schaltung 77 aus
und verzögert
so das Ereignisstartsignal um einen Referenztaktintervall. Somit
wird beim Beispiel gemäß 10A, bei dem die Summe der Bruch-Datenteile für das Ereignis
3 "18/16" lautet, dem Multiplexer 78 ein Übertragsignal zugeführt, um
beim Ereignisstartsignal eine zusätzliche Verzögerung um
einen Taktintervall hervorzurufen. Die restlichen Daten "2/16" werden am Ausgang des
Addierers 79 als Feinabstimmungssumme ausgegeben.
-
Auf
der Grundlage der obigen Ausführungen wird
nun das Verfahren zur Erzeugung der in den 5I bis 5K dargestellten
Ereignisse 1 bis 3 mit Hilfe der Schaltung gemäß 7 näher erläutert. Da
der ganzzahlige Datenteil für
das Ereignis 1 "1" lautet, erzeugt
der Rückzähler 75 durch
Zählen
eines Referenztaktimpulses gemäß 5A einen
Impuls (Zählendsignal)
gemäß 5B.
Das Zählendsignal gemäß 5B wird
als Ereignisstartsignal am Ausgang des Multiplexers 78 ausgegeben. 5C zeigt eine
am Ausgang des Addierers 79 ausgegebene Feinabstimmungssumme,
die in der Ereignis-Erzeugungseinheit 34 zum Ereignisstartsignal
hinzugezählt
wird, um das Ereignis 1 gemäß 5I zu
erzeugen.
-
Da
der ganzzahlige Datenteil beim Ereignis 2 ebenfalls "1" lautet, erzeugt der Rückzähler 75 auch hier
einen Impuls (Zählendsignal)
durch Zählen
eines Taktimpulses. Das Zählendsignal
vom Rückzähler 75 wird
einen Zyklus nach dem vorhergehenden Zählendsignal gemäß 5B erzeugt,
wodurch als Ausgangssignal des Multiplexers 78 das Ereignisstartsignal
gemäß 5D gebildet
wird. 5E zeigt eine Feinabstimmungsumme
am Ausgang des Addierers 79, die in der Ereignis-Erzeugungseinheit 34 zum
Ereignisstartsignal gemäß 5D hinzuaddiert
wird. Da der Bruch-Datenteil des Ereignisses 1 "3/16" und der
Bruch-Datenteil des Ereignisses 2 "7/16" lautet, beträgt die Feinabstimmungssumme
am Ausgang des Addierers 79 hier "10/16", wie sich dies 5E entnehmen
läßt. Diese
Feinabstimmungssumme wird nun zum Ereignisstart signal gemäß 5D hinzuaddiert,
wodurch das Ereignis 2 gemäß 5J erzeugt
wird.
-
Heim
Ereignis 3 lautet der ganzzahlige Datenteil ebenfalls "1", so daß der Rückzähler 75 wiederum durch
Zählen
eines Taktimpulses einen Impuls (Zählendsignal) erzeugt. Das Zählendsignal
vom Rückzähler 75 wird
auch hier an den Multiplexer 78 geleitet, wobei eine Zeitsteuerung
gemäß 5F, d.h.
eine Verzögerung
gegenüber
dem Referenzpunkt um drei Takte vorliegt. Da die Feinabstimmungssumme "10/16" der vorhergehenden
Ereignisse durch den Addierer 79 zu den Bruchteildaten "8/16" des Ereignisses 3 hinzugezählt wird,
beträgt die
Summe der Bruch-Datenteile für
das Ereignis 3 allerdings "18/16", weshalb hier nun
dem Multiplexer 78 ein Übertragsignal
zugeführt
wird, wodurch dieser das Ausgangssignal der Flip-Flop-Schaltung 77 auswählt und
so das Ereignisstartsignal gemäß 5G zusätzlich um
einen Takt verzögert.
Die restlichen Daten "2/16" werden vom Addierer 79 als
Feinabstimmungssumme gemäß 5H ausgegeben.
Das in 5K dargestellte Ereignis 3 wird
nunmehr durch Addieren der Feinabstimmungssumme gemäß 5H zum
Ereignisstartsignal gemäß 5G erzeugt.
-
Dem
Schaltschema gemäß 8 läßt sich ein
Beispiel für
den Schaltungsaufbau der Ereignis-Erzeugungseinheit 34 entnehmen.
Wie bereits kurz erwähnt,
dient die Ereignis-Erzeugungseinheit 34 gemäß 8 zur
Erzeugung von Prüfsignalen und
Strobe-Signalen auf der Grundlage von durch die Zeitsteuerungszähl- und
Skalierlogik gemäß 6 bzw. 7 gelieferten
Ereignisstartsignalen und Feinabstimmungssummen.
-
Das
Schaltdiagramm gemäß 8 umfaßt einen
Demultiplexer 82, einen Komparator 83, variable
Verzögerungsschaltungen 85 bis 87,
eine ODER-Schaltung 88, Setz-Rücksetz-Flip-Flop-Schaltungen 91 und 92,
eine Pin-Ansteuerung 93, variable Verzögerungsschaltungen 95 bis 97,
Flip-Flop-Schaltungen 102 bis 104, eine ODER-Schaltung 105 und
eine Flip-Flop-Schaltung 106. Die variablen Verzögerungsschaltungen 85 bis 87 und 95 bis 97 können durch
entsprechende (nicht dargestellte) Ereignisprozessoren so äktualisiert
werden, daß die
kalibrierten Verzögerungszeiten
durch die im Diagramm der 6 oder der 7 gezeigte Schaltungen
entsprechend der Feinabstimmung (Feinabstimmungssumme) ausgewählt werden.
Zum besseren Verständnis
sind in 8 auch die Pin-Ansteuerung 93 und
der Komparator 83 dargestellt, obwohl diese Elemente bei
einer tatsächlichen
Ausführung
eher einen Teil der Pin-Elektronik 36 gemäß 3 bilden.
-
Handelt
es sich bei einem Pin des Bauteilprüflings DUT um einen Eingabepin,
so liefert der Ausgang der Pin-Ansteuerung 93 an diesen
Bauteilprüflingspin
ein Prüfsignal.
Die gewünschte
Amplitude und Anstiegsrate des Prüfsignals werden dabei durch
die Pin-Ansteuerung 93 erzeugt. Handelt es sich beim Bauteilprüflingspin
andererseits um einen Ausgabepin, so empfängt der Komparator 83 ein
Antwortausgangssignal vom Bauteilprüfling DUT. Der Komparator 83 führt eine
Analogfunktion durch, um das analoge Niveau des angeschlossenen
Bauteilpins mit vorab eingestellten Spannungsbereichen zu vergleichen
und festzustellen, in welchem Bereich der Bauteilpin angesiedelt
ist. Es sind dabei drei Bereiche möglich, nämlich ein "hohes" Niveau, ein "niedriges" Niveau und eine hohe Impedanz "Z", wie sich dies 8 entnehmen
läßt. Bei
diesem Beispiel ist jeweils nur einer dieser drei Bereiche zu einem
bestimmten Zeitpunkt aktiv.
-
Der
Demultiplexer 82 empfängt
das Ereignisstartsignal von der in 6 bzw. der
in 7 dargestellten Zeitsteuerungszähl- und
Skalierlogik sowie die Ereignistypdaten vom zum Ereignisspeicher 30 gehörenden Ereignistyp-Direktzugriffsspeicher 73. Die
Ereignistypdaten werden dem Auswahlanschluß des Demultiplexers 82 zugeführt. Das
Ereignisstartsignal wird nun demultiplexiert und dem entsprechenden
Ereignisprozessor mit der durch den Ereignistyp spezifizierten variablen
Verzögerungsschaltung
zugeführt.
-
Zeigen
die Ereignistypdaten an, daß es
sich beim gegenwärtigen
Ereignis (Ereignis 1) um eine "Steuerung
des Bauteilprüflingspin
für den
logischen Zustand H" handelt,
so wird das Ereignisstartsignal der variablen Verzögerungsschaltung 85 zugeführt, durch
die es um die durch die Feinabstimmungssumme vorgegebene Verzögerungszeit
verzögert
wird. Das Ausgangssignal (Ereignis 1 gemäß 5I) der variablen
Verzögerungsschaltung 85 setzt
nun die Setz-Rücksetz-Flip-Flop-Schaltung 91 so,
daß die Pin-Ansteuerung 93 den
angeschlossenen Bauteilpin auf den logischen Zustand "eins" steuert.
-
Wenn
die Ereignistypdaten für
das gegenwärtige
Ereignis (Ereignis 2) "Steuerung
des Bauteilprüflingspin
für logischen
Zustand L" lauten,
so wird das Ereignisstartsignal an die variable Verzögerungsschaltung 86 gesandt,
wo es wiederum um die durch die Feinabstimmungssumme festgelegte
Verzögerungszeit
verzögert
wird. Das Ausgangssignal der variablen Verzögerungsschaltung (Ereignis
2 gemäß 5J)
setzt nun die Setz-Rücksetz-Flip-Flop-Schaltung 91 zurück, was
dazu führt, daß die Pin-Ansteuerung 93 den
angeschlossenen Bauteilpin auf den logischen Zustand "null" steuert.
-
Lauten
die Ereignistypdaten für
das gegenwärtige
Ereignis "Ansteuerung
des Bauteilprüflings abstellen", so wird das Ereignisstartsignal
zur variablen Verzögerungsschaltung 87 gesandt,
wo es wiederum um eine durch die Feinabstimmungssumme vorgegebene
Zeit verzögert
wird. Das Ausgangssignal von der variablen Verzögerungsschaltung setzt nun
die Setz-Rücksetz-Flip-Flop-Schaltung 92 zurück, was
wiederum die mit dem Bauteilpin verbundene Pin-Ansteuerung 93 in
einen Hochimpedanzzustand versetzt, was es dem Komparator 83 ermöglicht,
das Ausgangssignal vom Bauteilpin zu empfangen.
-
Befindet
sich die Pin-Ansteuerung 93 im Hochimpedanzmodus, in dem
das Signal vom Bauteilpin durch den Komparator 83 empfangen
wird, so dient das Ereignis üblicherweise
zur Erzeugung des Strobe-Signals für die Zwischenspeicherung des
logischen Zustands des Komparator-Ausgangssignals. Wenn die Ereignistypdaten
nun beispielsweise für das
gegenwärtigen
Ereignis "Prüfe Bauteilprüfling für hohe Impedanz" lauten, so wird
das Ereignisstartsignal an die variable Verzögerungsschaltung 95 geleitet,
wo es um die durch die Feinabstimmungssumme vorgegebene Zeit verzögert wird
und das Spannungsniveau des Bauteilpins wird durch den Komparator 83 mit
einem vorprogrammierten hohen Impedanzniveau verglichen. Wird dabei
das minimale Hochimpedanznivau nicht erreicht, so wird das resultierende
Ausgangssignal vom Komparator 83 mit Hilfe des Strobe-Signals
(Ereignis 3) von der variablen Verzögerungsschaltung 95 in
der Flip-Flop-Schaltung 102 zwischengespeichert. Diese
Daten zeigen ein Versagen des Bauteilprüflings an und werden durch
die ODER-Schaltung 105 und die Flip-Flop-Schaltung 106 getaktet
und als "Fehler" ausgegeben.
-
Lauten
die Ereignistypdaten für
das gegenwärtige
Ereignis "Bauteilprüfling für niedriges
Niveau prüfen", so wird das Ereignisstartsignal
an die variable Verzögerungsschaltung 96 gesandt,
wo es um eine durch die Feinabstimmungssumme vorgegebene Zeit verzögert wird,
und das Spannungsniveau des Bauteilpins wird dann wiederum durch
den Komparator 83 mit einem vorprogrammierten niedrigen
Niveau verglichen. Wenn die Minimalhöhe der niedrigen Impedanz nicht
erreicht wird, so wird das sich ergebende Ausgangssignal vom Komparator 83 gemäß der Zeitsteuerung
des Strobe-Signals von der variablen Verzögerungsschaltung 96 in
der Flip-Flop-Schaltung 103 zwischengespeichert. Auch diese
Daten zeigen ein Versagen des Bauteilprüflings an und werden durch
die ODER-Schaltung 105 und
die Flip-Flop-Schaltung 106 getaktet und als "Fehler" ausgegeben.
-
Lauten
die Ereignistypdaten für
das gegenwärtige
Ereignis "Bauteilprüfling für hohes
Niveau prüfen", so wird das Ereignisstartsignal
der variablen Verzögerungsschaltung 97 zugeführt, wo
es um eine durch die Feinabstimmungssumme vorgegebene Zeit verzögert wird,
und das Spannungsniveau des Bauteilpins wird durch den Komparator 83 mit
einem vorprogrammierten minimalen hohen Niveau verglichen. Fall
die Minimalhöhe
der hohen Impedanz nicht erreicht wird, so wird das sich ergebende
Ausgangssignal des Komparators 83 entsprechend der Zeitsteuerung
des Strobe-Signals von der variablen Ver zögerungsschaltung 97 in
der Flip-Flop-Schaltung 104 zwischengespeichert. Auch diese
Daten zeigen ein Versagen des Bauteilprüflings an und werden durch
die ODER-Schaltung 105 und
die Flip-Flop-Schaltung 106 getaktet und als "Fehler" ausgegeben.
-
Das
Schemadiagramm gemäß 9 zeigt den
Aufbau eines erfindungsgemäßen ereignisgestützten Prüfsystems
zum Laden der Ereignisdaten in mehrere Pins. Hierfür sind Pinkarten 1151 bis 115n über einen
Pinbus 113 angeschlossen, wobei jede Pinkarte 115 durch
eine Pinbus-Steuereinheit 112 einzeln
adressierbar ist. Die Pinbus-Steuereinheit 112 ist
mit einem Hauptrechner 111 verbunden, auf dem die Prüfsteuereinheit-Software
läuft.
Die Pinbus-Steuereinheit 112 dient zum Starten und Anhalten
sowie zur Lieferung von Prüfergebnissen,
zum Laden von Ereignisdaten und zur Folgesteuerung der Pins über gemeinsame
Pin-Bussignale. Diese Anordnung ermöglicht es, ein Prüfsystem
für "N" Pins herzustellen.
-
Die
11 bis
13 betreffen
die beim erfindungsgemäßen ereignisgestützten Prüfsystem eingesetzte
Komprimierungs- und Dekomprimierungstechnologie. Genauere Einzelheiten
zu dieser Technologie lassen sich der nachveröffentlichten
DE 100 07 427 A1 desselben
Anmelders entnehmen. Die Zeitsteuerungsgraphik gemäß
11 zeigt
eine Abfolge von Ereignissen T0 bis T10, die durch Zeitsteuerungsdaten
festgelegt sind, welche eine Kombination von Taktzähldaten
und Feinabstimmungsdaten darstellen. Wie bereits erwähnt, geben
die Taktzähldaten
ein ganzzahliges Vielfaches des Referenztaktintervalls des Ereignisses
wieder, während
die Feinabstimmungsdaten einen Bruchteil des Referenztaktintervalls
für das
entsprechende Ereignis angehen.
-
Die
Datentabelle gemäß 12A zeigt die im Ereignisspeicher zur Festlegung
der Ereignisse T0 bis T10 gemäß 11 ohne
Einsatz einer Komprimierungstechnik gespeicherten Zeitsteuerungsdaten.
Wie sich den 6 und 7 entnehmen
läßt, setzt
sich der Ereignisspeicher dabei aus einem Taktzähl-Direktzugriffsspeicher 71 und
einem Feinabstimmungs-Direktzugriffsspeicher 72 zusammen.
Bei den im Taktzählspeicher 71 gespeicherten
Daten kann es sich um beliebige Werte für zwischen 0 und N Referenztaktintervalle
handeln, wobei N für
die Höchstzahl
an Referenztaktintervallen steht, für die das ereignisgestützte Prüfsystem
ausgelegt ist.
-
So
ist beispielsweise bei einem vom selben Anmelder entwickelten ereignisgestützten Prüfsystem
der Taktzählspeicher 71 für bis zu
134.217.728 Takt-intervalle ausgelegt sein, wozu insgesamt 27 Datenbits
für jeden
Speicherplatz im Ereigniszählspeicher
benötigt
werden. Damit beträgt
die Gesamtgröße des Ereigniszählspeichers
in diesem Fall 27 Bits mal M, wobei M die Anzahl der Vektoren (Prüfmusterlänge) des
Prüfsystems
angibt.
-
Wie
bereits erwähnt,
sind im Feinabstimmungsdatenspeicher 72 die Feinverzögerungsdaten (Fein-Zeitsteuerungsdaten)
abgespeichert, die den Bruchteil des Referenztaktintervalls angeben.
Somit betragen diese Daten weniger als einen Referenztaktintervall.
Der Speicher muß dabei
unter Berücksichtigung
der gewünschten
Unterteilung der Feinverzögerung
im jeweiligen Prüfsystem
für einen
vollständigen
Referenztaktintervall groß genug
sein. So muß beispielsweise
bei einem Prüfsystem,
das für
eine Zeittaktauflösung
von nicht mehr als 0,2 ns ausgelegt ist, der Feinabstimmungsdatenspeicher
wenig stens 8 Datenbits umfassen, wenn der Referenztaktintervall
32 ns beträgt.
Beim genannten Beispiel gemäß 12A weist der Feinabstimmungsspeicher 72 eine
Datenbreite von 10 Bits auf, so daß die Gesamtspeichergröße 10 Bits
mal M Vektoren beträgt.
-
Da
die Prüfvektoren
einen großen
Umfang von beispielsweise mehreren Megabytes oder mehreren zehn
Megabytes aufweisen, wird zur Speicherung der Zeitsteuerungsdaten
im Ereignisspeicher in der in der Tabelle gemäß 12A gezeigten
Weise ein Ereignisspeicher mit einer sehr großen Gesamtspeicherkapazität benötigt. Die
Bitzahl zur Angabe der Taktzähldaten
der Ereignisse T0 bis T10 beträgt dabei
beispielsweise 297, während
für die
Speicherung der Feinabstimmungsdaten der Ereignisse T0 bis T10 110
Bits benötigt
werden, so daß sich
eine Gesamtzahl von 407 Bits ergibt.
-
Beim
erfindungsgemäßen ereignisgestützten Prüfsystem
wird zur Verringerung der benötigten Ereignisspeicherkapazität eine Komprimierungs-
und Dekomprimierungstechnologie eingesetzt. Die Datentabelle gemäß
12B zeigt ein Beispiel für komprimierte Zeitsteuerungsdaten,
die die Ereignisse T0 bis T10 gemäß
11 angeben.
Die Anzahl der für die
Taktzähldaten
der Ereignisse T0 bis T10 benötigten
Bits beträgt
hierbei
88, während
für die
Speicherung der Feinabstimmungsdaten 110 Bits notwendig sind, so
daß hier
insgesamt anstelle der 407 Bits gemäß
12A nur
198 Bits benötigt
werden. Bei diesem Beispiel werden die Taktzähldaten durch eine Worteinheit
(8 Bits) ausgedrückt,
wobei je nach der Nummer des Referenztakts bis zu vier Wörter (32 Bits)
verwendet werden. Einzelheiten über
den Aufbau der einzelnen Worte lassen sich der bereits erwähnten nachveröffentlichten
DE 100 07 427 A1 entnehmen.
-
Beim
Beispiel gemäß den 11 und 12 wird davon ausgegangen, daß die Taktzähldaten
des Ereignisses T0 durch ein Wort, das Ereignis T1 durch zwei Wörter, das
Ereignis T2 durch drei Wörter,
das Ereignis T4 durch vier Wörter
und das Ereignis T7 durch ein Wort ausdrücken lassen. Darüber hinaus ist
jedes Ereignis T3, T5, T6, T8, T9 und T10 in 11 kürzer als
ein Referenztaktintervall. Es ist nun möglich, den Gesamtspeicherumfang
des Taktzählspeichers
zu reduzieren, indem die zur Wiedergabe der Taktzähldaten
benötigte
minimale Wortzahl verwendet wird. Bei Ereignissen, die weniger als
einen Referenztakt-intervall benötigten,
lauten die Taktzähldaten "0". Hier ist es nun möglich, die Speichergröße des Taktzählspeichers 71 dadurch
zu verringern, daß diesen
Ereignissen kein Speicherplatz zugewiesen wird, während die
Feinabstimmungsdaten für
diese Ereignisse mit den im Feinabstimmungsdatenspeicher 72 befindlichen
Feinabstimmungsdaten kombiniert werden.
-
Beim
Beispiel gemäß 12B speichert der Feinabstimmungsdatenspeicher 72 vier
(4) Feinabstimmungsdaten pro Taktzählspeicherplatz. Somit besitzt
der Feinabstimmungsdatenspeicher 72 eine Breite von 40
Bits. Dieser Ansatz kann dann sinnvoll sein, wenn ein Prüfvektor
viele Ereignisse umfaßt, die
kürzer
sind als ein Referenztaktintervall. Zudem ermöglicht die Kombination der
Feinabstimmungsdaten von zwei oder mehr Ereignissen einen Betrieb des
Prüfsystems
mit einer Frequenz, die über
der Systemtaktfrequenz liegt, da hier bei jedem Zugriff (Takt) auf
den Ereignisspeicher zwei oder mehr Ereignisse gleichzeitig auf
der Grundlage der Feinab stimmungsdaten erzeugt werden können. Da
das erste Wort jeder Ereigniszähldaten
die Anzahl der zu erzeugenden Ereignisse enthält, ist es möglich, für jedes
momentane Ereignis die korrekten Feinabstimmungsdaten zu identifizieren.
-
In
13 ist
ein Beispiel für
den Schaltungsaufbau der Dekomprimierungseinheit
32 gezeigt,
die zur Dekomprimierung der vom Ereignisspeicher kommenden, mit
Hilfe der erfindungsgemäßen Komprimierungstechnologie
komprimierten Zeitsteuerungsdaten dient. Bei diesem Beispiel werden
alle Komprimierungs- und Dekomprimierungsvorgänge mit Hilfe der Systemsoftware
durchgeführt.
Im folgenden wird die Dekomprimierungseinheit
32 kurz beschrieben;
eine genauere Erläuterung
läßt sich
der bereits erwähnten
nachveröffentlichten
DE 100 07 427 A1 entnehmen.
-
Die
Dekomprimierungseinheit 32 gemäß 13 umfaßt eine
Taktzähl-Ablaufsteuereinheit 121,
eine Lade-/Rückzähleinheit 122,
eine Feinabstimmungs-Ablaufsteuereinheit 123 und eine Speicher-
und Auswahlschaltung 126. Bei diesem Beispiel enthält die Speicher-
und Auswahlschaltung 126 Register 131 bis 134 und
Multiplexer 135 bis 137. Die Taktzähldaten
vom Taktzählspeicher 71 werden
der Taktzähl-Ablaufsteuereinheit 121 und
der Lade-/Rückzähleinheit 122 zugeführt. Wie
unter Bezugnahme auf die 11 und 12 bereits beschrieben wurde, bestehen
die Taktzähldaten
vom Speicher 71 beim bevorzugten Ausführungsbeispiel aus einem, zwei,
drei oder vier Datenwörtern,
wobei jedes Wort aus 8 Bits, d.h. einem Byte, aufgebaut ist. Die
Feinabstimmungsdaten vom Feinabstimmungsdatenspeicher 72 werden
den Registern 131 und 132 in der Speicher- und
Auswahlschaltung 126 zugeführt. Wie ebenfalls bereits
erwähnt
wurde, umfassen die Feinabstimmungsdaten zur Beschreibung von bis
zu vier Feinabstimmungsereignissen beim bevorzugten Ausführungsbeispiel
40 Bits.
-
Wenn
die Taktzähl-Ablaufsteuereinheit 121 die
Taktzähldaten
empfängt,
bestimmt sie die Zahl der Daten-Bytes für jedes Ereignis, indem sie
die höchstwertigen
Bits der Taktzähldaten
abfragt. Auf der Grundlage dieser Bestimmung lädt die Ablaufsteuereinheit 121 die
Datenbytes vom Taktzählspeicher 71 an
den richtigen Speicherplatz der Lade-/Rückzähleinheit 122. Wie
bereits erwähnt,
umfaßt
jedes Datenwort 8 Bits, wobei die Datenbits im ersten Datenwort
anders zugeordnet sind, als im zweiten bis vierten Wort. Die wiederhergestellten
Ereigniszähldaten
werden an die Zeitsteuerungszähl- und
Skalierlogik 33 gesandt.
-
Die
Speicher- und Auswahlschaltung 126 empfängt die aus dem Feinabstimmungsdatenspeicher 72 stammenden
Feinabtimmungsdaten. Bei den genannten Beispielen gemäß der in 12B dargestellten Tabelle umfaßt jeder für vier (4) Feinabstimmungsdaten
ausgelegte Speicherplatz des Feinabstimmungsdatenspeichers 72 40
Bits. Die Feinabstimmungsdaten vom Speicher 72 werden abwechselnd
einem der Register 131 und 132 zugeordnet, wobei
diese verzahnte Operation auch bei einer geringen Zugriffsgeschwindigkeit
des Feinabstimmungsdatenspeichers 72 eine Zufuhr von ausreichenden
Datenmengen zur Zeitsteuerungszähl-
und Skalierlogik 33 ermöglicht.
-
Die
Register 131 und 133 senden die spezifizierten
Feinabstimmungsdaten parallel zum Multiplexer 135, so daß der Multiplexer 135 die
korrekten Feinabstimmungs daten an den Multiplexer 137 in Serie
weiterübertragen
kann. In entsprechender Weise senden die Register 132 und 134 die
spezifizierten Feinabstimmungsdaten parallel zum Multiplexer 136, der
wiederum die korrekten Feinabstimmungsdaten in Serie an den Multiplexer 137 überträgt. Die
genannten Vorgänge
bei der Auswahl der Feinabstimmungsdaten in den Registern 131 bis 134 und
den Multiplexern 135 bis 137 werden durch die
Feinabstimmungs-Ablaufsteuereinheit 123 gesteuert. Die ausgewählten Feinabstimmüngsdaten
werden der Ereigniszähl- und Skalierlogik 33 zugeführt.
-
Die
14 bis
16 betreffen die beim erfindungsgemäßen ereignisgestützten Prüfsystem
eingesetzte Skaliertechnologie. Eine genauere Beschreibung läßt sich
der nachveröffentlichten
DE 100 16 611 A1 desselben
Anmelders entnehmen. Das schematische Blockschaltbild gemäß
14 zeigt ein
Beispiel für
den grundlegenden Aufbau der zur Ereigniszähl- und Skalierlogik
33 gehörenden Skalierlogik.
Ziel der Skalierung ist es, die Zeitsteuerungsdaten proportional
zu einem Skalierfaktor entweder zu vergrößern oder zu verkleinern, ohne
die Zeitsteuerungsdaten im Ereignisspeicher zu verändern.
-
Der
in 14 gezeigte grundlegende Aufbau umfaßt eine
Ereignissummierlogik 142 und eine Ereignisverzögerungs-Skalierlogik 146.
Im wesentlichen entspricht die Ereignissummierlogik 142 dem Schaltdiagramm
gemäß 7 für die Summierung der
Delta-Feinabstimmungsdaten einer Vielzahl von Ereignissen. Die Ereignissummierlogik 142 enthält eine
Ereigniszähl-Verzögerungseinheit 143 und
eine Ereignisfeinabstimmungs-Verzögerungseinheit 144. Bei
der Ereigniszähl-Verzögerungseinheit 143 handelt
es sich im Grunde um einen den Referenztakt zählenden Rückzähler, der einen Zählendwert
erzeugt, wenn von den im Rückzähler vorab
eingestellten Ereigniszähldaten
auf null zurückgezählt wurde. Als
Ereignisfeinabstimmungs-Verzögerungseinheit 144 dient
beispielsweise ein Akkumulator, der die Feinabstimmungsdaten summiert
und ein Übertragsignals
an die Ereigniszähl-Verzögerungseinheit 142 liefert,
wenn die Summe einen Referenztaktzyklus übersteigt, wodurch die Ereigniszählverzögerung um einen
Referenztakt verlängert
wird. Das Zählendsignal
von der Ereigniszähl-Verzögerungseinheit 143 und
die Feinabstimmungssumme (bzw. der Rest) von der Ereignisfeinabstimmungs-Verzögerungseinheit 144 werden
der Ereignis-Verzögerungsskaliereinheit 146 zugeführt.
-
Eine
Multipliziereinheit 148 empfängt den sich ergebenden ganzzahligen
Verzögerungswert von
der Ereigniszähl-Verzögerungslogik 143.
Der ganzzahlige Verzögerungswert
wird in der Multipliziereinheit 148 mit dem Skalierfaktor
multipliziert. Eine Multipliziereinheit 149 empfängt den
sich ergebenden Feinabstimmungs-Verzögerungswert von der Ereignisfeinabstimmungs-Verzögerungslogik 144 und
multipliziert diesen mit dem Skalierfaktor. Die skalierten Ergebnisse
von beiden Multipliziereinheiten 148 und 149 werden
durch einen Addierer 147 addiert, wobei eine ganze Zahl
im Ergebnis der Feinabstimmungsskalierung vom Addierer 147 zum ganzzahligen
Verzögerungsteil
der Ereigniszählverzögerung addiert
werden muß.
Danach werden der ganzzahlige Verzögerungsteil und der Bruch-Verzögerungsteil
vom Ausgang des Addierers 147 der Ereignis-Erzeugungseinheit 34 zugeführt.
-
In
15 ist
ein spezifisches Beispiel einer Skalierlogik dargestellt, bei der
ein Skalierfaktor zur Multiplizierung der Zeitsteuerungsdaten eingesetzt wird.
Im folgenden wird die Ausführung
gemäß
15 kurz
erläutert,
wobei sich eine genauere Beschreibung wiederum der bereits erwähnten nachveröffentlichten
DE 100 16 611 A1 entnehmen
läßt. Eine
teilweise der Ereigniszähl-Verzögerungseinheit
143 in
der Ereignissummierlogik
142 gemäß
14 entsprechende
Ereigniszähl-Ablaufsteuerung
151 erzeugt
ein Datengültigkeits-Freigabesignal
auf der Grundlage eines ganzzahligen Teils der für alle vorherigen Ereignisse
akkumulierten Verzögerungsdaten,
während
ein Register
152 zur Speicherung des Skalierfaktors dient.
-
Das
Ausführungsbeispiel
gemäß 15 umfaßt im wesentlichen
eine Ereigniszähl-Skaliereinheit,
eine Ereignisfeinabstimmungs-Skaliereinheit und eine Ereignisskalier-Ausgabeeinheit.
Die Ereigniszähl-Skaliereinheit
entspricht dabei in etwa der Multipliziereinheit 148 gemäß 14,
während
die Ereignisfeinabstimmungs-Skaliereinheit in etwa mit der Multipliziereinheit 149 in 14 zu
vergleichen ist und die Ereignisskalier-Ausgabeeinheit in etwa dem
Addierer 147 gemäß 14 entspricht.
Das von der Ablaufsteuerung 151 auf der Grundlage der akkumulierten
Ereigniszähldaten
erzeugte Datengültigkeits-Freigabesignal
wird über
ein Register 159 und eine Flip-Flop-Schaltung 161 an
die Ereignisskalier-Ausgabeeinheit gesandt und bewirkt so die Erzeugung
eines Ereignisstartsignals. Darüber
hinaus erzeugt die Ereignisskalier-Ausgabeeinheit auch Ereignisfeinabstimmungsdaten
(Feinabstimmungssumme), die den Bruch-Datenteil des Ereignisses
bilden, bei dem es sich um eine Verzögerungszeitsteuerung relativ
zum Ereignisstartsignal handelt.
-
Der
Skalierfaktor wird vom Register 152 sowohl der Ereigniszähl-Skaliereinheit
als auch der Ereignisfeinabstimmungs-Skaliereinheit zugeführt, wie sich
dies 15 entnehmen läßt. Die
Ereigniszähl-Skaliereinheit
umfaßt
einen Skalierzähler 153 und
einen durch einen Addierer 154 und ein Register 155 gebildeten
Akkumulator. Die Ereignisfeinabstimmungs-Skaliereinheit enthält eine
Multipliziereinheit 157 und ein Register 158,
während
die Ereignisskalier-Ausgabeeinheit einen Addierer 162,
eine Flip-Flop-Schaltung 163 und eine Ablaufsteuerung 164 enthält. Obwohl
dies in der Zeichnung nicht ausdrücklich dargestellt ist, wird
der Referenztakt üblicherweise
allen in 15 gezeigten Schaltungsbauteilen
zugeführt.
-
Bei
diesem Beispiel empfängt
der Addierer 154 für
die Ereigniszähl-Skalierung
den Bruch-Bestandteil des Skalierfaktors, während der ganzzahlige Bestandteil
des Skalierfaktors dem Skalierzähler 153 zugeführt wird.
Für die
Ereignisfeinabstimmungs-Skalierung wird hingegen der gesamte Wert (d.h.
der ganzzahlige Bestandteil und der Bruch-Bestandteil) des Skalierfaktors
der Multipliziereinheit 157 zugeführt. Die aus dem Ereignisfeinabstimmungsspeicher
stammenden Feinabstimmungsdaten werden ebenfalls der Multipliziereinheit 157 zugeführt, wo
sie mit dem Skalierfaktor multipliziert werden.
-
Der
ganzzahlige Bestandteil des Skalierfaktors dient dazu, den Skalierzähler 153 vorab
so einzustellen, daß der
Skalierzähler 153 jedesmal
einen Zählend-Impuls
(TC-Impuls) erzeugt, wenn der gezählte Wert dem eingestellten
Wert entspricht. Wenn also beispielsweise der ganzzahlige Bestandteil
des Skalierfaktors "3" lautet, so erzeugt
der Skalierzähler 153 jedesmal
einen Zäh lend-Impuls,
wenn er drei Impulse des Referenztakts gezählt hat. Der Zählend-Impuls
wird der Ereigniszähl-Ablaufsteuerung 151 als
Taktfreigabesignal zugeführt,
wobei diese das Datengültigkeits-Freigabesignal
erzeugt, wenn die Anzahl der Zählend-Impulse
den in der Ablaufsteuerung 151 festgelegten akkumulierten
Ereigniszählwert
erreicht.
-
Der
vom Skalierzähler 153 gelieferte
Zählend-Impuls
wird zudem auch den Registern 155 und 158 zugeführt. Da
das Register 155 und der Addierer 154, wie erwähnt, den
Akkumulator bilden, wird hier der Bruch-Bestandteil des Skalierfaktors
jeweils zu den vorherigen Bruch-Bestandteilen hinzuaddiert, wenn
das Register 155 den Zählend-Impuls empfängt. Wenn
der akkumulierte Bruch-Bestandteil eine ganze Zahl, etwa "1", und damit die Länge eines Referenztaktzyklus übersteigt,
empfängt
der Skalierzähler 153 ein
entsprechendes Übertragsignal,
wodurch vor der Erzeugung des Zählend-Impulses
noch eine zusätzliche
Verzögerung
von der Länge
eines Referenztaktzyklus zur Verzögerungszeit addiert wird.
-
Bei
der Ereignisfeinabstimmungs-Skalierung überträgt das Register 158 den
Feinabstimmungswert, der durch Multiplizieren der Feinabstimmungsdaten
mit dem Skalierfaktor erzeugt wurde, an den Addierer 162 in
der Ereignisskalier-Ausgabeeinheit. Der Addierer 162 der
Ereignisskalier-Ausgabeeinheit addiert nun den akkumulierten Bruch-Bestandteil vom
Register (Akkumulator) 155 zu den skalierten Feinabstimmungsdaten
vom Register 158. Falls das Ergebnis der Summierung einen Überlauf
erzeugt, d.h. eine ganze Zahl enthält, wird das höchstwertige Bit
(MSB), das einer solchen ganzen Zahl entspricht, der Ablaufsteuerung 164 zugeführt, um
eine durch die ganze Zahl festgelegte zusätzliche Verzögerung zur
Verzögerungszeit
hinzuzuaddieren. Auf der Grundlage der durch die zusätzliche
Verzögerung festgelegten
Zeitsteuerung gibt die Ablaufsteuerung 164 das Datengültigkeits-Freigabesignal
bzw. ein Ereignisstartsignal aus, das der Ereignis-Erzeugungseinheit 34 zugeführt wird.
Der von der Ereignisskalier-Ausgabeeinheit erzeugte Bruch-Bestandteil
des skalierten Ereignisfeinabstimmungswerts wird ebenfalls der Ereignis-Erzeugungseinheit 34 zugeführt.
-
Das
erfindungsgemäße ereignisgestützte Halbleiterprüfsystem
ist in der Lage, die Prüf-
und Strobe-Signale zur Bewertung des Halbleiterbauteils auf der
Grundlage von im Ereignisspeicher gespeicherten Ereignisdaten zu
erzeugen. Die Zeitsteuerung der einzelnen Ereignisse wird dabei
durch einen zeitlichen Abstand zum gemeinsamen Referenzpunkt (Absolutzeit)
oder zum letzten Ereignis (Deltazeit) festgelegt. Die Prüf- und Strobesignale
werden auf der Grundlage von Ereignisinformationen erzeugt, deren
Deltazeit zum vorhergehenden Ereignis durch eine Kombination eines
ganzzahligen Vielfachen des Referenztaktintervalls mit einem Bruchteil des
Referenztaktintervalls gebildet wird.
-
Das
erfindungsgemäße ereignisgestützte Halbleiterprüfsystem
ist in der Lage, Prüf-
und Strobe-Signale direkt unter Verwendung von Zeitsteuerungsdaten
des Ereignisspeichers zu erzeugen und zur Erzeugung von Prüf- und Strobe-Signalen
Daten direkt einzusetzen, die durch eine Prüfbank eines CAD-Systems in
der Entwicklungsphase des Halbleiterbauteilprüflings gewonnen wurden.