DE69517604T2 - Zeitgeber mit mehreren kohärenten synchronisierten takten - Google Patents
Zeitgeber mit mehreren kohärenten synchronisierten taktenInfo
- Publication number
- DE69517604T2 DE69517604T2 DE69517604T DE69517604T DE69517604T2 DE 69517604 T2 DE69517604 T2 DE 69517604T2 DE 69517604 T DE69517604 T DE 69517604T DE 69517604 T DE69517604 T DE 69517604T DE 69517604 T2 DE69517604 T2 DE 69517604T2
- Authority
- DE
- Germany
- Prior art keywords
- value
- signal
- output
- digital
- adder
- 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.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/319—Tester hardware, i.e. output processing circuits
- G01R31/31917—Stimuli generation or application of test patterns to the device under test [DUT]
- G01R31/31922—Timing generation or clock distribution
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/2832—Specific tests of electronic circuits not provided for elsewhere
- G01R31/2836—Fault-finding or characterising
- G01R31/2839—Fault-finding or characterising using signal generators, power supplies or circuit analysers
- G01R31/2841—Signal generators
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/3167—Testing of combined analog and digital circuits
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Tests Of Electronic Circuits (AREA)
- Analogue/Digital Conversion (AREA)
Description
- Die vorliegende Erfindung betrifft allgemein eine automatische Prüfvorrichtung und insbesondere Zeitgeber bzw. Zeitgeneratoren, die in einer automatischen Prüfvorrichtung verwendet werden.
- Die automatische Prüfvorrichtung wird in großem Maße von Herstellern von Halbleiterbauelementen verwendet. Die Prüfvorrichtung (allgemeiner "Prüfgerät" genannt) führt ein Prüfmuster aus, das Eingangssignale für das zu prüfende Bauelement (DUT) und die erwarteten Ausgangssignale definiert. Durch Ausführung des Prüfmusters bestimmt das Prüfgerät, ob das Bauelement einwandfrei arbeitet.
- Ein einwandfreier Betrieb eines Halbleiterbauelements erfordert, daß es Ausgangssignale mit einem festgelegten Wert erzeugt. Außerdem müssen diese Werte zu einer festgelegten Zeit in bezug auf das Anlegen der Eingangssignale auftreten. Infolgedessen weisen die Prüfgeräte im allgemeinen Zeitgeber auf.
- Der Zeitgeber führt mehrere Funktionen durch. Zunächst ermöglicht er, daß von einem Anwender des Prüfgeräts Zeitinformation programmiert wird. Beispielsweise arbeiten digitale Systeme mit einer spezifischen Frequenz mit einer charakteristischen Periode. Bestimmte Zeitgeber ermöglichen es, daß die Periode so programmiert wird, daß das Prüfgerät Teile mit verschiedenen Frequenzen prüfen kann.
- Außerdem muß der Zeitgeber sicherstellen, daß Signale synchronisiert sind, wenn sie an die Zuleitungen des DUT angelegt werden. Beispielsweise könnte ein typisches Halbleiterbauelement mehrere zehn oder sogar Hunderte von Zuleitungen haben, an die Signale angelegt oder an denen sie gemessen werden. Jede Zuleitung ist im allgemeinen mit einem "Kanal" des Prüfgeräts verbunden. Jeder Kanal enthält eine Schaltung, die das an eine Zuleitung angelegte Signal erzeugt oder mißt. Verschiedene Entfernungen zwischen dem Zeitgeber und jedem Kanal führen zu verschiedenen Verzögerungen. Infolgedessen erreichen Signale, die vom Zeitgeber ausgegeben werden und die jeden Kanal gleichzeitig erreichen soll, die Kanäle häufig zu verschiedenen Zeiten (d. h. sie sind "bitversetzt"). Bitversatz im Prüfgerät kann zu einer falschen Diagnose führen, nämlich daß das DUT fehlerhaft ist.
- Ein Typ einer Zeitgeberausführung, die bisher verwendet worden ist, um diese Probleme zu lösen, ist als digitaler Zeitgeber bekannt. Beispiele für solche Zeitgeber kann man in US-A-4231104, US-A- 5274796 und EP-A-474274 finden. Ein digitaler Zeitgeber enthält zwei Stücke: einen globalen Zeitgeber und einen lokalen Zeitgeber. Es ist ein globaler Zeitgeber für das Prüfgerät und ein lokaler Zeitgeber für jeden Kanal vorhanden.
- Der globale Zeitgeber gibt einen groben Periodenimpuls aus. Für jede Periode gibt es einen groben Periodenimpuls. Der globale Zeitgeber arbeitet mit einem Festfrequenztakt, so daß der Periodenimpuls mit diesem Festfrequenztakt synchronisiert wird. Die Länge der Periode wird programmiert, indem ein binärer Wert gespeichert wird, der die Anzahl der Impulse des Festfrequenztaktes anzeigt, die benötigt werden, um eine Periode der programmierten Länge zu bilden.
- Damit das Prüfgerät mit Frequenzen arbeiten kann, die keine ganzzahligen Vielfachen der festen Frequenz (Haupttakt) sind, mit denen der Zeitgeber arbeitet, stellen die Bits hoher Ordnung des gespeicherten Binärwertes eine ganzzahlige Anzahl von Impulsen des Festfrequenztaktes dar, der in einer Periode auftreten sollte. Die Bits niedriger Ordnung des Binärwertes stellen eine binäre Bruchzahl der Länge einer Festfrequenzperiode dar, die zu der ganzzahligen Anzahl der Impulse addiert werden muß, um die programmierte Periode mit der festgelegten Zeit gleichzusetzen. Eine binäre Bruchzahl stellt eine ganzzahlige Anzahl dar, die durch eine Potenz von 2 geteilt worden ist.
- Im Betrieb zählt der globale Zeitgeber die ganzzahlige Anzahl von Impulsen und gibt dann einen groben Periodenimpuls aus. Der grobe Periodenimpuls wird an alle lokalen Zeitgeber gesendet. Der grobe Periodenimpuls gibt jedoch keine Auskunft über den binären gebrochenen Teil des gespeicherten Wertes. Um für diese gebrochene Verzögerung Auskunft zu erhalten, wird auch an jeden lokalen Zeitgeber ein digitales Restsignal gesendet, das anzeigt, wie lange nach dem groben Periodenimpuls der tatsächliche Periodenimpuls auftreten sollte. Der lokale Zeitgeber verwendet einen binären Interpolator, um den Periodenimpuls um den Zeitbetrag zu verzögern, der vom digitalen Restsignal festgelegt wird.
- Das digitale Restsignal wird vom globalen Zeitgeber erzeugt, indem der gebrochene Teil der gespeicherten programmierten Periodenlänge akkumuliert wird. Der erste grobe Periodenimpuls tritt um diesen gebrochenen Betrag vor der gewünschten Zeit auf. Der zweite grobe Periodenimpuls tritt um das Zweifache des gebrochenen Betrags vor der gewünschten Zeit auf. Der dritte grobe Periodenimpuls tritt um das Dreifache des gebrochenen Betrags vorher auf; usw. An einem bestimmten Punkt überschreitet der akkumulierte Wert eine Periode des Festfrequenztaktes. Wenn dies geschieht, wartet der globale Zeitgeber eine Haupttaktperiode, bevor er den nächsten groben Periodenimpuls ausgibt und reduziert den akkumulierten Restwert dementsprechend.
- Dieses Schema hat den Vorteil, daß Zeitinformation ungeachtet der programmierten Frequenz, mit der das Prüfgerät arbeitet, mit einer einzigen Frequenz an alle Kanäle gesendet werden kann. Der Rest, sofern er digital ist, ist nicht von der Differenzverzögerung betroffen. Jede Differenzverzögerung im groben Periodenimpuls kann beseitigt werden, indem sie mit dem Haupttakt synchronisiert wird. Da der Haupttakt eine einzelne feste Frequenz ist, kann das Prüfgerät so ausgeführt sein, daß der Haupttakt ohne Bitversatz an alle Kanäle verteilt wird.
- Obwohl dieser Typ von Zeitgeber zum Prüfen rein digitaler Halbleiterbauelemente gut geeignet ist, haben wir festgestellt, daß er bestimmte Nachteile hat, wenn er verwendet wird, um Mischsignalbauelemente zu prüfen. Mischsignalbauelemente arbeiten mit digitalen Signalen sowie mit analogen Signalen. Beispielsweise hat ein Analog-Digital-Umsetzer einen analogen Eingang und einen digitalen Ausgang. Um ein analoges Bauelement zu prüfen, muß die Frequenz der erzeugten Prüfsignale sehr viel genauer gesteuert werden, als wenn ein digitales Bauelement geprüft werden muß.
- Um beispielsweise eine analoge Wellenform in einem Mischsignalprüfgerät zu erzeugen, werden die Taktsignale verwendet, um auf Speicherstellen zuzugreifen. Die Speicherstellen enthalten die digitalen Werte, die eine analoge Wellenform definieren. Jeder Taktimpuls bewirkt, daß der nächste Wert aus dem Speicher gelesen und in einen analogen Wert umgesetzt wird. Der umgekehrte Vorgang tritt auf, um eine analoge Wellenform zu prüfen. Jeder Taktimpuls bewirkt, daß eine weiterer Abtastwert der Wellenform genommen und im Speicher gespeichert wird.
- Das derartige Prüfen von analogen Bauelementen erfordert, daß die Frequenz der Taktimpulse mit sehr hoher Auflösung festgelegt wird. Wir glauben, daß beim Prüfen eines analogen Bauelements die Betriebsfrequenz des Prüfgeräts innerhalb von 1 Hz programmierbar sein muß. Bei einem binären digitalen Zeitgeber würde eine Auflösung von 1 Hz viele Bits in dem gespeicherten Periodenwert erfordern. Um beispielsweise sowohl 60 MHz auch 60,000001 MHz darzustellen, wäre eine unpraktische Anzahl von Bits erforderlich.
- Um dieses Problem zu lösen, haben Mischsignalprüfgeräte bisher getrennte Zeitgeber für den analogen und den digitalen Teil des Prüfgeräts verwendet. Beispielsweise kann ein sehr genauer programmierbarer Zeitgeber käuflich erworben werden, z. B. eine PTS-Box. Ein solcher Zeitgeber ist bisher für den analogen Teil des Prüfgeräts verwendet worden, während ein binärer Zeitgeber für den digitalen Teil verwendet worden ist.
- Durch die Verwendung von zwei Zeitgebern entsteht ein anderes Problem. Um einen Mischsignalteil zu prüfen, ist es oft notwendig, daß der analoge und der digitale Teil des Prüfgeräts synchronisiert und kohärent sind. Es ist möglich, die beiden Zeitgeber zu Beginn eines Prüfmusters zu synchronisieren. Wenn jedoch die Zeitgeber nicht mit der gleichen Frequenz arbeiten (d. h. nicht kohärent sind), "driften" die Zeitgeber auseinander, wenn das Prüfgerät arbeitet.
- Es besteht also Bedarf nach einem Zeitgeber, der alle Vorteile eines binären digitalen Zeitgebers erwerben kann, wobei gleichzeitig eine bessere Steuerung der Frequenz erfolgt und eine Synchronisation mit anderen Zeitgebern ermöglicht wird.
- Unter Berücksichtigung des oben beschriebenen Hintergrunds ist es eine Aufgabe der Erfindung, einen digitalen Zeitgeber bereitzustellen, der Impulse mit einer programmierbaren Frequenz erzeugt, die mit hoher Auflösung festgelegt werden kann.
- Es ist außerdem eine Aufgabe, einen Zeitgeber bereitzustellen, der mit anderen Zeitgebern synchronisiert werden kann.
- Es ist noch eine weitere Aufgabe, ein Mischsignalprüfgerät mit einem synchronisierten Takt zur Erzeugung von analogen und eines digitalen Taktsignalen bereitzustellen.
- Ein erster Aspekt der Erfindung ist in Anspruch 1 ausgeführt. Ein weiterer Aspekt der Erfindung ist in Anspruch 5 ausgeführt. Besonders bevorzugte Merkmale sind in den abhängigen Ansprüchen ausgeführt.
- Die oben beschriebenen und weitere Aufgaben werden mit einem Zeitgeber mit einem oder mehreren globalen Abschnitten und einem oder mehreren lokalen Abschnitten erfüllt. Um den Zeitgeber zu programmieren, um Impulse mit einer erforderlichen Periode zu erzeugen, wird die Länge der programmierten Periode als ganzzahlige Anzahl von Perioden eines Haupttaktes plus einer gebrochenen Anzahl von Perioden ausgedrückt. Der gebrochene Teil wird als das Verhältnis zwischen zwei binären ganzen Zahlen ausgedrückt. Der globale Teil enthält einen digitalen Speicher für Werte, die den Zähler und den Nenner des Bruchs darstellen. Ein Restsignal, das den akkumulierten Zähler des Bruchs darstellt, wird an den lokalen Zeitgeber übergeben.
- In einer Ausführungsform wird der Rest in eine binäre Bruchzahl umgesetzt, bevor er an den lokalen Zeitgeber weitergegeben wird.
- In einer weiteren Ausführungsform werden mehrere globale Zeitgeber verwendet. Mittels einer Synchronisationsschaltung können die Zeitgeber synchronisiert werden, auch wenn sie programmiert sind, um Taktsignale mit verschiedenen Frequenzen zu erzeugen.
- Die Erfindung ist mit Bezug auf die folgende ausführlichere Beschreibung und die beigefügten Zeichnungen besser verständlich. Dabei zeigen:
- Fig. 1 ein Blockschaltbild eines Mischsignalprüfgeräts mit einer Ausführungsform des erfindungsgemäßen Zeitgebers;
- Fig. 2 ein schematisches Schaltbild eines globalen digitalen Zeitgebers gemäß Fig. 1;
- Fig. 3 ein schematisches Schaltbild der Umsetzerschaltung gemäß Fig. 1;
- Fig. 4 ein schematisches Schaltbild eines globalen analogen Zeitgebers gemäß Fig. 1; und
- Fig. 5 ein schematisches Schaltbild einer Vorgriffschaltung gemäß Fig. 1.
- Fig. 1 zeigt ein Mischsignalprüfgerät 100 mit einem erfindungsgemäßen Zeitgeber. Das Prüfgerät 100 hat eine Vielzahl von Signalleitungen, die mit dem zu prüfenden Bauelement (DUT) 102 verbunden sind. Das DUT 102 könnte ein Halbleiterbauelement sein, z. B. ein Chip, der verwendet wird, um einen Analog-Digital-Umsetzer oder ein digitales Signalverarbeitungschip herzustellen.
- Das Prüfgerät 100 erzeugt und empfängt sowohl analoge als auch digitale Signale, die beim Prüfen des DUT 102 zu verwenden sind. Das Prüfgerät 100 enthält einen digitalen Mustergenerator 120, der ein digitales Prüfmuster erzeugt. Das Prüfmuster legt für jeden Arbeitszyklus des Prüfgeräts 100 die digitalen Signale fest, die an das DUT 102 übergeben werden sollen oder die vom DUT 102 zurückerwartet werden.
- Die Zeiten, zu denen jedes digitale Signal angelegt oder aus dem Bauelement gelesen wird, werden von einem Zeitgeber gesteuert. Der Zeitgeber erzeugt zahlreiche Taktsignale oder -flanken. Ansteuer- oder Lesevorgänge, die vom Prüfgerät 100 durchgeführt werden, werden mit diesen Flanken synchronisiert. Das Prüfgerät 100 kann programmiert werden, um festzulegen, welcher Vorgang mit welchem Flankensignal synchronisiert wird. Außerdem kann die Zeit, zu der ein Flankensignal in bezug auf den Anfang jeder Periode auftritt, auch programmiert werden.
- Ein oder mehrere globale digitale Zeitgeber 110A und 110B sind im Prüfgerät 100 vorhanden. Wenn man den globalen Zeitgeber 110A als Beispiel nimmt, erzeugt der globale Zeitgeber 110A zwei Taktsignale. Das Signal P&sub1; ist ein grobes Periodensignal wie in einem herkömmlichen Prüfgerät. Das Signal R&sub1; ist ein gebrochenes Restsignal. Das gebrochene Restsignal R&sub1; wird an die Umsetzschaltung 116A angelegt, wo es in ein binäres Restsignal R&sub1;' umgesetzt wird, wie in herkömmlichen Prüfgeräten.
- Das grobe Periodensignal P&sub1; und das binäre Restsignal R&sub1;' werden an einen oder mehrere lokale Zeitgeber 118 übergeben, wie in herkömmlichen Prüfgeräten. Jeder lokale Zeitgeber erzeugt ein Flankensignal einen entsprechenden Verzögerungsbetrag nach dem groben Periodensignal P&sub1;.
- Die Flankensignale werden an eine Formatierungsschaltung 122 übergeben. Digitale Ansteuerungs- oder zu erwartende Empfangsdaten vom digitalen Mustergenerator 120 werden auch an die Formatierungsschaltung 122 übergeben. Wie bei einem herkömmlichen Prüfgerät übergibt die Formatierungsschaltung 122 die entsprechenden Werte an das DUT 102 und vergleicht empfangene Werte mit dem erwarteten Wert zu den Zeiten, die von den Taktflanken vorgeschrieben werden.
- Das Prüfgerät 100 enthält darstellungsgemäß zwei globale digitale Zeitgeber, wobei jeder mit einem oder mehreren lokalen Zeitgebern 118 verbunden ist. Alle lokalen Zeitgeber 118, die mit einem der globalen Zeitgeber 110A oder 110B, verbunden sind, erzeugen Flankensignale mit der gleichen Rate, mit der der globale Zeitgeber ein grobes Periodensignal erzeugt. Obwohl der genaue Takt jeder einzelnen Flanke geändert werden kann, sind alle Datenraten gleich. Mit zwei oder mehr globalen Zeitgebern können Sätze von Flanken mit verschiedenen Raten erzeugt werden. Eine solche Fähigkeit ist nützlich, um das durchzuführen, was als pseudoasynchrone Prüfung bekannt ist.
- Das Prüfgerät 100 hat auch die Fähigkeit, analoge Signale an das DUT 102 zu übergeben und analoge Signale vom DUT 102 zu empfangen und sie mit gespeicherten Referenzsignalen zu vergleichen.
- Analoge Signale werden erzeugt, indem digitale Werte aus einem analogen Signalspeicher 124A oder 124B gelesen werden und diese als Eingangssignale an analoge Instrumente 125A und 125B angelegt werden. Auf der Grundlage der Ausgangssignale der analogen Signalspeicher 124A und 124B erzeugen analoge Instrumente die erforderlichen Signale für das DUT 102.
- Die analogen Signalspeicher 124A und 124B speichern eine Periode eines analogen Signals. Adressen werden zyklisch an den Speicher angelegt, so daß die Werte, die eine Periode der Wellenform darstellen, wiederholt aus dem Speicher gelesen werden. Die Rate, mit der die Adressen an den Speicher angelegt werden, schreibt die Frequenz des Signals vor.
- Im Prüfgerät 100 werden die Adressen für die analogen Signalspeicher 124A und 124B von globalen analogen Zeitgebern 112A bzw. 1128 bereitgestellt. Die globalen analogen Zeitgeber 112 gleichen den globalen digitalen Zeitgebern 110. Die globalen analogen Zeitgeber 112 müssen jedoch kein grobes Periodensignal erzeugen. Sie müssen nur Signale erzeugen, die sich in der Zeit einer Periode über den Bereich der Werte zyklisch wiederholen. Daher erzeugen sie nur die Restsignale, die dann verwendet werden, um Speicher 124 zu adressieren.
- Die analogen Instrumente 125A und 125B könnten so einfach wie Digital-Analog-Umsetzer sein. Aber normalerweise liegen die Signale aus den Analogsignalspeichern 124A und 124B im Bereich von 5 MHz bis 25 MHz. Diese Signale könnten ferner nach der Umsetzung in analoge Signale, z. B. durch Frequenzumsetzung oder Modulation, verarbeitet werden.
- Die globalen digitalen Zeitgeber 110A und 110B und die globalen analogen Zeitgeber 112A und 112B reagieren alle auf den Haupttakt 114. Der Haupttakt 114 arbeitet mit einer festen Frequenz. Für die gegenwärtige Technologie ist eine Frequenz in der Größenordnung von 100 MHz geeignet.
- Jeder der globalen digitalen Zeitgeber 110 und der globalen analogen Zeitgeber sind mit dem globalen digitalen Zeitgeber 110A synchronisiert. Im Falle des digitalen Zeitgebers 110B bedeutet dies, daß die Zeit, die durch die Verzögerung von R&sub2; festgelegt wird, die auf den groben Periodenimpuls P&sub2; folgt, die gleiche ist, wie die Verzögerung von R&sub1;, die auf den groben Periodenimpuls P&sub1; folgt. Im Falle der globalen analogen Zeitgeber 112A und 112B bedeutet dies, daß der Nulldurchgang der analogen Signale, der als Antwort auf die Taktsignale erzeugt wird, zur gleichen Zeit auftritt wie die Verzögerung von R&sub1;, die auf den groben Periodenimpuls P&sub1; folgt.
- Um diese Synchronisation herzustellen, wird R&sub1; an jeden der anderen globalen Zeitgeber übergeben. Wie in Fig. 1 gezeigt, wird es direkt an den globalen digitalen Zeitgeber 110B übergeben. Der Wert von R&sub1; wird vor dem Anlegen an die globalen analogen Zeitgeber 112A und 112B über eine Korrekturschaltung 126 weitergegeben.
- Das SYNC-(Synchronisations-)Signal könnte als Antwort auf eine Anweisung erzeugt werden, die in den digitalen Mustergenerator 120 einprogrammiert ist. Als Alternative wird ein Prüfgerät normalerweise mit einer Computerarbeitsstation (nicht dargestellt) verbunden. Die Computerarbeitsstation dient als Anwenderschnittstelle und erzeugt auch Befehle für verschiedene Abschnitte des Prüfgeräts. Das SYNC-Signal könnte auch von der Computerarbeitsstation erzeugt werden.
- Die globalen digitalen Zeitgeber 110A und 110B und die globalen analogen Zeitgeber 112A und 112B sind programmierbar. Die Datenwerte, die die Länge einer Periode festlegen, werden an diese Elemente übergeben. Was die globalen digitalen Zeitgeber 110A und 110B betrifft, werden Werte übergeben, die mit N, I und B bezeichnet sind. Diese Werte setzen die gewünschte Periode Tprog mit der Periode des Haupttaktes 114, nämlich TMC in Beziehung. Die Beziehung lautet wie folgt:
- Tprog = N * TMc + (I/B) * TMC Gl. 1
- Die Werte für N, I und B sind alles ganzzahlige Werte. B wird vorher gewählt und von der Computerarbeitsstation (nicht dargestellt) übergeben. Sein Wert ist beliebig, sollte aber relativ groß sein, so daß lediglich durch Änderung des Wertes von I ein breiter Bereich von gebrochenen Werten (I/B) bereitgestellt werden kann. Um die Schaltung zu vereinfachen, könnte man die Einschränkung machen, daß der Wert B zu Beginn eines Prüfmusters nur von der Computerarbeitsstation geändert wird.
- Wenn ein Wert für B gewählt ist, können die Werte für N und I auf einfache Weise berechnet werden, um die gewünschte programmierte Periode bereitzustellen. Die Werte für N und I könnten von der Computerarbeitsstation (nicht dargestellt) bereitgestellt werden. Als Alternative könnten die Werte vom digitalen Mustergenerator 120 bereitgestellt werden. Wenn man die Werte vom einem digitalen Mustergenerator 120 bereitgestellt läßt, könnte die Länge der programmierten Periode während der Ausführung eines Prüfmusters geändert werden.
- Wenn man sich nunmehr Fig. 2 zuwendet, so sind dort weitere Einzelheiten des globalen digitalen Zeitgebers 110 dargestellt. Der Wert für N wird in einen Zähler 200 geladen. Der Zähler 200 ist ein Rückwärtszähler, der einen Ausgangsimpuls an seinem Ausgang TC ausgibt, nachdem er an seinem Takteingang N Impulse gezählt hat. Der Takteingang ist mit dem Haupttakt 114 verbunden. Zur bequemeren Implementierung könnte erwünscht sein, daß der Zähler 200 ein Ausgangssignal erzeugt, nachdem er rückwärts über null hinausgezählt hat. In diesem Fall wäre der tatsächliche Wert, der in den Zähler 200 geladen wird, N-1 und nicht N.
- Der TC-Ausgang des Registers 200 ist mit einer Verzögerungseinrichtung 210 verbunden. Die Verzögerungseinrichtung 210 ist ein D-Flipflop. Sie wird vom Haupttakt 114 getaktet. Die Verzögerungseinrichtung 210 verzögert den Impulsausgang des Zählers 200 um einen Zyklus des Haupttaktes 114.
- Das verzögerte Ausgangssignal der Verzögerungseinrichtung 210 sowie das unverzögerte Ausgangssignal des Zählers 200 werden an die Dateneingänge eines Multiplexers 212 übergeben. Der Multiplexer 212 ist ein Multiplexer mit zwei Eingängen. Sein Ausgangssignal stellt das grobe Periodenimpulssignal P dar. Die Kombination aus der Verzögerungseinrichtung 210 und Multiplexer 212 ermöglicht es, daß der grobe Periodenimpuls das Ausgangssignal des Zählers 200 oder das Zählerausgangssignal ist, nachdem es um einem Taktzyklus korrigiert worden ist. Wie nachstehend beschrieben wird, erfolgt diese Korrektur, um sicherzustellen, daß der grobe Periodenimpuls P mit dem Haupttaktimpuls synchronisiert ist, der genau vor dem Ende der programmierten Periode auftritt. Das Periodenimpulssignal P wird zu einem Eingang eines ODER-Gatters 214 zurückgekoppelt.
- Der Ausgang des ODER-Gatters 214 ist mit dem Ladeeingang des Zählers 200 verbunden. Nachdem ein Periodensignal ausgegeben worden ist, wird der im nächsten Zyklus zu verwendende Wert für N also in den Zähler 200 geladen. Das zweite Eingangssignal des ODER-Gatters 214 kommt vom SYNC-Eingang. Wenn gewünscht wird, daß die Taktgeber 110A, 110B, 112A und 112B synchronisiert werden, dann wird der Wert im Zähler 200 also auch wieder mit einem neuen Wert N geladen.
- Der Wert für I wird in ein Register 202 geladen. Das Register 202 wird vom Ausgangssignal eines UND-Gatters 216 getaktet. Das UND-Gatter 216 ist die logische UND-Verknüpfung des Haupttaktes 114 und das Ladesignal des Zählers 200. Wenn ein neuer N-Wert in den Zähler 200 geladen wird, wird also auch der neue I-Wert in das Register 202 geladen. Das Laden in das Register 202 wird jedoch unter Betätigung des UND-Gatters 216 mit dem Haupttakt 114 synchronisiert.
- Der Wert für B wird in ein Register 206 geladen. Zur einfacheren Implementierung wird praktisch die Zweierkomplementversion von B in das Register 206 geladen. Dadurch kann ein Addierer verwendet werden, um Subtraktionsoperationen durchzuführen. Da der Wert für B während des Prüfmusters nicht geändert wird, kann sein Zweierkomplementwert von der Computerarbeitsstation (nicht dargestellt) berechnet werden.
- Das Register 204 ist auch ein herkömmliches digitales Speicherregister. Sein Ausgang ist mit dem R-Ausgang verbunden. Der Eingang des Registers 204 ist mit dem Ausgang eines Multiplexers 224 verbunden. Das Register 204 wird auch vom Ausgangssignal des UND-Gatters 216 getaktet. Es wird also ein mit dem Haupttakt 114 synchronisierter neuer Wert immer dann geladen, wenn ein Periodenimpuls ausgegeben wird oder wenn der SYNC-Wert bestätigt wird.
- Der Multiplexer 224 ist ein herkömmlicher Multiplexer mit vier Eingängen und zwei Wähleingängen. Ein Wähleingang ist mit dem SYNC-Steuereingang verbunden. Wenn dieser Eingang bestätigt ist, gibt der Multiplexer 224 den Wert des SVAL-Eingangs an das Register 204 weiter, ungeachtet des Zustands des zweiten Wähleingangs.
- Wenn das Register 204 als Antwort darauf, daß ein Periodenimpuls und kein SYNC-Signal ausgegeben wird, geladen wird, wird der geladene Wert vom Multiplexer 224 als Antwort auf das Übertragsausgangssignal des Addierers 220 gewählt. Der zweite Wähleingang des Multiplexers 224 ist mit der Übertragsleitung des Addierers 220 verbunden. Wenn ein Übertrag des Addierers 220 vorhanden ist, gibt der Multiplexer 224 das Ausgangssignal des Addierers 220 an das Register 204 weiter. Wenn kein Übertrag des Addierers 220 vorhanden ist, gibt der Multiplexer 224 das Ausgangssignal des Addierers 218 an das Register 204 weiter.
- Solange kein Übertrag des Addierers 220 und kein SYNC-Befehl vorhanden ist, wirkt das Register 204 als Akkumulator. Immer wenn ein Periodenimpuls ausgegeben wird, wird das Register 204 mit dem Ausgangssignal des Addierers 218 geladen, das die Summe aus dem aktuellen Wert im Register 204 und dem Wert im Register 202 ist, d. h. der Wert R steigt um einen Betrag I.
- Ob ein Übertragsausgangssignal des Addierers 220 vorhanden ist, hängt auch vom R-Wert im Register 204 ab. Ein Eingang des Addierers 220 ist mit dem Ausgang des R-Registers 204 verbunden. Das zweite Eingangssignal des Addierers 220 wird über ein Pipeline-Register 208 vom Ausgang des Addierers 222 abgeleitet. Das Pipeline-Register 208 gibt das Ausgangssignal des Addierers 222 einfach weiter, verzögert es jedoch entsprechend, um einen instabilen Betriebszustand zu verhindern.
- Die Eingangssignale des Addierers 222 werden vom Register 206, das den negativen Wert für B speichert, und den I-Eingang abgeleitet. Das Ausgangssignal des Addierers 222 stellt I-B dar. Das Ausgangssignal des Addierers 220 stellt I+R-B dar.
- Die Übertragsleitung des Addierers 220 wird bestätigt, wenn der Wert für I+R-B einen positiven Wert darstellt. Wenn I+R-B negativ ist, wird also das R-Register 204 mit dem Wert I+R geladen. Wenn umgekehrt I+R-B ein positiver Wert ist, wird das R-Register 204 mit dem Wert I+R-B geladen. Das heißt, wenn die Erhöhung des Wertes im R-Register 204 um ein weiteres Inkrement von I den bewirken würde, daß Wert von R den Wert von B übersteigt, dann wird der neue Wert von R um einen Betrag B verschoben. Da die Übertragsleitung des Addierers 220 auch mit dem Wähleingang des Multiplexers 212 verbunden ist, wird gleichzeitig das Auftreten des Periodenimpulses P um einen Haupttaktimpuls verzögert.
- Die Bedeutung dieses Vorgangs wird mit Bezug auf Gl. 1 verständlich. Wenn der Zeitgeber 110 zurückgesetzt wird, wird er geladen mit einem Wert N, der die ganzzahlige Anzahl der Haupttaktimpulse darstellt, die gezählt werden müssen, und mit einem Wert I, der einen gebrochenen Teil darstellt. Nach dem Rücksetzen muß das R-Register 204 einen Wert null enthalten. Wenn N Haupttaktimpulse gezählt worden sind, gibt der Zähler 200 sein Ausgangssignal aus, das über den Multiplizierer 212 als der Periodenimpuls P weitergegeben wird. Dieser Impuls ist einen durch den Bruch I/B gegebenen Bruchteil einer Haupttaktperiode vor dem programmierten Periodenimpuls aufgetreten. Der Periodenimpuls P sollte um einen Bruchteil einer Haupttaktperiode I/B verzögert sein, und dieser Wert wird als der Rest R gespeichert. Da in der bevorzugten Ausführungsform B nur geändert wird, wenn der Zeitgeber 110 zurückgesetzt wird, muß nur der Wert I gespeichert werden (d. h. nur der Zähler des Bruches IB wird gespeichert). Der Wert für R ist das Restausgabesignal des globalen Zeitgebers 110. Die erforderliche zusätzliche Verzögerung, die vom Rest R festgelegt wird, wird durch den lokalen Zeitgeber 118 addiert.
- Im nächsten Zyklus werden wieder N Haupttaktimpulse gezählt, und ein weiterer Periodenimpuls wird ausgegeben. Während dieses Zyklus überholt der Periodenimpuls die programmierte Zeit um einen weiteren gebrochenen Haupttaktzyklus, der durch den Bruch VB gegeben ist. Der Restwert im Register 204 wird also um ein weiteres Inkrement I erhöht.
- In jedem nachfolgenden Zyklus wird der Restwert im R-Register 204 um einen weiteren Betrag I erhöht. Das R-Register 204 akkumuliert die gebrochenen Teile der programmierten Perioden. Die gebrochenen Teile müssen akkumuliert werden, bis sie sich zur Gesamtperiode des Haupttaktes 114 addieren. Wenn I+R, die den Zähler eines Bruchs darstellen, größer ist als B, das den Nenner des Bruchs darstellt, haben die akkumulierten gebrochenen Größen eine volle Periode überschritten. Der Betrag, um den I+R eine Periode überschritten hat, ist durch I+R-B gegeben. Dies ist der Wert, der vom Addierer 220 berechnet wird. Da sich sein Übertragsausgangssignal ändert, wenn I+R größer ist als B, signalisiert der Addierer 220 auch dann, wenn die akkumulierten gebrochenen Teile eine Periode des Haupttaktes 114 überschreiten.
- Wenn der akkumulierte gebrochene Wert eine volle Periode des Haupttaktes 114 überschreitet, wird der Periodenimpuls P um eine Haupttaktperiode im Multiplexer 212 verzögert. Eine entsprechende Korrektur der Haupttaktperiode erfolgt auch am Restwert, der in R-Register 204 gespeichert ist. Auf diese Weise werden die erforderlichen Werte für den lokalen Zeitgeber 118 (Fig. 1) erzeugt, um zur erforderlichen Zeit ein Flankensignal zu erzeugen.
- Wie oben beschrieben, ist jedoch in der bevorzugten Ausführungsform der lokale Zeitgeber 118 (Fig. 1) ein herkömmlicher digitaler Zeitgeber. Er erfordert als Eingangssignal einen binären Bruch einer Periode des Haupttaktsignals. Der Restwert, der vom globalen Zeitgeber 110 erzeugt wird, stellt den Zähler eines Bruches dar, der kein binärer Bruch ist. Fig. 1 zeigt, daß das Ausgangssignal des globalen Zeitgebers 110 an die Umsetzschaltung 116 weitergegeben wird. Die Umsetzschaltung 116 setzt den Bruch in einen binären Bruch um.
- Fig. 3 zeigt größere Details der Umsetzschaltung 116. Die Umsetzschaltung 116 weist einen digitalen Multiplizierer 310 und ein Register 312 auf. Der Rest R vom globalen Zeitgeber 110 wird an einen Eingang des Multiplizierers 310 übergeben. Das zweite Eingangssignal des Multiplizierers 310 wird vom Register 312 bereitgestellt.
- Die Umsetzschaltung 116 erzeugt ein Ausgangssignal, das der Restwert, geteilt durch B, den Nenner des Bruchs, ist. Da jedoch digitale Teiler relativ groß sind und ihre Implementierung teuer ist, wird statt dessen ein Multiplizierer verwendet. Der Multiplikand ist der Kehrwert von B, das im Register 312 gespeichert ist. Der Kehrwert von B wird von der Computerarbeitsstation (nicht dargestellt) berechnet, die mit dem Prüfgerät 100 verbunden ist. Dieser Wert wird dann zur gleichen Zeit wie der B-Wert im Register 206 (Fig. 2) geladen. Das Ausgangssignal der Umsetzschaltung 116 ist also die erforderliche binäre Bruchzahl für den lokalen Zeitgeber 118.
- Die globalen analogen Zeitgeber 112 arbeiten anders als die globalen digitalen Zeitgeber 110. Es ist kein Periodenimpulssignal für die Erzeugung von Analogsignalen erforderlich. Auch stellen die erzeugten Restwerte keine Zeitverzögerungen direkt dar, sondern stellen Adressen des Speichers 124 (Fig. 1) dar, wo eine Periode einer Sinuswelle gespeichert ist. Die im Speicher 124 gespeicherten Werte werden nach der folgenden Gleichung abgeleitet:
- S = sinus (2π * A/K) Gl. 2
- wobei A die Adresse ist, unter der der Wert gespeichert ist, und K die Anzahl der Speicherstellen im Speicher 124 ist, die verwendet werden, um die Signalinformation zu speichern. K könnte, muß jedoch nicht eine Potenz von 2 sein. Wenn die Adressen, die um 1 steigen, an diesen Speicher angelegt werden, der mit dem Haupttakt 114 synchronisiert ist, ist die Frequenz des Ausgangssignals 1/(TMCK).
- Um eine Sinuswelle mit einer programmierten Frequenz zu erzeugen, erzeugen die globalen analogen Zeitgeber 112 eine Serie von Adressen, die sich um einen programmierbaren Betrag erhöhen. Um die Frequenz zu verdoppeln, muß sich die Adresse pro Zyklus um zwei erhöhen. Um die Frequenz zu verdreifachen, muß sich die Adresse pro Zyklus um drei erhöhen, usw. Der Betrag I, um den sich die Adresse pro Zyklus des Haupttaktes 114 erhöhen muß, ist somit durch das Verhältnis zwischen der programmierten Frequenz und 1/TMCK nach der folgenden Gleichung gegeben:
- Fprog/(1/TMCK) = I Gl. 3
- Die vom globalem analogen Zeitgeber 112 erzeugte Adresse muß pro Zyklus des Haupttaktes 114 um einen Betrag I steigen. Die erzeugte Adresse darf jedoch nicht über K hinaus steigen. Immer wenn durch Addieren von I zu der erzeugten Adresse diese über K steigen würde, muß der Wert K vom Ergebnis subtrahiert werden.
- Diese Operationen sind im wesentlichen identisch mit den Operationen, die verwendet werden, um das Restsignal R im globalen digitalen Zeitgeber 110 zu erzeugen. Demzufolge gleicht die Schaltung, die verwendet wird, um den globalen analogen Zeitgeber zu implementieren, der Schaltung, die verwendet wird, um den globalen digitalen Zeitgeber 110 zu implementieren.
- Fig. 4 zeigt, daß der globale analoge Zeitgeber 112 ein Register 406 aufweist, das den Wert -K speichert. Ein Addierer 422 empfängt das Ausgangssignal des Registers 406 und auch den I-Wert vom Register 402.
- Das Ausgangssignal des Addierers 422 stellt ein Eingangssignal des Addierers 420 bereit. Das zweite Eingangssignal des Addierers 420 kommt vom R-Register 404.
- Der Übertragsausgang des Addierers 420 ist mit einem Wähleingang des Multiplexers 420 verbunden. Das zweite Steuereingangssignal des Multiplexers wird vom SYNC-Steuereingangssignal abgeleitet.
- Ein Dateneingangssignal des Multiplexers 424 kommt vom Addierer 418, der die Summe aus dem R-Wert im Register 404 und dem I-Wert im Register 402 berechnet. Das andere Dateneingangssignal des Multiplexers 424 kommt vom Ausgangssignal des Addierers 420.
- Wie bei dem globalen digitalen Zeitgeber 110 steuert das Übertragsausgangssignal des Addierers 420 das, was im R-Register 404 gespeichert ist. Solange der Wert R kleiner als K ist, steuert das Übertragsausgangssignal des Addierers 420 den Multiplexer 424, um das Register 404 als Akkumulator zu konfigurieren. Wenn der R-Wert K überschreitet, wird das R-Register 404 mit dem Wert I+R-K geladen. Der R-Wert wird ausgegeben als die Adresse des Analogsignalspeichers 124.
- Im Gegensatz zum globalen digitalen Zeitgeber 110 lädt das R-Register 404 bei jeden Impuls des Haupttaktes 114 einen neuen Wert. Außerdem kann sich der I-Wert im Register 402 nur zu Beginn eines Musters zu ändern. Der I-Eingang für den Addierer 422 kommt also von dem Wert, der in das I- Register 402 geladen ist, und nicht von dem Wert, der gerade in dieses geladen werden soll, wie in Fig. 2 gezeigt.
- Die globalen digitalen Zeitgeber 110A und 110B können synchronisiert werden, um Flankensignale gleichzeitig zu erzeugen. Damit die synchronisierten Signale auftreten, müssen die globalen digitalen Zeitgeber 110A und 110B mit den gleichen Werten für N, I und R geladen werden. Wenn das SYNC-Signal bestätigt ist, werden in jeden neue Werte für I und N geladen. Bei Bedarf können die Werte I und N der globalen digitalen Zeitgeber 110A und 110B gleich sein. Bei Auftreten des SYNC-Signals wird von der SVAL-Leitung ein Wert in das R-Register 204 beider globaler Zeitgeber 110A und 110B geladen. Fig. 1 zeigt, daß die SVAL-Leitung jedes globalen digitalen Zeitgebers 110A und 110B mit dem R- Ausgang des globalen digitalen Zeitgebers 110A verbunden ist. Bei Auftreten eines SYNC-Befehls sind also die Werte aller globaler digitaler Zeitgeber mit dem globalen digitalen Zeitgeber 110A synchronisiert.
- Um zwei Zeitgeber zu synchronisieren, ist es nicht notwendig, daß beide Zeitgeber mit dem gleichen Wert für N und I geladen werden. Wenn verschiedene N- und I-Werte verwendet werden, erzeugen die Zeitgeber Signale verschiedener Frequenzen. Ein Synchronisationspunkt wird jedoch erzeugt, wenn zwei Zeitgeber mit dem gleichen R-Wert geladen werden.
- Die globalen analogen Zeitgeber 112A und 112B können also mit dem globalen digitalen Zeitgeber 110A synchronisiert werden. Man sagt, daß ein analoger Zeitgeber mit dem digitalen Zeitgeber synchronisiert ist, wenn der digitale Zeitgeber eine Zeitflanke zur gleichen Zeit wie der Nulldurchgang des Signals erzeugt, das vom analogen Zeitgeber erzeugt wird. Der Wert, der im analogen Zeitgeber 112 in das R-Register 404 geladen werden muß, um die analogen und digitalen Signale zu synchronisieren, wird von der Korrekturschaltung 126 berechnet.
- Beim Auftreten eines Periodenimpulssignals vom globalen digitalen Zeitgeber 110A tritt die erforderliche digitale Flanke nach einer Verzögerung des gebrochenen Teils eines Haupttaktsignals 114 auf, der durch R/B gegeben ist. Da bei dem globalen analogen Zeitgeber eine Haupttaktperiode eine Erhöhung von Ianalog darstellt, kann die erforderliche Verzögerung als (R/B)*Ianalog ausgedrückt werden. Der Nulldurchgang des Signals tritt auf, wenn der R-Wert im Register 404 einen Wert K annimmt. Um den Nulldurchgang mit der programmierten digitalen Flanke zu erzeugen, wenn das Periodenimpulssignal erzeugt wird, muß der R-Wert im Register 404 mit einem Wert geladen werden, der in der erforderlichen Verzögerung von (R/B)*Ianalog auf K steigt. Dieser Wert ist durch die Formel K-(RB)*Ianalog gegeben. Die Korrekturschaltung 126 (Fig. 1) berechnet diesen Wert und übergibt ihn an den SVAL-Eingang der globalen analogen Zeitgeber 112.
- Die Korrekturschaltung 126 ist eine digitale Logikschaltung, die diese Berechnung durchführt. Man beachte, daß die Umsetzschaltung 116A (Fig. 1) den Wert von (R/B) berechnet. Der Wert R/B könnte auf die gleiche Weise wie in der Umsetzschaltung 116A berechnet werden. Als Alternative könnte es in bestimmten Fällen möglich sein, daß das Ausgangssignal der Umsetzschaltung 116A in der Berechnung verwendet wird.
- Obwohl die Schaltung, die benötigt wird, um SVAL für die globalen analogen Zeitgeber 112 zu berechnen, relativ einfach ist, könnte sie IM Betrieb mehr als einen Taktzyklus erfordern, besonders wenn das Prüfgerät 100 mit hoher Geschwindigkeit arbeitet. Wenn die Korrekturschaltung 126 eine zu große Verzögerung bewirkt, haben die analogen Zeitgeber 112 nicht die beabsichtigte Synchronisation. Wenn die Verzögerung, die von der Korrekturschaltung 126 bewirkt wird, eine feste Verzögerung ist, wie sie beispielsweise in einem Pipeline-System auftreten könnte, dann haben die erzeugten analogen Taktsignale ihre Nulldurchgänge zu einer Zeit, die der festen Verzögerung nach dem digitalen Taktimpuls entspricht. Unter diesen Umständen erscheint die Verzögerung, die von der Korrekturschaltung 126 bewirkt wird, als Phasenfehler im analogen Signal, das für viele Anwendungen akzeptabel sein kann.
- Als Alternative könnten die Ausgangssignale der globalen digitalen Zeitgeber 110 relativ zu den Ausgangssignalen der globalen analogen Zeitgeber 112 um den gleichen Betrag der Verzögerung verzögert werden; der von der Korrekturschaltung 126 bewirkt wird. In diesem Fall würde das analoge Signal mit dem digitalen Taktimpuls ohne Phasenverzögerung synchronisiert werden.
- Als weitere Alternative könnte eine Vorgriffschaltung 128 verwendet werden. Die Vorgriffschaltung 128 berechnet den Wert R, eine bestimmte Anzahl von Haupttaktzyklen im voraus. Die Anzahl der Taktzyklen wäre gleich der Verzögerung, die von der Korrekturschaltung 126 bewirkt wird.
- Fig. 5 zeigt eine schematische Darstellung einer Vorgriffschaltung, die einen Wert für R acht Haupttaktimpulse im voraus erzeugt. Bei diesen Vorgang darf sich der Wert für I im digitalen Zeitgeber 110 für acht Haupttaktimpulse vor dem Synchronisationsbefehl nicht ändern. Eine Schaltung zum Voraussehen irgendeiner Anzahl von Taktimpulsen könnte aufgebaut werden, aber vorzugsweise ist diese Anzahl eine Potenz von 2. Diese Anforderung wird durch eine entsprechende Programmierung des digitalen Mustergenerators 120 implementiert.
- Die Vorgriffschaltung 128 arbeitet, indem sie den I-Wert im globalen digitalen Zeitgeber 110A mit 8 multipliziert. Dies ist der Betrag, der in acht Zyklen des Haupttaktes 114 zum R-Wert addiert wird. Die Multiplikation mit acht wird einfach implementiert, indem jedes Bit der Zahl um drei Stellen verschoben wird. Fig. 5 zeigt eine verdrahtete Verschiebung 510. Die verdrahtete Verschiebung 510 ist nicht wirklich ein gesondertes Bauelement. Sie wird durch Weiterführung einzelner Datenleitungen zum Addierer 512 erreicht.
- Der Wert für 8*I wird zum aktuellen Wert für R im Addierer 512 addiert. Diese Summe könnte den Wert von B überschreiten, aber im globalen digitalen Zeitgeber 110A überschreitet der Wert von R niemals B. Die Summe 8*I+R muß unter Verwendung einer "mod"-Funktion in eine Zahl, die kleiner ist als B ist, d. h. der Rest der Teilungsoperation, umgesetzt werden.
- Die mod-Funktion kann in Hardware implementiert werden, indem der Wert für B von der Summe 8*I+R subtrahiert wird, bis eine Subtraktion zu einem negativen Wert führt. Das Ergebnis der vorherigen Subtraktion wäre dann der Rest. Es könnte jedoch wegen der Einschränkungen der Werte I und R eine einfachere und schnellere Schaltung verwendet werden. Die Summe 8*I+R ist immer kleiner als 9*B. Es wird also ein Maximum von acht Subtraktionen benötigt.
- Diese Subtraktionen werden parallel von Addierern 514(1) ... 514(8) durchgeführt. Ein Eingangs jedes Addierers 514(1) bis 514(8) empfängt die Summe, die vom Addierer 512 berechnet wird. Der zweite Eingangs jedes der Addierer 514(1) ... 514(8) ist jeweils mit den Registern 516(1) ... 516(8) verbunden.
- Die Werte -B, -2B ... -8B werden jeweils in die Register 516(1) ... 516(8) geladen. Da B der Einfachheit halber festgelegt wird, wenn ein Muster eingerichtet wird, und sich während des Musters nicht mehr ändert, können diese Werte an der Computerarbeitsstation (nicht dargestellt), die mit dem Prüfgerät 100 (Fig. 1) verbunden ist, berechnet und vor der Ausführung des Musters gespeichert werden.
- Die Addierer 514(1), ... 514(8) wirken auch als Komparatoren. Die aufeinanderfolgenden Addierer vergleichen den Wert I*8 mit dem nachfolgenden Vielfachen von B, nämlich B, 2B, ... 8B. Das Übertragsbit eines Addierers wird gesetzt, wenn I*8 größer ist als das entsprechende Vielfache von B. Der erste der Addierer 514(1) .... 514(8), dessen Übertragsbit nicht gesetzt wird, zeigt an, daß das Ausgangssignal des vorherigen Addierers das gewünschte Ergebnis ist. Wenn das Übertragsausgangssignal des Addierers 516(1) nicht gesetzt ist, zeigt es an, daß das Ausgangssignal des Addierers 512 das gewünschte Ergebnis ist. Wenn alle Übertragsbits der Addierer 514(1) ... 514(8) gesetzt sind, ist das Ausgangssignal des Addierers 514(8) das gewünschte Ausgangssignal.
- Die Ausgangssignale der Addierer 514(1) ... 514(8) sowie das Ausgangssignal des Addierers 512 werden an einen Multiplexer 518 übergeben. Die Übertragsausgangssignale der Addierer 514(1) 514(8) werden an einen Codierer 520 übergeben. Der Codierer 520 ist eine digitale logische Schaltung, die das Steuereingangssignal für den Multiplexer 518 erzeugt, was bewirkt, daß der Multiplexer 518 den entsprechenden Wert wählt.
- Der gewählte Wert stellt (8*I+R)mod 8 dar. Dieser Wert ist der Wert, den R künftig acht Taktimpulse hat. Er kann verwendet werden, um alle globalen Zeitgeber zu synchronisieren.
- Die Verwendung von erfindungsgemäßen Zeitgebern ermöglicht eine große Flexibilität bei der Erzeugung von Prüfsignalen. Eine sehr große Auswahl von Frequenzen kann mit hoher Auflösung programmiert werden. Analoge Signale mit verschiedenen Frequenzen könnten erzeugt werden, indem verschiedene Werte in den globalen analogen Zeitgebern 112A und 112B programmiert werden. Außerdem könnten digitale Signale verschiedener Frequenzen erzeugt werden. Als Alternative können diese Signale kohärent gemacht werden, indem N, I und B für jeden digitalen Zeitgeber gleich gewählt werden oder die gleichen Werte I und K für einen analogen Zeitgeber gewählt werden.
- Auch wenn nichtkohärente Signale erzeugt werden, können sie in einer bestimmten programmierbaren Zeit synchronisiert werden. Danach driften die Werte der Signale auseinander, da die Signale verschiedene Frequenzen haben. Da die Signale synchronisiert sind, driften sie jedoch in einer wiederholbaren Weise auseinander. Dieses Merkmal ist nützlich, um ein "pseudoasynchrones Prüfen" zu implementieren. Wenn ein DUT mit Eingangssignalen mit zwei verschiedenen Frequenzen geprüft wird, muß das Prüfergebnis für jeden geprüften Teil das gleiche sein.
- Zusätzlich können die analogen und digitalen Taktsignale synchronisiert werden. Selbst wenn sich die analoge Frequenz geringfügig von der digitalen Frequenz unterscheidet, können die analogen und digitalen Zeitgeber während der Ausführung eines Prüfmusters synchronisiert werden. Die Synchronisation kann mehrmals auftreten, um größere Genauigkeit zu erreichen. Dieses Merkmal ist für eine Mischsignalprüfung sehr nützlich.
- Obwohl nur eine Ausführungsform beschrieben worden ist, sind zahlreiche alternative Ausführungsformen oder Variationen möglich. Beispielsweise wurde als Teil des Synchronisationsvorgangs beschrieben, daß alle globalen digitalen Zeitgeber mit einem R-Wert vom globalen digitalen Zeitgeber 110A geladen werden. Der R-Wert könnte von jedem der Zeitgeber abgeleitet werden. Als Alternative könnte der R-Wert von einer bestimmten externen Quelle kommen. Es ist nicht wirklich erforderlich, daß alle globalen digitalen Zeitgeber mit dem gleichen R-Wert geladen werden. Zu Synchronisationszwecken ist es nur notwendig, daß eine bestimmte deterministische Beziehung zwischen den R-Werten vorhanden ist.
- Als eine weitere Alternative wurde beschrieben, daß während des Synchronisationsvorgangs in einer "Master-Slave"-Anordnung ein Wert für R von einem Zeitgeber in andere geladen wurde. Der Wert N könnte ebenso in den "Slave"-Zeitgeber geladen werden. Anstatt daß man jeden Zeitgeber eine programmierte Zeit nach der Synchronisationszeit einen Impuls erzeugen läßt, erzeugt der Slave-Zeitgeber seinen nächsten Taktimpuls zur gleichen Zeit wie der Master.
- Es wurde beschrieben, daß die Werte, die in die analogen Signalspeicher 124A und 124B geladen werden, Sinuswellen sind. Es könnte jedes periodische Signal erzeugt werden. Es wurde auch beschrieben, daß die Speicher 124A und 124B in den Speicher zum Erzeugen von analogen Signalen geladen werden. Als Alternative könnten diese Speicher verwendet werden, um Abtastwerte empfangener analoger Signale zu speichern.
- Fig. 1 zeigt zwei globale digitale Zeitgeber und zwei globale analoge Zeitgeber. Es könnte jede Anzahl von beiden Typen von Zeitgebern verwendet werden. Außerdem schlägt Fig. 1 vor, daß alle Zeitgeber mit einem digitalen Zeitgeber synchronisiert werden. Es könnte jede Untermenge der Zeitgeber mit irgendeinem Referenzpunkt synchronisiert werden.
- Außerdem wurde beschrieben, daß ein analoger Zeitgeber synchronisiert wird, indem der Nulldurchgang des erzeugten Signals mit einem digitalen Taktimpuls zusammenfällt. Die Synchronisation könnte erreicht werden, indem man irgendeinen bekannten Punkt am analogen Signal mit dem Impuls zusammenfallen läßt.
- Außerdem sollte man anerkennen, daß die bevorzugte Ausführungsform in Form von diskreten Funktionselementen beschrieben wurde. Es wird erwartet, daß diese Elemente als Teil einer ASIC (anwenderspezifischen integrierten Schaltung) implementiert werden, z. B. einer nach Kundenwunsch hergestellten integrierten Schaltung oder eines programmierbaren Gate-Arrays (Anordnung von logischen Gattern in einer integrierten Schaltung). Die tatsächliche Implementierung kann sich in Abhängigkeit von der Implementierung des Restes des Testgeräts 100 ändern. Außerdem beachte man, daß die verwendeten spezifischen Hardwareelemente nicht die einzelnen Elemente sind, die verwendet werden könnten, um die erforderlichen Funktionen bereitzustellen.
- Zur bequemeren Implementierung wurde einschränkend festgelegt, daß sich der Wert für B während der Ausführung eines Prüfmusters nicht geändert. Durch diese Einschränkung können verschiedene Werte vorher berechnet werden, und es ist nicht notwendig, daß die Hardware die erforderlichen Werte in Echtzeit berechnet. Wenn größere Flexibilität benötigt wird, könnten diese Werte variabel gemacht werden.
- Als weiteres Beispiel einer Variation, die möglich wäre, wurde beschrieben, daß die Taktwerte, die von dem globalen analogen Zeitgebern 112A und 112B erzeugt werden, verwendet werden, um analoge Signale zu erzeugen. Diese Werte könnten auch verwendet werden, um den Takt von Abtastwerten eines analogen Signals zu steuern.
Claims (9)
1. Prüfvorrichtung zur Prüfung eines elektronischen Bauelements, mit mindestens einem globalen
Zeitgenerator (110A, 110B), der mit mindestens einem lokalen Zeitgenerator (118) gekoppelt ist,
wobei der mindestens eine globale Zeitgenerator einen ersten Ausgang zur Erzeugung eines groben
Periodensignals (P&sub1;, P&sub2;) und einen zweiten Ausgang zur Erzeugung eines gebrochenen Restsignals (R&sub1;, R&sub2;)
aufweist, wobei das gebrochene Restsignal ein digitales Signal mit einem Wert ist, der kleiner als ein erster
Wert (B) ist,
wobei der mindestens eine lokale Zeitgenerator einen ersten Eingang, der mit dem ersten Ausgang
des mindestens einen globalen Zeitgenerators gekoppelt ist, einen zweiten Eingang, der mit dem zweiten
Ausgang des mindestens einen globalen Zeitgenerators verbindbar ist, und einen Ausgang zur Erzeugung
eines Flankensignals aufweist, wobei das Flankensignal einen Zeitbetrag, der dem gebrochenen Restsignal
proportional ist, nach dem groben Periodensignal auftritt,
dadurch gekennzeichnet, daß:
die Prüfvorrichtung ferner mindestens eine Umsetzschaltung (116A, 116B) mit einem Eingang, der
mit dem zweiten Ausgang des mindestens einen globalen Zeitgenerators gekoppelt ist, und einem Ausgang
aufweist, der mit dem zweiten Eingang des mindestens einen lokalen Zeitgenerators gekoppelt ist, zur
Erzeugung eines binären Restsignals (R&sub1;', R&sub2;'), wobei das binäre Restsignal ein digitales Signal mit einem
Wert ist, der proportional dem Wert des gebrochenen Restsignals, geteilt durch den ersten Wert, ist und
das Flankensignal, das am Ausgang des mindestens einen lokalen Zeitgenerators erzeugt wird,
einen Zeitbetrag, der von dem Wert des binären Restsignals bestimmt wird, nach dem groben
Periodensignal auftritt.
2. Prüfvorrichtung nach Anspruch 1, wobei das gebrochene Restsignal den Zähler eines nichtbinären
Bruches (I/B) darstellt.
3. Prüfvorrichtung nach Anspruch 1, ferner dadurch gekennzeichnet, daß der mindestens eine globale
Zeitgenerator aufweist:
ein erstes Register (204) mit einem Eingang und einem Ausgang, wobei der Ausgang des ersten
Registers mit dem zweiten Ausgang des mindestens einen globalen Zeitgenerators gekoppelt ist,
einen ersten Addierer (218) mit einem ersten Eingang, der mit dem Ausgang des ersten Registers
gekoppelt ist, einem zweiten Eingang zum Empfangen eines digitalen Signals mit einem zweiten Wert (I)
und einem Ausgang,
eine Einrichtung (220) zur Erzeugung eines Steuersignals, wenn die Summe, die am Ausgang des
ersten Addierers erzeugt wird, den ersten Wert überschreitet, und
eine Einrichtung (224) zum Wählen zwischen dem Ausgang des ersten Addierers und einem
dritten Wert (I+R-B), wobei der Ausgang des ersten Addierers gewählt wird, wenn das Steuersignal anzeigt,
daß der Ausgang des ersten Addierers kleiner oder gleich dem ersten Wert ist, und der dritte Wert gewählt
wird, wenn das Steuersignal anzeigt, daß der Ausgang des ersten Addierers größer als der erste Wert ist,
wobei die Einrichtung zum Wählen einen Ausgang aufweist, der mit dem Eingang des ersten Registers
verbunden ist.
4. Prüfvorrichtung nach Anspruch 3, wobei die Einrichtung zur Erzeugung eines Steuersignals einen
zweiten Addierer (220) aufweist,
wobei der zweite Addierer einen ersten Ausgang (C) zur Erzeugung des Steuersignals und einen
zweiten Ausgang zur Erzeugung eines digitalen Signals mit einem Wert aufweist, der gleich dem dritten
Wert (I+R-B) ist,
wobei der dritte Wert gleich einer Summe aus dem Wert des gebrochenen Restsignals (R), dem
zweiten Wert (I) und dem negativen Wert des ersten Wertes (B) ist und
wobei das Steuersignal gleich einem Durchführungssignal ist, das geltend gemacht wird, wenn die
Summe einen positiven Wert hat.
5. Verfahren zum Betreiben einer Prüfvorrichtung, wobei die Prüfvorrichtung verwendet wird, um
ein elektronisches Bauelement zu prüfen, mit den Schritten:
Bereitstellen eines Signals von einem Hauptzeitgeber (114),
Zählen einer vorbestimmten Anzahl (N) von Perioden des Hauptzeitgebersignals,
Erzeugen eines Zwischentaktsignals (TC), wobei das Zwischentaktsignal mit dem
Ausgangstaktsignal (P) gekoppelt ist,
bei einem Auftreten des Ausgangstaktsignals Erhöhen eines Wertes in einem Akkumulator (204)
um einen ersten Wert (I), wobei der Wert im Akkumulator gleich einem Wert eines gebrochenen
Restsignals (R) ist,
Bestimmen, ob der Wert des gebrochenen Restsignals größer ist als der zweite Wert (B), und
wenn der Wert des gebrochenen Restsignals größer ist als der zweite Wert, Verzögern des
nächsten Zwischentaktsignals um eine Periode des Haupttaktgebersignals, bevor das nächste
Zwischentaktsignal mit dem Ausgangstaktsignal gekoppelt wird,
dadurch gekennzeichnet, daß,
wenn der Wert des gebrochenen Restsignals größer ist als der zweite Wert, der Wert des
gebrochenen Restsignals um einen Betrag reduziert wird, der gleich dem zweiten Wert ist, und
der Wert des gebrochenen Restsignals durch einen zweiten Wert geteilt wird, um einen Wert eines
binären Restsignals (R') zu erhalten.
6. Verfahren nach Anspruch 5,
ferner dadurch gekennzeichnet, daß
beim Auftreten des Ausgangstaktsignals (P) das Ausgangstaktsignal und das binäre Restsignal (R')
an eine Vielzahl von Schaltungen in der gesamten Prüfvorrichtung geleitet wird und
ein Zeitpunkt von Prüfereignissen in der Vielzahl von Schaltungen so gesteuert wird, daß er zu
einer Zeit auftritt, die durch das Auftreten des Ausgangstaktsignals plus einer Verzögerung bestimmt wird,
wobei die Verzögerung gleich dem Wert des binären Restsignals ist.
7. Verfahren nach Anspruch 6,
wobei das Teilen ein Berechnen eines reziproken Wertes des zweiten Wertes (B) und ein
Multiplizieren des gebrochenen Restsignals mit dem berechneten reziproken Wert aufweist.
8. Verfahren nach Anspruch 5, ferner dadurch gekennzeichnet, daß
während der Ausführung eines Prüfprogramms ein Wert, der die vorbestimmte Anzahl (N) von
Perioden des Haupttaktgebersignals darstellt, in einen Zähler (200) geladen wird und der erste Wert (I) in
ein Register (202) geladen wird.
9. Verfahren nach Anspruch 5, ferner dadurch gekennzeichnet, daß
der zweite Wert (B) vor der Ausführung eines Prüfprogramms in ein Register (206) geladen wird.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US40532695A | 1995-03-16 | 1995-03-16 | |
| PCT/US1995/015712 WO1996028745A2 (en) | 1995-03-16 | 1995-12-04 | Timing generator with multiple coherent synchronized clocks |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| DE69517604D1 DE69517604D1 (de) | 2000-07-27 |
| DE69517604T2 true DE69517604T2 (de) | 2001-02-22 |
Family
ID=23603220
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE69517604T Expired - Lifetime DE69517604T2 (de) | 1995-03-16 | 1995-12-04 | Zeitgeber mit mehreren kohärenten synchronisierten takten |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US5905967A (de) |
| EP (1) | EP0815461B1 (de) |
| DE (1) | DE69517604T2 (de) |
| WO (1) | WO1996028745A2 (de) |
Families Citing this family (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4138163B2 (ja) * | 1999-07-07 | 2008-08-20 | 株式会社ルネサステクノロジ | Lsi試験装置およびそのタイミングキャリブレーション方法 |
| EP1085335A1 (de) * | 1999-09-14 | 2001-03-21 | Alcatel | Verfahren und Vorrichtung zum Testen integrierter Schaltungen mit einer automatischen Testeinrichtung |
| US6396313B1 (en) | 2000-08-24 | 2002-05-28 | Teradyne, Inc. | Noise-shaped digital frequency synthesis |
| US6675117B2 (en) | 2000-12-12 | 2004-01-06 | Teradyne, Inc. | Calibrating single ended channels for differential performance |
| US7343387B2 (en) | 2002-02-26 | 2008-03-11 | Teradyne, Inc. | Algorithm for configuring clocking system |
| US7080304B2 (en) | 2002-02-26 | 2006-07-18 | Teradyne, Inc. | Technique for programming clocks in automatic test system |
| AU2003222702A1 (en) | 2002-05-03 | 2003-11-17 | Mcgill University | Method and device for use in dc parametric tests |
| US6925408B2 (en) * | 2003-09-08 | 2005-08-02 | Texas Instruments Incorporated | Mixed-signal core design for concurrent testing of mixed-signal, analog, and digital components |
| CA2556420A1 (en) * | 2004-02-19 | 2005-09-01 | Georgia Tech Research Corporation | Systems and methods for parallel communication |
| US7319936B2 (en) | 2004-11-22 | 2008-01-15 | Teradyne, Inc. | Instrument with interface for synchronization in automatic test equipment |
| US7454681B2 (en) * | 2004-11-22 | 2008-11-18 | Teradyne, Inc. | Automatic test system with synchronized instruments |
| TWI339948B (en) * | 2007-11-19 | 2011-04-01 | Faraday Tech Corp | Pll base timing generator and method of generating timing signal |
| EP2227726A4 (de) * | 2007-12-31 | 2012-12-05 | Teradyne Inc | Timingsignalgenerator für synchronisierte timing-signale bei mehreren für mehr als einen zeitraum einstellbaren ungeraden takten |
| US8359504B1 (en) | 2010-05-18 | 2013-01-22 | Advanced Testing Technologies, Inc. | Digital functional test system |
| US9562951B2 (en) | 2014-03-11 | 2017-02-07 | Venable Corporation | Digital Frequency response analysis system and method useful for power supplies |
| US9503102B2 (en) * | 2014-08-29 | 2016-11-22 | Tektronix, Inc. | Synchronization for multiple arbitrary waveform generators |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4063308A (en) * | 1975-06-27 | 1977-12-13 | International Business Machines Corporation | Automatic clock tuning and measuring system for LSI computers |
| US4101761A (en) * | 1976-11-26 | 1978-07-18 | Pacific Western Systems | Timing pulse generator |
| US4231104A (en) * | 1978-04-26 | 1980-10-28 | Teradyne, Inc. | Generating timing signals |
| US4564953A (en) * | 1983-03-28 | 1986-01-14 | Texas Instruments Incorporated | Programmable timing system |
| US4789835A (en) * | 1983-08-01 | 1988-12-06 | Fairchild Camera & Instrument Corporation | Control of signal timing apparatus in automatic test systems using minimal memory |
| US4779221A (en) * | 1987-01-28 | 1988-10-18 | Megatest Corporation | Timing signal generator |
| US5274796A (en) * | 1987-02-09 | 1993-12-28 | Teradyne, Inc. | Timing generator with edge generators, utilizing programmable delays, providing synchronized timing signals at non-integer multiples of a clock signal |
| US5321700A (en) * | 1989-10-11 | 1994-06-14 | Teradyne, Inc. | High speed timing generator |
| US5212443A (en) * | 1990-09-05 | 1993-05-18 | Schlumberger Technologies, Inc. | Event sequencer for automatic test equipment |
-
1995
- 1995-12-04 WO PCT/US1995/015712 patent/WO1996028745A2/en not_active Ceased
- 1995-12-04 DE DE69517604T patent/DE69517604T2/de not_active Expired - Lifetime
- 1995-12-04 EP EP95944473A patent/EP0815461B1/de not_active Expired - Lifetime
-
1997
- 1997-10-22 US US08/971,625 patent/US5905967A/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| DE69517604D1 (de) | 2000-07-27 |
| WO1996028745A3 (en) | 1996-12-05 |
| WO1996028745A2 (en) | 1996-09-19 |
| EP0815461B1 (de) | 2000-06-21 |
| EP0815461A2 (de) | 1998-01-07 |
| US5905967A (en) | 1999-05-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE69517604T2 (de) | Zeitgeber mit mehreren kohärenten synchronisierten takten | |
| DE60204597T2 (de) | Kompakter automatischer tester (ate) mit zeitstempel-system | |
| DE10045568B4 (de) | Ereignisgestütztes Halbleiterprüfsystem | |
| DE60002426T2 (de) | Takterzeugung und verteilung in einem emulationssystem | |
| EP1554803B1 (de) | Verfahren und vorrichtung zum erzeugen eines taktsignals mit vorbestimmten taktsignaleigenschaften | |
| DE69525093T2 (de) | Vorrichtung und Verfahren zur Erzeugung eines phasengesteuerten Taktsignals | |
| DE4445311C2 (de) | Zeitsignal-Erzeugungsschaltung | |
| DE69904760T2 (de) | Analoger taktmodul | |
| EP2132579B1 (de) | Verfahren und vorrichtung zum messen des phasenrauschens | |
| DE69520960T2 (de) | Zeitgeber für ein automatisches testsystem mit hohen datenraten | |
| DE19956533A1 (de) | Halbleiterprüfsystem | |
| DE112005001645T5 (de) | Präzise Zeitmessvorrichtung und Verfahren dafür | |
| DE112005001517B4 (de) | Synchronisation zwischen Niedrigfrequenz- und Hochfrequenzdigitalsignalen | |
| DE102009011795A1 (de) | Synthesizer mit einstellbarer, stabiler und reproduzierbarer Phase und Frequenz | |
| DE69101250T2 (de) | Digitale Phasendetektor-Anordnung. | |
| DE19611194C2 (de) | Taktgenerator für mehrere Referenztakte | |
| DE4437069C2 (de) | Taktgenerator für Halbleiter-Prüfgerät | |
| DE10016611A1 (de) | Prüfsystem | |
| DE3801993C2 (de) | Zeitgebersystem | |
| DE19811591C2 (de) | Taktsignal modellierende Schaltung mit negativer Verzögerung | |
| DE2829709A1 (de) | Verfahren und anordnung zur erzeugung zeitlich unmittelbar aufeinanderfolgender impulszyklen | |
| DE69123725T2 (de) | Elektrischer Schaltkreis zum Generieren von Impulsreihen | |
| EP0303916A2 (de) | Taktstromversorgung | |
| DE3751341T2 (de) | Drehzahlsignalverarbeitung. | |
| DE69029442T2 (de) | Zeitintervall-Triggerung und Hardware Erzeugung von Histogramm |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 8364 | No opposition during term of opposition |