[go: up one dir, main page]

DE102007035018A1 - Einrichtung zum Behandeln binärer Daten mit Serien/Parallel-Umsetzung - Google Patents

Einrichtung zum Behandeln binärer Daten mit Serien/Parallel-Umsetzung Download PDF

Info

Publication number
DE102007035018A1
DE102007035018A1 DE102007035018A DE102007035018A DE102007035018A1 DE 102007035018 A1 DE102007035018 A1 DE 102007035018A1 DE 102007035018 A DE102007035018 A DE 102007035018A DE 102007035018 A DE102007035018 A DE 102007035018A DE 102007035018 A1 DE102007035018 A1 DE 102007035018A1
Authority
DE
Germany
Prior art keywords
data
clock signal
input
bit
demultiplexer
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.)
Ceased
Application number
DE102007035018A
Other languages
English (en)
Inventor
Torsten Hinz
Patrick Runkel
Otto Schumacher
Russell Los Gatos Homer
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.)
Qimonda AG
Original Assignee
Qimonda AG
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 Qimonda AG filed Critical Qimonda AG
Priority to DE102007035018A priority Critical patent/DE102007035018A1/de
Priority to US12/179,286 priority patent/US20090040082A1/en
Publication of DE102007035018A1 publication Critical patent/DE102007035018A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/106Data output latches
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1087Data input latches
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M9/00Parallel/series conversion or vice versa
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/10Aspects relating to interfaces of memory device to external buses
    • G11C2207/107Serial-parallel conversion of data or prefetch

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Time-Division Multiplex Systems (AREA)

Abstract

Beschrieben wird eine Einrichtung zum Behandeln binärer Daten in einer Übertragungsstrecke (200-i), die einen aus einer Datenquelle (100) empfangenen seriellen Bitstrom (SBS) mit der Bitperiode T<SUB>B</SUB> in aufeinander folgende n-Bit-Datenwörter im Parallelformat umwandelt zur Weiterleitung an eine zugeordnete Datensenke (300-i). Erfindungsgemäß enthält ein in der Übertragungsstrecke vorgesehener Serien/Parallel-Umsetzer (20, 30) einen n-auf-1-Demultiplexer (20), der die aufeinander folgenden Datenbits des seriellen Bitstroms (SBS) nacheinander in Abständen gleich T<SUB>B</SUB> zyklisch an n Datenausgängen (DQ1:n) erscheinen lässt und am jeweiligen Datenausgang bis zum erneuten Erscheinen eines Datenbits am betreffenden Datenausgang verriegelt hält. Der Umsetzer (20, 30) enthält ferner eine Neuverriegelungsschaltung (30), welche die Signale von denjenigen Datenausgängen des Demultiplexers (20), an denen die ersten K Datenbits jedes Zyklus erscheinen, jeweils zu einem Zeitpunkt neu verriegelt, der zwischen dem Beginn der Verriegelung des letzten Datenbits und dem Ende der Verriegelung des ersten Datenbits des betreffenden Zyklus im Demultiplexer liegt, wobei 1 <= k < n ist.

Description

  • Die Erfindung betrifft eine Einrichtung zum Behandeln binärer Daten, mit mindestens einer Übertragungsstrecke, die bzw. deren jede zwischen einer Datenquelle und einer individuell zugeordneten Datensenke angeordnet ist, um einen von der Quelle gelieferten seriellen Datenbitstrom in eine Folge aus n-Bit-Datenwörtern im Parallelformat umzuwandeln und diese Folge an die Datensenke zu liefern. Ein wichtiges, jedoch nicht ausschließliches Anwendungsgebiet der Erfindung ist die Übertragung von Schreibdaten, die als serielle Bitströme mit sehr hoher Datenrate (z. B. im Bereich von einem oder mehreren Gigabits/Sekunde) von einem Speichercontroller geliefert werden, an ein Speichermedium, z. B. an einen integrierten DRAM-Baustein oder an Speichermodule, die jeweils mehrere solche Bausteine enthalten.
  • Die Übertragungsstrecke zwischen Datenquelle z. B. einem Controller und Datensenke z. B. einem DRAM sollte eine möglichst geringe Latenz zeigen, d. h. die Zeit zwischen dem Empfang der seriellen Daten am Eingang der Strecke und der Ankunft der Daten als parallelisierte Datenwörter an der Datensenke sollte kurz sein. Eine Aufgabe der Erfindung ist es, diese Forderung zu erfüllen.
  • Die Übertragungsstrecke enthält notwendigerweise Serien/-Parallel-Umsetzer, der den seriellen Bitstrom in die parallelisierten n-Bit-Wörter umsetzt. Jedes dieser Datenwörter soll einen bestimmten "Frame" des seriellen Bitstroms wiedergeben, d. h. einen bestimmten, aus n aufeinander folgenden Bits bestehenden Abschnitt des seriellen Bitstroms. Um die Latenz der gesamten Übertragungsstrecke gering zu halten, sollte auch die Latenz des Demultiplexers möglichst gering sein. Um dies zu erreichen, ist eine Ausführungsform der Erfindung gemäß dem Patentanspruch 1 dadurch gekennzeichnet, dass der Serien/Parallel-Umsetzer folgendes enthält:
    • – einen n-auf-1-Demultiplexer, der so ausgebildet und steuerbar ist, dass die aufeinander folgenden Datenbits des seriellen Bitstroms (SBS) nacheinander in Abständen gleich einer Bitperiode TB des seriellen Bitstroms zyklisch an n Datenausgängen erscheinen und am jeweiligen Datenausgang bis zum erneuten Erscheinen eines Datenbit am betreffenden Datenausgang verriegelt bleiben;
    • – eine Neuverriegelungsschaltung mit Verriegelungselementen, welche die Signale von denjenigen Datenausgängen des Demultiplexers empfangen, an denen die ersten k Datenbits jedes Zyklus erscheinen, und welche jeweils zu einem Zeitpunkt aktiviert werden, der zwischen dem Beginn der Verriegelung des letzten Datenbit und dem Ende der Verriegelung des ersten Datenbit des betreffenden Zyklus im Demultiplexer liegt, wobei 1 ≤ k < n ist.
  • Ein erfindungsgemäß ausgebildeter Serien/Parallel-Umsetzer hat den Vorteil, dass seine Latenz extrem kurz ist. An den n parallelen Datenausgängen des 1-auf-n-Demultiplexers erscheinen die n Datenbits jedes n-Bit-Datenwortes zeitlich gestaffelt in Abständen von jeweils einer Bitperiode TB und jeweils für die Dauer von n Bitperioden. Das erste Bit jedes Datenwortes erscheint praktisch unmittelbar nach seinem Empfang, und das n-te (also letzte) Bit erscheint bereits n-1 Bitperioden später. Durch die erfindungsgemäße Neuverriegelungsschaltung wird das Zeitfenster, innerhalb dessen alle n Bits parallel abgetastet werden können, merklich vergrößert.
  • Merkmale besonderer Ausgestaltungen und Weiterbildungen einer erfindungsgemäßen Einrichtung sind in nachgeordneten Patentansprüchen gekennzeichnet. Diese Ausgestaltungen und Weiterbildungen betreffen eine Pufferschaltung und eine zusätzliche justierbare Verzögerungsschaltung zur Synchronisierung der parallelisierten Frames mit dem Taktbetrieb der Datensenke. Andere Weiterbildungen betreffen die Kombination mehrerer Übertragungsstrecken zur synchronisierten Übertragung mehrerer serieller Bitströme als Folgen parallelisierter Frames an mehrere parallel betriebene Datensenken, z. B. an die einzelnen DRAM-Bausteine von Speichermodulen. Alle diese Ausführungsformen zeichnen sich dadurch aus, dass ihr Beitrag zur Latenz der Datenübertragung gering ist.
  • Die Erfindung und ihre besonderen Ausgestaltungen und Weiterbildungen werden nachstehend an Ausführungsbeispielen anhand von Zeichnungen näher erläutert.
  • 1 zeigt die Ausbildung des Demultiplexers und der Neuverriegelungsschaltung in einer erfindungsgemäßen Übertragungsstrecke zwischen eine Datenquelle und einer Datensenke;
  • 2 ist ein Zeitdiagramm von Signalen, die an verschiedenen Stellen der in 1 gezeigten Schaltungen auftreten;
  • 3 zeigt die Ausbildung einer in der Übertragungsstrecke enthaltenen Pufferschaltung;
  • 4 ist ein Zeitdiagramm der an verschiedenen Stellen der Pufferschaltung nach 3 auftretenden Signale;
  • 5 zeigt die Ausbildung einer in der Übertragungsstrecke enthaltenen justierbaren Verzögerungsschaltung;
  • 6 zeigt die Kombination mehrerer Übertragungsstrecken zur Datenübertragung zwischen mehreren Ausgängen einer Datenquelle und jeweils zugeordneten Datensenken;
  • 7 zeigt das Schema einer Anordnung zur Datenübertragung zwischen mehreren Ausgängen einer Datenquelle und jeweils zugeordneten Datensenken innerhalb jedes Moduls einer Mehrzahl von Modulen;
  • 8 zeigt die Ausbildung einer Schaltung zur Regenerierung des seriellen Bitstroms in einzelnen Übertragungsstrecken der Anordnung nach 7.
  • In den Figuren und in der nachstehenden Beschreibung sind gleiche und gleichartige Elemente mit jeweils den selben Bezugszeichen benannt, meist zusammen mit einem nachgestellten alphanumerischen Symbol (Dezimalzahl oder Kleinbuchstabe), das eine laufende Nummer zur näheren Identifizierung des betreffenden Elementes angibt, wobei die das Zeichen "i" eine beliebige laufende Nummer bedeutet. Ein Doppelpunkt ":" zwischen zwei Nummern ist jeweils zu lesen als das Wort "bis". Das Schriftzeichen "..." ist je nach Kontext zu lesen als "bis" oder "und folgende"
  • In der 1 ist links unten als Block 100 eine Datenquelle dargestellt, die einen seriellen Bitstrom über eine Ausgangs-Datenleitung 110 an einen Eingang X einer Übertragungsstrecke 200 liefert, deren Ausgang Y mit dem Dateneingang einer Datensenke 300 verbunden ist. Der über die Datenleitung 110 gelieferte Bitstrom besteht aus einzelnen Datenbits, die mit der Periode TB (Bitperiode) aufeinander folgen, wobei die Zeitsteuerung der Datenabtastung in der Datenquelle 100 durch ein Systemtaktsignal CLS der Frequenz fB = 1/TB erfolgt.
  • Die Übertragungsstrecke soll dafür sorgen, dass aufeinander folgenden Abschnitte ("Frames") von jeweils n Bits des seriellen Bitstroms als aufeinander folgende n-Bit-Wörter im Parallelformat an den n-Bit-Paralleleingang der Datensenke 300 gelegt werden, und zwar entsprechend einem "Frametakt", dessen Periode (Frameperiode) gleich dem n-fachen der Bitperiode TB des seriellen Bitstroms ist. Das heißt, der Frametakt hat die Frequenz fF = 1/(n·TB).
  • In der Übertragungstrecke 200 muss also eine Serien/Parallel-Umsetzung erfolgen. Hierzu enthält die Übertragungsstrecke einen 1-auf-n-Demultiplexer 20, der die n aufeinander folgenden Datenbits eines jeden Frame des seriellen Bitstroms mittels aktiver Flanken eines Eingabetaktsignals CLB abtastet und auf n zugeordneten Ausgangsleitungen des Demultiplexers 20 bereitstellt.
  • Die Laufzeit des Bitstroms von der Quelle 100 zum Eingang X der Übertragungsstrecke 200 ist abhängig von den physikalischen Eigenschaften der Datenleitung 110. Zu diesen Eigenschaften tragen die Länge, die spezifischen elektrischen Parameter und auch die Art der Verlegung der Leitung bei, ebenso auch die jeweiligen Umgebungseinflüsse. Da der Komplex aller Leitungseigenschaften und somit auch die Laufzeit nicht genau vorhersagbar ist und auch während des Betriebs innerhalb eines gewissen Toleranzbereichs schwanken kann, ist dem im Demultiplexer 20 eine Eingangsschaltung 10 vorgeschaltet. Diese Schaltung (sogenannte "Data-Clock-Recovery"-Schaltung) enthält einen Phasenregelkreis 11, der den eingangsseitigen Bitstrom CBS und das Systemtaktsignal CLS empfängt und an seinem Ausgang das Eingabetaktsignal CLB und den seriellen Bitstrom SBS relativ zueinander mit einer Phasenlage erzeugt, die geeignet ist für eine zuverlässige Abtastung der Datenbits des seriellen Bitstroms.
  • Die eigentliche Serien/Parallel-Umsetzung im Demultiplexer 20 erfolgt mittels eine Gruppe von n Latchelementen 22-1, 22-2, ... 22-n und einer Schreibsteuerschaltung 23. Jedes der Latchelemente ist jeweils genau einem der n Bits jedes Frame zugeordnet. In 1 ist der Demultiplexer 20 für den Beispielsfall n = 4 gezeichnet, also enthaltend vier Latchelemente 22-1, 22-2, 22-3, 22-4. Jedes Latchelement 22-i hat einen Dateneingang D zum Empfang des seriellen Bitstroms SBS, einen Takteingang C zum Empfang des Eingabetaktsignals CLB und einen Aktivierungseingang E zum Empfang eines zugeordneten Aktivierungsimpulses ENi von einem zugeordneten Ausgang der Schreibsteuerschaltung 23. Jedes Latchelement 22-i ist so ausgebildet, dass es ein an seinem Dateneingang D anstehendes Datenbit an seinem Datenausgang Q verriegelt, sobald eine aktive Flanke des Eingabetaktsignals CLB bei gleichzeitiger Anwesenheit eines zugeordneten Aktivierungsimpulses ENi erscheint.
  • Zur näheren Erläuterung der Arbeitsweise des Demultiplexers 20 sei auf die 2 Bezug genommen, die über einer gemeinsamen Zeitachse den Verlauf verschiedener Signale zeigt.
  • Die erste (oberste) Zeile in 1 zeigt den seriellen Bitstrom SBS, wie er an den Dateneingängen D aller Latchelemente 22-1:4 erscheint. Die Grenzen der Bitperioden TB sind durch dünne vertikale gestrichelte Linien angedeutet, und die Grenzen der Frames sind durch fette vertikale gestrichelte Linien angedeutet. Beim hier diskutierten Beispiel enthält jeder Frame n = 4 aufeinander folgende Bits, die gemäß ihrer zeitlichen Reihenfolge mit B1, B2, B3, B4 bezeichnet sind. Jede Bitperiode hat am Anfang und Ende jeweils eine Übergangszeit, die in der üblichen Weise durch schräge Flanken veranschaulicht ist und in welcher der Binärwert des betreffenden Bits nicht eindeutig erfasst werden kann, also "ungewiss" ist. Eine zuverlässige Abtastung der Bits mittels der Latchelemente 22-1:4 kann nur in einem begrenzten Zeitfenster zwischen diesen Übergangszeiten erfolgen, also in einem begrenzten Zeitfenster innerhalb der "Gültigkeitsdauer" des Bits.
  • In der zweiten Zeile ist das Eingabetaktsignal CLB gezeigt, das von der Synchronisierschaltung 21 aus dem Systemtaktsignal CLS abgeleitet wird. Diese Schaltung 21 erzeugt das Eingabetaktsignal CLB mit einer solchen Phase, dass die mit der Periode TB aufeinander folgenden aktiven Flanken des Eingabetaktsignals (hier die steigenden Flanken) jeweils zu einem Zeitpunkt erscheinen, der in jedem Fall, auch wenn sich die Phase des seriellen Bitstroms innerhalb gewisser Toleranzgrenzen verschiebt, innerhalb der Gültigkeitsdauer eines jeweils zugeordneten Bits bleibt und außerdem einen gewissen Mindestabstand sowohl vom Beginn als auch vom Ende dieser Gültigkeitsdauer hat. Die Einhaltung dieser Mindestabstände ist notwendig in Anbetracht der Natur der Latchelemente 22-1:4, denn diese Elemente erfordern für ihren Schaltbetrieb eine gewisse Setup-Zeit τs vor der Taktflanke und eine ge wisse Haltezeit τH nach der Taktflanke.
  • Die geeignete Einstellung der relativen Phase zwischen dem Eingabetakt CLB und dem seriellen Bitstrom SBS kann während eines Initialisierungsvorgangs über den Phasenregelkreis 11 unter schrittweiser Veränderung der Taktphase und Überwachung der Abtastqualität gefunden werden. Die Schritte eines Initialisierungsverfahrens, mit welchem noch andere Phaseneinstellungen entlang der Übertragungsstrecke vorgenommen werden können, wird an späterer Stelle beschrieben werden. In 2 ist als Beispiel eine Einstellung dargestellt, bei welcher die Zeitpunkte tA der aktiven Flanken des Eingabetaktsignals jeweils relativ kurz vor dem Ende der Gültigkeitsdauer der Datenbits liegen, so dass die Setup-Zeit τs und die Haltezeit τH gerade noch eingehalten wird.
  • Die Schreibsteuerschaltung 23 empfängt das Eingabetaktsignal CLB und hat n = 4 Ausgänge, deren jeder mit dem Aktivierungseingang EN eines individuell zugeordneten Latchelementes der Gruppe 22-1:4 zugeordnet ist. Über ihre vier Ausgänge versorgt die Schreibsteuerschaltung 23 die Aktivierungseingänge EN der Latchelemente 22-1:4 selektiv nacheinander im Rhythmus des Eingabetaktsignals jeweils mit einem Aktivierungsimpuls EN bestimmter Dauer. Diese Aktivierungsimpulse sind in den nächsten vier Zeilen der 2 dargestellt und von EN1 bis EN4 nummeriert, gemäß ihrer Zuordnung zu den Latchelementen 22-1:4.
  • Das erste Bit eines jeden Frame, also das Bit B1, soll im "ersten" Latchelement 22-1 abgetastet werden und an dessen Datenausgang Q für die Dauer TF der Frameperiode verriegelt werden. Hierzu muss die Schreibsteuerschaltung 23 den "ersten" Aktivierungsimpuls EN1 jedes Zyklus an das Element 22-1 legen, und zwar mit einer Dauer, die spätestens zum Zeitpunkt tA1 – τs beginnt und frühestens zum Zeitpunkt tA1 + τH endet, wobei tA1 der Zeitpunkt der aktiven Flanke des Taktsignals CLB für die Abtastung des ersten Bit B1 ist. Der Beginn des Im pulses EN1 muss allerdings später sein als der Zeitpunkt tA1 – TB + τH, und das Ende des Impulses muss früher sein als der Zeitpunkt tA1 + TB – τs. Wenn alle diese Bedingungen eingehalten werden, ist sichergestellt, dass der Verriegelungsvorgang für das Bit B1 am Datenausgang Q des Latchelementes 22-1 zum Zeitpunkt tA1 beginnt.
  • Beim gezeigten Beispiel gemäß 2 beginnt der erste Aktivierungsimpuls EN1 an der vorderen Bitgrenze des ersten Bit B1 eines Frame des seriellen Bitstroms und endet mit der hinteren Bitgrenze dieses Bit. Seine Dauer ist also gleich TB. Der Signalverlauf auf der Ausgangsleitung DQ1 des Latchelementes 22-1 ist in der entsprechend bezeichneten Zeile der 2 dargestellt. Das dort erscheinende Bit B1 des laufenden Frame Fi bleibt verriegelt, bis zum Zeitpunkt tA1 + TF die Verriegelung des ersten Bit des nächsten Frame Fi + 1 beginnt.
  • In der gleichen Weise wie vorstehend beschrieben, läuft zeitgestaffelt in Abständen von jeweils gleich TB die Verriegelung der nachfolgenden Bits B2:4 des laufenden Frame Fi in den Latchelementen 22-2:4, unter zeitgestaffelter Aktivierung dieser Elemente durch die Aktivierungsimpulse EN2:4. Die Signalverläufe auf den Ausgangsleitungen DQ2:4 der Latchelemente sind ebenfalls in den entsprechend bezeichneten Zeilen der 2 dargestellt.
  • Die Schreibsteuerschaltung 23 kann einen Zähler enthalten, der zyklisch mit der Frequenz des Eingabetaktsignals CLB jeweils über n = 4 aufeinander folgende Zählwerte schrittgeschaltet wird. Der Aktivierungsimpuls EN1 wird für die Dauer der Existenz des ersten Zählwerte am zugeordneten Zählwertausgang erzeugt. Der Aktivierungsimpuls EN2 wird für die Dauer der Existenz des zweiten Zählwertes am zugeordneten Zählwertausgang erzeugt, usw.
  • Im Nutzbetrieb des Serien/Parallel-Umsetzers 20 müssen die Zyklen der Schreibsteuerschaltung 23 derart mit den Frames synchronisiert sein, dass der erste Aktivierungsimpuls EN1 wirklich auf das erste Bit eines Frame des seriellen Bitstroms SBS trifft. Diese Synchronisierung kann mittels einer Initialisierungs-Decoders 12 erfolgen, der in 1 innerhalb der Eingangsschaltung 10 gezeichnet ist. Während einer Initialisierungsphase wird von der Datenquelle 100 ein Trainingsmuster gesendet, d. h. ein serieller Bitstrom, aus welchem sich eine Markierung MRK decodieren lässt, die einmalig das letzte Bit eines einzigen Frame identifiziert. Beim Erkennen dieser Markierung MRK bringt der Decoder 12 die Schreibsteuerschaltung 23 in einen "Nullzustand", so dass mit der nächstfolgenden Eingabetakt die sich zyklisch wiederholende Folge der Aktivierungsimpulse EN1:n beginnt.
  • Nach gültiger Verriegelung des letzten Bit eines jeden Frame, also des Bit B4 auf der Leitung DQ4, ergibt sich die Gelegenheit, alle Bits B1:4 gleichzeitig an den Ausgangsleitungen DQ1:4 abzutasten, um sie als 4-Bit-Wort im Parallelformat weiterzuleiten. Diese Gelegenheit besteht nur während eines begrenztes Zeitfensters τp, nämlich nur so lange, wie alle n Bits B1:4 des jeweils selben Frame gleichzeitig auf den Leitungen DQ1:4 gültig sind. In einer möglichen Ausführungsform der Erfindung kann zur Parallelabtastung eine Abtastschaltung verwendet werden (nicht gezeigt), die auf ein Frametaktsignal anspricht, das aus dem Eingabetaktsignal CLB abgeleitet ist und aktive Abtastflanken innerhalb des Zeitfensters τp hat.
  • Der in 1 dargestellte Demultiplexer 20 hat den Vorteil, dass die Latenz vom Empfang des letzten Bit eines Frame bis zur Parallelabtastung aller Bits des betreffenden Frame äußerst kurz ist. Bei herkömmlichen Serien/Parallel-Umsetzern, die mit einer Kaskade mehrerer aufeinander folgender Umsetzerstufen in einer Art Baumschaltung arbeiten, ist die Latenz mehrfach so lang.
  • Das erwähnte Zeitfenster τp für die Parallelabtastung der Bits B1:4 an den Leitungen DQ1:4 ist relativ schmal und wird umso schmäler je höher die Frequenz fB des Eingabetaktes ist. Zur Parallelabtastung innerhalb dieses schmalen Fensters würde man Latchelemente mit äußerst kurzen Setup- und Haltezeiten benötigen; außerdem würde sich die Latenz für das jeweils späteste Bit erhöhen.
  • In einer Ausführungsform der Erfindung wird durch relativ einfache Maßnahmen dafür gesorgt, dass ein breiteres Zeitfenster für die Parallelabtastung zur Verfügung steht und dennoch die Latenz gering bleibt. Allgemein gesprochen, wird dies dadurch erreicht, dass die k ersten Bits B1:k (mit 1 ≤ k < n) vom Ausgang des Demultiplexers 20 innerhalb einer Schaltung 30 neu verriegelt werden, und zwar zu einem Zeitpunkt innerhalb einer Zeitspanne, die zwischen dem Beginn der Gültigkeit des k-ten Bit Bk und dem Ende der Gültigkeit des ersten Bit B1 liegt. Die Bits B1:k erscheinen dann gleichzeitig ab dem besagten Zeitpunkt an den Ausgängen DQ'1:k der Verriegelungsschaltung 31, also später als an den Ausgängen DQ1:k des Demultiplexers 20, jedoch mit unveränderter Gültigkeitsdauer. Hierdurch wird das Zeitfenster für die Parallelabtastung aller n Bits B1:n eines Frame wesentlich breiter.
  • Die 1 zeigt eine geeignete Schaltung 30 zur Realisierung dieses Prinzips in Verbindung mit dem Demultiplexer 20, wobei k = n/2 = 2 ist. Die "ersten" k Ausgänge Demultiplexers, also die Leitungen DQ1 und DQ2, führen zu einem Block aus Verriegelungselementen 31, die an ihrem Takteingang ein Frametaktsignal CLF empfangen, dessen Wellenform in der entsprechend bezeichneten Zeile der 2 dargestellt ist und das von einem Frametaktgeber 24 erzeugt wird. Das Frametaktsignal CLF ist eine Folge von Impulsen, deren Folgefrequenz gleich fF ist und deren Rückflanken (im gezeigten Fall die fallenden Flanken) jeweils zu einem Zeitpunkt tJ erscheinen, kurz nachdem das k-te Bit (also das zweite) Bit B2 eines Frame auf der Leitung DQ2 gültig geworden ist. Mit diesen Flanken werden die Verriegelungselemente 31 getaktet, so dass die k ersten Bits B1:2 eines Frame ab dem Zeitpunkt tJ auf den Ausgangs leitungen D'1:2 der Verriegelungselemente 31 verriegelt werden, bis die (fallende) Rückflanke des nächsten Frametaktimpulses erscheint, mit welcher die ersten k Bits des nächsten Frame an den Ausgängen der Verriegelungselemente 31 verriegelt werden. Die übrigen Bits B3:4 des Frame, die auf den Leitungen DQ3:4 erscheinen, werden unverändert durch die Schaltung 30 hindurchgeleitet.
  • Beim gezeigten Beispiel werden die (fallenden) Rückflanken der Frametaktimpulse durch die Rückflanke des jeweils k-ten Aktivierungsimpulses EN2 ausgelöst, sie erscheinen um eine kurze Reaktionszeit τR verzögert, wie in 2 gezeigt. Die Zeitlage der hiermit "neu verriegelten" Bits B1:2 auf den Leitungen DQ'1:2 ist in 2 in den Zeilen direkt unterhalb des Frametaktsignals CLF dargestellt. Wie man leicht erkennt, steht für die Parallelabtastung aller Bits B1:4 eines Frame nunmehr ein Zeitfenster τP' zur Verfügung, das mit der Gültigkeit des n-ten Bit B4 des Frame auf der Leitung DQ4 beginnt. Dieses Zeitfenster endet erst mit dem Ende der Gültigkeit des (k+1)-ten Bit B3 auf der Leitung DQ3. Es ist somit bedeutend länger als das Zeitfenster τp.
  • Beim gezeigten Beispiel werden die (steigenden) Vorderflanken der Frametaktimpulse CLF durch die Rückflanke des jeweils k-ten Aktivierungsimpulses ENk ausgelöst, also durch die Rückflanken der Aktivierungsimpulse EN2, und erscheinen ebenfalls um die Reaktionszeit τR verzögert. Hierdurch ergibt sich vorteilhafterweise das Tastverhältnis 1/2 für die Frametaktimpulse, d. h. die fallenden Flanken erscheinen eine halbe Frametaktperiode später als die steigenden Flanken. Zur Erzeugung dieses Frametaktsignals CLF kann, wie als Beispiel in 1 gezeigt, ein SR-Flipflop 24 verwendet werden, dessen Ansprechzeit die oben erwähnte Reaktionszeit τR definiert. Der Setzeingang S des Flipflop 24 wird durch die (fallenden) Rückflanken des jeweils n-ten Aktivierungsimpulse EN4 getriggert, und der Rücksetzeingang R des Flipflop 24 wird durch die (fallenden) Rückflanken des jeweils k-ten Aktivierungs impulses EN2 getriggert wird.
  • Vorstehend wurde zur einfachen Illustrierung der Beispielsfall einer Framelänge n = 4 beschrieben, und für die Anzahl der "neu verriegelten" Bits wurde die Zahl k = n/2 gewählt. In der Praxis, z. B. wenn es sich um die Datenübertragung von oder zu Speichermodulen handelt, wird n meist deutlich größer sein. Die Zahl k kann auch größer oder kleiner sein als n/2. Der Vorteil der beschriebenen "Neuverriegelung", nämlich das verbreiterte Abtastfenster τP', ergibt sich mehr oder weniger bei jeder Zahl 1 ≤ k < n. Die Wahl k = n/2 ist nicht zwingend, jedoch optimal. Eine solche Wahl ist natürlich nur möglich, wenn n eine gerade Zahl ist, was in den meisten praktischen Fällen gilt; andernfalls wäre für k die Zahl (n + 1)/2 oder (n-1)/2 optimal.
  • Allgemein gesagt bilden die k Ausgangsleitungen DQ'1:k des Latchregisters 31 und die n-k Ausgangsleitungen DQ(k + 1):n des Demultiplexers 20 ein Leitungsbündel DF, an welchem jeder Frame im Parallelformat innerhalb eines relativ breiten Zeitfensters τP' abgetastet werden kann. Für diese Abtastung können die in der oben beschriebenen Weise steigenden Flanken der Frametaktimpulse CLF verwendet werden, denn diese Flanken erscheinen immer innerhalb des besagten Zeitfensters.
  • Der Empfang der Frames an der Datensenke 300 wird durch ein Taktsignal CLY getaktet, das gemäß der 1 von einem Taktgeber 310 aus dem Systemtaktsignal CLS abgeleitet wird. Im Falle, dass mehrerer Datensenken über jeweils eine individuell zugeordnete Übertragungsstrecke parallel mit Daten versorgt werden (wie später noch anhand der 6 und 7 beschrieben wird) ist das Taktsignal CLY allen Datensenken gemeinsam.
  • In der Praxis wird der aus dem Demultiplexer 20 kommende Frametakt nicht synchron mit der Frametaktung der zugeordneten Datensenke 300 sein. Das heißt, die Phase des "Senken- Frametaktes" CLY kann sich gegenüber der Phase des "Demultiplexer-Frametaktes" CLF in nicht vorhersagbarer Weise verschieben. Aus diesem Grund ist es vorteilhaft, zwischen dem Leitungsbündel DF und dem Dateneingang der Datensenke eine Pufferschaltung vorzusehen, die in 1 als Block 40 gezeichnet ist und beide Taktsignale CLF und CLY empfängt. Diese Pufferschaltung kann ein herkömmliches FIFO-Register enthalten, dessen Schreibzeiger durch den Demultiplexer-Frametakt CLF gesteuert wird und dessen Lesezeiger durch den Senken-Frametakt CLY gesteuert wird.
  • In einer vorteilhaften Ausgestaltung der Erfindung enthält die Pufferschaltung 40 ein FIFO-Register, das eine Mehrzahl q ≥ 2 Speicherplätze enthält, deren jeder zur Aufnahme der n Datenbits eines Frame ausgelegt ist. Dieses FIFO-Register wird durch einen Nebenschlussweg ("Bypass") überbrückt, wenn der Lesezeiger und der Schreibzeiger einander nahe kommen. Dies erlaubt es, die zusätzliche Latenz der Pufferschaltung 40 im Datenpfad zu verringern.
  • In einer besonders vorteilhaften Ausführungsform der Pufferschaltung 40, die in 3 dargestellt ist und nachstehend als Beispiel beschrieben wird, enthält das FIFO-Register nur q = 2 Speicherplätze. Die 4 zeigt in einem Diagramm über einer gemeinsamen Zeitachse die Signale und Logikwerte, die während eines Betriebs der Pufferschaltung 40 an verschiedenen Orten der Schaltung erscheinen. Manche Signale sind als Wellenform mit abwechselnd "hohem" und "niedrigem" Pegel gezeichnet. Für das hier beschriebene Beispiel gilt die Übereinkunft, dass der hohe Pegel den Logikwert "1" repräsentiert und der niedrige Pegel den Logikwert "0" repräsentiert. Dementsprechend sind alle Binärsignale in 4 auch als aufeinander folgende Kästchen mit der fett geschriebenen Inschrift 0 oder 1 dargestellt. In der nachfolgenden Beschreibung sind Ziffern oder Zahlen, wenn sie Logikwerte bzw. Binärcodes repräsentieren, jeweils in "Anführungszeichen" gesetzt.
  • Das Diagram nach 4 ist eingeteilt in vier Abschnitte, die, einer unter dem anderen, über derselben Zeitachse gezeichnet sind. Der erste (oberste) Abschnitt veranschaulicht den Schreibbetrieb an der Pufferschaltung 40, die anderen Abschnitte veranschaulichen den Lesebetrieb für drei unterschiedliche Situationen.
  • Die vier ersten Zeilen des obersten Diagramm-Abschnittes der 4 zeigen noch einmal den Verlauf der Signale von den vier Ausgängen DQ'1, DQ'2, DQ3, DQ4 der Neuverriegelungsschaltung 30 (1), und unmittelbar darunter ist die Folge der Frames Fi, Fi + 1, ... gezeigt, wie sie über das von der Neuverriegelungsschaltung 30 kommende Leitungsbündel DF jeweils im Parallelformat als n-Bit-Wörter geliefert werden. Diese Frames sind jeweils innerhalb eines Zeitfensters der Breite τP' gültig (vgl. 2). Die dazwischen liegenden Intervalle, in denen eine Parallelabtastung aller n Bits eines Frame nicht möglich ist, sind durch schwarze Bereiche symbolisiert. Diese "DF-Framefolge" wird am Eingang der Pufferschaltung 40 empfangen, zusammen mit den Frametaktimpulsen CLF, die vom Frametaktgeber 24 des Demultiplexers 20 (1) erzeugt werden. Diese Taktimpulse CLF bestimmen den "Schreibtakt" für das in der Pufferschaltung 40 enthaltene FIFO-Register. Wie zuvor beschrieben wurde, erscheinen die (steigenden) Vorderflanken dieser Impulse jeweils während der Gültigkeitszeit τP' eines Frame und sind um eine halbe Frametaktperiode verzögert gegenüber den (fallenden) Rückflanken.
  • Die Pufferschaltung 40 enthält einen Schreibzähler 41, der durch das Schreibtaktsignal CLF an seinem Takteingang C gesteuert wird. Der Schreibzähler 41 zählt zyklisch über jeweils 2q – 1 = 4 Zählwerte von 0 bis 3 und enthält zwei Zählwertdecoder (nicht gezeigt), einen für die Codierung dieser Zählwerte im Dualzahlen-Code "00", "01", "10", "11" und einen für die Codierung im Gray-Code "00", "01", "11", "10". An einem ersten Ausgang liefert der Zähler 41 ein 1-Bit-Signal WRA, welches nur das niedrigstwertige Bit (LSB, also das 20 Bit) des Dualzahlen-Codes wiedergibt. An einem zweiten Ausgang liefert der Zähler 41 ein 2-Bit-Signal WRB, welches die beiden Bits des Gray-Codes im Parallelformat wiedergibt.
  • Eine Besonderheit der Pufferschaltung 40 nach 3 besteht darin, dass der Schreibzähler 41 nicht durch die (steigenden) Vorderflanken des Schreibtaktes CLF getaktet werden, die in die Gültigkeitszeiten der Frames fallen, sondern durch (fallenden) Rückflanken, also um eine halbe Frameperiode versetzt. In 4 ist diejenige Rückflanke der Schreibtaktimpulse CLF, welche den Zähler 41 auf den "ersten" Zählwert "01" setzt, mit einem schwarzen Punkt markiert, und der nachfolgende Frame der DF-Framefolge ist willkürlich als Frame Fi bezeichnet.
  • Wie gesagt, enthält die Pufferschaltung 40 zwei Registerstufen 43A und 43B, deren jede einen n-Bit-Dateneingang D zum Empfang der der n-Bit-Parallelwörter der DF-Framefolge hat und einen Latcheingang L aufweist. Jede dieser Registerstufen ist so beschaffen, dass sie die am Dateneingang D empfangenen Datenwörter zu ihrem Datenausgang Q durchlässt, solange ein am Latcheingang empfangenes Latchsignal aktiv ist, d. h. den Logikwert "1" hat. Sobald das Latchsignal auf seinen inaktiven Logikwert "0" geht, wird das momentan empfangene Datenwort am Datenausgang Q für die Dauer des aktiven Zustandes des Latchsignals verriegelt.
  • Das Latchsignal LTA für die Registerstufe 43A sind Impulse, die in einem Gatter 42A durch UND-Verknüpfung der invertierten Version des Ausgangsignals WRA des Schreibzählers 41 mit dem Frametaktsignal CLF erzeugt werden. Das Latchsignal LTB für die Registerstufe 43B sind Impulse, die in einem Gatter 42B durch UND-Verknüpfung des Ausgangsignals WRA des Schreibzählers 41 mit dem Frametaktsignal CLF erzeugt werden. Die Latchimpulse LTA entsprechen denjenigen Impulsen des Frametaktsignals CLF, welche den ungeradzahlig nummerierten Frames ... Fi – 1, Fi + 1, Fi + 3, ... zugeordnet sind ("ungerade" Frames), und die Latchimpulse LTB entsprechen denjenigen Impulsen des Frametaktsignals CLF, welche den geradzahlig nummerierten Frames ... Fi – 2, Fi, Fi + 2, ... zugeordnet sind ("gerade" Frames). Somit erscheint am Datenausgang der Registerstufe 43A eine Framefolge DFA, welche nur die "ungeraden" Frames enthält, und am Datenausgang der Registerstufe 43B erscheint eine Framefolge DFB, welche nur die "geraden" Frames enthält. Die Framefolgen DFA und DFB erscheinen um eine Frametaktperiode TF zueinander versetzt, und die Gültigkeitsdauer der Frames in diesen Framefolgen ist jeweils länger als TF, so dass sich gerade und ungerade Frames zeitlich überlappen.
  • Das zwischen "0" und "1" wechselnde Ausgangssignals WRA des Schreibzählers 41 bildet somit über die UND-Gatter 42A, 42B den Schreibzeiger für das zweistufige Register 43A, 43B. Um dieses Register als FIFO-Register zu betreiben, ist ein erster 2-auf-1-Multiplexer 44 vorgesehen, dessen Schaltzustand durch einen Lesezeiger RDA gesteuert wird, der mit dem Frametaktsignal CLY der Datensenke synchronisiert ist. Dementsprechend wird das Taktsignal CLY im Folgenden auch als "Lesetaktsignal" bezeichnet. Es ist ein Lesezähler 45 vorgesehen, der genau so aufgebaut ist wie der Schreibzähler 41 und durch die steigenden Flanken der Leseimpulse CLY getaktet wird, um zyklisch jeweils von 0 bis 3 zu zählen. Das niedrigstwertige Bit des Dualzahlencodes des Zählwertes bildet den Lesezeiger RDA zur Steuerung des Multiplexers 44. Beim Logikwert "0" des Lesezeigers RDA verbindet der Multiplexer 44 das DFA-Leitungsbündel mit seinem Ausgang, und beim Logikwert "1" des Lesezeigers RDA verbindet der Multiplexer 44 das DFB-Leitungsbündel mit seinem Ausgang.
  • Somit liefert der FIFO-Multiplexer 44 auf seiner n-Bit-Ausgangsleitung (Leitungsbündel DFC) eine Framefolge DFC, in welcher die einzelnen Frames ... Fi, Fi + 1, ... in ihrer ursprünglichen Reihenfolge erscheinen, jedoch im Takt der steigenden Flanken des Lesetaktsignals CLY. Dies funktioniert einwand frei, solange der Lesetakt (steigende Flanken des Lesetaktsignals CLY) und der Schreibtakt (fallende Flanken des Schreibtaksignals CLF) um einen Mindestabstand zueinander versetzt sind. Ein solcher Zustand, bei dem die steigenden Flanken des Lesetaktsignals CLY und die fallende Flanken des Schreibtaksignals CLF um mindesten TF/2 zueinander versetzt sind, ist in den Zeilen des zweiten Diagramm-Abschnittes in 4 veranschaulicht.
  • Nähern sich die Phasen von Schreibtakt und Lesetakt aber eng einander an, dann wird ein Punkt erreicht, bei dem kein Schreib-Lese-Betrieb mehr möglich ist. Dieser Punkt ist definiert durch die Laufzeit der Daten vom Eingang DF der Pufferschaltung 40 bis zum Eingang D des Registers 48, im Verhältnis zur Phasenlage des Taktes CLY. Mit Hilfe einer besonderen Maßnahme kann diese Laufzeit weiter reduziert und somit die Latenz der Pufferschaltung 40 weiter verringert werden. Diese Maßnahme besteht darin, dass ein Bypass während gewisser Intervalle selektiv eingeschaltet wird, um das FIFO-Register 43A, 43B jeweils vorübergehend zu überbrücken.
  • Der Bypass besteht beim Ausführungsbeispiel nach 3 aus einer Verbindung des eingangsseitigen Leitungsbündels DF mit dem einen Eingang eines 2-auf-1-Multiplexers 47, dessen anderer Eingang mit dem Ausgang des FIFO-Multiplexers 44 verbunden ist. Der "Bypass"-Multiplexer 47 wird durch ein Schaltsignal RDC gesteuert, welches von einem Vergleicher 46 erzeugt wird, der den Gray-Code WRB des Zählwerte des Schreibzählers 41 mit dem Gray-Code RDB des Zählwertes des Lesezählers vergleicht. Im gezeigten Fall ist ein Vergleicher 46 für 2-Bit-Wörter verwendet, bestehend aus zwei Exklusiv-NOR-Gattern (XNOR-Gatter) und einem UND-Gatter. Für die Dauer einer Übereinstimmung von WRB und RDB liefert die Schaltung 46 eine "1", wodurch der Bypass-Multiplexer 47 in einen Schaltzustand versetzt wird, in welchem er die Signale vom Leitungsbündel DF auf ein Leitungsbündel DFD weiterleitet. Während der Intervalle, in denen WRB und RDB verschieden sind, nimmt das Ausgangssignal RDC des Vergleichers 46 den Logikwert "0" an, wodurch der Bypass-Multiplexer 47 in einen Schaltzustand versetzt wird, in welchem er die Signale vom Ausgang des FIFO-Multiplexers 44 an das Leitungsbündel DFD weiterleitet.
  • Der dritte Diagramm-Abschnitt der 4 veranschaulicht die Situation für den Beispielsfall, dass der Abstand zwischen Schreibtakt und Lesetakt kleiner ist als TF, andererseits aber noch so groß, dass der zugeordnete Frame auf dem Leitungsbündel DEC bei der steigenden Flanke des Lesetaktes CLY schon gültig ist. Im Diagramm ist gezeigt, dass die Umschaltung des Bypass-Multiplexers 47 (RDC von "1" auf "0") in der Taktperiode vor der steigenden Flanke des Lesetaktes CLY zu keiner Zustandsänderung der Signale auf dem Leitungsbündel DFD führt.
  • Es gibt natürlich ein Mindestmaß für den erlaubten Abstand zwischen Schreibtakt und Lesetakt. Dieses Mindestmaß würde unterschritten werden, sobald der Lesetakt dem Schreibtakt so nahe kommt, dass er sich der Grenze des Zeitfensters τp' der Gültigkeit des zugeordneten Frame zu sehr annähert. Der Grenzfall, in welchem der Lestakt die vordere Grenze des besagten Zeitfensters gerade erreicht, ist im vierten Diagramm-Abschnitt der 4 veranschaulicht. Um die Latenz der Pufferschaltung möglichst gering zu halten, sollte die Phase des den Lesetakt bestimmenden Taktsignals CLY so eingestellt sein, dass der Lestakt möglichst nahe an die vordere Grenze des besagten Zeitfensters kommt. Diese Einstellung kann während der Initialisierung erfolgen, wie es weiter unten noch beschrieben werden wird.
  • Das auf dem Leitungsbündel DFD erscheinende n-Bit-Ausgangssignal des Bypass-Multiplexers 47 wird dem Dateneingang einer n-Bit-Latchschaltung 48 zugeführt, die mit den steigenden Flanken des Lesetaktsignals CLY getaktet wird, um die Ausgangs-Framefolge DFE der Pufferschaltung 40 zu liefern. In dieser Folge erscheinen die Frames in ihrer ursprünglichen Reihenfolge und synchronisiert mit dem von der Datensenke 300 vorgegebenen Frametakt CLY.
  • Die "Länge" des FIFO-Registers, also die Anzahl q der nacheinander angewählten Registerstufen, kann auch größer als 2 sein. Allgemein gilt, dass der Schreibzähler und der Lesezähler zyklisch über jeweils über 2q Zählschritte müssen (also von 0 bis 2q – 1), und dass der Schreibzeiger bzw. der Lesezeiger für die zyklische Adressierung der q Registerstufen aus den Zählwerten decodiert werden. Der FIFO-Multiplexer ist dementsprechend ein q-auf-1-Multiplexer.
  • Die vorstehend beschriebene Pufferschaltung kann für sich allein eine Synchronisierung der vom Demultiplexer 20 im Frametakt CLF gelieferten Framefolge mit dem Frametakt CLY der Datensenke 300 nur dann bewirken, wenn die Phasendifferenz zwischen den Flanken gleicher Polarität der beiden Frametaktsignale CLF und CLY nicht mehr als eine Frametaktperiode TF beträgt. Diese Bedingung mag in vielen Fällen erfüllt sein.
  • Es kann aber vorkommen, dass die Phasendifferenz zwischen CLF und CLY größer ist als TF. Eine solche Situation kann z. B. dann eintreten, wenn die Übertragungsstrecke parallel mit weiteren Übertragungsstrecken betrieben wird, um mehrere Datensenken aus der Datenquelle 100 zu versorgen. Wegen unterschiedlicher Entfernung von der Datenquelle können sich die Laufzeiten der Daten zu den verschiedenen Senken so weit unterscheiden, dass zwischen der längsten Laufzeit und der kürzesten Laufzeit eine Differenz von mehr als einer Frameperiode besteht. Bei sehr hohen Datenraten kann diese Differenz mehrere Frameperioden betragen.
  • Um besagte Differenzen auszugleichen, muss eine zusätzliche Phasensteuerung erfolgen. In einer besonderen Ausführungsform der Erfindung wird dies durch eine steuerbare Verzögerungsschaltung erreicht, deren Verzögerungszeit in Schritten von jeweils einer ganzen Frameperiode TF veränderbar ist. Ein Ausführungsbeispiel hierzu ist in der 5 dargestellt.
  • Die Verzögerungsschaltung 50 nach 5 ist beim gezeigten Beispiel zwischen der Pufferschaltung 40 und der zugeordneten Datensenke 300 eingefügt, sie kann sich aber auch an anderer Stelle innerhalb der Übertragungsstrecke befinden. Die Verzögerungsschaltung 50 enthält eine m-gliedrige Kette von Verzögerungselementen 52-1, 52-2 ... 52-m, wobei m eine natürliche Zahl > 0 ist. Jedes der m Verzögerungselemente 52-1:m ist beim dargestellten Beispiel ein Register aus n parallelen D-Flipflops, welches ein an seinem n-Bit-Dateneingang D anstehendes n-Bit-Datenwort zu seinem Q-Ausgang überträgt und dort verriegelt, wenn es durch eine steigende Taktflanke an seinem Takteingang C getriggert wird. Jedem Verzögerungselement 52-i ist ein Umschalter (2-auf-1-Multiplexer) 53-i nachgeschaltet, der zur Übertragung von n-Bit-Datenwörtern ausgelegt ist und durch ein individuell zugeordnetes binäres Schaltsignal (Schaltbit) Si umschaltbar ist. Der Logikwert "0" oder "1" des Schaltbit Si bestimmt, ob das am 0-Eingang oder das am 1-Eingang des zugeordneten Umschalters 53-i empfangene Datenwort zum Ausgang durchgelassen wird.
  • Der 0-Eingang jedes Umschalters 53-i ist mit dem Datenausgang des unmittelbar vorangehenden Verzögerungselementes 52-i verbunden. Die 1-Eingänge der m-1 ersten Umschalter 53-1 bis 53-(m-1) empfangen über einen gemeinsamen Datenverstärker 51 die Framefolge DFE vom Ausgang der Pufferschaltung 40 (siehe 3 und 4). Der 1-Eingang des letzten Umschalters 53-m empfängt die Framefolge DFE direkt.
  • Die Schaltbits S(1:m) für die Umschalter 53-(1:m) werden von einem 1-aus-m Decoder 55 erzeugt, der ein Verzögerungs-Steuersignal in Form eines Mehrbit-Code empfängt, um vorzugeben, ob alle m Schaltbits den Logikwert "0" haben sollen oder welches der Schaltbits den Logikwert "1" haben soll (die anderen Schaltbits bleiben dann auf "0"). Somit wird entweder keiner der Umschalter oder immer nur genau ein ausgewählter Umschalter 53-i in seinen 1-Zustand versetzt.
  • Im Betrieb werden die Verzögerungselemente 52-(1:m) durch die steigenden Flanken des Frametaktsignals CLY getriggert. Sind alle Umschalter 53-(1:m) im 0-Zustand, dann arbeitet die Kette der Verzögerungselemente 52-(1:m) als m-stufiges Schieberegister, so dass die eingangsseitige Framefolge DFE mit einer Verzögerung von m Frametaktperioden am Ausgang des letzten Umschalters 53-m erscheint. Die Ausgangsfolge DFV ist also um m·TF + τM gegenüber der Eingangsfolge DFE verzögert wobei τM die Durchlaufzeit durch den Umschalter ist (Multiplexer-Transferzeit).
  • Wenn nur der erste Umschalter 53-1 im 1-Zustand ist, dann arbeitet die Teilkette der nachfolgenden Verzögerungselemente 52-(2:m) als (m-1)-stufiges Schieberegister, so dass die Verzögerung gleich (m-1)·TF + τM ist. Wenn nur der letzte Umschalter 53-m im 1-Zustand ist, dann ist die Verzögerung nur gleich τM. Allgemein gilt: Wenn i die Ordnungszahl des im 1-Zustand befindlichen Umschalters ist, also nur das Schaltbit Si den Logikwert "1" hat, dann beträgt die Verzögerung (m-i)·TF + τM.
  • Die 6 veranschaulicht den in der Praxis häufig auftretenden Fall, dass die Datenquelle 100 gleichzeitig eine Mehrzahl p serieller Bitströme liefert, die mit gleicher Taktphase über p zugeordnete Ausgangsleitungen 110-1, 110-2 ... 110-p gesendet werden, um jeweils als Folge n-Bit-Wörtern im Parallelformat an eine zugeordnete Datensenke 300-1, 300-2 ... 300-p übertragen zu werden. Die p Datensenken 300-(1:p) können z. B. DRAM-Seicherchips sein, die in einem Modul M zusammengefasst sind, z. B. in einem sogenannten DIMM (Double Inline Memory Module). Da die Datensenken zwangsläufig unterschiedliche räumliche Positionen haben, ist auch ihre räumliche Entfernung zur Datenquelle unterschiedlich; ebenso können die einzelnen Übertragungswege unterschiedlichen Umgebungs einflössen ausgesetzt sein. Deswegen bedarf es einer individuellen Pufferung und Laufzeitanpassung in jedem einzelnen Übertragungsweg.
  • Bei der in 6 gezeigten Ausführungsform wird eine solche "Vollpufferung" des Moduls M dadurch erreicht, dass zwischen jeder Datenleitung 110-i und der zugeordneten Datensenke 300-i eine erfindungsgemäße Übertragungsstrecke 200-i eingefügt ist, wie sie oben anhand der 1 bis 5 beschrieben wurde. Die Bestandteile jeder Übertragungsstrecke, also die Eingangsschaltung 10, der Demultiplexer 20, die Neuverriegelungsschaltung 30 (1), ferner die Pufferschaltung 40 (3) und die Verzögerungsschaltung 50 (5), sind in 6 als Blöcke innerhalb der jeweiligen Übertragungsstrecke 200-i gezeichnet, zusammen mit den verbindenden Datenleitungen (dünne Linien für serielle Bits, dicke Linien für n-Bit-Parallelwörter). Die vorhandenen Anschlüsse und Leitungen für Takt- und Steuersignale sind in 6 nicht dargestellt. Alle Datensenken 300-1:p werden mit einem gemeinsamen Frametaktsignal CLY betrieben, das den Datenempfang an ihren Dateneingängen taktet und auch den Leseteakt in den Pufferschaltungen 40 aller Übertragungsstrecken 200-1:p bestimmt.
  • Wenn die Datensenken 300-(1:p) einzelne Speicherchips (z. B. DRAMs) eines Speichermoduls sind (z. B. eines DIMM), ergibt sich mit der Anordnung nach 6 ein sogenanntes "voll gepuffertes" Modul, welches einen Schreibbetrieb erlaubt, bei welchem mit jedem Speichertakt ein Datenwort aus p·n Bits im Parallelformat eingegeben werden kann. Solche Module (Fully Buffered DIMMs, abgekürzt FBDIMMs) eignen sich z. B. für die Realisierung von Arbeitsspeichern in Computern.
  • Um die Speicherkapazität zu erhöhen, kann man mehrere gleichartige Speichermodule vorsehen, die so angeschlossen sind, dass jedes Modul die von der Datenquelle (z. B. eines Speichercontrollers) 100 gelieferten Daten empfangen kann und diese Daten aufnimmt, wenn es individuell adressiert ist. Die 7 zeigt das Schema einer Kombination mehrerer Module M1, M3, ..., deren jedes dem Modul M nach 6 entspricht und dessen p Datensenken 300-1:p den p Ausgangsleitungen 110-1:p der Datenquelle 100 zugeordnet sind. Jeder Datensenke 300-i ist eine Übertragungsstrecke 220-i zugeordnet, welche an ihrem seriellen Eingang X den zugeordneten seriellen Bitstrom empfängt und an ihrem Parallelausgang Y die Frames dieses Bitstromes als n-Bit-Wörter im Parallelformat liefert.
  • Jede in 7 gezeigte Übertragungsstrecke 200-i enthält zwischen ihrem Eingang X und ihrem Ausgang Y die gleichen Schaltungen 10, 20, 30, 40, 50, wie sie auch in jeder Übertragungsstrecke 200-i der Anordnung nach 6 enthalten sind und wie sie weiter oben anhand der 1 bis 5 beschrieben wurden. Die Module M1, M2, ... und die jeweils zugeordneten Gruppen G1, G2, ... der Übertragungsstrecken 200-1:p sind in unterschiedlicher Entfernung von der Datenquelle 100 angeordnet; sie bilden also eine nach Entfernung abgestufte "Reihe".
  • Die p Übertragungsstrecken der "ersten" Gruppe G1, welche die kürzeste Entfernung zur Datenquelle 100 hat, empfangen an ihren Eingängen X die seriellen Bitströme direkt von den Ausgangsleitungen 110-1:p der Datenquelle 100. In den folgenden Gruppen G2, G3, ... empfängt jede Übertragungstrecke 200-i an ihrem Eingang X den zugeordneten seriellen Bitstrom nicht direkt von der zugeordneten Datenleitung 110-i sondern über eine Schleife, welche durch einen Teil der i-ten Übertragungsstrecke 200-i der jeweils vorangehenden Gruppe läuft. Diese Schleife regeneriert den am Eingang X empfangenen seriellen Bitstrom und führt durch den Demultiplexer 20 und von dort über eine Regenerierschaltung 60 zu einem seriellen Ausgang Z der betreffenden Übertragungsstrecke. Der Aufbau und die Wirkungsweise der regenerierenden Schleife wird nachstehend anhand der 8 beschrieben.
  • Die 8 zeigt die Einzelheiten der Regenerierschaltung 60 in Verbindung mit dem Demultiplexer 20, dessen Aufbau und Arbeitsweise bereits oben anhand der 1 beschrieben wurde. Die Regenerierschaltung 60 hat n = 4 Eingänge, die mit den n Ausgängen DQ1:4 des Demultiplexers 20 verbunden sind und selektiv über jeweils einen zugeordneten Schalter mit dem Dateneingang D eines D-Flipflop 62 verbindbar sind. Die besagten n Schalter 61-1:4 sind in vorteilhafter Ausführungsform schaltbare Datentreiber und werden durch eine Lesesteuerschaltung 63 zyklisch eingeschaltet.
  • Die Schalter 61-1:4, die Lesesteuerschaltung 63 und das Flipflop 62 bilden zusammen einen n-auf-1-Multiplexer. Die Taktung der Lesesteuerschaltung 63 erfolgt durch die aktiven (z. B. steigenden) Flanken eines Lesetaktsignals, z. B. des Systemtaktsignals CLS, das auch dem Takteingang C des Flipflops 62 zugeführt wird. Dieses Lesetaktsignal hat im Mittel die gleiche Frequenz fB wie das Eingabetaktsignal CLB des Demultiplexers 20, seine Phase kann sich jedoch von der Phase des Taktsignals CLB unterscheiden.
  • Diejenige aktive Flanke des Lesetaktsignals CLS, welche während der Gültigkeit des ersten Bit B1 eines Frame am Demultiplexer-Ausgang DQ1 erscheint (vgl. 2), stellt die Lesesteuerschaltung 63 so ein, dass der Schalter 61-1 geschlossen wird und das betreffende Bit zum Dateneingang D des Flipflop 62 gelangt. Als Antwort auf die nachfolgenden drei aktiven Flanken des Signals CLS schließt die Lesesteuerschaltung 63 nacheinander die Schalter 61-2, 61-3, 61-4, um die Bits B3, B3, B4 zum Flipflop 62 zu leiten. Die Lesesteuerschaltung 63 kann ähnlich wie die Schreibsteuerschaltung 23 als Zähler ausgebildet sein, der jeweils zyklisch über n = 4 Zählwerte zählt.
  • Die am Ausgang Q des Flipflops 62 erscheinende Bitfolge wird einem Datensender 66 zugeführt, der die einzelnen Bits mit dem Taktsignal abtastet und als "regenerierten" seriellen Bitstrom zum Ausgang Y liefert.
  • Der Demultiplexer 20 erfüllt also hier eine doppelte Funktion. Zum einen sorgt er für die Serien/Parallel-Umsetzung in der vom Eingang X zum Parallelausgang Y führenden Übertragungsstrecke. Zum anderen funktioniert er gleichzeitig zusammen mit der Regenerierschaltung 60 als FIFO-Schaltung, worin die Latchelemente 22-1:4 des Demultiplexers 22 ein n-stufiges FIFO-Register bilden, dessen Schreibzeiger durch die n Ausgangssignale EN1:4 der Schreibsteuerschaltung 23 gebildet wird und dessen Lesezeiger durch die n Ausgangssignale der Lesesteuerschaltung 63 gebildet wird. Mit dieser FIFO-Schaltung in jeder Übertragungsstrecke wird die Phase des über die Schleife weitergeleiteten seriellen Bitstroms jeweils mit der Phase des Taktsignals CLS ausgerichtet.
  • In der Anordnung nach 7 enthalten alle Übertragungsstrecken 200-1:p jeder Gruppe G1, G2, ..., mit Ausnahme der letzten Gruppe (nicht gezeigt), die über eine zugeordnete Regenerierschaltung 60 gehende Schleife, um die aus der Datenquelle 100 stammenden seriellen Bitströme einer Gruppe zur nächsten Gruppe durchzuleiten. Bei passender Grundeinstellung der Phasen der Schreib- und Lesetakte in den FIFO-Schaltungen jeder Übertragungsstrecke und bei passender Einstellung der Verzögerungseinrichtungen 50 in jeder Übertragungsstrecke ist sichergestellt, dass die Framefolgen aller seriellen Bitströme jeweils als Folgen von parallelisierten n-Bit-Datenwörtern an ihren Ziel-Datensenken in zeitlicher Deckung eintreffen, so dass alle Senken im Gleichtakt betrieben werden können.
  • Die erwähnten Grundeinstellungen können während eines Initialisierungsvorganges vor jeder Inbetriebnahme (und gewünschtenfalls auch in Intervallen zwischen Betriebsabschnitten) durchgeführt werden. Ein Beispiel für ein Verfahren zur Vornahme der Einstellungen wird nachstehend beschrieben.
  • Zunächst wird die Datenquelle 100 veranlasst, das weiter oben erwähnte Trainingsmuster zu senden. Dieses Muster kann z. B. aus n aufeinander folgenden n-Bit-Codewörtern bestehen, wobei das zweite bis n-te Codewort einander gleich sind, aber anders als das erste Codewort. Für den Beispielsfall n = 12 kann das Muster folgendermaßen gestaltet sein:
    erstes Codewort 0111 1111 1101
    elf folgende Codewörter 0101 0101 0101
    wobei die zeitliche Folge der Bits von links nach rechts zu lesen ist. Aus dem Trainingsmuster wird innerhalb jeder Übertragungsstrecke im Decoder des Demultiplexers die Markierung MRK abgeleitet, welche den Demultiplexer auf die Framegrenzen synchronisiert, wie es weiter oben in Verbindung mit 1 beschrieben wurde.
  • In einem zweiten Schritt gilt es, die sich innerhalb einer Frameperiode bewegende Unbestimmtheit des Anfangszustandes der Pufferschaltung in jeder Übertragungsstrecke 200-i zu beseitigen. Hierzu sind Maßnahmen getroffen, um die Phase des gemeinsamen Frametaktes CLY aller Datensenken modifizieren zu können. Gemäß der 1 wird dies ermöglicht durch ein Phasenstellglied 311 am Ausgang des CLY-Taktgebers 310. In jeder Übertragungsstrecke 200-i zwischen der Datenquelle 100 und einer Datensenke 300-i wird zunächst das Taktsignal CLF, welches das Schreibtaktsignal CLF für die Pufferschaltung 40 bildet, in Deckung mit dem gemeinsamen Taktsignal CLY gebracht. Hierzu wird die Phase des gemeinsamen Taktsignals CLY mittels des Stellgliedes 311 in mehreren Schritten bis auf ein Maß von höchstens 360° verändert, wobei in jeder Übertragungsstrecke 200-i die Phase der CLF-Taktflanken gegenüber den CLY-Taktflanken gemessen werden kann, um den Punkt der Phasendeckung zu finden. Mit dieser Information können die Lesezeiger der Pufferschaltungen deterministisch initialisiert werden.
  • Nach diesen Initialisierungsschritten hat man zwei genaue Informationen: erstens eine genaue Information über die rela tive Phasenlage zwischen dem gemeinsamen Senken-Frametakt CLY und dem Frametakt CLF, der den Schreibtakt der Pufferschaltung 40 in der zugeordneten Übertragungsstrecke 200-i bestimmt; zweitens eine genaue Information über die Anzahl der Frameperioden, um welche die parallelisierten Frames individuell in jeder Übertragungsstrecke verzögert werden müssen, damit die Daten an allen Senken taktgleich eintreffen. Somit ist auch bekannt, welche Übertragungsstrecke die "späteste" ist, d. h. in welcher Übertragungsstrecke die kürzeste Verzögerung eingestellt werden muss.
  • Dementsprechend folgt ein dritter Initialisierungschritt, bei welchem die Phase des gemeinsamen Taktsignals CLY so eingestellt wird, dass die Laufzeit bzw. Latenz der Daten über die Pufferschaltung 40 der "spätesten" Übertragungsstrecke minimiert ist. Das heißt, dass der Abstand zwischen Schreibzeiger und Lesezeiger in dieser Pufferschaltung das gerade noch zulässige Mindestmaß hat. Die Auswahl der "spätesten" Übertragungsstrecke als Referenz für diese Einstellung stellt sicher, dass eine eventuell mögliche Drift des Schreibtaktsignals CLF der Übertragungsstrecke gegenüber dem gemeinsamen Taktsignal CLY kompensierbar ist. Die Initialisierung der anderen Übertragungsstrecken erfolgt durch Einstellung der Verzögerungseinrichtung 50 entsprechend den zuvor gemessenen Phasendifferenzen.
  • Somit wird die Laufzeit bzw. Latenz der Daten von der Quelle 100 zu allen Datensenken minimiert auf die Durchlaufzeit der über die "späteste" Übertragungsstrecke laufenden Daten, die ihrerseits auf das minimal zulässige Maß minimiert ist.
  • 10
    Eingangsschaltung
    11
    Phasenregelkreis
    12
    Initialisierungs-Decoder
    20
    Demultiplexer
    22
    Latchelemente
    23
    Schreibsteuerschaltung
    24
    Frametaktgeber
    30
    Neuverriegelungsschaltung
    31
    Verriegelungselemente
    40
    Pufferschaltung
    41
    Schreibzähler
    42A, B
    UND-Gatter
    43A, B
    FIFO-Registerstufen
    44
    FIFO-Multiplexer
    45
    Lesezähler
    46
    Vergleicher
    47
    Bypass-Multiplexer
    48
    Latchschaltung
    50
    Verzögerungsschaltung
    51
    Datenverstärker
    52
    Verzögerungselemente
    53
    Umschalter
    55
    1-aus-m-Decoder
    60
    Regenerierschaltung
    61
    Schalter (schaltbare Datentreiber)
    62
    Flipflop
    63
    Lesesteuerschaltung
    66
    Datensender
    100
    Datenquelle
    110
    Datenleitung
    200
    Übertragungsstrecke
    300
    Datensenke
    M1:3
    Speichermodule
    G1:3
    Übertragungsstrecken-Gruppen

Claims (14)

  1. Einrichtung zum Behandeln binärer Daten, mit mindestens einer Übertragungsstrecke (200-i), die bzw. deren jede einen Eingang (X) zum Empfang eines aus einer Datenquelle (100) empfangenen seriellen Bitstroms (SBS) mit der Bitperiode TB hat und einen Serien/Parallel-Umsetzer (20, 30) aufweist, der jeweils n ≥ 2 aufeinander Datenbits des seriellen Bitstroms als n-Bit-Datenwörter im Parallelformat zur Weiterleitung an einen Datenausgang (Y) der Übertragungsstrecke bereitzustellen, der mit einer zugeordneten Datensenke (300-i) verbunden ist, wobei der Serien/Parallel-Umsetzer folgendes enthält: – einen n-auf-1-Demultiplexer (20), der so ausgebildet und steuerbar ist, dass die aufeinander folgenden Datenbits des seriellen Bitstroms (SBS) nacheinander in Abständen gleich TB zyklisch an n Datenausgängen (DQ1:n) erscheinen und am jeweiligen Datenausgang bis zum erneuten Erscheinen eines Datenbit am betreffenden Datenausgang verriegelt bleiben; – eine Neuverriegelungsschaltung (30) mit Verriegelungselementen (31), welche die Signale von denjenigen Datenausgängen des Demultiplexers (20) empfangen, an denen die ersten k Datenbits jedes Zyklus erscheinen, und welche jeweils zu einem Zeitpunkt aktiviert werden, der zwischen dem Beginn der Verriegelung des letzten Datenbit und dem Ende der Verriegelung des ersten Datenbit des betreffenden Zyklus im Demultiplexer liegt, wobei 1 ≤ k < n ist.
  2. Einrichtung nach Anspruch 1, wobei k gleich n/2 oder möglichst nahe an n/2 ist.
  3. Einrichtung nach Anspruch 1 oder 2, wobei der Demultiplexer (20) eine Gruppe von n Latchelementen (22-1:n) enthält, deren jedes einen Dateneingang (D) zum Empfang des seriellen Bitstroms (SBS), einen Takteingang (C) zum Empfang eines Eingabetaktsignals (CLB), einen Aktivierungseingang (EN) zum Empfang von zugeordneten Aktivierungsimpulsen und einen Datenausgang (Q) hat und ein am Dateneingang anstehendes Datenbit am Datenausgang verriegelt, sobald eine aktive Flanke des Eingabetaktsignals bei gleichzeitiger Anwesenheit eines zugeordneten Aktivierungsimpulses erscheint; wobei dem Demultiplexer (20) eine individuelle Eingangsschaltung (10) zugeordnet ist, welche dem Demultiplexer das Eingabetaktsignal (CLB) und den seriellen Bitstrom (SBS) in derartiger zeitlicher Beziehung anlegt, dass die mit der Periode TB aufeinander folgenden aktiven Flanken des Eingabetaktsignals jeweils zu einem Zeitpunkt tA erscheinen, der innerhalb der Gültigkeitsdauer eines jeweils zugeordneten Bits des seriellen Bitstroms liegt und vom Beginn dieser Dauer einen Zeitabstand mindestens gleich der Setup-Zeit τs der Latchelemente hat und vom Ende der besagten Dauer einen Zeitabstand mindestens gleich der Haltezeit τH der Latchelemente hat; und wobei der Demultiplexer (20) eine Schreibsteuerschaltung (23) enthält, welche die Latchelemente (22-1:n) in einer vorgewählten Reihenfolge zyklisch im Rhythmus des Eingabetaktsignals (CLB) selektiert, um den Aktivierungseingang (EN) des jeweils selektierten Elementes mit einem Aktivierungsimpuls zu beaufschlagen, dessen Dauer innerhalb der Grenzen des jeweils anstehenden Datenbits liegt und mindestens das von tA – τs bis tA + tH reichende Zeitfenster abdeckt.
  4. Einrichtung nach Anspruch 3, wobei dem Demultiplexer (20) ein individueller Frametaktgeber (24) zugeordnet ist, der aus dem Eingabetaktsignal (CLB) ein erstes Frametaktsignal (CLF) als eine Folge von Impulsen ableitet, deren Wiederholperiode gleich n·TB ist und deren Vorderflanken durch die Rückflanken der n-ten Aktivierungsimpulse der Schreibsteuerzyklen ausgelöst werden und deren Rückflanken durch die Rückflanken k-ten Aktivierungsimpulse der Schreibsteuerzyklen ausgelöst werden, wobei die Verriegelungselemente (31) der Neuverriegelungsschaltung (30) durch die Vorderflanken der Impulse des ersten Frametaktsignals (CLF) aktiviert werden, um die Signale von den Datenausgängen derjenigen Latchelemente des Demultiplexers, welche die k ersten Aktivierungsimpulse jedes Schreibsteuerzyklus empfangen, zu verriegeln, und dass die Neuverriegelungsschaltung (30) die Signale von den Datenausgängen der übrigen n – k Latchelemente unverändert durchlässt.
  5. Einrichtung nach Anspruch 4, wobei die oder jede Übertragungsstrecke (200-i) eine individuelle Pufferschaltung (40) enthält, welche an ihrem Eingang die von der Neuverriegelungsschaltung (30) verriegelten und durchgelassenen Signale (DF) empfängt und sie unter Steuerung durch das erste Frametaktsignal (CLF) in ein FIFO-Register (43A, 43B) schreibt, welches unter Steuerung durch ein zweites Frametaktsignal (CLY) ausgelesen werden kann, und dass das zweite Frametaktsignal (CLY) auch das Taktsignal zur Taktsteuerung des Datenempfangs an der Datensenke (300) ist.
  6. Einrichtung nach Anspruch 5, wobei das FIFO-Register der Pufferschaltung q ≥ 2 Speicherplätze (43A, 43B) enthält, deren jeder zur Aufnahme der n Datenbits eines Frame ausgelegt ist, wobei eine Schreibsteuerschaltung (41, 42A, 42B) in der Pufferschaltung (40) einen Schreibzähler (41) enthält, der durch die Rückflanken der Impulse des ersten Frametaktsignals (CLF) getaktet wird, um zyklisch von 0 bis 2q – 1 zu zählen, und der an einem ersten Ausgang einen aus dem Zählwert decodierten Schreibzeiger für die Speicherplätze des FIFO-Registers erzeugt und an einem zweiten Ausgang den Gray-Code der Zählwerte erzeugt, wobei eine Lesesteuerschaltung (44, 45) in der Pufferschaltung (40) einen Lesezähler (45) enthält, der durch die Vorderflanken der Impulse des zweiten Frametaktsignals (CLY) getaktet wird, um zyklisch von 0 bis 2q – 1 zu zählen, und der an einem ersten Ausgang einen aus dem Zählwert decodierten Lesezeiger für die Speicherplätze des FIFO-Registers erzeugt und an einem zweiten Ausgang den Gray-Code der Zählwerte erzeugt, und wobei die Pufferschaltung (40) ferner einen Bypass-Multiplexer (47) enthält, der durch eine die Zählwerte des Schreibzählers (41) und des Lesezählers (45) empfangende Vergleicherschaltung (46) steuerbar ist, um für die Zeiten der Nicht-Übereinstimmung beider Zählwerte die aus dem FIFO-Register gelesenen Daten (DFC) durchzulassen und für die Zeiten der Übereinstimmung beider Zählwerte die am Eingang der Pufferschaltung empfangenen Signale (DF) durchzulassen.
  7. Einrichtung nach Anspruch 6, wobei die Vergleicherschaltung (46) die Gray-Codes der Zählwerte des Schreibzählers (41) und des Lesezählers (45) empfängt.
  8. Einrichtung nach Anspruch 7, wobei die logische Funktion der Vergleicherschaltung (46) eine Exklusiv-ODER-Funktion (XOR oder XNOR) ist.
  9. Einrichtung nach einem der Ansprüche 6 bis 8, wobei die Anzahl q der Speicherplätze (43A, 43B) des FIFO-Registers gleich 2 ist, und wobei der Schreibzeiger für die Speicherplätze des FIFO-Registers das niedrigstwertige Bit des Dualzahlencodes des Zählwertes des Schreibzählers (41) ist.
  10. Einrichtung nach einem der vorhergehenden Ansprüche, wobei im Datenweg der oder jeder Übertragungsstrecke (200-i) zusätzlich eine Verzögerungseinrichtung (50) eingefügt ist, deren Verzögerungszeit in Inkrementen von jeweils einer Frameperiode TF veränderbar ist.
  11. Einrichtung nach einem der vorhergehenden Ansprüche, wobei die Anzahl der Übertragungsstrecken ≥2 ist, wobei jede Übertragungsstrecke (200-i) zwischen einem individuell zugeordneten Ausgang (110-i) der Datenquelle (100) und einer individuell zugeordneten Datensenke (300-i) angeordnet ist, und wobei das Taktsignal für die Taktsteuerung des Datenempfangs an allen Datensenken ein gemeinsames Taktsignal (CLY) ist.
  12. Einrichtung nach Anspruch 11, wobei die Übertragungsstrecken in mindestens zwei Gruppen (G1, G2, ...) von jeweils p ≥ 1 Übertragungsstrecken (200-1:p) aufgeteilt sind, wobei die Gruppen eine Reihe bilden und alle Übertragungsstrecken, mit Ausnahme der Übertragungsstrecken der letzten Gruppe der Reihe, zusätzlich eine Regenerierschaltung (60) enthalten, die aus den Ausgangssignalen des Demultiplexers (20) eine regenerierte Version des am Eingang (X) der betreffenden Übertragungsstrecke empfangenen seriellen Bitstroms erzeugt und an einen seriellen Ausgang (Z) liefert, und wobei der Eingang (X) jeder Übertragungsstrecke der ersten Gruppe (G1) der Reihe mit einem individuell zugeordneten Ausgang der Datenquelle (100) verbunden ist, und wobei der Eingang (X) jeder Übertragungsstrecke (200-i) in den folgenden Gruppen (G2, ...) der Reihe mit dem seriellen Ausgang (Z) einer jeweils individuell zugeordneten Übertragungsstrecke der jeweils vorangehenden Gruppe der Reihe verbunden ist.
  13. Einrichtung nach Anspruch 12, wobei die Regenerierschaltung (60) einen n-auf-1-Multiplexer (61-1:n, 62, 63) enthält, der durch aktive Flanken eines Lesetaktsignals (CLR) der Frequenz fB gesteuert wird.
  14. Einrichtung nach einem der Ansprüche 5 bis 13, wobei ein Stellglied (311) zum Verändern der Phase des zweiten Frametaktsignals (CLY) vorgesehen ist.
DE102007035018A 2007-07-26 2007-07-26 Einrichtung zum Behandeln binärer Daten mit Serien/Parallel-Umsetzung Ceased DE102007035018A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102007035018A DE102007035018A1 (de) 2007-07-26 2007-07-26 Einrichtung zum Behandeln binärer Daten mit Serien/Parallel-Umsetzung
US12/179,286 US20090040082A1 (en) 2007-07-26 2008-07-24 Device for processing binary data with serial/parallel conversion

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102007035018A DE102007035018A1 (de) 2007-07-26 2007-07-26 Einrichtung zum Behandeln binärer Daten mit Serien/Parallel-Umsetzung

Publications (1)

Publication Number Publication Date
DE102007035018A1 true DE102007035018A1 (de) 2009-01-29

Family

ID=40157250

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102007035018A Ceased DE102007035018A1 (de) 2007-07-26 2007-07-26 Einrichtung zum Behandeln binärer Daten mit Serien/Parallel-Umsetzung

Country Status (2)

Country Link
US (1) US20090040082A1 (de)
DE (1) DE102007035018A1 (de)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8713221B1 (en) * 2010-12-01 2014-04-29 Juniper Networks, Inc. Rate controlled first in first out (FIFO) queues for clock domain crossing
CN102315852B (zh) * 2011-05-03 2014-07-30 四川和芯微电子股份有限公司 并串数据转换电路及并串数据转换系统
US8604949B2 (en) 2011-10-27 2013-12-10 Sharp Kabushiki Kaisha Serial-to-parallel converter, and display device incorporating the same
WO2014115608A1 (ja) * 2013-01-25 2014-07-31 ソニー株式会社 信号処理装置および信号処理方法、並びにプログラム
US10789185B2 (en) 2016-09-21 2020-09-29 Rambus Inc. Memory modules and systems with variable-width data ranks and configurable data-rank timing
CN108280039B (zh) * 2018-02-13 2021-02-26 龙迅半导体(合肥)股份有限公司 一种MIPI C-Phy RX端的输入信号解码电路
JP7223503B2 (ja) * 2018-02-28 2023-02-16 ラピスセミコンダクタ株式会社 シリアルインタフェース回路、半導体装置、及びシリアルパラレル変換方法
US10854271B2 (en) * 2019-04-01 2020-12-01 Micron Technology, Inc. Clock signal generator generating four-phase clock signals
CN113517894B (zh) * 2021-07-14 2022-07-08 上海安路信息科技股份有限公司 串并转换电路

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5550874A (en) * 1994-08-26 1996-08-27 Lg Information & Communications, Ltd. Clock synchronizing circuit of data transmission system
DE60019834T2 (de) * 1999-02-22 2006-01-19 Nec Electronics Corp. Serien-Parallel-Umsetzerschaltkreis

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0133423B1 (ko) * 1994-12-09 1998-04-27 양승택 프레임 동기 장치(frame synchronizng device)
WO2001063829A1 (fr) * 2000-02-25 2001-08-30 Fujitsu Limited Systeme de transmission de donnees
US7039770B1 (en) * 2002-03-05 2006-05-02 Juniper Networks, Inc. Low latency request dispatcher
US6724328B1 (en) * 2003-06-03 2004-04-20 Altera Corporation Byte alignment for serial data receiver

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5550874A (en) * 1994-08-26 1996-08-27 Lg Information & Communications, Ltd. Clock synchronizing circuit of data transmission system
DE60019834T2 (de) * 1999-02-22 2006-01-19 Nec Electronics Corp. Serien-Parallel-Umsetzerschaltkreis

Also Published As

Publication number Publication date
US20090040082A1 (en) 2009-02-12

Similar Documents

Publication Publication Date Title
DE102007035018A1 (de) Einrichtung zum Behandeln binärer Daten mit Serien/Parallel-Umsetzung
DE2112552C3 (de) Datenübertragungsanlage
DE2703578C2 (de) Videodatenspeicher
DE3687956T2 (de) Datensynchronisator zwischen einer sende- und einer empfangsanlage.
DE3826717C2 (de) Signalphasenabgleichsschaltung
DE19941196A1 (de) Zweikanal-FIFO mit synchronisierten Lese- und Schreibzeigern
DE2111716B2 (de) Fernmeldeanordnung mit multiplex durch zeitteilung
DE3238157C2 (de) Schaltungsanordnung zum Ermitteln der Synchronisierung von Eingangs-Datenblöcken
DE68915732T2 (de) Verfahren und Anordnung zur automatischen Phasenregelung in einer Phasenregelschleife.
DE3788783T2 (de) Multiplexer für Taktsignale.
DE60200963T2 (de) Parallel-Seriell-Umsetzer
DE60107899T2 (de) Parallele Datenschnittstelle
EP0201634B1 (de) Digitaler Wortgenerator zur automatischen Erzeugung periodischer Dauerzeichen aus n-bit-Wörtern aller Wortgewichte und deren Permutationen
DE102005030563B4 (de) Mehrkanal-Digital/Analog-Wandleranordnung
DE69120244T2 (de) Synchronisierschaltung
DE2163312C2 (de) Schaltungsanordnung zur Zeitkanal-Umsetzung
EP1148647A2 (de) Schaltungsanordnung zum Empfang von wenigstens zwei digitalen Signalen
WO1991012668A1 (de) Verfahren zum umsetzen einer analogen spannung in einen digitalwert
EP0313953B1 (de) Verfahren und Anordnung zur Erzeugung eines Korrektursignals in einer digitalen Taktrückgewinnungseinrichtung
DE10149512A1 (de) Verfahren und Vorrichtung zur Synchronisation der Datenübertragung zwischen zwei Schaltungen
DE2157515B2 (de) Digitale Datenverarbeitungs-Einrichtung
DE69110793T2 (de) Zeitvielfachmultiplexiereinrichtung.
DE60206150T2 (de) Eingangsschaltung für einen Multiplexer mit einem DLL Phasendetektor
DE102004037164B4 (de) Vorrichtung zur geregelten Verzögerung eines Taktsignals
DE4025831A1 (de) Pufferspeicher

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection