-
TECHNISCHES GEBIET
-
Diese
Erfindung betrifft Phasendetektoren, und insbesondere ein System
und ein Verfahren zu einer Taktrückgewinnung
von Non-Return-to-Zero-Daten (NRZ), und weiter insbesondere ein
System und ein Verfahren für
einen verbesserten Timing-Margin-Half-Rate-kontinuerlichen (timing
margin half rate continuous) Phasendetektor.
-
HINTERGRUND
-
In
Datenübertragungssystemen
mit einer NRZ Formatierung gibt es kein explizites Taktsignal, das
mit den Daten übertragen
wird und das verwendet werden kann, um die Daten zurückzugewinnen. Der
Takt muss zuerst, basierend auf der Zeit der Datenübergänge, von
den Daten zurückgewonnen
werden. Dieses erfordert einen Phasendetektor, der den Phasenfehler
zwischen den NRZ-Daten
und einem internen Takt misst, was ein Fehlersignal produziert. Das
Fehlersignal treibt einen Steuerungskreis, der den Fehler korrigiert.
In einem exakt arbeitenden System wird der Steuerungskreis fähig sein,
den Phasenfehler auf einem vernachlässigbaren Wert zu halten. Der
zurückgewonnene
Takt wird dann benutzt, um die Daten zurückzugewinnen. Ein Schaltkreis,
der die oben genannten Arbeitsvorgänge durchführt, wird ein Takt/Daten-Rückgewinnungsschaltkreis (CDR,
clock/data recovery) genannt. Fast alle modernen Datenübertragungssysteme
verwenden CDR-Schaltkreise, und der Phasendetektor ist ein wesentlicher
Teil solch eines CDR-Schaltkreises.
-
Gewöhnlich werden
zwei Klassen von Phasendetektoren, die üblicherweise „Bang-Bang" und „kontinuierlich" („continuous") genannt werden,
benutzt. Die Bang-Bang-Schaltkreise werden von Alexanders Originaldesign
abgeleitet, wie dieses in Alexander, JDH, „Clock Recovery from Random
Binary Signals",
Electronic Letters, Ausgabe 11, Nummer 32, Seiten 541–542, 30.
Oktober 1975, diskutiert wird. Die Bang-Bang-Klasse hat einen binär quantisierten
Ausgang, der nur anzeigt, ob der Takt „früh" oder „spät" ist, aber nicht wie viel. Dieses resultiert
in einem Steuerungskreis, der in einem diskontinuierlichen oder „Bang-Bang” Modus
funktioniert, der eine störende
Fluktuation (spurious jitter) zu dem zurückgewonnenen Takt hinzufügt und folglich
gegen die Verwendung der Bang-Bang-Phasendetektoren in Fluktuationsmesssystemen
(jitter measurement system) spricht. Auch verringern in Kommunikationssystemen
diese störenden
Fluktuationen die Leistungsfähigkeit
des Systems.
-
Die
kontinuierlichen Phasendetektoren sind nachgebildet, oder sie emulieren
das Originaldesign von Hogge, wie in Hogge, CP, A Self Correcting
Clock Recovery Circuit",
Journal of Lightwave Technology Ausgabe LT-3, Nummer 6, Seiten 1312–1314, Dezember
1985, diskutiert. Diese Detektoren haben einen Ausgang, der benutzt
werden kann, um eine Spannung zu erzeugen, die zum Phasenfehler
proportional ist, woraus ein „proportionaler" Modus für den Steuerungskreis
resultiert. Dieses ist in Betriebssystemen (operational systems)
viel mehr erwünscht und
in Fluktuationsmesssystemen wesentlich. Jedoch benutzen viele Systeme,
die mit Taktraten nach dem Stand der Technik arbeiten, noch immer Bang-Bang-Phasendetektoren,
da diese beträchtlich schneller
als kontinuierliche Phasendetektoren, für eine gegebene Logik-Hardwaretechnologie,
arbeiten. Dies liegt daran, dass das Timing in den kontinuierlichen
Phasedetektoren des bekannten Designs kritischer ist.
-
Die
oben beschrieben Phasendetektoren werden auf einer „Vollrate" („full rate") getaktet, das heißt, dass
die Taktfrequenz der Baudrate der Daten gleicht. Zum Beispiel wenn
die Daten von einer 10 Gbit/s Rate sind (1010 Baud)
und der Takt 10 GHz ist, wird der Schaltkreis als auf der „Vollrate" getaktet bezeichnet.
In diesem Kontext würden
zum Beispiel 10 Gbit/s Daten mit einem 5 GHz Takt als auf einer „Halbrate” („half rate” clocking)
getaktet bezeichnet.
-
In
einem Versuch, mehr Geschwindigkeit zu gewinnen, wurden „half rate" getaktete kontinuierliche
Phasendetektoren entwickelt, wie in Reis, AD et al, „High Date
Rate Synchronizers Operating at Low Speed." KEGS 2001. 8th IEEE
International Conference an Electronics, Circuits and Systems, 2001, Seiten
1127–1130,
V3 und Savoj, 3 und Razavi, B, „Design of Half-Rate Clock
and Data Recovery Circuits for Optical Communications Systems, IEEE Journal
of Solid-State Circuits,
V36, Nummer 5, Mai 2001, Seiten 761–768 diskutiert. Der Takt hat
zwei Phasen, durch 180° getrennt,
die doppelte Flip-Flops aktivieren. Die 2 Phasen entsprechen den
steigenden und fallenden Flanken der Taktwellenform. Diese Modifizierung,
möglicherweise
mindestens, gibt den Flip-Flops zweimal so viel Zeit zu schalten
und ermöglicht
somit, die maximale Taktrate bis zu verdoppeln. Jedoch haben diese
Halbrate Phasendetektoren noch Beschränkungen bezüglich der kritischen Timing-Margins,
die ihre maximale Taktrate begrenzen. Es sollte auch erwähnt werden,
dass aufgrund der analogen Natur von kontinuierlichen Phasendetektoren
sich deren Genauigkeit und dynamischer Bereich graduell verschlechtert,
wenn sich der Maximalrate angenähert
wird. Folglich verbessert normalerweise ein erhöhtes Design-Margin die Leistungsfähigkeit
sogar unterhalb der Maximalrate. Diese erhöhten Margins erhöhen dann
effektiv die maximale Datenrate. Dementsprechend besteht ein Bedarf
an einem Halbrate kontinuerlichen Phasendetektor mit verbesserten
Timing-Margins, um eine erhöhte
Geschwindigkeit und Leistung zu erreichen.
-
Reis,
AD; Rocha, JF; Gameiro, AS; Carvalho, JP, „High date rate synchronizers
operating at low speed" ICECS
2001, 8th IEEE International Conference
an Electronics, Circuits and Systems, Ausgabe 3, 2.–5. September
2001, Seiten 1127–1130, XP002267204
Malta beschreibt einen Phasendetektor, der Pulse erzeugt, die repräsentativ
für die
Phasendifferenz zwischen Datenpulsen und einem lokalen Takt sind.
Sowohl zeitverlagerte als auch nicht-zeitverlagerte Datensignale
werden mittels einer Mehrzahl von Logikgattern mit Taktsignalen
und Umkehrtaktsignalen (inverse clock signals) logisch kombiniert.
-
KURZE ZUSAMMENFASSUNG
-
Die
vorliegende Erfindung stellt einen Schaltkreis gemäß Anspruch
1 bereit, zum Bereitstellen einer Ausgabe, die für Eingabedatensignale und Taktsignale
repräsentativ
ist.
-
Die
vorliegende Erfindung ist auf einen Phasendetektor gerichtet, der
aus einer Mehrzahl von Mehrfacheingabegattern (multi-input gates)
aufgebaut ist, die Kombinationen von nicht-zeitverlagerten Eingabedaten
mit zeitverlagerten Eingabedaten und mit Taktsignalen kombinieren,
um Ausgabepulse, die proportional zu dem Phasenunterschied zwischen den
nicht-zeitverlagerten Daten und dem Takt sind, zu erhalten.
-
In
dem Ausführungsbeispiel
weist der Phasendetektor einen Eingang zum Empfangen von Datensignalen
auf; einen Eingang zum Empfangen von Taktsignalen; einen Ausgang
zum Bereitstellen von Phasensteuerungssignalen; einen Datenzeitverlagerungsschaltkreis
zum Annehmen von nicht-zeitverlagerten Datensignalen von dem Dateneingang
und zum Bereitstellen von geradzahlig und ungeradzahlig zeitverlagerten
Signalen davon; eine Mehrzahl von Mehrfacheinganggattern, die Eingänge haben,
die mit unterschiedlichen Kombinationen der nicht-zeitverlagerten
Datensignale, der zeitverlagerten Datensignale und der Taktsignale
verbunden sind, so dass keines der Gatter in zwei aufeinanderfolgenden
UIs aktiv sein kann, wenn ein UI als die Zeitspanne, die einem Einzelbit
zugeteilt ist, definiert wird; und einen Kombinierer zum Mischen
der Ausgänge
von mindestens zwei der Gatter.
-
Im
Vorhergehenden wurden die Merkmale und die technischen Vorteile
der vorliegenden Erfindung breit zusammengefasst, so dass die folgende ausführliche
Beschreibung der Erfindung besser verstanden werden kann. Zusätzliche
Merkmale und Vorteile der Erfindung, die den Gegenstand der Ansprüche der
Erfindung bilden, werden im Folgenden beschrieben. Es sollte von
einem Fachmann verstanden werden, dass das offenbarte Konzept und
die offenbarten spezifischen Ausführungsbeispiele als eine Grundlage
zum Modifizieren oder zum Aufbauen anderer Strukturen zum Durchführen der
gleichen Zwecke als die Zwecke der vorliegenden Erfindung verwendet
werden können.
Es sollte für
einen Fachmann auch verständlich
werden, dass solche äquivalenten
Konstruktionen von dem Geist und dem Umfang der Erfindung nicht
abweichen, wie diese in den angefügten Ansprüchen dargelegt sind. Die neuen Merkmale,
von denen angenommen wird, dass sie für die Erfindung charakteristisch
sind, werden hinsichtlich sowohl der Organisation als auch des Betriebsverfahrens
der Erfindung zusammen mit weiteren Gegenständen und Vorteilen besser von
der folgenden Beschreibung verstanden, wenn diese in Zusammenhang
mit den beigefügten
Figuren betrachtet wird. Es soll jedoch ausdrücklich verstanden werden, dass
jede der Figuren nur zum Zwecke der Illustration und Beschreibung
bereitgestellt wird und nicht als eine Definition der Begrenzungen
der vorliegenden Erfindung beabsichtigt wird.
-
KURZE BESCHREIBUNG
-
Für ein kompletteres
Verständnis
der vorliegenden Erfindung wird jetzt Bezug auf die folgenden Beschreibungen
in Verbindung mit den beigefügten Figuren
genommen werden, in denen:
-
1 ein
Ausführungsbeispiel
eines illustrativen Beispiels der Erfindung zeigt;
-
2 das
Ausführungsbeispiel
von 1 mit der Hinzufügung eines Referenzausgangs
zeigt;
-
3A, 3B und 3C Timing-Diagramme
(timing diagrams) für
den Schaltkreis von 1 zeigen;
-
4 Timing-Diagramme
(timing diagrams) des Schaltkreises von 1 für die Situation
zeigt, in der die Anstiegs- und die Fallzeit der Ausgangspulse bedeutend
ist;
-
5A ein
Timing-Diagramm (timing diagram) des Schaltkreises von 1 mit
einer nominalen Taktphase und τ =
.5UI+Flip-Flop-Verzögerung zeigt;
-
5B ein
Timing-Diagramm (timing diagram) des Schaltkreises von 1 mit
einer um 0.4UI verzögerten
Taktphase und r = .5UI+Flip-Flop-Verzögerung zeigt;
-
6 ein
anderes Ausführungsbeispiel
der Erfindung zeigt;
-
7 und 8 Timing-Diagramme
(timing diagrams) für
den Schaltkreis von 6 zeigen;
-
9A, 9B und 9C Timing-Diagramme
(timing diagrams) nach dem Stand der Technik für einen Vollratentakt (full-rate
clock) zeigen;
-
10A, 10B und 10C Timing-Diagramme (timing diagrams) nach dem
Stand der Technik für
einen Halbratentakt (half-rate clock) zeigen;
-
11A und 11B ein
Flip-Flop-Timing nach dem Stand der Technik zeigen;
-
12A und 12B ein
nachträgliches
Timing (later timing) nach dem Stand der Technik zeigen;
-
13 einen
Master/Slave-Flip-Flop nach dem Stand der Technik, der von zwei
Latches ausgebildet ist, zeigt;
-
14A, 14B und 14C einen Multiplexer und sein Timing nach dem
Stand der Technik zeigen;
-
15A, 15B und 15C einen Demultiplexer und sein Timing nach dem
Stand der Technik zeigen;
-
16A, 16B und 16C einen Halbraten-Zeitverlagerer (half-rate
retimer) und sein Timing nach dem Stand der Technik zeigen;
-
17A, 17B, 17C und 17D einen
Phasendetektor und sein Timing nach dem Stand der Technik zeigen;
-
18A und 18B einen
Referenzausgang und sein Timing nach dem Stand der Technik zeigen;
-
19A und 19B einen
Halbratenphasendetektor (half-rate Phase detector) und sein Timing
nach dem Stand der Technik zeigen;
-
20A, 20B, 20C und 20D einen
Halbratenphasendetektor (half-rate
Phase detector) und sein Timing nach dem Stand der Technik zeigen.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Vor
dem Beginn der ausführlichen
Beschreibung kann es nützlich
sein, die Auswirkungen von Taktphasen bezüglich der Aufgabe einer korrekten Datenzurückgewinnung
zu besprechen. Die folgende Diskussion wird mit Bezug auf 9A–20D, die den Hintergrund darstellen, durchgeführt.
-
9A, 9B und 9C sind
Timing-Diagramme für
einen Vollratenbetrieb (full-rate Operation), die Taktwellenformen 901A, 901B und 901C,
die als quadratische Welle idealisiert werden, und Daten 902A, 902B und 902C,
die mit instantan verändertem Zustand
an jedem Bitrand idealisiert werden, zeigen. Die einem Einzelbit
zugeteilte Zeitspanne wird als ein Einheitsintervall (UI, unit interval)
bezeichnet. Die optimale Zeit, die Daten abzutasten, wie durch 903A und 903A' in 9A gezeigt
wird, liegt in der Mitte des UI, das das Bit darstellt. Mit diesem
Ansatz wird das Design-Margin für
Timing-Fehler dasselbe für positive
Fehler wie auch negative Fehler sein. 9B zeigt
eine vorzeitige Abtastzeit (sample time) 903B und 903B' und 9C zeigt
eine verspätete Abtastzeit 903C und 903C'.
-
Die
Daten werden normalerweise mittels eines flankenangesteuerten (edge-triggered)
D-Typ Flip-Flops aufgenommen, der als ein Abtaster verstanden werden
kann, der die Daten zu der Zeit eines pösitiv gehenden Überganges
des Taktes (903A, 903B, 903C) abtastet.
Somit sollten die Takt- und Datenübergänge gegeneinander um 1/2 UI
versetzt sein.
-
In
wirklichen Systemen gibt es einige Totzeit, wenn die Daten in einem Übergang
sind (data is transitioning), und folglich noch nicht gültig sind.
Dieses verringert das Timing-Margin unter 1/2 UI, aber die Grundregel
bleibt dieselbe: die optimale Zeit, die Daten abzutasten, liegt
in der Mitte des Zeitintervalls, in dem die Daten gültig sind.
-
10A, 10B und 10C ähneln 9A, 9B und 9C,
mit der Ausnahme, dass sie den Halbratentaktbetrieb (half-rate clock Operation)
zeigen.
-
In
diesem Fall werden Daten 1002A, 1002B und 1002C an
jedem Taktübergang 1003A, 1003A', 1003B, 1003B', 1003C und 1003C', ob positiv
oder negativ, abgetastet. Selbstverständlich sind Taktübergänge des
Taktsignals 1001A, 1001B und 1001C um
1 UI auseinander.
-
Eine
Fluktuation (Jitter) bezeichnet eine Schwankung der Taktphase (die
Beziehung des Taktsignals zu dem Datensignal) von Bit zu Bit. Wenn
die Taktphase statistisch als eine Zufallsvariable betrachtet wird,
dann ist Fluktuation ein Maß (ähnlich einer
Streuung [variance]) des „Zufallscharakters" der Variable. Während die
Taktphase im Durchschnitt korrekt sein kann, kann sie für jedes
bestimmte Bit deutlich schwanken. Wenn ein fluktuierendes Datensignal,
statt in der Mitte eines Bits, in konstanten Abständen abgetastet
wird, wird es einige Zeit vorzeitig und einige Zeit verspätet werden.
Diese Timing-Fehler machen, aufgrund von Rauschen und anderer Beeinträchtigungen,
das System anfälliger
bezüglich Bit-Fehler.
-
Eine
andere Art, die Fluktuation zu interpretieren, ist, die Taktphase
als ein Signal zu betrachten. Dann stellt die Fluktuation ein Rauschen
dar, das diesem Phasensignal hinzugefügt wird. Fluktuation hängt eng
mit einem „Phasenrauschen" („Phase
noise") zusammen,
das ein Maß einer
störenden
(spurious) Phasen-Modulation einer Sinus-Welle ist.
-
Hauptsächlich gibt
es zwei Quellen der Fluktuation. Ein direkter Fluktuationsmechanismus
besteht darin, dass das Taktsignal selbst eine Fluktuation aufweist,
und die Vorrichtung, die die Daten erzeugt, diese Fluktuation übernimmt.
Dieser Fluktuationsmechanismus ist von den Charakteristiken der übertragenen
Daten unabhängig.
Ein zweiter Fluktuationsmechanismus wird „Daten-Muster-Fluktuation" („data Pattern
jitter") genannt.
In diesem Fall wird das Daten-Timing wegen Gruppenverzögerungs-Beeinträchtigungen
(group delay impairments) in der Vorrichtung beschädigt, wenn
die Daten über
eine Datenübertragungsvorrichtung
weiter geleitet werden, wobei diese Beeinträchtigungen sogar in einer Anwesenheit
eines perfekten Takts auftreten. Der Name dieses Fluktuationsmechanismus
ist von der Tatsache, dass die Charakteristiken der Fluktuation
von den Charakteristiken der übertragenen
Daten abhängen,
abgeleitet.
-
Es
ist wichtig, in Betracht zu ziehen, dass Phasendetektoren anstatt
als nicht zusammenhängende
Kollektionen von Gattern und anderen Elementen, vielmehr als hierarchisch
organisierte Kombinationen von Schaltkreisblöcken aufgebaut werden.
-
11A zeigt einen D Flip-Flop 1100 (in
folgenden Text einfach als „Flip-Flop" bezeichnet), und 11B zeigt sein Timing-Diagramm. Die grundlegende
Funktion von Flip-Flop 1100 ist, Daten 1101 an dem
D Eingang anzunehmen und die Daten aus dem Ausgang Q zu Ausgangs-Leiter 1102,
unter der Steuerung von Takt 1103, zu senden. An einem
positiven Taktübergang 1104 (11B), wenn der D Eingang niedrig (low) ist, geht
die Ausgabe 1105 auf niedrig (oder sie bleibt niedrig,
wenn sie bereits niedrig war). In ähnlicher Weise, wenn der D
Eingang hoch (high) an einem positiven Taktübergang ist 1106, 1107,
geht der Ausgang 1108 auf hoch (oder bleibt hoch, wenn er
bereits hoch war). Zu der Zeit einer negativen Taktflanke 1109 tut
der Flip-Flop nichts.
-
Ein
Flip-Flop kann als ein Daten-Zeitverlagerer (data retimer) angesehen
werden. Nehmen wir an, dass die nicht-zeitverlagerten Daten an dem
D Eingang zu dem Flip-Flop eine gemäßigte Menge an Fluktuation
aufweisen. Der Flip-Flop wird im Allgemeinen die Daten zu nichtoptimalen
Zeiten abtasten, er wird aber trotzdem zu dem korrekten Wert für jedes
Bits kommen. Er wird dann diese Bits an dem Ausgang reproduzieren,
allerdings wird das Timing von diesen mittels des Takts gesteuert,
nicht die Ankunftszeit an dem Eingang. Somit wird ein perfekter Flip-Flop,
mit einem perfekten Takt, die Daten zeitlich verlagern, so dass
die ganze Fluktuation entfernt wird.
-
Leider
wird der Ausgang diese Fluktuation übernehmen, wenn der Takt eine
Fluktuation aufweist. Auch wenn der Flip-Flop eine frequenzabhängige Amplitude
oder eine Gruppenverzögerung
hat, wird der Ausgang eine Musterfluktuation (pattern jitter) aufweisen.
Folglich kann, in Betrieb, ein Flip-Flop entweder die Fluktuation erhöhen oder
verringern.
-
Zwecks
der Diskussion hierin werden die Eingangsdaten zu einem Flip-Flop als „nicht-zeitverlagerte
Daten" und die Ausgangsdaten
von einem Flip-Flop als „zeitverlagerte
Daten" bezeichnet.
-
12A zeigt ein D Latch 1200 (in folgendem
Text einfach als ein "Latch" bezeichnet), und 12B zeigt sein Timing-Diagramm. Latches sind im
Allgemeinen wichtig, da diese Aufbaublöcke für Flip-Flops sind, und sind
im Speziellen wichtig, da sie explizit in dem oben erwähnten Artikel
von Savoj et al. benutzt werden. Wie beim Flip-Flop ist die grundlegende
Funktion des Flip-Flops, Daten 1201 an dem D Eingang einzunehmen
und die Daten aus dem Ausgang Q 1202 zu senden. Allerdings
wird das Latch mittels eines Latcheingangs 1203, statt
mittels eines Takteingangs gesteuert, und sein Verhalten ist leicht
unterschiedlich zu dem Verhalten eines Flip-Flops. Es weist zwei
Modi auf, die von dem Zustand der Latcheingabe abhängig sind.
Wenn der Latcheingang niedrig ist 1204, ist das Latch in
einem Track-Modus. Der Track-Modus ist ein direkter Transfermodus,
in dem der Ausgang sofort auf den Eingang reagiert. Wenn der Latcheingang
auf hoch geht, geht das Latch zum Latch-Modus (latch mode) über. Im
Latch-Modus wird der Ausgang, unabhängig vom Zustand, in dem er
den Track-Modus verlassen hat, eingesperrt (latched). Im Endeffekt
wird der Latcheingang von Hoch zu Tief übergehen 1206 und
der Latch zurück
in den Track-Modus kommen. Im Moment dieses Überganges wird der Ausgangszustand (wenn
notwendig) sofort geändert,
um dem gegenwärtigen
Eingangszustand zu gleichen, und wird danach jedem Wechsel des Eingabezustandes
folgen.
-
13 zeigt,
wie ein Flip-Flop 1300 mit zwei Latches 1200 und 1200' aufgebaut werden
kann. Wenn er auf diese Art aufgebaut wird, wird er als ein Master-Slave-Flip-Flop
bezeichnet. Das Master-Latch 1200 wird mit einem Takteingang 1302 betrieben,
und das Slave-Latch 1200' wird
mit dem Komplement (über
einen Inverter 1301) des Takteingangs betrieben. Folglich,
wenn der Takt niedrig ist, wird das Master-Latch im Track-Modus
und das Slave-Latch
im Latch-Modus sein. Wenn der Takt auf hoch geht, wird das Master-Latch
im Latch-Modus und das Slave-Latch im Track-Modus sein. Der Betrieb
ist wie folgt: das Master-Latch sperrt („latches") die nicht-zeitverlagerten Daten 1303 an
den positiven Taktübergängen und
führt sie
dem Slave-Latch zu. Das Slave-Latch,
zur Zeit in dem Track-Modus, übermittelt
die Daten durch zu dem Ausgang. Auf der folgenden negativen Taktflanke
sperrt das Slave-Latch die Daten an dem Ausgang, um diese zu halten. Währenddessen
fängt das
Master-Latch an,
den aktuellen Zustand der nicht-zeitverlagerten Daten zu verfolgen.
-
Da
jedes Bit 2 Betriebe des Master-Slave-Flip-Flops verlangt, muss
jeder Betrieb in weniger als 1/2 einer Taktperiode stattfinden.
Wenn ein Voilratentakt (full-rate clock) benutzt wird, gleicht 1/2
einer Taktperiode 1/2 UI. Dieses verlangt, dass die benutzten Latches
auf zweifachen der Datenrate arbeiten können. Wenn ein Halbratentakt
(half-rate clock) benutzt wird, gleicht 1/2 einer Taktperiode 1
UI. Dieses erfordert lediglich, dass die benutzten Latches auf der
Datenrate arbeiten können.
-
Ein
1:2 Demultiplexer (für
die Zwecke dieser Diskussion) ist eine Vorrichtung, die ein nicht-zeitverlagertes
Datensignal in zwei zeitverlagerte Ausgangsdatensignale aufspaltet,
wobei die Ausgabe-Datenrate eine Hälfte der Eingabe-Datenrate
ist. Seine Grundfunktion ist, Daten zu verlangsamen, damit sie mit
einer niedrigeren Rate mit einer langsameren Hardware verarbeitet
werden können.
-
14A und 14B zeigen,
wie ein Demultiplexer 1400 (14C)
aus zwei Flip-Flops 1300 und 1300' aufgebaut werden kann. Ein Halbratentakt (half-rate
clock) 1401 wird für
den einen Flip-Flop (als „gerader" bezeichnet) benutzt,
und das Komplement dieses Halbratentaktes 1401' wird für den anderen Flip-Flop
(als „ungerader" bezeichnet) benutzt.
Der Flip-Flop 1300 tastet nicht-zeitverlagerte Daten 1402 auf
positiv gehenden Taktflanken ab, wohingegen der Flip-Flop 1300' nicht-zeitverlagerte
Daten auf negativ gehenden Taktflanken abtastet. Die abgetasteten Daten
sind bei einer Hälfte
der Rate der nicht-zeitverlagerten
Daten. Die zeitverlagerten Daten werden alternativ zu „geradem" Ausgang 1403 und
danach zu „ungeradem" Ausgang 1404 übertragen.
Somit gehen gerade nummerierte Bits zu dem geraden Ausgang und ungerade
nummerierte Bits zu dem ungeraden Ausgang.
-
Ein
2:1 Multiplexer vollführt
die umgekehrte Operation, indem er zwei Halbratendateneingänge in einen
Vollratendateneingang kombiniert. 15A und 15B zeigen, dass ein 2:1 Multiplexer 1500 (15C) einfach ein Datenselektor-Schalter ist, der mit
einem Halbratentakt angetrieben ist. Wenn ein Halbratentakt 1501 hoch
ist, wird ein Eingang zu einem Ausgang 1701 durchgeschaltet;
wenn der Takt niedrig ist, wird der andere Eingang zu dem Ausgang 1701 durchgeschaltet.
Die komplementären
Taktsignale werden mittels eines Inverters 1703 erzeugt.
Der Datenschalter wird leicht mittels kombinatorischer Logik konstruiert.
Ein Multiplexer, von seiner Natur aus, verlagert zeitlich die Daten.
-
16A und 16B zeigen,
dass es auch möglich
ist, einen 1:2 Demultiplexer 1400 mit einem 2:1 Multiplexer 1500 zu
kombinieren, um einen Halbraten-Zeitverlagerer (half-rate retimer) 1600 zu
bilden, dessen Symbol in 16C gezeigt
wird. Die Multiplexing-Funktion macht die Demultipiexing-Funktion rückgängig; das
Resultat ist, dass der Schaltkreis lediglich die Daten zeitlich
verlagert. Somit ist Dateneingang (data in) 1601 als Datenausgang
(data out) 1603 zeitverlagert, wie in 16B gezeigt wird. Es wird, bezüglich der Datenzeitverlagerung,
im Wesentlichen die gleiche Funktion wie bei einem Flip-Flop durchgeführt; der
Hauptunterschied ist, dass er von einem Halbratentakt 1602 betrieben wird,
und der interne Betrieb des Zeitverlagerers auf einer Hälfte der
Rate des Flip-Flops. Somit kann der Betrieb möglicherweise mit einer höheren Geschwindigkeit
laufen. Ein Halbraten-Zeitverlagerer wird manchmal als ein Doppel-Flanke
ausgelöster Flip-Flop
(double-edge triggered Flip-Flop) bezeichnet, da er auf die beiden
positiven und negativen Taktflanken reagiert.
-
Ein
Schaltkreis 1700, der in der 17A gezeigt
ist, verlagert zeitlich die nicht-zeitverlagerten Daten mit einem
herkömmlichen
Flip-Flop 1200 (12), der
mit einer vollen Rate mittels eines Takts 1702 getaktet
wird. Ein Exklusiv-ODER-Gatter 1705 vergleicht zeitverlagerte
Daten 1703 mit nicht-zeitverlagerten
Daten 1701. Ein Ausgang 1704 des Gatters besteht
aus Pulsen mit einer Dauer, die zu der Phase des Taktes 1702 proportional
ist. Ein Puls wird nur dann erzeugt, wenn es einen Datenübergang gibt,
von dem Phaseninformation erfasst werden kann. Wie durch die Pulse,
die in der 17B als 1706 bezeichnet
sind, gezeigt, sind für
eine nominale Taktphase die Pulse 1/2 UI lang. Wie durch die Pulse, die
in der 17C als 1707 bezeichnet
sind, gezeigt, verengen die Pulse, wenn der Takt zu früh ist. Wie durch
die Pulse, die in der 17D als 1708 bezeichnet
sind, gezeigt, weiten die Pulse auf, wenn der Takt zu spät ist. Die
Pulse können
mittels eines Tiefpassfilters geglättet werden, um eine Spannung
zu erzeugen, die der Phase proportional ist.
-
Der
Schaltkreis 1700 hat mindestens vier ernsthafte Beschränkungen.
(1). Der Flip-Flop muss mit der vollen Taktrate arbeiten. (2). Die
effektive Datenrate des Phasenausgangs ist das Zweifache der Datenrate
von nicht-zeitverlagerten
Daten. Dieses begrenzt sofort die maximale Taktrate auf eine Hälfte der
maximalen Umschaltrate-Fähigkeit
der zugrundeliegenden Logik-Technologie.
(3). Wenn die Phase erheblich von einem Nominal in jeder der Richtungen abweicht,
wird der Phasenausgang Pulse einer extrem schmalen Breite herausgeben.
Diese Beschränkung
begrenzt entweder den maximalen verwendbaren Phasenbereich oder
begrenzt weiter die maximale Taktrate auf sogar weniger als eine
Hälfte
der maximalen Logik-Schaltrate. (4). Der Schaltkreis vergleicht
nicht das Timing der nicht-zeitverlagerten Daten direkt gegen dem
Takt. Stattdessen wird das nicht-zeitverlagerte Daten-Timing gegen
das zeitverlagerte Daten-Timing auf dem Flip-Flop-Ausgang verglichen.
Die zeitverlagerten Daten dienen als ein Proxy für das Takt-Timing. Folglich
vermindert jede Fluktuation, jeder Propagationsverzögerungsdrift oder
andere Ungenauigkeit, die dem Flip-Flop inhärent ist, die Ausgangsgenauigkeit.
Eine bedeutende, aber häufig übersehene
Fehlerquelle in Flip-Flops, die nahe ihrer Höchstrate arbeiten, ist eine
Abhängigkeit
der Propagationsverzögerung
von der Set-Up-Zeit auf dem Dateneingang.
-
Da
Phasenpulse nur an Datenübergängen erzeugt
werden, hängt
der Durchschnittswert der Phasenausgabe von der durchschnittlichen
Dichte der Datenübergänge ab.
Somit verschiebt sich die Bezugsspannung, die einen Null-Phasenfehler darstellt,
entsprechend der Übergangsdichte.
Um diesem Problem entgegenzuwirken, addiert der in der 18A gezeigte Schaltkreis 1800, einen
zusätzlichen „Bezugs" ausgang 1805,
der eine Verschiebung der Bezugsspannung erzeugt, die die gleiche
Abhängigkeit
von Datenübergangsdichte
hat, aber unabhängig
von der Phase ist. Der Bezugsausgang besteht aus Pulsen mit einer
fixierten Dauer von 1/2 UI, die nach jedem Datenübergang erzeugt werden. Der Bezugsausgang
wird von dem Phasenausgang subtrahiert, mit dem Ergebnis eines korrigierten
Ausgangs, der immer Null ist (im Durchschnitt), wenn der Phasenfehler
null ist. Der Bezugsausgang, wie auch der Phasenausgang, muss mit
einer zweifachen Rate der nicht-zeitverlagerten Daten arbeiten,
was wieder die maximale Taktrate begrenzt. Auch die zwei Flip-Flops 1810, 1811 sind
von gegenseitigen Phasen des Taktes betrieben, was nur eine Hälfte der üblichen
Zeit der Propagationsverzögerung
des ersten Flip-Flop 1810 und der Set-Up/Haltezeit des zweiten
Flip-Flops 1811 erlaubt. 18B zeigt
das Timing für
einen Schaltkreis 1800 in Bezug auf Dateneingang 1801,
Taktsignaleingang 1802, Q1 1803, Q2 1804 und
einen Bezugsausgang 1805. Der Ausgang der Flip-Flops 1810, 1811 wird
an ein Exklusiv-ODER-Gatter 1806 geliefert.
-
Ein
Phasendetektor 1900, der in der 19A gezeigt
ist, ersetzt den Vollraten-Flip-Flop mit einem Halbraten-Zeitverlagerer 1600.
Der Betrieb des Exklusiv-ODER-Gatters 1906, um Pulse 1903 zu erzeugen,
die eine Dauer haben, die einer Phase proportional ist, ist zu dem
identisch, der in Bezug auf den Schaltkreis 1700 beschrieben
wurde. Der Hauptvorteil des Schaltkreises 1900 gegenüber dem Schaltkreis 1700 besteht
darin, dass die Zeitverlagerungsfunktion jetzt mit einer Halbrate
durchgeführt wird,
womit die oben genannte Beschränkung
(1) adressiert wird. Die Beschränkungen
(2) bis (4) bleiben. 19B zeigt das Timing des Schaltkreises 1900 in
Bezug auf Daten 1901, Takt 1902, Datenausgang 1903 und
Phasenausgang 1904.
-
20A zeigt den Phasendetektor, der in dem oben
identifizierten Literaturhinweis Savoj et al. beschrieben wird,
und 20B zeigt sein Timing-Diagram für eine optimale
Taktphase in Bezug auf einen Takt 2001, Dateneingabe 2002,
Y1 2003, X2 2005, eine Phasenausgabe 2007,
Y1 2004, Y2 2006 und eine Bezugsausgabe 2008.
Der Schaltkreis wird vom Halbratentakt 2001 betrieben.
Er verwendet vier Latches 2010–2012, die mit Hilfe
der oben beschriebenen Architektur in einem 1:2 Demultiplexer organisiert
sind. Die Multiplexerausgänge
liefern die zurückgewonnen
Daten, die auch das Exklusiv-ODER-Gatter 2015 antreiben,
um Bezugsausgangspulse 2008 zu erzeugen. Es soll bemerkt
werden, dass diese Bezugspulse, im Gegensatz zu Schaltkreis 1800,
in dem sie von einer 1/2 UI Dauer sind, bei einer 1 UI Dauer liegen.
Zusätzlich
werden die zwei Master-Latchausgaben separat zu einem anderen Exklusiv-ODER-Gatter 2014 gebracht,
das die Phasenausgangspulse 2007 erzeugt.
-
Obwohl
die Latches auf einer Halbrate getaktet werden, zeigt 20B, dass die Ausgabe der Latches 2007 Pulse
mit einer Dauer von 1/2 UI aufweist. Diese Pulse müssen dann über ein
Exklusiv-ODER-Gatter 2015 propagieren.
-
Wenn
die Taktphase, wie in der 20C gezeigt,
früh ist,
wird die Pulsdauer auf weniger als 1/2 UI verringert. Für große negative
Phasenfehler wird die Ausgangspulsdauer, wie im Diagramm 2007, 20C gezeigt, unpraktisch (impractically) klein und
die Ausgangspulse werden nicht mehr exakt erzeugt, was in einem
Messfehler des Phasendetektors resultiert.
-
Wenn
die Taktphase, wie in 20D gezeigt,
zu spät
ist, erhöht
sich die Pulsdauer auf mehr als 1/2 UI. Wenn es nachfolgende Ausgangspulse gibt,
wird der Abstand zwischen diesen auf weniger als 1/2 UI verringert,
wie im Diagramm 2007, 20D gezeigt.
Dieses ergibt schmale negativ gehende Pulse. Für große negative Phasenfehler wird die
Pulsdauer unpraktisch klein, und die Ausgabepulse werden nicht mehr
exakt erzeugt, was wieder in einem Messfehler des Phasendetektors
resultiert. Zusätzlich
treten, im Falle des späten
Timings (late timing case), schmale Pulse an Knoten (nodes) X1 und
X2 (Diagramme 2003, 2004, 20D)
auf. Diese schmalen Pulse müssen über ein
Exklusiv-ODER-Gatter propagieren. Extrem schmale Pulse, nachdem
sie durch ein Gatter propagiert sind, neigen zum Wechsel ihrer Dauer.
Dieser Wechsel der Dauer ist eine andere Ungenauigkeitsquelle.
-
Die
Bezugsausgabe arbeitet auf eine etwas andere Weise als der Phasendetektor.
Die geraden/geradzahligen demultiplexten Daten werden mit den ungeraden/ungeradzahligen
demultiplexten Daten mittels eines zweiten Exklusiv-ODER-Gatters verglichen.
Das Gatter erzeugt nach jedem Datenübergang einen 1 UI Puls. Wenn
diese Pulse gemittelt werden, erzeugen sie exakt ein Zweifaches
der Spannung als die Bezugspulse von Schaltkreis 1800. Somit
wird im Gebrauch diese Spannung um einen Faktor von 2 abgeschwächt, bevor
diese von der Phasenausgabe subtrahiert wird. Wegen der verdoppelten
Pulsdauer erreicht die Bezugsausgabe sogar den vollen Gewinn des
Halbratentaktens.
-
Die
erfinderischen Konzepte werden jetzt in Bezug auf zwei Ausführungsbeispiele,
nämlich
ein Hochleistung Ausführungsbeispiel
und ein alternierendes Ausführungsbeispiel
mit einer niedrigeren Leistungsfähigkeit
beschrieben.
-
1 stellt
die Schematik eines ersten Ausführungsbeispiels 10 dar.
Wie bei dem Phasendetektor 2000 (20A)
erfolgt die Datenzurückgewinnung
zum Beispiel mittels eines herkömmlichen Halbraten-1:2
Demultiplexers, der aus zwei Flip-Flops 111, 112 (FF1
und FF2) besteht, die auf gegenüberliegenden
Taktflanken von Taktsignal 100 getaktet werden. Jedoch
werden in diesem Fall die Master-Latchausgaben nicht separat ausgebrochen („broken
out"). Stattdessen
werden zeitverlagerte Daten 102 mit verzögerten Versionen
von nicht-zeitverlagerten Daten 113 und verzögerten Versionen
eines Taktsignals 105 kombiniert, was in diesem Ausführungsbeispiel
mittels einer Bank von vier UND-Gattern mit drei Eingängen 115, 116, 117, 118 (U1
bis U4) erreicht wird. Die Ausgänge
der Gatter werden zusammen mittels eines linearen passiven Kombinierers 121,
um den Phasenausgang 110 zu formen, summiert. Es soll bemerkt
werden, dass in der Zeichnung eine „Blase" an dem Eingang der UND-Gatter eine
Inversion bezeichnet. Auch soll bemerkt werden, dass alle Gatter
auf einer Halbrate oder weniger arbeiten.
-
2 zeigt
die Hinzufügung
von einem XOR-Gatter 1806, um eine Bezugsausgabe, wie in Bezug
auf 18A beschrieben, zu erzeugen.
Dieses Gatter (oder ein anderer Schaltkreis) können zu dem Schaltkreis von 1 in
geeigneter Weise hinzugefügt
werden, um ein komplettes Arbeitssystem zu bilden, da beide Designs
auf einem 1:2 Demultipiexer basieren.
-
Es
sind einige Definitionen notwendig, bevor der Betrieb des Schaltkreises 10 beschrieben
wird. Datenbits, die während
einer positiven Taktflanke gültig
sind, werden als „gerade” Bits definiert.
Datenbits, die während
einer negativen Taktflanke gültig sind,
werden als „ungerade" Bits definiert.
Datenübergänge, die
mit einem geraden Bit beginnen und mit einem ungeraden Bit enden,
werden als „gerade Übergänge" definiert. Datenübergänge, die
mit einem ungeraden Bit beginnen und mit einem geraden Bit enden,
werden als „ungerade Übergänge" definiert. Datenübergänge, die
mit einem 0 Bit beginnen und mit einem 1 Bit enden, werden als „positive Übergänge" definiert. Datenübergänge, die
mit einem 1 Bit beginnen und mit einem 0 Bit enden, werden als „negative Übergänge" definiert.
-
3A zeigt
das Timing-Diagramm (optimale Taktsignalphase) für den Schaltkreis 10 (ohne
einen optionalen Tiefpassfilter 120). Ähnlich zeigen 3B und 3C das
Timing für
eine verspätete beziehungsweise
für eine
zu frühe
Phase. Um die Beschreibung zu vereinfachen, wird die τ Verzögerung durch
den Flip-Flop als gleich Null angenommen. Der Effekt von einer nicht-Null τ Verzögerung wird
im Folgenden besprochen. Wie in 1 gezeigt, verarbeitet
FF1 111 gerade Datensignale, und FF1 112 verarbeitet
ungerade Datensignale. Die zeitverlagerten Daten (oder ein Komplement
dieser) wird mit den nicht-zeitverlagerten
Daten (oder mit einem Komplement dieser) und dem Taktsignal (oder
einem Komplement dieses) in verschiedenen Kombinationen mittels
UND-Gatter 115–118 (U1-U4)
kombiniert.
-
In
dem Ausführungsbeispiel
von 1 erzeugt das Gatter U1 einen Puls bei jedem geraden, negativen Übergang.
Das Gatter U2 erzeugt einen Puls bei jedem geraden, positiven Übergang.
Das Gatter U3 erzeugt einen Puls bei jedem ungeraden, negativen Übergang
und das Gatter U4 erzeugt einen Puls an jedem ungeraden, positiven Übergang. Die
Dauer der Pulse von den Gattern U1–U4 ist zu der Phase proportional.
Die Pulse werden optional mittels des Filters 120 Tiefpass-gefiltert,
dann mittels des linearen Kombinierer 121 summiert, mit
einem Ergebnis eines Phasenausgangs, der aus einem Puls, der zu
der Phase bei jedem Datenübergang proportional
ist, besteht. Das Phasensignal 110 in 3A, 3B,
und 3C gilt für
den Fall ohne den Tiefpassfilter 120. Der Effekt eines
Tiefpassfilters wird im Folgenden besprochen. Dieses Ausgangskombinieren
wird ausführlicher
unten erklärt.
Dieser Ausgang ist funktionell derselbe wie die Ausgänge, die
oben in Bezug auf den Stand der Technik besprochen wurden, und somit
ist der Schaltkreis 10 ein direkter Ersatz.
-
Die
Theorie eines Betriebes wird am besten erklärt, indem zuerst ein Betrieb
mit einer Sequenz von alternierenden 0 und 1 (das heißt 01010...)
beschrieben wird, und danach beschrieben wir, was für andere
Sequenzen passiert. Mit einem 0101... Muster wird der eine Flip-Flop 111 oder 112 immer
eine 0 und der andere Flip-Flop wird immer eine 1 abtasten. Nehmen
wir also an, dass das Timing so ist, dass FF1 immer 0 ist und FF2
immer 1 ist. In diesem Fall werden die Gatter U1 und U4 gesperrt,
und die Gatter U2 und U3 werden effektiv auf Gatter mit zwei Eingängen reduziert,
die mittels des Taktsignals 100 (oder seines Komplements)
und dem nicht-zeitverlagerten Datensignal 104 (oder seines
Komplement) betrieben werden. Das Gatter U2 gibt Pulse aus, die bei
einem positiven Datenübergang
beginnen und an einem negativen Taktübergang enden. Ähnlich gibt das
Gatter U3 Pulse aus, die an einem negativem Datenübergang
beginnen und an einem positiven Taktübergang enden. Die Pulse U2
und U3 alternieren in der Zeit und werden mit einem Kombinierer 121 summiert.
Die Pulsdauer hängt
von dem Zeitintervall zwischen Daten und Takt ab, was proportional zu
der Phase ist.
-
Mit
anderen Sequenzen gibt es immer mindestens zweimal eine 0 vor einer
1 und zweimal eine 1 vor einer 0. Es wird angenommen, dass zwei
oder mehrere nachfolgende 0 von dem Phasendetektor 10 empfangen
worden sind. Dann sind FF1 und FF2 niedrig. In diesem Fall sind
die Gatter U1 und U3 deaktiviert, und die Gatter U2 und U4 werden
effektiv auf Gatter mit zwei Eingängen reduziert. Diese Gatter werden
alternierend aktiviert, zu jeder Zeit ein Gatter, mittels des Takts
und seines Komplements, die die Gatter U2 beziehungsweise U4 treiben.
Es wird angenommen, dass der Takt niedrig ist, und folglich ist das
Gatter U4 aktiviert. Wenn ein 0 zu 1 Datenübergang auftritt, geht das
Gatter U4 auf hoch und fängt an,
einen Ausgangpuls auszugeben. Wenn der Takt auf hoch geht, geht
das Gatter U4 auf niedrig und beendet den Ausgangpuls. Zusätzlich wird
FF1 auf hoch gehen, was das Gatter U2 deaktiviert und vermeidet,
dass dieses einen zusätzlichen
Ausgangpuls auslöst.
-
Im
Gebrauch sind die Muster Gemische von 0101... Sequenzen und andere
Sequenzen. 3A zeigt, dass der Schaltkreis
in der Lage ist, zwischen diesen Sequenzen richtig überzugehen.
-
Wegen
der folgenden mathematischen Eigenschaften kann kein Gatter während zweier
aufeinanderfolgender UIs aktiv sein: (1) positive und negative Übergänge alternieren
immer (obwohl es dazwischen UIs ohne Übergänge geben kann); (2) Übergänge, die
in aufeinanderfolgenden UIs auftreten, können nicht beide gerade oder
beide ungerade sein. Folglich funktioniert jedes einzelne Gatter
auf einer Halbrate (oder weniger) und hat immer mindestens 1 UI
von Totzeit zwischen Pulsen. Idealerweise könnten die Ausgänge der
Gatter U1–U4
einfach mittels eines ODER-Gatters mit vier Eingängen kombiniert werden (anstelle
von dem eigentlich benutzten linearen Kombinierer), um die Phasenausgangswellenformen
der 3A–3C zu
erzeugen, da (idealerweise) zu einer Zeit jeweils nur ein Gatter
aktiv ist.
-
Wenn
sich die Phase verspätet
1/2 UI annähert,
nähern
sich die Pulse an den Ausgängen
der Gatter U1–U4
einer Dauer von UI 1 an. In diesem Fall gibt es sehr wenig Zeit
zwischen dem Ende von einem und dem Beginn des nächsten, wenn es aufeinanderfolgende
Datenübergänge gibt.
In dem idealisierten Fall, der in der 3B gezeigt
wird, würde der
Phasenausgang schmale negativ gehende Pulse aufweisen, die die Zeit
zwischen Ausgangpulsen darstellen. Im Gebrauch, für ein System,
das nahe der Fähigkeit
der Logik-Hardware funktioniert, würde dieser Puls vermutlich
zu schmal sein, um zu reproduzieren, mit einem Ergebnis, dass der
Phasenausgang während
eines übermäßigen Zeitabschnitts hoch
bleibt. Wie vorher beschrieben, ist dies ein bedeutendes Problem
für Phasendetektoren
nach dem Stand der Technik. Jedoch überwinden die Konzepte, die
hierin gelehrt werden, diese Beschränkung, indem sie vorteilhaft
die Tatsache nutzen, dass der Phasendetektorausgang über viele
Pulse gemittelt wird, bevor er verwendet wird. Wegen dieser Mittelwertbildung,
die als eine Integration betrachtet werden kann, ist die einzige
Genauigkeitsanforderung an den Phasendetektor die, dass der Flächeninhalt
unter den Pulsen richtig die Phase indiziert. Wenn diese Bedingung
erfüllt
wird, wird es nicht notwendig, dass der Phasendetektor die theoretisch
korrekte Puls-Form
genau reproduziert.
-
Um
spezifischer zu sein, müssen
der Flächeninhalt
unter der Kurve von Phasenausgangspannung 110 (1)
und die Summe der Flächeninhalte
unter den Kurven der einzelnen Gatter-Ausgänge 106, 107, 108 und 109 gleich
sein. Der lineare Kombinierer 121 wird immer, wegen der
mathematischen Eigenschaft, dass das Integral einer Summe gleich
der Summe der Integrale der einzelnen Komponenten ist, diese Anforderung
erfühlen.
Wenn der Kombinierer 121 passiv ist, wird es praktisch
durch das Design garantiert, dass er linear ist. Entsprechend entworfene
aktive Kombinierer können
auch linear sein. Die Bandbreite des Kombinieres würde vom
Gebrauch des Systems abhängig
sein und würde
gewöhnlich
zwischen 0–640
MHz sein, wenn das System an einem Datenmaßstab (data rule) von 40 G bite/sec
mit einer Durchlaufslänge
von 32 Bits funktioniert.
-
4 illustriert,
was geschieht, wenn die Gatter-Ausgänge 106, 107, 108 und 109 Aufstiegs- und
Abfallszeiten haben, die nicht Null sind. Die Pulse laufen an dem
Phasenausgang 110 zusammen. Jedoch wird aus den Gründen, die
oben gegeben wurden, der Flächeninhalt
korrekt sein. Dieses würde nicht
der Fall sein, wenn der lineare Kombinierer 121 durch ein
ODER-Gatter mit vier Eingängen
ersetzt würde,
da ein ODER-Gatter eine nicht lineare Vorrichtung ist. Eine Implementierung
eines ODER-Gatters würde über einen
verringerten Phasenbereich und/oder mit einer verringerten Genauigkeit
arbeiten.
-
In
einigen Fällen
kann es wegen einer nicht-adäquaten
Isolierung zwischen den Eingängen des
linearen Kombinieres 121 ein Problem mit einem Übersprechen
(crosstalk) zwischen den Gatter-Ausgängen 106, 107, 108,
und 109 geben. Die optionalen Tiefpassfilter 120, 1,
können
benutzt werden, um hochschnelle Übergangspulse
zu vermeiden, die aus einem Gatter vom Stören des Betriebes der anderen
Gatter herauskommen. Diese Filter können die Tiefpassfilter, die
stromabwärts
von dem Phasenausgang benutzt werden, entweder ersetzen oder ergänzen. Der
zur Zeit betrachtete Bereich für
die Filter ist 0–640
MHz.
-
Die τ Verzögerung 113, 114 hat
zwei Zwecke. Erstens, indem diese gleich der Propagationsverzögerung des
Flip-Flops gewählt
wird, hat sie den Effekt, die Verzögerung zu annullieren. Es wird
bemerkt, dass der ganze Datenfluss in dem Phasendetektor, ohne eine
Rückkopplung,
von Eingang zu Ausgang über
eine Bezugsebene 130 fließt, wie in 1 gezeigt.
Folglich hat, wenn die Verzögerung 114 in
dem Takt eingeführt
wird und die Verzögerung 113 in
den nicht-zeitverlagerten Datenpfad eingeführt wird, diese Verzögerung den
gleichen Effekt, als ob eine hypothetische negative Verzögerung an
den Flip-Flop-Ausgängen eingesetzt
würde.
Diese negative Verzögerung
könnte
verwendet werden, um die Propagationsverzögerung von den Flip-Flops effektiv zu
annullieren. Zweitens, mittels Hinzufügens einer zusätzlichen
Verzögerung
von 1/2 UI über
die Flip-Flop-Verzögerung
hinaus, wird das Timing-Margin erhöht.
-
5A illustriert
diese Situation für
das Gatter U1 115, das ein Repräsentant der anderen drei Phasenausgangsgatter
mit nominaler Taktphase ist. Der Ausgang 106 und die drei
Eingänge
(102, 104, 105) dieses Gatters sind gezeigt.
Für illustrative
Zwecke wird das Komplement 104' der verzögerten nicht-zeitverlagerten Daten 104 angezeigt,
um die Inversionsblase an dem Eingang zu U1 115 in Betracht zu
ziehen. Der verzögerte
Takt 105 wird auch gezeigt. 5A nimmt
an, dass τ genau
um 1/2 UI länger
als die Propagationsverzögerung
von Flip-Flop 101 ist. Der Ausgang 106 (U1) des
UND-Gatters geht auf hoch, wenn und nur wenn alle drei Eingänge (102, 104' und 105)
hoch sind.
-
Für den Fall
der nominalen Phase von 5A wird
das minimale Flip-Flop-Timing-Margin
in Bezug auf die vordere Flanke eines Ausgangpulses 1 UI sein. Zum
Beispiel beginnt ein Puls 505 bei t = 5.5 und endet bei
t = 6.0. Für
den Ausgang von FF1 102 ist es notwendig, während des
Pulses 505 hoch zu sein. Es kann gesehen werden, dass FF1 102 bei t
= 4.5 503 auf hoch geht, was um 1 UI früher als notwendig ist. FF1 102 bleibt
dann hoch für
viele UIs nach dem Ende des Pulses bei t = 5.5. Ähnlich wird das minimale Flip-Flop-Timing-Margin
in Bezug auf die Hinterflanke eines Ausgangpulses 1/2 UI sein. Zum
Beispiel beginnt ein Puls 507 bei t = 9.5 und endet bei
t = 10. Für
den Ausgang von FF1 102 ist es notwendig, während des
Pulses 507 hoch zu sein. Es kann gesehen werden, dass FF1 102 bis
t = 10.5, was um 1/2 UI später
als notwendig ist, hoch bleibt 504. FF1 102 war
auch für
viele UI vor dem Anfang des Pulses bei t = 9.5 hoch gewesen.
-
5B zeigt,
wie die Wellenformen geändert
werden, wenn die Taktphase .4 UI zu spät ist. Die Ausgangspulse (505', 506' und 507') sind jetzt
.9 UI lang. Das minimale Flip-Flop Timing-Margin in Bezug auf die
vordere Flanke eines Ausgangpulses ist auf .6 UI verringert worden.
Zum Beispiel beginnt ein Puls 505' bei t = 5.5 und endet bei t =
6.4. Der Ausgang 102 von FF1 111 geht bei t =
4.9 auf hoch 503',
was um .6 UI früher
als notwendig ist. Der Ausgang 102 von FF1 111 bleibt
dann für
viele UI nach dem Ende des Pulses bei t = 6.4 hoch. Ähnlich ist
das minimale Flip-Flop-Timing-Margin in Bezug auf die Hinterflanke
eines Ausgangpulses gleich 1/2 UI. Zum Beispiel beginnt ein Puls 507' bei t = 9.5
und endet bei t = 10.4. Während
des Pulses 507' wird
es notwendig für den
Ausgang 102 von FF1 111 sein, auf hoch zu sein. Es
kann gesehen werden, dass der Ausgang 102 von FF1 111 bis
t = 10.9 hoch bleibt, was 1/2 UI später als notwendig ist. Der
Ausgang 102 von FF1 111 war auch für viele
UI vor dem Beginn des Pulses bei t = 9.5 hoch gewesen.
-
Da
die Genauigkeit des Phasendetektors unabhängig von der Propagationsverzögerung des Flip-Flops
ist, wird diese auch von einer Musterfluktuation, die durch die
Flip-Flops verursacht wird, unabhängig sein. Dies ist eine wichtige
Betrachtung, wenn die Anwendung eine Fluktuationsmessung ist.
-
Wenn
der Phasendetektor mit mehrfachen Taktraten verwendet wird, wird
die Konvertierung von UI zu absoluten Sekunden auf der Grundlage
der verwendeten maximalen Datenrate gemacht. Es ist nicht notwendig,
bei Raten unterhalb des Maximums τ zu erhöhen. Der
Schaltkreis wird mindestens so gut mit niedrigeren Raten arbeiten,
wie er am Maximum arbeitet, wenn der Wert von τ basierend auf der maximalen
Rate gewählt
wird
-
6 zeigt
ein alternierendes Ausführungsbeispiel 60,
dessen Notwendigkeit aus der Tatsache resultiert, dass einige allgemein
verwendete Hochgeschwindigkeitslogiktechnologien, wie zum Beispiel differentielle
Current-Mode-Logik
(CML), nicht für 3-Eingangs-Gatter
zugänglich
sind. In Technologien wie dieser ist es erforderlich, eine 3-Eingangsfunktion
als eine Kaskade von zwei 2-Eingangsfunktionen zu implementieren.
Eine direkte Implementierung dieses Konzeptes würde jedes 3-Eingangs-Gatter
in eine Kaskade von zwei 2-Eingangs-Gattern konvertieren, und damit insgesamt
in acht 2-Eingangs-Gatter resultieren, die die ursprünglichen
vier 3-Eingangs-Gatter ersetzen. Allerdings zeigt 6 eine effizientere
Implementierung unter Verwendung von gerade zwei UND-Gattern mit
jeweils zwei Eingängen 617 und 618 (U3
und U4) und von zwei Exklusiv-ODER-Gattern 615 und 616 (U1
und U2). Der Schaltkreis 60 ist mit dem Schaltkreis 10 (1)
logisch äquivalent.
In diesem Fall gibt es nur zwei Ausgangs-Gatter für den Phasenausgang.
Wie bei dem Schaltkreis 10 funktioniert die gesamte Logik
des Schaltkreises 60 mit einer Halbrate oder weniger.
-
7 zeigt
das Timing-Diagramm für
den Schaltkreis 60. Wie bei dem Schaltkreis 10 wird
die Theorie des Betriebes am besten erklärt, indem zuerst ein Betrieb
mit einem Muster von alternierenden 0 und 1 (das heißt 01010...) beschrieben
wird, und danach beschreiben wird, was für andere Muster passiert. Mit
einem 0101... Muster wird ein Flip-Flop 611 oder 612 immer
eine 0 und der andere Flip-Flop wird immer eine 1 abtasten. Angenommen,
dass ein 0101... Muster von dem Phasendetektor mit einem Timing
empfangen wird, so dass ein Ausgang 602 von FF1 immer 0
ist und ein Ausgang 603 von FF2 immer 1 ist. In diesem
Fall wird das Gatter U1 615 effektiv zu einem nicht-invertierenden
Puffer (Buffer) reduziert und das Gatter U2 616 effektiv
zu einem Inverter reduziert. Die Gatter U3 617 und U4 618 werden
durch einen verzögerten
Takt 605 (verzögert durch 614)
und sein Komplement und ein nicht-zeitverlagertes Datensignal 606 und
sein Komplement 607 betrieben, wobei der Betrieb dann der
selbe ist wie für
den Schaltkreis 10. Ein Ausgang 608 des Gatters
U3 617 enthält
Pulse, die an einem positiven Datenübergang beginnen und an einem
negativen Taktübergang
enden. Ähnlich
weist ein Ausgang 609 des Gatters U4 618 Pulse
auf, die an einem negativem Datenübergang beginnen und an einem
positiven Taktübergang
enden. Die Gatter U3 617 und U4 618 pulsen zeitlich
alternierend und werden mittels eines Kombinierers 619 summiert,
was in einem Phasenausgangsignals 610 resultiert. Die Pulsdauer hängt von
dem Zeitintervall zwischen Daten und Takt ab, wie dies in dem Fall
des Schaltkreises 10 war.
-
Mit
anderen Mustern wird es immer mindestens zweimal eine 0 vor einer
1 und zweimal eine 1 vor einer 0 geben. Es wird angenommen, dass
zwei oder mehrere aufeinanderfolgende 0 mittels des Phasendetektors 60 empfangen
wurden. Dann wird der Ausgang 602 von FF1 611 und
der Ausgang 603 von FF2 niedrig. In diesem Fall werden
die Gatter U1 615 und U2 616 effektiv zu nichtinvertierenden
Puffern reduziert. Die Gatter U3 617 und U4 618 werden wechselnd
jeweils für
ein UI mittels des Taktsignals und seines Komplements aktiviert.
Angenommen, dass der verzögerte
Takt 605 niedrig ist, wird folglich Gatter U4 618 aktiviert.
Wenn ein 0 zu 1 Übergang der
nicht-zeitverlagerten Daten 604 auftritt, wird der Ausgang 609 des
Gatters U4 auf hoch gehen und einen Ausgangpuls beginnen. Wenn der
verzögerte Takt 605 auf
hoch geht, geht Ausgang 609 des Gatters U4 auf niedrig,
womit ein Ausgangpuls beendet wird. Zusätzlich geht der Ausgang 602 von
FF1 611 auf hoch, womit das Gatter U3 617 über das
Gatter U1 615 gesperrt wird, so dass vermieden ist, dass
es einen zusätzlichen
Ausgangpuls initiiert.
-
Die
Diskussion der Timing-Margins, bezüglich des Schaltkreises 10,
ist im Wesentlichen auch auf Timing-Margins des Schaltkreises 60 von 7 anwendbar,
mit Ausnahme der Zeitverzögerungen. Statt
der gleichen Verzögerung τ sowohl für nicht-zeitverlagerte
Daten 600 als auch für
den Takt 601, werden jetzt individuell gewählte Verzögerungen τd beziehungsweise
mit τc in Bezug auf Schaltkreise 613 und 614 gewählt. τd ist
gleich der Verzögerung τ in dem Schaltkreis 10.
Allerdings wird τc gleich der Summe von τ und der Propagationsverzögerung eines
Exklusiv-ODER-Gatters gewählt,
um die durch die Gatter U1 615 und U2 616 verursachte
Verzögerung
auszugleichen.
-
8 zeigt
kritische Timing-Verhältnisse
unter Verwendung von korrekten Werten von τd und τc, für den schlechteren
Fall einer um 0.4 UI verspäteten Taktphase.
Die Ausgangpulsbreite ist noch von kleinen Schwankungen (bis zu
1/2 UI) in der Flip-Flop-Propagationsverzögerung unabhängig, und
ist gegenüber
einer Flip-Flop-Fluktuation immun.
-
In 8 sind
die Bezugspunkte A, B, C, D und E auf 6 bezogen,
und τc ist 0.5UI+Flip-Flop-Verzögerungm,
und τd ist 0.5UI+Flip-Flop-Vertögerung+Exklusiv-ODER-Verzögerung.
Den Linien von Schaltkreis 10 folgend, wird der minimale
Flip-Flop-Timing-Margin in Bezug auf die vordere Flanke eines Ausgangpulses
.6 UI sein. Zum Beispiel beginnt ein Ausgangpuls 804 am Punkt
E 608 bei t = 5.5 und endet bei t = 6.4. Der Ausgang 602 von
FF1 611 erzeugt am Punkt A einen Puls 801, der
bei t = 4.9 hoch ist, was .6 UI früher als notwendig ist. Der
Puls 801 bleibt dann für
viele UI nach dem Ende des Pulses bei t = 6.4 hoch. Ähnlich wird
das minimale Flip-Flop-Timing-Margin in Bezug auf die Hinterkante
eines Ausgangpulses 1/2 UI sein. Zum Beispiel beginnt ein Puls 802 bei
t = 9.5 und endet bei t = 10.4. Es ist notwendig, dass der Puls 801 während des
Pulses 802 hoch ist. Es kann gesehen werden, dass der Ausgang 602 von
FF1 611 (Puls 801) bis zu t = 10.9 hoch bleibt,
was um 1/2 UI später als
notwendig ist. Puls 801 war auch für viele UIs vor dem Beginn
von Puls 802 bei t = 9.5 hoch gewesen.
-
Es
wird bemerkt, dass Bezugsausgang 1805, der in Bezug auf
den Schaltkreis 10 beschrieben wurde, dem Schaltkreis 60,
wie oben diskutiert, leicht hinzugefügt werden kann.
-
Es
sollte bemerkt werden, dass es, wegen der Arbeitsteilung der Ausgangs-Gatter,
möglich
ist, diese einzeln oder in verschiedenen Paaren, anstatt alle ihre
Ausgänge
zu summieren, zu verwenden. Zum Beispiel kann es wünschenswert
sein, den Phasenfehler der positiven Übergange von den negativen Übergängen separat
zur Verfügung
haben. Dies würde
zum Beispiel wichtig sein, wenn es asymmetrische Beeinträchtigungen
gibt, die eine Polarität mehr
als die andere beeinflussen. Ähnlich
kann es wünschenswert
sein, den Phasenfehler der geraden Übergange von den ungeraden Übergangen
separat zur Verfügung
haben. Wenn die Daten mittels eines Multiplexing erzeugt werden,
was normalerweise der Fall ist, kann es leicht systematische Phasendifferenzen
zwischen den geraden und ungeraden Daten geben.
-
Es
ist auch möglich,
den Schaltkreis mittels eines Aufbaus nur einer Teilmenge des Schaltkreises und
mittels einer Taktzurückgewinnung
von einer Teilmenge der Übergänge zu vereinfachen.
In diesem Fall würde
angenommen, dass nur die positiven oder nur die geraden Übergänge, usw.
genug repräsentativ
für alle Übergänge sind.
-
Obwohl
die vorliegende Erfindung und ihre Vorteile im Detail beschrieben
wurden, sollte es klar sein, dass verschiedene Änderungen, Ersetzungen und
Alternierungen hierin gebildet werden können, ohne vom Geist und vom
Umfang der Erfindung, wie diese durch die beigefügten Ansprüche definiert werden, abzuweichen.
Außerdem
soll der Umfang der vorliegenden Anmeldung nicht auf die bestimmten Ausführungsbeispiele
des Verfahrens, der Vorrichtung, der Herstellung, der Zusammensetzung
des Materials, der Mittel, der Maßnahmen und der Schritte, die
in der Beschreibung beschrieben wurden, begrenzt werden. Während zum
Beispiel hier zwei Ausführungsformen
(1 und 6) beschrieben wurden, die die
logische Kombination des Dateneingangs, des zeitverlagerten Datensignals
und des Taktsignals ermöglichen,
kann jede mögliche
Anzahl und Kombination anderer logischer Elemente, wie zum Beispiel
UND-Gatter, ODER-Gatter,
XOR-Gatter oder anderer Elemente, wie zum Beispiel Flip-Flops, Zeitverlagerer
und Latches verwendet werden, um nachfolgende Pulse, die nicht mittels
der gleichen Hardware erzeugt werden (und somit eine Überlappung
oder näherungsweise Überlappung
vermeiden) und die über
eine Anzahl von Signalpulsen gemittelt werden können, zu erzeugen. Solche alternativen Schaltkreiskonfigurationen,
zu denen gelangt werden kann, indem man mit der gewünschten
Pulsausgangscharakteristik startet und rückwärts arbeitet, um eine richtig
arbeitende Kombination der Elemente zu bestimmen, werden Schaltkreis-Designern eine Designfreiheit
geben, den tatsächlichen
Schaltkreis an ein spezifisches Designkriterium oder gesamte Schaltkreisbeschränkungen
anzupassen. Dieses kann wichtig werden, wenn Signal-Timing-Faktoren oder
Signalpropagation kritisch werden.
-
Ein
Fachmann wird ausgehend von der Offenbarung der vorliegenden Erfindung
leicht verstehen, wie die existierenden oder zukünftigen Prozesse, Vorrichtungen,
Herstellungen, Zusammensetzungen des Materials, Mittel, Maßnahmen
oder Schritte, die im Wesentlichen die gleiche Funktion durchführen oder
im Wesentlichen das gleiche Resultat wie die hier beschriebenen
entsprechenden Ausführungsbeispiele
erreichen, gemäß der vorliegenden Erfindung
verwendet werden können.
Dementsprechend werden die angefügten
Ansprüche,
innerhalb ihres Umfanges solche Prozesse, Vorrichtungen, Herstellungen,
Zusammensetzungen des Materials, Mittel, Maßnahmen oder Schritte umfassen.