-
Hintergrundtechnik
-
Die
vorliegende Erfindung bezieht sich auf ein Testen eines Testobjekts.
-
Eine
Quellensynchron-Eingangs-/Ausgangs-Schnittstelle (Quellensynchron-I/O-Schnittstelle)
ist entworfen, um eine Datenübertragung
unter Verwendung eines lokalen Taktbereichs handzuhaben. Das heißt, die
Zeitsteuerung der Datenbits, die von einer Datensendevorrichtung
an eine Datenempfangsvorrichtung übertragen werden, ist auf den
Lokaltakt dieser Vorrichtung bezogen. Mit anderen Worten, die Zeitsteuerung
der Daten ist nicht auf ein Absolutzeitsteuerungsschema bezogen,
wie es durch einen Systemtakt eines Datenempfangssystems, das beide
Vorrichtungen als Bestandteile aufweist, bereitgestellt ist. Somit
begleitet ein Bitstrom, der einer Taktinformation entspricht, einen
oder mehrere parallele Bitströme
von Daten. Empfängerseitig
können diese
Datenbits dann gepuffert und mit dieser Taktinformation verknüpft werden,
um die Information in einem geeigneten Zeitsteuerungsschema rückzugewinnen
und wiederzuerlangen.
-
Ein
Grund zum Implementieren einer Quellensynchronschnittstelle ist,
dass mit sich erhöhendem
Datendurchsatz in Hochgeschwindigkeitsrechensystemen, der vor kurzem
die Barriere von 1 Gigabit pro Sekunde überschritten hat, eine begrenzte Signalausbreitungsgeschwindigkeit
entlang Zwischenverbindungen in solchen Systemen zu einem dominanten
Faktor bezüglich
des Einstellens von Zeitsteuerungsschemata in jeder Vorrichtung
eines derartigen Systems wird. Aufgrund sich unterscheidender Zwischenverbindungslängen, wenn sie
ab einer Gemeinsamer-Takt-Vorrichtung gemessen werden, können Sende-
und Empfangsvorrichtungen, die über
eine Schnittstelle kommunizieren, abweichende Zeitsteuerungsinformationen
von dem Systemtakt erhalten, die mit einem konstanten oder sogar
veränderlichen
Versatz versehen sind.
-
Neuere
Quellensynchron-I/O-Busarchitekturen benutzen die weitergeleiteten
Lokaltaktinformationen lediglich als eine Frequenzreferenz und stellen die
Phase für
jede der parallelen Bitleitungen ein. Der statische Versatz der
einzelnen Datenbitleitungen wird während eines Verknüpfens unter
Verwendung zweckgebundener Trainingssequenzen eingestellt.
-
Ferner
sind diese Schnittstellen in der Lage, Gleichtaktphasenschwankungen
der Takt- und Dateninformationen, d. h. Jitter, zu handhaben. Ein
quellensynchroner Betrieb der Kommunikation ist damit trotz des
Vorhandensein von thermischen Drifts und/oder von Versorgungsspannungsschwankungen möglich. Dies
bedeutet, dass der ursprüngliche Zweck
eines hauptsächlichen
Abdeckens einer statischen Versatzdifferenz zwischen einem Systemtakt und
Lokal-IO-Daten erweitert wird, um auch dynamische Taktdrifts und
höherfrequenten
Gleichtaktjitter des Lokal-I/O-Schnittstellentakts und seiner zugeordneten
Daten abzudecken.
-
Um
einen definierten funktionalen Betrieb einer Vorrichtung zu gewährleisten,
muss eine derartige Vorrichtung zusammen mit der Kernlogik einer derartigen
Vorrichtung getestet werden. Ein derartiger Test wird in der Regel
unter Verwendung einer automatischen Testeinrichtung (ATE; ATE =
Automatic Test Equipment) durchgeführt. Dabei werden definierte
Sequenzen von Datenbits als ein Stimulussignal in ein Testobjekt
(DUT; DUT = device under test) eingegeben, das beispielsweise einen
Datensende- oder -empfangsabschnitt einer Quellensynchronschnittstelle
aufweist. Nach dem Durchführen logischer
Verknüpfungen
gemäß einem
zweckgebundenen Testprogramm werden die verarbeiteten Daten ansprechend
auf das Eingangsstimulussignal über
die Quellensyn chronschnittstelle zurück an die ATE gesendet, d.
h., die Datenbits sowie ihre zugeordneten Lokaltaktinformationen.
-
Während Jitter
und Drift in einer Quellensynchronschnittstelle in dem Fall eines
Rechensystems, das beispielsweise zwei Kommunikationschips aufweist,
geeignet gehandhabt werden können,
verwendet das Testen der Schnittstelle eines der Chips durch eine
gemeinsame ATE feste Strobes bzw. Übernahmesignale, um die Daten-
und Taktinformationen zu validieren. Ein Gleichtaktjitter oder eine Gleichtaktdrift
weisen dann den Nachteil auf, dazu zu neigen, ein Datenauge eines übertragenden
Bits schneller als in dem Fall der zwei Chips zu schließen.
-
Eine
mögliche
Lösung
ist es, die ATE mit einem Empfangsabschnitt einer Quellensynchronschnittstelle
zu versehen, derart, dass das DUT unter ähnlichen Bedingungen wie während eines
Betriebs in dem Zielsystem getestet werden könnte. Jedoch müssen unterschiedliche
Ausbreitungsverzögerungen
für die
räumlich
verteilten I/O-Pins der ATE beim Entwurf der Testeinrichtung berücksichtigt
werden.
-
Die
US 2005/0080580 A1 bezieht
sich auf eine Vorrichtung zum Testen einer Testeinrichtung für einen
Funktionstest, bei dem aus einer LSI als einem Testobjekt ausgegebene
Ausgangsdaten mit vorbestimmten Erwartungswertsdaten verglichen
werden, um zu beurteilen, ob die zu messende LSI ein Fehler ist
oder nicht. Die Testeinrichtung umfasst zwei LSI-Tester, die ein
aus der zu messenden LSI ausgegebenes erstes und zweites Signal
eingeben, und die das erste und zweite Signal durch eine Mehrzahl
von Strobes mit einem gewissen Zeitsteuerungsintervall zu Ausgangspegeldaten
in einer Zeitserie erhalten, sowie eine Auswahlschaltung, die in
entweder dem ersten oder zweiten LSI-Tester angeordnet ist, und die
die Pegeldaten der aus dem ersten und zweiten LSI-Tester ausgegebenen
Zeitserie eingibt, um die zweite Signaleingabe in den zweiten LSI-Tester
bei einer Zeitgebung der ersten Signaleingabe in den ersten LSI-Tester auszuwählen, und
die das zweite Signal als die zu messenden Daten der zu messenden
LSI ausgibt.
-
Zusammenfassung der Erfindung
-
Es
ist somit eine Aufgabe der Erfindung, ein fortgeschrittenes Testen
eines Testobjekts bereitzustellen. Die Aufgabe wird durch die unabhängigen Patentansprüche gelöst. Bevorzugte
Ausführungsbeispiele
werden durch die abhängigen
Patentansprüche
gezeigt.
-
Ein
Testobjekt, das über
eine Datenschnittstelle zur Kommunikation mit einer Testvorrichtung
in der Lage ist, wird bezüglich
funktionaler sowie spezifikationsbasierter Charakteristika getestet,
wie es nachfolgend beschrieben ist. Darin kann das Testobjekt in
einem Datensendemodus sowie in einem Datenempfangsmodus wirksam
sein – ist
jedoch nicht notwendigerweise darauf beschränkt.
-
Funktionale
Charakteristika beziehen sich auf das Verhalten beispielsweise einer
Kernlogik, die eine derartige Vorrichtung in der Regel aufweist,
und zwar ansprechend auf ein Digitaldatensignal, das in die Vorrichtung
eingegeben wird. Das Digitaldatensignal, das eingegeben wird, besteht
auf einer Sequenz von Bitzyklen, wobei jeder Bitzyklus Bitinformationen
trägt,
die entweder durch eine „0" oder eine „1" repräsentiert
sind. Die spezifische Sequenz von Bits, die in die Vorrichtung eingegeben
wird, ist so angeordnet, dass sie eine durch den Verkäufer entworfene
Sequenz von Verknüpfungen
ergibt, die durch die Kernlogik ausgeführt werden. Die Bitsequenz kann
beispielsweise Daten aufweisen, an denen die Verknüpfungen
durchgeführt
werden, sowie auch Befehlsdaten an beispielsweise eine testspezifische Steuerung,
die der Vorrichtung zugeführt
werden.
-
Die
Kernlogik gibt dann ansprechend auf das Datensignal, das vorher
eingegeben wurde, ein verarbeitetes Digitalsig nal aus. Die Erfindung
ist nicht auf die bestimmten Schritte beschränkt, mit denen die Verarbeitung
und Ausgabe einer Testbitsequenz eingeleitet wird. Es ist sogar
möglich,
dass das Testobjekt seine eigene Sequenz von Bitinformationen in einem
an die Testvorrichtung gesendeten Datensignal erzeugt. In jedem
Fall kann, da die Daten und die an den Daten durchgeführten Verknüpfungen
bekannt sind, das Ausgabeergebnis mit einer vorbestimmten Sequenz
von Bitinformationen verglichen werden.
-
Spezifikationsbasierte
Charakteristika beziehen sich unter anderem auf das Zeitsteuerungsverhalten
der Vorrichtung. Während
die Kernlogik bezüglich
der durchgeführten
logischen Funktionen korrekt wirksam sein kann, können unannehmbare
Zeitverzögerungen
einzelner Bitzyklen, oder genauer ihrer Übergänge, die durch ansteigende
oder abfallende Flanken bezüglich
eines Takts dargestellt sind, datenempfängerseitig zu fehlerhaften
Leseergebnissen führen.
Annehmbare Zeitverzögerungen
werden durch den Verkäufer
der Vorrichtung spezifiziert.
-
Die
Testvorrichtung kann eine automatische Testeinrichtung (ATE) sein.
Die von der Schnittstelle stammenden Eingangssignale beziehen sich
auf ein Taktsignal und ein oder mehrere Datensignale, die auf das
Taktsignal bezogen sind. Genauso ist es möglich, dass mehr als ein Signal
bezüglich
der Daten- und der Taktsignale getestet wird. Zum Beispiel können vier
Gruppen von jeweils acht Datensignalen, wobei jeder Gruppe von Datensignalen
ihr eigenes Taktsignal zugeordnet ist, auf diese Weise getestet werden.
-
Gemäß einem
Ausführungsbeispiel
wird eine Sequenz von Strobesignalen, d. h. ein Strobe für jedes
der Eingangssignale erzeugt, die eingesetzt wird, um den Bitinformationsgehalt
jedes Bitzyklus zu validieren. Ein Strobe bezeichnet eine Zeitinstanz,
an der ein Eingangssignal abgetastet wird. Eine Anwendung von Strobes
führt damit
zu einem zeitdiskreten Ausgangssignal einer entsprechenden Abtast einheit. In
einem möglichst
einfachen Fall entspricht die Frequenz des Strobe der Zyklusfrequenz
der Quellensynchronschnittstelle. Jedoch kann das Strobe in einer
Phase bezüglich
des Bitstroms der Daten- und/oder Taktsignale abweichen. Die Zeitsteuerung des
Strobe selbst basiert auf einem Takt der Testvorrichtung.
-
Unter
Verwendung einer Anzahl von Strobes, von denen jedes eine eindeutige
Phasendifferenz bezüglich
der einzelnen Bitströme
aufweist, werden die Bitzyklen des Daten- sowie des Taktsignals
in diskreten Schritten einer unterschiedlichen Phase abgetastet,
wenn der Bitgehalt validiert wird. Dies bedeutet, dass statt einer
Verwendung des Takts zum Validieren oder Abtasten des Datensignalbitgehalts
beide Signal – das
Taktsignal und das eine oder die mehreren Datensignale – bezüglich einfacher
Funktional- und Zeitsteuerungsfehler untersucht.
-
Jedes
Strobe, das verwendet wird, um das Signal zu validieren, stellt
einen Wert der Phasendifferenz zwischen Strobe und Testertakt dar.
Die Basis ist der Testertakt. Es ist wichtig darauf zu achten, dass
jeder Puls eines Strobe auf ein Fehlerbit bezogen ist.
-
Die
Abtastprozedur kann sequentiell oder parallel mit mehreren Strobes
durchgeführt
werden. In dem ersten Fall muss die Testbitsequenz für jedes der
Strobes wiederholt werden, wohingegen in dem letzteren Fall mehrere
Strobes in den gleichen Takt- oder Datenzyklus platziert werden,
wobei jedes dieser Strobes einem der Anzahl von Strobes gemäß der Erfindung
entspricht.
-
Somit
ist es bei einem Ausführungsbeispiel möglich, dass
ein Strobe pro Zyklus vorliegt, wobei alle Strobes bezüglich der
Takt- und Datensignale dieselbe Phase aufweisen. Dann wird unter
Verwendung dieses Strobe eine Testsequenz eingeleitet, wobei die
Signale abgetastet werden. Im Folgenden wird die Testsequenz auch
ein „Schuss" bezeichnet.
-
Nachfolgend
wird ein nächstes
Strobe für
einen nächsten
Schuss/eine nächste
Testsequenz erzeugt, in der jeder Zyklus des Schusses lediglich
ein Strobe mit einem zweiten Wert der Phase, der sich von der vorhergehenden
Phase des ersten Schusses oder Strobe unterscheidet, aufweist. Zum
Beispiel werden mit jeder einzelnen Strobe-/Phaseneinstellung 50 Schüsse durchgeführt.
-
Bei
einem weiteren Ausführungsbeispiel
ist es möglich,
dass dieselbe Anzahl von Strobes pro Zyklus vorliegt wie es geplante
Strobes für
die aktuelle Testsequenz gibt. Es wird lediglich eine Testsequenz
geschossen, und jeder Zyklus wird mit Strobes gemäß der dem
entsprechenden Strobe zugeordneten Phase belegt. Beispielsweise
kann ein Test lediglich einen Schuss aufweisen, der mit 50 Strobes
pro Zyklus bzw. 50 Strobe-/Phaseneinstellungen versehen ist.
-
Bei
noch einem weiteren Ausführungsbeispiel
ist es möglich,
durch, z. B., Durchführen
von zehn Schüssen
mit jeweils 5 Strobes pro Zyklus, wobei jedes Strobe eine unterschiedliche
Phase aufweist und wobei auch die Phaseneinstellungen der fünf Strobes
sich von Schuss zu Schuss verändern, einen
kombinierten Test durchzuführen.
-
Die
Fehler werden in einem Erfassungs- und Vergleichsschema erfasst,
wobei die Datenbitzyklen mit der erwarteten und vorbestimmten Bitsequenz verglichen
werden und die Taktbitzyklen mit der Sequenz von alternierenden
Bitinformationen verglichen werden. Das Ergebnis ist ein Erfolg-
oder Fehlschlag-Zustand für
jeden der Bitzyklen und für
jeden Wert der Phasendifferenz und für jedes der getesteten Signale.
-
Das
Ergebnis kann beispielsweise durch eine Matrix dargestellt sein,
wobei Zeilen einen Wert der Phasendifferenz des Strobe darstellen
und Spalten eine Nummer eines entsprechenden Zyklus, der abgetastet
wird, darstellen. Jedes Signal, also entweder ein Daten- oder ein
Taktsignal, hat also seine eigene Matrix. Die Einträge in der
Matrix sind „Erfolg” oder „Fehlschlag", „Fehler" oder „nicht
Fehler" oder „0" oder „1" usw. Es versteht
sich von selbst, dass auch jede beliebige andere geeignete Datenstruktur angeordnet
werden kann, um die Ergebnisse darzustellen, und dass die Erfindung
nicht auf eine Auswahl von Datendarstellungen, wie sie bei den Ausführungsbeispielen
gemäß dieses
Dokuments dargestellt sind, beschränkt ist.
-
Die
Größe der Matrix
hängt folglich
von der Anzahl von Zyklen ab, die verkäuferspezifisch sein kann, sowie
auch von der Auflösung
der Phasenabtastung, d. h. von der Zeit zwischen angrenzenden Strobes
unterschiedlicher Strobes. Gemäß der Erfindung
wird diese letztendlich große
Menge von Datenvolumen schrittweise reduziert auf schließlich lediglich
eine Annahme- oder Zurückweisungsentscheidung,
und zwar unter Verwendung von Booleschen Verknüpfungen, die an Erfolg- oder
Fehlschlag-Zuständen
durchgeführt
werden, wie sie gemäß dieses Verfahrens
für jeden
Zyklus und jede Phasendifferenz, dargestellt beispielsweise durch
Einträge
in der Matrix, wiedererlangt werden.
-
In
einem ersten Schritt werden die Erfolg- oder Fehlschlag-Zustände jedes
Datensignals mit denjenigen des Taktsignals unter Verwendung einer ersten
Booleschen Verknüpfung
kombiniert. Welche Verknüpfung
tatsächlich
auf die beiden jeweiligen Zustände
(Takt und Daten) angewendet wird, hängt davon ab, welche Bedingungen
durch die Strobes bezüglich
des Daten- und des Taktsignals erfüllt werden müssen.
-
Beispielsweise
kann, in dem Fall, dass ein Taktsignal bezüglich des Datensignals einen
konstanten Versatz aufweisen soll, um ein stabilisiertes Datensignal
zu erhalten, wenn Datenbits tatsächlich durch
eine Empfangsvorrichtung ausgelesen werden, die Richtigkeit dieser
Zeitsteuerung in jedem Zyklus unter Verwendung des vorliegenden
Verfahrens durch Platzieren von Strobes in diesen Versatzintervall
getestet werden. Ein Strobe validiert, ob ein neuer Zyklus des Datensignals
bereits begonnen hat, wohingegen das andere Strobe validiert, ob
ein neuer Zyklus eines Taktsignals nicht bereits begonnen hat. Bei
einer derartigen beispielhaften Konfiguration wird ein kombinierter
Erfolg-Zustand erreicht,
wenn beide Strobes in einem Vergleich keinen Fehler ergeben, was
bedeutet, dass die Boolesche Verknüpfung durch ein logisches „ODER" realisiert werden
kann, wenn der Erfolg-Zustand jeweils als eine „0" oder durch ein „NAND" ausgedrückt ist, wenn der Erfolg-Zustand
als eine „1" ausgedrückt ist.
-
In
einem weiteren beispielhaften Fall werden Übergänge von Daten- und Taktzyklen
betrachtet, die darauf abzielen, in Zeit oder Phase koinzident sein. Hierin
sind auch die für
das Datensignal und für
das Taktsignal erzeugten Strobes koinzident. Die Validierung einer Übereinstimmung
der jeweiligen Zyklen der Signale betrifft ein Abtasten der Strobes über den Zyklusübergang
bezüglich
der Phase. Da ein koinzidenter Fehler, der durch den Vergleichsschritt
auf beiden Seiten der Signale – Takt
und Daten – für einen
gegebenen Zyklus als der Grund dafür angenommen werden kann, dass
dieses Ereignis einfach einen koinzident frühen oder späten Übergang darstellt, ist ein
logisches „EXOR" (exklusives „ODER") in diesem Fall
die geeignete Boolesche Verknüpfung, um
Takt- und Daten-Erfolg- oder -Fehlschlag-Zustände
zu kombinieren. Jedoch ist die Erfindung nicht auf diese Beispiele
beschränkt
und es können
auch andere Boolesche Verknüpfungen
eingesetzt werden.
-
In
einem nächsten
Schritt wird überprüft, ob jede
der Schnittstelle zugeordnete Datenleitung einen Erfolg-Zustand
für einen
gegebenen Zyklus erzielt. Falls beispielsweise lediglich eine Datenleitung oder
ein Datenleitungstestkanal aus einer Anzahl von Datenleitung (und
ihrer zugeordneten Taktleitung), beispielsweise 16 oder 32, einen
Fehlschlag-Zustand ergibt,
ergibt sich für
diesen Zyklus ein aufsummierter „Fehlschlag" oder „1". Auf einer Testvorrichtung
kann eine derartige Verknüpfung
als eine einfache und schnelle „Verdrahtetes-ODER"-Verknüpfung angeordnet
sein.
-
Ein
nächster
Schritt des vorliegenden Verfahrens kann beispielsweise sein, die
Menge von Daten in der kombinierten Datenstruktur oder Matrix zu reduzieren.
-
In
dem ersten beispielhaften Fall eines Taktsignals mit einer Phasenverschiebung
bezüglich
des Datensignals kann dies durch Überprüfen dessen, ob für einen
gegebenen Zyklus irgendeine Phase oder Phasendifferenz für ein Strobe
existiert, das einen kombinierten Erfolg-Zustand – und nicht
nur Fehlschlag-Zustände – bereitstellt,
durchgeführt
werden. Wenn zumindest ein Erfolg-Zustand für diesen Zyklus besteht, wird
angenommen, dass der Empfangsabschnitt der zwei Vorrichtungen, die
miteinander über
eine Quellensynchronschnittstelle kommunizieren, in der Lage ist,
den korrekten Bitinhalt des Datensignals exakt wiederzugewinnen.
Das Ergebnis dieser Verknüpfung
ist lediglich ein Erfolg- oder Fehlschlag-Zustand pro Zyklus. Dies
gilt für
jede Gruppe von Daten und Takt. Beispielsweise kann ein logisches „ODER" an den Fehlerbits
durchgeführt
werden, um diese Aufgabe zu erfüllen.
-
Nun,
da jeder Zyklus auf den Erfolg- oder Fehlschlag-Zustand hin überprüft wird, kann eine weitere
logische Verknüpfung
angewendet werden, die überprüft, ob alle
der Zyklen einen Erfolg-Zustand bereitstellen. In einem Fall, in
dem „Erfolg" durch eine „0" repräsentiert
ist, kann diese Verknüpfung
beispielsweise ein logisches „NAND" sein. Alternativ können Erfolg-Zustände ergänzt werden,
um durch eine „1" repräsentiert
zu sein, in welchem Fall ein logisches „ODER" angewendet werden kann, usw.
-
In
dem zweiten beispielhaften Fall von Takt- und Datensignalen, die
zwischen den Bitzyklen koinzidente Übergänge aufweisen, wird dies durch Überprüfen dessen
durchgeführt,
ob keine Phase oder Phasendifferenz für ein Strobe besteht, das einen kombinierten
Fehlschlag-Zustand für
einen gegebenen Zyklus bereitstellt – oder in anderen Worten: ob es lediglich
kombinierte Erfolg-Zustände
für einen gegebenen
Bitzyklus gibt.
-
Es
versteht sich von selbst, dass der spezifische Satz logischer Verknüpfungen,
der in diesem Dokument bereitgestellt ist, alternativ auch als eine Kombination
aus anderen logischen Ausdrücken ausgedrückt werden
kann, um die erwünschten
Ergebnisse bezüglich
der Fehlerbitanalyse zu erhalten, und dass die Erfindung sich auf
beliebige derartige Kombinationen erstreckt.
-
Das
Endergebnis des vorliegenden Verfahrens ist dann lediglich ein Erfolg-
oder Fehlschlag-Zustand, gemäß dem die
Vorrichtung angenommen oder zurückgewiesen
werden kann.
-
Abschließend sei
gesagt, dass gemäß dem Verfahren
der Erfindung die Daten- und Taktsignale einer Vorrichtung mit einer
Quellensynchronschnittstelle sequentiell oder parallel abgetastet
werden, jeweils bezüglich
einer Phase durch durch einen unabhängigen Takt der Testeinrichtung
erzeugte Strobes und die Ergebnisse eines Erfassens und Vergleichens
für beide
Arten von Signalen dann unter Verwendung Boolescher Logik kombiniert
werden.
-
Ein
Vorteil ergibt sich aus der Tatsache, dass verfügbare Testeinrichtungen bereits
Hochpräzisionssteuerungen
für die
Erzeugung und Bereitstellung von Strobeeinstellung für jeden
untersuchten Pin koinzident bereitstellen. Die Phasenabtastung mit
den Strobes liefert eine volle Abdeckung sowohl der Daten- als auch
der Taktsignale. Dabei wird eine Analyse dessen, was aus den gesendeten
Signalen durch eine zweite Vorrichtung, die mit der ersten Vorrichtung über die
Quellensynchronschnittstelle kommuniziert, wiedergewonnen werden
kann, während Effekte
wie sich wiederholender oder zufälliger
Gemeinsamphasenjitter vorliegen, unter Verwendung von Booleschen
Verknüpfungen
durchgeführt.
Diese Verknüpfungen
werden durch eine Hardware- und/oder Soft wareeinrichtung durchgeführt, die durch
die Testeinrichtung bereitgestellt ist.
-
Das
Abtasten einer Zyklusphase durch die Strobes kann entweder durch
Wiederholen der Testsequenz oder durch paralleles Anlegen mehrerer Strobes
durchgeführt
werden, oder, mit anderen Worten, durch Strobes, die mehr als ein
Strobe pro Zyklus ergeben, wenn sie gleichzeitig auf eine Testsequenz
oder einen Schuss angewendet werden.
-
Es
ist offensichtlich, dass die Erfindung teilweise oder vollständig durch
ein oder mehrere geeignete Softwareprogramme ausgeführt oder
unterstützt werden
kann, die auf einer beliebigen Art von Datenträger gespeichert oder durch
dieselbe bereitgestellt sein können,
und die in oder durch eine geeignete Datenverarbeitungseinheit abgearbeitet
werden können.
Nichtsdestotrotz wird die Erfindung besonders vorteilhaft, wenn
sie als Hardware bezüglich
eines Testprozessors, der auf einer Testplatine der Testvorrichtung
zusammen mit einer CPU angeordnet ist, implementiert wird, wobei
eine Testzeitreduzierung erreicht wird, und zwar besonders, wenn
jeder einzelne Testprozessor pro Pin zweckgebunden ist.
-
Kurze Beschreibung der Zeichnungen
-
Andere
Aufgaben und viele der begleitenden Vorteile von Ausführungsbeispielen
der vorliegenden Erfindung werden durch Bezugnahme auf die nachfolgende
ausführlichere
Beschreibung bevorzugter Ausführungsbeispiele
im Zusammenhang mit den zugehörigen
Zeichnungen ohne weiteres anerkannt und besser Verstanden. Auf Merkmale,
die im Wesentlichen oder funktionell gleich oder ähnlich sind, wird
mit denselben Bezugszeichen Bezug genommen.
-
1 veranschaulicht
einen einstellungszeitkonformen Funktionstest;
-
2 zeigt
eine allgemeine Darstellung des spezifikationsbasierten Funktionstests,
wie er in 1 gezeigt ist, bei Vorliegen
eines Gleichtaktjitters;
-
3 zeigt
eine geringfügig
von der 2 abweichende Darstellung, die
die Gemeinsamer-Jitter-Modulation
(Zyklen um –90° gekippt)
anzeigt;
-
4 veranschaulicht
ein Verfahren zum Abtasten der Zyklen mit mehreren festen Strobes (Pfeilen)
gemäß einem
ersten Ausführungsbeispiel der
Erfindung;
-
5 zeigt
die Fehlerergebnisse des in 4 veranschaulichten
Verfahrens in einer Matrixdarstellung sowohl für den Takt als auch die Daten und
eine Kombination von durch eine Boolesche „ODER"-Verknüpfung erhaltenen
Fehlern;
-
6 zeigt
eine ausführlichere
Simulation der Vergleichsergebnisse für die Mehrphasenabtastung auf
einem Datengin (x-Achse: Zyklusnummer; y-Achse: Phase; dunkelgrau:
Fehlschlag; hellgrau: Erfolg);
-
7 zeigt
Vergleichsergebnisse für
die Mehrphasenabtastung wie in 6, jedoch
für den Taktpin
(Achsen wie in 3 oder 6);
-
8 zeigt
die Ergebnisse einer Booleschen „ODER"-Verknüpfung, die
an den Fehlerbits durchgeführt
wird (Fehlschlag: dunkelgrau, Erfolg: hellgrau) für einen
Takt (6) und Daten (7) für die Mehrphasenabtastung;
-
9 zeigt
die Ergebnisse einer Booleschen „ODER"-Verknüpfung einer
sequentiellen Phasenabtastung wie in 8, jedoch
für den
Fall eines asynchronen Gleichtaktjitters;
-
10 zeigt
die Vergleichsergebnisse einer Simulation für die Mehrphasenabtastung an
dem Datenpin wie in 6, jedoch bei Vorliegen eines
Relativzeitsteuerungsfehlschlags;
-
11 zeigt
Ergebnisse. eines Booleschen „ODER", das an Vergleichsergebnissen
von Daten gemäß 10 und
an Vergleichsergebnissen eines Takts gemäß 7 durchgeführt wird,
wobei diese Überlagerung
einen Relativzeitsteuerungsfehler anzeigt, der zu einer Entscheidung
führt,
die Vorrichtung zurückzuweisen;
-
12 zeigt
einen Aufbau eines zweiten Ausführungsbeispiels
der Erfindung;
-
13a bis 13d zeigen
verschiedene Fälle
eines Zeitsteuerungs fehlers von Takt- und/oder Datenübergängen gemäß dem zweiten
Ausführungsbeispiel;
-
14 veranschaulicht
eine Anwendung des Verfahrens des zweiten Ausführungsbeispiels gemäß der vorliegenden
Erfindung;
-
15 zeigt
eine Matrixdarstellung der Ergebnisse einer Booleschen Exklusiv-„ODER"-Verknüpfung gemäß dem zweiten
Ausführungsbeispiel.
-
Bei
einem ersten Ausführungsbeispiel
des Verfahrens gemäß der vorliegenden
Erfindung wird ein spezifikationsbasierter Funktionstest durchgeführt. Hierin
wird sowohl eine funktionale Verifizierung als auch ein Testen eines
Testobjekts mit einer Zeitsteuerung und/oder einer Pegelspezifikation
in einer einzigen Funktionstestausführung erzielt. Somit verbindet
er sowohl den parametrischen als auch den logi schen Test, wenn er
die Annahme- oder Zurückweisungsentscheidungen
für diese
Vorrichtung erzielt. 1 zeigt ein Beispiel einer Einstellungszeitspezifikation,
die für
dieses erste Ausführungsbeispiel
verwendet wird.
-
Ein ähnliches
Ausführungsbeispiel
könnte für eine Spezifikation
einer Haltezeit, die eine Minimalzeit zum Halten der Bitinformationen
auf einem stabilisierten Pegel, nachdem dieser Pegel abgetastet
wurde, wenn ein Taktübergang
stattgefunden hat, einstellt, gezeigt werden. In einem gewissen
Sinne stellen Einstellungszeit und Haltezeit zusammen die Länge des
Datenauges bereit.
-
Das
Testobjekt (DUT) gibt das Taktsignal zusammen mit den Datensignalen
in dem Sendeabschnitt einer IO-Schnittstelle aus, um eine Phasenreferenz
an die Testvorrichtung, d. h. den Verknüpfungspartner, zu liefern.
Die Einstellungszeitspezifikation stellt sicher, dass der Taktübergang,
der die Gültigkeit
der Daten anzeigt, nicht stattfindet, bevor die Daten für einen
gegebenen Zeitraum stabil gewesen sind. Zum Testen dieser Spezifikation
in demselben Schuss wie den logischen Inhalt der Daten wird das
Strobe, das das Taktsignal abtastet, um die spezifizierte Einstellungszeit
verglichen mit dem Strobe, das das Datensignal abtastet und validiert,
verzögert. Mit
einer derartigen auf die Spezifikation abgestimmten Testzeitsteuerung
kann sichergestellt werden, dass weder der Datenübergang noch der Taktübergang
sich über
ein annehmbares Minimum, d. h. die Einstellungszeit, hinaus aufeinander
zu bewegen.
-
In 1 angezeigte
Spielräume
berücksichtigen
eine vorrichtungsspezifische Phasenschwankung. Diese Einstellungszeitspezifikation
kann lediglich für
Bis getestet werden, die einen Datenübergang erzeugen, was bei dem
Taktsignal stets der Fall ist. Jedoch können angrenzende Bits, mit
gleichen Bitinformationen, die in dem Datensignal auftauchen, unter
der Voraussetzung, dass der Dateninhalt korrekt ist, Erfolg-Zustände ergeben.
-
Ist
ein Betrag von Gleichtaktjitter sowohl in den Daten- als auch den Taktübergängen hoch,
wird eine herkömmliche
Teststrategie unter Verwendung eines einzigen festen Satzes eines
Strobe voraussichtlich fehlschlagen. Aufgrund des Gleichtaktjitters bewegen
sich Takt- und Datenzyklusübergänge gleichzeitig
in der Phase vor und zurück.
Erhöht
sich der Jitter, verringern sich die Spielräume, was Fehlschlag-Zustände hervorruft,
sobald die Übergänge die
festen Strobezeitpositionen kreuzen. Wie im Vorhergehenden erläutert, ist
die Strobezeiteinstellung einer Testereinrichtung weniger als die
Sendevorrichtung durch den Jitter beeinträchtigt.
-
In
einem Fall, in dem eine Datenempfangsvorrichtung, die nicht eine
Testvorrichtung gemäß diesem
Ausführungsbeispiel,
sondern ein gewöhnlicher
Kommunikationspartner ist, mit einer Quellensynchronschnittstelle
arbeitet und mit der Vorrichtung (die derzeit getestet wird) kommuniziert,
ist diese Empfangsvorrichtung und ihre Schnittstelle allgemein in
der Lage, die Gleichtaktphasenschwankungen nachzuführen. Dies
ist besonders dann der Fall, wenn eine dynamische Phasennachführung Teil
der Schnittstellenentwurfsarchitektur ist und die Frequenz sich
innerhalb des Zielnachführungsbereichs befindet.
Das vorliegende Verfahren zum Testen folgt nicht dem Ansatz eines
dynamischen Phasennachführens,
wie es im Nachfolgenden erläutert
ist.
-
Die
Wirkung des Gleichtaktjitters ist hinsichtlich einer Phasenmodulation
in 2 und 3 veranschaulicht. Während 2 eine
herkömmliche Darstellung
des Signalpegels über
der Zeit entlang der x-Achse zeigt, zeigt 3 die Datenbits
der einzelnen Zyklen, die gegen den Uhrzeigersinn um 90° gekippt
sind, derart, dass die Phase jedes Zyklus durch die Position des Übergangs
bezüglich
der y-Achse in Abhängigkeit
von der Zeit entlang der x-Achse angezeigt ist.
-
In
einer derartigen Darstellung wird das Gliechtaktjittermodulationssignal,
das in diesem Fall zu Demonstrationszwecken ein sinusförmiges Signal ist,
deutlich sichtbar, wie es durch die gepunktete Kurve in 3 angezeigt
ist. Aus einem Vergleich der Strobepositionen, die in den Figuren
durch Pfeile angezeigt sind, mit der sinusförmigen Jitterfunktion zeigt
sich, dass sich für
die aktuelle Strobephase hinsichtlich des zweiten Bitzyklus N des
Taktsignals und des vierten Zyklus N + 2 für das Datensignal Fehler ergeben.
-
In
einem nächsten
in 4 gezeigten Schritt werden die Zyklen wiederholt
mit mehreren festen Strobes abgetastet, um festzustellen, ob es
zumindest ein Strobe gibt, für
das die gegebene Spezifikation, z. B. die Einstellungszeit, erfüllt ist.
Bei diesem einfachen Ausführungsbeispiel
benutzt die Abtastung mehrere Strobes, die durch eine gleiche Phase beabstandet
sind. Jedoch ist es gemäß einem
alternativen Ausführungsbeispiel
möglich,
eine ungleiche/nichtlineare Beabstandung der Strobes zu verwenden.
Für jede
Phasendifferenz eines Strobe bezüglich
einer festen Zykluszeit ergeben sich abhängig von der Phase des Strobe
Fehler. Die Fehler finden an unterschiedlichen Instanzen für das Takt-
und das Datensignal statt. Nichtsdestotrotz erhält, sobald sich ein Fehler
für eine
gegebene Phase des Strobe entweder für den Takt oder für die Daten
ereignet hat, der entsprechende Bitzyklus einen Fehlschlag-Zustand
bezüglich
dieser Phase.
-
Ferner
gibt es auch in jedem Zyklus Strobes, die keine Fehler aufdecken – weder
für das
Taktsignal noch für
das Datensignal. Dementsprechend liefert dieser Bitzyklus das korrekte
Ergebnis für
die gegebene Phase des Strobe. Jedoch ereignen sich diese fehlerfreien
Strobes an unterschiedlichen Phasen für jeden der Bitzyklen N – i, ...,
N + 2, die in 4 gezeigt sind. Da nun eine
gewöhnliche
Datenempfangsvorrichtung in der Lage ist, diese Phasenschwankungen
mittels einer dynamischen Phasennachführung nachzuführen, werden
die in 4 angezeigten Zyklen hierin so betrach tet, dass
sie die Einstellungszeitspezifikation erfüllen, wenn zumindest ein Phasenabtastungsschritt
in diesem Bitzyklus einen Erfolg-Zustand erhält.
-
Gemäß diesem
ersten Ausführungsbeispiel werden
die Daten- und Taktsignale
bis zu der vollen Abdeckung vieler (Teilsatz aller Zyklen eines
Schusses) oder aller Bitzyklen und bezüglich der Phase ausführlich strobeabgetastet. 4 zeigt
lediglich schematisch vier abgetastete Bitzyklen und fünf angelegten
Phasendifferenzen jeweiliger Strobes, d. h. eines Abschnitts von
5 Zeilen über
4 Spalten einer wesentlich größeren Matrix.
Die Einträge
in die Matrix sind eine „0" für einen
Erfolg und eine „1" für einen Fehlschlag
(angezeigt durch die graue oder schwarze Unterlegung der Strobepfeile
in 4). Diese Werte werden für das Daten- und das Taktsignal jeweils getrennt
erhalten.
-
Als
nächstes
wird ein Nachverarbeitung an diesen Matrixeinträgen durchgeführt, nachdem
diese durch die Strobes abgetastet, verglichen und als Fehlerergebnisse
(Erfolg oder Fehlschlag, „0" oder „1") gespeichert wurden.
Die Zeilen stellen die Zyklusnummer dar, und die Spalten stellen
die Phasenabtastungsschrittnummer dar. Phasenschritte in einem Zyklus,
die die Einstellzeitspezifikation, wie sie im Vorhergehenden erläutert wurde,
erfüllen,
werden mittels einer Booleschen „ODER"-Verknüpfung zwischen allen entsprechenden
Einträgen
der Matrizen für
jedes Daten- und Taktsignal bestimmt. Abtastwertabschnitte der Matrizen,
die der in 4 gezeigten Situation entsprechen,
sind in 5 gezeigt, wobei die sich ergebende
kombinierte Matrix unten gezeigt ist.
-
5 zeigt,
dass die Matrix, die verwendet wird, um das Boolesche ODER-Ergebnis
zu speichern, die Gleichtaktphasenschwankung mit einem Band von
Nullen, das dem durch eine gepunktete Kurve angezeigte Modulationssignal
folgt, reflektiert. Die Breite dieses Bandes repräsentiert
den Einstellungszeitspielraum.
-
Die
Grenzen, die das Band bilden, können korreliert
sein oder nicht, und eine Nachverarbeitung dieser Daten kann verwendet
werden, um eine Analyse und eine Fehlerbeseitigung weitergehend
zu unterstützen.
Im Besonderen kann an diesen Daten eine Kreuzkorrelation und eine
weitergehende statistische Analyse durchgeführt werden.
-
Das
Ergebnis einer vollständigen
Simulation des Verfahrens ist in 6 bis 11 gezeigt.
Es wird ein Datenpin und ein Taktpin mit 64 Zyklen und 60 Phasenstrobevergleichsschritten
verwendet. Ein sinusförmiger
Gleichtaktjitter beträgt
0,2 UIpp. Die Einstellungszeitspezifikation war auf 0,5 UI eingestellt,
und die tatsächliche
Einstellungszeit beträgt 0,14
UI, was einen Spielraum von 0,09 UI lässt. Die Simulation enthielt
ferner einen 0,1 UIrms-Jitter auf den Abtaststrobes, um ein Rauschen
des Testersystems wiederzugeben. Erfolg-Zustand-Ergebnisse für ein Strobe
werden jeweils in Hellgrau gezeigt, und ein Fehler wird durch dunkelgrau
angezeigt. Die Strobephasenabtastungsschritte beginnen bei –0,2 UI
außerhalb
des Zyklus und schreiten mit einer Schrittgröße von 0,01 UI bis +0,4 UI
fast in der Zyklusmitte fort.
-
Das
Vergleichsergebnis für
das Datensignal (siehe 6) zeigt Fehler, solange das
Ergebnis außerhalb
des Datenauges abgetastet wird. In dieser Region tauchen Spalten
mit Voller-Erfolg-Zuständen gelegentlich
zwischen Regionen, die einen Fehlschlag-Zustand widerspiegeln, auf.
Dies geschieht aufgrund von angrenzenden Bits, die denselben logischen
Wert darstellen, d. h., es findet an der Bitzyklusgrenze kein Übergang
statt. Somit wird, selbst wenn das Strobe außerhalb des Bitzyklus positioniert ist,
kein Fehlschlag-Zustand
vorgefunden, was als ein blindes Bit bezeichnet wird. Wenn die Strobephase
in entsprechende Bitzyklen eintritt, werden Erfolg-Zustände vorgefunden.
Aufgrund des hier vorgefundenen wiederholten Gleichtaktjitters bewegt
sich die Erfolg-/Fehlschlag-Grenze in einer Sinusform.
-
7 zeigt
analog das Ergebnis einer Abtastung des Taktsignals mit mehreren
Phasenschritten, wobei jeder Schritt durch unterschiedliche Strobes dargestellt
ist. Jedoch werden hier Fehlschlag-Zustände hin zu negativen Werten
der (absoluten) Phase vorgefunden, da das entsprechende Taktstrobe den
Taktbitzyklus verlässt,
wenn das Datenübernamesignal
dazu neigt, in den entsprechenden Datenbitzyklus einzutreten, wenn
sich beide zusammen in einer Phase oder Zeit bewegen.
-
8 zeigt
die Überlagerung
beider durchgeführten
Matrizen mittels einer Booleschen „ODER"-Verknüpfung, die auf jeden der zugeordneten
Matrixeinträge
angewendet wird. Ein fehlerfreies Band mit einer Breite von 0,09
UI, das den Einstellungszeitspielraum bezüglich der verwendeten Spezifikation
zeigt, ist genauso wie die Sinusform der Gleichtaktjittermodulation
mit einer Amplitude von 0,2 UIpp auf beiden Erfolg-/Fehlschlaggrenzen
sichtbar. Ein Verwenden lediglich eines Einzelphasenschritts zum
Testen der Vorrichtung würde
aufgrund des erheblichen Jitters keinen zusammenhängenden Erfolg über alle
Zyklen hinweg ergeben.
-
Als
nächstes
wird ein Gesamt-Erfolg-Zustand durch Verifizieren, dass das Boolesche „ODER" einen Erfolg für zumindest
einen Phasenschritt in jedem einzelnen Bitzyklus, unabhängig dessen,
ob er in benachbarten Zyklen stattfindet oder nicht, bestimmt.
-
Der
Fall eines asynchronen, sich nicht wiederholenden Gleichtaktjitters
ist in 9 gezeigt. Eine sorgfältige Betrachtung der Matrix
oder des Graphen zeigt, dass die Bedingung für einen Erfolg erfüllt wird,
da es für
jeden Zyklus zumindest einen Phasenschritt gibt, der einen Erfolg
erzielt, was auch durch eine gewöhnliche
Partnervorrichtung, die mit der derzeit getesteten Vorrichtung verknüpft ist,
mittels einer Phasennachführung
nachgeführt
werden könnte. Auch
wenn bei den meisten der Anwendungen davon ausgegangen wird, dass
die Quellen für
den Gleichtaktjitter an das an der Vorrichtung ausgeführte Testmuster
gebunden sind, ist es ein wichtiger Vorteil, dass das Verfahren
auch den asynchronen, zufälligen
Fall abdeckt.
-
Als
nächstes
wird der Fall eines Defekts, der durch einen Relativzeitsteuerungsfehlschlag
oder einen Differenzjitter zwischen Takt und Daten widergespiegelt
wird, betrachtet. Wie zu erwarten, hat ein derartiger Fehlschlag
zur Folge, dass sowohl auf dem Taktsignal als auch auf dem Datensignal
in einem Zyklus oder mehreren Zyklen kein Erfolg erhalten wird,
ungeachtet dessen, welche Phasenposition für die Strobes ausgewählt ist.
Mit anderen Worten, selbst wenn die Gleichtaktjitterverschiebung
für den jeweiligen
Bitzyklus, der einen Fehlschlag-Zustand durchläuft, vorher bekannt wäre, können die
Strobes für
das Taktsignal und das Datensignal, die beide um eine Einstellungszeitspezifikation
beabstandet sind, nicht eingestellt werden, so dass beide Strobes
zu einem Erfolg-Zustand für
diesen Zyklus führen.
Dieser Test-Zustand spiegelt den Fall wider, in dem ein gewöhnlicher
Vorrichtungspartner, der mit dem vorliegenden DUT über eine
Quellensynchronschnittstelle verbunden ist, ebenfalls diese Phasenschwankung nicht
nachführen
kann.
-
10 zeigt
die Simulation eines derartigen Falls bezüglich des Datensignalstrobe
und Vergleichsergebnissen, wobei in dem Zyklus 10 ein Relativzeitgebungsfehler
stattfindet. Eine Verzögerung
von 0,2 UI auf dem Datenübergang
für diesen
Zyklus wurde in diesem Zyklus angelegt, um den Fehlschlag zu simulieren.
Dies führt
zu Fehlern, die sich um 0,2 UI über
die reguläre
sinusförmige
Erfolg/Fehlschlaggrenze in Zyklus 10 hinaus erstrecken. Die Taktsignalmatrix ähnelt der
der 7. Nachdem eine Boolesche „ODER"-Verknüpfung angewendet wurde, zeigt die
resultierende Matrix ein Muster wie in 11 gezeigt.
In diesem Graphen unterbricht die dem zehnten Bitzyklus zugeordnete
Spalte aufgrund der erweiterten Fehlschlag-Zustände das sinusförmige Durchlassband
und belegt somit die eindeutigen Erfassungskriterien des vorliegenden
Verfahrens.
-
Ein
zu dem in 11 gezeigten ähnlicher Graph
kann für
einen Relativzeitsteuerungsfehlschlag auf dem Taktsignal, das den
Taktübergang
zu dem Beginn des Zyklus weiterbewegen würde, erzeugt werden. Es gibt
jedoch einen Hauptunterschied zwischen Takt und Daten. Wenn die
Quelle für den
Relativzeitsteuerungsfehler in einem Zyklus entsprechend eines blinden
Bits aktiviert wird, findet kein Übergang statt und somit hat
ein einen Fehlschlag erzeugenden Prozess keine Wirkung.
-
Ein
zweites Ausführungsbeispiel
der vorliegenden Erfindung bezieht sich auf eine Quellensynchronschnittstelle,
die Daten- und Taktsignale sendet, die keine Phasenverschiebung
aufweisen, d. h., Übergänge von
Bitzyklen sind gleichphasig. Diese Implementierungen beziehen sich
oft auf Hochgeschwindigkeitsspeicherarchitekturen, wie z. B. einen DDR-Speicher (DDR = Double
Data Rate = Doppeldatenrate). In diesem Fall muss keine Einstellungszeitspezifikation
getestet werden, sondern die Synchronität beider Übergänge unterliegt einem Test wie er
nachfolgend erläutert
ist.
-
Wie
bei dem ersten Ausführungsbeispiel empfängt die
Testvorrichtung das Datensignal sowie sein zugeordnetes Taktsignal.
Es werden Strobeeinstellungen erzeugt, um die in den Zyklen beider
Signale enthaltenen Bitinformationen abzutasten. Darin wird die
Phasendifferenz bezüglich
eines angenommenen Übergangs
durch Erzeugen mehrerer Strobes abgetastet. Ein Beispiel ist in
der schematischen Zeichnung der 12 zu
sehen. Beide Strobes der jeweiligen Einstellungen für Takt und
Daten (angezeigt durch Pfeile) sind zeit- bzw. phasenkoinzident, da
bei diesem Ausführungsbeispiel
eine Synchronität von Übergängen getestet
werden soll. Jedoch sind die Größe des Daten-
und Taktauges sowie die relative Position in einer Phase bisher
unbekannt. Somit werden, um Fehler und/oder unannehmbare Verzögerungen zu
erfassen, die Bitzyklen durch Variieren der Phase der Strobes bezüglich Zyklusübergängen abgetastet.
-
Das
Auftreten eines Gleichtaktjitters ist unter Verwendung von Phasennachführung für Quellensynchronschnittstellen
vergleichsweise harmlos, was in den 13a bis 13d zu sehen ist. 13a stellt
den Fall dar, bei dem die Strobes innerhalb des Zyklus positioniert
sind, von dem angenommen wird, dass sie gemäß einer vorbestimmten Bitinformationssequenz
auf ihn bezogen sind. Ferner sind die Übergänge sowohl von Daten als auch
Takt synchron. Als Folge ergibt der Validierungsschritt mit einer
Erfassung und einem Vergleich gemäß dem Verfahren der Erfindung
einen Erfolg-Zustand für
diesen Zyklus und diese Phase, wie es in 13a angezeigt ist,
sowohl für
Takt als auch Daten. Das gleiche gilt, wenn beide Strobes für Takt und
Daten koinzident außerhalb
des Zyklus liegen, was in 13b veranschaulicht
ist.
-
Die
Phaseneinstellung für
das jeweilige Strobe von Daten und Takt weist keine Verschiebung
wie in dem vorhergehenden Ausführungsbeispiel
auf. Jedoch sind sie phasenkoinzident. In dem Fall eines Gleichtaktjitters
ergeben beide Erfolg- und
Fehlschlag-Zustände.
Wenn beide Signal Erfolg-Zustände
ergeben oder beide einen Fehlschlag-Zustand ergeben, ist das Gesamtergebnis
ein Erfolg-Zustand. Ein Gesamtfehlschlag tritt nur ein, wenn entweder
ein Taktstrobe in einem Zyklus fehlschlägt und das Datenstrobe in dem
entsprechenden Datenzyklus erfolgreich ist, oder umgekehrt, was
in 13c und 13d zu
sehen ist.
-
Folglich
kann eine geeignete logische Verknüpfung zum Kombinieren der Vergleichsergebnisse
von Takt und Daten durch ein Exklusiv-„ODER” dargestellt sein.
-
14 ist
eine Darstellung von Strobes, die mit einer abweichenden Phase φ bezüglich der
Zyklen von Takt und Daten erzeugt wurde, die ähnlich der in 3 für das erste
Ausführungsbeispiel
gezeigten Darstellung ist. Die Zyklen sind in dieser Darstellung
um 90 Grad gekippt. Die y-Achse entspricht der Phasenverschiebung,
die x-Achse repräsentiert die
Zyklusnummer, wobei 10 Zyklen schematisch gezeigt sind. Wie es durch
die Kurve in dem oberen Abschnitt (Takt) und dem unteren Abschnitt
(Daten) des Diagramms angezeigt ist, liegt ein sinusförmiger Jitter
vor. Die Kurve ist so gezeichnet, dass sie die Übergänge der Zyklen verbindet. Horizontale
Pfeile zeigen die Phase der Strobes an. Strobepfeile entlang jeder
der gepunkteten horizontalen Linien beziehen sich auf dasselbe Strobe.
Strobes, die oberhalb dieser Übergangskurve
liegen, ergeben einen Fehler nach dem Vergleich, diejenigen unterhalb
dieser Kurve ergeben einen Erfolg-Zustand.
-
Zwei
Fälle von
Zeitsteuerungsfehlschlägen finden
in der Bitsequenz des Datensignals statt, und zwar einer in dem
dritten Zyklus und der anderen in dem sechsten Zyklus in 14.
Jeweils zwei Strobes beziehen sich auf Daten, was folglich einen
zusätzlichen
Fehlschlag-Zustand ergibt, was für
die entsprechenden Zyklen in dem Taktsignal nicht gleichzeitig der
Fall ist.
-
Die
Ergebnisse der Exklusiv-„ODER"-Verknüpfung sind
in der Matrixdarstellung der 15 gezeigt.
Somit liegen Fehlschlag-Zustände
in Spalte 3, Zeile 2 und 3 sowie in Spalte 6, Zeile 3 und 4 vor.
-
Ferner
weisen gemäß diesem
zweiten Ausführungsbeispiel
Spalten der Matrix, die Zyklusnummern entsprechen, die in der Tat
keinen Übergang von
Bitpegeln aufweisen, d. h. von denen zwei aufeinanderfolgende Bits
dieselben sind, überhaupt
keine Fehlerwerte. Das Taktsignal wird jedoch in jedem Fall einige
Teststrobes mit einer großen
Phase aufweisen, die außerhalb
des Taktdatenauges liegen und einen Fehler in einem Vergleich ergeben.
Als Folge ergibt das Exklusiv-„ODER” ebenfalls
einen Fehler für
diese Strobes.
-
Um
dieses Problem zu umgehen, werden diejenigen Zyklen, die Fällen entsprechen,
in denen kein Übergang
stattfindet, vor dem Durchführen
der Booleschen Verknüpfung
maskiert, wie es in 15 für die zweite, vierte und neunte
Spalte (Zyklen) angezeigt ist.
-
Die
vorliegende Erfindung kann vorteilhafterweise in einer Hardwarekonfiguration
einer Testvorrichtung, beispielsweise einer ATE 2, wie
sie in einem in 16 gezeigten dritten Ausführungsbeispiel
angezeigt ist, ausgeführt
sein. Verfügbare
Tester-pro-Pin-Architekturen wie beispielsweise diejenigen, die
durch die Anmelderin, Agilent Technologies, Inc., Palo Alto, Ca.,
entwickelt und hergestellt wurden, stellen große Mengen eines einheitlichen
Speichers 22, der pro Pin 14 verfügbar ist,
und somit eine große
Speicherungskapazität
für das
Vergleichsergebnis pro Zyklus und pro Vergleichsstrobe (d. h. abgetastete
Phase) bereit. Die Hardwarearchitektur des Testprozessors 20,
der in diesem Fall einem Testerkanal (Datenleitung) zugeordnet ist,
ermöglicht
verglichen mit einer ausschließlich
softwarebasierten Nachverarbeitung unter Verwendung lediglich der CPU
der Steuerung 30 des ATE 2 eine Verschnellerung.
-
Die
ATE 2 weist einen Testertakt 26, ferner eine Schnittstelle 28 mit
einer Steuerung 30 und eine Anzahl von Testerkanalplatinen 16 auf.
In der Figur weist jede Platine vier Testerkanäle auf, die jeweils einen Pin 14,
eine Eingangseinheit 18, einen Testprozessor 20 und
einen einheitlichen Kanalspeicher 22 aufweisen, auf. Jeder
Pin ist mit einer der Datenleitungen 10 oder mit der Taktleitung 12 verbunden,
die eine Verbindung mit der Quellensynchronschnittstelle 8 des
Testobjekts 4 bilden, das ferner eine Kernlogik 6 aufweist.
-
Gemäß diesem
Ausführungsbeispiel
stellt der Testprozessor 20 eine Logische-Verknüpfung-Einheit
dar, die angeordnet ist, um eine logische Boolesche Verknüpfung zwischen
den Vergleichsergebnissen für
jeden von entsprechenden Zyklen des Datensignals und des Taktsignals
und für
jedes Vergleichsstrobe durchzuführen.
Darin ordnet sie jedem Zyklus und jeder angepassten Phase beider
Signale einen kombinierten Erfolg- oder Fehlschlag-Zustand zu.
-
Vor
einem Anwenden der Booleschen Verknüpfung unter Verwendung des
Testprozessors 20 wird zuerst unter Verwendung von Pegelkomparatoren
jeder der Analogsignalpegel, die an den jeweiligen Pins 14 der
Testerkanale eingehen, in einen diskreten Pegel umgewandelt, der
einen Binärinformationsinhalt
widerspiegelt. Anschließend
verwendet eine Abtasteinheit die vordefinierten Strobes, um das Binärsignal
abzutasten, um diskrete Bitwerte zu den gegebenen (diskreten) Strobezeitsteuerungen
zu erhalten. Nachfolgend führt
der Testprozessor 20 automatisch den Vergleichsschritt
und das Boolesche „ODER" bezüglich der
kombinierten Fehlerergebnisse der Takt- und Datensignale durch.
-
Der
Komparator und die Abtasteinheit, die eine Eingangseinheit 18 bilden,
ergeben ein zeit- und wertdiskretes Signal, das dann durch den Testprozessor 20,
der eine Logische-Verknüpfung-Einheit darstellt,
verarbeitet werden kann. Sowohl die Eingangseinheit 18 als
auch der Testprozessor 20 können große Datenvolumen effizient handhaben.
Ferner können
sowohl die Eingangseinheit 18 als auch der Testprozessor 20 einer
Pinelektronikkanaleinheit zugeordnet sein, die einen weiteren Einheitsspeicher aufweist,
der verwendet wird, um die Datenvolumen zu speichern. Der Testprozessor 20 darin
speichert die abgetastete Bitsequenz sowie eine erwartete Bitsequenz
und ferner die Vergleichsergebnisse aus beiden Sequenzen. Gemäß einer
vorteilhaften Verbesserung kann ein Einheitsspeicher eines weiteren unbenutzten
Testprozessors, d. h., eine weitere Pinelektronikkanaleinheit, verwendet
werden, um die Ergebnisse der Booleschen Verknüpfungen wie folgt unverzüglich zu
speichern.
-
Vorteilhafterweise
kann das Ergebnis eines Booleschen „ODER", wenn es durch den Testprozessor aus
einem Phasenab tastschritt zurückgegeben wird,
in einen unbenutzten Kanalspeicher eines weiteren Pins, der derzeit
nicht Teil der Gruppe von Testkanälen ist, die dem Quellensynchronbus,
der getestet wird, zugeordnet sind, gespeichert werden. Der Testprozessor 20 verwendet
diesen vorübergehend zugeordneten
Kanalspeicher, um die Erfolg-Zustände inkremental über alle
Phasenabtastschritte hinweg aufzusummieren, um ein aufsummiertes
Erfolg- oder Fehlschlagergebnis für jeden Zyklus zu erhalten.
-
Bei
einer weiteren Verbesserung kann der Testprozessor 20,
der einem entsprechenden Testerkanal entspricht, angeordnet sein,
um die Erfolg- oder Fehlschlagergebnisse aller in dem vorübergehenden
Kanalspeicher gespeicherten Zyklen aufzusummieren, um das Gesamttestergebnis
zu bilden, das bei diesem Ausführungsbeispiel
durch eine Boolesche „UND"-Verknüpfung erzielt wird.
-
Alternativ
können
diese durch weitere Boolesche Verknüpfungen erhaltenen Ergebnisse
mittels einer Rückwandplatineneinheit
erzielt werden, die zwischen der Eingangseinheit 18 und
der Steuerung/der CPU angeordnet ist. In jedem Fall können die
Ergebnisse dann an die Anwendungsschicht der ATE-Software oder Firmware
gemeldet werden. Die Firmware steuert alle Zwischenschritte, während der Testprozessor 20 die
logische Verknüpfung
bei roher Hardwaregeschwindigkeit ausführt. Für jeden Taktbereich, der Teil
der Quellensynchronbusschnittstelle, die getestet wird, ist, wird
ein einziger Erfolg oder Fehlschlag an die Steuerung gemeldet.
-
Ein
Bewegen der Nachverarbeitung auf die Hardware der Eingangseinheit 18 und/oder
die Rückwandplatineneinheit 24 führt demzufolge
zu einer Durchsatzverbesserung mehrerer Größenordnungen, verglichen mit
dem Fall, bei dem alle Rohdaten hochgeladen würden und die Steuerung die
Nachverarbeitung bewerkstelligen müsste, um die letztendliche
Annahme- oder Zurückweisungsentscheidung
zu erhalten.