DE102004053605A1 - Dynamische Signalverlaufsressourcenverwaltung - Google Patents

Dynamische Signalverlaufsressourcenverwaltung Download PDF

Info

Publication number
DE102004053605A1
DE102004053605A1 DE102004053605A DE102004053605A DE102004053605A1 DE 102004053605 A1 DE102004053605 A1 DE 102004053605A1 DE 102004053605 A DE102004053605 A DE 102004053605A DE 102004053605 A DE102004053605 A DE 102004053605A DE 102004053605 A1 DE102004053605 A1 DE 102004053605A1
Authority
DE
Germany
Prior art keywords
waveform
waveforms
application program
application
waveform table
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
DE102004053605A
Other languages
English (en)
Inventor
Robert S. Longmont Kolman
Reid La Porte Hayhow
Daven Walt Loveland Septon
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Verigy Singapore Pte Ltd
Original Assignee
Agilent Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Agilent Technologies Inc filed Critical Agilent Technologies Inc
Publication of DE102004053605A1 publication Critical patent/DE102004053605A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06GANALOGUE COMPUTERS
    • G06G7/00Devices in which the computing operation is performed by varying electric or magnetic quantities
    • G06G7/12Arrangements for performing computing operations, e.g. operational amplifiers
    • G06G7/26Arbitrary function generators

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

Eine dynamische Signalverlaufsverwaltungseinrichtung und Anwendungsrichtlinien werden einer elektronischen Vorrichtung bereitgestellt, die eine Anwendung ausführt, die die Verwendung von Signalverläufen erfordert, auf die von einer Signalverlaufstabelle zugegriffen wird, die durch eine begrenzte Anzahl von Einträgen gekennzeichnet ist. Die Anwendungsrichtlinien enthalten Signalverlaufssequenzierungsinformationen, die für die Anwendung spezifisch sind. Die Anwendung kann eine jegliche Anzahl von Signalverläufen verwenden, die typischerweise in einem Speicher gespeichert sind, der von der Signalverlaufstabelle getrennt ist. Die dynamische Signalverlaufsverwaltungseinrichtung ü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 Signalverlaufstabelle, derart, dass jeder Signalverlauf, der durch die Anwendung benötigt wird, vor und zumindest zu der Zeit, zu der derselbe durch die Anwendung benötigt wird, in der Signalverlaufstabelle geladen ist. Die dynamische Signalverlaufsverwaltungseinrichtung greift auf die Anwendungsrichtlinien zu, um die Signalverlaufssequenzierungsinformationen, die für die Anwendung spezifisch sind, für eine Verwendung bei einem Bestimmen zu referenzieren, wann und welche Signalverläufe zu und von der Signalverlaufstabelle zu laden und entladen sind.

Description

  • 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 1418), 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 201210 zugegriffen wird, um zu bestimmen, welche TestFolge 201210 den ausgewählten Signalverlauf zuerst verwendet. Die TestFolge 201210, 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 201210 den ausgewählten Signalverlauf als letztes verwendet. Die TestFolge 201210, 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 224228), 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 243247), 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.

Claims (19)

  1. Vorrichtung (1, 100), die folgende Merkmale aufweist: einen Prozessor (2, 190); ein Anwendungsprogramm (4, 182), das durch den Prozessor (2, 190) ausführbar ist und eine Verwendung einer ersten Anzahl von Signalverläufen erfordert; eine Signalverlauftabelle (5, 184), die eine zweite Anzahl von Signalverlaufeinträgen aufweist, zum Speichern von Signalverläufen für eine Verwendung durch das Anwendungsprogramm (4, 182), wobei die erste Anzahl die zweite Anzahl überschreitet; Anwendungsrichtlinien (7, 185), die Signalverlaufsequenzierungsinformationen (230) aufweisen, die für das Anwendungsprogramm (4, 182) spezifisch sind; eine dynamische Signalverlaufsverwaltungseinrichtung (6, 183), die eine Ausführung des Anwendungsprogramms (4, 182) überwacht, auf die Anwendungsrichtlinien (7, 185) zugreift, um zu bestimmen, welche der ersten Anzahl von Signalverläufen als nächstes durch das Anwendungsprogramm (4, 182) benötigt werden, und einen oder mehrere der ersten Anzahl von Signalverläufen in einen entsprechenden jeweiligen oder mehrere der zweiten Anzahl von Signalverlaufstabelleneinträgen in der Signalverlaufstabelle (5, 184) lädt.
  2. Vorrichtung (1, 100) gemäß Anspruch 1, bei der: die dynamische Signalverlaufsverwaltungseinrichtung (6, 183) eine Angabe einer letzten Verwendung durch das Anwendungsprogramm (4, 182) eines abgeschlossenen des einen oder der mehreren der ersten Anzahl von Signalverläufen empfängt, die in den entsprechenden je weiligen oder die mehreren der zweiten Anzahl von Signalverlauftabelleneinträgen in der Signalverlauftabelle (5, 184) geladen sind, die auf Anwendungsrichtlinien (7, 185) zugreift, um einen nächsten Signalverlauf, der noch durch das Anwendungsprogramm (4, 182) verwendet werden soll, aus der Mehrzahl von Signalverläufen auszuwählen, die aktuell nicht in einen der begrenzten Anzahl von Signalverlaufstabelleneinträgen geladen sind, und den abgeschlossenen der geladenen Signalverläufe mit dem ausgewählten nächsten Signalverlauf in dem einen der begrenzten Anzahl von Signalverlauftabelleneinträgen ersetzt, der dem abgeschlossenen der geladenen Signalverläufe entspricht.
  3. Vorrichtung (1, 100) gemäß Anspruch 1 oder 2, bei der: die dynamische Signalverlaufsverwaltungseinrichtung (6, 183) den einen oder die mehreren der ersten Anzahl von Signalverläufen wiedererlangt, die in den entsprechenden jeweiligen oder die mehreren der zweiten Anzahl von Signalverlauftabelleneinträgen in der Signalverlauftabelle (5, 184) geladen werden sollen, bevor das Anwendungsprogramm (4, 182) den einen oder die mehreren der ersten Anzahl von Signalverläufen benötigt.
  4. Vorrichtung (1, 100) gemäß einem der Ansprüche 1 bis 3, die ferner folgende Merkmale aufweist: einen Anwendungsanalysator (9a, 9b, 186, 230), der auf das Anwendungsprogramm (4, 182) zugreift, um die Signalverlaufsequenzierungsinformationen zu bestimmen, die für das Anwendungsprogramm (4, 182) spezifisch sind, und um die Anwendungsrichtlinien (7, 185) zu erzeugen.
  5. Vorrichtung (1, 100) gemäß einem der Ansprüche 1 bis 4, bei der die Anwendungsrichtlinien (7, 185) eine Angabe einer ersten Verwendung und einer letzten Verwendung durch das Anwendungsprogramm (4, 182) jedes der ersten Anzahl von Signalverläufen aufweisen, der durch das Anwendungsprogramm (4, 182) verwendet werden soll.
  6. Vorrichtung (1, 100) gemäß Anspruch 5, bei der: die dynamische Signalverlaufsverwaltungseinrichtung (6, 183) die erste Anzahl von Signalverläufen, die durch das Anwendungsprogramm (4, 182) verwendet werden sollen, in einer Reihenfolge einer ersten Verwendung durch das Anwendungsprogramm (4, 182) lädt.
  7. Vorrichtung (1, 100) gemäß einem der Ansprüche 1 bis 6, die ferner folgendes Merkmal aufweist: einen Speicher (8a, 8b, 50) zum Speichern der ersten Anzahl von Signalverläufen, der unabhängig von der Signalverlauftabelle (5, 184) ist.
  8. Verfahren zum dynamischen Verwalten eines Ladens einer Mehrzahl von Signalverläufen zu einer Signalverlaufstabelle (5, 184), die durch eine begrenzte Anzahl von Signalverlauftabelleneinträgen gekennzeichnet ist, während einer Ausführung eines Anwendungsprogramms (4, 182), wobei die Mehrzahl von Signalverläufen zahlenmäßig größer als die begrenzte Anzahl von Signalverlauftabelleneinträgen ist, wobei das Verfahren folgende Schritte aufweist: Bestimmen eines Teilsatzes der Mehrzahl von Signalverläufen, die zuerst durch das Anwendungsprogramm (4, 182) verwendet werden sollen; Laden jedes des Teilsatzes der Signalverläufe zu einem jeweiligen der begrenzten Anzahl von Signalverlauftabelleneinträgen; Empfangen einer Angabe einer letzten Verwendung durch das Anwendungsprogramm (4, 182) eines abgeschlossenen der geladenen Signalverläufe, die bei einem entsprechenden der begrenzten Anzahl von Signalverlauftabelleneinträgen geladen ist; Auswählen eines nächsten Signalverlaufs, der noch durch das Anwendungsprogramm (4, 182) verwendet werden soll, aus der Mehrzahl von Signalverläufen, die aktuell nicht in einem der begrenzten Anzahl von Signalverlauftabelleneinträgen geladen sind; Ersetzen des abgeschlossenen der geladenen Signalverläufe mit dem ausgewählten nächsten Signalverlauf in einem der begrenzten Anzahl von Signalverlauftabelleneinträgen, der dem abgeschlossenen der geladenen Signalverläufe entspricht.
  9. Verfahren gemäß Anspruch 8, das folgenden Schritt aufweist: Wiederholen des Empfangsschritts bis zu dem Ersetzungsschritt, bis alle der Mehrzahl von Signalverläufen eine letzte Verwendung abgeschlossen haben oder aktuell in einem der begrenzten Anzahl von Signalverlauftabelleneinträgen geladen sind.
  10. Verfahren gemäß Anspruch 8 oder 9, bei dem der Auswahlschritt und der Ersetzungsschritt vor einer Anforderung des ausgewählten nächsten Signalverlaufs durch das Anwendungsprogramm (4, 182) durchgeführt werden.
  11. Verfahren gemäß einem der Ansprüche 8 bis 10, das ferner folgende Schritte aufweist: vor einer Ausführung des Anwendungsprogramms (4, 182), Zugreifen auf das Anwendungsprogramm (4, 182), um die Signalverlaufsequenzierungsinformationen (230) zu bestimmen, die für das Anwendungsprogramm (4, 182) spezifisch sind; und Erzeugen der Anwendungsrichtlinien (7, 185) basierend auf den Signalverlaufsequenzierungsinformationen (230), die für das Anwendungsprogramm (4, 182) spezifisch sind.
  12. Verfahren gemäß Anspruch 11, bei dem die Signalverlaufsequenzierungsinformationen (230), die für das Anwendungsprogramm (4, 182) spezifisch sind, folgendes Merkmal aufweisen: eine Angabe einer ersten Verwendung und einer letzten Verwendung durch das Anwendungsprogramm (4, 182) jedes der Mehrzahl von Signalverläufen, der durch das Anwendungsprogramm (4, 182) verwendet werden soll.
  13. Verfahren gemäß Anspruch 12, bei dem der Schritt zum Bestimmen des Teilsatzes der Mehrzahl von Signalverläufen, die zuerst durch das Anwendungsprogramm (4, 182) verwendet werden sollen, folgende Schritte aufweist: Zugreifen auf die Anwendungsrichtlinien (7, 185), um die Angabe einer ersten Verwendung durch das Anwendungsprogramm (4, 182) jedes der Mehrzahl von Signalverläufen zu erhalten, und Auswählen des Teilsatzes der Mehrzahl von Signalverläufen gemäß einer Reihenfolge einer ersten Verwendung durch das Anwendungsprogramm (4, 182).
  14. Computerlesbares Speicherungsmedium, das in bestimmter Weise Programmanweisungen verkörpert, die ein Verfah ren zum dynamischen Verwalten eines Ladens einer Mehrzahl von Signalverläufen zu einer Signalverlauftabelle (5, 184) implementieren, die durch eine begrenzte Anzahl von Signalverlauftabelleneinträgen gekennzeichnet ist, während einer Ausführung eines Anwendungsprogramms (4, 182), wobei die Mehrzahl von Signalverläufen zahlenmäßig größer als die begrenzte Anzahl von Signalverlauftabelleneinträgen ist, wobei das Verfahren die folgenden Schritte aufweist: Bestimmen eines Teilsatzes der Mehrzahl von Signalverläufen, die zuerst durch das Anwendungsprogramm (4, 182) verwendet werden sollen; Laden jedes des Teilsatzes der Signalverläufe zu einem jeweiligen der begrenzten Anzahl von Signalverlauftabelleneinträgen; Empfangen einer Angabe einer letzten Verwendung durch das Anwendungsprogramm (4, 182) eines abgeschlossenen der geladenen Signalverläufe, die bei einem entsprechenden der begrenzten Anzahl von Signalverlauftabelleneinträgen geladen ist; Auswählen eines nächsten Signalverlaufs, der noch durch das Anwendungsprogramm (4, 182) verwendet werden soll, aus der Mehrzahl von Signalverläufen, die aktuell nicht in einem der begrenzten Anzahl von Signalverlauftabelleneinträgen geladen sind; Ersetzen des abgeschlossenen der geladenen Signalverläufe mit dem ausgewählten nächsten Signalverlauf in einem der begrenzten Anzahl von Signalverlauftabelleneinträgen, der dem abgeschlossenen der geladenen Signalverläufe entspricht.
  15. Computerlesbares Speicherungsmedium gemäß Anspruch 14, das folgenden Schritt aufweist: Wiederholen des Empfangsschritts bis zu dem Ersetzungsschritt, bis alle der Mehrzahl von Signalverläufen eine letzte Verwendung abgeschlossen haben oder aktuell in einem der begrenzten Anzahl von Signalverlauftabelleneinträgen geladen sind.
  16. Computerlesbares Speicherungsmedium gemäß Anspruch 14 oder 15, bei dem der Auswahlschritt und der Ersetzungsschritt vor einer Anforderung des ausgewählten nächsten Signalverlaufs durch das Anwendungsprogramm (4, 182) durchgeführt werden.
  17. Computerlesbares Speicherungsmedium gemäß einem der Ansprüche 14 bis l6, das ferner folgende Schritte aufweist: vor einer Ausführung des Anwendungsprogramms (4, 182), Zugreifen auf das Anwendungsprogramm (4, 182), um die Signalverlaufsequenzierungsinformationen (230) zu bestimmen, die für das Anwendungsprogramm (4, 182) spezifisch sind; und Erzeugen der Anwendungsrichtlinien (7, 185) basierend auf den Signalverlaufsequenzierungsinformationen (230), die für das Anwendungsprogramm (4, 182) spezifisch sind.
  18. Computerlesbares Speicherungsmedium gemäß Anspruch 17, bei dem die Signalverlaufsequenzierungsinformationen (230), die für das Anwendungsprogramm (4, 182) spezifisch sind, folgendes Merkmal aufweisen: eine Angabe einer ersten Verwendung und einer letzten Verwendung durch das Anwendungsprogramm (4, 182) jedes der Mehrzahl von Signalverläufen, der durch das Anwendungsprogramm (4, 182) verwendet werden soll.
  19. Computerlesbares Speicherungsmedium gemäß Anspruch 18, bei dem der Schritt zum Bestimmen des Teilsatzes der Mehrzahl von Signalverläufen, die zuerst durch das Anwendungsprogramm (4, 182) verwendet werden sollen, folgende Schritte aufweist: Zugreifen auf die Anwendungsrichtlinien (7, 185), um die Angabe einer ersten Verwendung durch das Anwendungsprogramm (4, 182) jedes der Mehrzahl von Signalverläufen zu erhalten, und Auswählen des Teilsatzes der Mehrzahl von Signalverläufen gemäß einer Reihenfolge einer ersten Verwendung durch das Anwendungsprogramm (4, 182).
DE102004053605A 2004-02-20 2004-11-05 Dynamische Signalverlaufsressourcenverwaltung Ceased DE102004053605A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/782,984 2004-02-20
US10/782,984 US7024322B2 (en) 2004-02-20 2004-02-20 Dynamic waveform resource management

Publications (1)

Publication Number Publication Date
DE102004053605A1 true DE102004053605A1 (de) 2005-09-15

Family

ID=34861112

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102004053605A Ceased DE102004053605A1 (de) 2004-02-20 2004-11-05 Dynamische Signalverlaufsressourcenverwaltung

Country Status (4)

Country Link
US (1) US7024322B2 (de)
JP (1) JP2005233962A (de)
DE (1) DE102004053605A1 (de)
TW (1) TW200529022A (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8224613B2 (en) * 2007-03-13 2012-07-17 Tektronix, Inc. Synthesis and generation of arbitrary waveforms with ISI components for jitter tolerance
US20080270849A1 (en) * 2007-04-26 2008-10-30 Carli Connally Method and Apparatus for Displaying Test Data
US20080270923A1 (en) * 2007-04-26 2008-10-30 Carli Connally Method and Apparatus for Displaying Test Data
US8572143B2 (en) * 2009-11-09 2013-10-29 Agilent Technologies, Inc. Waveform generator with a register that shifts and provides groups of successive data values from an input data stream
US10333421B2 (en) 2017-03-30 2019-06-25 Raytheon Company Polymorphic waveform generation

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5371851A (en) * 1989-04-26 1994-12-06 Credence Systems Corporation Graphical data base editor
US5657438A (en) * 1990-11-27 1997-08-12 Mercury Interactive (Israel) Ltd. Interactive system for developing tests of system under test allowing independent positioning of execution start and stop markers to execute subportion of test script
AU722149B2 (en) * 1996-02-29 2000-07-20 Bt Financial Group Pty Limited Determination of software functionality
US6134674A (en) * 1997-02-28 2000-10-17 Sony Corporation Computer based test operating system
US6188407B1 (en) * 1998-03-04 2001-02-13 Critikon Company, Llc Reconfigurable user interface for modular patient monitor
US6587969B1 (en) * 1998-06-22 2003-07-01 Mercury Interactive Corporation Software system and methods for testing the functionality of a transactional server
US6360332B1 (en) * 1998-06-22 2002-03-19 Mercury Interactive Corporation Software system and methods for testing the functionality of a transactional server

Also Published As

Publication number Publication date
US20050187729A1 (en) 2005-08-25
TW200529022A (en) 2005-09-01
US7024322B2 (en) 2006-04-04
JP2005233962A (ja) 2005-09-02

Similar Documents

Publication Publication Date Title
DE69522114T2 (de) Verfahren und system zur automatischen erzeugung von effizienten testfällen zum testen von softwaresystemen
DE69033360T2 (de) Simulation von ausgewählten Logik-Schaltungsentwürfen
DE69817689T2 (de) Modellbasiertes Diagnosesystem mit automatisierten Verfahren für Auswahl von folgendem Test
DE3687942T2 (de) Pruefmustergenerator.
EP1071937B1 (de) System und verfahren zur konfiguration und/oder parametrierung einer diagnoseeinrichtung
DE10120080B4 (de) Ereignisgestütztes Prüfsystem mit einer Einrichtung zur Erzeugung von Prüfabschluß-Mehrfachsignalen
DE10039538B4 (de) Vorrichtung und Verfahren zum Analysieren der Leistung eines Computerprogramms
DE4416704A1 (de) Integrationstestverfahren für ein objektorientiertes Programm
DE10392667T5 (de) Ereignisbasiertes IC-Testsystem
DE112009005340T5 (de) Verfahren und Vorrichtung zum Planen einer Verwendung von Testressourcen einer Testanordnung für die Ausführung von Testgruppen
DE10055456A1 (de) Halbleiterprüfsystem zur Prüfung von Mischsignalbauteilen
DE102005034165A1 (de) Verfahren zum Optimieren einer Testreihenfolge und maschinenlesbares Medium, das Anweisungssequenzen zum Ausführen derselben speichert
DE10297319T5 (de) Anwendungsspezifisches ereignisbasiertes Halbleiterspeicher-Testsystem
DE19855488A1 (de) Testmustergenerator mit verbesserter Testsequenzverdichtung
DE102005013302A1 (de) Proaktiver, systemischer Planer für ressorceneingeschränkte Testsysteme
DE102013213094B4 (de) System, Verfahren und Computer-Programm-Produkt zum Berechnen von Einstellungen für ein Gerät, unter Benutzung von einer oder mehreren Einschränkungen
DE10059796A1 (de) Steuerung der Lebensdauer von Aktivitäten für die Datenverarbeitung
DE10249667A1 (de) Graphische Benutzerschnittstelle zum Testen integrierter Schaltungen
DE19951205A1 (de) Testmustergenerator; Speichertestvorrichtung und Verfahren zur Erzeugung einer Mehrzahl von Testmustern
DE69830967T2 (de) Verfahren und System zur Prüfung einer integrierten Schaltung
DE102004053605A1 (de) Dynamische Signalverlaufsressourcenverwaltung
DE10324594A1 (de) Verfahren zum Bereitstellen einer verbesserten Simulationsfähigkeit eines dynamischen Systems außerhalb der ursprünglichen Modellierungsumgebung
DE112006003729T5 (de) Testzeitberechnungseinrichtung
DE10217609A1 (de) Ein-Chip-Mikrocomputer mit dynamischer Einbrenn-Testfunktion und dynamisches Einbrenn-Testverfahren dafür
DE102019134113A1 (de) Datensortiervorrichtung und datensortierverfahren und überwachungs- und diagnosevorrichtung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: VERIGY (SINGAPORE) PTE. LTD., SINGAPORE, SG

8131 Rejection