DE60216803T2 - Fifo als übergang von taktregionen - Google Patents

Fifo als übergang von taktregionen Download PDF

Info

Publication number
DE60216803T2
DE60216803T2 DE60216803T DE60216803T DE60216803T2 DE 60216803 T2 DE60216803 T2 DE 60216803T2 DE 60216803 T DE60216803 T DE 60216803T DE 60216803 T DE60216803 T DE 60216803T DE 60216803 T2 DE60216803 T2 DE 60216803T2
Authority
DE
Germany
Prior art keywords
clock
data
source
region
signal
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 - Lifetime
Application number
DE60216803T
Other languages
English (en)
Other versions
DE60216803D1 (de
Inventor
A. Timothy PONTIUS
L. Robert PAYNE
R. David EVOY
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.)
NXP BV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Application granted granted Critical
Publication of DE60216803D1 publication Critical patent/DE60216803D1/de
Publication of DE60216803T2 publication Critical patent/DE60216803T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/02Speed or phase control by the received code signals, the signals containing no special synchronisation information
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2205/00Indexing scheme relating to group G06F5/00; Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F2205/10Indexing scheme relating to groups G06F5/10 - G06F5/14
    • G06F2205/102Avoiding metastability, i.e. preventing hazards, e.g. by using Gray code counters
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Static Random-Access Memory (AREA)
  • Information Transfer Systems (AREA)
  • Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
  • Communication Control (AREA)

Description

  • Die vorliegende Erfindung betrifft im Allgemeinen Datenkommunikationen und genauer Verfahren und Anordnungen zur Übertragung von Daten zwischen Taktregionengrenzen.
  • Anhaltende Nachfragen nach komplexeren Schaltungen haben zu bedeutenden Leistungen geführt, die durch die Herstellung einer sehr hohen Integration von Schaltungen auf kleinen Flächen von Siliziumwafern verwirklicht wurden. Diese komplexen Schaltungen werden häufig als funktionell definierte Blöcke gestaltet, die an einer Abfolge von Daten tätig sind und diese Daten dann zur weiteren Verarbeitung weitergeben. Diese Kommunikation von derartigen funktionell definierten Blöcken kann in großen oder kleinen Mengen von Daten zwischen einzelnen integrierten Schaltungen ("Chips"), innerhalb des gleichen Chips, und zwischen entfernter befindlichen Kommunikationsschaltungsanordnungen und -systemen weitergegeben werden. Ungeachtet der Gestaltung benötigt die Kommunikation typischerweise genau gesteuerte Schnittstellen, um sicherzustellen, dass die Datenintegrität bewahrt wird, und dass Chipsatz-Gestaltungen in Bezug auf praktikable Beschränkungen hinsichtlich des Ausführungsraums und der verfügbaren Betriebsleistung empfindlich sind.
  • Mit der zunehmenden Komplexität von Schaltungen besteht eine entsprechende Nachfrage nach der Erhöhung der Geschwindigkeit, mit der Daten zwischen den Schaltungsblöcken weitergegeben werden. Viele dieser Hochgeschwindigkeits-Kommunikationsanwendungen können unter Verwendung einer parallelen Datenverbindungsübertragung ausgeführt werden, wobei mehrere Datenbits gleichzeitig über parallele Kommunikationswege gesendet werden. Diese "parallele Busverbindung" ist ein gut angenommener Ansatz zur Erreichung von Datenübertragungen mit hohen Datenraten.
  • Ein typisches System könnte eine Anzahl von Modulen (d.h., einen oder mehrere gemeinschaftlich arbeitende Chips) beinhalten, die an einen parallelen Datenbus, zum Beispiel in der Form eines Kabels, eine andere Verbindung und/oder einen internen Bus auf einem Chip angeschlossen sind und darüber kommunizieren. Ein Sendemodul sen det Daten in Synchronisation mit einem Takt am Sendemodul über den Bus. Auf diese Weise verlassen die Übertragungen auf den parallelen Signalleitungen das Sendemodul in einer synchronen Beziehung miteinander und/oder mit einem Takt am Sendemodul. Am anderen Ende der parallelen Datenverbindung empfängt das Empfangsmodul die Daten auf einem parallelen Datenbus. In derartigen Systemen sollten die empfangenen Signale (und wo anwendbar, der Empfangstakt) eine bestimmte Phasenbeziehung aufweisen, um eine richtige Datenwiedererlangung bereitzustellen.
  • Viele integrierte Schaltungen (ICs) beinhalten heute mehr als eine Taktregion; daher könnte ein Datensendemodul in einer ersten Taktregion bei einer ersten Taktfrequenz tätig sein, während ein Datenempfangsmodul in einer anderen Taktregion bei einer unterschiedlichen (und vielleicht nichtsynchronen) Taktfrequenz tätig ist. Die Schnittstelle zwischen den Taktregionen ist eine Taktregionengrenze, oder ein Taktregionenübergang, wo die Informationen die Grenze überqueren. Die Taktsignalwegentfernung ist typischerweise begrenzt, um Taktsignal"versatzauswirkungen" innerhalb erträglicher Grenzen zu beschränken; weshalb eine Taktregion im Allgemeinen mit einer kompakten geographischen Region einer IC in Übereinstimmung gebracht ist.
  • Wo sich das Sende- und das Empfangsmodul in unterschiedlichen Taktregionen befinden, kann die augenblickliche Rate, mit der die Daten in einer Taktregion gesendet werden, möglicherweise nicht mit der augenblicklichen Rate übereinstimmen, mit der die Daten in einer anderen Region verwendet werden (d.h., konsumiert werden). Um Datenratenunterschiede unterzubringen, wird zwischen den Taktregionen herkömmlich eine diskrete Puffereinrichtung verwendet. Die Daten werden gemäß einem Quellenregionstakt (d.h., Schreibtakt) in die Puffereinrichtung getaktet und gemäß einem Empfangsregionstakt (d.h., Lesetakt) aus der Puffereinrichtung getaktet.
  • Herkömmliche Puffereinrichtungen erfordern, dass die Daten-, Adress- und Schreibeingänge bestimmte Einstell- und Haltezeittaktanforderungen in Bezug auf einen Schreibtakt erfüllen, was erforderlich macht, dass sich das Speicherelement in der Nähe der Schreibtaktregion befindet, um die benötigten Zeittaktbeziehungen aufrechtzuerhalten. Gleichzeitig werden Ausgangsdaten (Lesedaten) von der herkömmlichen Puffereinrichtung nach einer Veränderung der Leseadresse mit einer gewissen Verzögerung von nicht Null gültig. Wenn eine Lesetaktfrequenz nicht äußerst niedrig ist, sollte sich ein Leseadresszähler nahe an der Multiplexierfunktion innerhalb der Puffereinrichtung befinden; daher muss sich die Puffereinrichtung gleichzeitig in der Nähe der Lesetaktregion befinden, um die Datenintegrität sicherzustellen. Typischerweise befindet sich die Puffereinrichtung physisch sehr nahe an der Taktregionengrenze, damit keine der Taktregionen überausgedehnt wird. Das Anordnen der Puffereinrichtung in einer der Taktregionen erfordert das Ausdehnen eines Taktsignals von der anderen Taktregion in die "fremde" Taktregion, damit es die Puffereinrichtung erreicht. Diese Praxis erhöht die Versatzbedenken hinsichtlich des überausgedehnten Taktsignals.
  • Der Versatz ist eine Zeitverzögerung oder eine Versetzung zwischen jeglichen zwei Signalen. Häufig gibt es ein erwartetes Ausmaß an Zeitversatz zwischen gesendeten Datensignalen selbst und zwischen Adress/Datensignalen und einem Taktsignal am Bestimmungsort. Ein Versatz kann durch eine Anzahl von Erscheinungen einschließlich, zum Beispiel, Sendeverzögerungen, die durch die kapazitive und induktive Belastung der Signalleitungen der parallelen Verbindung eingebracht werden, Schwankungen in der Eingangs/Ausgangstreiberquelle, einer Nachbarzeichenstörung und Schwankungen in der Impedanz und der Länge der Übertragungsleitungen verursacht werden. Ungeachtet dessen, welche Erscheinung den Versatz erzeugt, stellen die Erscheinungen ein ernstes Integritätsproblem für die kommunizierten Daten und, in vielen Anwendungen, das gesamte Kommunikationssystem dar.
  • Das Ausführen von integrierten Schaltungen unter Verwendung mehrerer Taktregionen ist aus einer Vielfalt von Gründen wünschenswert. Demgemäss gestattet das Verbessern von Datenkommunikationen über parallele Busse zwischen Taktregionen praktikablere und schnellere parallele Busverbindungsanwendungen, die wiederum direkt zur Erfüllung der Nachfrage nach Hochgeschwindigkeitsschaltungen führen können, während die Datenintegrität in Gegenwart versatzerzeugender Erscheinungen aufrechterhalten wird. Verschiedenste Gesichtspunkte der vorliegenden Erfindung befassen sich mit den oben erwähnten Schwächen und schaffen auch Kommunikationsverfahren und -anordnungen, die auch für andere Anwendungen nützlich sind.
  • Die US-Patentschrift Nr. 4,873,703 offenbart ein Synchronisierungssystem, das für eine verlässliche Weitergabe von Daten über eine Grenze zwischen zwei unabhängigen, nichtkorrelierten Takten bereitgestellt ist. Das System verringert das Auftreten von Fehlern aufgrund von nicht synchronen Abtastungen auf Basis eines metastabilen Betriebs auf einen beliebig niedrigen Grad. Das System ist als ein Zweitor-Speicher mit einem Einheitsentfernungscode, der die Speicherzellen anspricht, organisiert. Es führt einen Hand schlag zwischen den beiden nichtkorrelierten Taktsystemen durch, um jedes beliebige Verhältnis zwischen den beiden Takten zu gestatten.
  • Die vorliegende Erfindung betrifft ein Verfahren und eine Schaltung zur Weitergabe von Daten von einer Quellentaktregion zu einer Empfangstaktregion, die bei einer anderen Frequenz als die Sendetaktregion tätig ist. Die vorliegende Erfindung ist in einer Anzahl von Ausführungen und Anwendungen beispielhaft gezeigt, wovon einige davon nachstehend zusammengefasst sind.
  • Nach einer beispielhaften Ausführungsform der vorliegenden Erfindung wird ein Verfahren zur Weitergabe von Daten von einer Quellentaktregion zu einer nicht synchronen Empfangstaktregion bereitgestellt. In der Quellentaktregion wird eine Schreib-Adress-Information mit den Daten verknüpft. Ein Taktgenerator erzeugt ein Sendetaktsignal, das mit einem Quellentaktregionstakt synchron ist. Die Daten und die verknüpfte Schreib-Adress-Information werden zusammen mit dem Sendetaktsignal zur Empfangstaktregion gesendet. In der Empfangstaktregion werden die Daten an eine Adresse geschrieben, die ein Speicherelement angibt, das mit der verknüpften Schreib-Adress-Information übereinstimmt. Die Daten werden in Synchronisation mit dem begleitenden Sendetaktsignal in das Speicherelement getaktet; doch werden die Daten in Synchronisation mit einem Empfangstaktregionstakt aus dem Speicherelement gelesen.
  • Nach einem Gesichtspunkt der vorliegenden Erfindung ist der Empfangstaktregionstakt bei einer niedrigeren Frequenz als der Quellentaktregionstakt tätig. Nach einem anderen Gesichtspunkt der vorliegenden Erfindung wird ein Datensteuersignal von der Quellentaktregion zum Datenspeicherelement kommuniziert, und werden die Daten im Datenspeicherelement als Reaktion auf ein Datensteuersignal empfangen.
  • Nach einer anderen beispielhaften Ausführungsform der vorliegenden Erfindung wird eine Schaltungsanordnung zur Weitergabe von Daten von einer Quellentaktregion zu einer nicht synchronen Empfangstaktregion bereitgestellt. Ein Taktgenerator erzeugt in der Quellentaktregion ein Sendetaktsignal, das mit einem Quellentakt synchron ist. Eine erste Verarbeitungsschaltung, die sich in der Quellentaktregion befindet, ist dazu geeignet, eine Schreib-Adress-Information mit den Daten zu verknüpfen. Die erste Verarbeitungsschaltung ist ferner dazu geeignet, die Daten mit der verknüpften Schreib-Adress-Information, und das Sendetaktsignal zur Empfangstaktregion zu senden. Eine zweite Verarbeitungsschaltung, die sich in der Empfangstaktregion befindet, ist dazu geeignet, die Daten an eine Adresse zu schreiben, die ein Speicherelement angibt, sich ebenfalls in der Empfangstaktregion befindet, und mit der verknüpften Schreib-Adress-Information übereinstimmt. Die zweite Verarbeitungsschaltung ist ferner dazu geeignet, die Daten in Synchronisation mit dem begleitenden Sendetaktsignal in das Speicherelement zu takten und die Daten in Synchronisation mit einem Empfangsregionstakt aus dem Speicherelement zu lesen.
  • Nach einem anderen Gesichtspunkt der vorliegenden Erfindung ist die erste Verarbeitungsschaltung ferner dazu geeignet, ein Datensteuersignal von der Quellentaktregion zum Speicherelement in der Empfangstaktregion zu senden, wobei das Speicherelement dazu geeignet ist, die Daten als Reaktion auf ein Datensteuersignal zu empfangen.
  • Die obige Zusammenfassung soll nicht jede veranschaulichte Ausführungsform oder jede Ausführung der vorliegenden Erfindung beschreiben. Die Figuren und die ausführliche Beschreibung, die folgen, erläutern diese Ausführungsformen genauer.
  • Die Erfindung kann unter Betrachtung der folgenden ausführlichen Beschreibung verschiedener Ausführungsformen der Erfindung in Verbindung mit den beiliegenden Zeichnungen vollständiger verstanden werden, wobei
  • 1 ein Blockdiagramm ist, das eine integrierte Schaltung mit mehreren Taktregionen nach einer beispielhaften Ausführungsform der vorliegenden Erfindung veranschaulicht;
  • 2 ein Blockdiagramm für eine in zwei Takte gegliederte FIFO nach einer beispielhaften Ausführungsform der vorliegenden Erfindung ist;
  • 3A ein schematisches Diagramm für die Treiberlogikschaltung nach einer beispielhaften Ausführungsform der vorliegenden Erfindung ist; und
  • 3B ein Zeittaktdiagramm für die Treiberlogikschaltung nach einer beispielhaften Ausführungsform der vorliegenden Erfindung ist.
  • Obwohl die Erfindung für verschiedenste Abwandlungen und alternative Formen zugänglich ist, wurden genaue Beschreibungen davon in den Zeichnungen beispielhaft gezeigt, und werden sie ausführlich beschrieben werden. Es sollte sich jedoch verstehen, dass nicht beabsichtigt ist, die Erfindung auf die besonderen beschriebenen Ausführungsformen zu beschränken.
  • Wir meinen, dass die vorliegende Erfindung auf eine Vielfalt von unterschiedlichen Arten von elektronischen Schaltungen anwendbar ist, und es wurde festgestellt, dass sie zur Verwendung in Verbindung mit integrierten Schaltungen, die mit mehreren Taktregionen und parallelen Datenkommunikationen dazwischen ausgeführt sind, besonders geeignet ist. Obwohl die vorliegende Erfindung nicht notwendigerweise auf derartige Einrichtungen beschränkt ist, wird durch eine Besprechung verschiedener Beispiele, die diese Anwendung verwenden, am besten eine Einschätzung von verschiedenen Gesichtspunkten der Erfindung erzielt.
  • Nach einer allgemeinen beispielhaften Ausführungsform der vorliegenden Erfindung werden Daten, die von Schaltungen in einer Quellentaktregion stammen, durch eine Datenpufferanordnung zu Schaltungen in einer Empfangstaktregion gesendet. Die Daten werden in Synchronisation mit einem Quellentakt (einem Schreibtakt) der Quellentaktregion in die Pufferanordnung geschrieben und in Synchronisation mit einem Empfangstakt (einem Lesetakt) der Empfangstaktregion aus der Pufferfunktion gelesen. Die Pufferanordnung muss sich nicht physisch an der Taktregionengrenze befinden. Tatsächlich ist die Datenpufferanordnung der vorliegenden Erfindung in zwei Abschnitte geteilt, wobei sich alle Schaltungsaufbauten, die mit einem Schreibtakt ("der Schreibseite") synchron sein müssen, in einer Schreib(d.h., Quellen)taktregion befinden, und sich alle Schaltungsaufbauten, die mit einem Lesetakt ("der Leseseite") synchron sein müssen, in einer Lese(d.h., Empfangs)taktregion befinden. Ein Speicherelement der Pufferanordnung ist im Wesentlichen in der Empfangstaktregion enthalten. Der Schreibtakt ist nicht direkt mit dem Speicherelement verbunden, weshalb er nicht in die Empfangstaktregion überausgedehnt werden muss.
  • Die Schreibseite der Pufferanordnung nimmt die zu schreibenden Daten zum Beispiel in einem Pipeline-Register an und unterhält einen Schreib-Adress-Zähler. Die Schreib-Adress-Information wird mit den Daten verknüpft und unter Verwendung eines quellensynchronen Ansatzes, wobei ein Taktungssignal mit den Daten (und der verknüpften Schreib-Adress-Information) gesendet wird, zum Speicherelement gesendet. Das Verwenden eines quellensynchronen Sendetaktsignals anstelle des Ausdehnens des Quellentakts über lange Datenübertragungsentfernungen beseitigt Versatzprobleme zwischen dem Taktungssignal, das verwendet wird, um Daten in den Speicherabschnitt der Pufferfunktion zu schreiben, und dem Taktungssignal über das Gleichgewicht der Quellentaktregion hinweg. Bei der vorliegenden Erfindung ist ein Versatz zwischen dem Schreib- und dem Lesetakt des Speicherelements nicht problematisch, da die Schreibtätigkeit von der Quellentaktregi on und die Lesetätigkeit in die Empfangstaktregion absichtlich nicht synchron sind. Es bleibt nur ein Taktsignalversatz zwischen dem Sendetaktsignal und den begleitenden Daten/Adress-Informationen, und dieser kann gesteuert werden, indem sichergestellt wird, dass die Zeit, die die Daten/Adress-Informationen benötigen, um die physische Entfernung von der Quellentaktregion zum Speicherelement in der Empfangstaktregion zu überqueren, ungefähr jener Zeit gleich ist, die der quellensynchrone Takt benötigt, um die (gleiche) physische Entfernung zu überqueren..
  • In einer anderen beispielhaften Ausführungsform der vorliegenden Erfindung ist eine integrierte Schaltung ausgeführt, die mehrere Taktregionen und parallele Datenkommunikationen dazwischen aufweist. Die integrierte Schaltung beinhaltet eine Pufferanordnung, die eine Schnittstelle für die Datenkommunikationen zwischen den jeweiligen Taktregionen darstellt. Die geteilte Pufferanordnung mit zwei Takten beinhaltet eine erste Verarbeitungsschaltung, die sich in einer Quellentaktregion befindet, und eine zweite Verarbeitungsschaltung, die sich in einer Empfangstaktregion befindet. Die Quellen- und die Empfangstaktregion verwenden jeweils einen Quellen- bzw. einen Empfangstakt, die zwischen den Regionen nicht synchron sind. Nach einem ersten Gesichtspunkt der vorliegenden Erfindung ist der Empfangstakt bei einer niedrigeren Frequenz als der Quellentakt tätig, so dass die Daten dazu neigen, sich periodisch in der Pufferanordnung anzusammeln. Eine Takterzeugungsschaltung erzeugt ein Sendetaktsignal, wobei das Sendetaktsignal mit dem Quellentakt synchron ist.
  • Die erste Verarbeitungsschaltung verknüpft Daten, die ihren Ursprung in Schaltungen der Quellentaktregion haben, mit einer Schreib-Adress-Information von einer Schreibzeigereinrichtung, die sich ebenfalls in der Quellentaktregion befindet, und sendet die Daten mit der verknüpften Schreib-Adress-Information dann zur zweiten Verarbeitungsschaltung. Das Sendetaktsignal wird ebenfalls von der Quellentaktregion zur Empfangstaktregion gesendet, wobei es die Daten und die verknüpften Schreib-Adress-Information begleitet.
  • Nach einem Gesichtspunkt der vorliegenden Erfindung wird zusätzlich ein Datensteuersignal (d.h., ein Schreibsignal) von der Quellentaktregion zur Empfangstaktregion gesendet. Die zweite Verarbeitungsschaltung schreibt die Daten als Reaktion auf das Datensteuersignal an eine Adresse, die ein Speicherelement angibt, wobei die angegebene Adresse mit der verknüpften Schreib-Adress-Information übereinstimmt. Die Daten werden durch die zweite Verarbeitungsschaltung in Synchronisation mit dem begleitenden Sende taktsignal in das Speicherelement getaktet und anschließend in Synchronisation mit dem Empfangstakt aus dem Speicherelement gelesen.
  • Nach einem Gesichtspunkt der vorliegenden Erfindung werden quellensynchrone Schreibbefehle über eine Taktregionengrenze, möglicherweise eine verhältnismäßig lange physische Entfernung (z.B. zumindest eine Größenordnung länger als Entfernungen, die von Signalen innerhalb einer der Taktregionen überquert werden), gesendet. Die Anzahl der elektrischen Signalwege, die die Taktregionengrenze überqueren, ist ungefähr der Anzahl der Datenbits (d.h., der Breite der FIFO) plus dem Doppelten der Anzahl der Adressbits, plus zwei für das Takt- und das Datensteuersignal, und, für jeden der jeweiligen Zähler, einem Bit zur Unterscheidung zwischen voll und leer gleich. Die Menge der benötigten elektrischen Signalwege hängt von der Tiefe des Speicherelements der Pufferfunktion ab. Wenn die Tiefe des Speicherelements eine Potenz von Zwei ist, kann ein "rundes" Gray-Code-Adressschema mit den begleitenden Leistungsfähigkeiten eingesetzt werden. Ein Gray-codierter Schreibzähler und Lesezähler werden verwendet, um die gegenwärtigen Adressen für jede Funktion im Speicherelement zu verfolgen. Die Höchstmenge der elektrischen Signalwege, die benötigt werden, um die Grenze zu überqueren, kann als N + 2 ⌈log2(M)⌉ + 4 elektrische Signalwege ausgedrückt werden, wobei N die Anzahl der Datenbits (d.h., die Breite des Speicherelements) ist, M die Anzahl der Stellen im Speicherelement (d.h., die Tiefe des Speicherelements) ist, wobei M eine Potenz von 2 ist, und ein Gray-Code-Adressierungsschema verwendet wird, und die vier zusätzlichen Bits jeweils für das Taktsignal, das Datensteuersignal, die Voll/Leer-Schreibzähler-Differenziereinrichtung, und die Voll/Leer-Lesezähler-Differenziereinrichtung verwendet werden. Wenn der Puffer zum Beispiel 32 Bit breit und 32 Stellen tief ist, ist die Menge der elektrischen Signalwege, die die Taktregionengrenze überqueren, 32 + 2·⌈log2(32)⌉ + 4 = 32 + 2·5 + 4 = 46, wobei "⌈⌉" den aufgerundeten Wert für die Fähigkeit der Adressierung aller Bits bezeichnet.
  • Wenn die Tiefe des Speicherelements keine Potenz von Zwei ist (und somit eine Gray-Code-Adressabfolge Adress"lücken" aufweisen wird) sind Gray-Code-Werte für den Lese- und den Schreibzeiger nicht gut zur Verwendung als Speicherelementadressen geeignet und müssen zusätzlich zur Schreib-Adress-Information und davon gesondert Gray-Code-Zeiger gesendet werden. Die Gray-Code-Zeigerinformation erhöht die Anzahl der elektrischen Signalwege um ein Ausmaß, das nötig ist, um einen weiteren Satz von Adressbits unterzubringen. Falls die Speicherelementtiefe keine Potenz von Zwei ist, kann die Höchstmenge der elektrischen Signalwege, die benötigt werden, um die Grenze zu überque ren, als N + 3·⌈log2(M)⌉ + 4 elektrische Signalwege ausgedrückt werden, wobei N die Anzahl der Datenbits ist, M die Tiefe des Speicherelements ist, wobei M keine Potenz von Zwei ist, und die anderen vier Bits für die oben besprochene Signalisierung verwendet werden. 1 veranschaulicht einen integrierten Schaltungschip 100 der vorliegenden Erfindung, der mehrere Taktregionen, Taktregion A 110, Taktregion B 120, bzw. Taktregion C 130, aufweist. Die Taktregionengrenze AB 115 befindet sich zwischen den Taktregionen A und B, die Taktregionengrenze BC 125 befindet sich zwischen den Taktregionen B und C, und die Taktregionengrenze AC 135 befindet sich zwischen den Taktregionen A und C. Bidirektionale parallele Datenkommunikationen überqueren jede der Taktregionengrenzen, wie durch jede Gruppe von Datenflusspfeilen veranschaulicht ist. Zum Beispiel gibt der Pfeil 140 parallele Daten- und Adress-Informationen an, gibt der Pfeil 142 ein Taktsignal an, und gibt der Pfeil 144 ein Datensteuersignal an.
  • Jede Taktregion könnte über die Taktregion hinweg eine einzelne Taktfrequenz benutzen, oder alternativ mehrere synchrone Taktsignale beinhalten. Zum Beispiel beinhaltet die Taktregion A zwei Taktfrequenzen, Takt A1 150 und A2 160. Jede Taktregion ist unabhängig von den anderen Taktregionen getaktet, und die Taktsignale für jede Taktregion können möglicherweise nicht mit Taktsignalen der anderen Taktregionen synchron sein. Zusätzlich kann jede Taktregion Taktsignale mit einzigartigen Frequenzen beinhalten, die sich in den anderen Taktregionen nicht finden. Datenkommunikationen über die Taktregionengrenze AB sind in der Taktregion A zu Schaltungen gerichtet, die gemäß Takt A1 tätig sind. Datenkommunikationen über die Taktregionengrenze AC sind in der Taktregion A zu Schaltungen gerichtet, die gemäß Takt A2 tätig sind.
  • Die Taktregion, von der Daten über eine Taktregionengrenze fließen, wird als eine Quellentaktregion bezeichnet, und die Taktregion, zu der die Daten über die Taktregionengrenze fließen, wird als eine Empfangstaktregion bezeichnet. Zum Beispiel haben in 1 Daten wie durch den Pfeil 122 angegeben ihren Ursprung in der Taktregion B (d.h., der Quellentaktregion), und werden sie durch eine erste Verarbeitungsschaltung 124 in der Quellentaktregion erhalten. Die Daten fließen wie durch den Pfeil 140 veranschaulicht über die Taktregionengrenze AB 115 zu einer zweiten Verarbeitungsschaltung 112 und anschließend wie durch den Pfeil 114 angegeben aus der zweiten Verarbeitungsschaltung 112 zu Schaltungen, die sich in der Taktregion A befinden. Abhängig von der Ausführung können Daten in eine oder in beide Richtungen über die Taktregionengrenze AB, und optional über andere Taktregionengrenzen fließen, wie in 1 weiter angegeben ist.
  • 2 ist ein Blockdiagramm einer beispielhaften Ausführungsform der vorliegenden Erfindung 200 und veranschaulicht eine erste Verarbeitungsschaltung 224, die sich in einer Quellentaktregion 220 befindet. Eine zweite Verarbeitungsschaltung 212 befindet sich in einer Empfangstaktregion 210. Die Taktregionengrenze 215 befindet sich zwischen der Quellen- und der Empfangstaktregion. Die Quellentaktregion stellt der Quellentaktklemme 270 ein Quellentaktsignal (oder einen Schreibtakt, "clkw") bereit, und die erste Verarbeitungsschaltung arbeitet synchron mit dem Quellentakt. Die Empfangstaktregion stellt der Empfangstaktklemme 280 ein Empfangstaktsignal (oder einen Lesetakt, "clkr") bereit, und die zweite Verarbeitungsschaltung arbeitet synchron mit dem Empfangstakt.
  • Die erste Verarbeitungsschaltung beinhaltet einen quellensynchronen Sendelogik-Abschnitt 226, und einen Schreibzähler- und schreibsynchronen Markierungslogik-Abschnitt 228. Die Sendelogik 226 erhält Daten, die zur Empfangstaktregion kommuniziert werden sollen, über einen Dateneingangssignalweg 222, erhält eine Schreib-Adress-Information über einen Schreibadressen("waddtr")signalweg 221, und ein Datensteuer("z.B. Schreib)signal über einen Schreib("wenable")signalweg 223. Die erste Verarbeitungsschaltung ist dazu geeignet, die Daten mit der zugehörigen Schreib-Adress-Information zu verknüpfen und die Daten mit der verknüpften Schreib-Adress-Information durch einen parallelen Kommunikationskanal zur zweiten Verarbeitungsschaltung zu senden. Die Daten werden über einen Datensignalweg ("ss_data") 240D gesendet und die verknüpfte Schreib-Adress-Information wird über einen Adressensignalweg ("ss_addr") 240A gesendet, wenn die Tiefe des Speicherelements keine Potenz von zwei ist. Die erste Verarbeitungsschaltung erhält den Quellentakt und andere Informationssignale von Schaltungen in der Quellentaktregion und erzeugt wie in 2 veranschaulicht Markierungen und andere Steuersignale an Schaltungen in der Quellentaktregion.
  • Die erste Verarbeitungsschaltung ist dazu geeignet, ein quellensynchrones Sendetaktsignal zu erzeugen, das mit dem Quellentakt synchron ist. Das quellensynchrone Sendetaktsignal wird über einen Taktsignalweg ("ss_clk") 242 zur zweiten Verarbeitungsschaltung kommuniziert. Die Sendelogik 226 ist ferner dazu geeignet, das Datensteuersignal über einen Datensteuersignalweg ("ss_wenable") 244 zur zweiten Verarbeitungsschaltung zu senden.
  • Die zweite Verarbeitungsschaltung beinhaltet ein Speicherelement 290 und einen Lesezähler- und lesesynchronen Markierungslogik-Abschnitt 292. Nach einem Gesichtspunkt der vorliegenden Erfindung ist das Speicherelement eine FIFO-Speicheranordnung, wobei die FIFO über einen kompilierten Speicher ausgeführt ist. Die FIFO 290 ist alternativ über eine Registerdatei ausgeführt, die aus Zwischenspeichern aufgebaut ist, durch eine Gestaltung von Flipflops ausgeführt, oder als ein anderer Datenspeicheraufbau ausgeführt. Ein Gray-Code-Schreibzeigersignal wird über einen Gray-Code-Schreibzeigersignalweg ("Gray_Wr_Ptr"), und ein Gray-Code-Lesezeigersignal über einen Gray-Code-Lesezeigersignalweg ("Gray_Rd_Ptr") wie nötig zwischen der ersten und der zweiten Verarbeitungsschaltung kommuniziert.
  • Die zweite Verarbeitungsschaltung erhält die Daten mit der verknüpften
  • Schreib-Adress-Information, den Datensteuersignalen, und dem Sendetaktsignal durch die oben beschriebenen Signalwege. Die zweite Verarbeitungsschaltung erhält wie in 2 veranschaulicht den Empfangstakt und andere Signale von Schaltungen in der Empfangstaktregion. Die Daten werden an eine Adresse, die mit der verknüpften Schreib-Adress-Information übereinstimmt, in das Speicherelement 290 geschrieben, wobei die Daten in Synchronisation mit dem begleitenden Sendetaktsignal in das Speicherelement getaktet werden. Die Schreibtätigkeiten erfolgen, wie herkömmlich bekannt, als Reaktion auf das begleitende Datensteuer(z.B. Schreib)signal.
  • Der Lesezähler- und lesesynchrone Markierungslogik-Abschnitt 292 erhält ein Lesesignal ("rd"), optionale Steuer- und Markierungsinformationen, erzeugt passende Markierungssignale, und unterhält ein Leseadressen("Raddr")signal, das ein Speicherelement angibt, aus dem Daten aus dem Speicherabschnitt 290 gelesen werden. Die Daten werden in Synchronisation mit dem Empfangstakt zu einem Datenausgang("do")signalweg 214 aus dem Speicherelement 290 getaktet, wobei sie durch ein optionales Register 216 verlaufen.
  • 3A ist ein Schaltbild einer beispielhaften Ausführungsform der vorliegenden Erfindung 300. Ein Treiberlogikschaltungsabschnitt 324 einer ersten Verarbeitungsschaltung befindet sich in einer Quellentaktregion und "fängt" Daten, Adress- und Steuerinformationen in jeweiligen Pipeline-Registern. Die Treiberlogikschaltung 324 erhält über einen Quellentaktsignalweg 370 ein Quellentaktsignal (den Quellentakt oder "clk"). Jedes der Flipflops der Treiberschaltung 324 wird wie gezeigt durch den Quellentakt getaktet. Die Daten werden durch die Treiberschaltung über einen Datensignalweg 322 erhalten und durch ein Datenflipflop 327 auf einen quellensynchronen Datensignalweg ("ss_data") 340D getaktet. Die Schreib-Adress-Information wird durch die Treiberschaltung über einen Schreib-Adressensignalweg 321 erhalten und durch ein Adressenflipflop 325 auf einen quellensynchronen Adressensignalweg ("ss_addr") 340A getaktet. Ein Datensteuer(z.B. Schreibsignal ("we_n") wird durch ein Datensteuerflipflop 329 auf einen quellensynchronen Datensteuersignalweg ("ss_we_n") 344 getaktet. Eine Sendetakterzeugungsschaltung 331 erzeugt ein mit dem Quellentakt synchrones Sendetaktsignal auf einen quellentaktsynchronen Sendetaktsignalweg ("ss_clk") 342. Der Sendetakt ist im Wesentlichen ein umgekehrter Quellentakt, wird aber typischerweise NICHT durch einen Inverter, sondern statt dessen unter Verwendung einer Technik, die der für die Sendetakterzeugungsschaltung 331 gezeigten ähnlich ist, erzeugt, was auch eine gewisse nicht unbedeutende Phasenverzögerung in Bezug auf das Quellentaktsignal in den Sendetakt einbringt.
  • Das Daten-, das Adress- und das Datensteuersignal werden unter Verwendung des Schreibtakts abgetastet und über die quellensynchrone Schnittstelle gesendet. 3B ist ein Zeittaktdiagramm, das eine beispielhafte Ausführungsform von repräsentativen Signalen veranschaulicht, die wie oben beschrieben durch die Treiberlogikschaltung 324 von 3A erzeugt werden. Das Signal 370' ist für ein Quellentaktsignal auf dem Quellentaktsignalweg 370 repräsentativ. Das Signal 342' ist für ein Sendetaktsignal auf dem quellensynchronen Sendetaktsignalweg ("ss_clk") 342 repräsentativ. Das Signal 340' ist für die Signale, die dem Datensteuersignalweg ("ss_we_n") 344 entsprechen, und auch das Daten- und das Adressensignal auf dem quellensynchronen Daten- bzw. Adressensignalweg ("ss_data") 340D bzw. ("ss_addr") 340A repräsentativ.
  • Unter erneuter Bezugnahme auf 3A erhält ein Empfängerlogikschaltungsabschnitt 312 einer zweiten Verarbeitungseinheit das gesendete Daten-, Adressen-, Datensteuer- bzw. Sendetaktsignal, nachdem sie die Taktregionengrenze 315 überquert haben. Jedes der Flipflops der Empfängerschaltung 312 ist wie gezeigt durch den quellentaktsynchronen Sendetakt getaktet. Der Sendetakt taktet auch das FIFO-Speicherelement der zweiten Verarbeitungsschaltung (nicht gezeigt). Die Daten werden durch die Empfängerschaltung über den quellensynchronen Datensignalweg ("ss_data") 340D erhalten und durch ein Empfangs-Datenflipflop 395 zum FIFO-Speicherelement getaktet. Die Schreib-Adress-Information wird durch die Empfängerschaltung über den quellensynchronen Schreibadressensignalweg ("ss_addr") 340A erhalten und durch ein Empfangs-Adressenflipflop 397 zur FIFO getaktet. Das Datensteuer(z.B. Schreibsignal wird durch die Empfängerschaltung über den quellensynchronen Datensteuersignalweg ("ss_we_n") erhalten und durch ein Empfangs-Datensteuerflipflop 399 zur FIFO getaktet. Das Gleichgewicht des FIFO-Speicherelements und seine Steuerung können wohlbekannten Gestaltungspraktiken für derartige Datenspeichereinrichtungen folgen.
  • Eine andere beispielhafte Ausführung der vorliegenden Erfindung zielt auf eine bedeutende Verringerung der Leistung während Zeiträumen, in denen keine Daten über die Taktregionengrenze geschrieben werden, ab. Wenn keine Daten über die Taktregionengrenze geschrieben werden, muss das Sendetaktsignal 342 von 3A nicht erzeugt werden, und muss der inaktive FIFO-Datenspeicherschaltungsaufbau nicht durch das Sendetaktsignal umgeschaltet/angetrieben werden. Dieses Taktdeaktivierungsmerkmal kann zum Beispiel durch Ersetzen des Inverters am D-Eingang des oberen Flipflops der Sendetakterzeugungsschaltung 331 durch ein Exklusiv-NOR-Gatter (XNOR-Gatter), das einen zweiten Eingang aufweist, der mit dem Datensteuersignalweg 323 verbunden ist, ausgeführt werden. Auf diese Weise wird das Sendetaktsignal 342 automatisch angehalten, sofern es nicht zu einem Schreiben in die FIFO kommt. Ein zusätzlicher Vorteil ist eine Verringerung der Leistung, die mit den möglicherweise langen Busleitungen verbunden ist, welche die Taktregionen verbinden; da diese Busleitungen einen verhältnismäßig hohen kapazitiven Widerstand offenbaren können, verringert das Deaktivieren des Sendetaktsignals den normalerweise vorhandenen Antriebsstrom.
  • Obwohl die vorliegende Erfindung unter Bezugnahme auf mehrere bestimmte beispielhafte Ausführungsformen beschrieben wurde, werden Fachleute erkennen, dass daran viele Änderungen vorgenommen werden können. Zum Beispiel ist das Verfahren der vorliegenden Erfindung auf entfernte Informationspufferanordnungen mit einer von der Puffereingangsrate unterschiedlichen Pufferausgangsrate, bei denen beim Ausdehnen eines Schreibtaktungssignals zum Puffer ein Versatz eine Sorge darstellt, anwendbar.
  • Ausführungsform der Erfindung:
  • Eine Schaltungsanordnung zur Weitergabe von Daten von einer Quellentaktregion zu einer Empfangstaktregion, wobei die Quellen- und die Empfangstaktregion jeweils einen Quellen- bzw. einen Empfangstakt verwenden, die nicht synchron sind, wobei das Verfahren Folgendes umfasst:
    • – einen ersten Taktgenerator, der dazu geeignet ist, in der Quellentaktregion ein Sendetaktsignal zu erzeugen, wobei das Sendetaktsignal mit dem Quellentakt synchron ist;
    • – eine erste Verarbeitungsschaltung, die dazu geeignet, ist, in der Quellentaktregion eine Schreib-Adress-Information mit Daten zu verknüpfen und die Daten mit der verknüpften Schreib-Adress-Information und dem Sendetaktsignal zur Empfangstaktregion zu senden;
    • – eine zweite Verarbeitungsschaltung in der Empfangstaktregion, die dazu geeignet ist, die Daten an eine Adresse zu schreiben, die ein Speicherelement angibt, wobei die angegebene Adresse mit der verknüpften Schreib-Adress-Information übereinstimmt, wobei sich das Speicherelement in der Empfangstaktregion befindet und die Daten in Synchronisation mit dem Sendetaktsignal in das Speicherelement getaktet werden; und
    • – wobei die zweite Verarbeitungsschaltung ferner dazu geeignet ist, die Daten in Synchronisation mit dem Empfangstakt aus dem Speicherelement zu lesen.
  • In der Schaltungsanordnung ist die erste Verarbeitungsschaltung ferner dazu geeignet, ein Datensteuersignal von der Quellentaktregion zum Speicherelement in der Empfangstaktregion zu senden, wobei das Speicherelement dazu geeignet ist, die Daten als Reaktion auf ein Datensteuersignal zu empfangen.
  • Die Schaltungsanordnung umfasst ferner höchstens N + 2·⌈log2(M)⌉ + 4 elektrische Signalwege, die zwischen der ersten und der zweiten Verarbeitungsschaltung gekoppelt sind, um die Daten mit der verknüpften Schreib-Adress-Information zu kommunizieren, wobei die Daten N Bit breit sind, das Speicherelement M Stellen tief ist, und M eine Potenz von 2 ist.
  • Die Schaltungsanordnung umfasst ferner höchstens N + 3·⌈log2(M)⌉ + 4 elektrische Signalwege, die zwischen der ersten und der zweiten Verarbeitungsschaltung gekoppelt sind, um die Daten mit der verknüpften Schreib-Adress-Information zu kommunizieren, wobei die Daten N Bit breit sind, das Speicherelement M Stellen tief ist, und M keine Potenz von 2 ist.
  • Die Schaltungsanordnung umfasst ferner eine Schaltung, die dazu geeignet ist, das Sendetaktsignal während Zeiträumen, in denen die erste Verarbeitungsschaltung die Daten mit der verknüpften Schreib-Adress-Information nicht sendet, zu deaktivieren.
  • 1
  • CLK A1
    Takt A1
    Clock Domain A
    Taktregion A
    CLK A2
    Takt A2
    Clock Domain B
    Taktregion B
    Clock Domain C
    Taktregion C
  • 2
  • di
    Dateneingang
    rstw_n
    rstw_n
    opt ctrl & flags
    optionale Steuer und Markierungsinformationen
    flags
    Markierungen
    wr
    Schreibsignal
    clkw
    Quellentaktsignal
    Source Synch Transmit Logic
    quellensynchrone Sendelogik
    waddr
    Schreibadressensignal
    wenable
    Schreibsignal
    Write Counter And Write-Synch Flag Logic
    Schreibzähler und schreibsynchrone Markierungslogik
    Synchronous to CLKW
    in Synchronisation mit dem Schreibtakt
    Source Clock Domain
    Quellentaktregion
    ss_data
    Datensignalweg
    ss_addr
    Adressensignalweg
    ss_wenable
    Datensteuersignalweg
    ss_clk
    Taktsignalweg
    gray_wr_ptr
    Gray-Code-Schreibzeigersignalweg
    gray_rd_ptr
    Gray-Code-Lesezeigersignalweg
    FIFO Storage
    FIFO-Speicher
    (RAM, RegF,Or Flops)
    (RAM, Registerdatei oder Flops)
    Optional Reg
    optionales Register
    raddr
    Leseadressensignal
    Read Counter and Read-Synch Flag Logic
    Lesezähler und lesesynchrone Markierungslogik
    Synchronous to CLKR
    in Synchronisation mit dem Lesetakt
    Receive Clock Domain
    Empfangstaktregion
    do
    Datenausgang
    rstr_n
    rstr_n
    opt ctrl & flags
    optionale Steuer und Markierungsinformationen
    flags
    Markierungen
    rd
    Lesesignal
    clkr
    Lesetaktsignal
  • 3A
  • Driver Logic Circuit
    Treiberlogikschaltung
    addr
    Schreibadressensignalweg
    data
    Datensignalweg
    we_n
    Datensteuersignalweg
    clk
    Quellentaktsignal
    ss-addr
    quellensynchroner Adressensignalweg
    ss_data
    quellensynchroner Datensignalweg
    ss_we_n
    quellensynchroner Datensteuersignalweg
    ss_clk
    quellensynchroner Sendetaktsignalweg
    Source Clock Domain
    Quellentaktregion
    Receiver Logic Circuit
    Empfängerlogikschaltung
    To FIFO
    an FIFO
    Receive Clock Domain
    Empfangstaktregion
  • 3B
  • CLK
    Takt
    SS_DATA_SS_ADDR
    quellensynchroner Datensignalweg, quellensynchroner Adressensignalweg
    SS_WE_N
    quellensynchroner Datensteuersignalweg
    SS_CLK
    quellensynchroner Sendetaktsignalweg

Claims (10)

  1. Verfahren zur Weitergabe von Daten von einer Quellentaktregion (220) zu einer Empfangstaktregion (210), wobei die Quellen- und die Empfangstaktregion jeweils einen Quellen- bzw. einen Empfangstakt verwenden, die nicht synchron sind, wobei das Verfahren Folgendes umfasst: – Verknüpfen einer Schreib-Adress-Information (240A) in der Quellentaktregion mit Daten (240D); – Erzeugen eines Sendetaktsignals (242) in der Quellentaktregion, wobei das Sendetaktsignal mit dem Quellentakt (270) synchron ist; – Senden der Daten mit der verknüpften Schreib-Adress-Information und dem Sendetaktsignal zur Empfangstaktregion; – Schreiben der Daten an eine Adresse, die ein Speicherelement (290) angibt, wobei die angegebene Adresse mit der verknüpften Schreib-Adress-Information übereinstimmt, wobei sich das Speicherelement in der Empfangstaktregion befindet und die Daten in Synchronisation mit dem Sendetaktsignal in das Speicherelement getaktet werden; und – Lesen der Daten in Synchronisation mit dem Empfangstakt (280) aus dem Speicherelement.
  2. Verfahren nach Anspruch 1, wobei der Empfangstakt (280) bei einer niedrigeren Frequenz als der Quellentakt (270) tätig ist.
  3. Verfahren nach Anspruch 1, ferner umfassend: – Kommunizieren eines Datensteuersignals (244) von der Quellentaktregion zum Datenspeicherelement (270), wobei das Datensteuersignal mit dem Sendetaktsignal (242) synchron ist; und – Empfangen der Daten im Datenspeicherelement als Reaktion auf das Datensteuersignal.
  4. Verfahren nach Anspruch 3, wobei das Datensteuersignal ein Schreibsignal ist.
  5. Verfahren nach Anspruch 1, wobei das Sendetaktsignal ein umgekehrtes Quellentaktsignal ist.
  6. Verfahren nach Anspruch 1, ferner umfassend das Fangen der Daten in der Quellentaktregion in einem Pipeline-Register.
  7. Verfahren nach Anspruch 6, wobei der Empfangstakt bei einer höheren Frequenz als der Quellentakt tätig ist.
  8. Verfahren nach Anspruch 1, wobei die Daten N Bit breit sind und das Speicherelement M Stellen tief ist, und die Daten mit der verknüpften Schreib-Adress-Information unter Verwendung von höchstens N + 2⌈log2(M)⌉ + 4 elektrischen Signalwegen kommuniziert wird, wobei N eine ganze Zahl ist, und M eine Potenz von 2 ist.
  9. Verfahren nach Anspruch 1, wobei die Daten N Bit breit sind und das Speicherelement M Stellen tief ist, und die Daten mit der verknüpften Schreib-Adress-Informationen unter Verwendung von höchstens N + 3·⌈log2(M)⌉ + 4 elektrischen Signalwegen kommuniziert wird, wobei M und N ganze Zahlen sind, und M keine Potenz von 2 ist.
  10. Schaltungsanordnung zur Weitergabe von Daten von einer Quellentaktregion (220) zu einer Empfangstaktregion (210), wobei die Quellen- und die Empfangstaktregion jeweils einen Quellen- bzw. einen Empfangstakt verwenden, die nicht synchron sind, wobei die Schaltungsanordnung Folgendes umfasst: – ein Mittel (224), um in der Quellentaktregion eine Schreib-Adress-Information (240A) mit Daten (240D) zu verknüpfen; – ein Mittel (224), um in der Quellentaktregion ein Sendetaktsignal (242) zu erzeugen, wobei das Sendetaktsignal mit dem Quellentakt (270) synchron ist; – ein Mittel (224), um die Daten mit der verknüpften Schreib-Adress-Information und dem Sendetaktsignal zur Empfangstaktregion zu senden; – ein Mittel (212), um die Daten an eine Adresse zu schreiben, die ein Speicherelement (290) angibt, wobei die angegebene Adresse mit der verknüpften Schreib-Adress-Information übereinstimmt, wobei sich das Speicherelement in der Empfangstaktregion befindet und die Daten in Synchronisation mit dem Sendetaktsignal in das Speicherelement getaktet werden; und – ein Mittel (212), um die Daten in Synchronisation mit dem Empfangstakt (280) aus dem Speicherelement zu lesen.
DE60216803T 2001-10-31 2002-10-02 Fifo als übergang von taktregionen Expired - Lifetime DE60216803T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US999007 1997-12-29
US09/999,007 US7187741B2 (en) 2001-10-31 2001-10-31 Clock domain crossing FIFO
PCT/IB2002/004076 WO2003039061A2 (en) 2001-10-31 2002-10-02 Clock domain crossing fifo

Publications (2)

Publication Number Publication Date
DE60216803D1 DE60216803D1 (de) 2007-01-25
DE60216803T2 true DE60216803T2 (de) 2007-11-15

Family

ID=25545764

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60216803T Expired - Lifetime DE60216803T2 (de) 2001-10-31 2002-10-02 Fifo als übergang von taktregionen

Country Status (6)

Country Link
US (1) US7187741B2 (de)
EP (1) EP1442550B1 (de)
JP (1) JP4042856B2 (de)
AT (1) ATE348455T1 (de)
DE (1) DE60216803T2 (de)
WO (1) WO2003039061A2 (de)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11736065B2 (en) 2021-10-07 2023-08-22 Microchip Technology Inc. Method and apparatus for conveying clock-related information from a timing device
US11799626B2 (en) 2021-11-23 2023-10-24 Microchip Technology Inc. Method and apparatus for carrying constant bit rate (CBR) client signals
US11838111B2 (en) 2021-06-30 2023-12-05 Microchip Technology Inc. System and method for performing rate adaptation of constant bit rate (CBR) client data with a variable number of idle blocks for transmission over a metro transport network (MTN)
US11916662B2 (en) 2021-06-30 2024-02-27 Microchip Technology Inc. System and method for performing rate adaptation of constant bit rate (CBR) client data with a fixed number of idle blocks for transmission over a metro transport network (MTN)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7269754B2 (en) * 2002-12-30 2007-09-11 Intel Corporation Method and apparatus for flexible and programmable clock crossing control with dynamic compensation
US7366935B1 (en) 2003-04-01 2008-04-29 Extreme Networks, Inc. High speed bus with alignment, re-timing and buffer underflow/overflow detection enhancements
US7272672B1 (en) 2003-04-01 2007-09-18 Extreme Networks, Inc. High speed bus with flow control and extended burst enhancements between sender and receiver wherein counter is maintained at sender for free buffer space available
KR100522433B1 (ko) 2003-04-29 2005-10-20 주식회사 하이닉스반도체 도메인 크로싱 회로
US7698588B2 (en) * 2003-05-15 2010-04-13 International Business Machines Corporation Circuit and related method for synchronizing data signals to a core clock
EP1676391B1 (de) * 2003-06-25 2011-05-18 Nxp B.V. Verlustloser transfer von ereignissen über taktdomänen hinweg
US7248661B1 (en) 2003-08-26 2007-07-24 Analog Devices, Inc. Data transfer between phase independent clock domains
TWI267871B (en) 2004-01-10 2006-12-01 Hynix Semiconductor Inc Domain crossing device
US7376855B1 (en) * 2004-05-20 2008-05-20 Sun Microsystems, Inc. Fully stable clock domain synchronization technique for input/output data transmission
JP4291225B2 (ja) * 2004-06-30 2009-07-08 富士通株式会社 パラレルデータを受信する装置および方法
US7084680B2 (en) * 2004-08-31 2006-08-01 Micron Technology, Inc. Method and apparatus for timing domain crossing
US7380229B2 (en) * 2005-06-13 2008-05-27 Lsi Corporation Automatic generation of correct minimal clocking constraints for a semiconductor product
KR100670654B1 (ko) * 2005-06-30 2007-01-17 주식회사 하이닉스반도체 도메인 크로싱 마진을 증가시키기 위한 반도체메모리소자
ATE496469T1 (de) 2005-11-04 2011-02-15 Nxp Bv Ausrichtung und entzerrung für mehrfache spuren einer seriellen verbindung
US8015382B1 (en) * 2007-02-28 2011-09-06 Altera Corporation Method and apparatus for strobe-based source-synchronous capture using a first-in-first-out unit
US8775701B1 (en) * 2007-02-28 2014-07-08 Altera Corporation Method and apparatus for source-synchronous capture using a first-in-first-out unit
US7594047B2 (en) * 2007-07-09 2009-09-22 Hewlett-Packard Development Company, L.P. Buffer circuit
US8584067B2 (en) * 2010-11-02 2013-11-12 Advanced Micro Devices, Inc. Clock domain crossing buffer
US8949448B1 (en) 2011-01-27 2015-02-03 Integrated Device Technology, Inc. System and method for improving the timestamp precision in a precision time protocol (PTP) device
TWI462493B (zh) * 2011-02-17 2014-11-21 Realtek Semiconductor Corp 跨時脈域之干擾消除裝置及方法
TWI437411B (zh) * 2011-03-14 2014-05-11 Realtek Semiconductor Corp 用於時脈樹轉換處的先入先出(fifo)裝置與方法
US8918666B2 (en) * 2011-05-23 2014-12-23 Intel Mobile Communications GmbH Apparatus for synchronizing a data handover between a first and second clock domain through FIFO buffering
US8826062B2 (en) 2011-05-23 2014-09-02 Intel Mobile Communications GmbH Apparatus for synchronizing a data handover between a first clock domain and a second clock domain through phase synchronization
US8898502B2 (en) * 2011-07-05 2014-11-25 Psion Inc. Clock domain crossing interface
CN102880441B (zh) * 2011-07-12 2015-06-10 瑞昱半导体股份有限公司 先入先出装置及其实现方法
US8904221B2 (en) * 2011-12-22 2014-12-02 Lsi Corporation Arbitration circuitry for asynchronous memory accesses
US9330740B1 (en) 2013-12-18 2016-05-03 Altera Corporation First-in first-out circuits and methods
US11128742B2 (en) 2019-03-08 2021-09-21 Microsemi Storage Solutions, Inc. Method for adapting a constant bit rate client signal into the path layer of a telecom signal
US10972084B1 (en) 2019-12-12 2021-04-06 Microchip Technology Inc. Circuit and methods for transferring a phase value between circuits clocked by non-synchronous clock signals
US11323123B2 (en) 2019-12-20 2022-05-03 Microchip Technology Inc. Circuit to correct phase interpolator rollover integral non-linearity errors
US10917097B1 (en) 2019-12-24 2021-02-09 Microsemi Semiconductor Ulc Circuits and methods for transferring two differentially encoded client clock domains over a third carrier clock domain between integrated circuits
US11239933B2 (en) 2020-01-28 2022-02-01 Microsemi Semiconductor Ulc Systems and methods for transporting constant bit rate client signals over a packet transport network
US11424902B2 (en) 2020-07-22 2022-08-23 Microchip Technology Inc. System and method for synchronizing nodes in a network device
CN112965689B (zh) * 2021-02-26 2023-05-09 西安微电子技术研究所 一种基于源同步的分布式异步fifo数据交互方法及fifo结构

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4873703A (en) * 1985-09-27 1989-10-10 Hewlett-Packard Company Synchronizing system
US5452434A (en) * 1992-07-14 1995-09-19 Advanced Micro Devices, Inc. Clock control for power savings in high performance central processing units
US6209053B1 (en) * 1998-08-28 2001-03-27 Intel Corporation Method and apparatus for operating an adaptive multiplexed address and data bus within a computer system
US6370600B1 (en) * 1999-05-25 2002-04-09 Advanced Micro Devices, Inc. Staging buffer for translating clock domains when source clock frequency exceeds target clock frequency

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11838111B2 (en) 2021-06-30 2023-12-05 Microchip Technology Inc. System and method for performing rate adaptation of constant bit rate (CBR) client data with a variable number of idle blocks for transmission over a metro transport network (MTN)
US11916662B2 (en) 2021-06-30 2024-02-27 Microchip Technology Inc. System and method for performing rate adaptation of constant bit rate (CBR) client data with a fixed number of idle blocks for transmission over a metro transport network (MTN)
US11736065B2 (en) 2021-10-07 2023-08-22 Microchip Technology Inc. Method and apparatus for conveying clock-related information from a timing device
US11799626B2 (en) 2021-11-23 2023-10-24 Microchip Technology Inc. Method and apparatus for carrying constant bit rate (CBR) client signals

Also Published As

Publication number Publication date
JP4042856B2 (ja) 2008-02-06
EP1442550A2 (de) 2004-08-04
WO2003039061A2 (en) 2003-05-08
EP1442550B1 (de) 2006-12-13
US7187741B2 (en) 2007-03-06
WO2003039061A3 (en) 2003-10-23
JP2005507608A (ja) 2005-03-17
ATE348455T1 (de) 2007-01-15
DE60216803D1 (de) 2007-01-25
US20030081713A1 (en) 2003-05-01

Similar Documents

Publication Publication Date Title
DE60216803T2 (de) Fifo als übergang von taktregionen
DE69833708T2 (de) Kommunikationsverfahren für eine medienunabhängige Schnittstelle (MII) für ein hochintegriertes Ethernet-Netzelement
DE69116249T2 (de) Wiederholer
DE4307449C2 (de) Verfahren und Schaltung zur Resynchronisation einer synchronen seriellen Schnittstelle
DE3688786T2 (de) Apparat und zugehöriges Verfahren für das Konvertieren von Signalen mit einem Seriendatenmuster, übertragen oder geeignet für eine Übertragung über ein synchrones Serienübertragungsmittel mit hoher Informationsgeschwindigkeit in Ausgangssignale mit einem Parallelmuster.
DE60027038T2 (de) Bussystem optimierung
DE112007002619B4 (de) Speichersteuerung mit einer Speicherverbindung mit zwei Betriebsmodi
DE102006029742A1 (de) Halbleiterspeichersystem
DE69115898T2 (de) Quasisynchronen Informationsübertragung mit Phasenausgleichvorrichtung
DE102006035612B4 (de) Speicherpuffer, FB-DIMM und Verfahren zum Betrieb eines Speicherpuffers
DE69831891T2 (de) Optischer Rechnerbus mit dynamischer Bandbreitenzuordnung
DE102007060805B4 (de) Speichersteuerung und Computersystem mit derselben sowie Verfahren zur Steuerung eines Speichers
DE112004002567T5 (de) Lane-zu-Lane-Entzerrung über Nicht-Daten-Symbolverarbeitung für eine serielle Punkt-zu-Punkt-Verbindung
DE69819648T2 (de) Zweitorpuffer
DE19852986A1 (de) Schaltungsanordnung und Verfahren zur Datenmaskierung
DE112007002605T5 (de) Speichersystem mit seriellem Hochgeschwindigkeitspuffer
EP0574598A1 (de) Datenpufferspeicher
DE69025510T2 (de) Asynchronische Hochgeschwindigkeitsdatenschnittstelle
EP0596954B1 (de) Hochgeschwindigkeits-bussystem und verfahren zum betreiben desselben
DE3751083T2 (de) Schnittstelle für seriellen Bus, fähig für den Datentransfer in verschiedenen Formaten.
DE69729629T2 (de) Datenbuskommunikationsverfahren für feldinstrument
DE69403028T2 (de) Verfahren und Vorrichtung zur Steuerung der Auf-dem-Chip-Taktverschiebung
DE68909666T2 (de) Koppelpunktschaltungselement zwischen zwei Daten-Sammelleitungen.
DE69031639T2 (de) Synchronisiereinrichtung, welche Taktphasenextrapolation verwendet
DE10138883B4 (de) Verfahren sowie Vorrichtung zur synchronen Signalübertragung zwischen Logik-/Speicherbausteinen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: NXP B.V., EINDHOVEN, NL

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

Representative=s name: EISENFUEHR, SPEISER & PARTNER, 10178 BERLIN