DE4306463A1 - Digital data generation system with programmable dominance-latch device - contains pattern generator producing pulses with definable leading and trailing edge durations - Google Patents

Digital data generation system with programmable dominance-latch device - contains pattern generator producing pulses with definable leading and trailing edge durations

Info

Publication number
DE4306463A1
DE4306463A1 DE4306463A DE4306463A DE4306463A1 DE 4306463 A1 DE4306463 A1 DE 4306463A1 DE 4306463 A DE4306463 A DE 4306463A DE 4306463 A DE4306463 A DE 4306463A DE 4306463 A1 DE4306463 A1 DE 4306463A1
Authority
DE
Germany
Prior art keywords
input
pulse
output
data
reset
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.)
Granted
Application number
DE4306463A
Other languages
English (en)
Other versions
DE4306463C2 (de
Inventor
John Hengeveld
Jonathan C Lueker
Bradford H Needham
Burt Price
James Schlegel
Mehrab Sedeh
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tektronix Inc
Original Assignee
Tektronix Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tektronix Inc filed Critical Tektronix Inc
Publication of DE4306463A1 publication Critical patent/DE4306463A1/de
Application granted granted Critical
Publication of DE4306463C2 publication Critical patent/DE4306463C2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/319Tester hardware, i.e. output processing circuits
    • G01R31/31917Stimuli generation or application of test patterns to the device under test [DUT]
    • G01R31/31922Timing generation or clock distribution
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/319Tester hardware, i.e. output processing circuits
    • G01R31/31917Stimuli generation or application of test patterns to the device under test [DUT]
    • G01R31/31919Storing and outputting test patterns
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/319Tester hardware, i.e. output processing circuits
    • G01R31/31917Stimuli generation or application of test patterns to the device under test [DUT]
    • G01R31/31928Formatter
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/319Tester hardware, i.e. output processing circuits
    • G01R31/31903Tester hardware, i.e. output processing circuits tester configuration
    • G01R31/31908Tester set-up, e.g. configuring the tester to the device under test [DUT], down loading test patterns
    • G01R31/3191Calibration

Description

Diese Erfindung betrifft digitale Datenerzeugungsprüfsysteme, insbesondere Systeme, um in Prüfung befindliche Geräte hin­ sichtlich des Einsatzes zum Ansprechen auf Datensignale verän­ derlichen Inhaltes anstelle nur auf periodische Impulse zu kennzeichnen.
Bei herkömmlichen Datenerzeugungsprüfsystemen sind in separa­ ten Stufen eine Datenquelle, ein Impulsgenerator und eine Schaltmatrix kombiniert. Die Datenquelle erzeugt eine Folge von vom Benutzer auswählbaren Daten. Der Impulsgenerator erzeugt als Reaktion auf den Datengenerator einen Impuls mit wählbaren Charakteristika. Der Impulsgenerator besteht typi­ scherweise aus zwei in Reihe geschalteten monostabilen Multi­ vibratoren: der erste dient zur Erzeugung der Verzögerung, welche die Vorderflanke eines jeden Datenimpulses im Daten­ signal kennzeichnet, der zweite soll die Breite eines jeden Datenimpulses erzeugen. Ein Beispiel eines solchen Impuls­ generators ist der Hewlett-Packard HP-8131A, welcher im Hewlett-Packard-Journal von August 1990 beschrieben ist. Die Schaltmatrix richtet den von dem Impulsgenerator erzeugten Datenimpuls auf einen bestimmten Anschlußstift des in Prüfung befindlichen Gerätes.
Die Architektur herkömmlicher Datenerzeugungsprüfsysteme unterliegt erheblichen Beschränkungen. Erstens greift die herkömmliche Architektur zum Teil auf analoge Schaltungen, z. B. monostabile Multivibratoren zurück, wodurch der Benutzer gezwungen ist, den Ausgang des Datenerzeugungsprüfsystems anzupassen, zu assemblieren, zu programmieren, von Fehlern zu bereinigen, festzulegen und einen Bitversatz zu eliminieren, bevor ein Gerät getestet werden kann. Zweitens unterliegen herkömmliche Datenerzeugungsprüfsysteme Beschränkungen der Wiedertriggerung. Ist das Datensignal erst einmal von einem Signalpegel "1" auf einen Signalpegel "0" übergegangen, brau­ chen monostabile Multivibratoren, die in derartigen herkömm­ lichen Systemen verwendet werden, eine minimale Erholungszeit bis sie einen Übergang auf einen Signalpegel "1" wiedertrig­ gern können. In der Praxis beschränkt dies das mögliche Tast­ verhältnis auf im wesentlichen weniger als 100%. Drittens be­ stimmen herkömmliche Datenerzeugungsprüfsysteme die zeitliche Lage der Hinterflanke eines jeden Datenimpulses auf abgelei­ tete Art und Weise von der Verzögerung der Vorderflanke und der Breite des Datenimpulses, was die Flexibilität bei Zeit­ festlegung der Hinterflanke des Datenimpulses begrenzt. Vier­ tens ermöglichen Datenerzeugungsprüfsysteme mit monostabilen Multivibratoren allgemein einem Benutzer nicht, eine steuer­ bare einmalige Verzögerung bei Beginn des Datensignals ein­ zufügen. Fünftens bieten derartige Datenerzeugungsprüfsysteme nur begrenzte Optionen zum Formatieren des Datensignals. Sechstens haben herkömmliche Datenerzeugungsprüfsysteme allgemein nur begrenzte Modi zum Erzeugen von Datensignalen. Siebtens müssen solche Datenerzeugungsprüfsysteme allgemein manuell kalibriert werden. Der Benutzer nimmt Kalibrierungs­ einstellungen auf der Grundlage externer Messungen, insbe­ sondere der Impulsgeneratorstufe, vor, um die Genauigkeit der Datensignaltaktung aufrechtzuerhalten.
Außerdem kann selbst bei Verwendung digitaler logischer Geräte zur Erzeugung des Datenimpulses nicht die gesamte Impulsperio­ de verwendet werden. Bei der Erstellung eines Datenimpulses von beliebiger Breite unter Verwendung digitaler logischer Geräte besteht der herkömmliche Ansatz darin, ein Flipflop mit RS-Tastung (ein "RS-Flipflop") einzusetzen, so daß ein erster Eingangsimpuls, der am Set-Eingang des Flipflop anliegt, den Ausgangsimpuls startet, und ein zweiter Eingangsimpuls, der am Reset-Eingang des Flipflop anliegt, den Ausgangsimpuls been­ det. Die Zeit zwischen dem ersten Eingangsimpuls und dem zwei­ ten Eingangsimpuls bestimmt die Breite des Ausgangsimpulses. Die minimale Impulsbreite jedoch, die sich durch eine solche Schaltung erzeugen läßt, ist eine, deren Breite gleich der Breite des Taktimpulses ist, da der Ausgang eines Flipflop mit RS-Tastung nicht definiert ist, wenn sowohl der Set- als auch der Reset-Ausgang gesetzt sind. Die maximale Impulsbreite ist aus dem gleichen Grund gleich der Differenz zwischen der Takt­ impulsperiode und der Taktimpulsbreite. Für Fälle, in denen es erwünscht ist, einen Impuls mit einer Impulsdauer von irgendwo zwischen 0 bis 100% der Taktperiode zu erzeugen, ist der her­ kömmliche Ansatz unzulänglich; es wird daher ein neuer Ansatz benötigt.
Dementsprechend besteht die Aufgabe, ein verbessertes Daten­ erzeugungsprüfsystem verfügbar zu machen, mit dem in Prüfung befindliche Geräte nach ihrer Fähigkeit zum Ansprechen auf Datensignale, die von einem oder mehreren Datenerzeugungs­ systemen ausgegeben werden, klassifiziert werden können.
Die vorliegende Erfindung erfüllt diese Aufgabe mit einem Datenerzeugungssystem, welches eine vollständig integrierte digitale Architektur aufweist, welches ideal, d. h. sofort wiedertriggerbar ist, welches dem Benutzer für Tastverhält­ nisse von 0 bis über 100% eine unabhängige Steuerung sowohl der Vorder- als auch der Hinterflanken ermöglicht, welches dem Benutzer ermöglicht, bei Beginn des Datensignals ohne unerwün­ schte Konsequenzen für die Taktung der Vorder- und Hinterflan­ ken von Datenimpulsen im Datensignal Verzögerungen einzufügen, welches dem Benutzer eine Vielzahl von Datenformaten und Signalerzeugungsmodi ermöglicht, welches eine vom Benutzer programmierbare Steuerung des Formates des Datensignals bietet und welches sich automatisch selbst kalibriert. Außerdem stellt die Erfindung eine neuartige programmierbare Dominanz- Flipflopschaltung mit RS-Tastung bereit, welche die Erzeugung eines Datenimpulses mit einem Tastverhältnis von 0 bis über 100% ermöglicht.
Gemäß der Erfindung speichert eine Speichervorrichtung vom Benutzer auswählbare Daten, die Signalpegel von "1"en und "0"en umfassen, welche den Datenimpulsen des von dem Daten­ erzeugungssystem zu erzeugenden Datensignals zur Anwendung auf das in Prüfung befindliche Gerät ("device under test", "DUT") entsprechen. Ein Formatierblock liest diese Daten parallel und setzt sie in zwei serielle Folgen grob getakteter Flankenplazierungsdaten um - wobei eine Folge der Vorderflanke der Datenimpulse entspricht und die andere Folge der Hinter­ flanke solcher Impulse entspricht. Diese Umsetzung wird gemäß einer Kombination (i) der vom Benutzer programmierten Tak­ tungsanweisungen, (ii) der Vorgeschichte der Flankenplazie­ rungsdaten und (iii) des Formates des vom Benutzer program­ mierten Datensignals durchgeführt.
Der Formatierblock erstellt die vom Benutzer programmierte Ausgangsperiode des Datensignals mit Bezug auf einen verän­ derlichen Haupttakt, der an dem Datenerzeugungsprüfsystem anliegt. Wenn die vom Benutzer programmierte Periode des Datensignals einer Frequenz innerhalb des Bereichs des Haupt­ taktes entspricht, dann steuert der Formatierblock den Haupt­ takt so, daß er mit einer Frequenz gleich dem Kehrwert der vom Benutzer programmierten Periode arbeitet. In diesem Fall hat das Datensignal eine Periode gleich der Periode des Haupt­ taktes. Wenn die vom Benutzer programmierte Periode einer Frequenz unterhalb des Bereiches des Haupttaktes entspricht, dann steuert der Formatierblock den Haupttakt so, daß er mit einer Frequenz gleich dem Quotienten der vom Benutzer program­ mierten Periode, geteilt durch einen von dem Formatierblock errechneten Skalierungswert, arbeitet. Das von dem Datenerzeu­ gungssystem ausgegebene Datensignal hat eine Periode, welche als Verkettung von Haupttaktperioden angelegt ist, wobei die Anzahl dieser verketteten Perioden gleich dem errechneten Skalierungswert ist.
Die beiden vom Formatierblock erzeugten seriellen Folgen werden zu einem Präzisionstaktungsblock geführt, innerhalb dessen vom Benutzer programmierte Taktanweisungen an jede Folge von Flankenplazierungsdaten angelegt werden, um die Vorderflanke und die Hinterflanke eines jeden Datenimpulses in bis zu drei Pegeln inkrementell feiner Verzögerung unabhängig voneinander zu verzögern. Der Präzisionstaktungsblock erstellt unter Benutzung dieser beiden Folgen jeden Datenimpuls des Datensignals.
Bei der Erstellung eines jeden Datenimpulses des Datenstromes überwindet der Präzisionstaktungsblock Begrenzungen, die bei herkömmlichen Impulsschaltungen bezüglich eines Impulses mit beliebiger Breite in digitaler Schaltung unvermeidlich sind. Dies bedeutet die Unmöglichkeit, mit einer herkömmlichen Impulsschaltung einen Impuls mit einem vollen Tastverhält­ nisbereich von 0 bis 100% zu erzeugen, und wird gemäß der Erfindung durch Bereitstellung der vorher erwähnten program­ mierbaren Flipflopschaltung mit RS-Tastung überwunden, welche sich auch wie ein Latch des D-Typs verhalten kann. Das heißt, als Flipflop mit RS-Tastung kann die Schaltung so gesteuert werden, daß entweder der Set-Eingang oder der Reset-Eingang den Ausgang bestimmt, wenn beide sich auf einem Signalpegel "1" befinden. Dies wird durch Verwendung eines Latchspeichers des D-Typs erreicht, bei dem ein Multiplexer mit seinem D-Ein­ gang und ein erstes "ODER"-Gatter mit seinem Freigabeeingang verbunden ist. Der Multiplexer wählt zwischen einem Set-Ein­ gang und einem Reset-Eingang zum Anlegen an den D-Eingang des Latch-Speichers, wobei Signale, die an diese Eingänge angelegt werden, gleichzeitig auch an Eingänge des "ODER"-Gatters ange­ legt werden, um den Latch-Speicher freizugeben. Wenn es er­ wünscht ist, einen Impuls mit geringem Tastverhältnis zu er­ zeugen, dann wird der Reset dominant gemacht. Wenn es er­ wünscht ist, einen Impuls mit hohem Tastverhältnis zu erzeu­ gen, dann wird der Set dominant gemacht. Als Ergebnis werden unbestimmte Zustände eliminiert.
Die Impulserzeugungsschaltung ist so ausgelegt, daß sie sich wie ein Flipflop mit RS-Tastung in "Rückkehr auf Null"- ("RZ") und "Rückkehr auf 1" ("R1")-Modi verhält. Sie weist jedoch einen Mechanismus auf, der selektiv bewirkt, daß sich die Schaltung wie ein transparenter Latch in einem "Nichtrückkehr auf Null"- ("NRZ") Modus verhält. Dies wird erreicht, indem ein "UND"-Gatter am Set-Eingang des "ODER"-Gatters gesetzt wird, wobei ein Eingang des "UND"-Gatters der Set-Eingang ist und ein weiterer, invertierender Eingang des "UND"-Gatters einen "Nichtrückkehr auf Null"- ("NRZ") Eingang erstellt. Wenn sich der NRZ-Eingang auf dem Signalpegel "1" befindet, dann bleibt der Freigabeeingang an den Latch des D-Typs auf dem Signalpegel "1", so daß der Signalpegel am D-Eingang durch den Ausgang des Latch geleitet wird. Es wird auch ein zweites "ODER"-Gatter an dem anderen Eingang des ersten "ODER"-Gatters plaziert, welches mit dem Freigabeeingang verbunden ist. Ein Eingang des zweiten "ODER"-Gatters empfängt das Reset-Signal, während der andere ein direktes Reset-Signal empfängt.
Die von dem Präzisionstaktungsblock erzeugten Datenimpulse werden an einen Ausgangsblock geführt, in welchem Spannungs­ pegel gemäß vom Benutzer programmierten Anweisungen zum Anlegen des Datensignals an das "DUT" gesetzt werden.
Der Ausgangsblock ist auch mit einem Analog/Digital-Wandler verbunden, welcher nicht nur zum Kalibrieren von Ausgangs­ spannungspegeln, sondern auch zum Kalibrieren der verschie­ denen Verzögerungsmechanismen durch Überwachen geringer Ver­ änderungen im Tastverhältnis des Datensignals verwendet wird.
Das digitale Datenerzeugungsprüfsystem bietet dem Benutzer eine Kontrolle über die Einfügung von Verzögerungen zu Beginn des Datensignals, über das Format und über den Modus der Datensignalerzeugung.
Dementsprechend wird mit der vorliegenden Erfindung ein neuartiges und verbessertes Datenerzeugungsprüfsystem zur Kennzeichnung von in Prüfung befindlichen Geräten durch ihre Fähigkeit zum Ansprechen auf Datensignale bereitgestellt.
Es wird vorteilhafterweise ein Datenerzeugungsprüfsystem ver­ fügbar gemacht, welches eine vollständig digitale Architektur aufweist, die es dem Benutzer ermöglicht, Datengeschwindig­ keiten, Datenspannungspegel und andere Charakterisierungs­ parameter zu programmieren.
Das neue Datenerzeugungsprüfsystem hat den Vorteil, ideal wiedertriggerbar zu sein.
Ein weiterer Vorteil der vorliegenden Erfindung besteht darin, ein Datenerzeugungsprüfsystem anzugeben, welches dem Benutzer ermöglicht, die Taktung von Datenimpulsen durch unabhängige Kontrolle von Vorder- und Hinterflanken zu steuern, wodurch Tastverhältnisse von 0 bis über 100% erstellt werden.
Weiterhin ist es gemäß der vorliegenden Erfindung dem Benutzer möglich, mit dem Datenerzeugungsprüfsystem steuerbare Ver­ zögerungen am Beginn des Datensignals einzufügen.
Ein noch weiterer Vorteil der vorliegenden Erfindung ist es, ein Datenerzeugungsprüfsystem bereitzustellen, welches dem Benutzer ermöglicht, das Format des Datensignals zu steuern und aus einer Vielzahl von Modi zum Erzeugen von Datensignals auszuwählen.
Ein weiterer Vorzug der vorliegenden Erfindung liegt für das Datenerzeugungsprüfsystem darin, daß es sich selbst automatisch kalibriert.
Die erfindungsgemäße Flipflopschaltung mit RS-Tastung kann so programmiert werden, daß entweder ein Set-Eingang oder ein Reset-Eingang dominiert, wenn sowohl der Set- als auch der Reset-Eingang vorliegen bzw. gesetzt sind.
Es ist schließlich ein Vorteil der vorliegenden Erfindung, eine Ausgangsimpulserzeugungsschaltung anzugeben, bei welcher bewirkt werden kann, daß sie sich entweder wie ein Flipflop mit RS-Tastung in RZ- oder R1-Modi oder wie ein Latch des D- Typs in einem NRZ-Modus verhält.
Weitere Einzelheiten, Merkmale und Vorteile der Erfindung ergeben sich aus der folgenden detaillierten Beschreibung der Erfindung, in Verbindung mit der beigefügten Zeichnung.
Es zeigt
Fig. 1 ein Blockschaltbild des Systempegels eines erfindungsgemäßen Datenerzeugungsprüfsystems mit einer Datenerzeugungsprüfeinheit, einem externen Mikroprozessor und einem Zeitbasisgenerator, die alle miteinander verbunden sind;
Fig. 2 ein allgemeines Blockschaltbild einer Ausführungs­ form einer erfindungsgemäßen Datenerzeugungsprüf­ einheit;
Fig. 3 a+b ein Blockschaltbild des Signalpegels einer allgemeinen Ausführungsform der vorliegenden Erfindung;
Fig. 4 ein Blockschaltbild eines Mustererzeugungsblocks aus Fig. 3;
Fig. 5 a+b ein Blockschaltbild eines Signalpegels eines RAM- Adreßzählerblocks, welcher in dem in Fig. 5 gezeig­ ten Mustererzeugungschip eingegliedert ist;
Fig. 6 ein Blockschaltbild eines Signalpegels eines RAM- Adreßzählerblocks, welcher in dem in Fig. 5 gezeig­ ten Mustererzeugungschip eingegliedert ist;
Fig. 7 ein Blockschaltbild eines Signalpegels eines TRAIL MASK PIPE-Blocks, welcher in dem in Fig. 5 gezeigten Mustererzeugungschip eingegliedert ist;
Fig. 8 ein Zeitablaufdiagramm, welches allgemein die Erzeugung eines Datenimpulses veranschaulicht;
Fig. 9 ein Zeitablaufdiagramm, welches die Anwendung verschiedener Verzögerungen bei der Erstellung der Taktung von Datenimpulsen veranschaulicht;
Fig. 10 ein Logikschaltbild für eine erfindungsgemäße pro­ grammierbare Dominanz-Flipflopschaltung mit RS- Tastung, welche sich wie ein D-Latch verhalten kann und in dem Präzisionstaktungsblock aus Fig. 2 eingegliedert ist;
Fig. 11 ein Logikschaltbild für eine Impulsverkürzungs­ schaltung, welche in der programmierbaren Dominanz- Flipflopschaltung mit RS-Tastung aus Fig. 10 verwendet wird;
Fig. 12 ein Logikschaltbild für eine RS/Latch-Zelle, welche in der erfindungsgemäßen Schaltung aus Fig. 10 verwendet wird; und
Fig. 13 ein Blockschaltbild einer allgemeinen Ausführungs­ form eines Datenerzeugungsprüfsystems mit vier Kanälen aus dem Stand der Technik.
Gemäß Fig. 13 besteht ein herkömmliches Datenerzeugungsprüf­ system nach dem Stand der Technik aus einem Datengenerator 10, einem oder mehreren Impulsgeneratoren 12 und einer Schaltma­ trix 14, welche mit einem in Prüfung befindlichen Gerät ("device under test", "DUT") 16 parallelgeschaltet ist. Der Datengenerator 10 erzeugt digitale Datenwörter in parallelen Kanälen, wobei die Taktung für jeden Kanal durch einen der diskreten Impulsgeneratoren 12 erstellt wird. Die Schaltmatrix 14 richtet das Datensignal auf einen bestimmten Anschlußstift des DUT 16. Im typischen Fall erstellt der Impulsgenerator 12 die Taktung eines jeden Datenimpulses im Datensignal durch Kon­ figurierung zweier in Reihe geschalteter, monostabiler Multi­ vibratoren - wobei der erste zur Steuerung der Verzögerung vorgesehen ist, welche die Vorderflanke eines jeden Datenim­ pulses bestimmt, und der zweite zur Einstellung der Breite eines jeden Datenimpulses vorgesehen ist. Da die Breite eines jeden Datenimpulses veränderbar ist, kann die Breite so einge­ stellt werden, daß die Hinterflanke des Datenimpulses auf die Vorderflanke zusammengeschoben wird. Eine Kontrolle über die Breite des Datenimpulses ergibt jedoch nur eine begrenzte, ab­ geleitete Kontrolle über die Taktung der Hinterflanke eines jeden Datenimpulses. Außerdem unterliegen Impulsgeneratoren 12, die monostabile Multivibratoren verwenden, Beschränkungen hinsichtlich der Wiedertriggerung, welche eine Architektur­ beschränkung des Tastverhältnisses des Datensignals bewirken: ist das Datensignal erst einmal von einem Signalpegel "1" auf einen Signalpegel "0" übergegangen, dann brauchen die mono­ stabilen Multivibratoren eine minimale Erholungszeit, ehe sie wieder einen Übergang auf einen Signalpegel "1" triggern kön­ nen.
Demgegenüber zeigt die Fig. 2 ein Blockschaltbild des System­ pegels des Datenerzeugungsprüfsystems, welches die oben be­ schriebenen Beschränkungen herkömmlicher Datenerzeugungsschal­ tungen überwindet. Eine Datenerzeugungsprüfeinheit 18 ist auf einer Karte enthalten, welche über Schnittstellen mit einem externen Mikroprozessor ("MPU") 20 und einer externen Zeitbasiskarte 22 verbunden ist. Der externe Mikroprozessor 20 kommuniziert mit einem oder mehreren Datenerzeugungsprüfein­ heiten 18 und mit der Zeitbasiskarte 22 über einen MPU-Bus 24. Ein Hochgeschwindigkeitsbus 26 ermöglicht eine schnelle Kom­ munikation zwischen den Datenerzeugungsprüfeinheiten 18 und der Zeitbasiskarte 22. Abgeschirmte verdrillte Doppelleitungen 28 führen einen von der Zeitbasiskarte 22 erzeugten Hochge­ schwindigkeitstakt zu den Datenerzeugungsprüfeinheiten 18.
Jede Karte, die ein Datenerzeugungsprüfsystem enthält, ist vorzugsweise so aufgebaut, daß sie eine Vielzahl von separaten Datenerzeugungsprüfeinheiten 18 enthält, um mehrere Daten­ signalkanäle zum Anlegen an das DUT 16 bereitzustellen. Jeder Kanal verwendet den Hochgeschwindigkeitstakt der Zeitbasis­ karte 22 als Haupttakt, wie nachstehend weiter erläutert ist.
Die Zeitbasiskarte 22 erstellt in Verbindung mit jeder Daten­ erzeugungsprüfeinheit 18 eine Vielzahl von Betriebsmodi, ein­ schließlich einem Burst-Modus bzw. -Betrieb, einem Auto-Burst- Modus, einem getriggerten Auto-Modus und einem Auto-Modus. Im Burst-Modus ist die Zeitbasiskarte 22 im Ruhezustand bzw. nicht in Betrieb, bis sie ein externes Triggerereignis auf­ greift, woraufhin die Zeitbasiskarte 22 dann eine Anzahl von Haupttaktzyklen erstellt, die ausreichen, um die Datenerzeu­ gungsprüfeinheit 18 zur Ausgabe eines Datensignals anzuregen, welches aus einer vom Benutzer programmierten Anzahl von Datenbits zusammengesetzt ist. Die feste Anlaufverzögerung von ca. 100 Nanosekunden ist in der Datenerzeugungsprüfeinheit 18 programmiert. Wie nachstehend weiter ausgeführt ist, kann in der bevorzugten Ausführungsform der Erfindung der Benutzer bis zu 64 Kilobit Daten auswählen und speichern, die alle im Burst-Modus ausgegeben werden können. Es versteht sich, daß die Erfindung so aufgebaut werden kann, daß eine Wahl und Speicherung einer beliebigen Anzahl von Datenbits möglich ist, ohne daß hierbei von den Erfindungsprinzipien abgegangen wird.
Im Auto-Burst-Modus erzeugt die Datenerzeugungsprüfeinheit 18 einen Ausgang, der ähnlich dem des Burst-Modus ist, mit der Ausnahme, daß die Zeitbasiskarte 22 intern Triggerereignisse erzeugt, die eine festgelegte Verzögerung zwischen jedem Burst erstellen. Vorzugsweise beträgt die festgelegte Verzögerung ca. 15 Mikrosekunden.
Im Auto-Modus erzeugt die Zeitbasiskarte 22 einen kontinuier­ lichen Fluß von Haupttaktzyklen, ohne ein Triggerereignis ab­ zuwarten. Angetrieben von solchen Taktzyklen erzeugt die Da­ tenerzeugungsprüfeinheit 18 bin kontinuierliches Datensignal, welches beim ersten Verlauf durch die Daten des Benutzers aus Datenimpulsen zusammengesetzt ist, welche den Datenbits ent­ sprechen, die von einem Startbit bis zu einem Endbit im Musterspeicher 30 (vgl. Fig. 2) gespeichert sind, da diese Bits von dem Benutzer markiert sind. Bei nachfolgenden Durch­ läufen durch die Daten des Benutzers ist das Datensignal aus Datenimpulsen zusammengesetzt, welche den Datenbits entspre­ chen, die vom Benutzer in einer Bitschleife bis zu einem End­ bit markiert sind, und zwar entsprechend der Markierung des Benutzers. Die Zeitbasiskarte 22 und das Datenerzeugungsprüf­ system 18 arbeiten kontinuierlich auf diese Weise, bis sie von dem Benutzer unterbrochen werden, entweder manuell oder durch einen programmierten Befehl.
Im getriggerten Auto-Modus erzeugt die Datenerzeugungsprüf­ einheit 18 einen Ausgang, der ähnlich dem des Auto-Modus ist, mit der Ausnahme, daß die Zeitbasiskarte 22 ein externes Trig­ gerereignis wie den Burst-Modus abwartet, ehe sie die Haupt­ takte erzeugt.
Die Zeitbasiskarte 22 und die Datenerzeugungskarte 18 werden von dem Mikroprozessor 20 über den MPU-Bus 24 gemäß einer Benutzerprogrammierung konfiguriert, wobei diese Konfiguration vor der Datensignalerzeugung erfolgt. Sind die Zeitbasiskarte 22 und die Datenerzeugungskarte 18 erst einmal konfiguriert, dann arbeiten sie als Zustandsmaschinen unabhängig von dem Mikroprozessor 20, um Datensignale zu erzeugen, und kommuni­ zieren nach Bedarf über den Hochgeschwindigkeitsbus 26 miteinander, um das Benutzerprogramm durchzuführen.
Die Fig. 2 zeigt ein Schaltbild der Datenerzeugungsprüfein­ heit 18 aus Fig. 1. Gemäß Fig. 2 speichert der schon erwähnte Musterspeicher 30 vom Benutzer wählbare Daten, welche die Signalpegel von "1"en und "0"en umfassen, welche den Datenimpulsen des Datensignalausgangs von der Datenerzeugungs­ einheit 18 zur Anlegung an das in Prüfung befindliche Gerät 16 entsprechen. Ein Formatierblock 32 lädt diese Daten über einen Zweiweg-Datenbus 31 in den Musterspeicher 30; die Daten werden zusammen mit Adressierinformation durch den Mikroprozessor 20 über den MPU-Bus 24 dem Formatierblock 32 zugeführt, wie es in Fig. 1 gezeigt ist.
Im Betrieb liest der Formatierblock 32 parallel über den Zwei­ weg-Datenbus 31 Daten aus dem Musterspeicher 30 und adressiert diese Daten über eine Adreßleitung 33. Der Formatierblock 32 übersetzt jedes derartig ausgelesene Datenbit in zwei serielle Folgen von grob getakteten Flankenplazierungsdaten 34, 36, wo­ bei eine Folge 34 aus Flankenplazierungsdaten besteht, die der Vorderflanke von Datenimpulsen entsprechen, und eine andere Folge 36 aus Flankenplazierungsdaten besteht, die der Hinter­ flanke von Datenimpulsen entsprechen. Der Formatierblock 32 vollzieht diese Umsetzung gemäß einer Kombination aus (i) den von dem Benutzer programmierten Taktanweisungen, (ii) der Vor­ geschichte der Flankenplazierungsdaten und (iii) dem Format des von dem Benutzer programmierten Datensignals.
Die beiden vom Formatierblock 32 erzeugten Folgen von Flanken­ plazierungsdaten 34, 36 werden einem Präzisionstaktungsblock 38 zugeführt. Der Präzisionstaktungsblock 38 legt vom Benutzer programmierte Taktanweisungen unabhängig an jede Folge 34, 36 an, um feine Taktverzögerungen in der Vorderflanke und der Hinterflanke eines jeden Datenimpulses in bis zu drei Pegeln inkrementeller Feinverzögerung zu bewirken. Zusätzlich zur Einführung solcher Verzögerungen baut der Präzisionstaktungs­ block 38 unter Verwendung der zwei Folgen 34, 36 jeden Daten­ impuls des Datensignals auf und erzeugt eine Formatierung. Der Ausgangsdatenimpuls wird aufgebaut, indem ein feingetakteter Vorderflankenplazierungsdatenimpuls an den Set-Eingang eines programmierbaren Dominanz-Flipflops mit RS-Tastung angelegt wird, um den Ausgangsimpuls auszulösen, und ein feingetakteter Hinterflankenplazierungsdatenimpuls an den Reset-Eingang des Flipflops angelegt wird, um den Ausgangsimpuls zu beenden. Die Struktur und der Betrieb des Flipflops werden nachstehend noch im einzelnen dargelegt werden.
Die so von dem Präzisionstaktungsblock 38 aufgebauten Daten­ impulse werden einem Ausgangsblock 40 zugeführt, in welchem Spannungspegel gemäß vom Benutzer programmierten Anweisungen eingestellt werden und von wo aus das Datensignal an das DUT 16 angelegt wird. Der Ausgangsblock 40 umfaßt auch einen Schaltungsaufbau, der zur Kalibrierung von Ausgangspegeln und zur Kalibrierung der verschiedenen Verzögerungsmechanismen des Präzisionstaktungsblockes 38 verwendet wird, indem geringe Veränderungen im Tastverhältnis des Datensignals überwacht werden.
Zusätzlich zur Umsetzung der Daten des Musterspeichers 30 in Flankenplazierungsdaten erstellt der Formatierblock 32 die vom Benutzer programmierte Periode in Abhängigkeit vom Haupttakt der Zeitbasiskarte 22. Der Haupttakt, welcher auf jede bequeme, im Stand der Technik allgemein bekannte Art und Weise aufge­ baut werden kann, hat vorzugsweise einen Betriebsbereich, wel­ cher in der Frequenz mindestens der höchsten Frequenz gleich­ kommt, in die das in Prüfung befindliche Gerät 16 reicht. In der bevorzugten Ausführungsform hat der Haupttakt einen Be­ reich von 325 MHz bis 650 MHz, die sich in diskreten Schritten einstellen lassen. Wenn die vom Benutzer programmierte Periode des Datensignals einer Frequenz im Bereich des Haupttaktes entspricht, dann steuert der Formatierblock 32 den Haupttakt so, daß er auf einer Frequenz gleich dem Kehrwert der vom Benutzer programmierten Periode arbeitet. In diesem Fall hat das von dem Datenerzeugungsprüfsystem 18 ausgegebene Datensignal eine Periode gleich der Periode des Haupttaktes.
Wenn die vom Benutzer programmierte Periode einer Frequenz unterhalb des Bereiches des Haupttaktes entspricht, dann steuert der Formatierblock 32 den Haupttakt so, daß dieser auf einer Frequenz gleich dem Produkt aus der Frequenz, der die vom Benutzer programmierte Periode entspricht, und einem von dem Formatierblock 32 errechneten Skalierungsfaktor arbeitet. Mit anderen Worten, die Frequenz des Haupttaktes ist so eingestellt, daß sie auf einem Wert innerhalb des Bereiches des Haupttaktes arbeitet, welcher bei Division durch den Skalierungsfaktor mit einer annehmbaren Genauigkeit den Kehrwert der vom Benutzer programmierten Periode ergibt. In diesem Fall errechnet der Formatierblock 32 eine einzigartige Kombination von Haupttaktfrequenz und Skalierungsfaktor, um die vom Benutzer programmierte Periode als Verkettung mehrerer Haupttaktperioden zu erstellen.
Der Formatierblock 32 konfiguriert das Datenerzeugungsprüf­ system 18 so, daß es die vom Benutzer programmierte Periode gemäß der allgemeinen Formel:
T(u) = T(m)*2n
erzeugt, wobei T(u) die vom Benutzer programmierte Periode ist, T(m) die Haupttaktperiode darstellt, 2n der Skalierungs­ faktor ist und T(m) und n voneinander abhängig sind. Der Mikroprozessor 20 errechnet n mit Fließkomma und rechnet das Ergebnis auf die nächste ganze Zahl um, wobei diese ganze Zahl dazu verwendet wird, den diskreten Schritt innerhalb des Frequenzbereiches des Haupttaktes auszuwählen, welcher T(u) mit der vorgeschriebenen Genauigkeit ergibt. Der Skalierungs­ faktor 2n wird dann vom Mikroprozessor 20 in den Formatier­ block 32 einprogrammiert. Zusammengefaßt ausgedrückt werden vom Benutzer programmierte Perioden erzielt, indem T(m) auf einen diskreten Schritt innerhalb seines Bereiches gesetzt wird und 2n solcher Haupttaktperioden verkettet werden.
Als Folge des Aufbaus von vom Benutzer programmierter Perioden aus verketteten Vielfachen der Haupttaktperiode trägt der Formatierblock 32 auch zur Taktung der Datenimpulse im Daten­ signal bei. Wie nachstehend weiter ausgeführt ist, erzielt der Formatierblock 32 einen groben Taktungspegel, indem er Daten­ folgen 34, 36 zur Vorder- und Hinterflankenplazierung erzeugt, als Ergebnis welcher ein jeder Datenimpuls mit einer Genauig­ keit, die innerhalb einer Haupttaktperiode liegt, sich in der vom Benutzer programmierten Periode befindet.
Das Datenausgangssignal von dem Ausgangsblock 40 entspricht den vom Benutzer ausgewählten Daten, die in den Musterspei­ cherblock 30 geladen werden, wobei die Taktung, die Forma­ tierung und die Spannungspegel gemäß einer Benutzerprogram­ mierung festgelegt sind. In der bevorzugten Ausführungsform schließen die Formatierungsoptionen Impuls-, Nichtrückkehr auf Null- ("NRZ"), Rückkehr auf Null- ("RZ"), Rückkehr auf Eins- ("R1") und Gleichstrom-Pegel ein. Die Datenimpulstaktung bezüglich der Verzögerung und Breite beruht auf unabhängiger Steuerung von Verzögerungen der Vorder- und Hinterflanke. Die Spannungspegel werden durch eine Benutzerprogrammierung unabhängig gesteuert. Da das Datenerzeugungsprüfsystem 18 eine vollständig digitale Architektur hat, entfallen überdies die Beschränkungen bezüglich Wiedertriggerung und Verzögerung von Systemen, die auf monostabilen Multivibratoren basieren, und die Kalibrierung erfolgt automatisch.
Die Fig. 3a und 3b zeigen ein logisches Schaltbild einer bevorzugten Ausführungsform der vorliegenden Erfindung. Der Musterspeicherblock 30 besteht aus einem Speicherchip mit wahlfreiem Zugriff (Random Access Memory-Chip, "RAM"-Chip) 42. Vorzugsweise ist der RAM-Chip 42 ein 8K×8 CMOS statischer RAM, mit höchstens 10 Nanosekunden Zugriffszeit von einer gesicher­ ten Adresse und mit einer minimalen Haltezeit von 3 Nanosekun­ den ab Adreßänderung. Jedes der im RAM-Chip 42 gespeicherten 64 Kilobits entspricht einer vom Benutzer programmierbaren Periode im Datensignal.
Der Formatierblock 32 umfaßt einen Mustererzeugungsblock 44, einen Parallel-/Seriell-Wandlerchip 46, ein logisches "ODER"- Gatter 48, ein logisches "UND"-Gatter 50 und ein logisches "UND"-Gatter 52. Der Mustererzeugungsblock 44 lädt Daten in den RAM-Chip 42, wobei die Daten zusammen mit der Adressierinformation über den MPU-Bus 24 an den Mustererzeugungsblock 44 gelegt werden. Der Mustererzeugungsblock 44 liest auch Daten byteweise aus dem RAM-Chip 42 aus, setzt sie in Halbbytes grob getakteter Flankenplazierungsdaten 54, 56 um, d. h. Flanken­ plazierungsdatenhalbbytes 54 für die Vorderflanke von Daten­ impulsen und Flankenplazierungsdatenhalbbytes 56 für die Hinterflanke von Datenimpulsen.
Der Parallel-/Seriell-Wandlerchip 46 kann ein im Handel erhältlicher Chip sein. Vorzugsweise ist der Parallel- /Seriell-Wandlerchip 46 ein Sony CXB1130QY-Dual-4-Bit- Multiplexer: ein Ultrahochgeschwindigkeits-ECL-Multiplexer, welcher als dualer 4-Bit-Parallel-/Seriell-Wandler fungiert. Der Wandlerchip 46 wird von dem über die abgeschirmte ver­ drillte Doppelleitung 28 geführten Haupttakt 45 getaktet. Aus dem Haupttakt mit 50% Tastverhältnis erzeugt der Wandlerchip 46 einen Untertakt ("Slave") 47 mit einem 25%igen Tastver­ hältnis und einer Frequenz von 25% des Haupttaktes 45.
Der Untertakt 47 wird dem Mustererzeugungsblock 44 zugeführt, um dem Mustererzeugungsblock 44 zu signalisieren, daß in dem Wandlerchip 46 Halbbytes 54, 56 der Flankenplazierungsdaten geladen sind. Der Wandlerchip 46 lädt bei jedem vierten Zyklus des Haupttaktes 45 parallel jedes der Halbbytes 54 der Vorder­ flankenplazierungsdaten und jedes Halbbyte 56 der Hinterflan­ kenplazierungsdaten aus dem Mustererzeugungsblock 44. Der Wandlerchip 46 signalisiert dem Mustererzeugungsblock 44 jeden solchen Ladevorgang, indem er für einen Haupttakt 45 den Untertakt 47 setzt und dann den Untertakt 47 nach Vollendung des Ladevorganges löscht. Der Wandlerchip 46 gibt bei jedem Zyklus des Haupttaktes 45 seriell jeweils ein Bit eines jeden derartigen Halbbytes 54, 56 in eine nichtgattergesteuerte Datenfolge 58 von Vorderflankenplazierungsdaten und in eine nichtgattergesteuerte Folge 60 von Hinterflankenplazie­ rungsdaten aus.
Der Wandlerchip 46 gibt den Haupttakt 45 auch als Gattersteuertakt 62 aus, welcher um einen Betrag gleich der Fortpflanzungsverzögerung zwischen dem Haupttakt 45, wie er dem Wandlerchip 46 eingegeben wird, und dem Ausgang der nichtgattergesteuerten Flankenplazierungsdatenfolgen 58, 60 verzögert ist. Im typischen Fall wird der Gattersteuertakt 62 durch das Layout des Formatierblockes 32 auf der Karte um zusätzliche 200 Pikosekunden verzögert.
Vom Wandlerchip 46 wird der Gattersteuertakt 62 beiden logischen "UND"-Gattern 50, 52 zugeführt, wo er jeweils die nichtgattergesteuerte Vorderflankendatenfolge 58 und die nichtgattergesteuerte Hinterflankendatenfolge 60 gattersteuert, um die Flankenplazierungsdatenfolgen 34, 36 zu erzeugen, welche an den Präzisionstaktungsblock 38 angelegt werden. Eine derartige Gattersteuerung verkürzt die Dauer eines beliebigen Impulses in den Flankenplazierungsdatenfolgen 34, 36, um von dem Präzisionstaktungsblock 38 auferlegten Taktungsbeschränkungen Rechnung zu tragen. Jedes Systemzittern (Jitter) wird verringert, indem die Datenfolgen 34, 36 zu dem Haupttakt 45 in den UND-Gattern 50, 52 ausgerichtet werden.
Im Fall eines Betriebs im NRZ-Format wird ein NRZ-Steuersignal an ein logisches "ODER"-Gatter 48 geführt, wo es den Gatter­ steuertakt 62 gattersteuert, wodurch ein logisches UND-Gatter 50 gesetzt wird. Als Folge wird die nichtgattergesteuerte Vorderflankenplazierungsdatenfolge 58 von dem Gattersteuertakt 62 nicht gattergesteuert, was bewirkt, daß jeder beliebige Impuls in der Vorderflankenplazierungsdatenfolge 34 eine unverkürzte Haltezeit hat. Dieses Ergebnis ist erforderlich, um von dem Präzisionstaktungsblock 38 auferlegten Taktungsanforderungen gerecht zu werden, da im NRZ-Modus das programmierbare Dominanz-Flipflop mit RS-Tastung als Latchspeicher des D-Typs betrieben wird.
Gemäß Fig. 4 besteht der Mustererzeugungsblock 44 aus zwei Gatter-Anordnungen: dem Mustererzeugungschip 64 und dem Anord­ nungssteuerchip 66. Der Anordnungssteuerchip 66 ist eine im Handel erhältliche feldprogrammierbare Gatteranordnung, welche logische Konfigurationen auf der Grundlage einer Programmie­ rung erstellt, welche vom Anmelder bei der Herstellung des Datenerzeugungsprüfsystems 18 durchgeführt wurde. Vorzugsweise ist der Anordnungssteuerchip 66 eine feldprogrammierbare Gatteranordnung der Xilinx XC3000-Familie.
Der Anordnungssteuerchip 66 empfängt Anweisungen vom Mikro­ prozessor 20, welche der Datensignalprogrammierung des Benutzers entsprechen. Der Anordnungssteuerchip 66 fungiert, allgemein ausgedrückt, als kanalresidente Steuerungsschaltung, welche den MPU-Datenbus 24 und den Mustererzeugungschip 64 verbindet und beispielsweise den Mustererzeugungschip 64 steuert, um die Wiederinitialisierung zwischen Datenbursts zu beschleunigen.
Der Mustererzeugungschip 64 ist eine ECL-Gatteranordnung, die, allgemein gesagt, als Steuerung des RAM-Chips 42 fungiert (Auslesen und Einschreiben von Daten in den RAM-Chip 42 gemäß Anweisungen des Mikroprozessors 20) und als Wandler von Daten vom RAM-Chip 42 zu Flankenplazierungsdaten.
Der Mustererzeugungschip 64 erzeugt intern sogenannte Kandida­ tenimpulse entsprechend der Vorderflanke möglicher Daten­ impulse und Kandidatenimpulse entsprechend den Hinterflanken möglicher Datenimpulse. Als Kandidaten werden diese Impulse von dem Mustererzeugungschip 64 gemäß Datenbits vom RAM-Chip 42 ausgegeben, die vom Benutzer programmierten Perioden, der vom Benutzer programmierten Taktung und Formatierung und der Vorgeschichte der Flankenplazierungsdaten entsprechen. Allge­ mein ausgedrückt: wenn das Datenbit für eine vom Benutzer pro­ grammierte Periode ein Signalpegel "1" ist, dann verwendet der Mustererzeugungschip 64 die Kandidatenimpulse zur Ausgabe (i) eines Vorderflankenplazierungsdatenimpulses, welcher grob innerhalb von der vom Benutzer programmierten Periode getaktet ist, gemäß einer vom Benutzer programmierten Vorderflankenver­ zögerung, und (ii) eines Hinterflankenplazierungsdaten­ impulses, vorausgesetzt, daß die vom Benutzer programmierte Hinerflankenverzögerung des Datenimpulses zusammen mit der Vorderflankenverzögerung zeitlich weniger beträgt als die vom Benutzer programmierte Periode.
Für jede der Vorder- und Hinterflankenplazierungsdatenfolgen 34, 36 gibt der Mustererzeugungschip 64 höchstens einen Impuls in jeder vom Benutzer programmierten Periode aus. Jeder solche Impuls liegt mit seiner ansteigenden Flanke auf der Grenze zwischen zwei Perioden des Haupttaktes 45 und bleibt für die Dauer dieser Periode des Haupttaktes 45 hoch. Da eine vom Be­ nutzer programmierte Periode allgemein aus einem verketteten Vielfachen von Perioden des Haupttaktes 45 besteht und nur eine Periode des Haupttaktes 45 von dem Impuls eingenommen wird, fügt der Mustererzeugungschip 64 für alle anderen Haupt­ taktperioden der vom Benutzer programmierten Periode ver­ schachtelt Signalpegel-"0"en in die Flankenplazierungsdaten­ folge ein. Als Ergebnis dieser Flankenplazierungsfunktion er­ zielt der Mustererzeugungschip 64 eine grobe Taktung mit einer Genauigkeit von innerhalb einer Periode des Haupttaktes 45.
Im Betrieb mit dem RAM-Chip 42 und dem Wandlerchip 46 erzeugt der Mustererzeugungsblock 44 bei jeder abfallenden Flanke des Untertaktes 47 ein Byte Flankenplazierungsdaten. Von jedem derartigen Byte besteht ein Halbbyte aus Vorderflankenplazie­ rungsdaten und das andere Halbbyte aus Hinterflankenplazie­ rungsdaten. Jedes solche Halbbyte umfaßt die nächsten vier Datenbits, die in den Wandlerchip 46 zu laden sind, damit sie auf vier aufeinanderfolgenden Haupttaktzyklen von diesem Chip ausgegeben werden. Jedes Bit in jedem solchen Halbbyte ist eines von 2n solchen Bits, die vom Wandlerchip 46 für jedes Datenbit im RAM-Chip 42 ausgegeben werden - wobei jede vom Benutzer programmierte Periode einem solchen Datenbit ent­ spricht und aus der Verkettung von 2n Zyklen des Haupttaktes 45 aufgebaut werden, wie es obenstehend erläutert ist.
Nach allen 2, 4, 8 . . . 256 Unterzyklen erzeugt der Mustererzeu­ gungsblock 44 eine neue Adresse in den, und liest Daten aus dem, RAM-Chip 42 aus, und zwar in Abhängigkeit von der Anzahl von Zyklen des Haupttaktes 45, welche verkettet sind, um die vom Benutzer programmierbare Periode aufzubauen. Im schnell­ sten Betrieb beträgt zum Beispiel die vom Benutzer program­ mierbare Periode eine Periode des Haupttaktes 45 (d. h. n ist gleich Null für den Skalierungsfaktor 211) und daher wird ein Datenbit im RAM-Chip 42 pro Zyklus des Haupttaktes 45 ausge­ geben. In diesem Fall liest der Mustererzeugungsblock 44 Daten in Bytes aus dem RAM-Chip 42 aus, gibt jedoch Flankenplazie­ rungsdaten in Halbbytes aus; dementsprechend liest der Muster­ erzeugungsblock 44 Daten nur einmal alle zwei Zyklen des Un­ tertaktes 47 aus, oder äquivalent einmal alle acht Zyklen des Haupttaktes 45. Bei anderen Betriebsfrequenzen ist die vom Be­ nutzer programmierbare Periode ein quadratisches Vielfaches von Zyklen des Haupttaktes 45, wodurch der Mustererzeugungs­ block 44 Daten auf einer schnell feststellbaren Grundlage von quadratischen Vielfachen von Zyklen des Untertaktes 47 auslesen muß.
Die Flankenplazierungsdatenfolgen 34, 36, wie sie vom Forma­ tierblock erzeugt sind, werden von den logischen "UND"-Gattern 50, 52 an den Präzisionstaktungsblock 38 geführt. Die Flanken­ plazierung auf eine gewünschte Genauigkeit wird in diesem Prä­ zisionstaktungsblock 38 bewirkt. Der Präzisionstaktungsblock umfaßt einen Block 68 zur Verzögerung der Vorderflanke, einen Block 70 zur Verzögerung der Hinterflanke, einen vorderen Digital-/Analog-Wandler 72, einen hinteren Digital-/Analog- Wandler 74, einen Analog-/Digital-Wandler 76, ein 8-Bit-TTL- Register 78 und einen programmierbaren Dominanz-Flipflop-Latch 80 mit RS-Tastung.
Jeder Verzögerungsblock 68, 70 umfaßt eine einzelne Verzöge­ rungsleitung und einen programmierbaren Verzögerungschip. Vor­ zugsweise ist der programmierbare Verzögerungschip ein pro­ grammierbarer Verzögerungschip 100E196 von Motorola, der bei zwei Auflösungspegeln eine hochgradig genaue Flankenplazierung erstellt. Die Verzögerungsleitung erzeugt die größte Auf­ lösung unter den Präzisionsverzögerungen, und ihre Verzögerung wird hierin als "Shim" ("grobe Einheit") bezeichnet. Der Motorola-Chip erzeugt Verzögerungen mit mittlerer Auflösung, wobei solche Verzögerungen hierin als "Slivers" ("Splitter") bezeichnet sind. Er erzeugt auch Verzögerungen der feinsten Auflösungen, die hierin als "Verniers" ("Feinsteinheiten") bezeichnet sind.
Wie voranstehend erläutert, erzeugt der Formatierblock 32 im Betrieb eine Flankenplazierung innerhalb einer Genauigkeit von einem Zyklus des Haupttaktes 45. Die Verzögerungsblöcke 68, 70 sind so aufgebaut, daß sie zusätzliche Verzögerungen erstel­ len, unter Verwendung von drei Quellen inkrementeller Auflö­ sung, welche - in verschiedenen Kombinationen der drei - Ver­ zögerungen im Bereich von Null bis einem Haupttaktzyklus erstellen.
In der bevorzugten Ausführungsform liegt der Zyklus des Haupt­ taktes 45 in seiner Periode im Bereich von 1,54 Nanosekunden bei einer Frequenz von 650 MHz bis 3,08 Nanosekunden bei einer Frequenz von 325 MHz. Bei einer Fertigungstoleranz von 200 Pikosekunden beträgt die gröbste Flankenplazierungsgenauigkeit ca. 3,30 Nanosekunden. Um einen Verzögerungsbereich von 0 bis 3,30 Nanosekunden in dem Verzögerungsblock 68, 70 mit feinster Auflösung von wenigstens ca. 5 Pikosekunden zu erzielen, er­ stellt jede Verzögerungsleitung ein "Shim" von 1,8 Nanosekun­ den, erstellt jeder Motorola-Chip "Slivers" von 20 Pikosekun­ den und erstellt auch "Verniers" von 0,1 Pikosekunden. Der Groberzeugungsteil des Motorola-Chips arbeitet mit der Nomi­ nalverzögerung des Chips, wie sie von Motorola festgelegt wurde. Die Feinsteinheiten des Motorola-Chips sind so abge­ stimmt, daß er die "Vernier"-Verzögerung erstellt, gemäß der Spezifikationen des Chips, durch Anlegen einer Analogspannung, die vom entsprechenden Digital-/Analog-Wandler 72, 74 erzeugt wird. Die Wandler 72, 74 empfangen die in die Analogspannungen umgewandelten digitalen Daten über einen internen Datenbus 73, welcher die Wandler 72, 74 mit dem Mustererzeugungsblock 44 und dem MPU-Bus 24 verbindet.
Um eine Genauigkeit bei der Flankenplazierung zu erhalten, muß das Datenerzeugungsprüfsystem kalibriert sein. In der bevor­ zugten Ausführungsform muß die mit jeder Anzapfposition der programmierbaren Verzögerungschips von 100E196 Motorola ver­ bundene genaue Verzögerungszeit gemessen werden. Die analogen Verzögerungsleitungen müssen ebenfalls ausgewertet werden, um festzustellen, wieviel Verzögerung sie erzeugen. Außerdem muß die absolute Verzögerung durch jeden Kanal im Datenerzeugungs­ prüfsystem bestimmt und gespeichert werden.
Um die mit einer Verzögerungsleitung verbundenen "Shim"-Ver­ zögerungen und die mit jedem programmierbaren Verzögerungschip 100E196 von Motorola verbundenen "Sliver"- und "Vernier"-Ver­ zögerungen zu messen, instruiert der Mikroprozessor 20 zu­ nächst den Mustererzeugungsblock 44 dahingehend, eine Serie von Datenimpulsen mit inkrementellen Tastverhältnissen zu erzeugen. In Fig. 3 wird der auf der Platine befindliche Analog-/Digital-Wandler 76 mit niedriger Geschwindigkeit dazu verwendet, die durchschnittliche Ausgangsspannung solcher Datenimpulse zu messen, welche sehr nahe dem zeitgemittelten Durchschnitt der hohen Pegel und der niedrigen Pegel in sol­ chen Datenimpulsen sein wird. Diese Messungen, mit der Genau­ igkeit des Haupttaktes 45, ermöglichen die Bestimmung eines Verhältnisses zwischen einer Impulsbreitenveränderung und der durchschnittlichen Ausgangsspannung.
Als nächstes wird der Mustererzeugungsblock 44 von dem Mikro­ prozessor 20 dahingehend instruiert, einen Datenimpuls mit einem Tastverhältnis von 50% zu erzeugen. Indem grobe Verzö­ gerungen (gleich einem Haupttaktzyklus), "Shim" -Verzögerungen, "Sliver" -Verzögerungen oder "Vernier" -Verzögerungen eingefügt werden und dann die durchschnittliche Spannung nach jeder sol­ chen Einfügung gemessen wird und unter Verwendung des oben abgeleiteten Breiten-Spannungs-Verhältnisses kann ein präziser Wert einer jeden solchen Verzögerung ermittelt werden. Die Prozedur kann dazu verwendet werden, die Verzögerung einer je­ den Anzapfeinstellung in den Motorola-Chips zu messen. Wenn der Mikroprozessor 20 diese Messungen durchführt, dann spei­ chert er alle Ergebnisse in einer Tabelle, so daß geeignete Werte ausgewählt werden können, um zukünftige Befehle der Bedienungsperson auszuführen.
Die präzise Kalibrierung von Impulsbreite, oder Bitversatz von Vorder- zu Hinterflanke, kann erzielt werden, indem ein Impuls erstellt wird, der ein (gefordertes) Tastverhältnis von 50% hat, der durchschnittliche Spannungsausgang gemessen wird, der Impulse unter Verwendung des programmierbaren Dominanz-Flip­ flops 80 mit RS-Tastung invertiert wird, wie voranstehend erläutert, und der durchschnittliche Spannungsausgang wiederum gemessen wird. Stimmen die Ergebnisse beider Messungen überein, dann beträgt das Tastverhältnis genau 50%. Stimmen die Ergebnisse nicht überein, dann kann der Bitversatz von Vorder- zu Hinterflanke berechnet und sein Wert als Kalibrie­ rungskonstante für diesen Kanal gespeichert werden.
Um die absoluten Verzögerungen der verschiedenen Kanäle in dem Datenerzeugungsprüfsystem auszurichten, wird ein anderes Ver­ fahren verwendet. Der Kalibrierungseingang auf der Zeitbasis­ karte 22 hat eine Vorrichtung zur Bestimmung, ob die Eingänge, die sie überwacht, zu einem sehr genau gesteuerten Zeitpunkt hoch oder niedrig sind. Obgleich diese Zeit nicht einstellbar ist und die Eingänge nur einmal pro Prüfung gemessen werden, ist es bei dieser Bestimmung und der Einstellbarkeit eines jeden Kanals möglich, alle Ausgänge zeitlich genau miteinander auszurichten. Die Verzögerung eines jeden auszurichtenden Kanals ist auf einen niedrigen Wert eingestellt, so daß eine Bezugsflanke eindeutig vor der Abtastzeit des Kalibrierungs­ eingangs liegt. Die Verzögerung wird erhöht, bis der nie­ drigste Verzögerungswert gefunden wird, der später als der Abtastpunkt auftritt. Diese Verzögerung wird als Kalibrie­ rungskonstante für diesen Kanal aufgezeichnet.
Das programmierbare Dominanz-Flipflop 80 mit RS-Tastung empfängt die Vorderflanken- bzw. Hinterflankenplazierungs­ datenimpulse jeweils von den Verzögerungsblöcken 68 bzw. 70 und erzeugt einen Ausgangsimpuls, der an den Ausgangsblock 40 angelegt wird. Der Ausgangsblock 40 umfaßt einen Pin-Treiber 82 und zwei Digital-/Analog-Wandler 84, 86. Der Pin-Treiber 82 gibt das digitale Signal an das DUT 16 aus. Die Digital-/Ana­ log-Wandler 84, 86, die von den Daten auf dem internen Daten­ bus 73 getrieben werden, konfigurieren den Spannungspegel und die Stromtreibfähigkeiten des Pin-Treibers.
Gemäß Fig. 5a und b besteht der in Fig. 4 gezeigte Muster­ erzeugungschip 64 vorzugsweise aus einer integrierten Schal­ tung, insbesondere einer Gatteranordnungsschaltung, welche mit der Geschwindigkeit des Haupttaktes 45 arbeitet und ein Bit Vorderflankenplazierungsdaten und ein Bit Hinterflankenpla­ zierungsdaten pro Zyklus des Haupttaktes 45 erzeugt. In der bevorzugten Ausführungsform umfaßt der Mustererzeugungschip 64 einen Zykluszählerblock 87, einen Hinterflankenvergleichsblock 88, einen logischen Block "DONE" 89, einen RAM-Adreßzähler­ block 91, einen RAM-Datenlatch- und Verschiebeblock 92, einen "TRAIL MASK PIPE"-Block 93, einen "TOP LEVEL"-Block 94 und einen Vorderflankenunterdrückungsblock 95.
Der Mustererzeugungschip 64 umfaßt weiterhin einen Ausgangs­ schaltungsaufbau und einige Anweisungseingaberegister. Der Ausgangsschaltungsaufbau umfaßt einen Ausgangsflipflop 96 und einen Ausgangsmultiplexer 97. Die Eingangsregister umfassen: ein TRAILCMP-Register 250, ein WIDTHLP-Register 252, ein DATALP-Register 254, ein MASKCON-Register 256, ein Register 258 zum erneuten Laden der Adresse und ein Register 262 für späte Hinterflanken. In jedes derartige Register wird eine Anweisung von dem Mikroprozessor 20 gemäß einer Benutzerpro­ grammierung geladen.
Der Zykluszählerblock 87 empfängt einen Vorladewert von dem Mikroprozessor 20, welcher die Zeit ermittelt, die auf den Anfang einer vom Benutzer programmierten Periode folgt, bei der ein Vorderflankenkandidatimpuls erzeugt wird. Der im WIDTHLP-Register 252 zusammen mit der Frequenz des Haupttaktes 45 abgelegte Wert informiert den Mustererzeugungschip darüber, was die vom Benutzer programmierte Periode ist, in Form einer Anzahl von Haupttaktzyklen. Der in das TRAILCMP-Register 250 abgelegte Wert teilt dem Mustererzeugungschip die Auftritts­ zeit mit, die auf einen Vorderflankenkandidatenimpuls folgt, und daß der Hinterflankenkandidatenimpuls erzeugt werden soll. Eine "1" oder eine "0" wird in das Register 262 der späten Hinterflanke gesetzt, um festzustellen, ob der Hinterflanken­ kandidatenimpuls um einen Haupttaktzyklus verzögert werden soll oder nicht, wie es von dem Ausgangsflipflop 96 und dem Ausgangsmultiplexer 97 gesteuert wird, um Verzögerungsbe­ schränkungen im Präzisionstaktungsblock 38, wie nachstehend ausgeführt, Rechnung zu tragen.
Das DATALP-Register 254 empfängt einen Wert, der in Situatio­ nen verwendet wird, in denen ein Tastverhältnis von mehr als 100% erzeugt werden soll. Dieser Wert informiert den Muster­ erzeugungschip darüber, wieviele Haupttaktzyklen sich in einem Impuls mit erweiterter Breite befinden, d. h. was das Tastver­ hältnis ist. Der Wert in dem MASKCON-Register 256 teilt dem Mustererzeugungschip mit, daß er einen ungültigen Hinterflan­ kenkandidatenimpuls unterdrücken soll, um einen Datenimpuls mit erweiterter Breite zu ermöglichen. Die Daten von dem RAM 42 werden in den Mustererzeugungschip geladen, beginnend mit der in dem Register 258 zum erneuten Laden der Adresse abgelegten Adresse.
Der Zykluszählerblock 87 umfaßt einen Zählermultiplexer 260, einen Zykluszähler 262 und einen Vorderflankenkomparator 264. Der Zählermultiplexer 260 hat einen Steuereingang von der Aus­ wahllogik 266, Dateneingänge vom DATALP-Register 254, dem WIDTHLP-Register 252 und dem Mikroprozessor 20, und einen Aus­ gang, welcher dem Zykluszähler 262 zugeführt wird. Der Zyklus­ zähler 262 wird von dem Haupttakt 45 getaktet. Die Zählung des Zykluszählers 262 wird als erster Eingang dem Vorderflanken­ komparator 264 zugeführt. Der Vorderflankenkomparator 264 hat einen zweiten Eingang vom WIDTHLP-Register 252 und einen Aus­ gang. Der Ausgang vom Vorderflankenkomparator 264 wird als erster Eingang an den TOP LEVEL Block 94 angelegt.
Die Zählung des Zykluszählers 262 wird ebenfalls als erster Eingang an den Hinterflankenvergleichsblock 88 gelegt. Der Hinterflankenvergleichsblock 88 hat einen zweiten Eingang vom TRAILCMP-Register 250 und einen Ausgang. Der Ausgang des Hinterflankenvergleichsblocks 88 wird als zweiter Eingang dem TOP LEVEL Block 94 zugeführt.
Im Betrieb erzeugen der Zykluszählerblock 87 und der Hinter­ flankenvergleichsblock 88 Vorderflanken- und Hinterflanken­ kandidatenimpulse, erstellen die vom Benutzer programmierte Periode als Vielfaches der Periode des Haupttaktes 45 und unterbrechen die Erzeugung von Hinterflankenkandidaten­ impulsen, wann immer die Benutzerprogrammierung Datenimpulse mit erweiterter Breite vorsieht (d. h. Datenimpulse mit Tast­ verhältnissen von mehr als 100%).
Bei der Erzeugung von Vorderflankenkandidatenimpulsen, welche keine Datenimpulse mit erweiterter Breite vorsehen, wählt die Auswahllogik 266 als Ausgang von dem Multiplexer 260 den vom WIDTHLP-Register 252 zugeführten Eingang aus. Das WIDTHLP- Register 252 enthält einen vom Mikroprozessor 20 errechneten Wert, welcher bei Subtraktion von der Endzählung des Zyklus­ zählers 262, plus 1, gleich der Anzahl von Zyklen des Haupt­ taktes 45 ist, die zum Aufbau der vom Benutzer programmierten Periode verkettet sind. Wird dieser Wert vom Multiplexer 260 ausgegeben und in den Zykluszähler 262 geladen, dann wird er von dem Zykluszähler 262 als erster Eingang an den Vorderflan­ kenkomparator 264 ausgegeben; gleichzeitig wird dieser Wert von dem WIDTHLP-Register 252 als zweiter Eingang dem Vorder­ flankenkomparator 264 zugeführt. Dadurch vergleicht der Vorderflankenkomparator 264 den Inhalt des WIDTHLP-Registers 252 mit dem Ausgang des Zykluszählers 262 und gibt infolge­ dessen einen Signalpegel "1" aus, wenn die Zählung mit dem Modus des WIDTHLP-Registers gleich Null ist. Dieser Signalpegel "1" umfaßt einen Vorderflankenkandidatenimpuls.
Somit zählt der Zykluszähler 262 mit jedem Zyklus des Haupt­ taktes 45 hoch, bis er seine Endzählung erreicht, woraufhin der Zykluszähler 262 den Inhalt des WIDTHLP-Registers 252 erneut lädt und der Vorderflankenkomparator 264 einen weiteren Vorderflankenkandidatenimpuls ausgibt, und sich der Vorgang wiederholt. Außer bei erneutem Laden des Zykluszählers 262 oder bei Wahl einer erweiterten Breite ist der Ausgang des Vorderflankenkomparators 264 Signalpegel "0".
Der Zykluszählerblock 87 und der Hinterflankenvergleichsblock 88 erzeugen zusammen Hinterflankenkandidatenimpulse. Wenn er keine Datenimpulse mit erweiterter Breite vorsieht, dann ver­ gleicht der Hinterflankenvergleichsblock 88 seine zwei Ein­ gänge: den Zählausgang des Zykluszählers 262 und den Inhalt des TRAILCMP-Registers 250. Der Ausgang des Hinterflankenver­ gleichsblockes 88 ist ein Signalpegel "0", es sei denn, die Zählung und der Inhalt stimmen überein, woraufhin der Ausgang ein Signalpegel "1" ist, der einen Hinterflankenkandidaten­ impuls umfaßt. Obwohl Vorderflankenkandidatenimpulse stets bei erneutem Laden des Zykluszählers 262 auftreten, können Hinter­ flankenkandidatenimpulse bei jeder Zählung des Zykluszählers 262 auftreten, wie sie durch den Inhalt des TRAILCMP-Registers 250 bestimmt wurde.
Der Zykluszählerblock 87 erstellt die vom Benutzer program­ mierte Periode, indem er vor der Erzeugung des ersten Vorder­ flankenkandidatenimpulses eine Bitversatzverzögerung erzeugt. Bei Erzeugung der Bitversatzverzögerung wählt die Auswahllogik 266 zur Ausgabe von dem Zählermultiplexer 260 den vom Mikro­ prozessor 20 zugeführten Eingang. Dieser Eingang ist eine Datenanweisung, welche den Zykluszähler 262 mit einem Wert vorlädt, welcher bei Subtraktion von der Endzählung des Zyk­ luszählers 262, gleich der Anzahl von Zyklen des Haupttaktes 45 ist, die die Zeit zwischen dem Beginn der vom Benutzer programmierten Periode und einem jeden Datenimpuls umfassen, auf eine Genauigkeit von innerhalb eines Zyklus des Haupt­ taktes 45. Die Erzeugung dieser Bitversatzverzögerung erstellt die vom Benutzer programmierte Periode für die Kandidaten­ impulse, da jeder Vorderflankenkandidatenimpuls bei erneutem Laden des Zykluszählers 262 erzeugt wird und da der Zyklus­ zähler 262 so wiedergeladen wird, daß die Anzahl von Zyklen des Haupttaktes 45 zwischen den erneuten Ladevorgängen gleich der Anzahl von Zyklen des Haupttaktes 45 ist, die zum Aufbau der vom Benutzer programmierbaren Periode verkettet sind.
Der Zykluszählerblock 87 unterbricht auch die Erzeugung von Hinterflankenkandidatenimpulsen, wann immer eine Benutzer­ programmierung Datenimpulse mit erweiterter Breite (d. h. Datenimpulse mit Tastverhältnissen, welche 100% überschreiten) im RZ-Modus vorsieht und ändert hierbei die Erzeugung von Vor­ derflankenkandidatenimpulsen. Um eine erweiterte Breite zu er­ stellen, werden sowohl das WIDTHLP-Register 252 als auch das DATALP-Register 254 beim erneuten Laden des Zykluszählers 262 verwendet. Wie bei der Erzeugung von Datenimpulsen von nicht­ erweiterter Breite enthält das WIDTHLP-Register 252 einen Wert, der bei Subtraktion von der Endzählung des Zykluszählers 262, plus 1, gleich der Anzahl von Zyklen des Haupttaktes 45 ist, die zum Aufbau der vom Benutzer programmierten Periode verkettet sind. Das DATALP-Register 254 enthält einen Wert, der bei Subtraktion von der Endzählung des Zykluszählers 262, plus 1, gleich der ganzzahligen Anzahl von Zyklen des Haupt­ taktes 45 ist, welche beim Aufbau der Vielzahl von vom Be­ nutzer programmierbaren Perioden des Datenimpulses mit erwei­ terter Breite verkettet sind. Die Auswahllogik 266 wählt beim erneuten Laden des Zykluszählers 262 zwischen den beiden Re­ gistern 252, 254 aus: (i) der Eingang vom DATALP-Register 254 wird ausgewählt, wenn das Datenbit von dem RAM-Chip 42, das einem erneuten Laden entspricht, ein Signalpegel "1" ist, oder (ii) der Eingang vom WIDTHLP-Register 252 wird ausgewählt, wenn beide Datenbits, die einem erneuten Laden entsprechen, ein Signalpegel "0" sind und das erneute Laden von dem Zyk­ luszähler 262 bei Erreichen seiner Endzählung getriggert wird.
Es wird als Beispiel angenommen, daß der Benutzer Datenimpuls­ breiten gleich zweieinhalb Mal der vom Benutzer programmierten Periode programmiert und daß die ersten sechs Datenbits "101000" sind. In diesem Fall enthält das WIDTHLP-Register 252 einen Wert, der der Anzahl von Zyklen des Haupttaktes 45 in der vom Benutzer programmierbaren Periode entspricht, und das DATALP-Register 254 enthält einen Wert, der der Anzahl von Zyklen des Haupttaktes 45 in drei vom Benutzer programmier­ baren Perioden entspricht (d. h. die Breite des erweiterten Impulses in vom Benutzer programmierbaren Perioden wird auf die nächste ganze Zahl aufgerundet). Nachdem eine geeignete Bitversatzverzögerung erzeugt wurde, und da das erste Datenbit ein Signalpegel "1" ist, wählt die Auswahllogik 266 zur Aus­ gabe von dem Zählermultiplexer 260 den vom DATALP-Register 254 zugeführten Eingang aus, wodurch der Inhalt des DATALP-Regis­ ters 254 in den Zykluszähler 262 geladen wird. Der so geladene Inhalt wird von dem Vorderflankenkomparator 264 mit dem Inhalt des WIDTHLP-Registers 252 verglichen. Obwohl der Inhalt der Register 252, 254 bei den höchstwertigen Bits nicht überein­ stimmt, ist der Vorderflankenkomparator so aufgebaut, daß er die höchstwertigen Bits ignoriert und der Vorderflankenkompa­ rator 264 daher einen Vorderflankenkandidatenimpuls ausgibt. Der Zykluszähler 262 zählt danach bei jedem Zyklus des Haupt­ taktes 45 und diese Zählung ergibt einen Ausgang vom Vorder­ flankenkomparator 264 des Signalpegels "0", bis die Anzahl von verstrichenen Zyklen des Haupttaktes 45 gleich der Anzahl von Zyklen des Haupttaktes 45 in der vom Benutzer programmierbaren Periode ist. Bei diesem Ereignis gibt der Vorderflankenkompa­ rator 264 einen zweiten Vorderflankenkandidatenimpuls aus, da die niedrigstwertigen Bits aufeinander abgestimmt sind. Der Zykluszähler 262 wird nicht wieder geladen, da das ent­ sprechende Datenbit ein Signalpegel "0" ist.
Der Zykluszähler 262 zählt daraufhin weiter bei jedem Zyklus des Haupttaktes 45 hoch und die Zählung ergibt einen Ausgang des Signalpegels "0" vom Vorderflankenkomparator 264, bis die Anzahl verstrichener Zyklen des Haupttaktes 45 wiederum gleich der Anzahl von Zyklen des Haupttaktes 45 in der vom Benutzer programmierbaren Periode ist. In diesem Fall gibt der Vorder­ flankenkomparator 264 einen dritten Vorderflankenkandidaten­ impuls aus und, da das Datenbit, welches der Erzeugung des Kandidatenimpulses entspricht, ein Signalpegel "1" ist, lädt sich der Zykluszähler 262 wieder. Für ein derartiges erneutes Laden ist die Auswahllogik 266, wie bereits oben erläutert, so aufgebaut, daß sie das DATALP-Register 254 als Ausgang von dem Zählermultiplexer 260 auswählt.
Danach zählt der Zykluszähler 262 eine Anzahl von Zyklen des Haupttaktes 45 hoch, die zwei vom Benutzer programmierbaren Perioden entspricht, und der Vorderflankenkomparator erzeugt zwei zusätzliche Vorderflankenkandidatenimpulse entsprechend den nächsten zwei Datenbits des Signalpegels "0". Da der Zykluszähler 262 für Datenbits des Signalpegels "0" nicht wieder geladen wird, kommt die Zählung somit innerhalb einer vom Benutzer programmierbaren Periode der Endzählung an, wobei der Hinterflankenkandidatenimpuls innerhalb dieses Bereiches von dem Hinterflankenvergleichsblock 88 auf die oben erläu­ terte Art und Weise erzeugt wird. Da die Erzeugung des Hin­ terflankenkandidatenimpulses kein erneutes Laden bewirkt, zählt der Zykluszähler 262 weiter bis zu seiner Endzählung hoch, woraufhin der Vorderflankenkomparator 264 den Vorder­ flankenkandidatenimpuls entsprechend dem letzten Datenbit in der Beispielssequenz erzeugt. Da dieses letzte Bit ein Signal­ pegel "0" ist und die Endzählung erreicht ist, wählt die Aus­ wahllogik 266 beim erneuten Laden des Zykluszählers 262 den Eingang von WIDTHLP aus. Obgleich das Ende der Daten erreicht ist, zählt der Zykluszähler 262 weiter, wodurch sowohl Vorder- als auch Hinterflankenkandidatenimpulse erzeugt werden, welche von dem Mustererzeugungschip 64 unterdrückt werden, wie nach­ stehend ausgeführt ist. Diese Erzeugung ungültiger Kandidaten­ impulse tritt auf, ganz gleich, ob der Zykluszählerblock 87 Datenimpulse mit erweiterter oder mit nicht-erweiterter Breite vorsieht.
Daher unterbricht der Zykluszählerblock 87 die Erzeugung von Hinterflankenkandidatenimpulsen, indem er beim Neuladen des Zykluszählers 262 zwischen dem WIDTHLP-Register 252 und dem DATALP-Register auswählt, um das Hineinzählen in den Bereich ganz oben im Zykluszähler 262 zu verschieben, welcher einer vom Benutzer programmierbaren Periode entspricht. Die Erzeu­ gung von Vorder- und Hinterflankenplazierungsdatenimpulsen für Datenimpulse mit erweiterter Breite ist nachstehend in der Erläuterung des "TRAIL MASK PIPE"-Blocks 93 weiter ausgeführt.
Die vom Vorderflankenkomparator 264 ausgegebenen Vorderflan­ kenkandidatenimpulse werden als erster Eingang des TOP LEVEL- Blocks 94 an ein erstes Flipflop 270 geleitet. Die vom Hinter­ flankenvergleichsblock 88 ausgegebenen Hinterflankenkandida­ tenimpulse werden als zweiter Eingang des TOP LEVEL-Blocks 94 an ein zweites Flipflop 268 geleitet. Die Flipflops 268, 270 werden vom Haupttakt 45 getaktet. Der Ausgang des zweiten Flipflops 268 wird dem TRAIL MASK PIPE-Block 93 zugeführt. Der Ausgang des ersten Flipflops 270 wird dem RAM-Adreßzählerblock 91, dem RAM-Datenlatch- und -verschiebeblock 92 und dem Vorderflankenunterdrückungsblock 95 zugeführt. Die Flipflops 268, 270 resynchronisieren jeden Kandidatenimpuls auf den nächsten Zyklus des Haupttaktes 45, wodurch Ausbreitungs­ verzögerungen, die bei der Erzeugung von Kandidatenimpulsen inhärent sind, überwunden wenden.
Der RAM-Adreßzählerblock 91 umfaßt einen ersten Eingang eines ersten Flipflops 270 des TOP LEVEL-Blockes 94, einen zweiten Eingang vom Register 258 zum erneuten Laden der Adresse, einen Takteingang vom Haupttakt 45, einen ersten Ausgang an den RAM- Chip 42 und einen zweiten Ausgang an den logischen Block DONE 89. Gemäß Fig. 6, welche zusätzliches strukturelles Detail zeigt, umfaßt der RAM-Adreßzählerblock 91 weiterhin einen Adreßzähler 272, einen Komparator 274 und ein Speicherende­ register 276. Der Adreßzähler 272 wird von dem Auftreten eines Vorderflankenkandidatenimpulses freigegeben, welcher vom TOP LEVEL Block 94 zugeführt wurde und daher zählt der Zähler 272 nur einmal pro vom Benutzer programmierter Periode. Bei derar­ tiger Freigabe zählt der Adreßzähler 274 bei jedem Zyklus des Haupttaktes 45 von dem vom Adressen-Neulade-Register 258 geladenen Wert hoch. Eine jede derartige Zählung entspricht einer Adresse im RAM-Chip 42 und wird dementsprechend vom Adreßzähler 274 zur Adressierung von Datenbits ausgegeben, welche vom RAM-Chip 42 gespeichert sind. Eine jede derartige Zählung wird auch vom Adreßzähler 272 an den Komparator 274 ausgegeben, wo eine solche Zählung mit dem Wert verglichen wird, welcher dem Komparator 274 vom Speicherenderegister 276 eingegeben wird. Stimmt die Zählung mit dem Wert vom Spei­ cherenderegister 276 überein, dann gibt der Komparator 274 einen Signalpegel "1" aus, welcher (i) dem Adreßzähler 272 zugeführt wird, um ein Neuladen vom Adressenneuladeregister 258 zu triggern, und (ii) als Ausgang des RAM-Adreßzähler­ blockes 91 dem logischen Block DONE 89 zugeführt wird.
Die vom Adreßneuladeregister 258 gespeicherten Werte werden vom Mikroprozessor 20 bereitgestellt und entsprechend der vom Benutzer programmierten Folge durch die im RAM-Chip 42 gespei­ cherten Datenbits. In der bevorzugten Ausführungsform sind wenigstens zwei Werte im Adressenneuladeregister 258 gespei­ chert: der erste Wert identifiziert die Adresse des ersten Datenbits und der zweite Wert identifiziert die Adresse, auf der der RAM-Adreßzählerblock 91 stehen wird, nachdem er alle Daten vom ersten Datenbit bis zum Ende des Speicherdatenbits zum Zwecke der Schleifenbildung adressiert hat. Das Speicher­ enderegister 276 ist vorzugsweise auf die oberste Adresse des RAM-Chips 42 eingestellt.
Allgemein verläuft der RAM-Adreßzählerblock 91 sequentiell durch die Adressen der im RAM-Chip 42 gespeicherten Datenbits gemäß der vom Benutzer programmierten Folge und setzt ein Flagbit, um den logischen Block DONE 89 zur Ausgabe zu veranlassen.
In Fig. 5 wiederum umfaßt der RAM-Datenlatch- und -verschiebe­ block 92 einen ersten Eingang vom ersten Flipflop 270 des TOP LEVEL-Blocks 94, einen zweiten Eingang vom RAM-Chip 42, einen Takteingang vom Haupttakt 45, einen ersten Ausgang an den Vorderflankenunterdrückungsblock 95 und einen zweiten Ausgang an den TRAIL MASK PIPE-Block 93. Der RAM-Datenlatch- und -verschiebeblock wird durch das Auftreten eines Vorder­ flankenkandidatenimpulses freigegeben, welcher vom ersten Flipflop 270 des TOP LEVEL-Blocks 94 zugeführt wurde und daher ruft der Block 92 nur einmal pro vom Benutzer programmierter Periode bei Auftreten eines Zyklus des Haupttaktes 45 ein Datenbit ab. Das abgerufene Datenbit wird als Ausgang des Blockes 92 sowohl an den Vorderflankenunterdrückungsblock 95 als auch an den TRAIL MASK PIPE-Block 93 mit der Bestimmung angelegt, wie nachstehend weiter ausgeführt ist, wodurch Kan­ didatenimpulse durch diese Blöcke 95, 93 unterdrückt werden sollen.
Der logische Block DONE 89 hat einen Eingang vom RAM-Adreß­ zählerblock 91, einen ersten Ausgang an den Vorderflanken­ unterdrückungsblock 95 und einen zweiten Ausgang an den TRAIL MASK PIPE-Block 93. Der logische Block DONE 89 synchronisiert (i) das vom Komparator 274 des RAM-Adreßzählerblockes 91 bei Erreichen der Adresse, die dem oberen Teil des Speichers entspricht, erzeugte Flagbit, mit (ii) dem vom RAM-Datenlatch- und -verschiebeblock 92 bei der ganz oben im Speicher befindlichen Adresse abgerufenen Datenbit. Der logische Block DONE 89 resynchronisiert das Flagbit, indem er die angehäuften Ausbreitungsverzögerungen überwindet, die zwischen der Adressierung von Daten und der Verfügbarkeit der abgerufenen Daten entstehen. Der logische Block DONE 89 wird nur dann verwendet, wenn die Datenerzeugungsprüfeinheit 18 sich im Burst-Modus befindet, da der oberste Teil des Speichers nur in diesem Modus die letzten gültigen Daten angibt. In anderen Betriebs­ modi gibt der logische Block DONE 89 das resynchronisierte Flagbit an sowohl den Vorderflankenunterdrückungsblock 95 als auch an den TRAIL MASK PIPE-Block 93 aus, aber die nach dem obersten Teil des Speichers abgerufenen Daten bleiben in diesen Modi gültig und sollen nicht unterdrückt werden.
Der Vorderflankenunterdrückungsblock 95 umfaßt einen ersten Eingang vom ersten Flipflop 270 des TOP LEVEL-Blocks 94, einen zweiten Eingang vom logischen Block DONE 89, einen dritten Eingang vom RAM-Datenlatch- und -verschiebeblock 92 und einen Ausgang, der die nichtgattergesteuerten Vorderflankenplazie­ rungsdaten 54 umfaßt. Der Vorderflankenunterdrückungsblock 95 unterdrückt Vorderflankenkandidatenimpulse, wie sie in der Wahrheitstabelle, Tabelle 1, hierin gezeigt sind.
Tabelle 1
Wie in der Tabelle 1 gezeigt, sind die Ausgangsdaten zur Vorderflankenplazierung nur dann ein Signalpegel "1", wenn gleichzeitig das Datenbit ein Signalpegel "1" ist, ein Vorderflankenkandidatenimpuls erzeugt wird und das DONE Bit nicht gesetzt ist.
Der TRAIL MASK PIPE-Block 93 umfaßt einen ersten Eingang von dem zweiten Flipflop 268 des TOP LEVEL-Blocks 94, einen zwei­ ten Eingang vom logischen Block DONE 89, einen dritten Eingang vom RAM-Datenlatch- und -verschiebeblock 92, einen vierten Eingang vom MASKCON-Register 256, einen fünften Eingang vom Mikroprozessor 20 und einen Ausgang, welcher dem Ausgangs­ flipflop 96 und dem Ausgangsmultiplexer 97 zugeführt wird. Das MASKCON-Register 256 erstellt zwei Steuerbits an den TRAIL MASK PIPE-Block 93 und diese Bits werden vom Mikroprozessor 20 berechnet, um den TRAIL MASK PIPE-Block 93 zu informieren, daß er einen ungültigen Hinterflankenkandidatenimpuls unterdrücken soll, der als Ergebnis eines unbestimmten Zustandes zwischen dem Zykluszählerblock 87 und dem Hinterflankenvergleichsblock 88 bei der Erzeugung von Datenimpulsen mit erweiterter Breite erzeugt wurde. Der unbestimmte Zustand tritt auf, wenn der vom TRAILCMP-Register 250 in den Hinterflankenvergleichsblock 88 geladene Wert der gleiche ist wie der Wert, welcher vom WIDTHLP-Register 252 in den Zykluszähler 262 geladen wurde.
Gemäß Fig. 7, welche zusätzliches strukturelles Detail zeigt, umfaßt der TRAIL MASK PIPE-Block 93 weiterhin ein erstes UND- Gatter 278, ein Flipflop 280, ein zweites UND-Gatter 282, ein ODER-Gatter 284 und einen Kombinationsblock 286. Zunächst gattersteuert das UND-Gatter 278 den Datenbiteingang vom RAM- Datenlatch- und verschiebeblock 92 mit einem Eingang eines Bits vom MASKCON-Register 256 und gibt diese logische Kombination als einen Eingang an das ODER-Gatter 284. Das Flipflop 280 umfaßt einen Takteingang vom Eingang des Haupttaktes 45, einen Freigabeeingang vom TOP LEVEL Block 94 (d. h. Hinterflankenkandidatenimpulse geben das Flipflop 280 frei), einen Eingang vom RAM-Datenverschiebe- und -latchblock 92 und einen Ausgang, welcher dem zweiten UND-Gatter 282 zugeführt wird. Das zweite UND-Gatter 282 gattersteuert den Eingang vom Flipflop 280 mit einem Eingang eines Bits vom MASKCON-Register 256 und gibt diese logische Kombination als zweiten Eingang an das ODER-Gatter 284 aus. Das ODER-Gatter erstellt eine logische ODER-Verknüpfung seiner zwei obengenannten Eingänge und gibt diese logische Kombination als ersten Eingang an den Kombinationsblock 286 aus. Der Kombinationsblock 286 umfaßt einen zweiten Eingang vom logischen Block DONE 89, einen dritten Eingang vom TOP LEVEL- Block 94, welcher Hinterflankenkandidatenimpulse umfaßt, einen vierten Eingang vom Mikroprozessor 20, welcher das NRZ- Steuerbit umfaßt, und den Ausgang vom TRAIL MASK PIPE- Block 93.
Im Betrieb unterdrückt der TRAIL MASK PIPE-Block 93 die Erzeu­ gung von Hinterflankenkandidatenimpulsen, um zum Beispiel die Breite der Datenimpulse auf ein Tastverhältnis von mehr als 100% zu erweitern oder um die Ausgabe von Hinterflankenkandi­ datenimpulsen nach Erschöpfung der Daten des RAM-Chips 42 zu verhindern. Der TRAIL MASK PIPE-Block 93 unterdrückt Hinter­ flankenkandidatenimpulse, wie sie in der Wahrheitstabelle, Tabelle 2, nachstehend gezeigt sind.
Tabelle 2
Wie in Tabelle 2 gezeigt, unterdrückt der Eingang vom logi­ schen Block DONE 89 nur dann Hinterflankenkandidatenimpulse, wenn er sich im NRZ-Modus befindet; dieser Eingang kann keine Hinterflankenkandidatenimpulse unterdrücken, wenn gerade Da­ tenimpulse mit erweiterter Breite erzeugt werden, da die Hin­ terflanke eines Impulses mit erweiterter Breite erst nach der Adressierung des letzten Datenbits vom RAM-Chip 42 erzeugt werden muß.
Wieder zurück zu Fig. 5: die Hinterflankenkandidatenimpulse, die von dem TRAIL MASK PIPE 93 ausgegeben werden, werden so­ wohl indirekt durch das vom Haupttakt 45 getaktete Ausgangs­ flipflop 96 dem Ausgangsmultiplexer 97 zugeführt als auch dem Ausgangsmultiplexer 97 direkt zugeführt. Die dem Ausgangsflip­ flop 96 zugeführten Kandidatenimpulse werden um einen zusätzlichen Zyklus des Haupttaktes 45 verzögert; die Kandida­ tenimpulse, die direkt zugeführt werden, erhalten keine solche zusätzliche Verzögerung. Der Wahleingang des Aus­ gangsmultiplexers 97 wird vom Register 262 der späten Hinter­ flanke zugeführt, einem Ein-Bit-Register, welches vom Mikro­ prozessor 20 geladen wird. Somit bewirkt der Ausgangsmulti­ plexer 97 in Verbindung mit dem Ausgangsflipflop 96 und dem Register 262 der späten Hinterflanke die Ausgabe des Hinter­ flankenkandidaten entweder mit oder ohne die Verzögerung um eine zusätzliche Periode des Haupttaktes 45. Wie nachstehend unter Bezugnahme auf die Fig. 9 näher erläutert wird, über­ windet eine Ausgabe von Hinterflankenkandidatenimpulsen mit solcher Verzögerung die Beschränkung des Präzisionstaktungs­ blockes, den Hinterflankenplazierungsdaten höchstens eine Haupttaktverzögerung aufzuerlegen.
Die bevorzugte Ausführungsform des Mustererzeugungschips 64 erzeugt, wie voranstehend erläutert, ein Bit Vorderflanken­ plazierungsdaten und ein Bit Hinterflankenplazierungsdaten pro Zyklus des Haupttaktes 45. Praktische Bedingungen, wie maxi­ male Taktgeschwindigkeiten von Gatteranordnungen, können jedoch die Implementierung des Mustererzeugungschips 64 in beispielsweise einer 4-Bit pro Takt Architektur erforderlich machen, welche von einem Untertakt 47 getaktet wird, welcher mit einem Viertel der Geschwindigkeit des Haupttaktes 45 arbeitet. In einer solchen Architektur müssen Modifikationen des oben beschriebenen Schaltungsaufbaus vorgenommen werden und ein zusätzlicher Schaltungsaufbau eingeführt werden. Gemäß Fig. 5 erfordert eine 4-Bit-Architektur die Hinzufügung eines Musterauswahlblockes 90 mit Eingängen von einem PATS-Register 260 und vom Zykluszähler 262 und Ausgängen an den RAM- Datenlatch- und -verschiebeblock 92, und den TRAIL MASK PIPE- Block 93. Der Musterauswahlblock 90 bestimmt das Muster der Vorder- und Hinterflankenplazierungsdaten für die ausgegebenen Halbbytes, die in jedem Zyklus des Untertaktes auf der Grund­ lage dessen erzeugt werden, ob die ersten gültigen Halbbytes gerade verwendet werden. Das PATS-Register 260 erstellt den Musterauswahlblock 90 mit einer Leitung von Halbbytedaten, so daß für jedes innerhalb eines Halbbytes befindliches Bit ein Signalpegel "1" dieses Bit freigibt und ein Signalpegel "0" dieses Bit sperrt. Das PATS-Register 260 erstellt 16 Bit, die wie folgt zugeordnet sind:
D0-D3: erstes Vorderflankenplazierungsdatenhalbbyte;
D4-D7: nächstes Vorderflankenplazierungsdatenhalbbyte;
D8-D11: erstes Hinterflankenplazierungsdatenhalbbyte;
D12-D15: nächstes Hinterflankenplazierungsdatenhalbbyte.
Zusätzlich zu dem Musterauswahlblock 90 und dem PATS-Register 260 macht die 4-Bit-Architektur weitere Veränderungen im 1- Bit-Mustererzeugungschip 64 erforderlich. Zum Beispiel hält das WIDTHLP-Register 252 Werte, die nicht auf die Periode des Haupttaktes 45, sondern vielmehr auf die Periode des Unter­ taktes 47 abgestellt sind, und der Zykluszählerblock 87 er­ zeugt gleichzeitig einen Vorderflankenkandidatenimpuls für jedes der vier Bits. Der RAM-Datenlatch- und -verschiebeblock 92 ruft weiterhin Daten in 8-Bit-Mustern ab, gibt aber diese Daten in zwei Halbbytes von jeweils 4 Bits bei jedem Zyklus des Untertaktes 47 ab. Der TRAIL MASK PIPE 93 und der Vorder­ flankenunterdrückungsblock 95 unterdrücken gleichzeitig Kandidatenimpulse für jedes ihrer vier Bits. Für den TRAIL MASK PIPE 93 muß der Eingang vom MASKCON-Register 256 von 2 Bits auf 8 Bits ansteigen, um der Verschiebung von einer 1- Bit- auf eine 4-Bit-Architektur Rechnung zu tragen. Die 8 Bit können jede beliebige der in der folgenden Tabelle, Tabelle 3, aufgeführten Konfiguration annehmen:
Steuerbyte
Breite (in Haupttaktzyklen)
00000000
0
00000001 1
00000011 2
00000111 3
00001111 4
00011111 5
00111111 6
01111111 7
Nimm Reihe Nr. 4+Width mod 4 8+
Allgemein ist die Taktung der Datenimpulse durch das Daten­ signal hindurch unverändert: alle Datenimpulse werden, wenn überhaupt, aus Vorderflankenplazierungsdatenimpulsen und Hin­ terflankenplazierungsdatenimpulsen erzeugt, welche gemäß vom Benutzer programmierten Taktungs- und Formatierungsanweisungen erzeugt werden, die durch das ganze Datensignal hindurch an­ wendbar sind. Die ansteigenden Flanken der Flankenplazierungs­ impulse steuern für jede der Vorder- und Hinterflanken die Flankenplazierungsbezüge im Datensignal.
In Fig. 8 ist die Erzeugung eines Datenimpulses allgemein durch ein Taktdiagramm veranschaulicht. Drei vom Benutzer programmierte Perioden eines Datensignals sind gezeigt, die einen Datenstrom mit Signalpegeln "011" umfassen. Bei der Erweiterung des Bereichs der vom Benutzer programmierten Periode entsprechend dem ersten erweiterten Datenimpuls, ist gezeigt, daß die programmierte Periode aus acht verketteten Zyklen des Haupttaktes aufgebaut ist. Der erste Datenimpuls wird wie folgt erzeugt: der Parallel-/Seriell-Wandler 46 des Formatierblockes 32 erzeugt die nichtgattergesteuerten Vorder- und Hinterflankenplazierungsdatenimpulse, von denen jeder grob innerhalb der vom Benutzer programmierten Periode auf inner­ halb einem Haupttaktzyklus getaktet ist; der vom Wandler 46 aus dem Haupttakt 45 erzeugte Gattersteuertakt 6 21114 00070 552 001000280000000200012000285912100300040 0002004306463 00004 209952 gattersteuert die nichtgattergesteuerten Vorder- und Hinterflankenplazierungsdatenimpulse an die logischen UND- Gatter 50 bzw. 52 des Formatierblockes 32, wodurch die Vorder- und Hinterflankenplazierungsdatenimpulse durch Verkürzung der Dauer der nichtgattergesteuerten Impulse erzeugt werden; die Vorder- und Hinterflankenplazierungsdatenimpulse werden dann durch den Vorderflankenverzögerungsblock 68 bzw. den Hinterflankenverzögerungsblock 70 auf eine präzise Genauigkeit verzögert, um die verzögerten Vorder- und Hinterflankenplazierungsdatenimpulse zu erzeugen; diese verzögerten Vorder- und Hinterflankenplazierungsdaten werden dann dem programmierbaren Dominanz-Flipflop 80 mit RS-Tastung des Präzisionstaktungsblockes 38 zum Aufbau des Datenimpulses für die Ausgabe eingespeist.
Gemäß der Darstellung in Fig. 9 ist die Erzeugung eines Daten­ impulses durch ein Taktdiagramm bezogen auf die verspätete Hinterflankenoperation des Mustererzeugungschips 64 veran­ schaulicht. Die verspätete Hinterflankenoperation, wie sie vom Ausgangsmultiplexer 97 in Verbindung mit dem Ausgangsflipflop 96 und dem Register 262 für späte Hinterflanken durchgeführt wird, sperrt den Ausgang von Hinterflankenplazierungsdaten­ impulsen des Mustererzeugungschips 64 für einen Zyklus des Haupttaktes 45, immer wenn die Summe aus (i) der vom Präzi­ sionstaktungsblock 38 auf dem Vorderflankenplazierungsimpuls anzulegenden Verzögerung und (ii) der von diesem Block 38 auf den Hinterflankenplazierungsimpuls anzulegenden Verzögerung eine Haupttaktperiode übersteigen würde. Wie dargestellt würde der Formatierblock 32, wenn angenommen wird, daß die verspä­ tete Hinterflankenoperation gesperrt ist, einen Vorderflanken­ plazierungsdatenimpuls und einen Hinterflankenplazierungs­ datenimpuls erzeugen, wobei die beiden durch eine Breite W(c1) getrennt sind, welche grob von Haupttaktzyklen plaziert wird. Mit solchen Impulsen würde der Präzisionstaktungsblock 38 den Vorderflankenplazierungsdatenimpuls um eine Verzögerung D(1e) verzögern. Der Präzisionstaktungsblock 38 würde versuchen, den Hinterflankenplazierungsdatenimpuls um eine Verzögerung gleich der Summe aus D(te1) und D(1e) zu verzögern, wobei D(1e) hin­ zugefügt wird, um die Breite W(c1) des Datenimpulses beizu­ behalten. Da jedoch angenommen wurde, daß die Summe aus D(te1) und D(1e) einen Haupttaktzyklus übersteigt, wäre der Präzi­ sionstaktungsblock 38 nicht in der Lage, den Hinterflankenpla­ zierungsdatenimpuls vollständig zu verzögern, da der Verzöge­ rungsbereich dieses Blockes auf einen Haupttaktzyklus be­ schränkt ist. Um diese Beschränkung zu überwinden, ist das Bit des Registers 262 für späte Hinterflanken so gesetzt, daß es den Kandidatenimpuls für die Hinterflanken, der durch den Aus­ gang des Flipflops 96 verzögert ist, auswählt, wodurch die überschüssige Verzögerung durch Erweiterung der groben Breite um einen Haupttaktzyklus von W(c1) auf W(c2) und durch Reduzierung der durch den Präzisionstaktungsblock 38 an die Hinterflankenplazierungsdatenimpulse anzulegende Verzögerung auf D(te2) korrigiert wird.
Gemäß Fig. 10 wird das programmierbare Dominanz-Flipflop 80 mit RS-Tastung/der transparente Latch aus Fig. 3 vorzugsweise in eine integrierte Schaltung eingefügt, wie es mehr in Einzelheiten in dem Logikschaltbild 100 dargestellt ist. In der Mitte dieser integrierten Schaltung befindet sich eine RS- /Latchzelle 102, welche einen Set-Eingang (Einstell-Eingang) 104, einen Reset-Eingang (Rückstell-Eingang) 106, einen R- Dominanz-Freigabe-Eingang 108 (mit "ENRDM" bezeichnet), einen Ausgang 110 (mit "Q" bezeichnet), einen direkten Reset- (Rückstell-)Eingang 112 (mit "RD" bezeichnet) und einen NRZ ("nonreturn to zero") -Freigabeeingang 114 ("ENRZ") aufweist. Der Voreinstellungsmodus der RS/Latchzelle ist RZ ("return to zero"). In diesem Modus verhält sich die Zelle wie ein Flipflop mit RS-Tastung, mit der Ausnahme, daß sie für eine Einstell- oder Rückstell-Dominanz programmiert werden kann, so daß beim Vorliegen eines logischen Pegels "1" sowohl am Einstell-Eingang 104 als auch am Rückstell-Eingang 106 entweder der Einstell-Eingang oder der Rückstell-Eingang vorherrscht; unter diesen Umständen gibt es keinen indeterminanten Zustand. Die Rückstelldominanz wird durch Anlegen eines logischen Pegels "1" an den R-Dominanz- Freigabeeingang 108 gewählt; sonst dominiert die Einstell- Dominanz. Das spezielle Ansprechen der RS/Latch wird in der folgenden Wahrheitstabelle, "Tabelle 4", dargestellt.
Tabelle 4
Die RS/Latch kann ebenfalls im NRZ-Modus betrieben werden. Dieser wird durch Anlegen eines logischen Pegels "1" an einen NRZ-Freigabeeingang 114 gewählt. Im NRZ-Modus verhält sich die RS/Latch wie eine D-Typ-Latch, wobei der S-Eingang 104 als D- Eingang dient und R der transparente Freigabeeingang ist. In diesem Fall folgt der Ausgang 110 einfach dem logischen Pegel, wie er an den S-Eingang 104 angelegt ist, wenn R sich im logischen Pegel "1" befindet, und behält seinen vorherigen Zustand, wenn R sich beim logischen Pegel "0" befindet.
Die RS/Latch kann direkt durch Anlegung eines logischen Pegels "1" an den direkten Rückstell-Eingang 112 zurückgestellt werden. Dies wird gemeinhin zur Initialisierung der Schaltung beim Systemeinschalten verwendet. Die RS/Latch wird nachfolgend mit Bezug auf Fig. 12 mit ihren Einzelheiten erläutert.
Zusätzlich zu der (bereits beschriebenen) RS/Latch weist die durch das Logikschaltbild 100 dargestellte integrierte Schal­ tung einige dem Einstell-Eingang 104 und dem Rückstell-Eingang 106 voraufgehende Eingangsschaltungsanordnungen sowie einige Ausgangsschaltungsanordnungen auf, die auf den Ausgang 110 folgen. Die Eingangsschaltungsanordnung umfaßt einen ersten Multiplexer 116 mit einem ersten logischen Differenzeingang 118 (mit "LEADA" und "LEADAb" bezeichnet), einem zweiten logischen Differenzeingang 120 (mit "LEADB" und "LEADBb" bezeichnet), einem Wähleingang 122 (mit "SELLEADB" bezeichnet) und einem Ausgang 124 (mit "Y" bezeichnet) auf. Die Eingänge 118 und 120 stimmen mit dem Eingang 121 aus Fig. 3 überein. Weiterhin ist ein zweiter Multiplexer 126 mit einem dritten logischen Differenzeingang 128 (mit "TRAILA" und "TRAILAb" bezeichnet), ein vierter logischer Differenzeingang 130 (mit "TRAILB" und "TRAILBb" bezeichnet), ein Wähleingang 132 (bezeichnet mit "SELTRAILB") und einem Ausgang 134 (bezeichnet mit "Y") vorhanden. Die Eingänge 128 und 130 stimmen mit dem Rückstell-Eingang 133 aus Fig. 3 überein. Üblicherweise empfängt der Multiplexer 116 seine Eingabe vom logischen Eingang 118; wenn jedoch dem Wähleingang 122 ein logischer Pegel "1" angelegt wird, empfängt der Multiplexer 116 seine Eingabe vom logischen Eingang 120. Desgleichen empfängt der Multiplexer 126 üblicherweise seine Eingabe vom logischen Eingang 128, schaltet jedoch auf den logischen Eingang 130, wenn dem Wähleingang 132 ein logischer Pegel "1" angelegt ist. Gemeinhin kann ein Fachmann auf dem vorliegenden Gebiet den Aufbau eines solchen Multiplexers und die Eingangswähl­ schaltungsanordnung ohne weiteres nachvollziehen.
Der Ausgang 124 des Multiplexers 116 wird an eine Impulsverkürzerschaltung 136 mit einem entsprechenden, an den S-Eingang 104 der RS/Latchzelle 102 angelegten Ausgang. Der Ausgang 134 des Multiplexers 126 wird an eine Impulsver­ kürzerschaltung 138 mit einem an den R-Eingang 106 der RS/Latchzelle 102 angelegten entsprechenden Ausgang geleitet. Der Impulsverkürzer 136 hat einen Freigabeeingang 140 und der Impulsverkürzer 138 einen Freigabeeingang 142. Zwischen die Freigabeeingänge 140 und 142 ist eine Umkehrstufe 144 geschaltet. Daher ist der eine oder andere Impulsverkürzer freigegeben, wobei das Anlegen eines logischen Pegels "0" an den Freigabeeingang 142 den Impulsverkürzer 136 freigibt, während der Impulsverkürzer 140 gesperrt ist, und das Anlegen eines logischen Pegels "1" an den Freigabeeingang den Impulsverkürzer 138 freigibt, während der Impulsverkürzer 136 gesperrt ist. Wie ihre Bezeichnungen vermuten lassen, verkürzen die Impulsverkürzerschaltungen aus einem später darzulegenden Grund die Breite der an ihre Eingänge angelegten Impulse um einen vorbestimmten Betrag, vorzugsweise um etwa 200 Pikosekunden im System der vorliegenden Erfindung.
In Fig. 11 wird ein geeigneter Aufbau für die Impulsver­ kürzerschaltung 136 und die Impulsverkürzerschaltung 138 dargestellt. Sie umfaßt ein UND-Gatter 146 mit zwei Eingängen 148 und 150 und einen Ausgang 152; ein Verzögerungsgatter 154 hat einen an den Eingang 148 des UND-Gatters angeschlossenen Eingang 148 und einen Eingang 156; ein Nullverzögerungs-ODER- Gatter 158 (wobei in der Praxis die Funktionen des UND-Gatters 146 und des ODER-Gatters 158 von derselben Schaltung durchgeführt werden können) hat einen an den Eingang 150 des UND-Gatters angeschlossenen Ausgang und einen ersten mit dem Eingang 156 des Verstärkers 154 verbundenen ersten Eingang 160 und einen zweiten Eingang 162. Die Eingänge 156 und 160 werden vom Ausgang eines Puffers 164 gespeist, welcher seinerseits einen Multiplexerausgang an seinem Eingang 166 empfängt. Der Eingang 162 am ODER-Gatter 158 empfängt den Ausgang von einem Puffer 168, welcher seinerseits das Freigabesignal an einem Eingang 170 empfängt.
Im Betrieb wird ein Impuls am Eingang 166 angelegt, der sich durch den Verstärker 164 und den Verstärker 154 verstärkt, bis er an den Eingang 148 des UND-Gatters 146 gelangt. Sobald ein Freigabesignal an den Eingang 170 angelegt ist, dann gelangt dieses Signal durch den Verstärker 168 und das ODER-Gatter 158 hindurch und ist schließlich an den Eingang 150 des UND- Gatters 146 angelegt, so daß ein Impuls, der am Eingang 148 angelegt ist, ungekürzt am Ausgang 152 erscheint. Wenn andererseits der Impulsverkürzer nicht freigegeben ist, wird der zu verkürzende Impuls, welcher gleichzeitig an den Eingang 150 durch das Nullverzögerungs-ODER-Gatter 158 angelegt ist, durch das UND-Gatter 146 für eine kürzere Zeitperiode hindurch gebracht, weil seine abfallende Flanke während der Begrenzung der Impulsverarbeitung durch das ODER-Gatter 158 angeschnitten ist.
Der Ausgangskreis der integrierten Schaltung weist eine dritten Multiplexer 172 auf (Fig. 10), der einen fünften Differentiallogikeingang 174 (mit "TRANS" und "TRANSB" bezeichnet) aufweist, ferner einen Differentialeingang 176, der mit dem Ausgang 110 der RS/Latchzelle 102 verbunden ist, einen Übertrager-Freigabeeingang 178 (mit "TRANSENAB" bezeichnet) und einen Ausgang 180 (mit "Y" bezeichnet). Dies ermöglicht der integrierten Schaltung auszuwählen, ob ihr Ausgang entweder der Ausgang von der RS/Latchzelle 102 ist oder ein Differentiallogiksignaleingang 174 folgt, welcher gerade durch die integrierte Schaltung hindurch geführt ist. Der Eingang 174 wird angewählt, wenn ein logischer Pegel "1" an den Übertrager-Freigabeeingang 178 angelegt ist.
Der Ausgang 180 des Multiplexers 172 liegt an einem EXKLUSIV- ODER- ("XOR")-Gatter 182 an, und zwar zusammen mit dem Ausgang von einem Puffer 184, der einen Differentiallogikeingang 186 (bezeichnet mit "INVERT" und "INVERTB") aufweist. Ein Differentialausgang 188 von dem XOR- Gatter 182 stellt den Ausgang von der integrierten Schaltung dar. Liegt ein logischer Pegel "0" an dem Invert-Punkt von Eingang 186 an, dann reflektiert der Ausgang 188 direkt den logischen Pegel an den Ausgang 180 des Multiplexers 172. Wenn ein logischer Pegel "1" an den Invert-Punkt des Eingangs 186 angelegt ist, reflektiert der Ausgang 188 die Umkehr des logischen Pegels, wie er am Ausgang 180 des Multiplexers 172 erzeugt wird. Deshalb kann der Eingang 186 zur Umkehr eines NRZ-Signals in seinen Komplementärwert benutzt werden, und um ein RZ-Signal in ein R1-Signal zu wandeln. Die Verwandlung vom RZ zum R1 erfordert außerdem, daß die RAM-Chip 42 Daten von dem Mikroprozessor 20 invertiert werden.
Wird nunmehr die Fig. 12 in Betracht gezogen, läßt sich die RS/Latchzelle 102 in ihren dargestellten größeren Details beschreiben. Der Hauptteil der RS/Latchzelle 102 ist ein D- Typ-Latch 190 mit einem D-Eingang 192, einem Latch- Freigabeeingang 194 (mit "LE" bezeichnet) und einem Ausgang 196 (mit "Q" bezeichnet); ein Multiplexer 198 hat einen Ausgang, der am Eingang 192 des D-Typ Latch 190 anliegt, einen ersten Eingang 200, einen zweiten Eingang 210 und einen Dominanzeingang 212 ("RDOM" bezeichnet). Der S-Eingang 104 wird über ein Paar von Verzögerungsgattern 214 und 216 an den Eingang 200 des Multiplexers 198 und der R-Eingang 106 wird durch ein Paar von Verzögerungsgattern 218 und 220 zum Eingang 210 des Multiplexers gezogen. Wenn eine logische "Null" am Dominanzeingang 212 anliegt, selektiert der Multiplexer das Signal am S-Eingang 104 für eine Weiterleitung an den D- Eingang 192 des D-Typ-Latch 190. Wenn eine logische "Eins" an dem Eingang 212 anliegt, dann wird die R-Dominanz selektiert und das Signal am R-Eingang 106 gelangt durch den Multiplexer hindurch an den D-Eingang 192 des D-Typ-Latch 190.
Um die Schaltung wie ein RS/Flipflop wirken zu lassen, gelangt der Setz-Eingang 104 und der Rücksetz-Eingang 106 ebenfalls durch ein ODER-Gatter 222 hindurch bis an den Latch- Freigabeeingang 194 des D-Typ-Latch 190. Der Setz-Eingang wird an das ODER-Gatter 222 durch ein UND-Gatter 224 angelegt, an dem als Eingänge der Setz-Eingang 104 und der NRZ- Freigabeeingang 114 der RS/Latchzelle 102 anliegen. Der Rücksetz-Eingang 106 wird durch ein anderes ODER-Gatter 226 zum Eingang des ODER-Gatters 222 geleitet. Der direkte Rücksetz-Eingang 112 wird ebenso durch das ODER-Gatter 226 an das ODER-Gatter 222 anlegt. Die Verzögerungsgatter 214, 216, 220 und 218 sind dafür vorgesehen, um die Durchgangs­ verzögerung zu kompensieren, die durch das UND-Gatter 224, das ODER-Gatter 226 und das ODER-Gatter 222 verursacht werden.
Deshalb wird in einem RZ-Modus und in gesetzter Dominanz ein logischer Pegel "1" am Setzeingang 104 beim Vorliegen eines logischen Pegels "0" am Rückstelleingang 106 am D-Eingang 192 und am Latch-Freigabeeingang 194 des D-Typ-Latch 190 ankommen, wodurch ein logischer Pegel "1" am Ausgang 196 erzeugt wird.
Eine "0" am Setz-Eingang und eine "1" am Rücksetz-Eingang erzeugt eine "0" am Ausgang. Eine "1" am Setz-Eingang und eine "1" am Rücksetz-Eingang erzeugt eine "1" am Ausgang. Deshalb gibt es keinen Zwischenzustand, wenn eine "1" an sowohl dem Setz-Eingang als auch dem Rücksetz-Eingang anliegt.
Wenn ein logischer Pegel "1" am Dominanzeingang 212 des Multiplexers 198 anliegt, entsteht ein gleiches Resultat, mit der Ausnahme, daß der Ausgang dem Rücksetz-Eingang nachläuft. Wenn ein logischer Pegel "1" an den NRZ-Freigabeeingang 102 anliegt, arbeitet die Schaltung einfach wie ein D-Typ-Latch, wobei der Setz-Eingang 104 mit dem D-Eingang zusammenwirkt. Ein logischer Pegel "1" kann direkt an den Rücksetz-Eingang 112 angelegt werden, um den Ausgang auf "0" zu setzen.
Das programmierbare Flipflop mit RS-Tastung/transparenter Latch wird nun im Zusammenhang mit dem Gesamtsystem der vorliegenden Erfindung erläutert. Der Vorderflankenverzöge­ rungsblock 68 und der Hinterflankenverzögerungsblock 70 machen beide einen direkten Ausgangsweg und einen Ausgangsweg verfüg­ bar, in dem die Impulse um etwa 1,8 Nanosekunden verzögert sind. Die in der integrierten Schaltung befindlichen Multiplexer 116 und 126, zusammengefaßt durch die logische Schaltung 100, werden benutzt, um zwischen diesen beiden Ausgangswegen für die entsprechende Präzisionsverzögerungs­ steuerung auszuwählen. Die Funktion der Impulsverkürzer ist es zu ermöglichen, daß Eingänge mit einem Tastverhältnis von 50 % von den Präzisionsverzögerungssteuerungen zuverlässig Ausgänge mit einem Tastverhältnis von 50% produzieren. Ideal ist es für ein Tastverhältnis von 50 %, daß sowohl die führende als auch die nacheilende Impulskette beide 50% der Periode einnehmen, jedoch hinkt der nacheilende Impuls dem führenden Impuls um 180 Grad hinterher. Das Abfallen der Flanke des nacheilenden Impulses tritt gleichzeitig mit dem Aufsteigen der Flanke des führenden Impulses auf, was kein Problem ist.
In Wirklichkeit kann es sein, daß die führende und die nacheilende Impulskette nicht ein Tastverhältnis von exakt 50% aufweisen. Wenn beispielsweise angenommen wird, daß die Impulse 100 Pikosekunden länger sind als das 50 % Tastverhältnis, dann wird die aufsteigende Flanke des Nacheilers 100 Pikosekunden vor der abfallenden Flanke des Führers erscheinen. Bei Rückstell-Dominanz wird die ansteigende Flanke des Ausgangsimpulses nicht erscheinen, bevor der Nacheiler nach unten geht. Daher ist es nötig, den Einstell-Impuls zu verkürzen, wenn die Einstell-Dominanz gewählt wird. Wenn die Rückstell-Dominanz gewählt worden ist, muß der Rückstell-Impuls verkürzt werden. Da durch die RS/Latchzelle 102 kein unbestimmter Zustand eintritt, wenn sowohl die Einstellung als auch die Rückstellung sich auf dem logischen Pegel "1" befinden, kann in dem Ausgangsimpuls ein Tastverhältnis von 0 bis mehr als 100 Prozent erzeugt werden.
Der Übertragereingang 174 kann eher als der Ausgang 110 der RS/Latchzelle für die Durchgabe eines Signals von außen durch die integrierte Schaltung gewählt werden. R1 oder komple­ mentäre NRZ können für das Ausgangssignal durch Anlegen eines logischen Pegels "1" an den Invert-Eingang 186 gewählt werden und geeignete Daten von RAM-Chip 42 zur Verfügung stellen.
Die in der vorangegangenen Beschreibung verwendeten Bezeichnungen und Ausdrücke sind als beschreibende und nicht als begrenzende Bezeichnungen zu verstehen und es besteht keine Absicht, durch den Gebrauch dieser Bezeichnungen und Ausdrücke die dargestellten und beschriebenen Merkmale hinsichtlich deren Äquivalente auszuschließen, wobei anerkannt wird, daß der Rahmen der Erfindung lediglich durch die nachfolgenden Ansprüche vorgegeben und begrenzt ist.

Claims (20)

1. Daten-Zeit-Erzeugungssystem, gekennzeichnet durch
  • (a) eine Einrichtung (32) zum Erzeugen eines Musters in Abhängigkeit von einem Datenimpuls-Eingangssignal und von Mustervorgaben, um einen groben Vorderimpuls zu erzeugen, welcher die Dauer der Vorderflanke eines Ausgangsimpulses darstellt, und um einen groben Abfallimpuls zu erzeugen, welcher die Dauer der abfallenden Flanke des Ausgangsimpulses darstellt, wobei der grobe Abfallimpuls unabhängig vom groben Vorderimpuls einstellbar ist; und
  • (b) eine Abgabeerzeugungseinrichtung (38), die auf den groben Vorderimpuls und den groben Abfallimpuls anspricht, und zwar zum Erzeugen eines Abgabeim­ pulses mit einer Vorderflanke, deren Dauer durch den groben Vorderimpuls bestimmt ist, und einer Rück­ flanke, deren Dauer durch den groben Abfallimpuls bestimmt ist.
2. System gemäß Anspruch 1, dadurch gekennzeichnet, daß die Mustererzeugungseinrichtung ein Register (44) aufweist, um Musterinstruktionen aufzunehmen und abzuspeichern.
3. System gemäß Anspruch 1, wobei die Muster­ erzeugungseinrichtung folgendes aufweist:
  • (i) eine Zykluszählvorrichtung (87) zum Einrichten einer Abgabeimpulsperiode;
  • (ii) führende logische Einrichtungen (264) zum Erzeugen eines groben Führungsimpulskandidaten auf einen Dateneingabeimpuls hin innerhalb der ersten vorbestimmten Zeitperiode, die auf den Beginn der Impulsausgangsperiode folgt; und
  • (iii) eine logische Folgeeinrichtung (88) zum Erzeugen eines groben Folgeimpulskandidaten auf einen Dateneingangsimpuls innerhalb einer zweiten vorbestimmten Zeitperiode, die auf den Beginn der Impulsausgangsperiode folgt.
4. System gemäß Anspruch 3, dadurch gekennzeichnet, daß die Zykluszählvorrichtung eine laufende Zählung erzeugt, die führende logische Einrichtung eine Führungsvergleichs­ einrichtung zum Vergleich der Zählung von laufenden Folgen mit einem Führungsimpulswert und zum Erzeugen eines groben Führungsimpulskandidaten, wann immer sie gleichwertig sind, und eine Nachfolgevergleichsein­ richtung zum Vergleich der Zählungen von Folgen mit einem Nachfolgeimpulswert und zum Erzeugen eines groben Nach­ folgeimpulskandidaten, wenn sie gleichwertig sind, aufweist.
5. System gemäß Anspruch 1, dadurch gekennzeichnet, daß eine Führungsunterdrückungsvorrichtung (95) zur Unterdrückung des groben Führungsimpulses und eine Nachfolgeunter­ drückungsvorrichtung (260) zur Unterdrückung des groben Nachfolgeimpulses vorhanden sind, wobei beide in Ab­ hängigkeit von Musterangaben wirken.
6. System gemäß Anspruch 5, gekennzeichnet durch folgende Kombination:
  • (i) eine führende Präzisionsverzögerungssteuereinrich­ tung (68), die auf den groben Führungsimpuls und die Musterangaben zum Einstellen des Zeittaktes des groben Führungsimpulses anspricht, zur Erzeugung eines Feinführungsimpulses, der die Dauer der Vorder- bzw. Führungsflanke des Ausgangsimpulses darstellt; und
  • (ii) eine Nachfolgepräzisionsverzögerungssteuervorrichtung (70), die auf den groben Nachfolgeimpuls und die Musterangaben zum Einstellen des Zeittaktes des feinen Nachfolgeimpulses anspricht, zur Erzeugung eines feinen Nachfolgeimpulses, der die Dauer der nachfolgenden bzw. Hinterflanke des Ausgangsimpulses darstellt.
7. System gemäß Anspruch 6, dadurch gekennzeichnet, daß die Abgabeerzeugungsvorrichtung eine programmierbare Dominanz-RS-Flipflopeinrichtung (80) aufweist, die auf den feinen Führungsimpuls und auf den feinen Nachfolge­ impuls zum Initiieren des Ausgangsimpulses auf den feinen Führungsimpuls hin anspricht und zum Beenden des Ausgangsimpulses auf den feinen Nachfolgeimpuls hin, wobei das Flipflop so programmiert ist, daß das zual­ lerletzt erfolgte Auftreten eines feinen Führungsimpulses und des feinen Nachfolgeimpulses bestimmt, ob der Ausgangsimpuls eingeleitet oder beendet wird.
8. System gemäß Anspruch 1, dadurch gekennzeichnet, daß eine Direktzugriffsspeichereinrichtung (30) vorhanden ist, die mit der Mustererzeugungseinrichtung zum Erzeugen des Datenimpulseingangssignals verbunden ist, wobei das Datenimpulseingangssignal eine Vielzahl von sequentiell geordneten Datenwerten enthält.
9. System gemäß Anspruch 1, dadurch gekennzeichnet, daß die Ausgangserzeugungseinrichtung folgende Kombination aufweist:
  • (i) eine führende Präzisionsverzögerungssteuerschaltung (68), die auf den groben Führungsimpuls und die Musterangaben anspricht, zum Einstellen der Zeitdaten des groben Führungsimpulses zur Erzeugung eines feinen Führungsimpulses, der die Dauer der Vorder- oder Führungsflanke des Ausgangsimpulses darstellt; und
  • (ii) eine nacheilende Präzisionsverzögerungssteuer­ einrichtung (70), die auf den groben Nachfolgeimpuls und die Musterangaben anspricht, zum Einstellen der Zeitdaten des feinen Nachfolgeimpulses zur Erzeugung eines feinen Nachfolgeimpulses, der die Dauer der nacheilenden oder Hinterflanke des Ausgangsimpulses darstellt.
10. System gemäß Anspruch 9, dadurch gekennzeichnet, daß die Ausgangserzeugungsvorrichtung eine programmierbare Dominanz-RS-Flipflopeinrichtung (80) aufweist, die auf den feinen Führungsimpuls und den feinen Nachfolgeimpuls anspricht, zum Einleiten des Ausgangsimpulses nach dem feinen Führungsimpuls und zum Abschließen des Ausgangsimpulses auf den feinen Nachfolgeimpuls, wobei die Flipflopeinrichtung so programmiert ist, daß der feine Führungsimpuls und der feine Nachfolgeimpuls, die zuletzt auftreten, bestimmen, ob der Ausgangsimpuls eingeleitet oder beendet wird.
11. System gemäß Anspruch 10, dadurch gekennzeichnet, daß die programmierbare Dominanz-RS-Flipflopvorrichtung eine logische Vorrichtung (100) aufweist, die als Einstell- Rückstell-Flipflop arbeiten kann und die entweder für das Einstellen oder das Rückstellen der Dominanz programmiert werden kann, wobei die logische Vorrichtung umfaßt:
  • (iii) eine Latchvorrichtung vom D-Typ (190) mit einem D-Eingang, der wahlweise auf den feinen Füh­ rungsimpuls oder den feinen Nachfolgeimpuls anspricht, einen Freigabeeingang und einen Ausgang zum Erstellen eines logischen Pegels an dem Ausgang hat, der identisch mit dem logi­ schen Pegel ist, der am D-Eingang angelegt ist, wenn die Freigabeeingabe "1" ist und den lau­ fenden logischen Pegel an diesem Ausgang auf­ rechterhält, wenn der Freigabeeingang "0" ist; und
  • (iv) eine Multiplexervorrichtung (198) mit einem Einstell-Eingang, der auf den feinen Führungsimpuls anspricht, einen Rückstell- Eingang, der auf den feinen Nachfolgeimpuls anspricht, einen Dominanzeingang und einen Ausgang, der mit dem D-Eingang der Latchvorrichtung vom D-Typ verbunden ist, um wahlweise zu diesem D-Eingang den logischen Pegel an dem Einstell-Eingang oder den logischen Pegel an dem Rückstell-Eingang in Abhängigkeit von dem am Dominanzeingang angelegten logischen Pegel durchzulassen.
12. Logische Vorrichtung gemäß Anspruch 11, dadurch gekennzeichnet, daß sie außerdem eine Latch- Freigabesteuervorrichtung (222) mit einem Einstell- Eingang, einem Rückstell-Eingang und einem Ausgang umfaßt, der mit dem Freigabeeingang der Latch vom D-Typ verbunden ist, um den Freigabeeingang zum logischen Pegel "1" werden zu lassen, immer wenn ein logischer Pegel Eins entweder an dem Einstell-Eingang oder an dem Rückstell- Eingang angelegt ist.
13. Logische Vorrichtung gemäß Anspruch 12, dadurch gekennzeichnet, daß außerdem eine NRZ-Freigabesteuer­ vorrichtung (224) mit einem Einstell-Eingang, einem NRZ- Freigabeeingang und einem Ausgang vorhanden ist, verbun­ den mit dem Einstell-Eingang der Latch-Freigabesteuer­ vorrichtung, um die Latch-Freigabesteuervorrichtung auf einem logischen Pegel "0" zu halten, falls nicht die logischen Pegel, die sowohl an den NRZ-Freigabeeingang als auch an den Einstell-Eingang der NRZ-Freigabe­ steuervorrichtung angelegt sind, "1" sind.
14. Logische Vorrichtung gemäß Anspruch 12, dadurch gekennzeichnet, daß weiterhin eine Direkt-Rückstell- Steuervorrichtung (226) mit einem Direkt-Rückstell- Eingang vorhanden ist, ferner ein Rückstell-Eingang und ein Ausgang, um einen logischen Pegel "1" an dem Rückstell-Eingang der Latch-Freigabesteuervorrichtung zu erzeugen, immer dann, wenn an entweder dem Rückstell- Eingang oder dem Direkt-Rückstelleingang der Direkt- Rückstell-Steuervorrichtung ein logischer Pegel "1" anliegt.
15. Logische Vorrichtung, die als Einstell-Rückstell-Flipflop funktionieren kann und die entweder für Einstell- oder Rückstell-Dominanz programmiert werden kann, mit:
  • (a) einer D-Typ-Latchvorrichtung (190) mit einem D- Eingang, einem Freigabeeingang und einem Ausgang zum Erzeugen eines logischen Pegels an dem Ausgang, der identisch mit dem logischen Pegel ist, der an dem D- Eingang anliegt, wenn der Freigabeeingang "1" ist, und zum Aufrechterhalten des momentanen logischen Pegels an dem Ausgang, wenn der Freigabeeingang gleich "0" ist; und
  • (b) einer Multiplexer-Vorrichtung (198) mit einem Einstell-Eingang, einem Rückstell-Eingang, einem Dominanz-Eingang und einem Ausgang, der mit dem D- Eingang der D-Typ-Latchvorrichtung verbunden ist, um wahlweise zu diesem D-Eingang entweder den logischen Pegel an dem Einstell-Eingang oder den logischen Pegel an dem Rückstell-Eingang in Abhängigkeit von dem logischen Pegel passieren zu lassen, der an dem Dominanzeingang angelegt ist.
16. Logische Vorrichtung gemäß Anspruch 15, dadurch gekennzeichnet, daß eine Latch-Steuervorrichtung (222) mit einem Einstell-Eingang, einem Rückstell-Eingang und einem Ausgang, der mit dem Freigabeeingang der D-Typ- Latch verbunden ist, vorhanden ist, um den Freigabeein­ gang zu veranlassen, zu einem logischen Pegel "1" zu ge­ langen, immer wenn ein logischer Pegel "1" an entweder dem Einstell-Eingang oder dem Rückstell-Eingang angelegt ist.
17. Logische Vorrichtung gemäß Anspruch 16, dadurch gekennzeichnet, daß weiterhin eine NRZ-Freigabe- Steuerungsvorrichtung (224) mit einem Einstell-Eingang, einem NRZ-Freigabeeingang und einem Ausgang vorhanden ist, der mit dem Einstell-Eingang der Latch-Freigabe- Steuervorrichtung verbunden ist, um den Einstell-Eingang der Latch-Freigabe-Steuervorrichtung zu veranlassen, auf einem logischen Pegel "0" zu verharren, wenn nicht der an dem NRZ-Freigabe-Eingang angelegte logische Pegel "0" ist und der am Einstell-Eingang der NRZ-Freigabe-Steuer­ vorrichtung angelegte logische Pegel "1" ist.
18. Logische Vorrichtung gemäß Anspruch 16, dadurch gekennzeichnet, daß weiterhin eine Direkt-Rückstell- Steuervorrichtung (226) mit einem Direkt-Rückstell- Eingang vorhanden ist, mit einem Rückstell-Eingang und einem Ausgang zur Erzeugung eines logischen Pegels "1" an diesem Rückstell-Eingang der Latch-Freigabe- Steuervorrichtung, immer wenn ein logischer Pegel "1" an entweder dem Rückstell-Eingang oder dem Direkt-Rückstell- Eingang der Direkt-Rückstell-Steuervorrichtung anliegt.
19. Logische Vorrichtung gemäß Anspruch 15, dadurch gekennzeichnet, daß eine erste Verzögerungseinrichtung (216) vorgesehen ist, mit einem Einstell-Eingang und einem Ausgang, der mit dem Einstell-Eingang der Multiplexer-Vorrichtung verbunden ist, um an dem Einstell-Eingang der Multiplexer-Vorrichtung eine Fortpflanzungsverzögerung einzuführen, und eine zweite Verzögerungsvorrichtung (218) vorhanden ist, mit einem Rückstell-Eingang und einem Ausgang, der mit dem Rückstell-Eingang der Multiplexer-Vorrichtung verbunden ist, um an dem Rückstell-Eingang der Multiplexer- Vorrichtung eine Fortpflanzungsverzögerung einzuführen.
20. Logische Vorrichtung gemäß Anspruch 19, dadurch gekennzeichnet, daß weiterhin eine dritte Verzögerungs­ vorrichtung (214) vorhanden ist, mit einem Einstell- Eingang und einem Ausgang, der mit dem Einstell-Eingang der ersten Verzögerungsvorrichtung zum Einführen einer Fortpflanzungsverzögerung verbunden ist, und daß eine vierte Verzögerungsvorrichtung (220) vorhanden ist, mit einem Rückstell-Eingang und einem Ausgang, der mit dem Rückstell-Eingang der zweiten Verzögerungsvorrichtung zum Einführen einer Fortpflanzungsverzögerung verbunden ist.
DE4306463A 1992-03-02 1993-03-02 System zur Erzeugung von Datensignalen zur Anlegung an ein in Prüfung befindliches Gerät mit unabhängig voneinander einstellbaren steigenden und fallenden Flanken Expired - Lifetime DE4306463C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/844,362 US5333154A (en) 1992-03-02 1992-03-02 Digital data generation system including programmable dominance latch

Publications (2)

Publication Number Publication Date
DE4306463A1 true DE4306463A1 (en) 1993-09-23
DE4306463C2 DE4306463C2 (de) 2001-05-17

Family

ID=25292516

Family Applications (1)

Application Number Title Priority Date Filing Date
DE4306463A Expired - Lifetime DE4306463C2 (de) 1992-03-02 1993-03-02 System zur Erzeugung von Datensignalen zur Anlegung an ein in Prüfung befindliches Gerät mit unabhängig voneinander einstellbaren steigenden und fallenden Flanken

Country Status (3)

Country Link
US (1) US5333154A (de)
JP (1) JP3054630B2 (de)
DE (1) DE4306463C2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4436494A1 (de) * 1993-10-13 1995-04-20 Advantest Corp Prüfgerät für Halbleiter-ICs

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5333154A (en) 1992-03-02 1994-07-26 Tektronix, Inc. Digital data generation system including programmable dominance latch
US5479646A (en) * 1993-02-19 1995-12-26 Intergraph Corporation Method and apparatus for obtaining data from a data circuit utilizing alternating clock pulses to gate the data to the output
US6490714B1 (en) * 1996-11-27 2002-12-03 Altera Corporation Apparatus and method for in-system programming of a field programmable logic device using device-specific characterization data
US5920222A (en) * 1997-04-22 1999-07-06 International Business Machines Corporation Tunable pulse generator based on a wave pipeline
US6291979B1 (en) * 1999-02-16 2001-09-18 Advantest Corporation Apparatus for and method of detecting a delay fault
US6291981B1 (en) * 2000-07-26 2001-09-18 Teradyne, Inc. Automatic test equipment with narrow output pulses
US6647538B1 (en) * 2001-11-08 2003-11-11 Lsi Logic Corporation Apparatus and method for signal skew characterization utilizing clock division
US6795959B1 (en) * 2002-03-21 2004-09-21 Lattice Semiconductor Corporation Integrated delay discriminator for use with a field-programmable gate array and a method of determining a time delay thereof
US7146517B2 (en) * 2002-05-02 2006-12-05 Cray, Inc. Clock pulse shaver with selective enable pulse width
US20050257104A1 (en) * 2004-05-14 2005-11-17 Wood Reed Glenn Jr Method and apparatus for bit error rate test
US9100027B2 (en) * 2013-03-12 2015-08-04 Uniquify, Inc. Data interface circuit for capturing received data bits including continuous calibration
US11334509B2 (en) * 2013-03-12 2022-05-17 Uniquify, Inc. Continuous adaptive data capture optimization for interface circuits
US10228866B2 (en) * 2015-01-19 2019-03-12 Western Digital Technologies, Inc. Performance tuning for storage devices
US20160294371A1 (en) * 2015-04-02 2016-10-06 Dialog Semiconductor (Uk) Limited Bit-Capture Latch with Transparency Option

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DD152999A1 (de) * 1980-09-09 1981-12-16 Stephan Bocher Schaltungsanordnung zur erzeugung zeitlich und logisch verknuepfter testsignale
US4755758A (en) * 1984-12-03 1988-07-05 Hitachi, Ltd. Wave formatter for a logic circuit testing system
US4775954A (en) * 1985-10-02 1988-10-04 Ando Electric Co., Ltd Apparatus for generating timing signals used for testing ICs having two enable input terminals

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3883756A (en) * 1973-12-27 1975-05-13 Burroughs Corp Pulse generator with automatic timing adjustment for constant duty cycle
US4680479A (en) * 1985-07-29 1987-07-14 New England Digital Corporation Method of and apparatus for providing pulse trains whose frequency is variable in small increments and whose period, at each frequency, is substantially constant from pulse to pulse
JP2845915B2 (ja) * 1989-01-06 1999-01-13 株式会社日立製作所 情報再生方法および情報再生装置
JPH02241220A (ja) * 1989-03-15 1990-09-25 Yokogawa Hewlett Packard Ltd パルス列発生装置
US5208598A (en) * 1990-10-31 1993-05-04 Tektronix, Inc. Digital pulse generator using leading and trailing edge placement
US5333154A (en) 1992-03-02 1994-07-26 Tektronix, Inc. Digital data generation system including programmable dominance latch

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DD152999A1 (de) * 1980-09-09 1981-12-16 Stephan Bocher Schaltungsanordnung zur erzeugung zeitlich und logisch verknuepfter testsignale
US4755758A (en) * 1984-12-03 1988-07-05 Hitachi, Ltd. Wave formatter for a logic circuit testing system
US4775954A (en) * 1985-10-02 1988-10-04 Ando Electric Co., Ltd Apparatus for generating timing signals used for testing ICs having two enable input terminals

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4436494A1 (de) * 1993-10-13 1995-04-20 Advantest Corp Prüfgerät für Halbleiter-ICs
DE4436494C2 (de) * 1993-10-13 2001-11-15 Advantest Corp Prüfgerät für Halbleiter-ICs

Also Published As

Publication number Publication date
DE4306463C2 (de) 2001-05-17
JP3054630B2 (ja) 2000-06-19
US5333154A (en) 1994-07-26
JPH0697782A (ja) 1994-04-08

Similar Documents

Publication Publication Date Title
DE4306463A1 (en) Digital data generation system with programmable dominance-latch device - contains pattern generator producing pulses with definable leading and trailing edge durations
DE2658238A1 (de) Phasenstarre schaltung
DE2719531A1 (de) Digitale logikschaltung zur synchronisierung einer datenuebertragung
DE3022746A1 (de) Digitale phasenkomparatorschaltung
DE112006000788T5 (de) Taktübertragungsvorrichtung und Prüfvorrichtung
DE10130123B4 (de) Verzögerungsregelkreis zur Erzeugung komplementärer Taktsignale
DE69835190T2 (de) Schaltung zur Taktrückgewinnung
DE4143350C2 (de) Verfahren zur Steuerung der Taktung eines Impulsbursts
DE3801993C2 (de) Zeitgebersystem
EP0903859A2 (de) Frequenzteiler mit geringem Stromverbrauch
DE4433512C2 (de) Wellenform-Formatierungseinrichtung
DE4428545A1 (de) Schaltungsanordnung zur Umwandlung eines seriellen Datensignals in ein paralleles Datensignal
EP0042961B1 (de) Verfahren und Anordnung zur Erzeugung von Impulsen vorgegebener Zeitrelation innerhalb vorgegebener Impulsintervalle mit hoher zeitlicher Auflösung
DE2433885A1 (de) Verfahren und vorrichtung zum synchronisieren eines testinstruments auf ein digitales system
DE10152102B4 (de) Vorrichtung zum Detektieren von Eingangssignalflanken zur Signalverarbeitungsausführung auf der Basis von Flankenzeitsteuerungen
DE112005002545T5 (de) Taktgenerator und Prüfvorrichtung
DE2435057A1 (de) Schaltungsanordnung zum synchronisieren und/oder erneuten ausloesen eines generators zum erzeugen einer folge von pseudozufaelligen binaersignalen
DE4139340A1 (de) Schaltungsanordnung zum abtasten eines signals
DE3633024C2 (de) Schaltungsanordnung für die Phasensynchronisierung zweier Taktimpulsfolgen
DE4234346C2 (de) Horizontal-Oszillationsschaltung
DE4001065C2 (de)
EP0392636B1 (de) Integrierte Schaltungsanordnung
DE3835259C2 (de) Schaltungsanordnung zum Empfang von seriell übertragenen digitalen Daten
DE4143349C2 (de) Verfahren zur Kalibrierung von Zeiteinstellungen in einem digitalen Impulsgenerator
DE4123007A1 (de) Verfahren und anordnung zur anpassung von datenraten

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
D2 Grant after examination
8380 Miscellaneous part iii

Free format text: DER VERTRETER IST ZU AENDERN IN: HOFSTETTER, SCHURACK & SKORA, 81541 MUENCHEN

8364 No opposition during term of opposition
R071 Expiry of right
R071 Expiry of right