DE10251950A1 - Schaltungsanordnung und Verfahren für Hochgeschwindigkeitsdatentransfer - Google Patents

Schaltungsanordnung und Verfahren für Hochgeschwindigkeitsdatentransfer Download PDF

Info

Publication number
DE10251950A1
DE10251950A1 DE2002151950 DE10251950A DE10251950A1 DE 10251950 A1 DE10251950 A1 DE 10251950A1 DE 2002151950 DE2002151950 DE 2002151950 DE 10251950 A DE10251950 A DE 10251950A DE 10251950 A1 DE10251950 A1 DE 10251950A1
Authority
DE
Germany
Prior art keywords
data
phase bit
signal
bit streams
circuit arrangement
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.)
Withdrawn
Application number
DE2002151950
Other languages
English (en)
Inventor
Sven Simon
Andreas Wortmann
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.)
Hochschule Bremen
Original Assignee
Hochschule Bremen
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 Hochschule Bremen filed Critical Hochschule Bremen
Priority to DE2002151950 priority Critical patent/DE10251950A1/de
Priority to AU2003286154A priority patent/AU2003286154A1/en
Priority to PCT/EP2003/012390 priority patent/WO2004042994A1/de
Publication of DE10251950A1 publication Critical patent/DE10251950A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/02Speed or phase control by the received code signals, the signals containing no special synchronisation information
    • H04L7/033Speed or phase control by the received code signals, the signals containing no special synchronisation information using the transitions of the received signal to control the phase of the synchronising-signal-generating means, e.g. using a phase-locked loop
    • H04L7/0337Selecting between two or more discretely delayed clocks or selecting between two or more discretely delayed received code signals
    • H04L7/0338Selecting between two or more discretely delayed clocks or selecting between two or more discretely delayed received code signals the correction of the phase error being performed by a feed forward loop

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

Die Erfindung betrifft eine Schaltungsanordnung zur Extraktion von Daten aus einem seriellen Datensignal für eine hochbitratige Übertragung der Daten zwischen oder innerhalb von integrierten Schaltungen sowie ein entsprechendes Verfahren. Um eine einfachere Implementierung auf dem IC, insbesondere durch Verwendung eines Semicustom Design Flows beim Schaltungsentwurf, zu erreichen, wird eine Schaltungsanordnung vorgeschlagen mit DOLLAR A - einer Abtasteinheit zur mehrfachen Abtastung des Datensignals innerhalb einer Taktperiode eines Empfängertaktsignals zur Erzeugung mehrerer zum Empfängertakt synchroner Phasenbitströme und DOLLAR A - einer Auswerteeinheit zur Bestimmung einer bestmöglich mit den Daten des Datensignals übereinstimmenden Datenfolge durch Auswertung von Korrelationseigenschaften der erzeugten synchronen Phasenbitströme und zur Ausgabe der Datenfolge.

Description

  • Die Erfindung betrifft eine Schaltungsanordnung zur Extraktion von Daten aus einem seriellen Datensignal für eine hochbitratige Übertragung der Daten zwischen oder innerhalb von integrierten Schaltungen sowie ein entsprechendes Verfahren.
  • Mit jeder neuen Prozesstechnologie für integrierte Schaltungen nimmt die Integrationsdichte und die damit verbundene maximal mögliche Schaltungskomplexität (derzeit ca. 10 Mio. Transistoren pro IC) stark zu. Da der Entwurfsaufwand mit der Schaltungskomplexität stark steigt, sind rechnergestützte Entwurfsverfahren unerlässlich. Stand der Technik für den Entwurf komplexer ICs ist die automatische Generierung einer Gatternetzliste aus einer Hardware-Beschreibung in einer geeigneten Hardware-Modellierungssprache (z.B. VHDL, Verflog oder SystemC) mit einem sogenannten Synthese-Tool. Die erzeugte Schaltung auf Gatterebene wird durch weitere weitestge hend automatische Platzierungs- und Verdrahtungs-Schritte in ein Maskenlayout für die IC-Fertigung überführt. Dieser Entwurfsablauf wird als Semicustom Design Flow bezeichnet.
  • Neben der steigenden Komplexität arbeiten die integrierten Schaltungen bei immer höheren Taktraten bzw. Datenraten. Weiterhin steigt die Menge der auszutauschenden Daten zwischen ICs oder zwischen den Funktionsblöcken auf einem IC stark an. Da die maximale Pinzahl von IC-Gehäusen in vielen Fällen eine Beschränkung für die Anzahl der Datenleitungen darstellt, müssen mehrere Datenströme über Leitungen im Zeitmultiplex-Verfahren übertragen werden. Deshalb, oder weil der Ausgangsdatenstrom schon hochbitratig ist, ist es erforderlich, dass serielle Datenströme mit sehr hohen Datenraten (z.B. ≥ 500 MBit/s) gesendet und empfangen werden können. Die etablierten Schaltungen für diese Hochgeschwindigkeitsverbindungen basieren aber auf Entwurfsverfahren, die ein hohes Maß an manueller Arbeit erfordern, also nicht dem Semicustom Design Flow zuzuordnen sind. Der manuelle Entwurf erstreckt sich hierbei bis auf die Ebene des Maskenlayouts und wird als Full Custom Design Flow bezeichnet. Die Implementierung einer Schaltung in einem Full Custom Design Flow wird wegen der Festlegung der Geometrie auf Maskenlayout-Ebene auch Hard-Macro genannt.
  • Der Erfindung liegt deshalb die Aufgabe zugrunde, eine Schaltung und ein entsprechendes Verfahren zur Extraktion von Daten aus einem empfangenen seriellen Datensignal für eine schnelle, also hochbitratige Übertragung der Daten zwischen oder innerhalb von integrierten Schaltungen anzugeben, die den Einsatz eines Semicustom Design Flows beim Entwurf und eine einfachere Implementierung auf einem IC ermöglichen.
  • Diese Aufgabe wird erfindungsgemäß gelöst durch eine Schaltungsanordnung nach Anspruch 1 mit
    • – einer Abtasteinheit zur mehrfachen Abtastung des Datensignals innerhalb einer Taktperiode eines Empfängertaktsignals zur Erzeugung mehrerer zum Empfängertakt synchroner Phasenbitströme, und
    • – einer Auswerteeinheit zur Bestimmung einer bestmöglich mit den Daten des Datensignals übereinstimmenden Datenfolge durch Auswertung von Korrelationseigenschaften der erzeugten synchronen Phasenbitströme und zur Ausgabe der Datenfolge.
  • Ein entsprechendes erfindungsgemäßes Verfahren ist in Anspruch 19 angegeben. Vorteilhafte Ausgestaltungen sind in den Unteransprüchen angegeben.
  • Im Gegensatz zu den bekannten Lösungen basiert die erfindungsgemäße Schaltungsanordnung, die auch als Synthesizable High Speed Receiver bezeichnet wird, auf einem Semicustom Design Flow. Mit Ausnahme der Platzierung weniger Zellen ist es möglich, nur automatische Entwurfsschritte eines Semicustom Design Flows zu verwenden. Der wirtschaftliche Nutzen dieser Schaltungsarchitektur liegt in einem kürzeren Entwicklungszyklus, der leichteren Portierbarkeit zu neuen Prozesstechnologien aufgrund der Synthetisierbarkeit und in einer einfacheren Integrierbarkeit in eine Schaltungsumgebung, die auf einem Semicustom Design Flow beruht. Insbesondere kann bei der Erfindung eine signifikante Reduzierung der Anzahl globaler Timing-kritischer Pfade erreicht werden, so dass die Verwendung eines Semicustom Design Flows ermöglicht wird.
  • Die Erfindung kann sowohl zur Datenübertragung zwischen integrierten Schaltungen, worunter auch eine Datenübertragung zwischen mehreren Chips oder verschiedenen Dies umfasst sein soll, also auch innerhalb einer einzigen integrierten Schaltung, worunter auch eine Datenübertragung auf einem einzigen Chip oder einem einzigen Die umfasst sein soll, zum Einsatz kommen.
  • Erfindungsgemäß werden aus dem seriellen Datensignal sogenannte Phasenbitströme erzeugt. Deren Korrelationseigenschaften werden dann ausgewertet, d.h. es wird geprüft, ob und in wie weit Übereinstimmung bzw. Gemeinsamkeiten zwischen den Phasenbitströmen bestehen, wobei ggf. kleinere Abweichungen zugelassen sind. Anhand des Ergebnisses wird dann die auszugebende Datenfolge bestimmt, wozu grundsätzlich verschiedene Möglichkeiten bestehen.
  • Die Korrelationseigenschaften können dabei beispielsweise über ein sogenanntes Korrelationsmaß definiert werden. Das Korrelationsmaß ordnet dabei jedem Phasenbitstrom in einem Beobachtungszeitraum einen sogenannte Korrelationsvektor zu. Dieser Korrelationsvektor kann nach beliebigen Rechenvorschriften ermittelt werden. Eine geeignete Rechenvorschrift ist eine, die im Fall der Übereinstimmung eines Phasenbitstroms mit den anderen Phasenbitströmen und im Fall der Nichtübereinstimmung eines Phasenbitstroms mit den anderen Phasenbitströmen jeweils Unterschiede für die Korrelationsvektoren des Phasenbitstroms ergibt. Das Korrelationsmaß dient dann in der Auswerteeinheit dazu, aus den Phasenbitströmen die Daten des Datensignals aufgrund der Unterschiede der obigen Korrelationszahlen zu extrahieren.
  • In den Ansprüchen 2 bis 7 sind bevorzugte Ausgestaltungen der Abtasteinheit angegeben. Bevorzugt erfolgt die Abtastung innerhalb einer Taktperiode des Empfängertaktes immer zu einem festen Zeitpunkt, nämlich unter Verwendung der steigenden Flanke des Empfängertaktsignals.
  • Bevorzugt enthält die Abtasteinheit gemäß Anspruch 2 keine Regelung. Außerdem wird sie nur mit einem einzigen Empfängertaktsignal über eine einzige Leitung am Eingang der Abtasteinheit betrieben, also es werden der Abtasteinheit insbesondere keine mehreren Taktphasen, z.B. über ein Bussystem, zugeführt. Insbesondere durch den Verzicht auf eine Regelung wird eine signifikante Reduzierung der Anzahl globaler Timing-kritischer Pfade erreicht, so dass die Verwendung eines Semicustom Design Flows möglich ist.
  • Bei der bevorzugten Ausgestaltung gemäß Anspruch 3 wird das Datensignal zunächst zeitlich verzögert, um somit verschiedene Phasen des Datensignals zu erzeugen. Diese werden dann mit demselben Empfängertaktsignal zur Erzeugung der Phasenbitströme parallel abgetastet. Eine vorteilhafte Ausgestaltung für die Realisierung einer solchen Abtasteinheit ist in Anspruch 4 definiert. Die bevorzugten Ausgestaltungen gemäß den Ansprüchen 3 und 4 verwenden nur einen Taktbereich, nämlich den Empfängertakt.
  • Bei der anderen bevorzugten Ausgestaltung der Abtasteinheit gemäß Anspruch 5 wird das Empfängertaktsignal mehrfach verzögert, um verschiedene Phasen des Empfängertaktsignals zu erzeugen. Mit diesen phasenverschobenen Empfängertaktsignalen wird dann dasselbe Datensignal mehrfach abgetastet, um die Phasenströme zu erzeugen. Eine konkrete Ausgestaltung einer solchen Abtasteinheit ist in Anspruch 6 definiert. Der Vorteil der bevorzugten Ausgestaltungen gemäß den Ansprüchen 5 und 6 liegt in der relativ geringen Störung der Abtastzeitpunkte für die Phasenbitströme durch die Datenabhängigkeit der Verzögerungszeiten in der Verzögerungskette, da das Taktsignal datenunabhängig und streng periodisch ist.
  • Die bevorzugte Ausgestaltung der Verzögerunselemente der Verzögerunskette nach Anspruch 7 weist keine Mittel, wie z.B. Steuersignale, zur Einstellung der Verzögerungszeit auf.
  • Bevorzugte Ausgestaltungen der Auswerteeinheit sind in den Ansprüchen 8 bis 10 und 15 angegeben. Bevorzugt werden erfindungsgemäß mindestens zwei benachbarte Phasenbitströme ausgewertet, um daraus eine Datenfolge zu bestimmen, die möglichst gut mit den Daten des empfangenen seriellen Datensignals übereinstimmt. Dazu werden Korrelationseigenschaften der Phasenbitströme ausgewertet, um einen Phasenbitstrom mit großem Korrelationsmaß zu finden.
  • Bevorzugt ist nach Anspruch 9 weiter mindestens eine entsprechende Auswahleinheit in der Auswerteeinheit vorgesehen, die aufgrund von Korrelationseigenschaften der Phasenbitströme jeweils einen bestmöglich mit den Daten des empfangenen Datensignals übereinstimmenden Phasenbitstrom auswählt. Bei dieser Auswahl können durch mehrere Auswahleinheiten auch mehrere Phasenbitströme ausgewählt werden. Sind mehrere Auswahleinheiten vorgesehen, so werden diese durch eine Auswertungssteuereinheit untereinander koordiniert. Entweder wird ein ausgewählter Phasenbitstrom zur Bestimmung der Datenfolge herangezogen oder aus mehreren Phasenbitströmen wird gemeinsam, beispielsweise durch Mehrheitsentscheid, die Datenfolge bestimmt.
  • Vorteilhafte Weiterbildungen der genannten Auswahleinheit sind in den Ansprüche 11 bis 14 angegeben. Bevorzugt erfolgt zur Auswahl des Phasenbitstroms die Bildung mindestens eines Differenzsignals zwischen mindestens zwei Phasenbitströmen, um zu prüfen, ob und inwieweit die Phasenbitströme voneinander abweichen bzw. um die Korrelation zweier Phasenbitströme zu bestimmen. Bevorzugt werden dabei die Korrelationen zwischen benachbarten Phasenbitströmen bestimmt und ausgewertet. Sofern sich dabei ergibt, dass die Phasenbitströme nicht voneinander abweichen bzw. ein hohes Korrelationsmaß aufweisen, wird davon ausgegangen, dass der Phasenbitstrom die in dem Eingangsdatensignal enthaltene Datenfolge korrekt wiedergibt.
  • In einer weiteren Ausgestaltung ist vorgesehen, dass die mindestens eine Auswahleinheit zusätzlich eine Detektionseinheit aufweist, um mittels der Differenzbildungseinheit festgestellte Korrelationsunterschiede der Phasenbitströme über einen vorgegebenen Zeitraum zu beobachten und ggf. zu akkumulieren. Bevorzugt wird dabei für jedes Differenzsignal ein entsprechendes Detektionssignal generiert. Statt somit direkt aus den Differenzsignalen einen bestmöglichen Phasenbitstrom auszuwählen, erfolgt dann in einer weiteren Ausgestaltung anhand der Detektionssignale die Auswahl eines best möglichen Phasenbitstroms, wodurch sich ggf. die Implementierung aufgrund einfacher Timingbedingungen vereinfachen lässt.
  • Die Auswahl des bestmöglichen Phasenbitstroms durch die mindestens eine Auswahleinheit ist grundsätzlich zeitlich variabel und wird ständig angepasst. Dies bedeutet, dass nicht zu Beginn der Datenübertragung ein einziger Phasenbitstrom ausgewählt wird, sondern in regelmäßigen Zeitabständen überprüft wird, ob der ausgewählte Phasenbitstrom auch noch die beste Wahl darstellt.
  • Die Auswertungssteuereinheit wählt gemäß Anspruch 15 bevorzugt mindestens einen der durch die Auswahleinheiten ausgewählten Phasenbitströme aus, um diese Daten als empfangene Datenfolge auszugeben. Durch Auswertung mehrerer ausgewählter Phasenbitströme können dabei mehrere Datenbits des Eingangssignales innerhalb einer Empfängertaktperiode extrahiert werden. Ferner wird bei Änderung der Auswahl durch die Auswertungssteuereinheit sichergestellt, dass eine lückenlose Extraktion der Daten stattfindet und kein Datenbit mehrfach ausgewertet wird.
  • Die erfindungsgemäße Schaltung kann gemäß den Ausgestaltungen nach den Ansprüchen 16 und 17 dadurch erzeugt werden, dass ein Synthesetool ausgehend von einer Hardware-Beschreibungssprache (z.B. VHL, Verflog, SystemC) unter Verwendung einer Standardzellbibliothek eine Gatternetzliste erzeut. Diese Gatternetzliste besteht aus Zellen einer Standardzellbibliothek, welche in einem Semicustom Design Flow mit Hilfe von Tools platziert und verdrahtet werden. Gemäß der Ausgestaltung nach Anspruch 18 kann, durch manuelle Unterstützung der Platzierungsalgorithmen des entsprechenden Tools, die Laufzeit der Signale auf den Timing-kritischen Pfaden wie z.B. zwischen den Verzögerungselementen reduziert oder angeglichen werden.
  • Die Erfindung wird nachfolgend anhand der Zeichnungen näher erläutert. Es zeigen:
  • 1 mögliche Einsatzgebiete der Erfindung,
  • 2 ein Blockschaltbild zur Verdeutlichung von Timingproblemen bei der synchronen Datenübertragung,
  • 3 ein Zeitdiagramm zur Erläuterung von Jitter,
  • 4 Zeitdiagramme zur Erläuterung von Skew,
  • 5 ein Augendiagramm zur Erläuterung der Abtastung bei einer bekannten Lösung,
  • 6 eine Blockschaltbild einer bekannten Schaltungsanordnung,
  • 7 ein Augendiagramm zur Erläuterung der Abtastung bei einer weiteren bekannten Lösung,
  • 8 ein Blockschaltbild einer weiteren bekannten Schaltungsanordnung,
  • 9 ein Augendiagramm zur Erläuterung der Abtastung bei der erfindungsgemäßen Schaltungsanordnung,
  • 10 ein Blockschaltbild einer Ausgestaltung der erfindungsgemäßen Schaltungsanordnung,
  • 11 ein Blockschaltbild einer weiteren Ausgestaltung der erfindungsgemäßen Schaltungsanordnung,
  • 12 ein vereinfachtes Blockschaltbild der grundsätzlichen Ausgestaltung der erfindungsgemäßen Schaltungsanordnung,
  • 13 eine erste Ausgestaltung einer Abtasteinheit,
  • 14 Signalverläufe der bei der Abtasteinheit gemäß 13 auftretenden Signale,
  • 15 eine weitere Ausgestaltung einer Abtasteinheit,
  • 16 ein Blockschaltbild zur Verdeutlichung der Signalverläufe bei der erfindungsgemäßen Schaltungsanordnung,
  • 17 eine Verzögerungskette bei einer konkreten Implementierung der Abtasteinheit,
  • 18 Signalverläufe der bei der Verzögerungskette gemäß 17 auftretenden Signale,
  • 19 eine Kette von Flip-Flops in einer konkreten Implementierung,
  • 20 Signalverläufe der bei der Schaltung gemäß 19 auftretenden Signale,
  • 21 ein Blockschaltbild einer Ausgestaltung der erfindungsgemäßen Auswerteeinheit,
  • 22 eine Ausgestaltung einer Differenzbildungseinheit,
  • 23 Signalverläufe der bei der Differenzbildungseinheit gemäß 22 auftretenden Signale,
  • 24 eine Ausgestaltung einer Nullfalle,
  • 25 das Zustandsdiagramm einer Nullfalle gemäß 24,
  • 26 Signalverläufe der von der Nullfalle gemäß 24 erzeugten Detektionssignale über einen längeren Zeitraum,
  • 27 Signalverläufe der von der Nullfalle erzeugten Detektionssignale über einen kürzeren Zeitraum,
  • 28 ein Zustandsdiagramm zur Erläuterung der Umschaltung zwischen unterschiedlichen Phasenbitströmen,
  • 29 ein Ausschnitt aus den Signalverläufen gemäß 26 zur Erläuterung der zeitlichen Anpassung der Auswahl des Phasenbitstroms,
  • 30 eine alternative Ausgestaltung zur Implementierung der Abtasteinheit durch parallel angeordnete Verzögerungselemente,
  • 31 eine weitere Ausgestaltung zur Implementierung der Abtasteinheit durch Kombination von parallel und seriell angeordneten Verzögerungselementen und
  • 32 ein Blockschaltbild einer weiteren Ausgestaltung der erfindungsgemäßen Auswerteeinheit.
  • In den 1a und 1b sind grob die Einsatzgebiete der vorliegenden Erfindung dargestellt, nämlich Interchip-Kommunikation zwischen, beispielsweise über PCB, Stecker oder Kabel verbundene Chips 1C1, 1C2 (1a) oder Intrachip-Kommunikation inner halb von ICs (1b), beispielsweise zwischen verschiedenen Taktbereichen CD1, CD2 (CD = Clock Domain).
  • Werden Daten zwischen verschiedenen ICs bei hohen Datenraten (mehr als 500 Mbit/s) übertragen, so treten Timing-Probleme durch Laufzeitunterschiede zwischen Takt und Daten auf. Laufzeitunterschiede entstehen durch die Abhängigkeit der Laufzeiten auf dem IC von Spannungs-, Temperatur- und Fertigungstoleranzen und außerhalb des ICs durch die Abhängigkeit der Laufzeiten von Package- und Board-Fertigungstoleranzen. Diese Laufzeitunterschiede können sich deshalb während des Betriebs der Schaltungen ändern und sind somit zeitabhängig. Der Grund für die Timing-Probleme bei hohen Datenraten ist, dass Laufzeitunterschiede in der Größenordnung der Taktperiode liegen können und nicht sichergestellt ist, dass die Daten innerhalb der richtigen Taktperiode die Empfangsschaltung erreichen, wie es bei synchronen Schaltungskonzepten normalerweise der Fall sein sollte. Dieses Problem wird in 2 deutlich.
  • In dem dargestellten Beispiel treten zwischen Sender 1 und Empfänger 2 zeitlich variable Laufzeitunterschiede von ±0,5ns sowohl auf der Datenleitung 3 als auch auf der Taktleitung 4 auf. Beispielsweise beträgt die spezifizierte Laufzeit der Taktleitung TDclk und der Datenleitung TDdat. Die mittlere Laufzeitdifferenz |TDdat – TDclk| kann statisch ausgeglichen werden, aber bei einer geringen zeitabhängigen relativen Verschiebung der beiden Signale ist keine synchrone Übertragung möglich, da 1 ns bereits einem ganzen Taktzyklus entspricht.
  • Die bei einer Datenübertragung auftretenden Störungen rufen am empfangenen Datensignal beobachtbare Störeffekte hervor, die als Jitter und Wander bezeichnet werden. Diese sind in den 3 und 4 verdeutlicht. Der Jitter ist eine von Taktperiode zu Taktperiode zufällige und vom Betrag begrenzte Änderung der Bitdauer des Datensignals. Physikalische Ursache für einen solchen Jitter sind beispielsweise sehr kurzzeitige Spannungseinbrüche auf den Versorgungsleitungen eines ICs. Diese entstehen unter anderem durch den kurzfristig sehr hohen Strombedarf beim Umladen von Gatekapazitäten bei Schaltvorgängen aufgrund der Datenänderungen, beispielsweise von Flip-Flops, zum Zeitpunkt einer Taktflanke. Auch Crosstalk und Reflektion kann zu Jitter führen.
  • Mit Skew soll hier der zeitlich unveränderliche Laufzeitunterschied zwischen zwei Signalen A und B bezeichnet werden. Als Wander wird die Veränderung des Laufzeitunterschiedes zwischen zwei Signalen A und B bezeichnet. Der Wander ist zeitabhängig und einer langsamen dynamischen Änderung unterworfen. Er entsteht zum Beispiel durch Temperatur- und Spannungsschwankungen und unterschiedliche Eigenschaften der Leitungen für die Signale A und B.
  • Für die Lösung dieses Datenübertragungsproblems sind Vorschläge bekannt, die sich in zwei verschiedene Konzepte einteilen lassen. Bei einer Clock/Data-Recovery-Architektur (CDR), wie in 6 skizziert, wird aufgrund der Signalwechsel des Datensignals die Frequenz und die Phasenlage des abtastenden Taktsignals so auf den Datenstrom eingestellt, dass die Daten zu einem Zeitpunkt übernommen werden, zu dem sie stabil anliegen. Dies ist in dem in 5 gezeigten Augendiagramm erkennbar. Durch Synchronisation mit den Flanken des Datensignals wird der abtastende Takt abgestimmt.
  • Aus dem Eingangssignal werden sowohl die Daten, als auch der Datentakt gewonnen. Taktrückgewinnungsschaltungen 5 sind als Phase-Locked-Loops (PLL) oder Delay-Locked-Loops (DLL) weit verbreitet. Wegen der Rückkopplungsschleife innerhalb einer solchen PLL/DLL wird diese Architektur in 6 auch als Feedback-Architektur bezeichnet. Die Timing-kritischen Pfade sind in der Schaltungsskizze markiert.
  • Pfade werden im Folgenden Timing-kritisch genannt, wenn (z.B. durch Layout beeinflusste) Signallaufzeiten oder der Skew zwischen den Signalen eines Busses innerhalb eines Toleranzfensters liegen müssen, das im allgemeinen sehr viel kleiner als die höchste Taktperiode der Schaltung ist. Liegt die Signallaufzeit oder der Skew zwischen den Signalen außerhalb des Toleranzfensters, ist die Funktionalität der Schaltung gefährdet. In der dargestellten Schaltungsarchitektur werden die Timing-kritischen Pfade und die Module mit Timing-kritischen Pfaden in einem Full Custom Design Flow entworfen. Unabhängig voneinander ist für jeden Dateneingang eine solche recht aufwendige Schaltung erforderlich. Insbesondere aufgrund der erforderlichen Stromversorgung und Spannungsstabilität ist die Integration einer solchen Schaltung aufwendig.
  • Das andere in der Literatur etablierten Schaltungs-Konzept benötigt nur einen Taktgenerator für mehrere identische serielle Dateneingänge. Es handelt sich um eine Feedforward-Architektur, bei der nur die Daten und nicht das Taktsignal aus dem Datenein gangssignal data_i extrahiert werden. Diese Data-Recovery-Architektur ist in 8 gezeigt. Das Datensignal data_i wird asynchron mit vielen exakt aufeinander abgestimmten Phasen des selben Taktsignals clk_ref überabgetastet, vorzugsweise zu exakt äquidistanten Zeitpunkten, wie in dem in 7 gezeigten Augendiagramm zu erkennen ist. Mittels Mehrheitsentscheid oder eines anderen geeigneten Verfahrens werden die Daten aus dem gesendeten Datensignal data_o extrahiert. Für die Realisierung einer solchen Architektur mit mehreren seriellen Empfängern 2 wird zwar nur eine PLL/DLL 5 zur Erzeugung der Taktphasen benötigt, es müssen jedoch viele Taktphasen clk_k erzeugt werden, und die Verteilung dieser vielen globalen Signale zu den einzelnen Empfängermodulen 2 ist Timing-kritisch.
  • Um die aus dem Taktsignal erzeugten Phasen exakt aufeinander abzustimmen, wird in beiden Architekturen eine PLL/DLL 5 verwendet. Der Entwurf einer PLl/DLL ist aber, da es sich um eine Schaltung mit analogen Komponenten handelt, entsprechend aufwendig. Da die Verteilung und der Transport der verschiedenen Taktphasen clk_k auch Timing-kritisch ist, ist eine exakte manuelle Platzierung der Leitungen und Gatter erforderlich. Generell ist ein entscheidender Nachteil der in 8 gezeigten Schaltungsarchitektur, dass die Timing-kritischen Pfade von einer Quelle zu allen Empfänger-Schaltungen 2 geführt werden müssen. Die Realisierung solcher High Speed Receiver Schaltungen erfolgt daher unter Verwendung eines Full Custom Design Flows. Dies gilt ebenso für die in 6 gezeigte Schaltung, deren Teilschaltungen oder Module überwiegend Timing-kritisch sind.
  • Nur mit dieser Entwurfsmethodik, bei der die einzelnen Transistoren dimensioniert und Leitungen bzw. Zellen platziert werden, ist es möglich, die analogen Schaltungsteile so zu entwerfen, dass die PLL/DLL 5 entsprechend exakte Taktsignale erzeugt und diese Timing-kritischen Signale präzise verteilt werden. Der Aufwand, der durch diese Herangehensweise entsteht, ist allerdings sehr hoch. Die Implementierung ist technologieabhängig und erfordert einen manuellen Schaltungsentwurf. Zur Verifikation des Entwurfs ist eine zeitintensive Analogsimulation notwendig. Diese Entwurfs-Methode ist daher sehr teuer.
  • Einfacher und daher in der Industrie zur Realisierung weniger problematischer Schaltungen größtenteils verwendet, ist ein Semicustom Design Flow. Dieser Entwurfsprozess ist stark rechnergestützt und weitgehend automatisiert. Hier wird die Funktion der Schaltung in einer Hardware-Modellierungssprache beschrieben. Am stärksten verbrei tet sind die Hardware-Modellierungssprachen VHDL, Verflog und SystemC. Synthese-Tools übersetzten den Quellcode in eine Gatternetzliste unter Verwendung von elementaren Standardzellen, die von Halbleiter-Herstellern in Bibliotheken zur Verfügung gestellt werden. Man spricht davon, dass die Schaltung synthetisierbar ist. Diese automatisierte Methode zum Schaltungsentwurf ermöglicht erst die Erstellung großer Schaltkreise und den einfachen Wechsel der Zieltechnologie durch den Austausch der Zellenbibliotheken.
  • Eine Kostenminimierung bei der Entwicklung von ICs ist erreichbar, indem Teilschaltungen, die bisher auf einem Full Custom Design Flow basierten, in einem Semicustom Design Flow realisiert werden. Die erfindungsgemäße Schaltungsanordnung kann in einem Semicustom Design Flow implementiert werden. Der wesentliche Vorteil der vorgestellten Schaltung liegt in einer Vereinfachung und Reduzierung der Schaltungsfläche und des Entwurfsaufwands.
  • Das Konzept der erfindungsgemäßen Schaltung ist in 10 gezeigt. Diese weist für jedes Datensignal des Datensignalbusses data_i(0..M) eine Abtasteinheit 6, in denen jeweils mehrere zum Datentakt clk_f_i (oft auch als Empfängertakt bezeichnet) synchrone Phasenbitströme SAMPLE generiert werden, auf. Diese werden jeweils einer gesonderten Auswerteeinheit 7 zugeführt, in der jeweils die bestmöglich mit den Daten der empfangenen Datensignale data_i(0..M) übereinstimmenden Datenfolge durch Korrelationseigenschaften der erzeugten synchronen Phasenbitströme SAMPLE bestimmt werden. Diese werden dann als Ausgangssignalbus data_o(0..M) ausgegeben.
  • Die Anzahl der Timing-kritischen Pfade werden darin minimiert und auf lokale Gebiete reduziert. Die Verteilung des Empfängertaktes clk_f_i ist nicht Timing-kritisch, da die Phasenlage des Taktsignals clk_f_i für die korrekte Funktionalität der Schaltung keine Rolle spielt. Für den Betrieb der Schaltung ist grundsätzlich auch keine PLL oder DLL erforderlich. Dies stellt eine erhebliche Vereinfachung dar. Wie in dem Augendiagramm in 9 gezeigt ist, kann die Abtastung zu Zeitpunkten erfolgen, deren Abstand nicht bekannt ist und innerhalb eines großen Toleranzbereichs liegt.
  • In manchen Anwendungen, wird jedoch trotzdem eine PLL auf dem IC vorhanden sein, da ein heruntergeteilter Takt clk_ref als Referenztakt extern mit einer niedrigeren Takfrequenz auf dem IC übernommen wird, wie in 11 gezeigt ist. Das hochfrequente Taktsignal clk_f_i wird dann mit einer PLL/DLL 5 aus dem heruntergeteilten Taktsignal clk_ref zurückgewonnen. In diesen Fällen wird jedoch mit der hier vorgestellten Schaltungsarchitektur häufig die Anzahl der PLL/DLLs bei Verwendung mehrerer solcher Receiver reduzierbar sein, da die Taktverteilung selbst Timing-unkritisch ist. Aufwendigere PLLs mit vielen Taktphasen, wie bei den in den 6 und 8 gezeigten Feedforward-Architekturen mit aufwendiger Verteilung der einzelnen Taktphasen sind aber in keinem Fall erforderlich.
  • Es werden zwei alternative Architekturvarianten des neuen Konzeptes vorgeschlagen, die im Folgenden weiter erläutert werden. Beide Architekturen des Empfängers sind Feedforward-Architekturen. Das heißt, dass keine Anpassung des Taktsignals an das Datensignal stattfindet. In diesem Ansatz wird auch auf die Abstimmung verschiedener Taktphasen verzichtet, so dass keine Regelung der abtastenden Signale vorgenommen wird. Dadurch kann auf die Verwendung des weitgehend manuellen Full Custom Design Flow verzichtet werden. Deshalb ist diese Anordnung besonders für die Verwendung eines Semicustom Design Flows geeignet.
  • In dem in 12 gezeigten Empfänger entstehen nach einer Abtastung des Datensignals data_i durch eine Abtasteinheit 6, die, wie nachfolgend noch näher erläutert wird, bevorzugt eine Kaskade von N Flip-Flops aufweist, entweder mit N phasenverschobenen Taktsignalen oder mit einem Taktsignal clk_f_i und N-fach verzögerten Datensignalen, N sogenannte Phasenbitströme SAMPLE. Bei hinreichender Auflösung der Taktphasen oder Datenverzögerungen existiert bei stabiler und etwa gleicher Empfängerdatenrate und Taktfrequenz mindestens ein Phasenbitstrom, der fehlerfrei ohne Verletzung der Setup-Hold-Zeiten der Flip-Flops die Daten abtastet. Ein Algorithmus nimmt die Auswertung in einer Auswertungseinheit 7 vor, die bevorzugt eine Auswahl dieses Phasenbitstroms ist. Die Auswertungseinheit 7 steuert entsprechend einen Multiplexer 8, über den der ausgewählte Phasenbitstrom an den Datenausgang als Datenausgangssignal data_o ausgegeben wird.
  • Der Unterschied der beiden Architekturen besteht nur in der Erzeugung der Phasenbitströme SAMPLE. In beiden Varianten wird eine ungeregelte Verzögerungskette verwendet. In der ersten Architektur werden mit dieser aus dem Datensignal data_i eine Vielzahl verschiedener Phasen des Datensignals und in der zweiten Architektur aus dem Taktsignal clk_f_i eine Vielzahl verschiedener Phasen des Taktsignals abgeleitet, mit denen dann jeweils die Phasenbitströme gewonnen werden. Die Phasenlage und Frequenz, mit der die Empfangsschaltung arbeitet, sind auf das Datensignal bezogen ungeregelt, so dass sich Datenfehler, die durch Jitter und Wander entstehen, auf die Phasenbitströme auswirken. Die Auswertungseinheit 7 in 6 analysiert nun lediglich die Phasenbitströme, um daraus einen Phasenbitstrom SAMPLE auszuwählen, der mit den Daten des ursprünglichen, nicht abgetasteten Datensignals data_i am Eingang der Schaltung übereinstimmt.
  • Grundsätzlich sind für den Auswertungsmechanismus verschiedene Algorithmen denkbar. Eine Beispielimplementierung, die auf zwei endlichen Automaten, sogenannten Finite State Machines, und der Autokorrelation des Datensignals bzw. der Korrelation der erzeugten Phasenbitströme basiert, wird weiter unten näher erläutert. Alternativ kann ein Algorithmus mit zusätzlicher Redundanz und Kodierung des Eingangsdatenstroms den korrekten Phasenbitstrom bei einem Dekodierungsvorgang erkennen. Weiterhin ist eine Vielzahl von möglichen alternativen Algorithmen denkbar.
  • 13 zeigt ein Blockschaltbild einer ersten Architektur der Abtasteinheit 6, bei der eine Abtastung mehrerer Datensignalphasen mit einem gemeinsamen Takt erfolgt. Das Datensignal data_i des High-Speed-Daten-Eingangs wird durch eine Kette aus N Verzögerungselementen 10 mit einer Verzögerungszeit von ΔTi ≪ Tclk_f_i, i ∊ {0, ..., N – 1} geleitet und zwischen den einzelnen Verzögerungselementen 10 mit einem gemeinsamen Takt abgetastet. Die hierdurch aus dem ursprünglichen Datensignal data_i abgeleiteten Signale werden als Phasenbitströme SAMPLE bezeichnet. Eine nachfolgende Schaltung analysiert diese Phasenbitströme und wählt einen zur Datenfolge des Eingangsdatenstromes data_i bestmöglich identischen Phasenbitstrom aus. Diese Auswahl wird dynamisch mit zeitlichen Variationen von Laufzeiten aufgrund von Spannungsänderungen oder Temperaturänderungen angepasst.
  • 13 zeigt ein Beispiel einer Verzögerungskette, die aus einer Folge von Buffern 10 mit einer Verzögerungszeit von ΔTi, i ∊ {0 ... N – 1} aufgebaut ist. Natürlich sind hier auch andere Elemente, die über eine Verzögerungszeit verfügen, einsetzbar (andere Gatter, Teilschaltungen, Leitungsstücke). Die Verzögerungszeiten der einzelnen Elemente müssen nicht exakt bekannt sein, es ist ausreichend, dass alle in etwa gleich groß sind. Die exakte Verzögerungszeit ist aufgrund des Semicustom Design Flows, der Platzierungsmöglichkeiten, der Prozess- und Produktionsschwankungen, der anliegenden Versorgungsspannung und der Umgebungstemperatur in gewissen Grenzen variabel.
  • Durch die manuelle Platzierung der Verzögerungselemente können die Verzögerungszeiten der Leitungsstücke zwischen den Verzögerungselementen reduziert werden. Dadurch kann die Qualität der Implementierung verbessert werden und die Verzögerungszeiten ebenfalls einander angeglichen werden. Eine solche manuelle Unterstützung der Platzierungs- und Verdrahtungstools ist in einem modernen Semicustom Design Flow generell möglich. Im vorliegenden Fall kann diese Vorgehensweise je nach Ergebnis der automatisch ablaufenden Platzierungs- und Verdrahtungsalgorithmen einen entscheidenden Beitrag zur Qualität der Implementierung in einem Semicustom Design Flow leisten. Für die klassiche Anwendung eines Semicustom Design Flows, bei dem die Entwurfsschritte so weit wie möglich automatisch ablaufen sollen, wird eine solche mauelle Platzierung nicht durchgeführt.
  • Die Verzögerungselmente sollen alle eine möglichst vergleichbare Verzögerungszeit haben, so dass gilt ΔTi ≈ ΔTj für alle i, j ∊ {0, ..., N – 1}. Die zwischen den Verzögerungselementen 1O anliegenden Signale werden hier mit RAW(0) bis RAW(N – 1) bezeichnet. Diese RAW-Signale werden, wie auch in 13 angedeutet. gleichzeitig mittels speichernden Elementen 11 wie Flip-Flops oder Latches mit dem Taktsignal clk f i abgetastet. Die abgetasteten Signale werden dann mit SAMPLE(0) bis SAMPLE(N – 1) bezeichnet und Phasenbitströme genannt. Aufgrund der Verzögerungskette, der Setup-Hold-Time Verletzungen und der Signalstörungen, wie Jitter und Wander, sind die Phasenbitströme nicht identisch, jedoch miteinander und mit dem Datensignal korreliert. Einige sind um ein bzw. mehrere Bits gegeneinander verschoben, andere tragen teilweise falsche Daten.
  • Für ein Beispiel mit N = 20 sind in 14 die RAW- und die SAMPLE-Signale für einen kurzen Zeitabschnitt abgebildet. SAMPLE(3) und SAMPLE(13) stellen fehlerhafte Phasenbitströme dar, während in SAMPLE(0) bis SAMPLE(2), SAMPLE(4) bis SAM-PLE(12) und SAMPLE(14) bis SAMPLE(19) korrekte Daten anliegen. Die Phasenbitströme, auf denen korrekte Daten anliegen, lassen sich in drei Gruppen einteilen, in denen die Daten jeweils identisch sind. Jede dieser Gruppen repräsentiert einen sogenannten Datenbitstrom. Durch Jitter und Phasenverschiebung des Datensignals verändert sich die Zuordnung der Phasenbitströme zu den Datenbitströmen. Diese Beobachtung ist für die Auswertungs- bzw. Auswahlalgorithmen relevant.
  • 15 zeigt ein Blockschaltbild einer zweiten Architektur der Abtasteinheit 6, bei der eine Überabtastung des Datensignals durch mehrere Phasen des Taktsignals erfolgt.
  • Zentrales Merkmal einer Implementierung nach diesem Konzept ist die Verzögerungskette aus beliebigen Verzögerungselementen 10, durch die ungeregelt verschiedene Phasen des Taktsignals clk_f_i erzeugt werden. Das Taktsignal wird durch die Verzögerungskette geleitet. Die zwischen den Verzögerungselementen 10 abgenommenen Taktsignale werden Taktphasen CKP(0) bis CKP(N – 1) genannt. Mit den verschiedenen Taktphasen wird das Datensignal data_i abgetastet, um die Phasenbitströme SAMPLE zu erzeugen. Diese Phasenbitströme entsprechen im Prinzip denen der ersten, in 13 gezeigten Architektur. Um optimale Extraktionsergebnisse zu erreichen, werden, da die Phasenbitströme unterschiedlich gewonnen werden und daher unterschiedliche Eigenschaften haben, auch gegebenenfalls leicht modifizierte Algorithmen zur Anwendung kommen.
  • Nachfolgend wird exemplarisch die Implementierung der in 12 gezeigten Schaltungsarchitektur näher erläutert. 16 zeigt die Architektur der Empfängerschaltung mit den einzelnen funktionalen Blöcken. Der serielle Bitstrom der Empfangsdaten liegt als Signal data_i an. Dieses Datensignal wird durch die Abtasteinheit 6 mit einer Kette aus Verzögerungselementen geleitet. Indem zwischen den einzelnen Verzögerungselementen die Signale gleichzeitig abgetastet werden, entsteht zu festen periodischen Zeitpunkten eine (diskrete) Abbildung vom zeitlichen Verlauf des Datensignals. Anhand dieser Abbildung wird die gesendete Datenfolge aus dem Datensignal extrahiert.
  • Diese Extraktion für eine realisierte Implementierung soll nun im einzelnen erläutert werden. Die Implementierung besteht aus den in 16 gezeigten Modulen. Es wird auf die Funktion jedes einzelnen Moduls speziell eingegangen.
  • Das Eingangssignal wird durch die Verzögerungselemente 10 geleitet und jeweils vor einem Verzögerungselement 10 abgegriffen. Ein Verzögerungselement 10 ist hier als ein einfacher Buffer mit einer Verzögerungszeit von Δτ ≈ 100ps der Standardzellen-Bibliothek realisiert. Es handelt sich in diesem Beispiel also um aktive Verzögerungselemente, die zur Signalaufbereitung beitragen. Die Schaltung ist in 17 gezeigt. Es sind N = 20 Buffer 10 als Verzögerungselemente gewählt. Das Signal RAW(1) hat beispielsweise genau ein Verzögerungselement 10 mehr als das Signal RAW(0) durchlaufen, und das Signal RAW(10) hat beispielsweise zehn Verzögerungselemente 10 mehr durchlaufen als das Signal RAW(0). Der Verlauf dieser einzelnen Signale ist in 18 dargestellt.
  • In diesem Beispiel liegt die Bitfolge '101' in der Zeitspanne ca. 818ns – ca. 820ns am Dateneingang an. Zum Zeitpunkt 820ns liegt am Eingang data_i also ein hoher Spannungspegel an, die Signale RAW(4) bis RAW(13) haben einen niedrigen Spannungspegel und spiegeln die zeitlich verzögerte '0' wider. Die Signale RAW(14) bis RAW(19) haben wieder einen hohen Signalpegel, der die erste '1' repräsentiert. Die übertragene Bitfolge '101' wird durch die Verzögerungskette also in den Daten der RAW-Signale gleichzeitig sichtbar. Die Gesamtverzögerung der Verzögerungskette entspricht in diesem Beispiel etwa der doppelten Periode des Datentaktsignals.
  • Die gegeneinander phasenverschobenen Datensignale RAW werden alle gleichzeitig abgetastet. Dies geschieht beispielsweise bei der Frequenz 1 GHz mit dem Taktsignal clk_f_i. Die entsprechende Schaltung ist in 19 gezeigt. Es findet eine asynchrone Abtastung durch Flip-Flops 11 statt. Die Signalverläufe vor und nach der Abtastung sind in 20 gezeigt. Die zum Taktsignal clk_f_i synchronen Datensignale SAMPLE werden jeweils als Phasenbitstrom bezeichnet. Die korrekte, oben erwähnte Bitfolge '101' findet sich nun in den Signalen SAMPLE(0) bis SAMPLE(2), SAMPLE(4) bis SAMPLE(12) und SAMPLE(14) bis SAMPLE(19) wieder. Durch Setup-Hold-Time Verletzungen sind die Phasenbitströme SAMPLE(3) und SAMPLE(13) fehlerhaft.
  • In diesem Fall können den Phasenbitströmen also drei aufeinanderfolgenden Bits des Datensignals zugeordnet werden. Daraus ergeben sich drei Gruppen, die jeweils einen sogenannten Datenbitstrom repräsentieren. Durch Schwankungen der Phase bzw. Frequenz von Datensignal bzw. Referenztakt und durch Jitter verschieben sich die Grenzen zwischen diesen drei Gruppen. Die Zugehörigkeit der Phasenbitströme zu den Gruppen ändert sich daher dynamisch, und es können auch fehlerhafte Phasenbitströme auftreten. Fehlerhafte Phasenbitströme sind Phasenbitströme, deren Daten fehlerhaft gegenüber den Eingangsdaten sind. Zwei benachbarte Datenbitströme sind also um 1 Bit bzw. eine Taktperiode gegeneinander verschoben, aber sonst identisch, und enthalten genau die zu extrahierenden Daten. Die korrekten Daten werden nun bestimmt, indem, falls sich der Wanden oder das Jitter-Verhalten ändert, zwischen verschiedenen Phasenbitströmen gewechselt, und so dem Datenbitstrom gefolgt wird.
  • Eine Auswertungsschaltung 7 zur Auswertung der Phasenbitströme und zur Bestimmung eines bestmöglich mit der Eingangsdatenfolge übereinstimmenden bzw. ein maximales Korrelationsmaß aufweisenden Phasenbitstroms ist in 21 gezeigt. Diese weist eine Differenzbildungeinheit 12 zur Differenzbildung zwischen mindestens zwei Phasenbitströmen, eine Detektionseinheit 13 zur Bestimmung des Korrelationsmaßes sowie zwei von einer Steuereinheit 14 gesteuerte Selectoren 15, 16 zur Einsynchronisation auf jeweils einen Datenbitstrom auf. Die einzelnen Einheiten sollen nachfolgend näher erläutert werden.
  • Indem jeweils zwei benachbarte Phasenbitströme auf Gleichheit geprüft werden, wird bestimmt, zwischen welchen Phasenbitströmen ein Datenwechsel auf dem Eingangssignal stattfindet. Die Differenzbildungeinheit 12 in 22 und die Signale in 23 zeigen diesen Vergleich. Zur Erkennung von Datenwechseln bzw. Flanken des Datensignals werden mittels Differenzbildungsmodulen 120, z.B. einfachen Logikgattern, Differenzsignale DIFF der abgetakteten Phasenbitströme SAMPLE gebildet. Jeweils zwei benachbarte Phasenbitströme werden auf Gleichheit geprüft. DIFF(3) zeigt beispielsweise an, ob SAMPLE(3) und SAMPLE(4) identisch sind. Gilt für zwei beliebige, benachbarte Phasenbitströme SAMPLE(i), SAMPLE(i + 1), dass SAMPLE(i) ≠ SAMPLE(i + 1) , so folgt DIFF(i) = 0.
  • Die Schaltung zur Implementierung des Algorithmus zur Phasen- und Datenbitstrom-Auswahl, die in diesem Beispiel als Zustandsautomat realisiert wird, soll auf einer niedrigeren Taktrate clk_s_s als die Empfängertaktrate clk_f_i (z.B. 1 GHz) betrieben werden (f = fast, s = slow). Damit sind alle Pfade innerhalb dieses Zustandsautomaten Timing-unkritisch. Das Taktsignal clk_s_s kann durch einen einfachen Taktteiler aus dem Signal clk_f_i erzeugt werden. Dieser Taktteiler ist in 16 als Modul DivClock 9 bezeichnet.
  • Um die Differenzsignale mit diesem niedrigeren Takt clk_s_s auszuwerten, müssen daraus Signale abgeleitet werden, die sich ebenfalls mit einer niedrigeren Rate ändern. Dazu wird exemplarisch eine Schaltung vorgeschlagen, die im folgenden als Nullfalle bezeichnet wird. Eine Nullfalle ist eine gedächtnisbehaftete Schaltung, die sich in einem längeren Beobachtungszeitraum (hier Taktperiode von clk_s_s) merkt, ob eine Differenz zwischen zwei benachbarten Phasenbitströmen aufgetreten ist. Dazu werden die durch die Differenzsignale DIFF detektierten Datensignalwechsel, die während einer Periode des Taktes clk_s_s auftreten, akkumuliert. In diesem Implementierungsbeispiel stehen bei jeder positiven Flanke des Taktes clk_s_s die so gesammelten Informationen für jedes einzelne Differenzsignal zur Verfügung.
  • 24 zeigt eine Ausgestaltung einer solchen Nullfalle 13. Die Funktion ist in Form eines endlichen Automaten in 25 dargestellt. Gemäß 24 wird das Flip-Flop 130, das zunächst mittels des Reset-Signal res_trap synchron auf den Wert '1' gesetzt wird, innerhalb des Beobachtungszeitraums zurückgesetzt, falls das Signal DIFF durch den Wert '0' eine Differenz zweier Phasenbitströme anzeigt. Die Schaltung merkt sich also das Auftreten von einer oder mehreren '0' des Differenzsignals als Zeichen dafür, dass zwei benachbarte Phasenbitströme unterschiedlich sind. Da dieses Verhalten dem Einfangen einer '0' entspricht, wurde der Name Nullfalle zur Bezeichnung der Schaltung gewählt. Für jedes Signal DIFF(i) wird eine solche Nullfalle verwendet. Die Ausgangssignale der Nullfallen mit der niedrigeren Datenrate werden im folgenden als TRAP(i) bezeichnet.
  • Alternativ könnte genauso gut eine ,Einsfalle' statt einer ,Nullfalle' definiert und eingesetzt werden, die sich das Auftreten von einer oder mehreren '1' des Differenzsignals als Zeichen dafür merkt, dass zwei benachbarte Phasenbitströme unterschiedlich sind, falls das Signal DIFF durch den Wert '1' eine Differenz zweier Phasenbitströme anzeigt.
  • Nun wird eine Schaltung für die Auswahl des Phasenbitstroms aufgrund der TRAP-Signale erläutert. Für die Simulation werden für das Eingangsdatensignal zwei Arten von Störungen berücksichtigt, die hier mit Jitter und Wander bezeichnet werden. Diese Störungen werden durch die bereits beschriebenen Variationen während des Betriebs der Schaltung beispielsweise von Temperatur und Spannung erzeugt. Zunehmender Jitter wirkt sich auf die Phasenbitströme und TRAP-Signale so aus, dass zwischen den Datenbitströmen Gebiete mit zeitweise fehlerhaften Phasenbitströmen entstehen und die TRAP-Signale zeitweise den Signalpegel '0' haben. Solche Gebiete mit wechselnden Signalpegeln der TRAP-Signale aufgrund des Jitters sind in 26 zu sehen.
  • Weiterhin ist mit länger andauernden Störungen zu rechnen, die durch langsame Temperaturschwankungen oder langsamen Spannungsänderungen verursacht werden können. Dies wurde in den beschriebenen Simulationen so modelliert, dass die Bitdauer über mehrere Taktperioden zugenommen hat. Danach hat diese wieder abgenommen. Dadurch werden die Grenzen zwischen Datenbitströmen verschoben. In 26 ist diese Grenze durch das Jitter-Gebiet erkennbar. Durch die Zu- und Abnahme der Bitdauer über mehrere Taktperioden entsteht der sinusförmige Verlauf des Jitter- Gebietes in 26, da die Veränderung der Bitdauer exemplarisch als sinusförmig angenommen wird.
  • Die Aufgabe der Schaltungseinheit für die Auswahl des Phasenbitstroms ist nun, einen Weg (eine sogenannte Trajektorie) zwischen diesen Jitter-Gebieten zu suchen und immer einen Phasenbitstrom zu finden, der gegenüber den Eingangsdaten korrekte Daten liefert (Datenbitstrom). Dieser Weg ist in 26 als durchgezogene Linie dargestellt.
  • Ist beispielsweise die maximale Phasendifferenz zwischen Empfängertakt und Datensignal größer als die gesamte Verzögerungszeit der Verzögerungselemente, so ist eine Architektur bestehend aus zwei Selectoren 15, 16 sinnvoll, wie in 21 gezeigt. Jeder Selector ist als endlicher Automat realisiert und startet mit der Position eines beliebigen Phasenbitstromes. Nachdem ein korrekter Phasenbitstrom gefunden wurde, wird diese Wahl, falls notwendig, angepasst und so dem entsprechenden Datenbitstrom gefolgt. Der Automat hat sich dann auf diesen Datenbitstrom einsynchronisiert. Falls der erste Selector 15 dem Datenbitstrom nicht weiter folgen kann, so übernimmt der zweite Selector 16.
  • Die beiden Selectoren werden mit SelectorA bzw. SelectorB bezeichnet. 27 zeigt ein Szenario, in dem die beiden Selectoren A und B den Datenbitströmen folgend ihre Auswahl eines Phasenbitstromes anpassen. Zu sehen sind hier die TRAP-Signale, also die über jeweils eine Taktperiode mittels Nullfallen akkumulierten Differenzsignale zweier benachbarter Phasenbitströme. Der Jitter-Bereich des Datensignals macht sich also durch niedrige Signalpegel auf diesen TRAP-Signalen bemerkbar. Während in 26 der Jitter-Bereich recht groß ist, beansprucht er in 27 einen kleineren Bereich. Es werden also zwei unterschiedliche Datensignale betrachtet. Der Jitter-Bereich ist in beiden Fällen nicht auf bestimmte Phasenbitströme beschränkt. Durch eine Verschiebung der Phasenlage des Datensignals relativ zum Referenztakt (Wanden) verschiebt sich die Position des Jitter-Bereiches innerhalb der Phasenbitströme. Damit verschieben sich auch die Positionen der Datenbitströme. Diese Verschiebung wird von den Selectoren erkannt, die ihre Auswahl eines Phasenbitstromes entsprechend anpassen. Ein Selector synchronisiert sich auf einen Datenbitstrom ein und wählt einen Phasenbitstrom aus.
  • In dem Beispiel in 26 ist die Amplitude des Wander gering, so dass der Selector, dessen Auswahl markiert ist, dem Phasenbitstrom folgen kann. Sind die Frequenzen der beiden Signale leicht unterschiedlich (großer Wander), wie dies im Beispiel in 27 der Fall ist, so kann ein Selector dem Datenbitstrom, auf den er einsynchronisiert ist, nicht beliebig lange folgen. Die Phasendifferenz der beiden Signale wird größer als die gesamte Verzögerungszeit der Verzögerungskette, und der Datenbitstrom wird nicht mehr durch Phasenbitströme repräsentiert, d.h. der Datenbitstrom verlässt den durch die Phasenbitströme dargestellten Bereich. Um auch in diesem Fall die Daten sicher extrahieren zu können, sind zwei identische Selectoren implementiert, die auf direkt benachbarte Datenbitströme einsynchronisiert sind. Fällt der Datenbitstrom eines der Selectoren aus dem Bereich hinaus, so übernimmt der andere die Datenauswahl. Welcher Selector die Entscheidung trifft ist in 27 im Signal cur_read_s dargestellt.
  • Ist ein Selector nicht mehr auf einen Datenbitstrom einsynchronisiert, so sucht er einen neuen Datenbitstrom, der direkt zum Datenbitstrom, auf den sich der andere Selector einsynchronisiert hat, benachbart ist. Implementiert sind beide Selectoren als identische synchrone endliche Automaten. Das Zustandsdiagramm eines Selectors ist in 28 dargestellt. Ein Zustand ist als Paar z = (s; p) von Kontrollzustand (s) und Kontrollposition (p) definiert. Es gilt
    s ∊ {SEEKNEXTUP; SEEKNEXTDOWN; SEEKUP; SEEKDOWN; SYNC; LOST}
    und, da N = 20
    p ∊ {2... 17}.
  • Als Eingangsdaten stehen die TRAP-Signale der Phasenbitströme zur Verfügung.
  • Der Automat startet mit beliebiger Kontrollposition im Kontrollzustand s = SEEKUP. In jedem Taktzyklus wird nun sowohl Kontrollposition (im folgenden auch einfach als Position bezeichnet), als auch Kontrollzustand angepasst. Zu Beginn wird die Position solange erhöht, bis die Bedingung für das sichere Auffinden eines Datenbitstromes erfüllt ist. Für diese gilt, dass während der letzten Periode die Daten der vier zum aktuell ausgewählten Phasenbitstrom p nächst gelegenen Phasenbitströme identisch waren. Diese Eigenschaft zeigt sich, wenn die entsprechenden Differenzsignale keinen Unterschied anzeigen, also alle vier Nullfallen keinen '0'-Signalpegel der Differenzsignale detektieren. Der Automat geht unter dieser Bedingung in den Zustand SYNC über, und die Daten des ausgewählten Phasenbitstromes p werden als korrekt angenommen. Die Bedingung, dass die vier zur aktuellen Position p nächsten Phasenbitströme identisch sind, wird im Folgenden mit (1; 1; 1; 1)P bezeichnet. Für eine gegebene Kontrollposition p werden die Eigenschaften der vier nächsten Phasenbitströme durch folgendes 4-Tupel erfasst, indem die Differenzsignale ausgewertet werden:
    (TRAP(p – 1); TRAP(p); TRAP(p + 1); TRAP(p + 2))P Das Tupel (1; 1; 1; 1)P beispielsweise bedeutet, dass die Phasenbitströme SAMPLE(p – 2), SAMPLE(p – 1), SAMPLE(p), SAMPLE(p + 1) und SAMPLE(p + 2) alle während der letzten Periode von clk s i identische Daten hatten. Das Tupel (0; 1; 1; 1)P zeigt an, dass in den Phasenbitströmen SAMPLE(p – 2) und SAMPLE(p – 1) unterschiedliche Werte aufgetreten sind, diese also im Jitter-Bereich liegen.
  • Der Automat ist unter der Bedingung (1; 1; 1; 1)P im Kontrollzustand s = SYNC, und die Position bleibt konstant. Durch Wander oder die Veränderung des Jitterverhaltens, ist diese Bedingung nicht mehr unbedingt erfüllt. Gilt beispielsweise (0; 1; 1; 1)P , so wird die Position angepasst, da der ausgewählte Phasenbitstrom p recht nahe an einen potentiell fehlerhaften Phasenbitstrom liegt und in den Jitter-Bereich geraten könnte. In dieser Situation bleibt der Automat im Zustand s = SYNC, passt aber seine Position an (p → p + 1). Der Selector weicht sozusagen den fehlerhaften Phasenbitströmen aus. Dies ist in 29 in einem Ausschnitt gezeigt.
  • Aus den aktuellen Werten dieses 4-Tupels wird mit einem Korrelationsmaß der Korrelationsvektor (mlp, mrp) des ausgewählten Phasenbitstromes p folgendermaßen berechnet: mlp = ((TRAP(p) + (TRAP(p)·TRAP(p – 1))/2 mrp = ((TRAP(p + 1) + (TRAP(p + 1)·TRAP(p + 2))/2
  • Damit ergeben sich folgende Fälle:
    (1;1;1;1) ⇒ mlp = 1 und mrp = 1 (
    1;1;1;0) ⇒ mlp = 1 und mrp = 0.5
    (1;1;0;x) ⇒ mlp = 1 und mrp = 0
    (0;1;1;1) ⇒ mlP = 0.5 und mrP = 1
    (x;0;1;1) ⇒ mlP = 0 und mrp = 1
    (0;1;1;0) ⇒ mlP = 0.5 und mrP = 0.5
    (x;0;0;y) ⇒ mlP = 0 und mrP = 0
    wobei x und y für beliebige Werte 0 oder 1 stehen.
  • Die Anpassung der Auswahl eines Phasenbitstromes wird entsprechend dieses Korrelationsvektors vorgenommen. Gilt mlP < mrP, so findet eine Anpassung der Position nach rechts (p → p + 1) statt, gilt mlp > mrP , so findet eine Anpassung der Position nach links (p → p – 1) statt.
  • Auf diese Weise wird der ausgewählte Phasenbitstrom immer in einem sicheren Bereich gehalten. Der Selector hat sich auf einen Datenbitstrom einsynchronisiert und folgt diesem. Das funktioniert aber nur, wenn der Jitter-Bereich und der Wander nicht zu groß ist.
  • In drei Situationen kann diese Synchronisation verloren gehen. Dies ist der Fall, wenn der Wanden zu stark ist, der Jitter einen zu großen Anteil an der Bitzeit hat, oder wenn der Datenbitstrom, auf den der Selector einsynchronisiert ist, aus dem durch die Phasenbitströme repräsentierten Bereich herausläuft. In jedem dieser Fälle geht der Automat in den Kontrollzustand s = LOST über und wird durch die Logik, die beide Selectoren koordiniert (Modul coordSelectors 14 in 21) zurückgesetzt. Läuft der Datenbitstrom aus dem durch die Phasenbitströme repräsentierten Bereich heraus, so ist garantiert, dass der benachbarte Datenbitstrom von dem anderen Selector ausgewählt wird. In den beiden anderen Fällen ist das Datensignal signifikant schlechter geworden, so dass unter Umständen beide Selectoren in den Zustand s = LOST übergegangen sind. In diesem Fall treten Bitfehler auf und die ganze Schnittstelle wird zurückgesetzt, da sich beide Selectoren auf jeweils einen neuen Datenbitstrom einsynchronisieren.
  • Die beiden Selectoren sind aufeinander abgestimmt, da sie immer auf direkt benachbarte Datenbitströme synchronisiert sind. Um diesen Zustand zu erreichen sind viele Varianten denkbar. In diesem Beispiel haben die zugehörigen Automaten die beiden Zustände SEEKNEXTUP und SEEKNEXTDOWN. Ist ein Automat auf einen Datenbitstrom einsynchronisiert und wird der andere Automat zurückgesetzt, so findet dieser den direkt benachbarten Datenbitstrom, der beispielsweise durch Phasenbitströme mit höherem Index repräsentiert ist, indem er im Kontrollzustand s = SEEKNEXTUP startet und die Kontrollposition des einsynchronisierten Automaten übernimmt. Der Kontrollzustand wird nun bei jedem Takt erhöht, bis er sich im Jitter-Bereich zum nächsten Datenbitstrom befindet. Dies wird durch die Bedingung (x,; 0; 0; x2)p festgestellt, wobei x1 und x2 einen beliebigen Wert ('0' oder '1') repräsentiert, da hier der Korrelationsvektor den Wert (0,0) hat. Ist diese Bedingung erfüllt, so ist der Jitter-Bereich zum nächsten Datenbitstrom erkannt und der Automat geht in den Kontrollzustand SEEKUP über. Der nächste Phasenbitstrom, der die Bedingung (1; 1; 1; 1)p erfüllt, wird gesucht, damit sich der Selector auf den direkt benachbarten Datenbitstrom einsynchronisieren kann und der Automat in den Zustand s = SYNC übergeht. Der Zustand SEEKNEXTDOWN wird entsprechend benötigt, wenn der benachbarte Datenbitstrom, der durch Phasenbitströme mit niedrigerem Index repräsentiert ist, gesucht wird.
  • Aufgabe der oben beschriebenen Auswertungseinheit ist es, den korrekten Datenstrom aus den Phasenbitströmen zu gewinnen. Als korrekt werden die Daten, die vom Sender übertragen wurden, angesehen. Da diese offenbar nicht bekannt sind, da sie ja sonst nicht übertragen werden müssten, sind sie anhand anderer Merkmale zu bestimmen. Die Interpretation des empfangenen Datensignals und damit auch der Phasenbitströme bestimmt im Bezug zu den übertragenen Daten die Übertragungsfehlerrate (bit error rate, BER). Nachfolgend wird die beschriebene Implementierung der Auswertungseinheit nochmals allgemeiner dargestellt.
  • Die Auswertungseinheit ist in zwei Taktbereiche aufgeteilt. Es wird ein erster Takt mit Periode T1 und synchron dazu ein zweiter Takt mit T2 = n T1 verwendet. Der Faktor n ist wählbar. Zunächst müssen Phasenbitströme erkannt werden, die im Jitterbereich liegen.
  • Durch gegenseitigen Vergleich der Phasenbitströme wird festgestellt, welche Phasenbitströme zu welchen Datenbitströmen gehören. Die Phasenbitströme in der Nähe eines Überganges zwischen zwei benachbarten Datenbitströmen liegen im Jitterbereich. Durch den Vergleich von mindestens zwei ausgewählten Phasenbitströmen werden die Grenzen zwischen den Datenbitströmen erkannt, wenn ein Datensignalwechsel auftritt, also '10' oder '01' übertragen wird. Beispielsweise kann der Vergleich mit allen Paaren direkt benachbarter Phasenbitströme durchgeführt werden. Benachbarte Phasenbitströme, deren Werte unterschiedlich sind, liegen im Jitterbereich. Jeweils zwei be nachbarte Phasenbitströme a und b werden mittels der logischen Verknüpfung, z.B. NXOR, miteinander verknüpft und damit festgestellt, ob deren Werte identisch sind. Es wird jeweils ein Differenzsignal c berechnet. Genau dann, wenn NXOR(a, b) = c = 0 gilt, a und b also unterschiedliche Werte haben, liegen beide Phasenbitströme a und b im Jitterbereich.
  • Nun werden die Information aus dem vorangegangenen Schritt mit dem Ziel, sicherere Aussagen über die einzelnen Phasenbitströme machen zu können und die Information in den Taktbereich des zweiten Taktes zu überfragen, akkumuliert. Dieser Schritt ist optional, aber in vielen Fällen wünschenswert. Die Ergebnisse des Vergleichs aus dem ersten Schritt werden über die Zeit beobachtet und ggf. gewichtet. Synchron zu dem zweiten Takt werden Aussagen über die Zugehörigkeit von Phasenbitströmen zu Datenbitströmen und Phasenbitströmen im Jitterbereich gewonnen. Alle Phasenbitströme, die in einer bestimmten vergangenen Zeitspanne des vorangegangenen Schritts dem Jitterbereich zugeordnet wurden, werden dem Jitterbereich zugeordnet, alle anderen Phasenbitströme jeweils den entsprechenden Datenbitströmen. Die Datenbitströme werden von Jitterbereichen begrenzt. Diese Zuordnungen werden synchron zu dem zweiten Takt getroffen. Jedes Differenzsignal c aus dem vorangegangenen Schritt wird mit Hilfe einer sogenannten Nullfalle über eine Taktperiode des zweiten Takts beobachtet. Tritt in dieser Zeit c = 0 auf, dann geht die Nullfalle vom initialen Zustand '1' in den Zustand '0' über. Synchron zu dem zweiten Takt werden alle Nullfallen ausgewertet und zurückgesetzt. Phasenbitströme, die Einfluss auf eine Nullfalle, die sich bei Auswertung im Zustand '0' befindet, haben, werden dem Jitterbereich zugeordnet.
  • Anschließend erfolgt nun die Auswahl und Anpassung der Auswahl eines/mehrerer Phasenbitströme aufgrund der Information aus dem zweiten Schritt innerhalb des Taktbereiches des zweiten Takts. Entsprechend der Aussagen aus dem zweiten Schritt wird der Phasenbitstrom mit der geringsten Fehlerwahrscheinlichkeit ausgewählt und dessen Daten als empfangene korrekte Daten angenommen. Ein Mechanismus synchronisiert sich auf einen Datenbitstrom ein, indem er die Informationen aus dem zweiten Schritt nutzt. Die Daten dieses Datenbitstroms werden als korrekt angenommen. Kann dem Datenbitstrom nicht mehr gefolgt werden, so synchronisiert sich der Mechanismus auf einen anderen Datenbitstrom ein, dessen Daten nun als korrekt angenommen werden. Ein endlicher Automat synchronisiert sich auf einen Datenbitstrom ein, indem er die Jitterbereiche erkennt und seine Auswahl eines Phasenbitstroms inner halb dieses Datenbitstroms in ausreichender Entfernung von diesen Jitterbereichen hält. Es werden dazu beispielsweise die 2n zum aktuell ausgewählten Phasenbitstrom nächsten Differenzsignale aus dem zweiten Schritt betrachtet, n auf jeder Seite. Wird an einer Seite ein Jitterbereich erkannt, so weicht der Automat mit seiner Auswahl zur anderen Seite aus. Kann die Auswahl nicht mehr angepasst werden, weil z.B. in der entsprechenden Richtung kein Phasenbitstrom mehr zu Verfügung steht, so sucht der Automat einen anderen Datenbitstrom, auf den er sich einsynchronisiert. Damit in der Zeitspanne, die der Automat benötigt, einen anderen Datenbitstrom zu finden, keine Daten verloren gehen, existiert ein zweiter identischer Automat, der auf einen anderen Datenbitstrom einsynchronisiert ist und die Phasenbitstrom-Auswahl übernehmen kann.
  • 30 zeigt eine alternative Ausgestaltung zur Implementierung der Abtasteinheit. Während bei der in den 13, 15 und 17 gezeigten Ausgestaltung die Verzögerungselemente 10 seriell angeordnet sind und im wesentlichen eine gleich große Verzögerungszeit aufweisen, sind bei dieser Ausgestaltung die Verzögerungselemente 10' parallel angeordnet und weisen unterschiedlichen Verzögerungszeiten auf. Diese Verzögerungszeiten sind jedoch alle kleiner als die Taktperiode des Empfängertaktsignals data_i und entsprechen jeweils einem Vielfachen der kleinsten Verzögerungszeit eines der Verzögerungselemente 10. Diese Ausgestaltung kann sowohl in der in 13 gezeigten Konstellation, also zur Erzeugung mehrerer phasenverschobener Empfängertaktphasen CKP(0..N – 1) aus dem Empfängertaktsignal clk_f_i, oder in der in 15 gezeigten Konstellation, also zur Erzeugung mehrerer phasenverschobener Datensignalphasen RAW(0..N – 1) aus dem Eingangsdatensignal data_i, verwendet werden.
  • 31 zeigt eine weitere Ausgestaltung zur Implementierung der Abtasteinheit durch Kombination von parallel angeordneten Verzögerungselementen 10' mit unterschiedlichen Verzögerungszeiten und seriell angeordneten Verzögerungselementen 10 mit identischen Verzögerungszeiten. Dadurch kann die Verzögerungskette kurz gehalten und trotzdem ein weiter Phasenbereich abgedeckt werden. Die Kombination der Parallelschaltung der Verzögerungselemente 10' mit den seriell angeordneten Verzögerungselementen 10 kann dabei bei Bedarf dynamisch angepasst werden. Eine solche Anpassung kann, wie in der 31 angedeutet, beispielsweise in der Auswerteeinheit 7 durch Eigenschaften der Phasenbitströme bestimmt werden. Auch diese Ausgestaltung kann zur Erzeugung mehrerer Empfängertaktphasen oder Datensignalpha sen verwendet werden, vermeidet aber nach wie vor das Problem Timing-kritischer Pfade. Über dieses Beispiel hinaus können seriell und parallel angeordnete Verzögerungselemente in verschiedenster Art und Weise kombiniert werden, um die Signale zu erzeugen, mittels derer die Phasenbitströme gewonnen werden.
  • 32 zeigt ein Blockschaltbild einer weiteren Ausgestaltung der erfindungsgemäßen, bereits in 21 gezeigten Auswerteeinheit, wobei Details hinsichtlich der gleichzeitigen Extraktion von mehreren Bits aus dem Datensignal erkennbar sind. Dabei sind in der Auswerteeinheit mehrere Auswahleinheiten (Selectoren) 15' vorgesehen, wobei die Selectoren 15' von der Auswertesteuereinheit 14' gesteuert werden. Jeder Selector 15' weist dann wieder eine in den 26 und 27 gezeigte Trajektorie auf. Je nach Datenrate und Empfängertakt können mehrere Datenbits gleichzeitig pro Periode des Empfängertaktsignals extrahiert und damit die Übertragungsrate gesteigert oder die Empfängertaktrate gesenkt werden.
  • Die erfindungsgemäße Schaltungsanordnung kann als Teilschaltung in einer integrierten Schaltung zur Übtragung digitaler Daten (mit z.B. einer Taktrate von über 500MHz) verwendet werden. Die wesentliche Idee beruht auf einer vielphasigen Überabtastung der Daten in verschiedene Phasenbitströme und anschließenden Auswertung, insbesondere durch Auswahl des richtigen Phasenbitstroms. Dieser Schaltungsvorschlag stellt eine andere Lösung des bekannten Datenübertragungsproblems bei hohen Datenraten dar. Der Vorteil dieses Schaltungsvorschlags ist eine einfachere Implementierung auf dem IC, da ein Semicustom Design Flow verwendet werden kann, falls dies gewünscht wird.

Claims (19)

  1. Schaltungsanordnung zur Extraktion von Daten aus einem seriellen Datensignal für eine hochbitratige Übertragung der Daten zwischen oder innerhalb von integrierten Schaltungen mit – einer Abtasteinheit zur mehrfachen Abtastung des Datensignals innerhalb einer Taktperiode eines Empfängertaktsignals zur Erzeugung mehrerer zum Empfängertakt synchroner Phasenbitströme, und – einer Auswerteeinheit zur Bestimmung einer bestmöglich mit den Daten des Datensignals übereinstimmenden Datenfolge durch Auswertung von Korrelationseigenschaften der erzeugten synchronen Phasenbitströme und zur Ausgabe der Datenfolge.
  2. Schaltungsanordnung nach Anspruch 1, dadurch gekennzeichnet, dass die Abtasteinheit ungeregelt ist und zur mehrfachen Abtastung des Datensignals mittels eines einzigen der Abtasteinheit zugeführten Empfängertaktsignals ausgestaltet ist.
  3. Schaltungsanordnung nach Anspruch 1, dadurch gekennzeichnet, dass die Abtasteinheit zur mehrfachen parallelen Abtastung verschiedener Phasen des Datensignals innerhalb einer Taktperiode des Empfängertaktsignals zur Erzeugung der Phasenbitströme ausgestaltet ist.
  4. Schaltungsanordnung nach Anspruch 3, dadurch gekennzeichnet, dass die Abtasteinheit mehrere in Serie angeordnete Verzögerungselemente mit einer im wesentlichen identischen Verzögerungszeit, die kleiner als die Taktperiode des Empfängertaktsignals ist, und/oder mehrere parallel angeordnete Verzögerungselement mit unterschiedlichen Verzögerungszeiten, die kleiner als die Taktperiode des Empfängertaktsignals sind, zur Erzeugung mehrerer phasenver schobener Datensignalphasen zwischen den Verzögerungselementen aus dem empfangenen Datensignal und Mittel zur parallelen Abtastung der phasenverschobenen Datensignale mit dem Empfängertakt aufweist.
  5. Schaltungsanordnung nach Anspruch 1, dadurch gekennzeichnet, dass die Abtasteinheit zur mehrfachen phasenverschobenen Abtastung des Datensignals innerhalb einer Taktperiode des Empfängertaktsignals zur Erzeugung der Phasenbitströme ausgestaltet ist.
  6. Schaltungsanordnung nach Anspruch 5, dadurch gekennzeichnet, dass die Abtasteinheit mehrere in Serie angeordnete Verzögerungselemente mit einer im wesentlichen identischen Verzögerungszeit, die kleiner als die Taktperiode des Empfängertaktsignals ist, und/oder mehrere parallel angeordnete Verzögerungselement mit unterschiedlichen Verzögerungszeiten, die kleiner als die Taktperiode des Empfängertaktsignals sind, zur Erzeugung mehrerer phasenverschobener Taktphasen zwischen den Verzögerungselementen aus dem Empfängertaktsignal und Mittel zur phasenverschobenen Abtastung des empfangenen Datensignals mit den Taktphasen aufweist.
  7. Schaltungsanordnung nach Anspruch 4 oder 6, dadurch gekennzeichnet, dass die Verzögerungselemente ungeregelt, insbesondere ohne Mittel zur Einstellung der Verzögerungszeit, ausgestaltet sind.
  8. Schaltungsanordnung nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass die Auswerteeinheit zur Bestimmung der Datenfolge aus mindestens zwei Phasenbitströmen, insbesondere zwei benachbarten Phasenbitströmen, ausgestaltet ist.
  9. Schaltungsanordnung nach Anspruch 8, dadurch gekennzeichnet, dass die Auswerteeinheit mindestens eine Auswahleinheit zur Auswahl eines bestmöglich mit den Daten des empfangenen Datensignals übereinstimmenden Phasenbitstroms durch Auswertung der Korrelationseigenschaften, insbesondere durch gegenseitigen Vergleich der erzeugten Phasenbitströme, aufweist.
  10. Schaltungsanordnung nach Anspruch 9, dadurch gekennzeichnet, dass die Auswerteeinheit mehrere Auswahleinheiten und eine Auswertungssteuereinheit zur Koordinierung der Auswahleinheiten und zur Bestimmung der extrahierten Datenfolge aus den Phasenbitströmen aufweist.
  11. Schaltungsanordnung nach einem der Ansprüche 7 bis 10, dadurch gekennzeichnet, dass die mindestens eine Auswahleinheit eine Differenzbildungseinheit zur Bildung mindestens eines Differenzsignals zwischen mindestens zwei Phasenbitströmen zur Prüfung der Korrelation der Phasenbitströme aufweist.
  12. Schaltungsanordnung nach Anspruch 11, dadurch gekennzeichnet, dass die Differenzbildungseinheit zur Bildung von Differenzsignalen zwischen jeweils zwei benachbarte Phasenbitströmen ausgestaltet ist.
  13. Schaltungsanordnung nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass die mindestens eine Auswahleinheit eine Detektionseinheit zur Bestimmung der Korrelationseigenschaften über einen vorgegebenen Zeitraum und zur Erzeugung eines Korrelationssignals aufweist.
  14. Schaltungsanordnung nach einem der Ansprüche 11 bis 13, dadurch gekennzeichnet, dass die mindestens eine Auswahleinheit zur Anpassung der Auswahl eines Phasenbitstromes durch Auswertung der Korrelationssignale oder der Korrelationseigenschaften in regelmäßigen Zeitabständen ausgestaltet ist.
  15. Schaltungsanordnung nach Anspruch 10, dadurch gekennzeichnet, dass die Auswertungssteuereinheit zur Koordinierung der Auswahleinheiten und zur lückenlosen Extraktion der Datenfolge durch Auswertung mindestens eines von einer Auswahleinheit ausgewählten Phasenbitstromes ausgestaltet ist.
  16. Schaltungsanordnung nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass die Schaltungsanordnung mittels Zellen einer Standardzellbibliothek eines Semicustom Design Flows ausgestaltet ist.
  17. Schaltungsanordnung nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass die Schaltungsanordnung mittel eines Semicustom Design Flows implementiert ist.
  18. Schaltungsanordnung nach Anspruch 16, dadurch gekennzeichnet, dass die Platzierung von Zellen der Standardzellbibliothek, vorzugsweise von Elementen der Abtasteinheit, insbesondere von Verzögerungselementen, durch manuelle Beeinflussung ausgestaltet ist.
  19. Verfahren zur Extraktion von Daten aus einem seriellen Datensignal für eine hochbitratige Übertragung der Daten zwischen oder innerhalb von integrierten Schaltungen mit den Schritten: – mehrfache Abtastung des Datensignals innerhalb einer Taktperiode eines Empfängertaktsignals zur Erzeugung mehrerer zum Empfängertakt synchroner Phasenbitströme, – Bestimmung einer bestmöglich mit den Daten des Datensignal übereinstimmenden Datenfolge durch Auswertung von Korrelationseigenschaften der erzeugten synchronen Phasenbitströme und – Ausgabe der Datenfolge.
DE2002151950 2002-11-08 2002-11-08 Schaltungsanordnung und Verfahren für Hochgeschwindigkeitsdatentransfer Withdrawn DE10251950A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE2002151950 DE10251950A1 (de) 2002-11-08 2002-11-08 Schaltungsanordnung und Verfahren für Hochgeschwindigkeitsdatentransfer
AU2003286154A AU2003286154A1 (en) 2002-11-08 2003-11-06 Circuit and method for high speed data transfer
PCT/EP2003/012390 WO2004042994A1 (de) 2002-11-08 2003-11-06 Schaltungsanordnung und verfahren für hochgeschwindigkeitsdatentransfer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2002151950 DE10251950A1 (de) 2002-11-08 2002-11-08 Schaltungsanordnung und Verfahren für Hochgeschwindigkeitsdatentransfer

Publications (1)

Publication Number Publication Date
DE10251950A1 true DE10251950A1 (de) 2004-05-19

Family

ID=32115373

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2002151950 Withdrawn DE10251950A1 (de) 2002-11-08 2002-11-08 Schaltungsanordnung und Verfahren für Hochgeschwindigkeitsdatentransfer

Country Status (3)

Country Link
AU (1) AU2003286154A1 (de)
DE (1) DE10251950A1 (de)
WO (1) WO2004042994A1 (de)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0317159A2 (de) * 1987-11-19 1989-05-24 AT&T Corp. Taktwiedergewinnungsanordnung
EP0339515A1 (de) * 1988-04-29 1989-11-02 Siemens Aktiengesellschaft Verfahren und Anordnung zur Taktrückgewinnung aus einem Datensignal durch fortlaufende Anpassung eines örtlich erzeugten Taktes an ein Datensignal
EP0390958A1 (de) * 1989-04-07 1990-10-10 Siemens Aktiengesellschaft Verfahren zur Datentaktregenerierung für Datensignale und Schaltungsanordnung zur Durchführung des Verfahrens
DE69400075T2 (de) * 1993-04-22 1996-07-18 France Telecom Verfahren und Vorrichtung zur Taktrückgewinnung und Synchronisierung für den Empfang über ein ATM-Netz übertragener Daten
US5671258A (en) * 1994-12-20 1997-09-23 3Com Corporation Clock recovery circuit and receiver using same
EP0942553A2 (de) * 1998-03-12 1999-09-15 Nec Corporation Taktrückgewinnungsschaltung mit überabtastung und vermindertem Leistungsverbrauch
DE19904494A1 (de) * 1998-01-28 1999-09-23 Nec Corp Bitsynchronisierungsschaltung
EP1089484A2 (de) * 1999-10-01 2001-04-04 Quantum Bridge Communications, Inc. Verfahren und Vorrichtung zur Rückgewinnung von schellen Burstmodedaten

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE59008700D1 (de) * 1989-09-19 1995-04-20 Siemens Ag Synchronisiereinrichtung für ein Digitalsignal.
JP3386221B2 (ja) * 1994-03-17 2003-03-17 富士通株式会社 非同期データのクロック乗換回路
EP0738057A3 (de) * 1995-04-12 1998-05-20 Siemens Aktiengesellschaft Verfahren und Anordnung zur Bitsynchronisation
US5822386A (en) * 1995-11-29 1998-10-13 Lucent Technologies Inc. Phase recovery circuit for high speed and high density applications

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0317159A2 (de) * 1987-11-19 1989-05-24 AT&T Corp. Taktwiedergewinnungsanordnung
EP0339515A1 (de) * 1988-04-29 1989-11-02 Siemens Aktiengesellschaft Verfahren und Anordnung zur Taktrückgewinnung aus einem Datensignal durch fortlaufende Anpassung eines örtlich erzeugten Taktes an ein Datensignal
EP0390958A1 (de) * 1989-04-07 1990-10-10 Siemens Aktiengesellschaft Verfahren zur Datentaktregenerierung für Datensignale und Schaltungsanordnung zur Durchführung des Verfahrens
DE69400075T2 (de) * 1993-04-22 1996-07-18 France Telecom Verfahren und Vorrichtung zur Taktrückgewinnung und Synchronisierung für den Empfang über ein ATM-Netz übertragener Daten
US5671258A (en) * 1994-12-20 1997-09-23 3Com Corporation Clock recovery circuit and receiver using same
DE19904494A1 (de) * 1998-01-28 1999-09-23 Nec Corp Bitsynchronisierungsschaltung
EP0942553A2 (de) * 1998-03-12 1999-09-15 Nec Corporation Taktrückgewinnungsschaltung mit überabtastung und vermindertem Leistungsverbrauch
EP1089484A2 (de) * 1999-10-01 2001-04-04 Quantum Bridge Communications, Inc. Verfahren und Vorrichtung zur Rückgewinnung von schellen Burstmodedaten

Also Published As

Publication number Publication date
WO2004042994A1 (de) 2004-05-21
AU2003286154A1 (en) 2004-06-07

Similar Documents

Publication Publication Date Title
DE10300690B4 (de) Digitale DLL-Vorrichtung zum Korrigieren des Tastverhältnisses und dessen Verfahren
DE602004004533T2 (de) Phasenmischschaltung mit verzögertem regelkreis
DE69408749T2 (de) Verfahren und Vorrichtung zur digitalen Zeitverzögerung
DE69633539T2 (de) Taktverteilungsschaltung
DE69837689T2 (de) Zeitgeberschaltung, Vorrichtung und System für integrierten Halbleiterschaltkreis unter deren Anwendung und Signalübertragungssystem
DE102007030117B4 (de) Programmierbare Verzögerung für Taktphasen-Fehlerkorrektur
EP0389662B1 (de) Verfahren zum Synchronisieren der Phase von Taktsignalen zweier Taktgeneratoren in Kommunikationsnetzen
DE112007000758B4 (de) Datensignal-Erzeugungsvorrichtung #
DE10014477B4 (de) Verfahren und System zum Synchronisieren von mehreren Untersystemen unter Anwendung eines spannungsgesteuerten Oszillators
DE10300540A1 (de) Digitale DLL-Vorrichtung zum Korrigieren des Tastverhältnisses und dessen Verfahren
DE69734954T2 (de) Verfahren und Vorrichtung zur Einphasung von digitalen Zeitsignalen wie z.B. einem Taktsignal und einem Datenstrom
DE19825986A1 (de) Takterzeugungsschaltung mit hoher Auflösung der Verzögerungszeit zwischen externem und internem Taktsignal
DE4330600A1 (de) Variable Verzögerungsstufe und Taktversorgungsvorrichtung mit einer solchen Stufe
DE19849779C2 (de) Taktgenerator und Takterzeugungsverfahren, die in der Lage sind, eine Taktfrequenz ohne Erhöhen der Anzahl von Verzögerungselementen zu ändern
DE60211244T2 (de) Halbleiterbauelement
DE102005024648A1 (de) Elektrische Schaltung zum Messen von Zeiten und Verfahren zum Messen von Zeiten
DE19625185C2 (de) Präzisionstaktgeber
DE69719467T2 (de) Schaltung zur Verzögerungskompensation und zur Resynchronisation für Phasenregelschleifen
DE69426975T2 (de) Nachgetriggerter oszillator für zitterfreie frequenzsynthese mit einem phasenregelkreis
EP0363513B1 (de) Verfahren und Schaltungsanordnung zum Empfang eines binären Digitalsignals
DE10243765A1 (de) Halbleitervorrichtung mit Verzögerungskorrekturfunktion
DE10138883B4 (de) Verfahren sowie Vorrichtung zur synchronen Signalübertragung zwischen Logik-/Speicherbausteinen
DE10310065B4 (de) Verfahren und Vorrichtung für eine Verzögerungsverriegelungsschleife
DE60220338T2 (de) Schaltung und Methode zur Erzeugung eines verzögerten internen Taktsignals
DE10312260A1 (de) Verzögerungsregelschleife, die einen Kantendetektor und eine feste Verzögerung aufweist

Legal Events

Date Code Title Description
OM8 Search report available as to paragraph 43 lit. 1 sentence 1 patent law
8110 Request for examination paragraph 44
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20120601