DE102004011673B3 - Vorrichtung zur Datensynchronisation - Google Patents

Vorrichtung zur Datensynchronisation Download PDF

Info

Publication number
DE102004011673B3
DE102004011673B3 DE102004011673A DE102004011673A DE102004011673B3 DE 102004011673 B3 DE102004011673 B3 DE 102004011673B3 DE 102004011673 A DE102004011673 A DE 102004011673A DE 102004011673 A DE102004011673 A DE 102004011673A DE 102004011673 B3 DE102004011673 B3 DE 102004011673B3
Authority
DE
Germany
Prior art keywords
clock
data
write
shift register
read
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.)
Expired - Fee Related
Application number
DE102004011673A
Other languages
English (en)
Inventor
Norbert Reichel
Joerg Goller
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.)
Texas Instruments Deutschland GmbH
Original Assignee
Texas Instruments Deutschland GmbH
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 Texas Instruments Deutschland GmbH filed Critical Texas Instruments Deutschland GmbH
Priority to DE102004011673A priority Critical patent/DE102004011673B3/de
Priority to EP05004796.8A priority patent/EP1575206B1/de
Priority to US11/074,443 priority patent/US7350092B2/en
Application granted granted Critical
Publication of DE102004011673B3 publication Critical patent/DE102004011673B3/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/405Coupling between buses using bus bridges where the bridge performs a synchronising function
    • G06F13/4059Coupling between buses using bus bridges where the bridge performs a synchronising function where the synchronisation uses buffers, e.g. for speed matching between buses
    • 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/10Methods 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 having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0008Synchronisation information channels, e.g. clock distribution lines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0016Arrangements for synchronising receiver with transmitter correction of synchronization errors
    • H04L7/005Correction by an elastic buffer

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Time-Division Multiplex Systems (AREA)

Abstract

Es wird eine Vorrichtung zur Datensynchronisation geboten, die ausfallsicher ist und einen Hochgeschwindigkeitsbetrieb erlaubt. Getaktete Daten werden zwischen verschiedenen Taktbereichen ausgetauscht, die in einer digitalen Verarbeitungseinrichtung mit im Wesentlichen gleicher Taktfrequenz aber mit beliebiger relativer Phasenverschiebung laufen. Die Vorrichtung zur Datensynchronisation umfasst einen Pufferspeicher mit einer vorher festgelegten begrenzten Anzahl an Speicherstellen, von denen jede einen Anschluss zum Schreiben von Daten und einen Anschluss zum Lesen von Daten besitzt. Ein Schreib-Auswahl-Multiplexer weist einen Datengang auf, der einen Eingabedatenstrom empfängt, der mit dem Takt von einem ersten Taktbereich synchronisiert ist, einen Datenausgang für jede der Speicherstellen, der mit einem entsprechenden Anschluss zum Schreiben von Daten verbunden ist, und einen Schreib-Auswahl-Eingang für jeden Datenausgang. Ein Lese-Auswahl-Multiplexer weist einen Dateneingang für jede der Speicherstellen auf, der mit einem entsprechenden Anschluss zum Lesen von Daten verbunden ist, einen Lese-Auswahl-Eingang für jeden Dateneingang und einen Datenausgang, der einen Ausgabedatenstrom liefert, der mit dem Takt von einem zweiten Taktbereich synchronisiert ist. Ein Schreib-Auswahl-Schieberegister weist eine Anzahl an Stufen, die mit der vorher festgelegten Anzahl an Speicherstellen übereinstimmt, und eine Ausgabestufe auf, die an eine Eigabestufe zurückgeschleift ist, ...

Description

  • Die vorliegende Erfindung bezieht sich auf eine Vorrichtung zur Datensynchronisation für den Austausch von getakteten Daten zwischen verschiedenen Taktbereichen, die in einer digitalen Verarbeitungseinrichtung mit im Wesentlichen gleicher Taktfrequenz aber mit beliebiger relativer Phasenverschiebung laufen.
  • In einem System, in dem synchrone Signale zwischen verschiedenen Taktbereichen mit derselben Taktfrequenz aber mit beliebiger Phasenbeziehung zwischen den Taktsignalen ausgetauscht werden, gibt es das Problem der Metastabilität. Datensignale, die ihren Logikzustand in jeder Taktperiode ändern können, erfordern eine Zwischenspeicherung, um sicherzustellen, dass ihr Zustand stabil ist, wenn sie gelatched werden. Außerdem kann die Zeit, in der ein Bit im Speicher verweilt, in einigen Systemen kritisch sein. Also stellt die in den Datenpfad eingeführte Latenzzeit beim Austausch von Daten zwischen verschiedenen Taktbereichen ein weiteres Problem dar.
  • Eine herkömmliche Lösung dieser Probleme besteht in der Verwendung eines FIFO-Speichers zur Zwischenspeicherung. Für Schreib- und Leseoperationen werden inkrementierte/dekrementierte Pointer verwendet, die nur mit einem der Taktsignale synchronisiert sind. Dies ist keine ausfallsichere Lösung. Der mittlere Ausfallabstand (MTBF) ist eine Zahl, die von der Phasenbeziehung zwischen den Taktsignalen und der Frequenz, bei der der FIFO-Speicher betrieben wird, abhängt.
  • Die US 5,524,270 zeigt ein System mit einem Datenpuffer und inkrementierten Pointern zur asynchronen Datenübertragung zwischen Datenbussen mit unterschiedlicher Taktfrequenz.
  • Die US 2003/0169644 A1 zeigt ein System zur Datenübertragung zwischen Datenbussen mit gleicher Frequenz aber unterschiedlicher Phasenlage bei dem die Daten über ein Ring-FIFO ausgetauscht werden. Zur Synchronisation der unterschiedlichen Takte sind Resetzyklen vorgesehen.
  • Die vorliegende Erfindung bietet eine Vorrichtung zur Datensynchronisation, die bei hoher Geschwindigkeit ausfallsicher ist. Im Besonderen bietet die Erfindung eine Vorrichtung zur Datensynchronisation für den Austausch von getakteten Daten zwischen verschiedenen Taktbereichen, die in einer digitalen Verarbeitungseinrichtung mit im Wesentlichen gleicher Taktfrequenz aber mit beliebiger relativer Phasenverschiebung laufen. Die Vorrichtung zur Datensynchronisation umfasst einen Pufferspeicher mit einer vorher festgelegten begrenzten Anzahl an Speicherstellen, von denen jede einen Anschluss zum Schreiben von Daten und einen Anschluss zum Lesen von Daten besitzt. Ein Schreib-Auswahl-Multiplexer weist einen Dateneingang auf, der einen Eingabedatenstrom empfängt, der mit dem Takt von einem ersten Taktbereich synchronisiert ist, einen Datenausgang für jede der Speicherstellen, der mit einem entsprechenden Anschluss zum Schreiben von Daten verbunden ist, und einen Schreib-Auswahl-Eingang für jeden Datenausgang. Ein Lese-Auswahl-Multiplexer weist einen Dateneingang für jede der Speicherstellen auf, der jeweils mit einer Schnittstelle zum Lesen von Daten verbunden ist, einen Lese-Auswahl-Eingang für jeden Dateneingang und einen Datenausgang, der einen Ausgabedatenstrom liefert, der mit dem Takt von einem zweiten Taktbereich synchronisiert ist. Ein Schreib-Auswahl-Schieberegister weist eine Anzahl an Stufen, die mit der vorher festgelegten Anzahl an Speicherstellen übereinstimmt, und eine Ausgabestufe auf, die an eine Eingabestufe zurückgeschleift ist, wobei jede Stufe eine Ausgang hat, der mit einem entsprechenden Eingang der Schreib-Auswahl-Eingänge des Schreib-Auswahl-Multiplexers verbunden ist. Das Schreib-Auswahl-Schieberegister ist mit dem Takt vom ersten Taktbereich getaktet. Ein Lese-Auswahl-Schieberegister weist eine Anzahl an Stufen auf, die mit der vorher festgelegten Anzahl an Speicherstellen übereinstimmt, wobei jede Stufe eine Ausgang hat, der mit einem entsprechenden Eingang der Lese-Auswahl-Eingänge des Lese-Auswahl-Multiplexers verbunden ist. Das Lese-Auswahl-Schieberegister ist mit dem Takt vom zweiten Taktbereich getaktet. Ein Bit-Synchronisationsschaltkreis wird bereitgestellt, um ein Bitmuster, das nur einen hohen Logikwert enthält, in jedes Schieberegister zu laden, wobei die Bitmuster in den Schieberegistern einen relativen Versatz aufweisen. Im Betrieb wird ein Eingabedatenstrom, der mit dem Takt des ersten Taktbereichs synchronisiert ist, an den Dateneingang des Schreib-Auswahl-Multiplexers angelegt, und ein Ausgabedatenstrom, der mit dem Takt des zweiten Taktbereichs synchronisiert ist, wird vom Datenausgang des Lese-Auswahl-Multiplexers abgerufen.
  • Durch die Integration eines passenden festen Versatzes zwischen den Bitmustern in den zwei Schieberegistern werden niemals Daten gelesen, während sie geschrieben werden. Der Versatz zwischen den Bitmustern der Schieberegister kann vom Entwickler so festgelegt werden, dass nicht gegen die Anforderungen bezüglich der zeitlichen Abstimmung der Hardware verstoßen wird. Das Risiko, ein Informationsbit zu verlieren, beträgt genau Null und der MTBF ist unendlich.
  • In einem bevorzugten Ausführungsbeispiel lädt der Bit-Synchronisationsschaltkreis bei jedem Anschalten der Vorrichtung ein Bitmuster mit nur einem hohen Logikwert in das Schreib-Schieberegister, wobei das Lese-Schieberegister anfänglich nur niedrige Logikwerte enthält. Ein in der Stufe des höchstwertigen Bit des Schreib-Schieberegisters auftauchender hoher Logikwert wird dann mit dem Lesetakt synchronisiert und in die Stufe des niedrigstwertigen Bit des Lese-Schieberegisters geladen. Auf diese Weise wird ein maximaler Versatz zwischen den Schreib- und Leseoperationen für eine vorgegebene Tiefe der Schieberegister sichergestellt.
  • In einem vorteilhaften Ausführungsbeispiel der Erfindung besitzt der Pufferspeicher vier Speicherstellen und die Schieberegister haben vier Stufen. Durch eine solche Konfiguration wird eine Verzögerung von zwei oder drei, aber mindestens zwei Lesetaktzyklen zwischen einer Schreiboperation und einer Leseoperation für denselben Bezugspunkt eingefügt.
  • Weitere Vorteile und Merkmale werden aus der folgenden Beschreibung unter Bezugnahme auf die beigefügten Zeichnungen ersichtlich. In den Zeichnungen:
  • stellt 1 ein Blockdiagramm einer Vorrichtung zur Datensynchronisation dar; und
  • bei 2a bis 2c handelt es sich um Signaldiagramme, die einen Synchronisationsvorgang veranschaulichen.
  • Unter Bezugnahme auf 1 wird eine Vorrichtung zur Datensynchronisation gezeigt, die dafür gedacht ist, für den Austausch von Daten zwischen verschiedenen Taktbereichen, die in einer digitalen Verarbeitungseinrichtung mit derselben Taktfrequenz aber mit beliebiger relativer Phasenverschiebung zwischen den Taktsignalen laufen, verwendet zu werden. Während die Erfindung unter Bezugnahme auf Datenbits offenbart wird, die sequentiell zwischen einzelnen Datenleitungen ausgetauscht werden, sollte es verstanden werden, dass dieselben Konzepte auch auf Busse mit parallelen Leitungen angewendet werden können.
  • In 1 kennzeichnet die Referenznummer 10 einen 1-auf-4-Multiplexer, der Schreib-Auswahl-Multiplexer genannt wird. Der Schreib-Auswahl-Multiplexer 10 hat einen seriellen Dateneingang WR_DATA und vier Datenausgänge. Der Dateneingang WR_DATA empfängt eine serielle Dateneingabe, die mit einem Taktsignal aus einem ersten Taktbereich synchronisiert ist. Ein Pufferspeicher 12 hat vier Speicherstellen, wobei jede Speicherstelle einen Anschluss zum Schreiben von Daten und einen Anschluss zum Lesen von Daten aufweist. Jeder Datenausgang des Schreib-Auswahl-Multiplexers 10 ist mit einer Schnittstelle zum Schreiben von Daten eines Pufferspeichers 12 verbunden. Jede Schnittstelle zum Lesen von Daten von Pufferspeicher 10 ist mit einem von vier Dateneingängen eines 4-auf-1-Multiplexers 14 verbunden, der Lese-Auswahl-Multiplexer genannt wird. Der Lese-Auswahl-Multiplexer 14 hat einen seriellen Datenausgang, der einen Ausgabedatenstrom RD_DATA liefert, der mit einem Taktsignal aus einem zweiten Taktbereich synchronisiert ist, wie später weiter erläutert wird.
  • Der Schreib-Auswahl-Multiplexer 10 hat vier Schreib-Auswahl-Eingänge, von denen jeder mit einem Ausgang von einer von vier Stufen eines Schreib-Auswahl-Schieberegisters 16 verbunden ist. Der Ausgang der MSB-Stufe (signifikantestes Bit) des Schieberegisters 16 wird an den Eingang der LSB-Stufe (unsignifikantestes Bit) zurückgeschleift. Das Schreib-Auswahl-Schieberegister 16 ist mit dem Taktsignal aus dem ersten Taktbereich getaktet, das Schreibtakt WR_CLK genannt wird.
  • Der Lese-Auswahl-Multiplexer 14 hat vier Lese-Auswahl-Eingänge, von denen jeder mit einem Ausgang von einer von vier Stufen eines Lese-Auswahl-Schieberegisters 18 verbunden ist. Das Lese-Auswahl-Schieberegister 18 ist mit dem Taktsignal aus dem zweiten Taktbereich getaktet, das Lesetakt RD_CLK genannt wird.
  • Ein Bit-Synchronisationsschaltkreis 20 wird zwischen den Ausgang der MSB-Stufe (signifikantestes Bit) des Schreib-Auswahl-Schieberegisters 10 und den Eingang der LSB-Stufe (unsignifikantestes Bit) des Lese-Auswahl-Schieberegisters eingefügt. Der Bit-Synchronisationsschaltkreis 20 ist in der Lage, einen festen Versatz zwischen Bitmuster, die in den Schieberegistern 16 und 18 geladen sind, einzufügen und den Versatz während des Betriebs der Vorrichtung konstant zu halten. Das Bitmuster im Schreib-Schieberegister 16 hat zu jeder Zeit nur einen hohen Wert. Beim Einschalten der Vorrichtung wird ein hoher Logikwert in die Stufe des niedrigstwertigen Bit geladen und niedrige Logikwerte werden in die übrigen Stufen des Schreib-Auswahl-Registers 16 geladen, und in alle Stufen des Lese-Auswahl-Schieberegisters 18 werden niedrige Werte geladen. Dieser Nullstellungszustand ist in 1 abgebildet. Wenn ein hoher Logikwert im signifikantesten Bitausgang des Schreib-Auswahl-Schieberegisters 16 nach drei anfänglichen Schreibtaktzyklen auftaucht, schiebt der nächste Taktimpuls einen hohen Logikwert in den Bit-Synchronisationsschaltkreis 20, der einen hohen Logikwert in die Stufe des niedrigstwertigen Bit des Lese-Auswahl-Schieberegisters 18 nach der Synchronisation mit dem Lesetakt RD_CLK schiebt. Dadurch fügt der Bit-Synchronisationsschaltkreis 20 eine Verzögerung von zwei oder drei, aber mindestens zwei Lesetaktzyklen ein, bevor das synchronisierte Bit in das Lese-Auswahl-Schieberegister 18 eintritt. Der konstante Versatz zwischen den Bitmustern in beiden Schieberegistern fügt eine entsprechende Verzögerung zwischen einer Schreib- und einer Leseoperation für dieselben Daten im Pufferspeicher 12 ein. Anders ausgedrückt wurde in Speicherstellen, die für Lesefunktionen adressiert werden, mindestens zwei Lesetaktzyklen vorher geschrieben und von einer Speicherstelle kann niemals gelesen werden, während Daten in diese geschrieben werden.
  • In der bisherigen Offenbarung wird von identischen Frequenzen sowohl für die Lese- als auch für die Schreibtaktsignale ausgegangen. Im bevorzugten Ausführungsbeispiel ist es den Taktfrequenzen gestattet, leicht voneinander abzuweichen, wenn auch im Allgemeinen nicht mehr als ungefähr ein Prozent. In diesem Fall, und unter der Annahme, dass der Schreibtakt WR_CLK eine höhere Frequenz aufweist, darf mehr als nur ein hoher Logikwert vorübergehend in den vier Stufen des Lese-Auswahl-Schieberegisters 18 auftreten. Die Logikzustände aller Stufen im Lese-Auswahl-Schieberegister 18 werden von einer zugehörigen Logik-Überwachungsschaltung 22 überwacht. Kurz bevor das Lese-Auswahl-Schieberegister 18 einen neuen hohen Logikwert in die LSB-Stufe schiebt und wenn noch immer ein hoher Wert in einer anderen Stufe, mit Ausnahme der MSB-Stufe, geladen ist, verwirft die Logik-Überwachungsschaltung 22 einen von diesen, vorzugsweise denjenigen in einer signifikanteren Stufe, so dass nur ein hoher Wert im Schieberegister nach dem nächsten Schiebevorgang verbleibt. Hierdurch wird verhindert, dass Daten von unterschiedlichen Stufen vom Pufferspeicher 12 gleichzeitig gelesen werden, wenn auch ein Bezugspunkt vom Eingabedatenstrom verloren geht. Unter der Annahme, dass der Schreibtakt WR_CLK eine niedrigere Frequenz aufweist, kann vorübergehend eine Situation entstehen, in der alle vier Stufen des Lese-Auswahl-Schieberegisters 8 einen niedrigen Logikwert haben. In diesem Fall wird ein Bezugspunkt im Ausgabedatenstrom eingefügt.
  • In jedem Fall wird ein ausfallsicherer Betrieb der Vorrichtung zu jeder Zeit dadurch sichergestellt, dass niemals Daten gelesen werden können, während dieselben Daten geschrieben werden, sobald die Schreib- und Lese-Auswahl-Schieberegister 16, 18 wie offenbart initialisiert wurden.
  • Unter Bezugnahme auf 2a können die Taktsignale WR_CLK und RD_CLK mit gleicher Frequenz und einer relativen Phasenverschiebung von π/2 erkannt werden. Das Signal S1 in 2 stellt eine Impulssequenz dar, die am MSB-Ausgang des Schreib-Auswahl-Schieberegisters 16 auftritt. Es hat eine Frequenz von Taktfrequenz geteilt durch vier und einen Arbeitszyklus von 1:4. Dieses Signal S1 wird durch den Bit-Synchronisationsschaltkreis in ein Signal S2 umgewandelt, das mit jedem hohen Impuls von Signal S1 synchron mit dem Schreibtakt WR_CLK hin- und her schaltet. Die Frequenz des Signals S2 beträgt nur die Hälfte der Frequenz des Signals S1. Das Signal S2 wird dann mit dem Lesetakt RD_CLK durch eine Synchronisiereinrichtung mit zwei Phasen innerhalb des Schaltkreises 20 synchronisiert, wie durch die Signale S3 und S4 in 2a veranschaulicht. Eine geeignete Synchronisiereinrichtung kann aus zwei Flipflops zusammengesetzt sein, die mit dem Lesetakt RD_CLK getaktet sind. Das Signal S5 stellt das um einen Taktzyklus verschobene Signal S4 dar und das Signal S6 ist ein Impulssignal das vom Signal S5 erzeugt wurde, um Signal S1 zu entsprechen. Die von Signal S6 dargestellte Impulssequenz wird in das Lese-Schieberegister verschoben.
  • Da die verwendeten Signale eine viel niedrigere Frequenz als die Taktfrequenz aufweisen, wird durch dieses Synchronisationsverfahren eine Synchronisationsgrenze erreicht, die für Hochgeschwindigkeitsbetrieb geeignet ist. Die Latenzzeit der Synchronisationsgrenze wird nur durch die Latenzzeit des Bit-Synchronisationsschaltkreises bestimmt, die so gering wie möglich ist.
  • 2b veranschaulicht eine Situation, in der der Schreibtakt WR_CLK eine leicht höhere Frequenz als der Lesetakt RD_CLK aufweist. Wie ersichtlich ist, kann ein Bezugspunkt auf Grund der Notwendigkeit, einen von zwei gleichzeitig im Lese-Auswahl-Schieberegister 18 auftretenden hohen Logikwerten zu verwerfen, gelegentlich fallen gelassen werden. In 2b geht der Bezugspunkt „080" vom Eingabedatenstrom WR_DATA verloren.
  • 2c veranschaulicht eine Situation, in der der Schreibtakt WR_CLK eine leicht niedrigere Frequenz als der Lesetakt RD_CLK aufweist. Wie ersichtlich ist, wird ein Bezugspunkt „2AA" in den Eingabedatenstrom WR_DATA eingefügt.
  • In einem praktischen Ausführungsbeispiel wird der Pufferspeicher 12 durch einen Satz von einzelnen Registern oder durch eine Registerbank gebildet; jedes Register kann durch ein D-Flipflop gebildet werden.
  • Die offenbarte Vorrichtung kann als eine serielle Schnittstelle mit Eingang WR_DATA und Ausgang RD_DATA angesehen werden, wenn serielle Daten ausgetauscht werden.
  • Sollten Daten zwischen Datenbussen ausgetauscht werden, benötigt jede Busleitung einen Pufferspeicher und einen Multiplexer, wie offenbart, aber es wird nur ein Auswahlmechanismus mit einem Schreib-Auswahl-Schieberegister und einem Lese-Auswahl-Schieberegister für alle Busleitungen benötigt.

Claims (10)

  1. Vorrichtung zur Datensynchronisation für den Austausch von getakteten Daten zwischen verschiedenen Taktbereichen, die in einer digitalen Verarbeitungseinrichtung mit im Wesentlichen gleicher Taktfrequenz aber mit beliebiger relativer Phasenverschiebung laufen, die folgendes umfasst: einen Pufferspeicher (12) mit einer vorher festgelegten begrenzten Anzahl an Speicherstellen, von denen jede einen Anschluss zum Schreiben von Daten und einen Anschluss zum Lesen von Daten besitzt, einen Schreib-Auswahl-Multiplexer (10), der einen Dateneingang aufweist, der einen Eingabedatenstrom (WR-DATA) empfängt, der mit dem Takt (WR-CLOCK) von einem ersten Taktbereich synchronisiert ist, einen Datenausgang für jede der Speicherstellen, der mit einem entsprechenden Anschluss zum Schreiben von Daten verbunden ist, und einen Schreib-Auswahl-Eingang für jeden Datenausgang, einen Lese-Auswahl-Multiplexer (14), der einen Dateneingang für jede der Speicherstellen aufweist, der mit einem entsprechenden Anschluss zum Lesen von Daten verbunden ist, einen Lese-Auswahl-Eingang für jeden Dateneingang und einen Datenausgang, der einen Ausgabedatenstrom (RD-DATA) liefert, der mit dem Takt (RD-CLOCK) von einem zweiten Taktbereich synchronisiert ist, ein Schreib-Auswahl-Schieberegister (16) mit einer Anzahl an Stufen, die mit der vorher festgelegten Anzahl an Speicherstellen übereinstimmt, und einer Ausgabestufe, die an eine Eingabestufe zurückgeschleift ist, wobei jede Stufe eine Ausgang hat, der mit einem entsprechenden Eingang der Schreib-Auswahl-Eingänge des Schreib-Auswahl-Multiplexers (10) verbunden ist, wobei das Schreib-Auswahl-Schieberegister (16) mit dem Takt (WR-CLOCK) vom ersten Taktbereich getaktet ist, ein Lese-Auswahl-Schieberegister (18) mit einer Anzahl an Stufen auf, die mit der vorher festgelegten Anzahl an Speicherstellen übereinstimmt, wobei jede Stufe eine Ausgang hat, der mit einem entsprechenden Eingang der Lese-Auswahl-Eingänge des Lese-Auswahl-Multiplexers (14) verbunden ist, wobei das Lese-Auswahl-Schieberegister ist mit dem Takt (RD-CLOCK) vom zweiten Taktbereich getaktet ist, und einen Bit-Synchronisationsschaltkreis (20), um ein Bitmuster, das nur einen hohen Logikwert enthält, in jedes Schieberegister (16, 18) zu laden, wobei die Bitmuster in den Schieberegistern einen relativen Versatz aufweisen.
  2. Vorrichtung zur Datensynchronisation aus Anspruch 1, bei der der Bit-Synchronisationsschaltkreis (20) bei jedem Einschalten der Vorrichtung ein Bitmuster mit nur einem hohen Logikwert in das Schreib-Auswahl-Schieberegister (16) und nur niedrige Logikwerte in das Lese-Auswahl-Schieberegister (18) lädt und einen hohen Logikwert, der in der Stufe des höchstwertigen Bit des Schreib-Auswahl-Schieberegisters (16) auftaucht, in die Stufe des niedrigstwertigen Bit des Lese-Schieberegisters (18) nach der Synchronisation mit dem Taktsignal (RD-CLOCK) vom zweiten Taktbereich lädt.
  3. Vorrichtung zur Datensynchronisation aus Anspruch 2, bei der der hohe Logikwert anfangs in die Stufe des niedrigstwertigen Bit des Schreib-Auswahl-Schieberegisters (16) geladen wird.
  4. Vorrichtung zur Datensynchronisation aus Anspruch 2 oder Anspruch 3, bei der der Bit-Synchronisationsschaltkreis (20) – eine Impulssequenz vom Ausgang des Schreib-Schieberegisters (16) ableitet, – die Impulssequenz in ein Zwischensignal umwandelt, das mit jedem hohen Zustand der Impulssequenz synchron mit dem Takt (WR-CLOCK) vom ersten Taktbereich hin und her schaltet, – das Zwischensignal mit dem Takt (RD-CLOCK) des zweiten Taktbereichs synchronisiert, – das mit dem Takt (RD-CLOCK) des zweiten Taktbereichs synchronisierte Zwischensignal in eine Impulssequenz umwandelt, die ebenfalls mit dem Takt (RD-CLOCK) des zweiten Taktbereichs synchronisiert ist, und – die mit dem Takt (RD-CLOCK) des zweiten Taktbereichs synchronisierte Impulssequenz in das Lese-Auswahl-Schieberegister (18) schiebt.
  5. Vorrichtung zur Datensynchronisation gemäß einem der Ansprüche 1 bis 4, bei der der Pufferspeicher (12) vier Speicherstellen aufweist und die Schreib- und Lese-Auswahl-Schieberegister (16, 18) eine Tiefe von vier Bit aufweisen.
  6. Vorrichtung zur Datensynchronisation gemäß einem der Ansprüche 1 bis 5, bei der die Frequenzen der Takte vom ersten und vom zweiten Taktbereich maximal ein Prozent voneinander abweichen dürfen.
  7. Vorrichtung zur Datensynchronisation gemäß Anspruch 6, die eine Logikschaltung (22) umfasst, die die Inhalte der Stufen im Lese-Auswahl-Schieberegister (18) überwacht und es nicht gestattet, dass mehr als ein hoher Logikwert in allen Stufen zu einem beliebigen Zeitpunkt vorhanden ist.
  8. Vorrichtung zur Datensynchronisation gemäß Anspruch 7, bei der die Logikschaltung (22), wenn sie feststellt, ob im nächsten Taktzyklus mehr als ein hoher Logikwert in die Stufen des Lese-Auswahl-Schieberegisters (18) geladen wird, denjenigen hohen Logikwert verwirft, der in der signifikanteren Stufe geladen ist.
  9. Vorrichtung zur Datensynchronisation gemäß einem der Ansprüche 1 bis 8, bei der die Daten serielle Daten sind.
  10. Vorrichtung zur Datensynchronisation gemäß einem der Ansprüche 1 bis 8, bei der die Daten auf parallelen Busleitungen ausgetauscht werden, wobei jede Busleitung einen zugehörigen Pufferspeicher (12) und zugehörige Schreib- und Lese-Auswahl-Multiplexer (10, 14) aufweist, wobei die parallelen Busleitungen einen gemeinsamen Auswahlmechanismus für die Schreib- und Lese-Auswahl-Multiplexer (10, 14) haben.
DE102004011673A 2004-03-10 2004-03-10 Vorrichtung zur Datensynchronisation Expired - Fee Related DE102004011673B3 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102004011673A DE102004011673B3 (de) 2004-03-10 2004-03-10 Vorrichtung zur Datensynchronisation
EP05004796.8A EP1575206B1 (de) 2004-03-10 2005-03-04 Vorrichtung zur Datensynchronisierung
US11/074,443 US7350092B2 (en) 2004-03-10 2005-03-08 Data synchronization arrangement

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102004011673A DE102004011673B3 (de) 2004-03-10 2004-03-10 Vorrichtung zur Datensynchronisation

Publications (1)

Publication Number Publication Date
DE102004011673B3 true DE102004011673B3 (de) 2005-06-02

Family

ID=34530468

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102004011673A Expired - Fee Related DE102004011673B3 (de) 2004-03-10 2004-03-10 Vorrichtung zur Datensynchronisation

Country Status (3)

Country Link
US (1) US7350092B2 (de)
EP (1) EP1575206B1 (de)
DE (1) DE102004011673B3 (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008129364A1 (en) * 2007-04-23 2008-10-30 Nokia Corporation Transferring data between asynchronous clock domains
US9324416B2 (en) * 2014-08-20 2016-04-26 Qualcomm Incorporated Pseudo dual port memory with dual latch flip-flop
SE1730348A1 (sv) * 2017-12-20 2019-02-26 Totalfoersvarets Forskningsinstitut Metod, system och datorprogram för synkronisering av dataströmmar med okänd fördröjning
US10395702B1 (en) * 2018-05-11 2019-08-27 Micron Technology, Inc. Memory device with a clocking mechanism
JP2022505662A (ja) * 2018-10-24 2022-01-14 マジック リープ, インコーポレイテッド 非同期asic
JP2020166346A (ja) * 2019-03-28 2020-10-08 ラピスセミコンダクタ株式会社 半導体記憶装置
US11829640B2 (en) 2020-10-27 2023-11-28 Rambus Inc. Asynchronous arbitration across clock domains for register writes in an integrated circuit chip

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5524270A (en) * 1992-06-13 1996-06-04 International Business Machines Corporation System for transferring data between asynchronous data buses with a data buffer interposed in between the buses for synchronization of devices timed by different clocks
US20030169644A1 (en) * 2002-03-06 2003-09-11 William Liao Transferring data between different clock domains

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4463443A (en) * 1979-07-24 1984-07-31 The United States Of America As Represented By The Secretary Of The Air Force Data buffer apparatus between subsystems which operate at differing or varying data rates
US5473756A (en) * 1992-12-30 1995-12-05 Intel Corporation FIFO buffer with full/empty detection by comparing respective registers in read and write circular shift registers
US5602878A (en) * 1994-09-23 1997-02-11 Intel Corporation Method of delivering stable data across an asynchronous interface
WO1999019785A1 (en) * 1997-10-10 1999-04-22 Rambus Incorporated Apparatus and method for generating a distributed clock signal using gear ratio techniques
US6041370A (en) * 1997-12-08 2000-03-21 Intel Corporation FIFO using a fading ones counter
US6724846B1 (en) * 2000-04-28 2004-04-20 Hewlett-Packard Development Company, L.P. Simple, high performance, bit-sliced mesochronous synchronizer for a source synchronous link
US6920578B1 (en) * 2001-12-18 2005-07-19 Lsi Logic Corporation Method and apparatus for transferring data between a slower clock domain and a faster clock domain in which one of the clock domains is bandwidth limited
US7134035B2 (en) * 2003-05-30 2006-11-07 Sun Mircosystems, Inc. Method for generating a synchronization signal based on the clock ratio between two clock domains for data transfer between the domains
US7392417B2 (en) * 2003-10-06 2008-06-24 Nxp B.V. Device for exchanging data signals between two clock domains
DE102004011672B4 (de) * 2004-03-10 2007-04-05 Texas Instruments Deutschland Gmbh Vorrichtung zur Datensynchronisation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5524270A (en) * 1992-06-13 1996-06-04 International Business Machines Corporation System for transferring data between asynchronous data buses with a data buffer interposed in between the buses for synchronization of devices timed by different clocks
US20030169644A1 (en) * 2002-03-06 2003-09-11 William Liao Transferring data between different clock domains

Also Published As

Publication number Publication date
EP1575206A3 (de) 2006-04-05
US7350092B2 (en) 2008-03-25
EP1575206B1 (de) 2017-10-25
EP1575206A2 (de) 2005-09-14
US20050201163A1 (en) 2005-09-15

Similar Documents

Publication Publication Date Title
DE69733407T2 (de) Schnittstelle zur datenübertragung zwischen zwei taktbereichen
DE69634358T2 (de) Verzögerungsverringerung in der übertragung von gepufferten daten zwischenzwei gegenseitig asynchronen bussen
DE102007020005B3 (de) Integrierte Schaltung zur Takterzeugung für Speicherbausteine
DE69906793T2 (de) Verfahren und anordnung für hochgeschwindigkeitsdatenerfassung mit korrektur der bit-zu-bit-zeitgebung und speicheranordnung unter verwendung derselben
DE69838852T2 (de) Verfahren und vorrichtung zur kopplung von signalen zwischen zwei schaltungen, in verschiedenen taktbereichen arbeitend
DE60002567T2 (de) Dynamische wellenpipelineschnittstellenanordnung und verfahren dafür
DE2807175C2 (de) Anordnung zur Steuerung von Informationsübertragungen zwischen zwei Rechenanlagen
DE19914986B4 (de) Vorrichtung zum Verzögern eines Taktsignals
DE60214992T2 (de) Mehrbit-prefetch-ausgangsdatenweg
DE3137292A1 (de) Fifo-speicher und diesen verwendende verarbeitungseinheit
DE60018110T2 (de) Kodierte takte zur verteilung von mehreren taktsignalen zu mehreren geräten eines rechnersystems
DE202009019093U1 (de) Vorrichtung und System für automatische Datenausrichter für mehrere serielle Empfänger
DE68922930T2 (de) Impulseinblendungsanordnung.
DE102004011673B3 (de) Vorrichtung zur Datensynchronisation
DE102005019568B4 (de) Speichereinrichtung, Verwendung derselben und Verfahren zur Synchronisation eines Datenwortes
DE102007004713A1 (de) Datenübergabeeinheit zum Übertragen von Daten zwischen unterschiedlichen Taktbereichen
DE3788783T2 (de) Multiplexer für Taktsignale.
DE102004011672B4 (de) Vorrichtung zur Datensynchronisation
DE60214411T2 (de) Parallel/Seriell-Wandler
DE102008004857B4 (de) Verfahren zur Übertragung von Daten zwischen wenigstens zwei Taktdomänen
DE3881486T2 (de) Verzoegerungsvorrichtung fuer zumindest einen digitalen hochgeschwindigkeitsdatenstrom.
DE19924254C2 (de) Synchronisierschaltung zum Empfangen eines asynchronen Eingangssignals
DE19581595C2 (de) Signalübertragungsvorrichtung mit mehreren LSIs
DE69024913T2 (de) Programmierbare Steuerungsvorrichtung mit Unterbrechungssteuerungsgerät zur Prioritätsbestimmung von Unterbrechungsanforderungen von einer Vielzahl von Ein-/Ausgabeeinrichtungen und zur Unterbrechungsvektorerzeugung
DE69023395T2 (de) Arbitrierungsschaltung.

Legal Events

Date Code Title Description
8100 Publication of the examined application without publication of unexamined application
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee