DE19941196B4 - Zweikanal-FIFO mit synchronisierten Lese- und Schreibzeigern - Google Patents

Zweikanal-FIFO mit synchronisierten Lese- und Schreibzeigern Download PDF

Info

Publication number
DE19941196B4
DE19941196B4 DE19941196A DE19941196A DE19941196B4 DE 19941196 B4 DE19941196 B4 DE 19941196B4 DE 19941196 A DE19941196 A DE 19941196A DE 19941196 A DE19941196 A DE 19941196A DE 19941196 B4 DE19941196 B4 DE 19941196B4
Authority
DE
Germany
Prior art keywords
signal
clock
src
dest
address
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
DE19941196A
Other languages
English (en)
Other versions
DE19941196A1 (de
Inventor
Sheung-Fan Sunnyvale Wen
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.)
National Semiconductor Corp
Original Assignee
National Semiconductor Corp
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 National Semiconductor Corp filed Critical National Semiconductor Corp
Publication of DE19941196A1 publication Critical patent/DE19941196A1/de
Application granted granted Critical
Publication of DE19941196B4 publication Critical patent/DE19941196B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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
    • 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
    • G06F5/12Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations
    • 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/1075Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for multiport memories each having random access ports and serial ports, e.g. video RAM
    • 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
    • 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/12Indexing scheme relating to groups G06F5/12 - G06F5/14
    • G06F2205/123Contention resolution, i.e. resolving conflicts between simultaneous read and write operations

Abstract

FIFO-Speicher mit folgenden Merkmalen:
ein Speicher (110), der einen FIFO-Stapel speichern kann;
ein Schreibkanal (112, 114), der gestützt auf einen Schreibadreßzeiger dem FIFO Stapel Elemente hinzufügen kann, wobei der Schreibkanal (112, 114) in einem ersten Taktbereich arbeitet;
ein Lesekanal (116, 118), der gestützt auf einen Leseadreßzeiger Elemente von dem FIFO-Stapel lesen kann, wobei der Lesekanal (116, 118) in einem zweiten Taktbereich arbeitet, der sich von dem ersten Taktbereich unterscheidet;
eine erste Synchronisierschaltung (120), die mit dem Schreibkanal (112, 114) betrieblich gekoppelt und so konfiguriert ist, daß sie den Schreibadreßzeiger empfängt und den Schreibadreßzeiger zu dem zweiten Taktbereich synchronisiert; und
eine zweite Synchronisierschaltung (124), die mit dem Lesekanal (116, 118) betrieblich gekoppelt und so konfiguriert ist, daß sie den Leseadreßzeiger empfängt und den Leseadreßzeiger zu dem ersten Taktbereich synchronisiert, wobei
die erste und die zweite Synchronisierschaltung (120, 124) jeweils ein erstes Zeitsteuer-Flip-Flop (420; 520) und...

Description

  • Die Erfindung betrifft im allgemeinen die Synchronisierung von Adreßzeigern über mehrere Taktbereiche hinweg und insbesondere einen Zweikanal-FIFO-Speicher (FIFO = First-In-First-Out), der einen Lese- und einen Schreibzeiger über mehrere Taktbereiche (Domänen) synchronisiert.
  • Ein FIFO-Speicher ist ein allgemein bekannter Speichertyp, der zahlreiche Anwendungen in elektronischen Schaltungen und Systemen findet. Ein FIFO-Speicher speichert Elemente in einem Stapel, wobei die ältesten Elemente als erste entnommen werden. In vielen Anwendun gen kann ein Prozeß dem Stapel Elemente hinzufügen. Dieser Prozeß wird als Schreibprozeß bezeichnet. Ein anderer Prozeß kann Elemente von dem Stapel entnehmen. Dieser Prozeß wird als Leseprozeß bezeichnet. Der Schreibprozeß muß einen Adreßzeiger aufrechterhalten, damit er dem Stapel Elemente hinzufügen kann. Ähnlich muß der Leseprozeß einen Adreßzeiger aufrechterhalten, damit er Elemente aus dem Stapel entnehmen kann.
  • In vielen Anwendungen wird der FIFO-Speicher mit Hilfe eines Zweikanal-RAM (DPRAM = Dual Port RAM) realisiert. Ein Kanal oder Port wird von dem Schreibprozeß verwendet, und der andere Kanal oder Port wird von dem Leseprozeß verwendet. Der Schreibprozeß beginnt mit der Speicherung eines Elements bei der niedrigsten verfügbaren Speicherstelle. Der Schreibprozeß fügt dann bei aufeinanderfolgenden Speicherstellen Elemente hinzu, indem ein Schreibzeiger inkrementiert wird. Wenn der Schreibprozeß die höchste verfügbare Speicherzelle erreicht, wird der Schreibzeiger inkrementiert, damit er zu der niedrigsten verfügbaren Speicherstelle zurückkehrt. Der FIFO-Speicher arbeitet somit umlaufend.
  • Der Leseprozeß beginnt mit der Entnahme des Elementes bei der niedrigsten verfügbaren Speicherstelle. Der Leseprozeß setzt sich fort, indem er Elemente bei nachfolgenden Speicherstellen entnimmt, wobei der Lesezeiger inkrementiert wird. Wenn der Lesezeiger bei dem Schreibzeiger ankommt, ist der Speicher leer, und der Leseprozeß entnimmt keine weiteren Elemente von dem FIFO-Stapel. Wenn der Schreibzeiger bei dem Lesezeiger ankommt, ist der Speicher voll, und der Schreibprozeß beendet das Hinzufügen von Elementen.
  • In vielen Anwendungen arbeiten der Schreibprozeß und der Leseprozeß in verschiedenen Taktbereichen. Es muß daher eine Schaltung vorgesehen werden, um den Schreibzeiger in einem Taktbereich zu erzeugen und den Lesezeiger in dem anderen Taktbereich zu erzeugen. Zusätzlich muß die Schaltung die Schreib- und Lesezeiger über die Taktbereiche hinweg synchronisieren, damit der Schreibprozeß nur leeren Speicherstellen ein Element hinzufügt und der Leseprozeß Elemente aus gültigen Speicherstellen entnimmt. Diese Synchronisierung kann erhebliche Verzögerungen zwischen den Lese- und Schreibprozessen einführen. Zusätzlich geht die Synchronisierung häufig mit komplizierten, anwendungsspezifischen Schaltungen einher, die üblicherweise in den Standardbibliotheken der CMOS-Zellen nicht verfügbar sind. Die Entwicklung solcher anwendungsspezifischer Schaltungen führt zu zusätzlichen Kosten und zusätzlichem Zeitaufwand.
  • Die Druckschrift US 5,555,524 offenbart einen Zweikananl-FIFO-Speicher mit Synchronisierschaltungen und mit Füllstandsanzeige-Schaltungen. Die Speicheradressen liegen in Gray-Code vor, während die Synchronisierschaltungen mit einem einfachen D-Flip-Flop vorgesehen sind, der das Adreßsignal hält. In der Füllstandsanzeige-Schaltung verzögert ein D-Flip-Flop das Lese- oder Schreib-Freigabesignal, wobei die Füllstandsanzeige-Schaltung den Füllstand mit einer Genauigkeit von 1 angibt. Die Implementierung der Synchronisierungsschaltung bietet nur dann korrekte synchronisierte Adreßsignale, wenn das Taktsignal des Ziel-Taktbereichs rechtzeitig die Synchronisierungsschaltung triggert. Weder bietet der Zweikanal-FIFO-Speicher Adreßsignale, die jederzeit korrekt sind, noch exakte Angaben bezüglich des Füllstands. Ferner ist das Gray-Format zwingend für das Adreßsignal, wodurch gegebenenfalls Codeumsetzer verwendet werden müssen.
  • Es ist daher Aufgabe der Erfindung, einen FIFO-Speicher bzw. einen Synchronisierungsmechanismus vorzusehen, der jederzeit korrekte Adreßsignale bzw. Füllstandssignale vorsieht und dessen Adreßsignalformat nicht auf ein einziges Format beschränkt ist. Diese Aufgabe wird durch den FIFO-Speicher nach Anspruch 1, die Synchronisierschaltung nach Anspruch 8, das Verfahren nach Anspruch 11 und durch den Signalsatz nach Anspruch 15 erreicht.
  • Gemäß eines Aspekts der Erfindung umfaßt ein FIFO einen Speicher, einen Schreibkanal, einen Lesekanal und eine erste und eine zweite Synchronisierschaltung. Der Speicher ist so konfiguriert, daß er einen FIFO-Stapel speichert. Der Schreibkanal ist so konfiguriert, daß er gestützt auf einen Schreibadreßzeiger dem FIFO-Stapel Elemente hinzufügt. Der Schreibkanal arbeitet in einem ersten Taktbereich. Der Lesekanal ist so konfiguriert, daß er gestützt auf einen Leseadreßzeiger Elemente von dem FIFO-Stapel liest.
  • Der Lesekanal arbeitet in einem zweiten Taktbereich, der sich vom ersten Taktbereich unterscheidet. Die erste Synchronisierschaltung ist mit dem Schreibkanal betrieblich gekoppelt und so konfiguriert, daß sie den Schreibadreßzeiger empfängt und den Schreibadreßzeiger mit dem zweiten Taktbereich synchronisiert. Die zweite Synchronisierschaltung ist mit dem Lesekanal betrieblich gekoppelt und so konfiguriert, daß sie den Leseadreßzeiger empfängt und den Leseadreßzeiger mit dem ersten Taktbereich synchronisiert.
  • Gemäß eines weiteren Aspekts der Erfindung umfaßt eine Synchronisierschaltung, die sich zum Koordinieren von Adreßzeigern über Taktbereiche hinweg eignet, ein erstes und ein zweites Zeitsteuer-Flip-Flop und eine Inversionsschaltung. Das erste Zeitsteuer-Flip-Flop ist so konfiguriert, daß es erste Zeitsignale erzeugt. Das erste Zeitsteuer-Flip-Flop arbeitet in einem ersten Taktbereich. Die Inversionsschaltung ist mit dem ersten Zeitsteuer-Flip-Flop betrieblich gekoppelt und so konfiguriert, daß sie invertierte Zeitsignale gestützt auf die ersten Zeitsignale erzeugt. Das zweite Zeitsteuer-Flip-Flop ist mit dem Invertierer betrieblich gekoppelt und so konfiguriert, daß es zweite Zeitsignale gestützt auf die invertierten Zeitsignale erzeugt. Das zweite Zeitsteuer-Flip-Flop arbeitet in einem zweiten Taktbereich, der sich vom ersten Taktbereich unterscheidet.
  • Die Erfindung ist im folgenden anhand bevorzugter Ausführungsformen mit Bezug auf die Zeichnungen näher erläutert. In den Figuren zeigt:
  • 1 ein Blockdiagramm einer bevorzugten Ausführungsform eines FIFO-Speichers;
  • 2 ein Flußdiagramm eines bevorzugten Schreibprozesses, der in dem FIFO-Speicher der 1 abläuft;
  • 3 ein Flußdiagramm eines bevorzugten Leseprozesses, der in dem FIFO-Speicher der 1 abläuft;
  • 4 einen Schaltplan einer bevorzugten Ausführungsform einer Adreßsynchronisierschaltung;
  • 5 einen Schaltplan einer anderen bevorzugten Ausführungsform einer Adreßsynchronisierschaltung; und
  • 6 ein Zeitablaufdiagramm der Signale aus der Schaltung der 5.
  • Mit Bezug auf 1 wird im folgenden eine bevorzugte Ausführungsform eine FIFO-Speichers 100 beschrieben. Der FIFO-Speicher 100 umfaßt ein DPRAM 110. Ein Kanal oder Port 113 wird zum Schreiben von Daten in das DPRAM 110 verwendet, und ein Kanal oder Port 115 wird zum Lesen von Daten aus dem DPRAM 110 verwendet. Der Kanal 113 und der Kanal 115 umfassen jeweils einen Adreßkanal und einen Datenkanal. Die Leitungen wr_addr 114 sind mit dem Kanal 113 verbunden und werden zum Auswählen einer Speicherstelle in dem DPRAM 110 verwendet. Die Leitungen wr_data 112 sind ebenfalls mit dem Kanal 113 verbunden. Diese Leitungen werden dazu verwendet, während einer Schreiboperation Datensignale an die ausgewählte Adreßstelle zu liefern. Gemeinsam werden die Leitungen wr_addr 114 und wr_data 112 dazu verwendet, einem FIFO-Stapel in dem DPRAM 110 ein Element hinzuzufügen.
  • Die Leitungen rd_addr 118 sind mit dem Kanal 115 verbunden und werden dazu verwendet, eine Speicherstelle in dem DPRAM 110 auszuwählen. Die Leitungen rd_data 116 sind ebenfalls mit dem Kanal 115 verbunden. Diese Leitungen werden dazu verwendet, während einer Leseoperation Datensignale von einer ausgewählten Adreßstelle zu empfangen. Gemeinsam werden die Leitungen rd_addr 118 und rd_data 116 dazu verwendet, ein Element von dem FIFO-Stapel zu entnehmen.
  • Bei einer bevorzugten Ausführungsform sieht das DPRAM 110 nur die Schreibfunktion für den Schreibkanal 113 und nur die Lesefunktion für den Lesekanal 115 vor. Eine Vielzahl im Handel erhältlicher DPRAMs bieten jedoch sowohl die Schreib- als auch die Lesefunktion für beide Kanäle, und solche DPRAMs eignen sich als Alternativen zum Realisieren der Erfindung.
  • Der FIFO-Speicher 100 ist so konfiguriert, daß über den Schreibkanal 113 dem Stapel Elemente hinzugefügt werden können und daß über den Lesekanal 115 dieselben Element von dem Stapel entnommen werden können. Elemente werden über den Schreibkanal 113 in aufeinanderfolgenden Speicherstellen hinzugefügt. Das erste Element wird in die Speicherstelle „000h" geschrieben, das nächste Element wird in die Speicherstelle „001h" geschrieben usw. Schließlich fügt der Schreibkanal 113 der höchsten Speicherstelle ein Element hinzu (z.B. „FFFh" in einem 4K Speicher). Nach diesem Schreibvorgang wird der Schreibzeiger inkrementiert, so daß er zur ersten Speicherstelle „000h" zurückkehrt. Der Lesezeiger arbeitet auf dieselbe Weise.
  • Um sicherzustellen, daß ein Schreibkanal 113 nicht versucht, ein Element in eine Speicherstelle hinzuzufügen, die noch nicht gelesene Daten enthält (d.h. ein Element, das noch nicht über den Lesekanal 115 entnommen wurde), wird ein FIFO-Voll-Signal erzeugt. Ähnlich wird, um sicherzustellen, daß der Lesekanal 115 nicht versucht, ein Element aus einer Speicherstelle zu lesen, in die keine Daten geschrieben wurden (d.h. eine Speicherstelle, in die von dem Schreibkanal 113 keine Daten geschrieben wurden), ein FIFO-Leer-Signal erzeugt.
  • Der Schreibkanal 113 und der Lesekanal 115 können in verschiedenen Taktbereichen (Taktdomänen) arbeiten. Deshalb werden der Lese- und der Schreibadreßzeiger über die Taktbereiche hinweg synchronisiert. Die Lese- und Schreibadreßzeiger werden dazu verwendet, FIFOvoll(fifo_full) und FIFO-leer (fifo_empty)-Signale zu erzeugen.
  • Im einzelnen sind die Leitungen wr_addr 114 mit einer Synchronisiereinrichtung 120 und einer Schreiblogikschaltung 122 verbunden, und die Leitungen rd_addr 118 sind mit einer Synchronisiereinrichtung 124 und einer Leselogikschaltung 126 verbunden. Die Synchroni siereinrichtung 120 empfängt den aktuellen Schreibzeiger über die Leitungen wr_addr 114. Nach einer ausreichenden Verzögerung zum Koordinieren der Taktbereiche liefert die Synchronisiereinrichtung 120 den Schreibzeiger an die Leselogikschaltung 126 über die Leitungen 128. Ähnlich empfängt die Synchronisiereinrichtung 124 den aktuellen Lesezeiger über die Leitungen rd_addr 118. Nach einer ausreichenden Verzögerung zum Koordinieren der Taktbereiche liefert die Synchronisiereinrichtung 124 den Lesezeiger an die Schreiblogikschaltung 122 über die Leitungen 132. Die Leselogikschaltung 126 und die Schreiblogikschaltung 122 erzeugen das fifo_empty-Signal 130 bzw. das fifo_full-Signal 136.
  • Eine bevorzugte Art zum Erzeugen des fifo_empty-Signals 130 und des fifo_full-Signals 136 besteht darin, auf der MSB-Seite (Seite des höchstwertigen Bits) der Signale wr_addr und rd_addr ein zusätzliches Bit hinzuzufügen und dieses als ein Teil der Signale wr_addr bzw. rd_addr zu behandeln, wenn diese inkrementiert werden. Wenn z.B. angenommen wird, daß wr_addr und rd_addr 12 Bit breit sind, macht das Hinzufügen eines 13. Bits auf der MSB-Seite diese 13 Bit breit. Während des Zurücksetzens werden wr_addr [12:0] und rd_addr [12:0] alle auf null zurückgesetzt. wr_addr wird inkrementiert, bis fifo_full aktiviert (logisch wahr gesetzt) wird; rd_addr wird inkrementiert, bis fifo-empfy aktiviert wird. Man beachte, daß wr_addr [12:12] (das dreizehnte Bit des Signals wr_addr) und rd_addr [12:12] (das dreizehnte Bit des Signals rd_addr) während geradzahliger Durchgänge des FIFO-Speichers den Wert null haben und während ungeradzahliger Durchgängen den Wert eins haben. Aus der folgenden logischen Gleichung ergibt sich daher das Signal fifo_full:
    (wr_addr [12:12] XOR rd_addr_sync [12:12]) UND (wr_addr [11:0] XNOR rd_addr_sync [11:0]);
    fifo_empty ergibt sich aus der logischen Gleichung:
    rd_addr [12:0] XNOR wr_addr_sync [12:0],
    wobei XOR exklusiv-ODER und XNOR exklusiv-NICHT-ODER bezeichnet.
  • Die Schreiblogikschaltung 122 und die Leselogikschaltung 126 implementieren diese Logikfunktionen zum Erzeugen der Signale fifo_full bzw. fifo_empty.
  • Bei der Initialisierung werden der Lese- und der Schreibadreßzeiger auf „000h" gesetzt. Wenn Elemente hinzugefügt werden, wird der Schreibzeiger inkrementiert. Demzufolge wird die Leselogikschaltung 126 das Signal fifo_empty deaktivieren (logisch falsch setzen). Abhängig davon werden Elemente von dem FIFO gelesen, und der Lesezeiger wird inkrementiert. Wenn der Lesezeiger den Schreibzeiger einholt, wird das Signal fifo_empty aktiviert, bis dem FIFO-Stapel zusätzliche Elemente hinzugefügt worden sind.
  • Wie oben erwähnt, wird der Schreibzeiger, wenn er die höchste Speicherstelle erreicht, inkrementiert, um zur ersten Speicherstelle zurückzukehren. Wenn zusätzliche Elemente hinzugefügt werden, kann der Schreibadreßzeiger schließlich den Leseadreßzeiger einholen. Wenn zusätzliche Elemente hinzugefügt würden, würden diese Elemente andere Elemente überschreiben, die noch nicht von dem Stapel gelesen worden sind. Um dies zu vermeiden, wird das Signal fifo_full aktiviert. Es darf nicht weitergeschrieben werden, bis weitere Elemente von dem FIFO-Stapel entnommen worden sind.
  • Wie oben erwähnt, ist der FIFO-Stapel in dem DPRAM 110 realisiert. Diese Konfiguration eignet sich zur Verwendung mit einem DPRAM jeder üblichen Größe und Breite.
  • Mit Bezug auf 2 ist im folgenden der Prozeß zum Hinzufügen von Elementen zu dem FIFO-Stapel mit weiteren Einzelheiten beschrieben. Im Schritt 210 ermittelt das FIFO, ob das Signal fifo_full aktiviert ist. Wenn ja, bleibt das FIFO beim Schritt 210. Anderenfalls geht das FIFO zum Schritt 212 weiter. Hier inkrementiert das FIFO den Schreibzeiger, so daß in der nächsten Speicherstelle ein Element hinzugefügt werden kann. Im Schritt 214 fügt das FIFO dem Stapel bei der von dem Schreibzeiger ausgewählten Adreßstelle ein Element hinzu. Im Schritt 216 wird der neue Schreibzeiger über den Taktbereich hinweg übergeben. Dies erlaubt es dem Leseprozeß, das nächste Element zu entnehmen. Das FIFO geht dann zum Schritt 210 zurück.
  • Mit Bezug auf 3 ist der Prozeß zum Entnehmen eines Elements aus dem FIFO mit weiteren Einzelheiten beschrieben. Im Block 310 ermittelt das FIFO, ob das Signal fifo_empty aktiviert ist. Wenn ja, bleibt das FIFO im Block 310. Anderenfalls geht das FIFO zum Block 312 weiter. Hier liest das FIFO Daten aus der Speicherstelle, die durch den Lesezeiger gewählt wurde. Im Block 314 inkrementiert das FIFO den Lesezeiger. Im Block 316 wird ein neuer Lesezeiger über den Taktbereich hinweg übergeben. Dies erlaubt es dem Schreibprozeß, bei der geleerten Speicherstelle ein Element hinzuzufügen. Das FIFO geht dann zum Block 310 zurück.
  • Mit Bezug auf 4 ist im folgenden eine bevorzugte Ausführungsform einer Adreßsynchronisierschaltung 410 (oder Adreßsynchronisiereinrichtung) beschrieben. Die Adreßsynchronisierschaltung 410 kann dazu verwendet werden, die Synchronisiereinrichtung 120 und die Synchronisiereinrichtung 124 der 1 zu realisieren. Die Adreßsynchronisierschaltung 410 ist in zwei Taktbereiche (Taktdomänen) aufgeteilt. Insbesondere arbeitet der Block 412 auf der Basis eines Takts 411 (clock_src), während der Block 414 auf der Basis eines Takts 413 (clock_dest) arbeitet. Der Takt 411 und der Takt 413 sind zueinander asynchron und können verschiedene Frequenzen haben. Demnach definiert der Block 412 einen Taktbereich gestützt auf den Takt 411, und der Block 414 definiert einen Taktbereich gestützt auf den Takt 413.
  • Die Adreßsynchronisierschaltung 410 dient dazu, den Übergang eines Adreßzeigers 423 (addr_ptr) von dem Taktbereich des Blocks 412 zu einem synchronisierten Adreßzeiger 439 (addr_ptr_sync) in dem Taktbereich des Blocks 414 zu koordinieren.
  • Die Schaltung beginnt ihren Betrieb bei Empfang eines Signals reset_z durch ein UND-Gatter 416. Das Signal reset_z wird dazu verwendet, den normalen Schaltungsbetrieb zu starten. Während des Betriebs der Synchronisierschaltung 410 muß das Signal reset_z auf einem hohen Zustand bleiben. Das UND-Gatter 416 empfängt auch ein Signal dest_out von dem Zeitsteuer-Flip-Flop 434. Wenn das Signal reset_z und das Signal dest_out beide einen hohen Zustand haben, liefert das UND-Gatter 416 ein Signal mit hohem Pegel an das Zeitsteuer-Flip-Flop 418. Das Zeitsteuer-Flip-Flop 418 wird von dem Takt 411 getriggert. Bei Beginn eines neuen Taktzyklus gibt das Zeitsteuer-Flip-Flop 418 das hochpegelige Signal von dem UND-Gatter 416 als das Signal src_sync1 weiter. Dieses Signal wird seinerseits an das Zeitsteuer-Flip-Flop 420 und das XOR-Gatter 422 weitergegeben. Das Zeitsteuer-Flip-Flop 420 arbeitet ähnlich wie das Zeitsteuer-Flip-Flop 418. Bei dem Beginn eines neuen Taktzyklus gibt das Zeitsteuer-Flip-Flop 420 den Wert des Signals src_sync1 als das Signal src_out weiter. Wenn also das Signal sr_sync1 umschaltet (Übergang), stimmt der Wert des Signals src_out während einer Taktperiode nicht überein. Da diese Signale beide an das XOR-Gatter 422 übergeben werden, erzeugt dieses während dieser Taktperiode ein Signal mit hohem Pegel.
  • Das Ausgangssignal des XOR-Gatters 422 wird an den Steuereingang eines Multiplexers 424 angelegt. Der Multiplexer 424 empfängt auch den Wert des Zeigers, der von Halte-Flip-Flops 426 gehalten wird, sowie addr_ptr 423, der den momentanen Zeigerwert angibt. Wenn der Multiplexer 424 ein Signal mit hohem Pegel von dem XOR-Gatter 422 empfängt, liefert er den Wert von addr_ptr 423 an die Halte-Flip-Flops 426. Anderenfalls liefert er den Wert des Zeigers vom Ausgang der Halte-Flip-Flops 426 an den Eingang der Halte-Flip-Flops 426. Der Zeigerwert vom Ausgang der Halte-Flip-Flops 426 wird über die Taktgrenze hinweg an den Multiplexer 438 übergeben.
  • Wiederum empfängt das Zeitsteuer-Flip-Flop 430 das Signal src_out vom Zeitsteuer-Flip-Flop 420. Beim Beginn eines neuen Taktzyklus innerhalb des Taktbereichs des Blocks 414 gibt das Zeitsteuer-Flip-Flop 430 den Wert des Signals src_out als das Signal dest_sync1 weiter. Das Signal dest_sync1 wird an den Invertierer 432 geliefert. Das invertierte Signal dest_sync1 wird an das Zeitsteuer-Flip-Flop 434 und das XOR-Gatter 436 übergeben. Das Zeitsteuer-Flip-Flop 434 arbeitet ähnlich wie das Zeitsteuer-Flip-Flop 430. Beim Beginn eines neuen Taktzyklus gibt das Zeitsteuer-Flip-Flop 434 den Wert des invertierten Signals dest_sync1 als das Signal dest_out weiter. Wenn also das invertierte Signal dest_sync2 sich ändert (Übergang) stimmt der Wert des Signals dest_out während einer Taktperiode nicht überein. Da beide Signale an das XOR-Gatter 436 geliefert werden, erzeugt dies während dieser Taktperiode ein Signal mit hohem Pegel.
  • Das Ausgangssignal des XOR-Gatters 436 wird an den Steuereingang des Multiplexers 438 übergeben. Der Multiplexer 438 empfängt auch den Wert des Zeigers, der momentan in Abtast-Flip-Flops 440 gehalten wird, sowie das Ausgangssignal der Halte-Flip-Flops 426. Wenn der Multiplexer 438 ein Signal mit hohem Pegel von dem XOR-Gatter 436 empfängt, liefert er den Zeigerwert von den Halte-Flip-Flops 426. Anderenfalls liefert er den Zeigerwert vom Ausgang der Abtast-Flip-Flops 440 an den Eingang der Abtast-Flip-Flops 440. Der Zeigerwert vom Ausgang der Abtast-Flip-Flops 440 ist das Signal addr_ptr_sync. Dieses Signal folgt somit dem Signal addr_ptr. Das Signal addr_ptr_synch ist jedoch im Taktbereich des Blocks 414 gültig.
  • Die Synchronisierschaltung 410 kann mit den Schaltkreiselementen einer im Handel erhältlichen Standard-CMOS-Zellenbibliothek realisiert werden. Alle Gatter, Flip-Flops und Multiplexer sind allgemein erhältlich.
  • Im normalen Betrieb übersetzt die Adreßsynchronisierschaltung 410 das Signal addr_ptr 423 über die Taktbereiche hinweg in addr_ptr_sync 439. Es ist jedoch möglich, daß das Zeitsteuer-Flip-Flop 418 in einen meta-stabilen Zustand gerät. Um eine Verfälschung der Daten aufgrund des meta-stabilen Zustands zu vermeiden, wird das Flip-Flop 420 Rücken an Rücken mit dem Flip-Flop 418 angeordnet, so daß das Flip-Flop 418 genug Zeit hat, sich von einem meta-stabilen Zustand zu erholen, bevor Daten in das Flip-Flop 420 eingehen. Diese Anordnung kann auch als Doppelsynchronisierung bezeichnet werden und schafft einen stabilen Betrieb, wenn die Signalverzögerung vom Zeitsteuer-Flip-Flop 418 zum Halte-Flip-Flop 426 geringer als die Taktperiode des Signals clk_src ist und wenn die Signalverzögerung vom Zeitsteuer-Flip-Flop 430 zum Abtast-Flip-Flop 440 geringer als die Taktperiode des Signals clk_dest ist. Die Signalverzögerung vom Zeitsteuer-Flip-Flop 418 zum Halte-Flip-Flop 426 umfaßt:
    t (Takt des Flip-Flops 418 zu Q + t (Erholung des Flip-Flops 418 aus meta-stabilem Zustand) + t (XOR-Gatter) + t (Multiplexer 424) + t (Einrichten des Flip-Flops 426) + t (Leitungsverzögerungen).
  • Die Signalverzögerung vom Zeitsteuer-Flip-Flop 430 zum Abtast-Flip-Flop 440 umfaßt:
    t (Takt des Flip-Flops 430 zu Q + t (Erholung des Flip-Flops 430 aus meta-stabilem Zustand) + t (Invertierer 432) + t (XNOR-Gate 436) + t (Multiplexer 438) + t (Einrichten des Flip-Flops 440) + t (Leitungsverzögerungen).
  • Wenn diese Bedingungen nicht erfüllt werden können, kann sich ein meta-stabiler Zustand ergeben, der undefinierte Übergänge verursachen kann. Dieser potentielle meta-stabile Zustand kann vermieden werden, indem der Adreßsynchronisierschaltung 410 zusätzliche Zeitsteuer-Flip-Flops hinzugefügt werden.
  • Mit Bezug auf 5 ist eine weitere bevorzugte Ausführungsform einer Adreßsynchronisierschaltung 510 (oder Adreßsynchronisiereinrichtung) beschrieben. Die Adreßsynchronisierschaltung 510 kann dazu verwendet werden, die Synchronisiereinrichtung 120 und die Synchronisiereinrichtung 124 der 1 zu realisieren. Die Adreßsynchronisierschaltung 510 arbeitet weitgehend ähnlich wie die Adreßsynchronisierschaltung 410 der 4. Die Adreßsynchronisierschaltung 510 verwendet jedoch zwei zusätzliche Zeitsteuer-Flip-Flops. Diese Zeitsteuer-Flip-Flops reduzieren die Wahrscheinlichkeit des oben beschriebenen metastabilen Zustands und führen nur eine minimale zusätzliche Synchronisierungsverzögerung ein.
  • Die Adreßsynchronisierschaltung 510 wird in zwei Taktbereiche aufgeteilt. Insbesondere arbeitet der Block 512 auf der Basis eines Takts 511 (clock_src), während der Block 514 auf der Basis eines Takts 513 (clock_dest) arbeitet. Der Takt 511 und der Takt 513 sind zueinander asynchron und können verschiedene Frequenzen haben. Der Block 512 definiert somit einen Taktbereich gestützt auf den Takt 511, und der Block 514 definiert einen Taktbereich gestützt auf den Takt 513.
  • Die Adreßsynchronisierschaltung 510 dient dazu, die Überleitung eines Adreßzeigers 523 (addr_ptr) vom Taktbereich des Blocks 512 zu einem synchronisierten Adreßzeiger 539 (addr_ptr_sync) im Taktbereich des Blocks 514 zu koordinieren.
  • Die Schaltung beginnt ihren Betrieb bei Empfang eines Signals reset_z durch das UND-Gatter 516. Das Signal reset_z wird dazu verwendet, den normalen Schaltkreisbetrieb zu starten. Während des Betriebs der Synchronisierschaltung 510 muß das Signal reset_z einen hohen Zustand behalten. Das UND-Gatter 516 empfängt auch ein Signal dest_out von dem Zeitsteuer-Flip-Flop 534. Wenn sowohl das Signal reset_z als auch das Signal dest_out einen hohen Zustand haben, liefert das UND-Gatter 516 ein Signal mit hohem Pegel an das Zeitsteuer-Flip-Flop 518. Das Zeitsteuer-Flip-Flop 518 wird durch den Takt 511 getriggert. Bei Beginn eines neuen Taktzyklus gibt das Zeitsteuer-Flip-Flop 518 das Signal mit hohem Pegel von dem UND-Gatter 516 als das Signal src_sync1 weiter. Dieses Signal wird seinerseits an das Zeitsteuer-Flip-Flop 519 übergeben. Das Zeitsteuer-Flip-Flop 519 arbeitet ähnlich wie das Zeitsteuer-Flip-Flop 518. Bei Beginn eines neuen Taktzyklus gibt das Zeitsteuer-Flip-Flop 519 den Wert des Signals scr_sync1 als das Signal src_sync2 weiter. Dieses Signal wird seinerseits an das Zeitsteuer-Flip-Flop 520 und das XOR-Gatter 522 weitergegeben. Das Zeitsteuer-Flip-Flop 520 arbeitet ähnlich wie das Zeitsteuer-Flip-Flop 518. Bei Beginn eines neuen Taktzyklus gibt das Zeitsteuer-Flip-Flop 520 den Wert des Signals src_sync2 als das Signal src_out weiter. Wenn daher das Signal src_sync2 umschaltet (Übergang), stimmt der Wert des Signals src_out während einer Taktperiode nicht überein. Da beide Signale an das XOR-Gatter 522 übergeben werden, erzeugt dieses während dieser Taktperiode ein Signal mit hohem Pegel.
  • Das Ausgangssignal des XOR-Gatters 522 wird an den Steuereingang eines Multiplexers 524 übergeben. Der Multiplexer 524 empfängt auch den Wert des Zeigers, der von Halte-Flip-Flops 526 gehalten wird (addr_held), sowie das Signal addr_ptr 523, das den momentanen Zeigerwert angibt. Wenn der Multiplexer 524 ein Signal mit hohem Pegel von dem XOR-Gatter 522 empfängt, liefert er den Wert des Signals addr_ptr an Halte-Flip-Flops 526. Anderenfalls liefert er den Zeigerwert vom Ausgang der Halt-Flip-Flops 526 an den Eingang der Halte-Flip-Flops 526. Der Zeigerwert vom Ausgang der Halte-Flip-Flops 526 wird über die Taktgrenze hinweg an den Multiplexer 538 übergeben.
  • Wiederum empfängt das Zeitsteuer-Flip-Flop 530 das Signal src_out vom Zeitsteuer-Flip-Flop 520. Bei Beginn eines neuen Taktzyklus innerhalb des Taktbereichs des Blocks 514 gibt das Zeitsteuer-Flip-Flop 530 den Wert des Signals src_out als das Signal dest_sync1 weiter. Dieses Signal wird seinerseits an das Zeitsteuer-Flip-Flop 531 übergeben, das ähnlich wie das Zeitsteuer-flip-Flop 530 arbeitet. Bei Beginn eines neuen Taktzyklus gibt das Zeitsteuer-Flip-Flop 531 den Wert des Signals dest_sync1 als das Signal dest_sync2 weiter. Das Signal dest_sync2 wird an den Invertierer 532 und das XNOR-Gatter 536 übergeben. Das invertierte Signal dest_sync2 wird an das Zeitsteuer-Flip-Flop 534 übergeben. Das Zeitsteuer-Flip-Flop 534 arbeitet ähnlich wie das Zeitsteuer-Flip-Flop 530. Bei Beginn eines neuen Taktzyklus gibt das Zeitsteuer-Flip-Flop 534 den Wert des invertierten Signals dest_sync2 als das Signal dest_out weiter. Wenn sich also das invertierte Signal dest_sync1 ändert (Übergang), wird der Wert des Signals dest_out während einer Taktperiode auf einem Pegel sein, der äquivalent zu dest-sync2 ist. Da diese Signale beide an das XNOR-Gatter 536 geliefert werden, erzeugt dies während dieser Taktperiode ein Signal mit hohem Pegel.
  • Das Ausgangssignal des XNOR-Gatters 536 wird an den Steuereingang des Multiplexers 538 geliefert. Der Multiplexer 538 empfängt auch den Zeigerwert, der momentan von den Abtast-Flip-Flops 540 gehalten wird, sowie das Ausgangssignal der Halt-Flip-Flops 526. Wenn der Multiplexer 538 von dem XOR-Gatter 536 ein Signal mit hohem Pegel empfängt, liefert er den Zeigerwert von den Halte-Flip-Flops 526. Anderenfalls liefert er den Zeigerwert vom Ausgang der Abtast-Flip-Flops 540 an den Eingang der Abtast-Flip-Flops 540. Der Zeigerwert vom Ausgang der Abtast-Flip-Flops 540 ist das Signal addr_ptr_sync 539. Dieses Signal folgt somit dem Signal addr_ptr 523. Das Signal addr_ptr_sync 539 ist jedoch im Taktbereich des Blocks 514 gültig.
  • Die Synchronisierschaltung 510 kann mit Schaltkreiselementen einer im Handel erhältlichen Standard-CMOS-Zellenbibliothek realisiert werden. Alle Gatter, Flip-Flops und Multiplexer sind allgemein erhältlich.
  • Mit Bezug auf 6 wird ein Zeitablaufdiagramm der Signale in 5 beschrieben. Das Zeitablaufdiagramm umfaßt das Signal clock_src (Ursprungstakt) und das Signal clock_dest (Zieltakt). Dies sind Taktsignale, die asynchron und mit verschiedenen Frequenzen arbeiten. Die Signale src_sync1, src_sync2, src_out, sel_src und addr held arbeiten auf der Basis des Signals clock_src. Die Signale dest_sync1, dest_sync2, dest_out, sel_dest und addr_prt_sync arbeiten auf der Basis des Signals clock_dest.
  • Das Signal reset_z beginnt bei einem niedrigen Zustand und geht dann auf einen hohen Zustand über. Dieser Übergang wird zum Auslösen des normalen Betriebs der Synchronisierschaltung verwendet. Nachdem das Signal reset_z während einer Taktperiode des Signals clock_src in dem hohen Zustand war, geht das Signal src_sync1 auf einen hohen Zustand. Dann, nach einer Taktperiode des Signals clock_src, geht das Signal src_sync2 auf einen hohen Zustand. Da das Signal src_sync2 nicht mit dem Signal src_out übereinstimmt, geht das Signal sel_src auf einen hohen Zustand. Nach einer Taktperiode des Signals clock_src bewirkt das Signal sel_src, daß addr_held das Signal des nächsten Adreßzeigers liest. Das erste Adreßzeigersignal ist mit A1 bezeichnet. Nachfolgende Adreßzeigersignale sind mit A2 und A3 bezeichnet.
  • Nachdem das Signal src_sync2 während einer Taktperiode auf einem hohen Zustand war, geht das Signal src_out auf einen hohen Zustand über. Da das Signal src_out nun mit dem Signal src_sync2 übereinstimmt, wird das Signal sel_src deaktiviert. Somit wird der Adreßzeiger A1 von dem Signal addr_held gehalten.
  • Der Übergang des Signals src_out wird an das Signal dest_sync1 weitergegeben. Insbesondere macht bei der nächsten steigenden Flanke des Signals cllock_dest das Signal dest_sync1 denselben Übergang. Nach einer Periode des Signals clock_dest folgt das Signal dest_sync2 dem Signal dest_sync1 und geht auf einen hohen Zustand über.
  • Da das Signal dest_sync2 mit dem Signal dest_out übereinstimmt, geht das Signal sel_dest auf einen hohen Zustand. Nach einer Taktperiode des Signals clock_dest bewirkt das Signal sel_dest, daß addr_prt_sync das nächste Adreßzeigersignal liest. Das erste Adreßzeigersignal wird als A1_sync identifiziert. Dieses Signal stimmt mit dem Signal addr_held A1 überein, ist jedoch im Taktbereich des Signals clock_dest gültig. Nachfolgende Adreßzeigersignale im Taktbereich des Signals clock_dest werden als A2_sync und A3_sync bezeichnet. Diese Signale folgen A2 bzw. A3.
  • Eine Taktperiode nach dem Übergang des Signals dest_sync2 macht das Signal dest_out den entgegengesetzten Übergang. Da das Signal dest_out nicht mehr mit dem Signal dest_sync2 übereinstimmt, wird das Signal sel_dest deaktiviert, und das Signal addr_ptr_sync hält den Adreßzeiger A1 sync.
  • Wie durch das Zeitablaufdiagramm dargestellt, bewirken nachfolgende Übergänge der Zeitsteuersignale, daß die Adreßzeigersignale A2 und A3 über die Taktbereiche hinweg an die synchronisierten Adreßsignale A2_sync und A3_sync übergeben werden.
  • Die Übergänge des Signals src_out lösen das Lesen eines neuen Adreßzeigers aus. Diese Übergänge werden von dem Taktbereich clock_src an den Taktbereich clock_dest übergeben. Gestützt auf das Signal src_out macht das Signal dest_out einen verzögerten Übergang. Dieser verzögerte Übergang wird dazu verwendet, die Übertragung eines neuen Adreßzeigers über die Taktbereiche hinweg auszulösen. Dieser verzögerte Übergang wird auch über die Taktbereiche hinweg zurückgegeben, um einen weiteren Übergang des Signals src_sync1 auszulösen. Dadurch wird wiederum das Lesen eines neuen Adreßzeigers ausgelöst.
  • Anders gesagt, die Übergänge des Signals src_out und des Signals dest_out arbeiten wie Token. Dieser Token wird fortlaufend von dem Ursprungstaktbereich 512 an den Zieltaktbereich 514 und wieder zurück übergeben. Der Token wird durch die Aktivierung des Signals reset_z (Setzen auf logisch wahr) ausgelöst und beginnt als ein Übergang des Signals dest_out. Der Token wird dann als Übergänge der Signale src_sync1, src_sync2, src_out, dest_sync1 und dest_sync2 weitergegeben. Der Token wird an dest_out durch einen Übergang in dem Signal dest_sync2 zurückgegeben.
  • Ein Token src_out (d.h. ein Übergang des Signals src_out) zeigt an, daß ein neuer Adreßzeiger in die Halte-Flip-Flops geschrieben wurde. Wenn dieser Token über Taktbereiche hinweg weitergegeben wird, löst er die Synchronisierung des neuen Adreßzeigers aus.
  • Ähnlich zeigt der Token dest_out an, daß der neue Adreßzeiger über die Taktbereiche hinweg synchronisiert wurde und in den Abtast-Flip-Flops gehalten wird. Wenn dieser Token über die Taktbereich hinweg zurückgegeben wird, löst er das Lesen eines neuen Adreßzeigers aus. Auf diese Art werden Adreßzeiger über Taktbereich hinweg übergeben.
  • Die Synchronisierschaltung 510 (5) kann weiter optimiert werden, indem weitere logische Gatter zum Steuern des Anfangs und der Beendigung dieser Tokenübertragung eingeführt werden. Für diesen Zweck kann z.B. ein zusätzlicher Eingang eines UND-Gatters 516 verwendet werden.
  • Obwohl die Ausführungsformen der Erfindung hier in bezug auf einen FIFO-Speicher beschrieben wurden, ist die Erfindung auf andere Schaltungen anwendbar, die die Synchronisierung von Daten über Taktbereiche hinweg erfordern. Obwohl die Ausführungsformen hier mit Bezug auf bestimmte Schaltungen und Blockdiagramme beschrieben wurden, eignen sich auch andere Konfigurationen für die Realisierung der beschriebenen Funktionen. Der Fachmann wird aus den hier offenbarten Ausführungsformen sicher verstehen, daß viele Modifikationen möglich sind, ohne die Lehre der Erfindung zu verlassen. All diese Modifikationen sollen im Bereich der folgenden Ansprüche liegen.

Claims (16)

  1. FIFO-Speicher mit folgenden Merkmalen: ein Speicher (110), der einen FIFO-Stapel speichern kann; ein Schreibkanal (112, 114), der gestützt auf einen Schreibadreßzeiger dem FIFO Stapel Elemente hinzufügen kann, wobei der Schreibkanal (112, 114) in einem ersten Taktbereich arbeitet; ein Lesekanal (116, 118), der gestützt auf einen Leseadreßzeiger Elemente von dem FIFO-Stapel lesen kann, wobei der Lesekanal (116, 118) in einem zweiten Taktbereich arbeitet, der sich von dem ersten Taktbereich unterscheidet; eine erste Synchronisierschaltung (120), die mit dem Schreibkanal (112, 114) betrieblich gekoppelt und so konfiguriert ist, daß sie den Schreibadreßzeiger empfängt und den Schreibadreßzeiger zu dem zweiten Taktbereich synchronisiert; und eine zweite Synchronisierschaltung (124), die mit dem Lesekanal (116, 118) betrieblich gekoppelt und so konfiguriert ist, daß sie den Leseadreßzeiger empfängt und den Leseadreßzeiger zu dem ersten Taktbereich synchronisiert, wobei die erste und die zweite Synchronisierschaltung (120, 124) jeweils ein erstes Zeitsteuer-Flip-Flop (420; 520) und ein zweites Zeitsteuer-Flip-Flop (434; 534) umfassen, die miteinander gekoppelt sind, die ersten Zeitsteuer-Flip-Flops (420; 520) erste Zeitsteuersignale (src_out) erzeugen und die zweiten Zeitsteuer-Flip-Flops (434; 534) zweite Zeitsteuersignale (dest_out) erzeugen, und der Taktbereich der ersten Zeitsteuer-Flip-Flops sich jeweils von dem Taktbereich der zweiten Zeitsteuer-Flip-Flops unterscheidet, wobei die ersten und die zweiten Zeitsteuer-Flip-Flops alternativ in dem ersten oder in dem zweiten Taktbereich arbeiten.
  2. FIFO-Speicher nach Anspruch 1, bei dem der Speicher (110) ein DPRAM umfaßt.
  3. FIFO-Speicher nach Anspruch 1 oder 2, bei dem der Schreibkanal folgende Merkmale aufweist: einen Adreßport (114), der so konfiguriert ist, daß er eine Schreibadreßstelle in dem Speicher (110) auswählt; und einen Datenport (112), der so konfiguriert ist, daß er Daten an die Schreibadreßstelle liefert.
  4. FIFO-Speicher nach einem der vorangehenden Ansprüche, bei dem der Lesekanal folgende Merkmale aufweist: einen Adreßport (118), der so konfiguriert ist, daß er eine Leseadreßstelle in dem Speicher auswählt; und einen Datenport (116), der so konfiguriert ist, daß er Daten von der Leseadreßstelle empfängt.
  5. FIFO-Speicher nach einem der vorangehenden Ansprüche, bei dem die erste und die zweite Synchronisierschaltung (120, 124) jeweils folgende Merkmale aufweisen: eine Halteschaltung (426; 526), die so konfiguriert ist, daß sie einen Adreßzeiger empfängt, wobei die Haltchaltung in dem ersten Taktbereich arbeitet; und eine Abtastschaltung (440; 540), die mit der Halteschaltung (426; 526) betrieblich gekoppelt und so konfiguriert ist, daß sie den Adreßzeiger empfängt, wobei die Abtastschaltung (440; 540) in dem zweiten Taktbereich arbeitet.
  6. FIFO-Speicher nach Anspruch 5, bei dem die erste und die zweite Synchronisierschaltung (120, 124) folgende weitere Merkmale aufweisen: ein XOR-Gatter (422, 522), das mit dem ersten Zeitsteuer-Flip-Flop (418, 420; 518, 520) betrieblich gekoppelt und so konfiguriert ist, daß es ein Steuersignal erzeugt, wenn das Zeitsteuersignal einen Übergang macht; und einen Multiplexer (424; 524), der mit der Haltesqchaltung (426; 526) und dem XOR-Gatter (422; 522) betrieblich gekoppelt ist, einen Adreßzeigereingang aufweist und so konfiguriert ist, daß er den Adreßzeigereingang auswählt, wenn das XOR-Gatter (422; 522) das Steuersignal erzeugt.
  7. FIFO-Speicher nach einem der vorangehenden Ansprüche, mit folgenden weiteren Merkmalen: eine Leselogikschaltung (126), die mit der ersten Synchronisierschaltung (120) und dem Lesekanal (116, 118) betrieblich gekoppelt ist, wobei die Leselogikschaltung (126) ein FIFO-Leer-Signal erzeugen kann; und eine Schreiblogikschaltung (122), die mit dem Schreibkanal (112, 114) und dem Lesekanal (116, 118) betrieblich gekoppelt ist, wobei die Schreiblogikschaltung (122) ein FIFO-Voll-Signal erzeugen kann.
  8. Synchronisierschaltung zum Koordinieren von Adreßzeigern über Taktbereiche hinweg, mit folgenden Merkmalen: ein erstes Zeitsteuer-Flip-Flop (420; 520), das so konfiguriert ist, daß es erste Zeitsteuersignale erzeugt, wobei das erste Zeitsteuer-Flip-Flop (420; 520) in einem ersten Taktbereich arbeitet; eine Inversionsschaltung (432; 532), die mit dem ersten Zeitsteuer-Flip-Flop (420; 520) betrieblich gekoppelt und so konfiguriert ist, daß es gestützt auf die ersten Zeitsteuersignale invertierte Zeitsteuersignale erzeugt; und ein zweites Zeitsteuer-Flip-Flop (434; 534), das mit der Inversionsschaltung (432; 532) betrieblich gekoppelt und so konfiguriert ist, daß es gestützt auf die invertierten Zeitsteuersignale zweite Zeitsteuersignale erzeugt, wobei das zweite Zeitsteuer-Flip-Flop (434; 534) in einem zweiten Taktbereich arbeitet, der sich von dem ersten Taktbereich unterscheidet.
  9. Synchronisierschaltung nach Anspruch 8, mit folgenden weiteren Merkmalen: ein erstes Gatter (422; 522), das mit dem ersten Zeitsteuer-Flip-Flop (420; 520) betrieblich gekoppelt und so konfiguriert ist, daß es ein erstes Steuersignal erzeugt, wenn die ersten Zeitsteuersignale einen Übergang machen; ein erster Multiplexer (424; 524), mit dem ersten Gatter (422; 522) betrieblich gekoppelt ist und mehrere Eingänge sowie einen Ausgang für Adreßzeiger aufweist, wobei der erste Multiplexer (424; 524) gestützt auf das erste Steuersignal einen der mehreren Eingänge auswählt; und ein Halte-Flip-Flop (426; 526), das mit dem Ausgang des ersten Multiplexers (424; 524) betrieblich gekoppelt und so konfiguriert ist, daß es die Adreßzeiger hält.
  10. Synchronisierschaltung nach Anspruch 9, mit folgenden weiteren Merkmalen: ein zweites Gatter (436; 536), das mit dem zweiten Zeitsteuer-Flip-Flop (430; 530) betrieblich gekoppelt und so konfiguriert ist, daß es ein zweites Steuersignal erzeugt, wenn die zweiten Zeitsteuersignale einen Übergang machen; ein zweiter Multiplexer (438; 538), der mit dem zweiten Gatter (436; 536) betrieblich gekoppelt ist und mehrere Eingänge sowie einen Ausgang für die Adreßzeiger aufweist, wobei der zweite Multiplexer (438; 538) gestützt auf das zweite Steuersignal einen der mehreren Eingänge auswählt; und ein Abtast-Flip-Flop (440; 540), das mit dem Ausgang des zweiten Multiplexers (438; 538) betrieblich gekoppelt und so konfiguriert ist, daß es die Adreßzeiger hält.
  11. Verfahren zum Synchronisieren von Eingangs-Speicheradressen (addr_ptr) und synchronisierten Speicheradressen (addr_ptr_sync) in einem Zweikanal-FIFO-Speicher, wobei die Eingangs-Speicheradressen (addr_ptr) und synchronisierten Speicheradressen (addr_ptr_sync) in verschiedenen Taktbereichen vorgesehen sind, die ein Eingangs-Taktsignal (clock_src) und ein dazu asynchrones Ziel-Taktsignal (clock_dest) aufweisen, das die folgenden Schritte umfaßt: Senden eines Eingangs-Synchronisierungssignals (src_sync1) mit dem Beginn eines Taktzyklus des ersten Taktsignals (clock_src); Empfangen des Eingangs-Synchronisierungssignals (src_sync1) und Senden eines ersten Synchronisierungs-Ausgangssignals (src_out) mit dem Beginn eines neuen Taktzyklus des ersten Taktsignals (clock_src); Empfangen des ersten Synchronisierungs-Ausgangssignals (src_out) und Senden eines Ziel-Synchronisierungssignals (dest_sync1) mit dem Beginn eines neuen Taktzyklus des Ziel-Taktsignals (clock_dest); Invertieren des Ziel-Synchronisierungssignals (dest_sync1); Empfangen des invertierten Ziel-Synchronisierungssignals und Senden des invertierten Ziel-Synchronisierungssignals als ein zweites Synchronisierungs-Ausgangssignals (dest_out) mit dem Beginn einer neuen Taktperiode des Ziel-Taktsignals (clock_dest), wobei das Eingangs-Synchronisierungssignal (src_sync1) von dem zweiten Synchronisierungs-Ausgangssignal (dest_out) abhängt; Auswählen der Eingangs-Speicheradressen (addr_ptr) zwischen der aktuellen ausgewählten Eingangs-Speicheradresse und einer folgenden ausgewählten Eingangs-Speicheradresse abhängig von dem Eingangs-Synchronisierungssignal (src_sync1) und dem ersten Synchronisierungs-Ausgangssignal (src_out); und Auswählen der synchronisierten Speicheradressen (addr_ptr_sync) zwischen der aktuellen ausgewählten synchronisierten Speicheradresse und einer folgenden ausgewählten aktuellen synchronisierten Speicheradresse abhängig von dem Ziel-Synchronisierungssignal (dest_sync1) und dem zweiten Synchronisierungs-Ausgangssignal (dest_out).
  12. Verfahren nach Anspruch 11, wobei das Auswählen der Eingangs-Speicheradressen (addr_ptr) von der XOR-Verknüpfung des Eingangs-Synchronisierungssignals (src_sync1) mit dem ersten Synchronisierungs-Ausgangssignal (src_out) abhängt und das Auswählen der synchronisierten Speicheradressen (addr_ptr_sync) von der XOR-Verknüpfung des Ziel-Synchronisierungssignals (dest_sync1) mit dem zweiten Synchronisierungs-Ausgangssignal (dest_out) abhängt.
  13. Verfahren nach Anspruch 11 oder 12, wobei das Eingangs-Synchronisierungssignal (src-sync1) ferner mit dem Pegel eines Startsignals (reset_z) UND-verknüpft ist.
  14. Verfahren nach Anspruch 11, 12 oder 13, wobei nach dem Auswählen der Eingangs-Speicheradresse diese in Halte-Flip-Flops gehalten wird und nach dem Auswählen der synchronisierten Speicheradresse diese in Abtast-Flip-Flops gehalten wird.
  15. Signalsatz zur Steuerung eines Zweikanal- FIFO – Speichers mit den folgenden Signalen: ein erstes Taktsignal (clock_src) mit einem ersten Frequenzbereich; ein zweites Taktsignal (clock_dest) mit einer zweiten Frequenz, wobei das zweite Taktsignal (clock-dest) zu dem ersten Taktsignal (clock_src) asynchron ist; einem ersten Adressignal (addr_ptr), das einen ersten Speicherort in dem Speicher kennzeichnet, wobei das erste Adressignal (addr_ptr) von dem ersten Taktsignal (clock_src) getaktet ist; einem ersten Synchronisierungssignal (sel_src), das angibt, wann das erste Adressignal (addr_ptr) einen neuen Speicherort kennzeichnet, wobei das erste Synchronisierungssignal (sel_src) von dem ersten Taktsignal (clock_src) getaktet ist; ein zweites Synchronisierungssignal (sel_dest), das kennzeichnet, wann ein zweites Adressignal (addr_ptr_sync) einen neuen Speicherort kennzeichnet, wobei das zweite Synchronisierungssignal (sel_dest) von dem zweiten Taktsignal (clock_dest) getaktet ist; und das zweite Adressignal (addr_ptr_sync) einen Speicherort in dem Speicher kennzeichnet, wobei das zweite Adressignal (addr_ptr_sync) von dem zweiten Taktsignal (clock_dest) getaktet ist, und das zweite Adressignal (addr_ptr_sync) den neuen Speicherort kennzeichnet, nachdem das zweite Synchronisierungssignal (sel_dest) angibt, daß das erste Adressignal (addr_ptr) den neuen Speicherort kennzeichnet.
  16. Signalsatz nach Anspruch 15, mit einem ersten Ausgangs-Synchronisierungssignal (src_out), das von dem ersten Taktsignal (clock_src) getaktet ist, und einem zweiten Ausgangs-Synchronisierungssignal (dest_out), das von dem zweiten Taktsignal (clock_dest) getaktet ist, wobei das erste Synchronisierungssignal (sel_src) durch eine XOR-Verknüpfung des ersten Ausgangs-Synchronisierungssignals (src_out) mit einer verzögerten Version des zweiten Ausgangs-Synchronisierungssignals (dest_out) vorgesehen ist, wobei die verzögerte Version des zweiten Ausgangs-Synchronisierungssignals (dest_out) verzögert ist, um mit einem folgendem Taktzyklus des erste Taktsignals (clock_src) zu beginnen, das zweite Synchronisierungssignal (sel_dest) durch eine XOR-Verknüpfung des zweiten Ausgangs-Synchronisierungssignals (dest_out) verzögerten Version des ersten Ausgangs-Synchronisierungssignals (src_out) vorgesehen ist, wobei die verzögerte Version des ersten Ausgangs-Synchronisierungssignals (src_out) verzögert ist, um mit einem folgenden Taktzyklus des zweiten Taktsignals (clock_dest) zu beginnen, das erste Ausgangs-Synchronisierungssignal (src_out) zu der verzögerten Version des zweiten Ausgangs-Synchronisierungssignals (dest_out) verzögert ist, um mit einem folgendem Taktzyklus des erste Taktsignals (clock_src) zu beginnen und das zweite Ausgangs-Synchronisierungssignal (dest_out) zu der verzögerten Version des ersten Ausgangs-Synchronisierungssignals (src_out) invertiert und verzögert ist, um mit einem folgenden Taktzyklus des zweiten Taktsignals (clock_src) zu beginnen.
DE19941196A 1998-09-17 1999-08-30 Zweikanal-FIFO mit synchronisierten Lese- und Schreibzeigern Expired - Fee Related DE19941196B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/156,516 US6166963A (en) 1998-09-17 1998-09-17 Dual port memory with synchronized read and write pointers
US09/156,516 1998-09-17

Publications (2)

Publication Number Publication Date
DE19941196A1 DE19941196A1 (de) 2000-03-23
DE19941196B4 true DE19941196B4 (de) 2006-09-28

Family

ID=22559893

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19941196A Expired - Fee Related DE19941196B4 (de) 1998-09-17 1999-08-30 Zweikanal-FIFO mit synchronisierten Lese- und Schreibzeigern

Country Status (3)

Country Link
US (4) US6166963A (de)
KR (1) KR100337052B1 (de)
DE (1) DE19941196B4 (de)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6166963A (en) * 1998-09-17 2000-12-26 National Semiconductor Corporation Dual port memory with synchronized read and write pointers
US6367027B1 (en) * 1999-03-22 2002-04-02 Infineon Technologies Ag Skew pointer generation
US6604179B2 (en) * 2000-03-23 2003-08-05 Intel Corporation Reading a FIFO in dual clock domains
US6686920B1 (en) * 2000-05-10 2004-02-03 Advanced Micro Devices, Inc. Optimizing the translation of virtual addresses into physical addresses using a pipeline implementation for least recently used pointer
DE10050980A1 (de) * 2000-10-13 2002-05-02 Systemonic Ag Speicherkonfiguration mit I/O-Unterstützung
US6816979B1 (en) 2001-02-01 2004-11-09 Cypress Semiconductor Corp. Configurable fast clock detection logic with programmable resolution
US6826110B2 (en) * 2002-10-17 2004-11-30 International Business Machines Corporation Cell circuit for multiport memory using decoder
ATE331353T1 (de) * 2002-12-18 2006-07-15 Cit Alcatel Verfahren und system zum bearbeiten von daten zwischen einer schaltungsanordnung zur rückgewinnung einestaktsignals und eins datensignals und einer datenverarbeitungseinheit in asynchronen netzwerken
US6654308B1 (en) 2002-12-23 2003-11-25 Hewlett-Packard Development Company, Lp. Memory having multiple write ports and multiple control memory units, and method of operation
US6813215B2 (en) * 2002-12-23 2004-11-02 Hewlett-Packard Development Company, L.P. Memory having multiple write ports and method of operation
US6754130B1 (en) 2002-12-23 2004-06-22 Hewlett-Packard Development Company, Lp. Memory having multiple write ports and write insert unit, and method of operation
US7149916B1 (en) * 2003-03-17 2006-12-12 Network Equipment Technologies, Inc. Method for time-domain synchronization across a bit-sliced data path design
US6809983B2 (en) * 2003-03-25 2004-10-26 Lsi Logic Corporation Clock generator for pseudo dual port memory
US7194650B2 (en) * 2003-05-09 2007-03-20 Hewlett-Packard Development Company, L.P. System and method for synchronizing multiple synchronizer controllers
US7219251B2 (en) * 2003-05-09 2007-05-15 Hewlett-Packard Development Company, L.P. Programmable clock synchronizer
US7100065B2 (en) * 2003-05-09 2006-08-29 Hewlett-Packard Development Company, L.P. Controller arrangement for synchronizer data transfer between a core clock domain and bus clock domain each having its own individual synchronizing controller
US7245684B2 (en) * 2003-05-09 2007-07-17 Hewlett-Packard Development Company, L.P. System and method for compensating for skew between a first clock signal and a second clock signal
US7623482B2 (en) * 2003-05-10 2009-11-24 Hewlett-Packard Development Company, L.P. System and method for effectuating the transfer of data blocks including a header block across a clock boundary
US7480357B2 (en) * 2003-05-10 2009-01-20 Hewlett-Packard Development Company, L.P. System and method for effectuating the transfer of data blocks across a clock boundary
US6829196B1 (en) * 2003-07-30 2004-12-07 Sun Microsystems, Inc. Method and apparatus for prevention of read corruption in rotated-read register files and content addressable memory arrays
US7454537B1 (en) * 2004-04-22 2008-11-18 Altera Corporation Synchronization and channel deskewing circuitry for multi-channel serial links
US7382847B2 (en) * 2004-07-23 2008-06-03 Hewlett-Packard Development Company, L.P. Programmable sync pulse generator
US7119582B2 (en) * 2004-07-23 2006-10-10 Hewlett-Packard Development Company, Lp. Phase detection in a sync pulse generator
US7340631B2 (en) * 2004-07-23 2008-03-04 Hewlett-Packard Development Company, L.P. Drift-tolerant sync pulse circuit in a sync pulse generator
US20060023819A1 (en) * 2004-07-29 2006-02-02 Adkisson Richard W Clock synchronizer
US7436917B2 (en) * 2004-07-29 2008-10-14 Hewlett-Packard Development Company, L.P. Controller for clock synchronizer
US8260982B2 (en) * 2005-06-07 2012-09-04 Lsi Corporation Method for reducing latency
TW200717246A (en) * 2005-06-24 2007-05-01 Koninkl Philips Electronics Nv Self-synchronizing data streaming between address-based producer and consumer circuits
US7568118B2 (en) * 2005-09-20 2009-07-28 Intel Corporation Deterministic operation of an input/output interface
JP5016880B2 (ja) * 2006-09-21 2012-09-05 富士通株式会社 優先クラスに応じたメモリ管理方法及び装置
US8001409B2 (en) * 2007-05-18 2011-08-16 Globalfoundries Inc. Synchronization device and methods thereof
US7958285B1 (en) * 2007-07-12 2011-06-07 Oracle America, Inc. System and method to facilitate deterministic testing of data transfers between independent clock domains on a chip
DE102007051839B4 (de) * 2007-10-30 2015-12-10 Polaris Innovations Ltd. Kontrollschaltung, Speichervorrichtung mit einer Kontrollschaltung und Verfahren zum Durchführen eines Schreibkommandos bzw. zum Betrieb einer Speichervorrichtung mit einer Kontrollschaltung
US8209470B2 (en) * 2009-04-10 2012-06-26 Honeywell International Inc. CPU data bus PLD/FPGA interface using dual port RAM structure built in PLD
IT1399916B1 (it) * 2010-04-30 2013-05-09 Balluchi Dispositivo di memoria ad accesso di registro indicizzato
US20120250877A1 (en) * 2011-03-31 2012-10-04 Taiyi Cheng Method and system for processing audio signals in a central audio hub
US8832393B2 (en) 2012-04-18 2014-09-09 Lsi Corporation Alignment for multiple FIFO pointers
FR2990283A1 (fr) * 2012-05-04 2013-11-08 Commissariat Energie Atomique Bibliotheque de cellules et procede de conception d'un circuit integre asynchrone
CN113259271B (zh) * 2021-07-15 2021-09-24 武汉绿色网络信息服务有限责任公司 报文交换方法和报文交换系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5555524A (en) * 1995-02-13 1996-09-10 Standard Microsystems Corporation Semi-synchronous dual port FIFO

Family Cites Families (21)

* 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
US4891788A (en) * 1988-05-09 1990-01-02 Kreifels Gerard A FIFO with almost full/almost empty flag
US5294983A (en) * 1990-06-01 1994-03-15 Thomson Consumer Electronics, Inc. Field synchronization system with write/read pointer control
US5426756A (en) * 1992-08-11 1995-06-20 S3, Incorporated Memory controller and method determining empty/full status of a FIFO memory using gray code counters
FR2717591B1 (fr) * 1994-03-15 1996-06-21 Texas Instruments France Mémoire virtuelle d'interconnexion notamment pour la mise en communication de terminaux de télécommunication fonctionnant à des fréquences différentes.
US5644604A (en) * 1994-11-14 1997-07-01 Hal Computer Systems, Inc. Digital phase selector system and method
US5630096A (en) * 1995-05-10 1997-05-13 Microunity Systems Engineering, Inc. Controller for a synchronous DRAM that maximizes throughput by allowing memory requests and commands to be issued out of order
DE69615471T2 (de) * 1995-07-07 2002-05-08 Sun Microsystems Inc Verfahren und Vorrichtung zur dynamischen Berechnung von Füllungsgraden eines synchronen Fifo-Puffer
US5857005A (en) * 1995-07-10 1999-01-05 Vlsi Technology, Inc. Method and apparatus for synchronizing transfer of data between memory cells
US5748551A (en) * 1995-12-29 1998-05-05 Micron Technology, Inc. Memory device with multiple internal banks and staggered command execution
US5905766A (en) * 1996-03-29 1999-05-18 Fore Systems, Inc. Synchronizer, method and system for transferring data
US5884100A (en) * 1996-06-06 1999-03-16 Sun Microsystems, Inc. Low-latency, high-throughput, integrated cache coherent I/O system for a single-chip processor
US5852608A (en) * 1996-06-06 1998-12-22 Sun Microsystems, Inc. Structure and method for bi-directional data transfer between asynchronous clock domains
US5811995A (en) * 1996-08-02 1998-09-22 Advanced Micro Devices, Inc. Circuit for switching between different frequency clock domains that are out of phase
US5787457A (en) * 1996-10-18 1998-07-28 International Business Machines Corporation Cached synchronous DRAM architecture allowing concurrent DRAM operations
US5835752A (en) * 1996-10-18 1998-11-10 Samsung Electronics Co. Ltd. PCI interface synchronization
US5784582A (en) * 1996-10-28 1998-07-21 3Com Corporation Data processing system having memory controller for supplying current request and next request for access to the shared memory pipeline
US5850556A (en) * 1996-12-26 1998-12-15 Cypress Semiconductor Corp. Interruptible state machine
US6000037A (en) * 1997-12-23 1999-12-07 Lsi Logic Corporation Method and apparatus for synchronizing data transfer
US6006340A (en) * 1998-03-27 1999-12-21 Phoenix Technologies Ltd. Communication interface between two finite state machines operating at different clock domains
US6166963A (en) * 1998-09-17 2000-12-26 National Semiconductor Corporation Dual port memory with synchronized read and write pointers

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5555524A (en) * 1995-02-13 1996-09-10 Standard Microsystems Corporation Semi-synchronous dual port FIFO

Also Published As

Publication number Publication date
KR20000022699A (ko) 2000-04-25
KR100337052B1 (ko) 2002-05-16
US6212122B1 (en) 2001-04-03
US6166963A (en) 2000-12-26
US6134155A (en) 2000-10-17
DE19941196A1 (de) 2000-03-23
US6259650B1 (en) 2001-07-10

Similar Documents

Publication Publication Date Title
DE19941196B4 (de) Zweikanal-FIFO mit synchronisierten Lese- und Schreibzeigern
DE69838852T2 (de) Verfahren und vorrichtung zur kopplung von signalen zwischen zwei schaltungen, in verschiedenen taktbereichen arbeitend
DE69733407T2 (de) Schnittstelle zur datenübertragung zwischen zwei taktbereichen
DE69906793T2 (de) Verfahren und anordnung für hochgeschwindigkeitsdatenerfassung mit korrektur der bit-zu-bit-zeitgebung und speicheranordnung unter verwendung derselben
DE69833467T2 (de) Zeitgeberschaltung, Vorrichtung und System für integrierten Halbleiterschaltkreis unter deren Anwendung und Signalübertragungssystem
EP0190554B1 (de) Verfahren und Schaltungsanordnung zum Umschalten einer taktgesteuerten Einrichtung mit mehreren Betriebszuständen
DE10108379C2 (de) Elastische Puffer für eine Serialisierer/Deserialisierer-Wortausrichtung und eine Ratenanpassung zwischen Zeitbereichen
DE19914986B4 (de) Vorrichtung zum Verzögern eines Taktsignals
DE2719531B2 (de) Digitale Logikschaltung zur Synchronisierung der Datenübertragung zwischen asynchrongesteuerten Datensystemen
DE112020004065T5 (de) Komplexe Daisy-Chain-Befehle
DE102005019568B4 (de) Speichereinrichtung, Verwendung derselben und Verfahren zur Synchronisation eines Datenwortes
DE1240953B (de) Zeitmultiplex-UEbertragungsanlage
DE102007004713A1 (de) Datenübergabeeinheit zum Übertragen von Daten zwischen unterschiedlichen Taktbereichen
DE19924254C2 (de) Synchronisierschaltung zum Empfangen eines asynchronen Eingangssignals
DE69432693T2 (de) Schnitstelle zwischen unsynchronisierten Geräten
DE19934500C2 (de) Synchroner integrierter Speicher
EP2085890A1 (de) Verfahren zur Übertragung von Daten zwischen wenigstens zwei Taktdomänen
EP1721407A1 (de) Schnittstellenvorrichtung und verfahren zur synchronisation von daten
DE10255085A1 (de) Synchrones Halbleiterspeicherbauelement vom Mehrbanktyp
WO2005038809A1 (de) Synchrone ram-speicherschaltung
DE60203019T2 (de) Datensynchronisation auf einem peripheriebus
DE102006036823B4 (de) Datensynchronisier- und -pufferschaltung zur Synchronisation von seriell empfangenen Datensignalen
DE10333522B4 (de) Speicheranordnung zur Verarbeitung von Daten und Verfahren
WO2003032568A2 (de) Verfahren und vorrichtung zur synchronisation der datenübertragung zwischen zwei schaltungen
DE4038561A1 (de) Verfahren zur getakteten korrelations- und signalverarbeitung mittels risc-prozessor fuer drahtlose empfaenger in von sendern ausgestrahlten digitalen rahmennetzen, mobilfunknetzen und gleichwertigen einrichtungen und vorrichtung hierzu

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8364 No opposition during term of opposition
R082 Change of representative

Representative=s name: ,

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee