-
Heutige
elektronische Vorrichtungen müssen oft
eines oder mehrere Signalverlaufssignale als ein Teil der Funktionalität derselben
erzeugen. Ein Signalverlaufsgenerator kann zum Beispiel konfiguriert sein,
um eine jegliche Anzahl von unterschiedlichen Signalverläufen zu
erzeugen, die durch die Vorrichtung ausgegeben werden können. Als
ein anderes Beispiel können
automatische Integrierte-Schaltung-Tester, wie beispielsweise die
Agilent 93000 SOC Series Automated Tester Environment (ATE), hergestellt
durch Agilent Technologies, Inc. aus Palo Alto, CA, eine Erzeugung
von Signalverlaufssignalen an verschiedenen Anschlussstiften des
Testers für eine
Anlegung an Anschlussstifte oder Anschlussflächen eines Integrierte-Schaltung-Testobjekts
(DUT = device under test) erfordern.
-
Elektronische
Vorrichtungen, die Signalverlaufssignale erzeugen, speichern oft
Darstellungen der Signalverlaufssignale (hierin im Folgenden als „Signalverläufe" bezeichnet) in zweckgebundenen Signalverlaufsregistern
oder einem Speicher (hierin im Folgenden kollektiv als „Signalverlauftabelle" bezeichnet). Ein
Speicher ist immer ein begrenzender Faktor bei der Anzahl von Signalverläufen, die
in der Signalverlauftabelle gespeichert sein können. Deshalb ist die Anzahl
von Registern oder Positionen in einem Speicher (hierin im Folgenden
kollektiv als „Signalverlauftabelleneinträge" bezeichnet), die
zu einem Speichern von Signalverläufen verfügbar ist, begrenzt. Kosten
und eine Geschwindigkeit sind begrenzende Faktoren bei der Größe der Signalverlauftabelle.
Typischerweise ist ein schneller Speicher für eine Signalverlauferzeugungsschaltungsanordnung erforderlich
und ein schneller Speicher ist teurer. Folglich besteht eine häufige Lösung darin,
einfach die An zahl von Signalverläufen zu begrenzen, die durch
die Hardware erzeugt werden kann.
-
Es
gibt jedoch Situationen, in denen es erwünscht sein kann, in der Lage
zu sein, die Anzahl von Signalverläufen, die durch ein Testprogramm verfügbar sind, über eine
begrenzte Anzahl von Signalverläufen,
die durch die Hardware erzeugt werden kann, hinaus auszudehnen.
Bei einem Integrierte-Schaltung-Tester zum Beispiel erzeugt eine
Testsoftware Testprogramme, die durch Testerressourcen bzw. Testerbetriebsmittel
ausgeführt
werden können,
um Signalverläufe
an verschiedenen Anschlussstiften des Testers für eine Anlegung an Anschlussstifte
und Anschlussflächen
einer zu testenden integrierten Schaltung zu erzeugen, um verschiedene
Aspekte der integrierten Schaltung zu testen. Da jedoch die Signalverlauftabelle
lediglich eine begrenzte Anzahl von Signalverläufen speichern kann und die
Signalverläufe
für eine
Erzeugung der Signalverläufe
an den Testeranschlussstiften verfügbar sein müssen, begrenzt die Testsoftware
typischerweise die Anzahl von Signalverläufen, die irgendein gegebenes
Testprogramm, das durch die Testsoftware erzeugt wird, definieren
kann, auf die Anzahl von verfügbaren
Signalverlauftabelleneinträgen.
Es wäre
jedoch bei vielen Anwendungen, zum Beispiel bei Speichertestanwendungen,
erwünscht, in
der Lage zu sein, eine Anzahl von Signalverläufen zu erzeugen, die die Anzahl
von Signalverläufen überschreitet,
die durch die Größe der Signalverlauftabelle
begrenzt ist. Gegenwärtig
gibt es keine Technik für
eine derartige Ausdehnung, ohne die Hardware zu ändern.
-
Es
ist die Aufgabe der vorliegenden Erfindung, eine Vorrichtung, ein
Verfahren zum dynamischen Verwalten eines Ladens einer Mehrzahl
von Signalverläufen
zu einer Signalverlauftabelle und ein computerlesbares Speicherungsmedium
mit verbesserten Charakteristika zu schaffen.
-
Diese
Aufgabe wird durch eine Vorrichtung gemäß Anspruch 1, ein Verfahren
gemäß Anspruch 8
und ein Medium gemäß Anspruch
14 gelöst.
-
Die
vorliegende Erfindung ist ein Verfahren und ein System zum Vergrößern der
Anzahl von Signalverläufen,
die durch eine Vorrichtung erzeugt werden kann, die durch eine begrenzte
Signalverlaufspeicherkapazität
gekennzeichnet ist.
-
Gemäß der Erfindung
ist eine elektronische Vorrichtung, die eine Anwendung ausführt, die
die Verwendung von Signalverläufen
erfordert, auf die aus einer Signalverlauftabelle zugegriffen wird,
die durch eine begrenzte Anzahl von Einträgen gekennzeichnet ist, mit
einer dynamischen Signalverlaufsverwaltungseinrichtung und Anwendungsrichtlinien konfiguriert,
die Signalverlaufsequenzierungsinformationen enthalten, die für die Anwendung
spezifisch sind. Die Anwendung kann irgendeine Anzahl von Signalverläufen verwenden,
die typischerweise in einem Speicher gespeichert sind, der von der
Signalverlauftabelle getrennt ist. Die Anwendung erfordert, dass
ein Signalverlauf in die Signalverlauftabelle vor der Verwendung
derselben des speziellen Signalverlaufs geladen wird. Die dynamische
Signalverlaufsverwaltungseinrichtung der Erfindung überwacht
die Ausführung
der Anwendung und verwaltet ein Laden und Entladen von Signalverläufen, die durch
die Anwendung benötigt
werden, in die und aus der Signalverlauftabelle, derart, dass jeder
Signalverlauf, der durch die Anwendung benötigt wird, bevor und zumindest
zu der Zeit, zu der derselbe durch die Anwendung benötigt wird,
in der Signalverlauftabelle geladen ist. Die dynamische Signalverlaufsverwaltungseinrichtung
greift auf die Anwendungsrichtlinien zu, um auf die Signalverlaufsequenzierungsinformationen,
die für
die Anwendung spezifisch sind, für
eine Verwendung bei einem Bestimmen Bezug zu nehmen, wann und welche
Signalverläufe
zu und von der Signalverlauftabelle zu laden und zu entladen sind.
-
Ein
vollständigeres
Verständnis
dieser Erfindung und vieler der zugehörigen Vorteile derselben wird
ohne weiteres ersichtlich, wenn dieselbe durch Bezugnahme auf die
folgende detaillierte Beschreibung in Verbindung mit den zugehörigen Zeichnungen,
in denen gleiche Bezugszeichen die gleichen oder ähnliche
Komponenten angeben, klarer wird.
-
Bevorzugte
Ausführungsbeispiele
der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf
die beiliegenden Zeichnungen näher
erläutert.
Es zeigen:
-
1 ein
Blockdiagramm einer elektronischen Vorrichtung, dass die Erfindung
darstellt;
-
2 ein
Flussdiagramm, das einen Prozess zum Erzeugen von Anwendungsrichtlinien
darstellt;
-
3 ein
Flussdiagramm, das ein Verfahren darstellt, das durch die dynamische
Signalverlaufsverwaltungseinrichtung der Erfindung durchgeführt wird;
-
4 ein
schematisches Blockdiagramm eines bevorzugten Ausführungsbeispiels
eines automatischen Testsystems, das die Erfindung verwendet;
-
5 ein
Sequenzdiagramm eines beispielhaften Anwendungsprogramms;
-
6 ein
Flussdiagramm eines Betriebsverfahrens eines Anwendungsanalysators,
der Anwendungsrichtlinien für
das System von 4 erzeugt;
-
7 eine
beispielhafte Signalverlaufsliste, die durch eine Anwendung des
Anwendungsanalysatorverfahrens erzeugt wurde, das in 6 umrissen ist;
und
-
8 ein
Flussdiagramm eines Betriebsverfahrens der dynamischen Signalverlaufsverwaltungseinrichtung
von 4.
-
Unter
jetziger Bezugnahme auf die Zeichnungen zeigt 1 ein
Blockdiagramm einer elektronischen Vorrichtung 1, die einen
Prozessor 2 und einen Speicher 3 aufweist. Der
Speicher 3 speichert eine Anwendung 4, eine Signalverlauftabelle 5,
eine dynamische Signalverlaufsverwaltungseinrichtung 6, Anwendungsrichtlinien 7 und
wahlweise einen allgemeinen Speicher 8a und/oder einen
Anwendungsanalysator 9a.
-
Die
Anwendung 4 weist Programmanweisungen auf, die durch den
Prozessor 2 ausführbar sind,
der eine Verwendung von Signalverläufen erfordert. Die Signalverlauftabelle 5 speichert
Signalverläufe,
die durch die Anwendung 4 verwendet werden sollen, und
ist durch eine begrenzte Anzahl von Signalverlaufeinträgen zum
Speichern von Signalverläufen
gekennzeichnet. Die Anwendung 4 erfordert, dass ein Signalverlauf
vor dem Bedarf der Anwendung nach dem speziellen Signalverlauf in
die Signalverlauftabelle 5 geladen wird. Folglich ist eine
dynamische Signalverlaufsverwaltungseinrichtung 6, die Programmanweisungen
aufweist, die durch den Prozessor 2 ausführbar sind,
vorgesehen, um die Ausführung
der Anwendung 4 durch den Prozessor 2 zu überwachen
und ein Laden und Entladen von Signalverläufen, die durch die Anwendung 4 benötigt werden,
in die und aus der Signalverlauftabelle 5 zu verwalten,
derart, dass jeder Signalverlauf, der durch die Anwendung 4 benötigt wird,
in die Signalverlauftabelle 5 geladen wird, wenn derselbe
durch die Anwendung 4 benötigt wird. Die Anwendungsrichtlinien 7 speichern
Signalverlaufsequenzierungsinformationen, die für die Anwendung 4 spezifisch
sind und die durch die dynamische Signalverlaufsverwaltungseinrichtung 6 bei
einem Bestimmen verwendet werden, wann und welche Signalverläufe zu und
von der Signalverlauftabelle 5 zu laden und zu entladen
sind.
-
Wenn
die Anwendung 4 eine Verwendung von mehr Signalverläufen als
verfügbare
Signalverlaufseinträge
in der Signalverlauftabelle 5 erfordert, werden Signalverläufe, die
nicht in der Signalverlauftabelle 5 geladen sind, in einem
Speicher 8a oder 8b gespeichert. Typischerweise
ist der Speicher 8a oder 8b ein langsamerer Speicher,
der innerhalb (Speicher 8a) oder entfernt von (Speicher 8b)
der elektronischen Vorrichtung 1 liegen kann. Ob derselbe
innerhalb oder getrennt von der elektronischen Vorrichtung 1 liegt,
kann die dynamische Signalverlaufsverwaltungseinrichtung 6 ein
Laden und Entladen von Signalverläufen zwischen dem Speicher 8a oder 8b und
der Signalverlauftabelle 5 beeinflussen, wie es erforderlich
ist.
-
Ein
Anwendungsanalysator 9a oder 9b erzeugt die Anwendungsrichtlinien 7.
Bei einem Ausführungsbeispiel
liegt der Anwendungsanalysator 9a in dem Speicher 3 der
Vorrichtung. Bei einem alternativen Ausführungsbeispiel liegt der Anwendungsanalysator 9b außerhalb
der elektronischen Vorrichtung 1 und wird durch ein entferntes
System (nicht gezeigt) ausgeführt.
Falls dieselbe entfernt ausgeführt wird,
kann die Anwendung 4 (oder eine Kopie derselben) auf das
entfernte System für
eine Analyse geladen werden, derart, dass der Anwendungsanalysator 9b nicht
tatsächlich
auf die elektronische Vorrichtung 1 zugreift.
-
2 ist
ein Flussdiagramm, das ein exemplarisches Ausführungsbeispiel 10 eines
Prozesses genau schildert, der durch einen Anwendungsanalysator 9a oder 9b ausgeführt wird,
der gemäß der Erfindung
implementiert ist, der Anwendungsrichtlinien 7 erzeugt,
die für
eine Verwendung durch eine dynamische Signalverlaufsverwaltungseinrichtung 6 geeignet
sind, um die Anzahl von Signalverläufen zu vergrößern, die
durch ein Anwendungsprogramm 4 verwendbar sind. Wie es
in 2 dargestellt ist, erhält der Anwendungsanalysator 10 einen
Zugriff auf das interessierende Anwendungsprogramm 4 (Schritt 11).
Bei dem darstellenden Ausführungsbeispiel
muss der Anwendungsanalysator 10 in der Lage sein, die
Sequenz von Signalverläufen
zu bestimmen, die durch das Anwendungsprogramm 4 während einer
Ausführung
des Anwendungsprogramms 4 verwendet wird. Der Anwendungsanalysator 10 erzeugt
dann eine Liste von unverarbeiteten Signalverläufen, die durch das Anwendungsprogramm 4 verwendet
werden sollen (Schritt 12). Bei dem bevorzugten Ausführungsbeispiel
werden Signalverläufe
zu der Liste in der Reihenfolge hinzugefügt, in der dieselben durch
den Anwendungsanalysator 10 entdeckt werden. Wenn die Liste
einmal erzeugt ist, wird eine Bestimmung vorgenommen (Schritt 13),
ob die Anzahl von Signalverläufen,
die durch das Anwendungsprogramm 4 benötigt wird, die maximale Anzahl
von Signalverläufen überschreitet,
die durch die Systemhardware begrenzt ist (zum Beispiel die Anzahl
von verfügbaren
Einträgen
in der Signalverlauftabelle 5 in 1). Falls
die Anzahl von Signalverläufen,
die durch das Anwendungsprogramm 4 benötigt wird, die maximale Anzahl
von Signalverläufen
nicht überschreitet,
die durch die Systemhardware begrenzt ist, gibt es ausreichende
Ressourcen, um das interessierende Anwendungsprogramm 4 auszuführen, und
keine weitere Analyse ist erforderlich. Falls jedoch die Anzahl
von Signalverläufen,
die durch das Anwendungsprogramm 4 benötigt wird, die maximale Anzahl
von Signalverläufen, die
durch die Systemhardware begrenzt ist, überschreitet, ist eine weitere
Analyse erforderlich.
-
Zu
diesem Zweck wird die Signalverlaufliste (die in Schritt 12 erzeugt
wird) Signalverlauf für
Signalverlauf verarbeitet, um die relative Sequenz der ersten und
der letzten Verwendung des Signalverlaufs durch das Anwendungsprogramm 4 zu
bestimmen. Folglich wird beginnend bei dem ersten entdeckten Signalverlauf
in der Signalverlaufliste jeder Signalverlauf wie folgt verarbeitet:
Eine Bestimmung wird vorgenommen (Schritt 14), ob irgendwelche
unverarbeiteten Signalverläufe
in der Signalverlaufliste (die in Schritt 12 erzeugt wird)
verbleiben, um verarbeitet zu werden. Falls dem so ist, wird einer
der verbleibenden unverarbeiteten Signalverläufe in der Liste für ein Verarbeiten
ausgewählt (und
für eine
Kenntnisnahme bei weiteren Durchläufen als verarbeitet markiert)
(Schritt 15). Bei dem bevorzugten Ausführungsbeispiel werden die Signalverläufe in einer
sequenziellen Reihenfolge einer Entdeckung verarbeitet. Der Anwendungsanalysator 10 bestimmt
dann die erste Verwendung des ausgewählten Signalverlaufs (Schritt 16)
durch das Anwendungsprogramm. Der Anwendungsanalysator 10 bestimmt
dann die letzte Verwendung des ausgewählten Signalverlaufs (Schritt 17).
Ein Verarbeiten der Signalverlaufliste (die in Schritt 12 erzeugt
wird) wird wiederholt (durch ein Wiederholen der Schritte 14–18),
bis jeder Signalverlauf in der Signalverlaufliste durch den Anwendungsanalysator 10 verarbeitet
wurde. Auf einem Abschluss einer Verarbeitung hin enthält die Signalverlaufliste
die Signalverlaufsverwendungs- und -sequenzierungsinformationen,
die durch die dynamische Signalverlaufsverwaltungseinrichtung 6 zum dynamischen
Verwalten eines Ladens und Entladens von Signalverläufen in
die und aus der Signalverlauftabelle 5 benötigt werden.
-
3 ist
ein Flussdiagramm, das ein exemplarisches Ausführungsbeispiel 20 der
dynamischen Signalverlaufsverwaltungseinrichtung 6 der
Erfindung genau schildert, die ein Laden und Entladen von Signalverläufen, die
durch ein Anwendungsprogramm 4 benötigt werden, in die und aus
der Signalverlauftabelle 5 während einer Ausführung der
Anwendung 4 dynamisch verwaltet. Bei diesem Ausführungsbeispiel 20 greift
die dynamische Signalverlaufsverwaltungseinrichtung 6 auf
die Anwendungsrichtlinien 7 zu, um die ersten m Signalverläufe auszuwählen (Schritt 21),
die in die Signalverlauftabelle 5 geladen werden sollen,
bestimmt auf einer Basis einer ersten Verwendung (Schritt 22).
Bei dem darstellenden Ausführungsbeispiel
ist m auf die maximale Anzahl von Signalverlauftabelleneinträgen gesetzt. Die
dynamische Signalverlaufsverwaltungseinrichtung 6 überwacht
eine Ausführung
der Anwendung 4 (Schritt 23) und prüft, um zu
bestimmen (Schritt 24), ob der Lebenszyklus irgendeines
der Signalverläufe, die
aktuell in der Signalverlauftabelle 5 geladen sind, abgeschlossen
ist (basierend auf den Informationen einer letzten Verwendung, die
dem Signalverlauf zugeordnet sind, wie in den Anwendungsrichtlinien 7 enthalten).
Falls der Lebenszyklus irgendeines der aktuell geladenen Signalverläufe abgeschlossen
ist, greift die dynamische Signalverlaufsverwaltungseinrichtung 6 auf
die Anwendungsrichtlinien 7 zu, um den nächsten Signalverlauf
zu bestimmen und auszuwählen,
der durch die Anwendung 4 verwendet wird (Schritt 25).
Die dynamische Signalverlaufsverwaltungseinrichtung 6 bewirkt
dann ein Laden des ausgewählten
nächsten
Signalverlaufs in den Eintrag der Signalverlauftabelle 5,
der aktuell durch den Signalverlauf eingenommen ist, dessen Lebenszyklus dieselbe
als gerade abgeschlossen bestimmt hat (Schritt 26). Die
dynamische Signalverlaufsverwaltungseinrichtung 6 bestimmt
dann, ob irgendein Signalverlauf, dessen Lebenszyklus nicht abgeschlossen
ist, verbleibt, um geladen zu werden (Schritt 27). Falls
nicht, fährt
die dynamische Signalverlaufsverwaltungseinrichtung 6 fort,
den Fortschritt der Anwendung 4 zu überwachen, und der Algorithmus
wiederholt sich (einschließlich
der Schritte 23 bis 27), bis die Lebenszyklen
aller Signalverläufe,
die durch die Anwendung 4 benötigt werden, entweder abgeschlossen
sind oder der Signalverlauf aktuell geladen ist.
-
4 ist
ein schematisches Blockdiagramm, das eine spezifische Anwendung
der Erfindung darstellt. Bei diesem Ausführungsbeispiel umfasst ein Testsystem 100 einen
Testkopf 110 mit zentralen Testressourcen und eine Mehrzahl
von unabhängigen zweckgebundenen
Anschlussstiftverarbeitungsressourcen 120a, 120b,
..., 120n, von denen jede einen jeweiligen Testeranschlussstift 122a, 122b,
..., 122n treibt. Das Testsystem 100 ist entworfen,
um ein Testobjekt (DUT = device under test) 160 zu testen,
wie beispielsweise eine integrierte Schaltung oder ein System auf
einem Chip (SOC = system-on-a-chip). In Betrieb stellen die Testeranschlussstifte 122a, 122b, ..., 122n einen
Kontakt mit Anschlussstiften oder Anschlussflächen 162a, 162b,
..., 162n des DUT 160 her. Signale können über die
Testeranschlussstifte 122a, 122b, ..., 122n unter
der Steuerung des Testsystems 100 zu den DUT-Anschlussstiften
oder -Anschlussflächen 162a, 162b,
..., 162n getrieben werden (oder von den DUT-Anschlussstiften
oder -Anschlussflächen 162a, 162b,
..., 162n empfangen werden).
-
Wie
es dargestellt ist, basiert das Testsystem 100 auf einer
Testprozessor-Pro-Anschlussstift-Architektur. Jeder Anschlussstift 122a, 122b,
..., 122n weist eigene zweckgebundene Anschlussstiftverarbeitungsressourcen 120a, 120b,
..., 120n desselben auf, von denen jede einen unterschiedlichen
jeweiligen DUT-Anschlussstift 162a, 162b, ..., 162n treibt (oder
ein Eingangssignal von demselben empfängt), wie eben beschrieben.
Jede Anschlussstiftverarbeitungsressource 120a, 120b,
..., 120n umfasst identische Komponenten. Die Anschlussstiftverarbeitungsressource 120a ist
detailliert dargestellt und somit soll die vorliegende Erörterung
insbesondere auf die Anschlussstiftverarbeitungsressource 120a begrenzt sein,
aber gilt gleichermaßen
für jede
andere unabhängige
Anschlussstiftverarbeitungsressource 120b, ..., 120n und
ihre jeweiligen identischen Komponenten.
-
Unter
jetziger Bezugnahme auf die Architektur der Anschlussstiftverarbeitungsressource 120a, umfasst
die Anschlussstiftverarbeitungsressource 120a einen unabhängigen Prozessor 140,
einen Speicher 130 und einen Wellengenerator 150.
Der Speicher 130 speichert alle Daten, auf die zugegriffen
werden soll, und alle Programmanweisungen, die durch den Prozessor 140 ausgeführt werden
sollen. Insbesondere umfasst der Speicher 130 einen Vektorspeicher 131 zum
Speichern von Datenvektoren, eine Signalverlaufspeichertabelle 132 zum
Speichern von Signalverläufen
und ein Sequenziererprogramm 133, das Prozessoranweisungen
zum Sequenzieren der Signalverläufe,
die in der Signalverlaufspeichertabelle 132 gespeichert
sind, zu dem Wellengenerator 150 implementiert.
-
Die
Anschlussstiftverarbeitungsressourcen 120a, 120b,
..., 120n umfassen vorzugsweise ebenfalls eine Empfangsmodusschaltungsanordnung, aber
diese Details wurden weggelassen, da dieselben durch den Betrieb
der Erfindung nicht verwendet werden noch denselben beeinflussen.
-
Die
zentralen Testressourcen 110 umfassen Systemsteuerressourcen 112 und
einen Taktgenerator 114. Die Systemsteuerressourcen 112 sind
in Verbindung mit dem Taktgenerator 114 wirksam, um das Sequenziererprogramm 133,
Datenvektoren in den Vektorspeicher 131 und Signalverläufe in die
Signalverlaufspeichertabelle 132 in dem Speicher 130 von jeweiligen
Anschlussstiftverarbeitungsressourcen 120a, 120b,
..., 120n zu laden. Weil jeder Anschlussstift 122a, 122b,
..., 122n eine eigene zweckgebundene Anschlussstiftverarbeitungsressource 120a, 120b,
..., 120n desselben aufweist, kann ein unabhängiges Sequenzierungsprogramm 133,
das einen unabhängigen
Satz von Datenvektoren und Signalverläufen verwendet, an jedem Anschlussstift 122a, 122b,
..., 122n ausgeführt
werden. Somit können
die Anschlussstiftverarbeitungsressourcen 120a, 120b, ..., 120n jeweilige
Signale zu und von den jeweiligen Anschlussstiften 122a, 122b,
..., 122n unabhängig treiben
(und empfangen), um einen Test des DUT 160 durchzuführen, wie
es durch die Teststeuerung 170 bestimmt ist.
-
Die
Testersteuerung 170 umfasst einen Prozessor 190 und
einen Speicher 180. Der Speicher 180 speichert
eine Testeinrichtungssoftware bzw. Testeinstellungssoftware 181,
ein Testprogramm (Testprogramme) 182, das (die) durch die
Testeinrichtungssoftware 181 erzeugt wird (werden), und
eine dynamische Signalverlaufsverwaltungseinrichtung 183.
Die Teststeuerung 170 speichert ferner eine lokale Signalverlaufspeichertabelle 184,
vorzugsweise in einem schnellen Speicher. Die Testeinrichtungshardware 181 erzeugt
ein Testprogramm (Testprogramme) 182, das (die) eine Verwendung
von Signalverläufen
umfasst (umfassen), die zu den Signalverlaufspeichertabellen 132 der
geeigneten Anschlussstift verarbeitungsressourcen 120a, 120b,
..., 120n des Testers 100 heruntergeladen werden.
Während einer
Ausführung
eines Programms durch den Prozessor 190 muss irgendein
Signalverlauf, der durch das Testprogramm 182 verwendet
wird, in die Signalverlauftabelle 132 geladen werden, die
der geeigneten Anschlussstiftverarbeitungsressource 120a, 120b,
..., 120n derselben zugeordnet ist. Für ein leichtes Verständnis bezieht
sich die folgende Erörterung
auf eine einzige Anschlussstiftverarbeitungsressource 120 und
ihre Signalverlauftabelle 132 sowie die lokale Kopie 184 der
Signalverlauftabelle 132, die auf der Teststeuerung 170 liegt.
Es ist jedoch klar, dass die dynamische Signalverlaufsverwaltungseinrichtung 183 Signalverläufe unabhängig verwaltet, die
durch jede der Anschlussstiftverarbeitungsressourcen 120a, 120b,
..., 120n verwendet werden, wobei eine unabhängige aktualisierte
Kopie der jeweiligen Signalverlauftabellen 132 derselben
beibehalten wird.
-
Unter
erneuter Bezugnahme auf die Verwaltung von Signalverläufen für die Anschlussstiftverarbeitungsressource 120a,
behält
die dynamische Signalverlaufsverwaltungseinrichtung 183 eine
lokale Kopie 184 der Signalverlauftabelle 132 in
der Anschlussstiftverarbeitungsressource 120a bei. Die dynamische
Signalverlaufsverwaltungseinrichtung 183 weist Programmanweisungen
für eine
Ausführung
durch den Prozessor 190 zum Verwalten des Ladens und Entladens
von Signalverläufen
zu und von der lokalen Signalverlauftabelle 184, die in
der Teststeuerung 170 liegt, die der Signalverlauftabelle 132 der
Anschlussstiftverarbeitungsressource 120a zugeordnet ist,
und einen allgemeinen Speicher 186 auf, der in der Teststeuerung 170 oder
entfernt von der Steuerung 170 liegen kann.
-
Die
dynamische Signalverlaufsverwaltungseinrichtung 183 überwacht
eine Ausführung
des Testprogramms 182 durch den Prozessor 190 und
zusammen mit den Signalverlaufsequenzierungsinformationen, die in
den Anwendungsrichtlinien 185 enthalten sind, die dem Testprogramm 182 zugeordnet sind, bestimmt
die dynamische Signalverlaufsverwaltungseinrichtung 183,
wann und welche Signalverläufe
aus dem allgemeinen Speicher 186 in die lokale Signalverlauftabelle 184 zu
laden sind und welche Signalverläufe
aus der lokalen Signalverlaufspeichertabelle 184 während einer
Testausführung
zu entladen sind.
-
Ein
Anwendungsanalysator 186 wird vorzugsweise verwendet, um
die Anwendungsrichtlinien 185 für ein gegebenes Testprogramm 182 zu
erzeugen. Die Anwendungsrichtlinien 185 können in
der Teststeuerung 170 liegen und in derselben ausführen, oder
können
das Testprogramm 182 auf einer entfernten Maschine analysieren.
Bei dem bevorzugten Ausführungsbeispiel
ist der Anwendungsanalysator 186 in die Testeinrichtungssoftware 181 integriert und
die dynamische Signalverlaufsverwaltungseinrichtung 183 und
die Richtlinien 185 sind in das Testprogramm 182 integriert.
-
Bei
dem darstellenden Ausführungsbeispiel speichert
die Signalverlaufspeichertabelle 184 bis zu vier Signalverläufe. Die
Signalverläufe,
die in der lokalen Signalverlaufspeichertabelle 184 gespeichert sind,
werden zu der geeigneten Anschlussstiftverarbeitungsressource 120a gesendet
und in der Signalverlauftabelle 132 als ein Signalverlauf 150 unter
der Steuerung des Testprogramms 182, des Prozessors 190 und
der Testkopfsteuerung 112 gespeichert.
-
An
der Teststeuerung 170 werden Signalverläufe in die lokale Signalverlauftabelle 184 unter
der Steuerung der dynamischen Signalverlaufsverwaltungseinrichtung 184 geladen.
Der Teststeuerungsprozessor 190 führt das Testprogramm 182 und
die dynamische Signalverlaufsverwaltungseinrichtung 183 aus.
Während
einer Ausführung
des Testprogramms 182 verwaltet die dynamische Signalverlaufsverwaltungseinrichtung 183 ein
Laden und Entladen von Signalverläufen, die durch das Sequenziererprogramm 133 benötigt werden,
an der Anschlussstiftverarbeitungsressource 120a in die und
aus der Signalverlauftabelle 132 (über ein Laden in die und aus
der Sig nalverlauftabelle 184), derart, dass jeder Signalverlauf,
der durch das Sequenziererprogramm 133 benötigt wird,
vor und zumindest zu der Zeit, zu der derselbe durch das Sequenziererprogramm 133 benötigt wird,
in der Signalverlauftabelle 132 geladen ist.
-
Die
dynamische Signalverlaufsverwaltungseinrichtung 183 überwacht
eine Ausführung
des Testprogramms 182 und bestimmt, welche, falls es irgendwelche
gibt, der Signalverläufe
in der lokalen Signalverlauftabelle 184 den Lebenszyklus
derselben abgeschlossen haben und entfernt werden können, um
ein Laden eines anderen Signalverlaufs zu ermöglichen, der noch in dem Testprogramm 182 verwendet
werden soll. Bei einem Vornehmen dieser Bestimmung konsultiert die
dynamische Signalverlaufsverwaltungseinrichtung 183 die
Anwendungsrichtlinien 185, die dem Testprogramm 182 zugeordnet
sind. Die Anwendungsrichtlinien 185 weisen Signalverlaufsverwendungs-
und -sequenzierungsinformationen auf, die für das Testprogramm 182 spezifisch
sind, dass durch den Prozessor 190 ausgeführt wird.
Bei dem bevorzugten Ausführungsbeispiel,
wie es hierin im Folgenden erörtert
ist, umfassen die Anwendungsrichtlinien 185 eine Liste
von Signalverläufen,
die durch das Testprogramm 182 während einer Ausführung des
Testprogramms 182 benötigt
werden, und zugeordnete Zeitsteuerungsinformationen (z. B. eine
erste und eine letzte Verwendung jedes Signalverlaufs, der durch
das Testprogramm 182 verwendet wird).
-
Die
Anwendungsrichtlinien 185 sind typischerweise eine Datendatei,
die in dem Speicher 180 gespeichert ist, der für die dynamische
Signalverlaufsverwaltungseinrichtung 183 zugreifbar ist.
Die Inhalte der Anwendungsrichtlinien 185 können manuell
durch einen Techniker oder Ingenieur erzeugt werden oder können alternativ
automatisch erzeugt werden, zum Beispiel durch einen Anwendungsanalysator 186.
Ein Anwendungsanalysator 186 analysiert ein spezielles
Testprogramm 182, um Anwendungsrichtlinien 185 zu
erzeugen, die für
das spezielle Testprogramm 182 spezifisch sind, das a nalysiert wurde.
Wie die Analyse durchgeführt
wird, hängt
natürlich
von der Implementierung des Testprogramms 182 ab. Bei irgendeiner
Implementierung des Anwendungsanalysators 186 muss der
Anwendungsanalysator 186 in der Lage sein, eine Verwendung
eines Signalverlaufs und eine Sequenzzeitsteuerung der Verwendung
des Signalverlaufs des Testprogramms 182 zu identifizieren.
-
In 4 ist
die dynamische Signalverlaufsverwaltungseinrichtung 183 unabhängig von
dem Testprogramm 182 gezeigt, in welchem Fall dieselbe unabhängig von
dem Testprogramm 182 ausführen würde. Ein derartiges Ausführungsbeispiel
erfordert ein Kommunikationsverfahren zwischen der dynamischen Signalverlaufsverwaltungseinrichtung 183 und dem
Testprogramm 182, damit die dynamische Signalverlaufsverwaltungseinrichtung 183 bestimmen
kann, wann ein Signalverlauf durch das Testprogramm 182 nicht
mehr benötigt
wird. Verschiedene Kommunikationstechniken, die für eine Kommunikation
zwischen zwei unabhängig
ausführenden
Prozessen, wie beispielsweise der dynamischen Signalverlaufsverwaltungseinrichtung 183 und
dem Testprogramm 182 geeignet wären, sind auf dem Gebiet bekannt,
einschließlich
lediglich durch ein Beispiel und nicht durch eine Begrenzung: Socket-Verbindungen, Fernprozeduraufrufe
(RPCs = remote procedure calls), Teilprozesse (threads), etc.
-
Bei
dem darstellenden Ausführungsbeispiel ist
beabsichtigt, dass die dynamische Signalverlaufsverwaltungseinrichtung 183 innerhalb
des Testprogramms 182 selbst integriert ist. Somit ist
bei dem darstellenden Beispiel das Testprogramm 182 ein TestFluss
(TestFlow), der eines oder mehrere Test-Folge-Objekte (TestSuite-Objekte) aufweist
und aus einer Testeinrichtungsumgebung erzeugt wird, wie beispielsweise
Agilent's SmarTest-Benutzerschnittstelle.
Bei diesem Ausführungsbeispiel
ist beabsichtigt, dass die dynamische Signalverlaufsverwaltungseinrichtung 183 in
das TestFluss-Testprogramm 182 integriert
wäre, wo
dasselbe ohne weiteres den Fortschritt eines TestFluss-Testprogramms 182 zum
Bei spiel durch ein gemeinschaftliches Verwenden von Variablen überwachen
könnte
und dadurch Signalverläufe,
die durch das TestFluss-Testprogramm 182 benötigt werden,
zu und von der Signalverlauftabelle 184 (aus einem allgemeinen
Speicher 186) laden und entladen könnte, wie benötigt. Bei
dem darstellenden Ausführungsbeispiel
ist beabsichtigt, dass der Anwendungsanalysator 186 in
die SmarTest-Software integriert wäre, wo derselbe ohne weiteres
auf ein TestFluss-Testprogramm 182,
das durch die SmarTest-Software erzeugt wird, zugreifen könnte und
dasselbe analysieren könnte.
-
Bei
dem bevorzugten Ausführungsbeispiel ist
das Testsystem 100 unter Verwendung der 93000-Series-SOC-ATE
implementiert. Es ist klar, dass gegenwärtig die 93000-Series-SOC-ATE eine Speicherung
von bis zu 32 Signalverlaufseinträgen in den Signalverlauftabellen
derselben ermöglicht;
für Zwecke
einer leichten Darstellung jedoch ist das darstellende Ausführungsbeispiel
hierin mit einer beliebig gewählten
Signalverlaufsbegrenzung von 4 beschrieben. Die hierin erörterten
Prinzipien jedoch erstrecken sich auf eine jegliche Signalverlaufsbegrenzungsanzahl.
Bei dem bevorzugten Ausführungsbeispiel
ist ferner die Testeinrichtungssoftware 181 vorzugsweise
mit der SmarTest-Benutzerschnittstelle implementiert, die durch
Agilent Technology, Inc. aus Palo Alto, CA für eine Verwendung mit der 93000-Series-SOC-ATE
hergestellt ist, und das Testprogramm 182 ist vorzugsweise
ein TestFluss, der durch die SmarTest-Software erzeugt wird.
-
5 ist
ein Sequenzdiagramm eines beispielhaften Testprogramms, das ein
TestFluss genannt wird, der, wie gerade beschrieben, ein Teil von Agilents
SmarTest-Benutzerschnittstelle
für das
Agilent-93000-SOC-Series-ATE-System
ist. TestFluss ist eine grafische Testeinrichtungsumgebung, die
ermöglicht,
dass ein Systembenutzer verschiedene Tests eines DUT einrichtet
und ausführt.
Das Sequenzdiagramm, das in 5 gezeigt
ist, ist eine grafische Darstellung eines Testprogramms 200,
das eine Anzahl von Tests, TestFolgen genannt, ausführt, wobei
jede TestFolge eingerichtet sein kann, einen oder mehrere definierte
Signalverläufe
an einen definierten Signalverlaufanschlussstift in dem Tester anzulegen.
Die Definitionen jeder Test-Folge,
die zum Beispiel die Signalverläufe
und die Sequenz von Signalverläufen,
die an einem Anschlussstift erzeugt werden soll, enthalten, sind
in TestFolge-Objekten als Objektfelder gespeichert. Die vorliegende
Erfindung ermöglicht
eine Vergrößerung der
Anzahl von Signalverläufen,
die bei irgendeinem gegebenen TestFluss-Testprogramm 200 verwendet
werden kann, auf eine unbegrenzte Anzahl.
-
Wie
es in 5 dargestellt ist, umfasst das beispielhafte TestFluss-Testprogramm 200 zehn TestFolgen
TS1 201, TS2 202,
TS3 203, TS4 204,
TS5 205, TS6 206,
TS7 207, TS8 208,
TS9 209 und TS10 210.
Bei diesem beispielhaften Testprogramm ist die TestFolge TS1 201 definiert, um einen Signalverlauf zu
verwenden, der als WF1 identifiziert ist;
die TestFolge TS2 202 ist definiert,
um einen Signalverlauf zu verwenden, der als WF2 identifiziert
ist; die TestFolge TS3 203 ist
definiert, um einen Signalverlauf zu verwenden, der als WF4 identifiziert ist; die TestFolge TS4 204 ist definiert, um einen Signalverlauf
zu verwenden, der als WF6 definiert ist;
die TestFolge TS5 205 ist definiert,
um einen Signalverlauf zu verwenden, der als WF3 identifiziert
ist; die TestFolge TS6 206 ist
definiert, um einen Signalverlauf zu verwenden, der als WF5 identifiziert ist; die TestFolge TS7 207 ist definiert, um einen Signalverlauf
zu verwenden, der als WF8 identifiziert
ist; die TestFolge TS8 208 ist
definiert, um einen Signalverlauf zu verwenden, der als WF6 identifiziert ist; die TestFolge TS9 209 ist definiert, um einen Signalverlauf
zu verwenden, der als WF7 identifiziert
ist; und die TestFolge TS10 210 ist
definiert, um einen Signalverlauf zu verwenden, der als WF8 identifiziert ist.
-
Bei
dem darstellenden Ausführungsbeispiel belaufen
sich die maximalen Signalverlaufeinträge in der Signalverlauftabelle 184 auf
vier Einträge.
Weil folglich das beispielhafte TestFluss-Testprogramm 200 von 5 8
unterschiedliche Signalverläufe
definiert, die während
einer Ausführung
des Testprogramms 200 verwendet werden, erfordert dasselbe mehr
Signalverläufe
als verfügbare
Einträge
in der Signalverlaufspeichertabelle 184. Die dynamische Signalverlaufsverwaltungseinrichtung 183 der
Erfindung ermöglicht
eine Vergrößerung der
Anzahl von Signalverläufen,
die durch ein Testprogramm 182 verwendbar sind, auf eine
Anzahl, die größer als
dieselbe ist, die durch die Anzahl von Einträgen in der Signalverlauftabelle 184 definiert
ist.
-
6 ist
ein Flussdiagramm, das ein exemplarisches Ausführungsbeispiel eines Verfahrens 220 darlegt,
das durch den Anwendungsanalysator 186 von 4 ausgeführt wird,
der Anwendungsrichtlinien 185 erzeugt, die für eine Verwendung
durch die dynamische Signalverlaufsverwaltungseinrichtung 183 geeignet
sind, um eine dynamische Signalverlaufsverwaltung zu ermöglichen,
um die Anzahl von Signalverläufen
zu vergrößern, die
durch das TestFluss-Testprogramm 200 von 5 verwendbar sind.
Wie es in 6 dargestellt ist, erhält das Anwendungsanalysatorverfahren 220 einen
Zugriff auf das TestFluss-Testprogramm 182 (Schritt 221).
Bei dem darstellenden Ausführungsbeispiel
muss das Anwendungsanalysatorverfahren 220 in der Lage sein,
die Sequenz von Signalverläufen
zu bestimmen, die durch das TestFluss-Testprogramm 182 während einer
Ausführung
des TestFluss-Testprogramms 182 verwendet
wird. Das Anwendungsanalysatorverfahren 220 erzeugt dann
eine Liste von unverarbeiteten Signalverläufen, die durch das TestFluss-Testprogramm 182 verwendet
werden sollen (Schritt 222). Bei dem bevorzugten Ausführungsbeispiel
werden Signalverläufe
zu der Liste in der Reihenfolge hinzugefügt, in der dieselben durch
das Anwendungsanalysatorverfahren 220 entdeckt werden. Wenn
die Liste einmal erzeugt ist, wird eine Bestimmung vorgenommen (Schritt 223),
ob die Anzahl von Signalverläufen,
die durch das TestFluss-Testprogramm 182 benötigt wird,
die Anzahl von verfügbaren Einträgen in der
Signalverlauftabelle 184 überschreitet. Falls die Anzahl
von Signalverläufen,
die durch das TestFluss-Testprogramm 182 benötigt wird,
die Anzahl von verfügbaren
Einträgen
in der Signalverlauftabelle 184 nicht überschreitet, existieren ausreichende
Ressourcen, um das TestFluss-Testprogramm 182 auszuführen, und
eine weitere Analyse ist erforderlich. Falls jedoch die Anzahl von
Signalverläufen,
die durch das TestFluss-Testprogramm 182 benötigt wird,
die Anzahl von verfügbaren
Einträgen
in der Signalverlauftabelle 184 überschreitet, ist eine weitere
Analyse erforderlich.
-
Zu
diesem Zweck wird die Signalverlaufliste (die in Schritt 222 erzeugt
wird) Signalverlauf für
Signalverlauf verarbeitet, um die relative Sequenz der ersten Verwendung
des Signalverlaufs und der letzten Verwendung des Signalverlaufs
durch das TestFluss-Testprogramm 182 zu bestimmen. Folglich wird
beginnend mit dem ersten entdeckten Signalverlauf in der Signalverlaufliste
jeder Signalverlauf wie folgt verarbeitet: Es wird eine Bestimmung
vorgenommen (Schritt 224), ob irgendwelche unverarbeiteten
Signalverläufe
in der Signalverlaufliste (die in Schritt 222 erzeugt wird)
verbleiben, um verarbeitet zu werden. Falls dem so ist, wird einer
der verbleibenden unverarbeiteten Signalverläufe in der Liste für ein Verarbeiten
ausgewählt
(und für
eine Kenntnisnahme bei weiteren Durchläufen als verarbeitet markiert)
(Schritt 225). Bei dem bevorzugten Ausführungsbeispiel werden die Signalverläufe in einer
sequenziellen Reihenfolge einer Entdeckung verarbeitet. Das Anwendungsanalysatorverfahren 220 bestimmt
dann die erste Verwendung des ausgewählten Signalverlaufs (Schritt 226)
durch das TestFluss-Testprogramm 182.
Bei dem Testprogramm von 5 zum Beispiel liest das Anwendungsanalysatorverfahren 220 die
Test-Fluss-Sequenz 200,
wobei auf die Definitionsobjekte aller TestFolgen 201–210 zugegriffen
wird, um zu bestimmen, welche TestFolge 201–210 den
ausgewählten
Signalverlauf zuerst verwendet. Die TestFolge 201–210,
die den ausgewählten
Signalverlauf zuerst verwendet, wird in die Signalverlaufliste eingetragen
und dem ausgewählten
Signalverlauf zugeordnet, vorzugsweise in Tabellenformat.
-
Das
Anwendungsanalysatorverfahren 220 bestimmt dann die letzte
Verwendung des ausgewählten
Signalverlaufs durch das TestFluss-Testprogramm 182 (Schritt 227).
Bei dem darstellenden Beispiel fährt
der Anwendungsanalysator 220 mit einem Lesen der TestFluss-Sequenz 200 fort,
wobei auf die Definitionsobjekte jeder TestFolge zugegriffen wird, um
zu bestimmen, welche TestFolge 201–210 den ausgewählten Signalverlauf
als letztes verwendet. Die TestFolge 201–210,
die den ausgewählten
Signalverlauf als letztes verwendet, wird in die Signalverlaufliste
eingetragen, vorzugsweise in Tabellenformat.
-
Ein
Verarbeiten der Signalverlaufliste (die in Schritt 222 erzeugt
wird) wird wiederholt (durch ein Wiederholen der Schritte 224–228),
bis jeder Signalverlauf in der Signalverlaufliste durch das Anwendungsanalysatorverfahren 220 verarbeitet
wurde. Auf einen Abschluss einer Verarbeitung hin enthält die Signalverlaufliste
die Informationen, die durch die dynamische Signalverlaufsverwaltungseinrichtung 183
zum dynamischen Verwalten eines Ladens und Entladens von Signalverläufen in
die und aus der Signalverlauftabelle 184 benötigt werden.
Somit kann die Signalverlaufliste als die Anwendungsrichtlinien 185 verwendet
werden oder alternativ können
die Anwendungsrichtlinien 185 aus der Signalverlaufliste
in ein Format erzeugt werden, das durch die dynamische Signalverlaufsverwaltungseinrichtung 183 benötigt wird.
-
7 stellt
eine beispielhafte Signalverlaufliste 230 dar, die durch
eine Anwendung des Anwendungsanalysatorverfahrens 220,
das in 6 umrissen ist, auf das beispielhafte TestFluss-Testprogramm 200 von 5 erzeugt
wurde. Wie es in derselben gezeigt ist, umfasst die Signalverlaufliste 230 eine
Spalte von Signalverlaufidentifizieren, eine Spalte, die die TestFolge
auflistet, die den Signalverlauf zuerst verwendet, der dem Signalverlaufidentifizierer
in der Zeile derselben zugeordnet ist, und eine Spalte, die die
TestFolge auflistet, die den Signalverlauf als letztes verwendet,
der dem Signalverlaufidentifizierer in der Zeile desselben zugeordnet
ist. Basierend auf diesen Informationen kann die dynamische Signalverlaufsverwaltungseinrichtung 183 ein
Laden und Entladen der Signalverläufe, die durch das TestFluss-Testprogramm 182 benötigt werden,
in die und aus der Signalverlauftabelle 184 während einer
Ausführung
des TestFluss-Programms 182 dynamisch verwalten, derart,
dass jeder Signalverlauf, der durch das TestFluss-Programm 182 benötigt wird, geladen
und verfügbar
ist, wenn derselbe durch das TestFluss-Programm 182 benötigt wird.
-
8 ist
ein Flussdiagramm, das ein exemplarisches Ausführungsbeispiel eines Verfahrens 240 darlegt,
das durch die dynamische Signalverlaufsverwaltungseinrichtung 183 von 4 ausgeführt wird, die
ein Laden und Entladen von Signalverläufen, die durch das TestFluss-Testprogramm 182 benötigt werden,
in die und aus der Signalverlauftabelle 184 während einer
Ausführung
des TestFluss-Programms 182 dynamisch verwaltet. Bei diesem
Verfahren 240 greift die dynamische Signalverlaufsverwaltungseinrichtung 183 auf
die Richtlinien 185 zu, um die ersten m Signalverläufe auszuwählen (Schritt 241),
die in die Signalverlauftabelle 184 geladen werden sollen,
bestimmt auf einer Basis einer ersten Verwendung (Schritt 242).
Bei dem darstellenden Ausführungsbeispiel
m = 4, was angibt, dass die Signalverlauftabelle 184 auf
4 Signalverlaufeinträge
begrenzt ist. Die dynamische Signalverlaufsverwaltungseinrichtung 183 überwacht
eine Ausführung des
TestFluss-Testprogramms 182 (Schritt 243), wobei
geprüft
wird, um zu bestimmen (Schritt 244), ob der Lebenszyklus
irgendeines der Signalverläufe,
die aktuell in der Signalverlauftabelle 184 geladen sind, abgeschlossen
ist (basierend auf den Informationen einer letzten Verwendung, die
dem Signalverlauf zugeordnet sind, wie in den Anwendungsrichtlinien 185 enthalten).
Falls der Lebenszyklus irgendeines der aktuell geladenen Signalverläufe abgeschlossen
ist, greift die dynamische Signalverlaufsverwaltungseinrichtung 183 auf
die Anwendungsrichtlinien 185 zu (d. h. die Signalverlaufsliste 230 von 7),
um den nächsten
Signalverlauf zu bestimmen und auszuwählen, der durch das TestFluss-Testprogramm 182 verwendet
wird (Schritt 245). Die dynamische Signalverlaufsverwaltungseinrichtung 183 bewirkt
dann ein Laden des ausgewählten
nächsten
Signalverlaufs in den Eintrag der Signalverlauftabelle 184,
der aktuell durch den Signalverlauf eingenommen ist, dessen Lebenszyklus
dieselbe als gerade abgeschlossen bestimmt hat (Schritt 246).
Die dynamische Signalverlaufsverwaltungseinrichtung 183 bestimmt
dann, ob irgendein Signalverlauf, dessen Lebenszyklus nicht abgeschlossen
ist, verbleibt, um geladen zu werden (Schritt 247). Falls
nicht, fährt
die dynamische Signalverlaufsverwaltungseinrichtung 183 fort, den
Fortschritt des TestFluss-Testprogramms 182 zu überwachen,
und der Algorithmus wiederholt sich (einschließlich der Schritte 243–247),
bis die Lebenszyklen aller Signalverläufe, die durch das TestFluss-Testprogramm 182 benötigt werden,
entweder abgeschlossen sind oder der Signalverlauf aktuell geladen
ist.
-
Die
oben beschriebene Erfindung ist bei der automatischen Testumgebung
von 4 besonders vorteilhaft, bei der die Signalverlaufspeichertabelle 132 eine
begrenzte Anzahl von Signalverläufen
hält. Während eines
Tests ist eine Geschwindigkeit ein entscheidender Faktor bei einer
Leistungsfähigkeit. Während Signalverläufe zu der
Signalverlaufspeichertabelle 132 an der einzelnen Anschlussstiftverarbeitungsressource 120a heruntergeladen
werden könnten,
wie es für
eine Ausführung
eines Tests benötigt
wird, ist die dynamische Signalverlaufsverwaltungseinrichtung 183 wirksam,
um proaktiv Signalverläufe
von einem Steuerungsspeicher oder einem anderen externen Speicher
in die Signalverlaufspeichertabelle 132 der Anschlussstiftverarbeitungsressource 120a (über die
lokale Signalverlaufspeichertabelle 184 in der Teststeuerung 170)
vor der Zeit zu laden, in der das Sequenziererprogramm 133 den
Signalverlauf tatsächlich
benötigt.
Dies ist vorteilhaft, weil typischerweise ein Herunterladen von
Signalverläufen
länger
dauert, als es dauert, den Test auszuführen. Ohne dass die dynami sche
Signalverlaufsverwaltungseinrichtung 183 Signalverläufe proaktiv in
die Signalverlaufspeichertabelle 132 vor der Zeit lädt, zu der
das Sequenziererprogramm 133 dieselben benötigt, wird
deshalb ein Leistungsfähigkeitschlag
erlitten, während
der Sequenzierer darauf wartet, dass der erforderliche Signalverlauf
von der Teststeuerung 170 in die Signalverlaufspeichertabelle 132 heruntergeladen
wird.
-
Obwohl
dieses bevorzugte Ausführungsbeispiel
der vorliegenden Erfindung für
darstellende Zwecke offenbart wurde, ist Fachleuten auf dem Gebiet
ersichtlich, dass verschiedene Modifikationen, Hinzufügungen und
Ersetzungen möglich
sind, ohne von dem Schutzbereich und der Wesensart der Erfindung
abzuweichen, wie es in den zugehörigen
Ansprüchen
offenbart ist. Es ist ferner möglich,
dass andere Vorteile oder Verwendungen der gegenwärtig offenbarten
Erfindung über
die Zeit ersichtlich werden.