DE10251950A1 - Circuit for extracting data from serial data signal for high bit-rate transmission between or within integrated circuits, determines best fit of data sequence matching data signal received by evaluating correlation characteristics - Google Patents
Circuit for extracting data from serial data signal for high bit-rate transmission between or within integrated circuits, determines best fit of data sequence matching data signal received by evaluating correlation characteristics Download PDFInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/02—Speed or phase control by the received code signals, the signals containing no special synchronisation information
- H04L7/033—Speed 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/0337—Selecting between two or more discretely delayed clocks or selecting between two or more discretely delayed received code signals
- H04L7/0338—Selecting 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
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.The invention relates to a circuit arrangement for extracting data from a serial data signal for high bit rate transmission the data between or within integrated circuits as well a corresponding procedure.
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.With every new process technology for integrated Circuits takes away the integration density and the associated maximum possible circuit complexity (currently around 10 million transistors per IC). Because the design effort with the circuit complexity increases rapidly, are computer-aided design processes essential. The art of The design of complex ICs is the automatic generation of one Gate network list from a hardware description in a suitable Hardware modeling language (e.g. VHDL, Verflog or SystemC) with a so-called synthesis tool. The Generated circuit at the gate level is continued by further automatic placement and wiring steps in a mask layout for the IC manufacturing transferred. This Design flow is called semicustom design flow.
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.In addition to increasing complexity, they work integrated circuits at ever higher clock rates or data rates. Furthermore, the amount of data to be exchanged between ICs is increasing or between the function blocks strongly on an IC. Because the maximum pin count of IC packages in many cases a limitation for the Number of data lines represents multiple data streams over lines transmitted in time-division multiplex become. Therefore, or because the output data stream is already high bit rate is, it is required that serial data streams with very high data rates (e.g. ≥ 500 Mbit / s) can be sent and received. The established circuits for this But high-speed connections are based on design processes, which is a high level of manual work, not the semicustom design flow are to be assigned. The manual draft extends to to the level of the mask layout and is called a full custom design Flow called. The implementation of a circuit in a full Custom design flow is because of the geometry setting at the mask layout level also called hard macro.
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.The object of the invention is therefore based on a circuit and a corresponding method for extraction data from a received serial data signal for fast, so high bit rate transmission to indicate the data between or within integrated circuits that the use of a semicustom design flow in the design and one enable easier implementation on an IC.
Diese Aufgabe wird erfindungsgemäß gelöst durch eine Schaltungsanordnung nach Anspruch 1 mitAccording to the invention, this object is achieved by a circuit arrangement according to claim 1 with
- – einer Abtasteinheit zur mehrfachen Abtastung des Datensignals innerhalb einer Taktperiode eines Empfängertaktsignals zur Erzeugung mehrerer zum Empfängertakt synchroner Phasenbitströme, und- one Sampling unit for multiple sampling of the data signal within a clock period of a receiver clock signal to generate several to the receiver clock synchronous phase bit streams, and
- – 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.- one Evaluation unit for determining one that best matches the data of the data signal Data sequence by evaluating correlation properties of the generated synchronous phase bit streams and to output the data sequence.
Ein entsprechendes erfindungsgemäßes Verfahren ist in Anspruch 19 angegeben. Vorteilhafte Ausgestaltungen sind in den Unteransprüchen angegeben.A corresponding method according to the invention is specified in claim 19. Advantageous configurations are in the subclaims specified.
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.In contrast to the known solutions based the circuit arrangement according to the invention, also known as a Synthesizable High Speed Receiver, on a semicustom design flow. Except for the placement less Cells it is possible only automatic design steps of a semicustom design flow to use. The economic benefit of this circuit architecture lies in a shorter one Development cycle, due to easier portability to new process technologies the ability to be synthesized and easier to integrate in a circuit environment based on a semicustom design flow based. In particular, there can be a significant reduction in the invention the number of global timing critical paths can be achieved that the use of a semicustom design flow is made possible.
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.The invention can be used both for data transmission between integrated circuits, including data transmission between multiple chips or different This is supposed to be included, so also within a single integrated circuit, including what a data transfer on a single chip or a single die that is to be included are used.
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.According to the serial data signal so-called phase bit streams generated. Their correlation properties are then evaluated, i.e. it is checked whether and to what extent agreement or similarities exist between the phase bit streams, with minor deviations if necessary allowed are. Based on the result, the one to be output is then Data sequence determines what for various possibilities consist.
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.The correlation properties can be defined, for example, using a so-called correlation measure. The correlation measure assigns a so-called correlation vector to each phase bit stream in an observation period. This correlation vector can be determined according to any calculation rules. A suitable calculation rule is one that, if a phase bit stream matches the other Pha senbit streams and in the event of a phase bit stream not matching the other phase bit streams, there are differences for the correlation vectors of the phase bit stream. The correlation measure then serves in the evaluation unit to extract the data of the data signal from the phase bit streams on the basis of the differences in the above correlation numbers.
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.In claims 2 to 7 are preferred configurations of the scanning unit. The scanning is preferably carried out within a clock period of the receiver clock always at a fixed time, namely using the rising edge of the receiver clock signal.
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.The scanning unit preferably contains according to claim 2 no regulation. Moreover it will only have a single receiver clock signal over a single one Line operated at the input of the scanning unit, so it will be the Scanning unit, in particular, no multiple clock phases, e.g. about a Bus system. In particular, the waiver of a regulation becomes a significant one Reduction in the number of global timing-critical paths achieved, see above that the use of a semicustom design flow is possible.
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.In the preferred embodiment according to claim 3 is the data signal first delayed, to generate different phases of the data signal. This are then with the same receiver clock signal to generate the phase bit streams scanned in parallel. An advantageous embodiment for the implementation such a scanning unit is defined in claim 4. The preferred Developments according to claims 3 and 4 use only one clock range, namely the receiver clock.
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.In the other preferred embodiment of the Scanning unit according to claim 5 becomes the receiver clock signal delayed several times, around different phases of the receiver clock signal to create. Then with these phase-shifted receiver clock signals the same data signal sampled several times to generate the phase currents. A specific configuration of such a scanning unit is required 6 defined. The advantage of the preferred embodiments according to claims 5 and 6 lies in the relatively minor disruption the sampling times for the phase bit streams through data dependency the delay times in the delay chain, since the clock signal is data independent and is strictly periodic.
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.The preferred embodiment of the Verzögerunselemente the delay chain according to claim 7 has no means such as e.g. Control signals for Setting the delay time on.
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.Preferred configurations of the evaluation unit are in the claims 8 to 10 and 15 indicated. According to the invention, at least one is preferred two adjacent phase bit streams evaluated in order to determine a sequence of data that is as possible agrees well with the data of the received serial data signal. Correlation properties of the phase bit streams are evaluated, around a phase bit stream with large Correlation measure too Find.
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.Is preferred according to claim 9 further at least one corresponding selection unit in the evaluation unit provided, each one due to correlation properties of the phase bit streams at best selects phase bit stream corresponding to the data of the received data signal. at this selection can several phase bit streams can also be selected by means of several selection units. If several selection units are provided, these are marked by an evaluation control unit coordinates with each other. Either will be a selected one Phase bit stream used to determine the data sequence or from several Phasenbitströmen is the data sequence together, for example by majority vote certainly.
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.Advantageous further developments of said selection unit are specified in claims 11 to 14. Prefers at least one is formed for the selection of the phase bit stream Difference signal between at least two phase bit streams, um to consider, whether and to what extent the phase bit currents differ from one another or to determine the correlation of two phase bit streams. To be favoured the correlations between adjacent phase bit streams are determined and evaluated. If it turns out that the phase bit streams are not deviate from one another or have a high degree of correlation, it is assumed that the phase bit stream is in the input data signal reproduces contained data sequence correctly.
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.In a further embodiment provided that the at least one selection unit additionally one Detection unit has to by means of the difference formation unit determined correlation differences of the phase bit streams over a predetermined Observe the period and accumulate if necessary. Is preferred doing for each difference signal generates a corresponding detection signal. Instead of the best possible directly from the difference signals Select phase bit stream then in a further embodiment using the detection signals choosing the best possible Phase bit stream, which may result in implementation simpler timing conditions.
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.Choosing the best possible Phase bit stream through the at least one selection unit is basically temporal variable and is constantly customized. This means that not at the beginning of the data transfer a single phase bit stream is selected, but is checked at regular intervals, whether the selected one Phase bitstream is also the best choice.
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.The evaluation control unit selects according to Claim 15 preferably selects at least one of the phase bit streams selected by the selection units in order to output this data as a received data sequence. By evaluating several selected phase bit streams, several data bits of the input signal can be extracted within a receiver clock period. Furthermore, when the selection is changed by the evaluation control unit, it is ensured that the data is extracted without gaps and that no data bit is evaluated multiple times.
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.The circuit according to the invention can according to the configurations according to the claims 16 and 17 are generated by starting with a synthesis tool from a hardware description language (e.g. VHL, Verflog, SystemC) a gate network list using a standard cell library erzeut. This grid list consists of cells from a standard cell library, which are placed in a semicustom design flow using tools and be wired. According to the design according to claim 18, by manual support of the placement algorithms of the appropriate tool, the running time of the signals on the timing-critical Paths such as reduced between the delay elements or be adjusted.
Die Erfindung wird nachfolgend anhand der Zeichnungen näher erläutert. Es zeigen:The invention is described below the drawings closer explained. Show it:
In den
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
In dem dargestellten Beispiel treten
zwischen Sender
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
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.With Skew, this is supposed to be the unchangeable one Time difference between two signals A and B can be called. As a wanderer, the change the transit time difference between two signals A and B. The hike is time-dependent and subjected to a slow dynamic change. It arises, for example, from temperature and voltage fluctuations and different properties of the lines for the signals A and 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
Aus dem Eingangssignal werden sowohl
die Daten, als auch der Datentakt gewonnen. Taktrückgewinnungsschaltungen
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.Paths are called timing-critical in the following, if (e.g. influenced by layout) signal propagation times or the Skew between the signals of a bus within a tolerance window have to lie which is generally much smaller than the highest clock period of the circuit is. Is the signal delay or skew between the signals? outside of the tolerance window, the functionality of the circuit is at risk. In of the circuit architecture shown are the timing critical Paths and the modules with timing-critical paths in one full Custom design flow designed. Independent of each other is for everyone Such a rather complex circuit is required for data input. In particular due to the required power supply and voltage stability Integration of such a circuit is complex.
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
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
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.Only with this design methodology, in which the individual transistors are dimensioned and lines or Cells are placed, it is possible to use the analog circuit parts to be designed in such a way that the PLL / DLL 5 corresponds to exact clock signals generated and these timing-critical signals are precisely distributed. The effort, however, the result of this approach is very high. The implementation depends on the technology and requires a manual one Circuit design. To verify the design is a time-consuming one Analog simulation necessary. This design method is therefore very expensive.
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.Simpler and therefore in industry for the realization of less problematic circuits for the most part used is a semicustom design flow. This design process is strongly computer-based and largely automated. Here is the function of the circuit described in a hardware modeling language. Are most widespread the hardware modeling languages VHDL, Verflog and SystemC. Synthesis tools translated the Source code in a grid list using elementary Standard cells used by semiconductor manufacturers in libraries disposal be put. It is said that the circuit can be synthesized is. This automated method for circuit design makes it possible creating great Circuits and the easy change of target technology the exchange of cell libraries.
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.A cost minimization in the development of ICs can be achieved by subcircuits that were previously based on a Full custom design flow based, in a semicustom design flow will be realized. The circuit arrangement according to the invention can in be implemented in a semicustom design flow. The essential The advantage of the circuit presented is a simplification and reducing the circuit area and the design effort.
Das Konzept der erfindungsgemäßen Schaltung
ist in
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
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
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.There are two alternative architectural variants of the new concept, which are explained further below. Both architectures of the receiver are feed forward architectures. That means that no adjustment of the Clock signal to the data signal takes place. In this approach too not coordinating different clock phases, so that no regulation of the scanning signals is carried out. Thereby can rely on the largely manual full custom design Flow can be dispensed with. Therefore, this arrangement is especially for use of a semicustom design flow.
In dem in
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
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.Basically are for the evaluation mechanism different algorithms conceivable. An example implementation, on two finite machines, so-called finite state machines, and the autocorrelation of the data signal or the correlation of the generated phase bit streams based, will be discussed in more detail below explained. Alternatively, an algorithm with additional redundancy and coding of the Input data stream the correct phase bit stream during a decoding process detect. Furthermore, there are a variety of possible alternative algorithms conceivable.
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.By placing the delay elements can the delay times of the pipe sections between the delay elements be reduced. This can improve the quality of the implementation and the delay times also be adjusted to each other. Such manual support of the Placement and wiring tools are in a modern semicustom Design flow generally possible. In the present case, this procedure can vary depending on the result the automatically running placement and wiring algorithms a crucial contribution to the quality of implementation in a semicustom Achieve design flow. For the classic application of a semicustom design flow, in which the Design steps as much as possible Such a placement is supposed to run automatically not done.
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
Für
ein Beispiel mit N = 20 sind in
Zentrales Merkmal einer Implementierung nach
diesem Konzept ist die Verzögerungskette
aus beliebigen Verzögerungselementen
Nachfolgend wird exemplarisch die
Implementierung der in
Diese Extraktion für eine realisierte
Implementierung soll nun im einzelnen erläutert werden. Die Implementierung
besteht aus den in
Das Eingangssignal wird durch die
Verzögerungselemente
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(
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
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.In this case, the phase bit streams can three consecutive bits of the data signal are assigned. This results in three groups, each a so-called Represent data bit stream. Due to fluctuations in the phase or frequency of the data signal or The reference clock and jitter shift the boundaries between these three groups. Belonging the phase bit streams to the groups changes therefore dynamic, and it can also faulty phase bit streams occur. Faulty phase bitstreams are phase bitstreams whose Data incorrect compared to the input data. There are two adjacent data bit streams thus shifted against each other by 1 bit or one clock period, but otherwise identical, and contain exactly the data to be extracted. The correct dates are now determined by if the walls or change the jitter behavior, switched between different phase bit streams, and so that Data bit stream is followed.
Eine Auswertungsschaltung
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
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
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.To the difference signals with this To evaluate the lower clock clk_s_s, signals must be derived from it that also change at a lower rate. To a circuit is proposed as an example, the following is called a zero trap. A null trap is a memory one Circuit that is in a longer Observation period (here clock period of clk_s_s) notices whether a Difference between two adjacent phase bit streams occurred is. For this purpose, those detected by the difference signals DIFF Data signal changes that occur during a period of the clock clk_s_s occur accumulated. In this implementation example with each positive edge of the clock clk_s_s are the collected information for every single difference signal is available.
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.Alternatively, a 'one trap' could be defined and used instead of a 'zero trap' which notes the occurrence of one or more '1' of the difference signal as a sign that two adjacent phase bit streams are different if the signal DIFF by the value '1' is a difference of two Phasenbitströme displays.
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
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
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
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
Die beiden Selectoren werden mit
SelectorA bzw. SelectorB bezeichnet.
In dem Beispiel in
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
s ∊ {SEEKNEXTUP;
SEEKNEXTDOWN; SEEKUP; SEEKDOWN; SYNC; LOST}
und, da N = 20
p ∊ {2...
17}.If a selector is no longer synchronized to a data bit stream, it searches for a new data bit stream that is directly adjacent to the data bit stream to which the other selector has synchronized. Both selectors are implemented as identical synchronous finite automata. The state diagram of a selector is in
s ∊ {SEEKNEXTUP; SEEKNEXTDOWN; SEEKUP; SEEKDOWN; SYNC; LOST}
and, since N = 20
p ∊ {2 ... 17}.
Als Eingangsdaten stehen die TRAP-Signale der Phasenbitströme zur Verfügung.The TRAP signals of the Phasenbitströme to disposal.
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.The machine starts with any control position in the control state s = SEEKUP. In each clock cycle, both the control position (hereinafter also simply referred to as position) and the control state are adapted. At the beginning, the position is increased until the condition for reliably finding a data bit stream is fulfilled. For these, the data of the four phase bit streams closest to the currently selected phase bit stream p were identical during the last period. This property is shown when the corresponding difference signals show no difference, that is, all four zero traps do not detect a '0' signal level of the difference signals. Under this condition, the automaton changes to the SYNC state and the data of the selected phase bit stream p are assumed to be correct. The condition that the four phase bit streams next to the current position p are identical is denoted in the following by (1; 1; 1; 1) P. For a given control position p, the properties of the next four phase bit streams are recorded by the following 4 tuple by evaluating the difference signals:
(TRAP (p - 1); TRAP (p); TRAP (p + 1); TRAP (p + 2)) P The tuple (1; 1; 1; 1) P for example means that the phase bit streams SAMPLE (p - 2), SAMPLE (p - 1), SAMPLE (p), SAMPLE (p + 1) and SAMPLE (p + 2) all had identical data during the last period of clk si. The tuple (0; 1; 1; 1) P indicates that different values have occurred in the phase bit streams SAMPLE (p - 2) and SAMPLE (p - 1), ie they are in the jitter range.
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
Aus den aktuellen Werten dieses 4-Tupels wird
mit einem Korrelationsmaß der
Korrelationsvektor (mlp, mrp)
des ausgewählten
Phasenbitstromes p folgendermaßen
berechnet:
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.This results in the following cases:
(1; 1; 1; 1) ⇒ ml p = 1 and mr p = 1 (
1; 1; 1; 0) ⇒ ml p = 1 and mr p = 0.5
(1; 1; 0; x) ⇒ mlp = 1 and mr p = 0
(0; 1; 1; 1) ⇒ ml P = 0.5 and mr P = 1
(x; 0; 1; 1) ⇒ ml P = 0 and mr p = 1
(0; 1; 1; 0) ⇒ ml P = 0.5 and mr P = 0.5
(x; 0; 0; y) ⇒ ml P = 0 and mr P = 0
where x and y stand for any values 0 or 1.
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.The adaptation of the selection of a phase bit stream is made according to this correlation vector made. If ml P <mr P , the position is adjusted to the right (p → p + 1), if ml p > mr P , the position is adjusted to the left (p → p - 1).
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 this way, the selected phase bit stream always kept in a safe area. The selector has synchronized to a data bit stream and follows this. The but only works when the jitter area and the wander are not is too big.
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
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.The two selectors are matched to one another, since they are always synchronized to directly adjacent data bit streams. Many variants are conceivable to achieve this state. In this example, the associated machines have the two states SEEKNEXTUP and SEEKNEXTDOWN. If one machine is synchronized to a data bit stream and the other machine is reset, it finds the directly adjacent data bit stream, which is represented, for example, by phase bit streams with a higher index by starting in the control state s = SEEKNEXTUP and taking over the control position of the synchronized machine. The control state is now increased with each clock until it is in the jitter area for the next data bit stream. This is determined by the condition (x ,; 0; 0; x 2 ) p , where x 1 and x 2 represent any value ('0' or '1'), since here the correlation vector has the value (0.0) Has. If this condition is met, the jitter area for the next data bit stream is recognized and the machine goes into the control state SEEKUP. The next phase bit stream that fulfills the condition (1; 1; 1; 1) p is sought so that the selector can synchronize with the directly adjacent data bit stream and the automaton changes to the state s = SYNC. The state SEEKNEXTDOWN is required accordingly if the neighboring data bit stream, which is represented by phase bit streams with a lower index, is sought.
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.Task of the evaluation unit described above is to get the correct data stream from the phase bit streams. The data transmitted by the sender are considered correct. Since these are apparently not known, otherwise they are not transmitted should be they must be determined on the basis of other characteristics. The interpretation of the received data signal and thus also the phase bit streams in relation to the transferred Data the transmission error rate (bit error rate, BER). Below is the implementation described the evaluation unit is shown again more generally.
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.The evaluation unit is in two Divided cycle areas. It will be a first bar with period T1 and a second clock with T2 = n T1 is used synchronously. The factor n is selectable. First phase bit streams must be recognized that are in the jitter range.
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.By comparing the Phasenbitströme it is determined which phase bit streams belong to which data bit streams. The Phasenbitströme nearby of a transition between two neighboring data bit streams are in the jitter range. By comparing at least two selected phase bit streams the boundaries between the data bit streams recognized when a data signal change occurs, i.e. '10' or '01' is transmitted. For example the comparison can be carried out with all pairs of directly adjacent phase bit streams. Adjacent phase bit streams, whose values are different are in the jitter range. Each two adjacent phase bit streams a and b are created using the logical link, e.g. NXOR, with each other connected and thus determined whether their values are identical. It will a difference signal c is calculated. Exactly when NXOR (a, b) = c = 0 applies, so a and b have different values, both lie Phasenbitströme a and b in the jitter range.
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.The information from the previous step is now accumulated with the aim of being able to make more reliable statements about the individual phase bit streams and to interrogate the information in the clock area of the second clock. This step is optional, but is desirable in many cases. The results of the comparison from the first step are observed over time and weighted if necessary. In synchronism with the second clock, statements are made about the association of phase bit streams with data bit streams and phase bit streams in the jitter range. All phase bit streams that were assigned to the jitter area in a certain past time period of the previous step are assigned to the jitter area, all other phase bit streams each to the corresponding data bit streams. The data bit streams are limited by jitter areas. These assignments are made synchronously with the second bar. Each difference signal c from the previous step is observed with the help of a so-called zero trap over a clock period of the second clock. If c = 0 occurs during this time, the zero trap changes from the initial state '1' to the state '0'. All zero traps are evaluated and reset in synchronism with the second cycle. Phase bit streams that have an influence on a zero trap, which is in state '0' when evaluated, are assigned to the jitter range.
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.Then the selection is made and adapting the selection of one or more phase bit streams based on the information from the second step within the cycle range the second bar. According to the statements from the second step becomes the phase bit stream with the lowest probability of error selected and whose data is accepted as correct data received. A mechanism synchronizes itself to a data bit stream by sending the information from the second step. The data of this data bit stream will be accepted as correct. Can no longer follow the data bit stream the mechanism is synchronized to another data bit stream whose data are now assumed to be correct. A finite one Automat synchronizes itself to a data bit stream by recognizes the jitter areas and its selection of a phase bit stream within this data bit stream at a sufficient distance from holds those areas of jitter. For example, the 2n become the currently selected phase bit stream next Differential signals from the second step considered, n on each Page. If a jitter area is detected on one side, it gives way the machine with its selection to the other side. Can the selection can no longer be adjusted because e.g. in the appropriate direction no more phase bit stream is available, so the automaton looks for another data bit stream on which it is looking send synchronized. So that in the period of time that the machine needs to find another data bit stream, no data is lost, exists a second identical automaton, based on another data bit stream is synchronized and take over the phase bit stream selection can.
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.The circuit arrangement according to the invention can as a subcircuit in an integrated circuit for transmission digital data (e.g. with a clock rate of over 500MHz) can be used. The essential idea is based on a multi-phase oversampling of the data in different Phasenbitströme and subsequent Evaluation, in particular by selecting the correct phase bit stream. This Circuit proposal provides another solution to the known data transmission problem high data rates. The advantage of this circuit proposal is an easier implementation on the IC because of a semi-custom design Flow can be used if desired.
Claims (19)
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE2002151950 DE10251950A1 (en) | 2002-11-08 | 2002-11-08 | Circuit for extracting data from serial data signal for high bit-rate transmission between or within integrated circuits, determines best fit of data sequence matching data signal received by evaluating correlation characteristics |
PCT/EP2003/012390 WO2004042994A1 (en) | 2002-11-08 | 2003-11-06 | Circuit and method for high speed data transfer |
AU2003286154A AU2003286154A1 (en) | 2002-11-08 | 2003-11-06 | Circuit and method for high speed data transfer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE2002151950 DE10251950A1 (en) | 2002-11-08 | 2002-11-08 | Circuit for extracting data from serial data signal for high bit-rate transmission between or within integrated circuits, determines best fit of data sequence matching data signal received by evaluating correlation characteristics |
Publications (1)
Publication Number | Publication Date |
---|---|
DE10251950A1 true DE10251950A1 (en) | 2004-05-19 |
Family
ID=32115373
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2002151950 Withdrawn DE10251950A1 (en) | 2002-11-08 | 2002-11-08 | Circuit for extracting data from serial data signal for high bit-rate transmission between or within integrated circuits, determines best fit of data sequence matching data signal received by evaluating correlation characteristics |
Country Status (3)
Country | Link |
---|---|
AU (1) | AU2003286154A1 (en) |
DE (1) | DE10251950A1 (en) |
WO (1) | WO2004042994A1 (en) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0317159A2 (en) * | 1987-11-19 | 1989-05-24 | AT&T Corp. | Clock recovery arrangement |
EP0339515A1 (en) * | 1988-04-29 | 1989-11-02 | Siemens Aktiengesellschaft | Method and device for the clock recovery from a data signal by consecutive adjustments of a local clock with a data signal |
EP0390958A1 (en) * | 1989-04-07 | 1990-10-10 | Siemens Aktiengesellschaft | Method and circuit for the regeneration of the data clock for data signals |
DE69400075T2 (en) * | 1993-04-22 | 1996-07-18 | France Telecom | Method and device for clock recovery and synchronization for the reception of data transmitted over an ATM network |
US5671258A (en) * | 1994-12-20 | 1997-09-23 | 3Com Corporation | Clock recovery circuit and receiver using same |
EP0942553A2 (en) * | 1998-03-12 | 1999-09-15 | Nec Corporation | Oversampling type clock recovery circuit with power consumption reduced |
DE19904494A1 (en) * | 1998-01-28 | 1999-09-23 | Nec Corp | Bit-synchronization circuit for e.g. passive double star PDS system, large-sized computer, optical receiver in e.g. large-scale optical interconnection network, large-capacity ATM switch |
EP1089484A2 (en) * | 1999-10-01 | 2001-04-04 | Quantum Bridge Communications, Inc. | Method and apparatus for fast burst mode data recovery |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE59008700D1 (en) * | 1989-09-19 | 1995-04-20 | Siemens Ag | Synchronizer for a digital signal. |
JP3386221B2 (en) * | 1994-03-17 | 2003-03-17 | 富士通株式会社 | Clock transfer circuit for asynchronous data |
EP0738057A3 (en) * | 1995-04-12 | 1998-05-20 | Siemens Aktiengesellschaft | Method and device for bit synchronisation |
US5822386A (en) * | 1995-11-29 | 1998-10-13 | Lucent Technologies Inc. | Phase recovery circuit for high speed and high density applications |
-
2002
- 2002-11-08 DE DE2002151950 patent/DE10251950A1/en not_active Withdrawn
-
2003
- 2003-11-06 WO PCT/EP2003/012390 patent/WO2004042994A1/en not_active Application Discontinuation
- 2003-11-06 AU AU2003286154A patent/AU2003286154A1/en not_active Abandoned
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0317159A2 (en) * | 1987-11-19 | 1989-05-24 | AT&T Corp. | Clock recovery arrangement |
EP0339515A1 (en) * | 1988-04-29 | 1989-11-02 | Siemens Aktiengesellschaft | Method and device for the clock recovery from a data signal by consecutive adjustments of a local clock with a data signal |
EP0390958A1 (en) * | 1989-04-07 | 1990-10-10 | Siemens Aktiengesellschaft | Method and circuit for the regeneration of the data clock for data signals |
DE69400075T2 (en) * | 1993-04-22 | 1996-07-18 | France Telecom | Method and device for clock recovery and synchronization for the reception of data transmitted over an ATM network |
US5671258A (en) * | 1994-12-20 | 1997-09-23 | 3Com Corporation | Clock recovery circuit and receiver using same |
DE19904494A1 (en) * | 1998-01-28 | 1999-09-23 | Nec Corp | Bit-synchronization circuit for e.g. passive double star PDS system, large-sized computer, optical receiver in e.g. large-scale optical interconnection network, large-capacity ATM switch |
EP0942553A2 (en) * | 1998-03-12 | 1999-09-15 | Nec Corporation | Oversampling type clock recovery circuit with power consumption reduced |
EP1089484A2 (en) * | 1999-10-01 | 2001-04-04 | Quantum Bridge Communications, Inc. | Method and apparatus for fast burst mode data recovery |
Also Published As
Publication number | Publication date |
---|---|
AU2003286154A1 (en) | 2004-06-07 |
WO2004042994A1 (en) | 2004-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE10300690B4 (en) | Digital DLL device for correcting the duty cycle and its method | |
DE602004004533T2 (en) | PHASE MIXING WITH DELAYED CONTROL CIRCUIT | |
DE69633539T2 (en) | Clock distribution circuit | |
DE69837689T2 (en) | Timer circuit, apparatus and system for semiconductor integrated circuit under its application and signal transmission system | |
DE102007030117B4 (en) | Programmable delay for clock phase error correction | |
EP0389662B1 (en) | Method for the phase synchronization of the signals of two clock generators in communication networks | |
DE112007000758B4 (en) | Data signal generating device # | |
DE10014477B4 (en) | Method and system for synchronizing multiple subsystems using a voltage controlled oscillator | |
DE10300540A1 (en) | Digital DLL device for correcting the duty cycle and its method | |
DE69734954T2 (en) | Method and apparatus for phasing digital time signals, e.g. a clock signal and a data stream | |
DE19825986A1 (en) | Clock circuit with synchronisation between internal and external clock signals | |
DE19849779C2 (en) | Clock generator and clock generation method capable of changing a clock frequency without increasing the number of delay elements | |
DE102007005708A1 (en) | Clock and data recovery circuit comprising first and second stages | |
DE102005024648A1 (en) | Electrical circuit for measuring times and method for measuring times | |
DE19625185C2 (en) | Precision clock | |
EP0363513B1 (en) | Method and apparatus for receiving a binary digital signal | |
DE10243765A1 (en) | Semiconductor device with delay correction function | |
DE10138883B4 (en) | Method and device for synchronous signal transmission between logic / memory modules | |
DE10310065B4 (en) | Method and apparatus for a delay lock loop | |
DE60220338T2 (en) | Circuit and method for generating a delayed internal clock signal | |
DE10312260A1 (en) | Delay locked loop, which has an edge detector and a fixed delay | |
DE60201508T2 (en) | Method for phase control of a data signal, reverse clock circuit and interface device | |
DE10251950A1 (en) | Circuit for extracting data from serial data signal for high bit-rate transmission between or within integrated circuits, determines best fit of data sequence matching data signal received by evaluating correlation characteristics | |
EP1094610A1 (en) | Digital phase-locked loop | |
DE102009043315B4 (en) | Method and device for the controlled delay of an input signal |
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 |