[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

DE10108379A1 - Elastische Puffer für eine Serialisierer/Deserialisierer-Wortausrichtung und eine Ratenanpassung zwischen Zeitbereichen - Google Patents

Elastische Puffer für eine Serialisierer/Deserialisierer-Wortausrichtung und eine Ratenanpassung zwischen Zeitbereichen

Info

Publication number
DE10108379A1
DE10108379A1 DE10108379A DE10108379A DE10108379A1 DE 10108379 A1 DE10108379 A1 DE 10108379A1 DE 10108379 A DE10108379 A DE 10108379A DE 10108379 A DE10108379 A DE 10108379A DE 10108379 A1 DE10108379 A1 DE 10108379A1
Authority
DE
Germany
Prior art keywords
track
data
characters
read
fifo
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE10108379A
Other languages
English (en)
Other versions
DE10108379C2 (de
Inventor
Michael J Dallabetta
Herman Pang
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.)
Broadcom International Pte Ltd
Original Assignee
Agilent Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Agilent Technologies Inc filed Critical Agilent Technologies Inc
Publication of DE10108379A1 publication Critical patent/DE10108379A1/de
Application granted granted Critical
Publication of DE10108379C2 publication Critical patent/DE10108379C2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/065Partitioned buffers, e.g. allowing multiple independent queues, bidirectional FIFO's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2205/00Indexing scheme relating to group G06F5/00; Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F2205/06Indexing scheme relating to groups G06F5/06 - G06F5/16
    • G06F2205/061Adapt frequency, i.e. clock frequency at one side is adapted to clock frequency, or average clock frequency, at the other side; Not pulse stuffing only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2205/00Indexing scheme relating to group G06F5/00; Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F2205/10Indexing scheme relating to groups G06F5/10 - G06F5/14
    • G06F2205/102Avoiding metastability, i.e. preventing hazards, e.g. by using Gray code counters

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Communication Control (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

Eine Lösung des Wortausrichtungsproblems in einer Serialisierer-Deserialisierer (SERDES)/Medienzugriffssteuerungs-Umgebung besteht darin, daß für jede SERDES-Spur ein wiederhergestellter Takt, ein Schreibzeigerzähler und eine FIFO-Registerstruktur vorhanden ist. Fehlerausgerichtete Wörter werden einfach in ihren FIFOs gemäß den jeweiligen wiederhergestellten Takten und einfachen Inkrementen der verschiedenen Schreibzeiger WP_i gespeichert. Eine der Spuren wird als ein Bezug ausgewählt, und der Inhalt der anderen FIFOs wird untersucht, um die Natur ihrer Fehlausrichtung, wenn vorhanden, zu bestimmen. Dann werden die Werte aus Lesezeigerzählern RP_i einzeln um entsprechende Beträge versetzt, um die Fehlausrichtung zu kompensieren, so daß, wenn Daten gelesen werden, dieselben tatsächlich ausgerichtet sind. Diese Versätze um entsprechende Beträge sind pro Spureinstellungen zu den verschiedenen Lesezeigern einfach individuell und wirken mit den Einstellungen zu diesen Lesezeigern für eine Ratenanpassung zusammen.

Description

Es wird ein Hochgeschwindigkeitsdatenstrom von einer Quel­ lenumgebung, z. B. einer faseroptischen Verbindung, die ei­ ne Bitdatenrate von 12,5 GHz aufweist, betrachtet, wobei diese Daten zu einer Zielumgebung geliefert und dann auf eine bestimmte Art und Weise in Echtzeit mit dieser Rate verarbeitet werden sollen. Eine Art, auf die dies durchge­ führt wird, besteht darin, den Hochgeschwindigkeitsdaten­ strom an einen Serialisierer/Deserialisierer-Wandler (SERDES; SERDES = Serializer/Deserializer) anzulegen, der die Daten in beispielsweise vier benachbarte Ströme von pa­ rallelen 10-Bit-Daten bei einer Wortrate von 312,5 MHz trennt. Zum Zeitpunkt ihrer Entstehung sind die vier Daten­ ströme (auf die hierin im folgenden als Spuren bzw. Bahnen Bezug genommen wird) in synchroner Ausrichtung, wobei die­ selben alle in einer einzigen gemeinsamen Umgebung gemäß einem gemeinsamen Taktsignal erzeugt werden. Es sind folg­ lich die Spuren von parallelen Daten, die von der Quellen­ umgebung (den SERDES) zu einer Zielumgebung (möglicherweise einer Medienzugriffssteuerung oder MAC (MAC = Media Access Controller)) gesendet werden. Variationen der effektiven Länge einer Spur- oder der Ausbreitungskonstanten derselben können verursachen, daß die Wörter, die in ihre jeweiligen Spuren zur gleichen Zeit gesendet wurden, aus denselben zu unterschiedlichen Zeitpunkten herauskommen. Dieses Problem wird Wortausrichtung genannt. Fehlausgerichtete Wörter müs­ sen schließlich korrekt neu ausgerichtet werden, oder die wiederhergestellten Daten sind sonst verstümmelt. Bekannte Verfahren zum Durchführen einer Wortausrichtung betreffen die Verwendung von Hochgeschwindigkeitstakten und Verfahren zum "Dehnen" und "Verdichten" bzw. "Zusammendrücken" der elektrischen Wellenformen für die Wörter. Dies ist wahrhaf­ tig ein häßliches Geschäft, das mit vielen Schwierigkeiten behaftet ist, wie z. B. dem Phasenverriegeln von Hochge­ schwindigkeitstakten und einem Servosystem, das eine ziem­ lich komplizierte Logik aufweist.
Es wäre wünschenswert, wenn es eine einfache und zuverläs­ sige Art zum Durchführen einer Wortausrichtung gäbe, die nicht die Verwendung von Hochgeschwindigkeitstakten und die verzerrte Wiederherstellung einer elektrischen Wellenform für ein Datenwort umfaßt.
Ein weiteres Problem, das die SERDES/MAC-Umgebung, die oben beschrieben ist, umgibt, besteht in der Ratenanpassung. Um dieses Problem richtig beurteilen zu können, sei bemerkt, daß die Wörter in Zuerst-Hinein-Zuerst-Hinaus-Register­ strukturen (FIFOs) gespeichert sind. Im Stand der Technik werden die Wörter ausgerichtet, bevor dieselben gespeichert werden; wo sie in einer FIFO gespeichert werden, wird durch einen Schreibzeiger (WP; WP = Write Pointer) bestimmt. Jede der vier Datenspuren (die einzeln mit den Suffixen "0" bis "3" versehen sind) weist ihre eigene FIFO auf, so daß die Sammlung von FIFOs FIFO_1 bis FIFO_3 ist, und die jeweili­ gen Wortzeiger derselben WP_0 bis WP_3 sind. Die einzelnen WP_i werden aus Kreiszählern erzeugt, die durch einzelne Spurtakte, die aus selbsttaktenden Daten in den jeweiligen Spuren wiederhergestellt werden, inkrementiert werden. Es gibt eine Sammlung von Lesezeigern (RP_i; RP = Read Poin­ ter), die den WP_i entsprechen, und dieselben entstehen aus einem Kreiszähler, der durch eine Takt in der Zielumgebung getrieben wird. Es gibt keine Vorrichtung, die vorgesehen ist, um die WP_i und die RP_i zu zwingen, mit exakt der gleichen Rate zu inkrementieren; Es ist möglich, daß sich dieselben aufgrund einer Drift, von Toleranzen etc., leicht unterscheiden. Diese Entscheidung wurde auf der Ebene des Systementwurfs gemacht und wird durch verschiedene ge­ schriebene Standards von Standardfestsetzungsbehörden durchgesetzt. Als eine Konsequenz muß es eine Möglichkeit geben, eine Datenverstümmelung zu verhindern, wenn entweder der Lese- oder der Schreib-Zeiger den anderen überholt. Die verschiedenen Standardprotokolle für solche Systeme, die erörtert wurden (die Ethernet, HARI und FIBRE (FASER) etc. umfassen), sehen eine Vorrichtung zur Ratenanpassung vor, so daß die Quellenumgebungs- und die Zielumgebungs-Takte nicht exakt mit der gleichen Rate laufen müssen. Das Haup­ telement dieser Vorrichtungen ist die Existenz von Zwi­ schenpaketlücken (IPGs; IFG = Inter-Packet Gap), die spezi­ elle Leerzeichen ("K" und "R") enthalten, die garantiert nie in den Daten ordnungsgemäß auftreten. (Dieses magische Bit zwingt den gesendeten Daten nicht die Begrenzung auf, bestimmte Bitstrukturen bzw. Bitmuster zu vermeiden. Viel­ mehr ist dasselbe statt dessen mit einer Erweiterung der Zahl von Bits verbunden, die verwendet werden, um die Daten auszudrücken, so daß es nicht verwendete Codes in der er­ weiterten Version gibt. K und R gehören zu diesen nicht verwendeten Codes bei dem erweiterten Codieren. Die Legende "8B10B" ist die Bezeichnung eines solchen Erweiterungssche­ mas, das von IBM entwickelt wurde, bei dem 8-Bit-Bytes als 10-Bit-Bytes neu codiert werden.) Da K und R nie in den tatsächlichen Daten erscheinen, zeigt ihre Anwesenheit das Auftreten einer IFG und ermöglicht folglich die Hochge­ schwindigkeitserfassung einer IFG in Echtzeit. Die ver­ schiedenen Protokollstandards spezifizieren keine spezielle Größe für eine IFG mit der Ausnahme, daß dieselbe minde­ stens eine bestimmte minimale Größe aufweist. Die Größe ei­ ner IFG kann ferner während der Übertragung eingestellt werden. Folglich wird eine effektive Datenratenanpassung durch Hinzufügen oder Löschen der Zeichen K und R zu und von den IPGs für alle Spuren immer dann erreicht, wenn die Lese- und Schreib-Zeiger für eine Spur zu nahe zueinander geraten. Nun, und dies ist ein geschickter Trick, existie­ ren die zu modifizierenden IPGs als Folgen von Leerzeichen in den FIFOs. Die übliche Art, um eine Ratenanpassung durchzuführen, besteht einfach darin, einen Lesezeiger vor­ zustoßen, um ein Zeichen zu löschen, oder denselben zurück­ zustoßen, um ein Zeichen durch Wiederholen desselben einzu­ fügen. Die Zeichenströme, die durch ein solches Lesen des Inhalts des FIFO übertragen werden, sehen exakt wie das Lö­ schen oder das Einfügen von Zeichen aus, obwohl sich in den FIFOs tatsächlich keine Zeichen ändern. Dieses Einstellen (wie benötigt) der effektiven Größe der IPGs ermöglicht es, daß die echten Daten mit (kontinuierlichen) leicht fehlan­ gepaßten Raten ohne eine Verstümmelung gesendet werden. Dies ist eine etablierte Vorrichtung, und es wäre besonders wünschenswert, wenn dieselbe intakt bliebe oder noch besser mit einer verbesserten Art zum Durchführen der Wortausrich­ tung zusammenarbeiten könnte, so daß eine Vorrichtung eine Doppelaufgabe durchführt.
Die Aufgabe der vorliegenden Erfindung besteht darin, ein Verfahren zum Ausrichten von Daten in Spuren zu schaffen, das eine einfache und zuverlässige Art zum Durchführen ei­ ner Wortausrichtung ermöglicht, die nicht die Verwendung von Hochgeschwindigkeitstakten und die verzerrte Wiederher­ stellung einer elektrischen Wellenform für ein Datenwort umfaßt.
Diese Aufgabe wird durch ein Verfahren zum Ausrichten von Daten in Spuren gemäß Anspruch 1 gelöst.
Eine Lösung des Wortausrichtungsproblems, das oben be­ schrieben ist, besteht darin, daß man für jede Spur einen wiederhergestellten Takt, einen Schreibzeigerzähler und ei­ ne FIFO besitzt. Fehlausgerichtete Wörter werden einfach in ihren FIFOs gemäß den jeweiligen wiederhergestellten Takten und den einfachen Inkrementen der verschiedenen Schreibzei­ ger WP_i gespeichert. Eine der Spuren wird als ein Bezug ausgewählt, und der Inhalt der anderen FIFOs wird unter­ sucht, um die Natur ihrer Fehlausrichtung, wenn vorhanden, zu bestimmen. Dann werden die Werte von den Lesezeigerzäh­ lern RP_i einzeln durch entsprechende Beträge, um die Feh­ lausrichtung zu kompensieren, versetzt, so daß, wenn Daten gelesen werden, dieselben tatsächlich ausgerichtet sind. Diese Versätze um entsprechende Beträge sind für die ver­ schiedenen Lesezeiger einfach individuell pro Spureinstel­ lung und wirken mit den Einstellungen dieser Lesezeiger für eine Ratenanpassung zusammen.
Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend unter Bezugnahme auf die beigefügten Zeichnungen näher erläutert. Es zeigen:
Fig. 1 ein vereinfachtes Blockdiagramm eines elasti­ schen Puffers für eine SERDES/MAC-Umgebung, in der die Erfindung praktiziert werden kann;
Fig. 2 ein vereinfachtes Blockdiagramm eines Ratenan­ passungskreiszählers, der bei dem Blockdiagramm von Fig. 1 verwendet wird;
Fig. 3 ein Blockdiagramm einer Wortfehlausrichtungsde­ tektorschaltung, die in dem Blockdiagramm von Fig. 1 verwendet wird;
Fig. 4 ein Blockdiagramm einer Zwischenpaketlücken- (IPG-) Detektorschaltung, die in dem Blockdia­ gramm von Fig. 1 verwendet wird; und
Fig. 5 ein vereinfachtes Blockdiagramm ähnlich zu dem­ selben von Fig. 1, jedoch modifiziert, um die programmierbare Auswahl der Bezugsspur zu ermög­ lichen.
Nun bezugnehmend auf Fig. 1, in der ein vereinfachtes Blockdiagramm 1 eines elastischen Puffers gezeigt ist, der eine Wortausrichtung und eine Ratenanpassung in einer Bei­ spiel-SERDES/MAC-Umgebung durchführt. Der elastische Puffer ist als eine integrierte Schaltung implementiert. Die Figur zeigt vier Spuren, die mit SPUR 0 bis SPUR 3 bezeichnet sind, und die bei dem elastischen Puffer von einer bestimm­ ten Quellenumgebung 2 (nicht speziell gezeigt), z. B. einem SERDES, eintreffen, und die nach einer Wortausrichtung und einer Ratenanpassung zu einer Zielumgebung 3 (nicht spezi­ ell gezeigt) gesendet werden, die eine MAC sein kann. Jede Spur umfaßt ein 10-Bit-(Parallelform) Datenwort (D_IN_0[0- 9] bis D_IN_3[0-9] (8-11)) und einen zugeordneten wieder­ hergestellten Takt (RCLK_0 bis RCLK_3 (12-15)). Jede Spur weist ferner eine FIFO (25-28) auf, deren Dateneingang mit dem 10-Bit-Datenwort (8-11) für diese Spur gekoppelt ist. Die wiederhergestellten Takte (12-15) werden verwen­ det, um jeweils zugeordnete Kreiszähler (17-20) zu inkre­ mentieren, deren jeweilige Ausgangssignale (22-24) als die Schreibzeiger WP_0 bis WP_3 (21-24) für die Spur der FIFOs 25-28 verwendet werden. Eingangsdaten einer Spur werden in einer Position in der FIFO derselben gespeichert, wie es durch den Wert des Schreibzeigers dieser FIFO ge­ zeigt ist. Die Vorderflanke bzw. Anstiegsflanke eines wie­ derhergestellten Taktsignals wird verwendet, um den zuge­ ordneten Kreiszähler zu inkrementieren, während die Hinter­ flanke bzw. die Abfallflanke verwendet wird, um die Ein­ gangsdaten in die FIFO bei der inkrementierten Adresse zu takten. Bei einem Ausführungsbeispiel wiesen die FIFOs 16 Positionen auf, und die Schreibzeiger besitzen vier Bits.
Die Kreiszähler (17-21) werden anfangs gemeinsam beim In­ betriebnehmen durch ein Signal WP_RESET 16 neu eingestellt bzw. zurückgesetzt (reset). Dieselben beginnen daher Schreibzeiger zu erzeugen, die anfangs den gleichen Wert aufweisen, deren einzelne Werte jedoch schließlich etwas willkürlich aufgrund eines Spurphänomens, das eine Fehlaus­ richtung in der ersten Stelle erzeugt, in Bezug zueinander werden. Auf der anderen Seite ist es nicht der Fall, daß die Wortfehlausrichtung wie ein stationäres Zustandsdriften für lange Zeitdauern ist. Es sei daran erinnert, daß die wiederhergestellten Takte für die verschiedenen Spuren ei­ nem gemeinsamen Takt entspringen, so daß die Durchschnitts­ frequenz derselben immer gleich über eine bedeutende Zeit­ dauer ist. Der Grad der Wortfehlausrichtung wird entweder statisch sein oder langsam innerhalb eines bestimmten Be­ reichs von Werten variieren. Es ist an diesem Punkt daher offensichtlich, daß die FIFOs als unabhängige Kreispuffer funktionieren, die bei diesem Beispiel 16 Positionen, je­ weils mit einer Breite von 10 Bit, aufweisen.
Vor dem Fortfahren sei bemerkt, daß die SPUR_0 (4) als eine Bezugsspur verwendet wird. Dies bedeutet, daß die Fehlaus­ richtung der anderen drei Spuren (5-7) bezüglich der SPUR 0 konstruiert wird. Im Prinzip kann jede Spur die Bezugs­ spur sein, und eine Änderung dahingehend welche Spur als Bezug genommen wird kann dadurch bewirkt werden, indem ge­ ändert wird, welche tatsächliche Spurhardware mit der Vor­ richtung des elastischen Puffers 1 verbunden ist. Im Licht einer solchen Dauerhaftigkeit betrachtet, ist die Aussage, daß die SPUR_0 die Bezugsspur ist, lediglich eine Bezeich­ nungskonvention, obwohl man erkennen sollte, daß sich die Hardware der SPUR_0 auf eine bestimmte Art und Weise unter­ scheidet, die es derselben ermöglicht, als Bezugskapazität zu funktionieren, oder unterscheidet, da einige Objekte nicht benötigt werden. Um kurz das vorweg zu nehmen, was folgt, wird ein allgemeinerer Fall in Verbindung mit einer späteren Figur umrissen, bei dem die Auswahl des Bezugska­ nals programmierbar ist, ohne tatsächlich die Eingangs- und Ausgangsverbindungen auszuwechseln. Ein Vergleich der zwei Figuren wird zeigen, daß das Blockdiagramm 1 von Fig. 1 ei­ ne geringfügige zusätzliche Vereinfachung genießt, die aus dem festen Verdrahten der SPUR_0 als die Bezugsspur ent­ steht: ein Addierer (ala 38-40) und ein Wortversatzsignal (ala W_OFF_1 bis W_OFF_3 (42-44)) fehlen. Um den allge­ meinen Fall zu erzeugen, werden diese Dinge hinein zurück­ gestellt und mehrere Blöcke in dem Diagramm werden über MUXs mit mehreren Spuren verbunden. Es gibt jedoch nichts falsches in dem Blockdiagramm 1 von Fig. 1 und dasselbe ist ein ausgezeichneter Ort, um die Prinzipien dieser Erfindung in einer Umgebung einzuschätzen, die, wie man sagen kann, durch eine zusätzliche Schicht der Verallgemeinerung nicht verworren ist.
Um fortzufahren, muß es dann eine Vorrichtung geben, um Da­ ten aus den FIFOs zu lesen, und diese gibt es tatsächlich.
Jede FIFO weist einen jeweiligen Lesezeiger (RP_0 bis RP_3 (33-36)) auf, dessen 4-Bit-Wert anfangs von einem Raten­ anpassungskreiszähler 45 ausgeht. Wie zu sehen ist, tut dieser Zähler 45 mehr als zählen: er muß den Zählwert des­ selben durch vorausgewählte Beträge immer dann erhöhen oder verkleinern, wenn die Notwendigkeit, dies zu tun, auftritt. Mit dieser Aussage ist erkennbar, daß als ein Zähler die Funktion desselben für den Lesezeiger ähnlich zu derselben der Zähler 17-20 für die Schreibzeiger ist: die verschie­ denen 10 Bit breiten Datenausgangssignale für die FIFOs (D_OUT_0[0-9] bis D_OUT_3[0-9] (29-32)) werden aus Posi­ tionen gelesen, die durch die Werte der verschiedenen Lese­ zeiger (33-36) identifiziert sind. In dieser Eigenschaft wird der Ratenanpassungskreiszähler 46 durch die Vorder­ flanke eines Signals Zielbezugstakt (DEST_REF_CLK) 46 ge­ taktet (gestuft). Dasselbe geht von der Zielumgebung 3 aus und regelt die Rate, mit der die Zielumgebung Daten von dem elastischen Puffer 1 verbraucht oder aufnimmt. Die Hinter­ flanke von DEST_REF_CLK taktet die Daten für den inkremen­ tierten oder anders geänderten Zählwert aus den FIFOs. Es ist offensichtlich, daß die Notwendigkeit für eine Ratenan­ passung aus der Tatsache entsteht, daß DEST_REF_CLK 46 nicht immer die gleiche Frequenz wie die verschiedenen wie­ derhergestellten Takte RCLK_0 bis RCLK_3 (12-15) auf­ weist. Das 9-Bit-Ausgangssignal des Zählers 45 wird BASE_RP (Basislesezeiger) genannt und wird direkt an die FIFO_25 der SPUR 0 als der Lesezeiger RP_0 (33) derselben angelegt. Die FIFOs (26-28) für die anderen Spuren weisen Lesezei­ ger auf, die durch jeweilige Addierer (38-40) erzeugt werden, die BASE_RP 37 mit Wortversätzen (42-44) kombi­ nieren, die jeweils jeder Spur zugeordnet sind. Diese Wort­ versätze sind die Signale W_OFF_1 bis W_OFF_3 und werden durch einen Wortfehlausrichtungsdetektor 41 erzeugt, der seinerseits mit den Datenausgängen (29-32) von den FIFOs verbunden ist. Die Signale W_OFF_1 bis W_OFF_3 zeigen die Fehlausrichtung ihrer jeweiligen Spuren 1-3 (5-7) rela­ tiv zu der SPUR 0. Da dieselbe der Bezug ist, ist die SPUR 0 (4) nie mit sich selbst fehlausgerichtet. Wenn es ein Si­ gnal W_OFF_0 gibt, ist der Wert desselben in diesem Block­ diagramm immer Null. Folglich können dasselbe und der zuge­ ordnete Addierer (für die FIFO_0 25) unterdrückt werden. (Das Signal W_OFF_0 und der zugeordnete Addierer erscheinen als notwendige Objekte wieder, wenn die Bezugskanalauswahl programmierbar ist.)
Es gibt einen weiteren Block in dem Blockdiagramm 1 von Fig. 1. Das ist der IPG-Detektor 47. Derselbe ist mit so­ wohl den Daten (8), die in die FIFO_0 (25) für die SPUR 0 (4) geschrieben werden, als auch denselben (29), die aus derselben gelesen werden, gekoppelt. Derselbe ist ferner mit dem wiederhergestellten Takt der Bezugsspur der Quel­ lenumgebung und mit dem Takt DEST_REF_CLK der Zielumgebung gekoppelt. Die Funktion desselben ist im wesentlichen, das Auftreten der speziellen IPG-Leerzeichen K und R zu erfas­ sen. Eine solche Erfassung ist die Bedingung, die die Ein­ stellung des Zählwerts in dem Ratenanpassungskreiszähler 45 ermöglicht. Ein einfacher ITG-Detektor kann lediglich mit den Bezugsspurausgangsdaten 29 gekoppelt sein und kann ein einziges Signal Lesezeigeränderungsfreigabe erzeugen. Dies funktioniert jedoch auf Kosten des Auferlegens einer ver­ steckten zusätzlichen minimalen Längenerfordernis für die IPG. Dies ist detaillierter im folgenden erörtert, jedoch kurz ausgedrückt, ermöglicht die Anordnung, die hier ge­ zeigt ist, die Erzeugung von zwei Freigabesignalen: Lese­ zeiger-Erhöhen-Freigabe (RP_ADV_EN) 48 und Lesezeiger- Verkleinern-Freigabe (RP_RET_EN) 49. Mit getrennten Freiga­ besignalen zum Erhöhen und Verkleinern des Zählers 45 gibt es keine zugeordnete erhöhte minimale Größenerfordernis für eine IPG (d. h. wie viele K und R dieselbe enthalten muß).
Es wird nun von einer Beschreibung, von dem, was sich in dem Blockdiagramm des elastischen Puffers 1 befindet, zu einer Erörterung darüber gewechselt, wie derselbe funktio­ niert. Es wird mit dem Gesamtbetrieb gefolgt von einer de­ taillierteren Betrachtung der einzelnen Themen der Wortaus­ richtung, der IPG-Erfassung und der Ratenanpassung begon­ nen. Schließlich werden kurz einige Alternativen unter­ sucht.
Die vier Spuren der ankommenden Daten (8-11) werden je­ weils in einer jeweiligen FIFO (25-28) gespeichert. Es wird kein Versuch unternommen, eine Datenfehlausrichtung zu erfassen oder handzuhaben, sowie dieselben gespeichert wer­ den. Bei einem bevorzugten Ausführungsbeispiel ist es zweckmäßig, obwohl nicht prinzipiell notwendig, sich darauf zu verlassen, daß die Spurfehlausrichtung relativ zu einer Bezugsspur nie größer als ein Wort ist. Wenn eine solch große Fehlausrichtung auftreten sollte, liegen die Daten außerhalb der Spezifikationen des zugeordneten Standards derselben. (Es wird ferner angenommen, daß für jede Spur der SERDES 10 Bits von Daten zugeführt hat, die ordnungsge­ mäß zusammenpassen, und nicht beispielsweise 2 Bits von ei­ nem Wort, die mit 8 Bits eines anderen Worts verbunden sind.) Ein Wort kann ein Datenzeichen D (z. B. alles, was ursprünglich in 8 Bits ausdrückbar ist) oder eines der spe­ ziellen Nicht-Daten-Leerzeichen K und R sein. Ein Paket be­ steht aus einer großen Zahl von Wörtern, möglicherweise ei­ ner Potenz von 2, wie z. B. 210, oder sogar größer. Da die FIFOs jeweils 16 Zeichen halten, ist, wenn ein Fehlausrich­ tungsereignis, das in der Mitte eines großen Pakets auf­ tritt, vorkommt, dasselbe durch lediglich eine Untersuchung des FIFO-Inhalts nicht erfaßbar, da derselbe zu einem Zeit­ punkt des Fehlausrichtungsereignisses erschien. Die Daten in den FIFOs sind willkürlich, und es gibt keine Möglich­ keit, lediglich durch Betrachten einer "Mittelscheibe"' ei­ nes Pakets (wie es in den FIFOs gespeichert ist) auszusa­ gen, daß dasselbe nicht so ist, wie es sein sollte. Feh­ lausrichtungsereignisse sind jedoch allgemein nicht abrupt. Es ist häufiger der Fall, daß sich eine Fehlausrichtung über die Zeit allmählich stärker ausprägt, und daß, wenn dieselbe zur IPG-Zeit erkannt und gehandhabt werden kann, dies ausreicht. Das heißt, es wird angenommen, daß nie eine Fehlausrichtung gehandhabt werden muß, die kommt und dann, während sich dieselbe in der Mitte eines Pakets befindet, wieder verschwindet. Daher muß eine Fehlausrichtung ledig­ lich während einer IPG überprüft werden.
Es ist nun einfach, zu erkennen, daß eine IPG durch den elastischen Puffer läuft: dieselbe wird die speziellen Zei­ chen K und R (dies ist der Grund, warum dieselben vorhanden sind) zeigen, und kein anderer Teil eines Pakets wird ent­ weder K oder R enthalten. Außerdem ist ein Teil der Art, mit der der SERDES arbeitet, daß jede Spur mit einem gleichzeitigen und identischen Muster von K und R während einer IPG beginnt. Es sei dann angenommen, daß ein K oder ein R aus der FIFO 25 für die Bezugs-SPUR_0 (4) gelesen wird. Wenn keine Fehlausrichtung aufgetreten ist, dann ist sicher, daß die entsprechende Leseoperation für die anderen FIFOs das gleiche Symbol erzeugt. Da ferner bekannt ist, daß die Fehlausrichtung entweder statisch ist oder sehr langsam fortschreitet, und daß dieselbe behoben wird, bevor dieselbe größer als ein Wort wird, kann trotzdem das Argu­ ment umgedreht werden und gesagt werden, daß, wenn die Sym­ bole, die gerade aus der Bezugs-FIFO und einer anderen FIFO gelesen wurden, beide K oder R sind, es dann keine Fehlaus­ richtung zwischen der Bezugsspur und dieser anderen Spur gibt. So weit so gut. Aber was ist mit den Fällen, bei de­ nen eine Fehlausrichtung auftritt?
Es wird nun angenommen, daß die SPUR_1 etwas früh im Ver­ gleich zu dem Bezug (SPUR_0) eintrifft. Ein kurzes Nachden­ ken wird den Leser zufriedenstellen, daß, obwohl dieselbe die Zeitfolge ändert, in der Dinge passieren (ein R für die FIFO_1 wird etwas früher als das R für die FIFO_0 gespei­ chert), dies nicht die relativen Positionen dieser zwei Rs verändert. Jedes ist die "nächste" Position. Wenn dieselben folglich mit einem gemeinsamen Wert für den Lesezeiger (was das ist, was man tun wird, wenn man keinen Hang hat, etwas anderes zu tun) gelesen werden, werden diese zwei R jeweils als die normalen Daten für ihre jeweiligen FIFOs erschei­ nen, als ob es keine Fehlausrichtung gab! Das heißt, es muß nichts zusätzlich getan werden, um den Fall zu beheben, bei dem eine Spur von bis zu einem Wort früher relativ zu der Bezugsspur fehlausgerichtet ist. Das beschriebene Hinein- und Hinaus-Takten der FIFOs hat dies bereits behoben.
Es wird nun der andere Fall betrachtet, bei dem die SPUR_1 bezüglich der SPUR_0 spät ist. Bei diesem Fall wird der Schreibzeiger WP_1 für die SPUR_1 vor seinen ankommenden FIFO-Daten (d. h. beispielsweise vor R) gespeichert. Wenn nun der Lesezeiger RP_0 für FIFO_0 zu einem Wert fort­ schreitet, der das entsprechende R liest, erzeugt das Lesen von FIFO_1 nicht, daß R für RP_1 gleich RP_0 ist. Wenn er­ zwungen wird, daß die IPG-Daten wiederholte Zeichen (der HARI-Standard verwendet KRKR. . .) vermeiden, dann ist garan­ tiert, daß die zwei speziellen Zeichen ungleich sind, und dies kann als eine Anzeige verwendet werden, daß die SPUR_1 um ein Wort später relativ zu der SPUR_0 fehlausgerichtet ist. Bei diesem Fall möchte man W_OFF_ 1 auf 1 einstellen, um einen Ein-Wort-Versatz in RP_1 einzuführen. Dies hebt die Ein-Wort-Fehlausrichtung der SPUR_1 relativ zu der SPUR_0 auf, so weit es das Lesen der Daten betrifft. Und dies ist auch alles, worum sich die Zielumgebung kümmert.
Wenn jedoch W_OFF_1 durch eine Stationärzustand-Gleichheit oder -Ungleichheit zwischen Leerzeichen direkt gesteuert werden muß, gibt es ein Problem. Es ist ein Oszillator. Wenn das Einstellen von W_OFF_1 auf Wahr die Fehlausrich­ tung löscht, verschwindet der Unterschied, was W_OFF_1 weg­ nimmt und die Fehlausrichtung wiederherstellt, was W_OFF_1 zurück zu WAHR bringt etc. Statt dessen wird W_OFF_1 jedes­ mal umgeschaltet, wenn ein Unterschied zwischen der SPUR_1 und der Bezugsspur auftritt. Wenn W_OFF_1 zu einem Wert ge­ bracht wird, der die Fehlausrichtung behebt, gibt es keine ungleichen Leerzeichen, und W_OFF_1 verbleibt lediglich bei diesem behebenden Wert und die Spur bleibt ausgerichtet. Wenn derselbe (den anderen Weg zurück!) driftet, um feh­ lausgerichtet zu sein, dann wird W_OFF_1 wiederum umge­ schaltet, und dies sollte dies beheben.
Es gibt einige Haushaltsführungssorgen, die sich darauf be­ ziehen, wie der Wortfehlausrichtungsdetektor 41 arbeiten sollte. Das beschriebene Verfahren wird funktionieren, vor­ ausgesetzt, daß entweder ein spezielles Zeichen K oder ein R das letzte Zeichen ist, das gerade für jede Spur gelesen wurde. Das heißt, übliche Datenzeichen, die in einer Spur an der Grenze einer IPG erscheinen können, sollen vor dem Beeinflussen des Resultats ausgeschlossen werden. Das Ein­ stellen der W_OFF_i und die Antwort auf die Wertänderungen derselben müssen alle in einen Zyklus fallen. Vorausge­ setzt, daß diese Bedingungen erfüllt werden (alle Leerzei­ chen und keine Latenzzeit), wird dann jedes aktuelle Zei­ chen einer Nicht-Bezugsspur mit dem aktuellen Zeichen der Bezugsspur verglichen, um zu bestimmen, ob dieselben gleich oder unterschiedlich sind. Die Gleichheit für eine Spur zeigt die Ausrichtung während des Lesens an. Der Unter­ schied für eine Spur zeigt an, daß die Spur spät ist und daß der Lesezeiger für die FIFO der Spur einen umgeschalte­ ten Versatz von 1 aufweisen muß. Da das anpassende K oder R spät gespeichert wurde, wird sich dasselbe in dem nächsten FIFO-Eintrag befinden, und wenn auf diesen Eintrag statt dessen zugegriffen wird, wird sich dieses Zeichen korrekt anpassen. Daher muß der Versatz den Lesezeiger für die FIFO dieser Spur inkrementieren. Ein umgeschalteter Versatz von 1 kann dies erledigen. Sobald dies durchgeführt ist, wird die Fehlausrichtung für diese Spur so lange als verschwun­ den erscheinen, bis eine weitere Änderung des Verhaltens der Spur auftritt.
Es wird sich nun der Frage der Ratenanpassung zugewandt. Wiederum müssen die Handlungen beschränkt werden, die vor­ genommen werden, um die Ratenanpassung an das Innere einer IPG zu bewirken. Es wird daher eine IPG-Erfassung benötigt. Die Spuren werden jedoch ausgerichtet sein, so daß es aus­ reichend ist, die aktuellen Zeichen für die FIFO der Be­ zugsspur zu untersuchen, um zu sehen, ob dieselben K oder R sind. Man kann lediglich das Zeichen verwenden, das aktuell eingegeben wird, oder lediglich jenes, das zuletzt ausgele­ sen wurde. Es ist jedoch zweckmäßig, sich über beide bewußt zu sein, da dies kürzere IPGs ermöglichen wird.
Der Leser wird sich erinnern, daß eine Ratenanpassung durch Verändern der Länge der IPG erreicht wird. Es sei angenom­ men, daß DEST_REF_CLK für die Zielumgebung schnell läuft. Da es nicht möglich ist, denselben zu verlangsamen, müssen demselben mehr (harmlose) zu lesende Zeichen gegeben wer­ den. Das Verfahren besteht darin, denselben einige der IPG- Zeichen durch Einführen einer dauerhaften Verzögerung in den Wert des Lesezeigers (BASE_RP), der ein üblicher Wert ist, der durch jede der FIFOs verwendet wird, wieder lesen zu lassen. (Der tatsächliche Wortzeigerwert jeder einzelnen FIFO ist BASE_RP, wie er durch jedes Stationärzustandsin­ krement eingestellt ist, das benötigt wird, um eine Aus­ richtung zu erzeugen, diese Tatsache stört jedoch nicht die Logik des vorhergehenden Satzes.) Und bei dem Fall, bei dem DEST_REF_CLK langsam läuft, muß es möglich sein, das Lesen von einigen IPG-Zeichen durch Erhöhen des Werts von DEST_REF_CLK auszulassen.
Dieses Erhöhen und Verkleinern muß, wie benötigt, auf einer fortlaufenden Basis auftreten und kann sich über eine lange Zeitdauer zu einer gewaltigen Zahl von Zählwerten summie­ ren. Daher muß man einfach hinein gelangen und den Wert des Zählers auf einer Bedarfsbasis handhaben und nicht den Wert des Ratenanpassungskreiszählers mit einem äußeren Zähler versetzen. Die Fragen sind nun: Wann wird dies durchge­ führt, mit wieviel und wie?
Es soll immer dann durchgeführt werden, wenn der elastische Puffer eine PG überträgt und es scheint, daß die Lese- und Schreib-Zeiger für eine Behaglichkeit zu nahe zueinander kommen. Es wird bevorzugt, daß dieselben einen halben Zählzyklus (acht Zählwerte) bezüglich des Werts auseinander bleiben. Es muß daher klarerweise die Differenz zwischen WP_0 und RP_0 genommen werden. Es gibt nichts außergewöhn­ liches über die benötigte Arithmetik, es gibt jedoch eine Komplikation, die angegangen werden muß. Die Schwierigkeit fällt in eine Kategorie, die Zeitbereichskreuzungen genannt wird, und betrifft die häßliche Aussicht einer Metastabili­ tät. Die Situation ist folgende. WP_0 wird durch die Quel­ lenumgebung 2 getaktet, während RP_0 durch die Zielumgebung 3 getaktet wird. Der Unterschied wird durch ein Verfahren verwendet, das durch die Zielumgebung getaktet ist, es wird daher gewählt, den Wert von WP_0 in die Zielumgebung zu bringen und alle weiteren Operationen dort durchzuführen. (Das Herüberbringen ist der tatsächliche Zeitbereichskreu­ zungsteil.)
WP_0 ist ein 4-Bit-Zählwert. Um WP_0 herüber zu bringen, wird derselbe an zwei kaskadierte 4-Bit-Latchs angelegt, die durch DEST_REF_CLK getaktet sind. Diese Latchs sind noch nicht sichtbar; dieselben sind in dem Ratenanpassungs­ kreiszähler 45 positioniert. Die Verwendung von solchen Latchs bei der Zeitbereichskreuzung ist gut verstanden. Dies ist jedoch nicht alles, was getan werden muß. Das Me­ tastabilitätsproblem haftet an jedem Bit, das sich von ei­ nem Zählwert zu dem nächsten Zählwert ändern kann, sowie der Zählwert von einem Zeitbereich zu einem anderen läuft. Eine andere Weise, dies zu beschreiben, besteht darin, zu sagen, daß jedes Bit, das sich von einem Zählwert zu dem nächsten ändern kann, einer Unsicherheit ausgesetzt ist. Das übliche Binärsystem weist oftmals viele Bits auf, die von einem Zählwert zu dem nächsten übergehen. Das Resultat besteht darin, daß selbst bei kaskadierten Latchs eine Mehr-Bit-Unsicherheit auftritt. Dies wird nie funktionie­ ren. Die Lösung ist für Fachleute in solchen Dingen be­ kannt. Der Wert, der über die Zeitbereichsgrenze gesendet wird, wird in einen Gray-Code umgewandelt, bevor derselbe gesendet wird. Ein Gray-Code hat immer nur lediglich ein Bit, das sich von einem Zählwert zu dem nächsten ändert. Dies begrenzt den Schaden auf eine Unsicherheit von ledig­ lich einem Zählwert, mit der man leben muß. Dementsprechend wird WP_0 21 an den Binär-zu-Gray-Code-Wandler 50 angelegt, dessen Ausgangssignal GC_WP_0 (Gray-codierter Schreibzeiger Null) 51 dann an den Ratenanpassungskreiszähler 45 angelegt wird. Darin sind die kaskadierten 4-Bit-Latchs der Zeitbe­ reichskreuzung positioniert und die notwendige Subtraktion wird anschließend durchgeführt. Ein letztes Detailstück wird benötigt, um dieses Schema funktionieren zu lassen. Der Gray-codierte Wert GC_WP_0 (der Minuend in der Subtrak­ tion) wird um zwei Taktzeiten verzögert, bevor derselbe für eine Subtraktion verfügbar ist (ein Resultat der Metastabi­ litätsreparatur). Man ist nun verpflichtet, den Subtrahen­ den (RP_0) um ähnliche zwei Taktzyklen zu verzögern, damit die Subtraktion nicht die Wahrheit ergibt. Als nächstes wird ein Standardbinärwert von einem Gray-codierten Wert subtrahiert. Die Wahlmöglichkeiten bestehen entweder darin, denselben zurück umzuwandeln (möglicherweise Verzögerung, Extra-Silizium und ist möglicherweise redundant) oder wei­ ter zu gehen und das übliche Zweierkomplement und eine Ad­ dition durchzuführen, jedoch die Wahrheitstabelle des Ad­ dierers zu ändern, um den Gray-Code innen aufzunehmen (rückgängig zu machen) und jedenfalls die richtige Antwort zu erzeugen. Es wird bevorzugt, das letztere zu tun.
Mit den obigen Betrachtungen im Kopf wird fortgefahren, um die Differenz zwischen WP_0 und RP_0 zu bilden, und wenn diese etwa 8 ist, dann muß nichts weiteres zu diesem Zeit­ punkt getan werden. Nun sind WP_0 und RP_0 vorzeichenlose Ganzzahlwerte in dem Bereich von 0 bis 15. Man möchte, daß WP_0 vor RP_0 mit etwa 8 bleibt. Es wird daher WP_0 minus RP_0 gebildet und die Differenz wird mit einem Bereich, z. B. 6 bis 10, verglichen. Wenn es dieser Bereich ist, dann wird dieselbe als nahe genug zu 8 betrachtet und es wird nichts getan. Jene, die die Komplement-Arithmetik von Modulo-Zwei kennen, werden einschätzen können, daß dieses Resultat trotz einem Umwickeln (Wrap Around) in den Werten, während dieselben über die Zeit inkrementiert werden, z. B. das WO_0 von 15 zu 0 und dann zu 1 geht, während RP_0 von beispielsweise 7 zu 8 zu 9 geht, erhalten wird. (1-9 mod16 ist gleich 8.)
Es sei nun angenommen, daß RP_0 schneller als WP_0 inkre­ mentiert wird. Sobald sich dieselben annähern, ungeachtet dessen, wo sich dieselben in dem Zählzyklus befinden, wird die Differenz derselben kleiner. Wenn dieselbe in den Be­ reich von 1 bis 5 gelangt, verspürt man einen bestimmten Drang, den Wert des Lesezeigers um 4 zu dekrementieren, um vier zusätzliche IPG-Zeichen einzufügen. Dies kann sicher (d. h. ohne eine Angst des Störens von benachbarten Nicht- IPG-Daten) durchgeführt werden, wenn die vier Zeichen, die zuletzt aus der Bezugs-FIFO gelesen wurden, vier aufeinan­ derfolgende spezielle Zeichen waren. Dies ist die Bedeutung des Signals Lesezeiger-Verkleinern-Freigabe (RE_RET_EN) 49, das durch den IPG-Detektor 47 erzeugt wird. Die Wahl der vier zuletzt gelesenen speziellen Zeichen tritt aus diesem Grund auf. Wenn der Wert des Zählwerts für RP_0 verkleinert wird, muß sicher sein, daß derselbe schließlich zu einem weiteren speziellen Zeichen zeigt. Derselbe wird auf alles zeigen, was gerade vier Takte vorher (d. h. dem Beginn der verlangten vier gerade gelesenen speziellen Zeichen) gele­ sen wurde, und weder derselbe noch die drei, die demselben folgen, werden durch die Eingangsseite überschrieben sein, da der Schreibzeiger den Lesezeiger nicht überholt.
Es wird nun der Fall betrachtet, wenn RP_0 langsamer als WP_0 inkrementiert wird. Schließlich wird die Differenz ei­ ne große Zahl in dem Bereich von 11 bis 15 werden. Bei die­ sem Fall muß man den Wert des Lesezeigers um 4 erhöhen (so daß die Zeigerwerte ordnungsgemäß voneinander wieder beab­ standet sind). Dies durchzuführen, bedeutet, nicht so viele Zeichen lesen zu müssen, was die Art ist, mit der das Auf­ holen durchgeführt wird. Dieser Fall ist komplizierter und die Regel lautet wie folgt: Wenn für sechs aufeinanderfol­ gende spezielle IPG-Leerzeichen beobachtet wurde, daß die­ selben zu der FIFO für die Bezugsspur geschrieben wurden, und das Ausgangssignal der Bezugs-FIFO ebenfalls ein spezi­ elles IPG-Leerzeichen ist, dann wird das Signal Lesezeiger- Erhöhen-Freigabe (RP_ADV_EN) 48 erzeugt. Das heißt, in Ver­ bindung mit einer Differenz in dem Bereich von 11 bis 15 wird der Wert des Ratenanpassungszählers 45 sicher um vier Zählwerte erhöht. Die sechs aufeinanderfolgenden speziel­ len Zeichen können auf diese Art und Weise erklärt werden. Vier derselben werden benötigt, um die Positionen darzu­ stellen, die beim Erhöhen des Lesezeigers ausgelassen wer­ den sollen. Dies dient dazu, um zu verhindern, daß Daten durcheinander gebracht werden. Die verbleibenden zwei der­ selben werden für die Sicherheit benötigt, um es zu ermög­ lichen, daß eine Unsicherheit von zwei Zeichen durch die Verzögerung von zwei Zyklen der kaskadierten Latchs durch die Zeitbereichskreuzung verwendet wird.
Die Differenz von WP_0 minus RP_0 wird immer innerhalb des Zählers 45 cebildet, der WP_0 über eine Zeitbereichsgrenze, wie im vorhergehenden erklärt, für den Zweck des Erzeugens der Differenz erhält (derselbe besitzt bereits RP_0, da derselbe die Quelle für diesen Zählwert ist). Die Differenz wird mit der Drei-Bereichs-Teilung von 1 zu 5, 6 zu 10 und 11 zu 15 verglichen. Das Resultat dieses Vergleichs wird mit den Lesezeiger-Erhöhen- und Verkleinern-Freigabe- Signalen (4E, 49) gegattert, um zu entscheiden, wann der Zähler 45 einzuleiten ist, um sich selbst zu erhöhen oder zu verkleinern.
Es wird nun auf Fig. 2 Bezug genommen, die ein vereinfach­ tes Blockdiagramm des Ratenanpassungskreiszählers 45 ist. Es sind bereits die Funktionseigenschaften des Ratenanpas­ sungskreiszählers 45 beschrieben, so daß angenommen wird, daß das Blockdiagramm von Fig. 2 ohne eine ausgedehnte Er­ örterung beurteilt werden kann. Daher sind kurz beschrieben die Haupteingangssignale desselben GC_W_0 (die Gray­ codierte Version von WP_0) 51 und die Ratenanpassungs- Freigabe-Signale RP_ADV_EN 48 und RP_RET_EN 49. Derselbe nimmt ferner das Taktsignal DEST_REF_CLK 46 auf, das die Zielseite der Zeitbereichskreuzung ist. Die Gray-codierte Version von WP_0 51 wird an die zwei kaskadierten 4-Bit- Latchs 52 und 53 angelegt, die jeweils durch DEST_REF_CLK 46 getaktet sind. Das Ausgangssignal des Latch 53 wird um zwei Taktzyklen verzögert und ist ein Wert, der in den Zielzeitbereich gekreuzt hat und wird dann, immer noch im Gray-Code (obwohl dasselbe hier zurück zu binär, wenn ge­ wünscht, umgewandelt werden könnte), an einen Eingang eines Addierers 54 angelegt. Das andere Eingangssignal des Addie­ rers 54 ist das Zweierkomplement des Werts, der von WP_0 subtrahiert werden soll, nämlich BASE RP 37 (das als RP_0 verwendet wird), nachdem dasselbe ebenfalls um zwei Taktzy­ klen in der. Latchs 56 und 57 verzögert wurde. Die Wahr­ heitstabelle (nicht gezeigt) des Addierers 54 ist einge­ stellt, um die Effekte des Gray-Codes für das Eingangs­ signal WP_0 rückgängig zu machen. Das Ausgangssignal des Addierers 54 ist ein Differenzsignal Δ 58, das seinerseits an einen Bereichsdetektor 59 angelegt ist. Derselbe be­ stimmt, ob sich Δ in dem Bereich von 1 bis 5 (Signal 60) oder in dem Bereich von 11 bis 15 (Signal 61) befindet. Der 6-bis-10-Bereich ist im Prinzip interessant, da derselbe jedoch keine spezifische Handlung verursacht, kann derselbe durch Minimierung eliminiert werden.
Das Signal 60 für Δ gleich 1 bis 5 wird durch ein UND- Gatter 62 mit dem Signal RP_RET_EN 49 UND-verknüpft, das von dem IPG-Detektor 47 ausgeht. Wenn dieselben beide WAHR sind, dann ist das Signal INS (Einfügen von speziellen Zei­ chen) ebenfalls wahr. Dasselbe wird als ein Eingangssignal an eine Zustandsmaschine 64 angelegt. Auf ähnliche Art und Weise wird das Signal 61 für Δ gleich 11 bis 15 durch ein UND-Gatter 63 mit RP_ADV_EN UND-verknüpft, das ebenfalls von dem IFG-Detektor 47 ausgeht. Das Ausgangssignal des UND-Gatters 63 ist ein Signal DEL (Löschen von speziellen Zeichen), das ebenfalls ein Eingangssignal zu der Zustands­ maschine 64 ist. Das Endeingangssignal zu der Zustandsma­ schine 64 ist der aktuelle Wert von BASE RP 37. Die Zu­ standsmaschine 64 weist die Eigenschaften eines 4-Bit- Kreiszählers auf, der durch die Fähigkeit verbessert wird, den Wert derselben um 4 bei der Aktivierung von DEL bzw. INS zu inkrementieren oder zu dekrementieren. Siehe die Wahrheitstabelle 66. Das 4-Bit-Latch 65 erfaßt den nächsten Wert von BASE_RP 37, von wo derselbe zu den verschiedenen Positionen, bei denen derselbe verwendet wird, gesendet wird.
Es wird nun auf Fig. 3 Bezug genommen, die ein Blockdia­ gramm des Wortfehlausrichtungsdetektors 41 ist. Wie es ohne weiteres zu sehen ist, umfaßt derselbe drei Komparatoren 89-91, die Einsen als Ausgangssignale immer dann erzeugen, wenn die Eingangssignale derselben nicht gleich sind. Jeder Komparator vergleicht das Datenwort, das gerade aus der Be­ zugsspur (SPUR_0) gelesen wird, mit dem Datenwort, das ge­ rade aus jeder anderen Spur gelesen wird, und die jeweili­ gen Ausgangssignale derselben werden in eine Sammlung von Umschalt-Flip-Flops (Toggle-Flip-Flops) 97-99 zwischenge­ speichert bzw. verriegelt. Die Umschalt-Flip-Flops werden durch ein Signal 96, für das ohne weiteres erkennbar ist, daß dasselbe darstellt, daß jede Spur ein Leerzeichen K oder R zeigt, freigegeben bzw. aktiviert. Jede Spur speist beispielsweise Komparatoren (z. B. 92 und 93), die jeweils K und R erfassen. Die Erfassungen werden miteinander ODER­ verknüpft (94), so daß jedes Leerzeichen aufgenommen wird, und dann werden die Ausgangssignale von dem gesamten ODER- Gatter mit dem UND-Gatter 95 UND-verknüpft. Wenn das Aus­ gangssignal 96 von dem UND-Gatter 95 WAHR ist, bedeutet dies, daß jede Spur ein Leerzeichen zeigt. Dies ist dann der Zeitpunkt, zu dem die Umschalt-Flip-Flops freigegeben werden. Nun wird jedesmal während einer IPG, wenn sich eine Spur von ausgerichtet zu fehlausgerichtet ändert, das zuge­ ordnete Umschalt-Flip-Flop derselben den Zustand ändern. Es sei daran erinnert, daß, wenn eine Spur bezüglich der Be­ zugsspur früh ist, keine Fehlausrichtung vorhanden ist, ei­ ne Fehlausrichtung tritt lediglich auf, wenn eine Spur spät ist. Jedesmal, wenn eine Spur spät ist, wird der zugeordne­ te Komparator 89-91 derselben ein Ausgangssignal erzeu­ gen. Es wird angenommen, daß man sich in einer IPG befin­ det, die das zugeordnete Umschalt-Flip-Flop umschaltet. Ein erstes Umschalten, um die Fehlausrichtung während des Inbe­ triebnehmens zu korrigieren, kann fehlschlagen, das nächste Umschalten wird dieselbe jedoch korrigieren, so daß sich das System innerhalb eines Zyklusses oder einem zweimaligen Umschalten synchronisiert. Sobald eine Spur synchronisiert ist, ändert sich das Umschalt-Flip-Flop derselben ledig­ lich, um die neuen Fehlausrichtungsereignisse zu verfolgen.
Es wird nun auf Fig. 4 Bezug genommen, die ein Blockdia­ gramm des IPG-Detektors 47 ist. Es wird nun betrachtet, wie derselbe RP_RET_EN 49 durch Erfassen von vier aufeinander­ folgenden Leerzeichen in D_OUT_0 29 erzeugt. Ein Komparator 76 identifiziert K oder R und erzeugt K_R_OUT. Wenn dies passiert, entfernt derselbe das Neueinstellsignal bzw. Rücksetzsignal von einem 2-Bit-Zähler 77, der durch DEST_REF_CLK 46 getaktet ist. Wenn dieser Zähler zu einem Zählwert vor. 3 gelangt, wird ein Ausgangssignal von dem Komparator 78 erzeugt. Das bedeutet, daß drei Leerzeichen, jedoch nach einer Verzögerung, um durch die Zähler zu ge­ langen, aufgetreten sind. Wenn K_R_OUT zu diesem gleichen Zeitpunkt ebenfalls wahr ist, dann ist das der vierte Fall eines Leerzeichens, der vor der Verzögerung des Erhaltens des Hinaufzählens erkannt wird. Jedenfalls erkennt das UND- Gatter 79 diese Bedingung (vier Leerzeichen) und erzeugt RP_RET_EN 49. Dieses Ausgangssignal wird zu falsch in einem weiteren Zählwert des Zählers 77 zurückgehen, dasselbe wird jedoch ausreichend lang WAHR sein, um effektiv zu sein.
Der Betrieb des Rests des IPG-Detektors ist etwas kompli­ zierter. Die Idee besteht darin, sechs aufeinanderfolgende Leerzeichen auf der Schreibseite der Bezugs-FIFO zu erken­ nen, und dann RP_ADV_EN zu erzeugen. In diesem Fall gibt es zwei Zeitbereichskreuzungen. Eine tritt auf, da das benö­ tigte Signal sich auf der Leseseite befindet, und erklärt, warum kaskadierte Latchs 84 und 85 in dem Weg zu dem UND- Gatter 86 vorhanden sind, das RP_ADV_EN erzeugt. Die andere Kreuzung geht den anderen Weg (Latchs 87 und 88) zurück, da der Zustand von RP_ADV EN in der Neueinstellregel für einen sättigenden Zähler verwendet wird, der bei dem Hinaufzählen zu 6 verwendet wird. Der Zähler 82 zählt lediglich während K_R_IN WAHR ist und wird auf zwei Zyklen, nachdem RP_ADV_EN aktiviert ist, neu eingestellt.
Schließlich wird das Blockdiagramm 67 von Fig. 5 betrach­ tet. Es zeigt auf eine allgemeine Art und Weise welche Än­ derungen notwendig sind, daß die Vorrichtung des elasti­ schen Puffers, die oben beschrieben ist, eine programmier­ bare Bezugsspur aufweist. In dieser Figur besitzen Elemen­ te, die nicht verändert sind oder allgemein sehr ähnlich sind, die gleichen Bezugszeichen, die auch in Fig. 1 zuge­ wiesen sind. Es wird dann kurz angenommen, daß ein 2-Bit- Code REF_SEL 73 irgendwo (nicht gezeigt) erzeugt wurde und daß derselbe durch den Binärwert desselben anzeigt, welche der Spuren von SPUR_0 bis SPUR 3 als die Bezugsspur funk­ tionieren soll. REF_SEL 73 geht zu mehreren Stellen. Diese sind zu einem leicht modifizierten Wortfehlausrichtungsde­ tektor 68, einem leicht modifizierten IFG-Detektor 70 und einem leicht modifizierten Binär-zu-Gray-Code-Wandler 74. Allgemein gesprochen sind diese Schaltungen auf eine ähnli­ che Art und Weise dahingehend modifiziert, daß MUXs (nicht gezeigt) hinzugefügt sind, um es zu ermöglichen, daß ein Eingangs- oder Ausgangs-Wort, das der Spur zugeordnet ist, die durch REF_SEL identifiziert ist, anstelle eines Worts verwendet wird, das dauerhaft der SPUR 0 zugeordnet ist. Diese MUXs können aus 3-Zustands-Treibern gefertigt werden, um eine Einfachheit und einen niedrigen Leistungsverbrauch zu fördern.
Es gibt ein paar andere bemerkenswerte Änderungen, die er­ wähnt werden sollten. In keiner speziellen Reihenfolge sei dann bemerkt, daß der Wortausrichtungsdetektor ebenfalls erweitert ist, um das Signal 72 W_OFF_0 zu erzeugen, das in Fig. 1 nicht benötigt wird. Ähnlicherweise ist nun ein Ad­ dierer 71 vorhanden, der W_OFF_0 mit BASE RP kombiniert, um RP_0 zu erzeugen, wie es auch für die anderen Spuren durch­ geführt wird. Der IFG-Detektor 70 erhält nun alle Datenein­ gangswörter 8-11 und Datenausgangswörter 29-32 für jede der FIFOs sowie alle der wiederhergestellten Takte 12-15. Dieses Geschäft mit den Takten ist so, daß dasselbe weiter Signale 48 und 49 erzeugt, die eine Zeitbereichskreuzungs­ verzögerungsanpassung für den Ratenanpassungskreiszähler, ungeachtet welche Spur die Bezugsspur ist, aufweisen.
In der in der Figur gezeigten Anordnung entkommt der Raten­ anpassungskreiszähler 45 einer Modifikation, da der Binär­ zu-Gray-Code-Wandler statt dessen modifiziert ist. Derselbe erhält nun alle Schreibzeiger und verwendet REF_SEL, um den Korrekten zum Umwandeln hineinzumultiplexieren. Dann wird der Name des Ausgangssignals zu GC_REF_WP 75 geändert und derselbe wird zu dem Ratenanpassungskreiszähler 45 anstelle dessen gesendet, was WP_0 war. Der Zähler 45 kennt keinen Unterschied. Selbst die 2-Zustands-Verzögerung, die der Zeitbereichskreuzung zugeordnet ist, wird automatisch ein­ gestellt, da der einzige tatsächliche Takt, der verwendet wird, um es zu erreichen, DEST_REF_CLK ist. Der wiederher­ gestellte Takt für die Bezugsspur erscheint lediglich indi­ rekt als zeitliche Abstimmung der Flanken des Schreibzei­ gerzählwerts der Bezugsspur (GC_REF_WP), der zu dem Raten­ anpassungskreiszähler gesendet wird.
Es gibt ein anderes erwähnenswertes Detail. Ungeachtet des­ sen, ob das Ausführungsbeispiel das von Fig. 1 oder das von Fig. 5 ist, sollte die anfängliche Freigabe des RESET- Signals 16 mit einer Anfangsflanke von dem wiederherge­ stellten Taktsignal der Taktsignale 12-15 synchronisiert sein, das der Bezugsspur zugeordnet ist. Dies wird zum Vor­ teil des Wortfehlausrichtungsdetektors 41/68 durchgeführt.

Claims (2)

1. Verfahren zum Ausrichten von Daten in Spuren, die Pa­ kete von aufeinanderfolgenden Datenzeichen übertragen, die durch Zwischenpaketlücken einer Mehrzahl von un­ terschiedlichen ersten und zweiten Leerzeichen ge­ trennt sind, wobei das Verfahren folgende Schritte aufweist:
Auswählen einer Spur (4) als eine Bezugsspur;
Speichern der Zeichen von jeder Spur (4-7) in auf­ einanderfolgenden Positionen von jeweiligen Zuerst- Hinein-Zuerst-Hinaus- (FIFO-) Registerstrukturen (25-28) gemäß Übergängen in jeweiligen Taktsignalen (12-15), die von jeder Spur wiederhergestellt werden;
gleichzeitiges Lesen eines nächsten Zeichens aus jeder FIFO-Registerstruktur mit jeweiligen Spurlesezeigern (33-36) basierend auf einem gemeinsamen Lesezeiger (37);
Erfassen für jede Spur, ob jedes gleichzeitig gelesene nächste Zeichen ein Leerzeichen ist;
Bestimmen (89-91) relativ zu der Bezugsspur für jede Nicht-Bezugsspur, ob die zugeordneten gleichzeitig ge­ lesenen Zeichen unterschiedliche Zeichen sind;
Umschalten von jeweiligen Latchs (97-99), die jeder Spur zugeordnet sind, für jede Spur, bei der die Schritte des Erfassens und Bestimmens beide bejaht werden; und
Inkrementieren (38-40) der zugeordneten Spurlesezei­ ger um Beträge in Zählwerten (42-44), die oberhalb des Werts des gemeinsamen Lesezeigers (37) sind, wobei die Beträge in Zählwerten den Zuständen der jeweiligen umgeschalteten Latchs entsprechen.
2. Verfahren gemäß Anspruch 1, bei dem die Rateneinstel­ lung zwischen dem Speichern der Zeichen und dem gleichzeitigen Lesen der nächsten Zeichen durch ein Erhöhen und Verkleinern einer Inkrementierfolge für den gemeinsamen Lesezeiger (37) während einer Zwi­ schenpaketlücke durchgeführt wird.
DE10108379A 2000-04-28 2001-02-21 Elastische Puffer für eine Serialisierer/Deserialisierer-Wortausrichtung und eine Ratenanpassung zwischen Zeitbereichen Expired - Lifetime DE10108379C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/561,078 US6693918B1 (en) 2000-04-28 2000-04-28 Elastic buffers for serdes word alignment and rate matching between time domains

Publications (2)

Publication Number Publication Date
DE10108379A1 true DE10108379A1 (de) 2001-10-31
DE10108379C2 DE10108379C2 (de) 2003-07-31

Family

ID=24240540

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10108379A Expired - Lifetime DE10108379C2 (de) 2000-04-28 2001-02-21 Elastische Puffer für eine Serialisierer/Deserialisierer-Wortausrichtung und eine Ratenanpassung zwischen Zeitbereichen

Country Status (2)

Country Link
US (1) US6693918B1 (de)
DE (1) DE10108379C2 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1484874A2 (de) * 2003-06-05 2004-12-08 Broadcom Corporation System zum Anschluss eines Media-Access-Control(MAC)-Moduls an ein Small-Form-Factor-Pluggable(SFP)-Modul
CN113922876A (zh) * 2021-09-30 2022-01-11 中国船舶重工集团公司第七二四研究所 一种利用多重判断实现多通道光纤数据对齐的方法

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7158517B2 (en) * 2001-05-21 2007-01-02 Intel Corporation Method and apparatus for frame-based protocol processing
US7099426B1 (en) * 2002-09-03 2006-08-29 Xilinx, Inc. Flexible channel bonding and clock correction operations on a multi-block data path
JP4034172B2 (ja) * 2002-11-20 2008-01-16 Necエレクトロニクス株式会社 エンコーダ、デコーダおよびデータ転送装置
US7366207B1 (en) * 2003-02-18 2008-04-29 National Semiconductor Corporation High speed elastic buffer with clock jitter tolerant design
JP2004364115A (ja) * 2003-06-06 2004-12-24 Konica Minolta Business Technologies Inc 原稿読取装置、画像形成装置及び画像処理方法
US7421014B2 (en) * 2003-09-11 2008-09-02 Xilinx, Inc. Channel bonding of a plurality of multi-gigabit transceivers
US7400670B2 (en) 2004-01-28 2008-07-15 Rambus, Inc. Periodic calibration for communication channels by drift tracking
US7095789B2 (en) 2004-01-28 2006-08-22 Rambus, Inc. Communication channel calibration for drift conditions
US8422568B2 (en) 2004-01-28 2013-04-16 Rambus Inc. Communication channel calibration for drift conditions
US20050207280A1 (en) * 2004-03-16 2005-09-22 Fowler Michael L Bit clock with embedded word clock boundary
US20050219083A1 (en) * 2004-03-16 2005-10-06 Boomer James B Architecture for bidirectional serializers and deserializer
US6961862B2 (en) 2004-03-17 2005-11-01 Rambus, Inc. Drift tracking feedback for communication channels
US7064690B2 (en) * 2004-04-15 2006-06-20 Fairchild Semiconductor Corporation Sending and/or receiving serial data with bit timing and parallel data conversion
US7499516B2 (en) * 2004-11-19 2009-03-03 Agere Systems, Inc. Methods and apparatus for interface buffer management and clock compensation in data transfers
US7366803B1 (en) 2005-02-23 2008-04-29 Xilinx, Inc. Integrated circuit for buffering data by removing idle blocks to create a modified data stream when memory device is not near empty
US20070047589A1 (en) * 2005-08-24 2007-03-01 Bobak Modaress-Razavi Multi-rate SERDES receiver
US7248122B2 (en) * 2005-09-14 2007-07-24 Fairchild Semiconductor Corporation Method and apparatus for generating a serial clock without a PLL
US8379676B1 (en) * 2006-06-01 2013-02-19 World Wide Packets, Inc. Injecting in-band control messages without impacting a data rate
CN100591001C (zh) * 2006-11-30 2010-02-17 中芯国际集成电路制造(上海)有限公司 具有缓冲器控制的数据传输的系统和方法
CN108932208A (zh) * 2017-05-25 2018-12-04 中兴通讯股份有限公司 一种数据处理的方法和设备
KR102342547B1 (ko) 2017-07-12 2021-12-23 삼성전자주식회사 버퍼 컨트롤러, 메모리 장치 및 집적회로 장치
TWI658700B (zh) * 2018-07-16 2019-05-01 創意電子股份有限公司 積體電路、多通道傳輸裝置及其信號傳輸方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6636518B1 (en) * 1996-12-16 2003-10-21 Juniper Networks Synchronizing source-synchronous links in a switching device
US6594329B1 (en) * 1999-11-01 2003-07-15 Intel Corporation Elastic buffer

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1484874A2 (de) * 2003-06-05 2004-12-08 Broadcom Corporation System zum Anschluss eines Media-Access-Control(MAC)-Moduls an ein Small-Form-Factor-Pluggable(SFP)-Modul
EP1484874A3 (de) * 2003-06-05 2006-03-08 Broadcom Corporation System zum Anschluss eines Media-Access-Control(MAC)-Moduls an ein Small-Form-Factor-Pluggable(SFP)-Modul
US7403548B2 (en) 2003-06-05 2008-07-22 Broadcom Corporation System for interfacing media access control module to small form factor pluggable module
CN113922876A (zh) * 2021-09-30 2022-01-11 中国船舶重工集团公司第七二四研究所 一种利用多重判断实现多通道光纤数据对齐的方法

Also Published As

Publication number Publication date
DE10108379C2 (de) 2003-07-31
US6693918B1 (en) 2004-02-17

Similar Documents

Publication Publication Date Title
DE10108379C2 (de) Elastische Puffer für eine Serialisierer/Deserialisierer-Wortausrichtung und eine Ratenanpassung zwischen Zeitbereichen
DE19941196B4 (de) Zweikanal-FIFO mit synchronisierten Lese- und Schreibzeigern
DE3587149T2 (de) Datenuebertragungssysteme.
DE3650102T2 (de) Anordnung und Verfahren zur Berechnung zyklischer redundanter Kode.
DE3689285T2 (de) CRC-Rechenmaschinen.
DE3688786T2 (de) Apparat und zugehöriges Verfahren für das Konvertieren von Signalen mit einem Seriendatenmuster, übertragen oder geeignet für eine Übertragung über ein synchrones Serienübertragungsmittel mit hoher Informationsgeschwindigkeit in Ausgangssignale mit einem Parallelmuster.
DE68928008T2 (de) Verfahren und Anordnung für Netzwerkknoten zur Vermeidung von Rahmenabstandsschrumpfung
DE69432587T2 (de) Verzögerungsleitungsseparator für datenbus
DE69132757T2 (de) Vorrichtung zu Parallelserien und zur Serienparallelwandlung von Daten und dadurch entstandenes serielles digitales Nachrichtenübertragungssystem
DE2807175C2 (de) Anordnung zur Steuerung von Informationsübertragungen zwischen zwei Rechenanlagen
EP0574598A1 (de) Datenpufferspeicher
DE69030016T2 (de) Mit N-bit Zählern arbeitende Synchronisationsschaltung in einem Speicherbaustein
DE2854485A1 (de) Datenverarbeitungssystem mit speicherhierarchie
DE202009019093U1 (de) Vorrichtung und System für automatische Datenausrichter für mehrere serielle Empfänger
DE69113836T2 (de) Integrierter Hochgeschwindigkeitssynchronzähler mit asynchroner Auslesung.
DE2853239A1 (de) Datenpufferspeicher vom typ first-in, first-out mit variablem eingang und festem ausgang
DE69025510T2 (de) Asynchronische Hochgeschwindigkeitsdatenschnittstelle
DE60118385T2 (de) Verfahren und vorrichtung zur übertragung von paketen in einem speicher
DE3689282T2 (de) CRC-Rechenmaschine und Methode zur CRC-Berechnung.
DE1240953B (de) Zeitmultiplex-UEbertragungsanlage
DE68909666T2 (de) Koppelpunktschaltungselement zwischen zwei Daten-Sammelleitungen.
DE69614763T2 (de) Schaltung für schnellen Synchronzähler
DE69031639T2 (de) Synchronisiereinrichtung, welche Taktphasenextrapolation verwendet
DE19924254C2 (de) Synchronisierschaltung zum Empfangen eines asynchronen Eingangssignals
DE68923271T2 (de) Verfahren und anordnung zur wahrnehmung bevorstehender überläufe und/oder unterschreitungen eines elastischen puffers.

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8304 Grant after examination procedure
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: AVAGO TECHNOLOGIES GENERAL IP ( SINGAPORE) PTE. LT

8328 Change in the person/name/address of the agent

Representative=s name: DILG HAEUSLER SCHINDELMANN PATENTANWALTSGESELLSCHA

8328 Change in the person/name/address of the agent

Representative=s name: DILG HAEUSLER SCHINDELMANN PATENTANWALTSGESELLSCHA

R081 Change of applicant/patentee

Owner name: BROADCOM INTERNATIONAL PTE. LTD., SG

Free format text: FORMER OWNER: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD., SINGAPORE, SG

Owner name: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LT, SG

Free format text: FORMER OWNER: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD., SINGAPORE, SG

R082 Change of representative

Representative=s name: DILG, HAEUSLER, SCHINDELMANN PATENTANWALTSGESE, DE

Representative=s name: DILG HAEUSLER SCHINDELMANN PATENTANWALTSGESELL, DE

R081 Change of applicant/patentee

Owner name: BROADCOM INTERNATIONAL PTE. LTD., SG

Free format text: FORMER OWNER: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LTD., SINGAPUR, SG

R082 Change of representative

Representative=s name: DILG, HAEUSLER, SCHINDELMANN PATENTANWALTSGESE, DE

R071 Expiry of right