DE102008047439B4 - Datenumwandlung - Google Patents

Datenumwandlung Download PDF

Info

Publication number
DE102008047439B4
DE102008047439B4 DE102008047439A DE102008047439A DE102008047439B4 DE 102008047439 B4 DE102008047439 B4 DE 102008047439B4 DE 102008047439 A DE102008047439 A DE 102008047439A DE 102008047439 A DE102008047439 A DE 102008047439A DE 102008047439 B4 DE102008047439 B4 DE 102008047439B4
Authority
DE
Germany
Prior art keywords
clock
serial data
signals
sampling
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 - Fee Related
Application number
DE102008047439A
Other languages
English (en)
Other versions
DE102008047439A1 (de
Inventor
Masthan Devalla
Chaitanya Dudha
Peter Gregorius
Paul Wallner
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.)
Polaris Innovations Ltd
Original Assignee
Qimonda AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qimonda AG filed Critical Qimonda AG
Publication of DE102008047439A1 publication Critical patent/DE102008047439A1/de
Application granted granted Critical
Publication of DE102008047439B4 publication Critical patent/DE102008047439B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/13Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals
    • H03K5/135Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals by the use of time reference signals, e.g. clock signals
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M9/00Parallel/series conversion or vice versa

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Nonlinear Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

Schaltung, umfassend:
eine Datenumwandlungsschaltung (30, 60) umfassend:
einen ersten Eingang zum Empfangen eines ersten seriellen Datenstroms (data0),
einen zweiten Eingang zum Empfangen eines zweiten seriellen Datenstroms (data120),
einen dritten Eingang zum Empfangen eines dritten seriellen Datenstroms (data240),
eine mit dem ersten, zweiten und dritten Eingang gekoppelte erste Abtastschaltung (32–34; 63–67 um den ersten, zweiten und dritten Datenstrom (data0, data120, data240) in Abhängigkeit von einer Vielzahl von Taktsignalen (en0, en1, en2, en0b, en1b) abzutasten, wobei jeder Datenstrom des ersten, zweiten und dritten Datenstroms in Abhängigkeit von jedem Taktsignal der Vielzahl von Taktsignalen abgetastet wird, und eine entsprechende Vielzahl von ersten abgetasteten Signalen (dat012, dat345, dat678; datA–datE) zu erzeugen, und
eine zweite Abtastschaltung (35; 68–72) zum Abtasten der Vielzahl von ersten abgetasteten Signalen (dat012, dat345, dat678; datA–datE) in Abhängigkeit von einem weiteren Taktsignal (frclk), wobei das weitere Taktsignal (frclk) eine Taktfrequenz aufweist, welche sich von einer...

Description

  • Die vorliegende Erfindung bezieht sich auf Datenumwandlung. Eine Datenumwandlung kann beispielsweise die Umwandlung von einem oder mehreren seriellen Datenströmen in einen oder mehrere parallele Datenströme oder ein Umwandeln einer oder mehrerer paralleler Datenströme einer ersten Breite, beispielsweise einer ersten Bitbreite, in einen oder mehrere parallele Datenströme einer zweiten Breite, welche sich von der ersten Breite unterscheidet, umfassen. Zudem oder alternativ kann eine Datenumwandlung ein Umwandeln von Daten einer ersten Taktdomäne (z. B. mit einem oder mehreren zu Grunde liegenden ersten Taktsignalen) in Daten einer zweiten Taktdomäne (z. B. mit ein oder mehreren zu Grunde liegenden zweiten Taktsignalen, welche sich von den ersten Taktsignalen unterscheiden) umfassen.
  • Aus der nicht vorveröffentlichten DE 10 2006 041 785 B3 sind Verfahren und Vorrichtungen zum Parallelisieren von N, beispielsweise 4, seriellen digitalen Eingangssignalen zu einem parallelen digitalen Ausgangssignal bekannt, bei welchem die Eingangssignale mit verschiedenen Taktsignalen abgetastet werden und so erzeugte abgetastete Signale nochmals in Abhängigkeit von einem weiteren Taktsignal abgetastet werden, um ein Ausgangssignal zu erzeugen.
  • Es besteht ein allgemeiner Bedarf nach effizienten Verfahren und Vorrichtungen zur Datenumwandlung.
  • Diesbezüglich stellt die vorliegende Erfindung gemäß einem Ausführungsbeispiel eine Schaltung nach Anspruch 1 bereit. Gemäß einem anderen Ausführungsbeispiel wird eine Schaltung nach Anspruch 8 bereitgestellt. Nach wieder einem anderen Ausführungsbeispiel wird eine elektronische Vorrichtung nach Anspruch 16 bereitgestellt. Nach einem weiteren Ausführungsbeispiel wird ein Verfahren nach Anspruch 19 oder 22 bereitgestellt. Die abhängigen Ansprüche definieren weitere Ausführungsbeispiele.
  • Bei einem Ausführungsbeispiel wird eine Schaltung bereitgestellt, welche eine Datenumwandlungsschaltung umfasst. Die Datenumwandlungsschaltung umfasst einen ersten Eingang zum Empfangen eines ersten seriellen Datenstroms, einen zweiten Eingang zum Empfangen eines zweiten seriellen Datenstroms und einen dritten Eingang zum Empfangen eines dritten seriellen Datenstroms. Die Datenumwandlungsschaltung umfasst eine erste Abtastschaltung, welche mit dem ersten, zweiten und dritten Eingang gekoppelt ist und ausgestaltet ist, den ersten, zweiten und dritten seriellen Datenstrom in Abhängigkeit von einer Vielzahl von Taktsignalen abzutasten und eine entsprechende Vielzahl von ersten abgetasteten Signalen zu erzeugen, wobei jeder Datenstrom des ersten, zweiten und dritten Datenstroms in Abhängigkeit von jedem Taktsignal der Vielzahl von Taktsignalen abgetastet wird. Die Datenumwandlungsschaltung umfasst eine zweite Abtastschaltung, welche ausgestaltet ist, die Vielzahl von ersten abgetasteten Signalen in Abhängigkeit von einem weiteren Taktsignal abzutasten. Das weitere Taktsignal weist eine Taktfrequenz auf, welche sich von einer Taktfrequenz, welche dem ersten, zweiten und dritten seriellen Datenstrom zu Grunde liegt, unterscheidet.
  • Die Erfindung wird nachfolgend anhand von Ausführungsbeispielen unter Bezugnahme auf die beigefügte Zeichnung näher erläutert. Die Elemente in den Figuren sind nicht notwendigerweise maßstabsgetreu zueinander. Gleiche Bezugszeichen bezeichnen einander entsprechende oder ähnliche Teile.
  • 1 zeigt ein Ausführungsbeispiel einer Vorrichtung.
  • 2 zeigt eine Schnittstellenschaltung gemäß einem Ausführungsbeispiel.
  • 3 zeigt eine Datenumwandlungsschaltung gemäß einem Ausführungsbeispiel.
  • 4 zeigt ein Ausführungsbeispiel einer Taktpfadsteuerungslogik.
  • 5 zeigt beispielhafte Wellenformen von Signalen entsprechend dem Ausführungsbeispiel von 4.
  • 6 zeigt beispielhafte Wellenformen von Signalen entsprechend dem Ausführungsbeispiel von 3.
  • 7 zeigt eine Datenumwandlungsschaltung gemäß einem Ausführungsbeispiel.
  • 8 zeigt eine Taktpfadsteuerungslogik gemäß einem Ausführungsbeispiel.
  • 9 zeigt einen Teil eines Multiplexers gemäß einem Ausführungsbeispiel.
  • 10 zeigt beispielhafte Wellenformen von Signalen entsprechend dem Ausführungsbeispiel von 8.
  • 11 zeigt beispielhafte Wellenformen von Signalen entsprechend dem Ausführungsbeispiel von 8.
  • 12 zeigt beispielhafte Wellenformen von Signalen entsprechend dem Ausführungsbeispiel von 7 in einer beispielhaften Betriebsart.
  • 13 zeigt beispielhafte Wellenformen entsprechend dem Ausführungsbeispiel von 7 in einer anderen beispielhaften Betriebsart.
  • 14 zeigt eine Taktpfadsteuerungslogik gemäß einem Ausführungsbeispiel.
  • Im Folgenden werden Ausführungsbeispiele der vorliegenden Erfindung erläutert. Die folgende detaillierte Beschreibung von Ausführungsbeispielen ist nicht eingrenzend auszulegen, und der Bereich der Erfindung ist nicht durch die dargestellten Ausführungsbeispiele begrenzt.
  • Merkmale verschiedener Ausführungsbeispiele, welche im Folgenden beschrieben werden, können miteinander kombiniert werden, soweit nichts anderes angegeben ist.
  • Es ist zudem zu bemerken, dass in der folgenden Beschreibung beispielhafter Ausführungsbeispiele jede direkte Verbindung oder Kopplung zwischen funktionalen Blöcken, Einrichtungen, Komponenten, Schaltungselementen oder anderen physikalischen oder funktionellen in der Zeichnung gezeigten oder im Folgenden beschriebenen Einheiten ebenso durch eine indirekte Verbindung oder Kopplung, d. h. eine Verbindung oder Kopplung mit dazwischen liegenden Elementen, realisiert werden kann. Zudem können in der Zeichnung gezeigte funktionelle Blöcke oder Einheiten in manchen Ausführungsbeispielen als getrennte Schaltungen implementiert sein, aber können bei anderen Ausführungsbeispielen der Erfindung auch ganz oder teilweise in einer gemeinsamen Schaltung implementiert sein.
  • 1 zeigt eine Vorrichtung gemäß einem Ausführungsbeispiel der vorliegenden Erfindung. Das in 1 dargestellte Ausführungsbeispiel umfasst eine erste Schaltung 10, eine Schnittstellenschaltung 11 und eine zweite Schaltung 12. Die erste Schaltung 10 gibt einen seriellen Datenstrom sdata aus, welcher von der Schnittstellenschaltung 11 empfangen wird. Die Schnittstellenschaltung 11 wandelt den seriellen Datenstrom sdata in einen parallelen Datenstrom pdata um. Bei einem Ausführungsbeispiel kann pdata eine Breite von 9 Bit aufweisen, obwohl bei einem anderen Ausführungsbeispiel eine andere Bitbreite benutzt werden kann. Der parallele Datenstrom pdata wird von der zweiten Schaltung 12 empfangen und verarbeitet.
  • Bei einem Ausführungsbeispiel sind die erste Schaltung 10, die Schnittstellenschaltung 11 und die zweite Schaltung 12 als getrennte Schaltungen implementiert. Bei einem anderen Ausführungsbeispiel sind andere Implementierungen möglich, beispielsweise durch Integrieren der Schnittstellenschaltung 11 und der zweiten Schaltung 12 in einer einzigen integrierten Schaltung.
  • Während in dem in 1 dargestellten Ausführungsbeispiel eine einzige serielle Datenverbindung zwischen der ersten Schaltung 10 und der Schnittstellenschaltung 11 und eine einzige parallele Datenverbindung zwischen der Schnittstellenschaltung 11 und der Schaltung 12 dargestellt ist, können bei anderen Ausführungsbeispielen zusätzliche Verbindungen, sowohl serieller als auch paralleler Art, zwischen den verschiedenen Elementen vorhanden sein. Zudem können bei Ausführungsbeispielen weitere Verbindungen vorhanden sein, um die erste Schaltung 10 und/oder die zweite Schaltung 12 mit anderen Komponenten innerhalb oder außerhalb der Vorrichtung zu verbinden.
  • Bei einem Ausführungsbeispiel ist die erste Schaltung 10 eine Speichersteuerung, und die zweite Schaltung 12 ist eine von der Speichersteuerung gesteuerte Speicherschaltung, beispielsweise eine DRAM(Dynamic Random Access Memory)-Schaltung. Bei anderen Ausführungsbeispielen können andere Arten von Schaltungen benutzt werden.
  • Während bei dem in 1 dargestellten Ausführungsbeispiel Daten, welche über eine einzige serielle Datenverbindung gesendet werden, durch die Schnittstellenschaltung 11 in über eine einzige parallele Datenverbindung gesendete parallele Daten konvertiert werden, können bei einem anderen Ausführungsbeispiel Daten, welche über ein oder mehrere serielle Datenverbindungen gesendet werden, in Daten konvertiert werden, welche über ein oder mehrere parallele Datenverbindungen gesendet werden. Beispielsweise können bei einem Ausführungsbeispiel Daten, welche über drei serielle Datenverbindungen gesendet werden, in Daten umgewandelt werden, welche über eine einzige parallele Datenverbindung gesendet werden. Diesbezüglich ist zu bemerken, dass eine Vielzahl serieller Datenverbindungen (beispielsweise drei serielle Datenverbindungen) auch als parallele Verbindung (beispielsweise eine 3 Bit breite parallele Verbindung) angesehen werden können.
  • Bei dem in 1 dargestellten Ausführungsbeispiel weist ein dem parallelen Datenstrom pdata zu Grunde liegendes Taktsignal eine Taktfrequenz auf, welche einer Taktfrequenz eines Taktsignals, welches dem seriellen Datenstrom sdata zu Grunde liegt, geteilt durch die Symbolbreite des parallelen Datenstroms pdata (d. h. geteilt durch die Anzahl von Datensymbolen, welche in dem parallelen Datenstrom pdata parallel übertragen werden), entspricht. Bei einem Ausführungsbeispiel ändert sich diese Beziehung entsprechend, wenn mehr als ein serieller Datenstrom benutzt wird. Im Folgenden werden Bits als Beispiel für Datensymbole verwendet. Beispielsweise ist, wenn die Bitbreite des parallelen Datenstroms pdata 9 ist, eine Taktfrequenz des pdata zu Grunde liegenden Taktsignals oder in anderen Worten eine Übertragungsrate von 9-Bit-Rahmen des Datenstroms pdata ein Neuntel der Taktfrequenz eines sdata zu Grunde liegenden Taktsignals oder in anderen Worten ein Neuntel der Bitrate von sdata. Um ein anderes Beispiel zu nehmen, ist, wenn drei serielle Datenströme mit derselben zu Grunde liegenden Taktfrequenz (oder ein 3 Bit breiter paralleler Datenstrom) in einen 9 Bit breiten parallelen Datenstrom umgewandelt wird, eine dem 9 Bit breiten parallelen Datenstrom zu Grunde liegende Taktfrequenz ein Drittel der den drei seriellen Datenströmen zu Grunde liegenden Taktfrequenz.
  • In 2 ist ein Ausführungsbeispiel einer Schnittstellenschaltung dargestellt, welche beispielsweise als Schnittstellenschaltung 11 in dem Ausführungsbeispiel von 1 benutzt werden kann, welche aber ebenso in anderen elektronischen Geräten und Vorrichtungen benutzt werden kann.
  • Die Schnittstellenschaltung gemäß dem Ausführungsbeispiel von 2 umfasst Eingänge 20, 21, um einen differenziellen seriellen Datenstrom sdataa, sdatab zu empfangen, wobei sdatab die invertierte Version von sdataa ist. sdataa und sdatab werden einem Eingangstreiber 23 zugeführt, welcher in Abhängigkeit von den differenziellen Signalen sdataa, sdatab einen einpoligen seriellen Datenstrom sdatas ausgibt. Bei einem anderen Ausführungsbeispiel kann nur ein einziger Eingang zum Empfangen eines einpoligen seriellen Datenstroms bereitgestellt sein.
  • Bei einem Ausführungsbeispiel umfasst der Eingangstreiber 23 einen Verstärker. Bei einem anderen Ausführungsbeispiel umfasst der Eingangstreiber 23 zusätzlich oder alternativ eine Vielzahl von Komponenten, beispielweise einen Entzerrer oder einen Haupttreiber.
  • Der serielle Datenstrom sdatas ist bei dem Ausführungsbeispiel von 2 ein von einem zu Grunde liegenden Taktsignal getakteter Datenstrom. Das zu Grunde liegende Taktsignal weist eine Taktfrequenz und eine Taktphase auf.
  • Der serielle Datenstrom sdatas bei dem Ausführungsbeispiel von 2 wird drei Abtasteinheiten 23, 24 und 25 zugeführt und basierend auf Taktsignalen clk0, clk120 bzw. clk240 abgetastet. Bei einem Ausführungsbeispiel sind die Abtasteinheiten 23, 24, 25 Latch-Register oder sie beruhen auf Latch-Registern. Bei anderen Ausführungsbeispielen können andere Arten von Abtasteinheiten wie Flipflop-basierende Abtasteinheiten benutzt werden.
  • Bei dem in 2 dargestellten Ausführungsbeispiel werden die Taktsignale clk0, clk120 und clk240 in Abhängigkeit von dem oben erwähnten sdatas zu Grunde liegenden Taktsignal und einer Steuersignalsteuerung durch eine Taktphasenanpassungssteuerung 22 erzeugt. Die Taktsignale clk0, clk120 und clk240 weisen bei dem Ausführungsbeispiel von 2 jeweils die gleiche Taktfrequenz auf und sind zueinander um 120 Grad phasenverschoben (d. h. clk120 ist bezüglich clk0 um 120 Grad phasenverschoben, und clk240 ist in Bezug auf clk120 um 120 Grad phasenverschoben). Um die Taktsignale clk0, clk120 und clk240 zu erzeugen, kann die Taktphasenanpassungsschaltung 22 bei einem Ausführungsbeispiel beispielsweise einen Taktteiler und eine Verzögerungsregelschleife (DLL, Delay Locked Loop) umfassen. Bei dem Ausführungsbeispiel von 2 kann durch Benutzung des Steuerungssignals control die Phase der Taktsignale clk0, clk120 und clk240 gemeinsam angepasst werden, um eine optimierte Abtastung des seriellen Datenstroms sdatas bereitzustellen, beispielsweise um die Taktsignale clk0, clk120 und clk240 an eine Augenöffnung von sdatas anzupassen.
  • Bei dem Ausführungsbeispiel von 2 ist die Taktfrequenz der Taktsignale clk0, clk120 und clk240 ein Drittel einer Taktfrequenz eines Referenztaktsignals clk. Es ist zu bemerken, dass clk kein tatsächlich benutztes Signal sein muss, sondern auch als virtuelles Referenztaktsignal, welches zu Erklärungszwecken benutzt wird, angesehen werden kann.
  • Durch das Abtasten von sdatas in Abhängigkeit vom Taktsignal clk0 erzeugt die Abtasteinheit 23 einen seriellen Datenstrom data0. Durch Abtasten von sdatas basierend auf clk120 erzeugt die Abtasteinheit 24 einen seriellen Datenstrom data120. Durch Abtasten von sdatas in Abhängigkeit von dem Taktsignal clk240 erzeugt die Abtasteinheit 25 einen seriellen Datenstrom data240. Bei einem Ausführungsbeispiel kann die Datenrate der seriellen Datenströme data0, data120 und data240 jeweils ein Drittel der Datenrate des seriellen Datenstroms sdatas sein.
  • Bei dem Ausführungsbeispiel von 2 werden die Signale data0, data120 und data240 einer Umwandlungsschaltung 27 zugeführt. Zudem wird das Taktsignal clk120 der Umwandlungsschaltung 27 zugeführt. Wie durch gestrichelte Linien angedeutet, kann bei dem Ausführungsbeispiel von 2 zusätzlich oder alternativ zudem eine invertierte Version von clk120, mit clk120b bezeichnet, der Umwandlungsschaltung 27 zugeführt werden. Bei einem anderen Ausführungsbeispiel können zudem oder alternativ clk120 oder seine invertierte Version clk120b und ein oder mehrere Taktsignale aus der Gruppe clk0, clk240 der Umwandlungsschaltung 27 zugeführt werden, möglicherweise in invertierter Form. Die Umwandlungsschaltung 27 gibt einen parallelen Datenstrom pdata aus, welcher bei dem Ausführungsbeispiel von 2 ein 9-Bit-Signal ist. Bei anderen Ausführungsbeispielen sind andere Bitbreiten möglich. Jeweils 9 parallele Bits des parallelen Datenstroms pdata werden im Folgenden auch als Rahmen (engl.: frame) bezeichnet. Der parallele Datenstrom pdata wird durch ein Taktsignal frclk getaktet, welches in dem Ausführungsbeispiel von 2 eine Frequenz von einem Neuntel der Frequenz des Referenztaktsignals clk oder ein Drittel der Frequenz von clk0, clk120 und clk240, aufweist. Das Taktsignal frclk bei dem Ausführungsbeispiel von 2 ist nicht unbedingt vollständig synchron mit den Taktsignalen clk0, clk120 und clk240, sondern es kann eine Unsicherheit bezüglich der Phasenbeziehung zwischen frclk auf der einen Seite und clk0, clk120 und clk240 auf der anderen Seite (beispielsweise aufgrund von Jitter) geben. Bei dem in 2 dargestellten Ausführungsbeispiel kann die Umwandlungsschaltung durch ein Steuersignal cctrl gesteuert werden, beispielsweise um die Umwandlungsschaltung 27 zu aktivieren oder zu deaktivieren. Verschiedene Ausführungsbeispiele von Umwandlungsschaltungen, welche in dem Ausführungsbeispiel von 2 benutzt werden können, aber auch in anderen Umgebungen benutzt werden können, in denen eine Vielzahl von seriellen Datenströmen wie data0, data120 und data240 in einen parallelen Datenstrom umgewandelt werden soll, werden im Folgenden diskutiert.
  • In 3 ist eine Umwandlungsschaltung 30 gemäß einem Ausführungsbeispiel dargestellt, welche beispielsweise als Umwandlungsschaltung 27 in dem Ausführungsbeispiel von 2 benutzt werden kann. Der in 3 dargestellten Umwandlungsschaltung 30 werden serielle Datenströme data0, data120 und data240 wie bereits in 2 dargestellt zugeführt. Aus Klarheitsgründen sind diese drei Datenströme in 3 als ein einziger 3 Bit breiter paralleler Datenstrom dargestellt.
  • Bei dem Ausführungsbeispiel von 3 wird dieser 3 Bit breite parallele Datenstrom Flipflopeinheiten 32, 33 und 34 zugeführt, wo er basierend auf Taktsignalen en0, en1 bzw. en2 abgetastet wird, um parallele 3-Bit-Datenströme dat012, dat345 bzw. dat678 zu erzeugen. en0, en1 und en2 werden bei dem in 3 gezeigten Ausführungsbeispiel in Abhängigkeit vom Taktsignal clk120 durch eine Taktpfadsteuerlogik 31 erzeugt. Bei dem Ausführungsbeispiel von 3 ist das Taktsignal clk120 ein dem Datenstrom data120 zu Grunde liegendes Taktsignal, während data0 und data240 auf Taktsignalen beruhen, welche bezüglich clk120 um 120 Grad in die negative bzw. positive Richtung phasenverschoben sind.
  • Die drei 3-Bit-Datenströme dat012, dat345 und dat678 werden einer Flipflopeinheit 35 zugeführt, in der diese drei 3-Bit-Datenströme in Abhängigkeit von einem Taktsignal frclk abgetastet werden, welches ein Drittel der Taktfrequenz von clk120 aufweist, um einen 9 Bit breiten parallelen Datenstrom pdata zu erzeugen. Somit wird bei dem Ausführungsbeispiel von 3 eine Umwandlung des Datenformats von drei seriellen Datenströmen in einen parallelen Datenstrom und eine Konvertierung der Taktdomäne, auch als Taktdomänenüberquerung (engl.: Clock Domain Crossing) von clk0, clk120 und clk240 auf frclk durchgeführt.
  • Während bei dem Ausführungsbeispiel von 3 drei Flipflopeinheiten 32, 33 und 34 bereitgestellt sind, wobei das Abtasten von data0, data120 und data240 basierend auf Flipflops durchgeführt wird (z. B. drei Flipflops in jeder Flipflopeinheit, ein Flipflop zum Abtasten von data0, ein Flipflop zum Abtasten von data120 und ein Flipflop zum Abtasten von data240), können bei anderen Ausführungsbeispielen andere Arten von Abtastschaltungen, beispielsweise Latch-Register, benutzt werden.
  • In ähnlicher Weise können, während bei dem in 3 dargestellten Ausführungsbeispiel eine Flipflopeinheit 35, welche beispielsweise neun Flipflops zum Abtasten der drei 3-Bit-Datenströme dat012, dat345 und dat678 umfassen kann, benutzt wird, andere Arten von Abtastschaltungen wie Latch-Register zum Erzeugen des 9-Bit-Datenstroms pdata benutzt werden.
  • Wie erläutert erzeugt bei dem Ausführungsbeispiel von 3 die Taktpfadsteuerungslogik 31 die Taktsignale en0, en1 und en2 in Abhängigkeit von dem Taktsignal clk120. Eine Taktpfadsteuerungslogik 31 gemäß einem Ausführungsbeispiel wird nunmehr unter Bezugnahme auf 4 erläutert.
  • Das in 4 dargestellte Ausführungsbeispiel erzeugt die Taktsignale en1, en2 und en0 in Abhängigkeit von einer invertierten Version clk120b des Taktsignals 120, welche durch einen Inverter 43 erzeugt wird. Um die Taktsignale en1, en2 und en0 zu erzeugen, wird eine schieberegisterähnliche Struktur benutzt, welche Register 44, 45 und 48, einen Inverter 46 und ein Nicht-Und(NAND)-Gatter 47 umfasst. Die Register 44, 45 und 48 werden durch das Taktsignal clk120b (z. B. durch ansteigende Flanken von diesem) getaktet, um eine einzige logische Eins vom Register 48 zum Register 47, vom Register 44 zum Register 45 und vom Register 45 wiederum zum Register 48 usw. zu schieben. Um diese „Schleife” in einer definierten Weise zu starten, ist in dem in 4 dargestellten Ausführungsbeispiel eine Rücksetzstruktur (Reset) bereitgestellt, welche Flipflops 40, 48 und 42 umfasst, welche durch das Taktsignal clk120 (z. B. durch steigende Flanken hiervon) getaktet werden. Die Flipflops 40, 41 und 42 sind bei dem Ausführungsbeispiel von 4 in Reihe geschaltet, und dem Flipflop 40 wird ein Rücksetzsignal resetb zugeführt, welches mit den Taktsignalen clk120 und/oder clk120 synchronisiert sein kann, aber nicht synchronisiert sein muss. Die Kette der Flipflops 40, 41 und 42 erzeugt ein synchronisiertes Rücksetzsignal sresetb, welches dem Register 44, dem Register 45 und dem Nicht-Und-Gatter 47 bei dem Ausführungsbeispiel von 4 zugeführt wird.
  • Das Rücksetzsignal resetb ist ein externes Rücksetzsignal, welches beispielsweise beim Hochfahren des Systems erzeugt wird. Über die beschriebene Rücksetzstruktur werden, wenn ein Rücksetzen durchgeführt wird, die Register 44 und 45 zurückgesetzt, so dass sie eine logische Null ausgeben. Das Register 48 wird nicht zurückgesetzt, aber ihm wird über das Nicht-Und-Gatter 47 eine logische Eins zugeführt, so dass es eine logische Eins ausgibt. Daher wird bei dem Ausführungsbeispiel von 4 durch das Rücksetzen das System in einen Zustand gebracht, bei dem en0 einer logischen Eins und en1, en2 jeweils einer logischen Null entsprechen.
  • Bei einem anderen Ausführungsbeispiel einer Taktpfadsteuerungslogik können die Flipflops 40, 41 und 42 weggelassen sein, und das Rücksetzen kann direkt durch ein externes Rücksetzsignal, beispielsweise ein synchronisiertes Rücksetzsignal, durchgeführt werden. Bei einem anderen Ausführungsbeispiel wird keine Rücksetzstruktur benutzt. Bei einem anderen Ausführungsbeispiel kann eine andere Schaltung zum Synchronisieren eines externes Rücksetzsignals benutzt werden, beispielsweise eine Schaltung, welche eine andere Anzahl von Flipflops wie dargestellt benutzt.
  • In 5 sind beispielhafte Wellenformen, welche durch das in 4 dargestellte Ausführungsbeispiel erzeugt werden, dargestellt, um die Funktionsweise dieses Ausführungsbeispiels einer Taktpfadsteuerungslogik zu erläutern. In 5 ist ein beispielhaftes invertiertes Taktsignal clk120b und sich ergebende Taktsignale en0, en1 und en2 dargestellt. Wie dargestellt sind en0, en1 und en2 zueinander um 120 Grad phasenverschoben und weisen jeweils ein Drittel der Taktfrequenz von clk120b auf.
  • Wie durch die beispielhaften Wellenformen von 5 veranschaulicht, werden durch Benutzung der Taktpfadsteuerungslogik von 4 in dem Ausführungsbeispiel von 3 in den Flipflopeinheiten 32, 33 und 34 data0, data120 und data240 jeweils mit jeder dritten ansteigenden Flanke des Taktsignals clk120b abgetastet, wobei die Abtastungen um 120 Grad oder eine Periode des Taktsignals clk120b zueinander phasenverschoben sind.
  • Als nächstes wird der Betrieb der Umwandlungsschaltung des in 3 dargestellten Ausführungsbeispiels unter Benutzung von beispielhaften Wellenformen wie in 6 gezeigt detaillierter erläutert. Zum Zwecke der Veranschaulichung wird bei 6 angenommen, dass die Umwandlungsschaltung 30 des Ausführungsbeispiels von 3 in einer Schnittstellenschaltung wie der in 2 dargestellten benutzt wird, in der ein serieller Datenstrom sdata durch drei Taktsignale clk0, clk120 und clk240 abgetastet wird, um wie unter Bezugnahme auf 2 erläutert serielle Datenströme data0, data120 und data240 zu erzeugen. In 6 sind in den ersten vier Zeilen das Referenztaktsignal clk und die Taktsignale clk0, clk120 und clk240, welche jeweils ein Drittel der Taktfrequenz von clk aufweisen und zueinander um 120 Grad phasenverschoben sind, dargestellt. Die Taktsignale clk0, clk120 und clk240 werden benutzt, den seriellen Datenstrom sdata abzutasten, um die in 6 ebenfalls dargestellten Datenströme data0, data120 und data240 zu erzeugen. Die (wiederum als Beispiel für Datensymbole dienenden) Bits von data0, data120 und data240 sind in 6 jeweils mit einer Kombination eines Buchstabens (a, b, ...) und einer Zahl bezeichnet. Der Buchstabe gibt einen Rahmen oder einen 9-Bit-Einheit an, für welche das jeweilige Bit in dem schlussendlich ausgegebenen parallelen Datenstrom pdata beabsichtigt ist, und die Zahl zeigt eine Bitposition innerhalb des jeweiligen 9-Bit-Rahmens an. Beispielsweise sollen wie unten näher erläutert die Bits a0 bis a8 die Bits Nummer 0–8 eines 9-Bit-Rahmens bilden. Der serielle Datenstrom sdata kann in einem Ausführungsbeispiel ein Datenstrom sein, in dem Bits sequenziell übertragen werden, wobei die Bits mit a0, a1, ..., a8, b0, b1, ..., b8, ... bezeichnet sind.
  • Zudem ist in 6 clk120b als invertiertes Signal von clk120 dargestellt. Von dem Signal clk120b werden Taktsignale en0, en1 und en2 wie in 5 dargestellt abgeleitet und bei dem Beispiel von 6 benutzt, um die Datenströme data0, data120 und data240 abzutasten, um 3-Bit-Datenströme dat012, dat345 und dat678 zu erzeugen, welche ebenso in 6 dargestellt sind. Die Bezeichnungen in den Wellenformen von dat012, dat345 und dat678 zeigen an, welche 3 Bits in der jeweiligen Symbolperiode des jeweiligen Signals vorhanden sind. Beispielsweise gibt a012 an, dass in der jeweiligen Symbolperiode die Bits a0, a1 und a2 vorliegen.
  • Bei dem Ausführungsbeispiel von 3 werden die Datenströme dat012, dat345 und dat678 dann mit dem Taktsignal frclk abgetastet, um das 9-Bit-Signal pdata zu erzeugen, wobei wiederum die Bezeichnungen angeben, welche Bits in welcher Symbolperiode vorliegen. Beispielsweise zeigt a012345678 an, dass in der jeweiligen Symbolperiode pdata die Bits a0 bis a8 umfasst.
  • Wie in 6 zu sehen ist, kann bei dem Ausführungsbeispiel von 3 das Taktsignal frclk wie durch einen Pfeil 51 angedeutet innerhalb eines Fensters 50 verschoben werden, welches drei Einheitsintervalle oder Taktzyklen des Referenztaktsignals clk breit ist, und immer noch die korrekten Ergebnisse erzeugen (d. h. nach wie vor werden diejenigen Bits, welche mit demselben Kleinbuchstaben bezeichnet sind, zusammen abgetastet). In anderen Worten kann es bei dem Ausführungsbeispiel von 3 eine Phasenverschiebung zwischen clk120 und frclk innerhalb des Fensters 50 geben oder, in anderen Worten, frclk kann ein Taktsignal einer Taktdomäne sein, welche nicht vollständig mit der Taktdomäne, welche beispielsweise clk120 umfasst, ausgerichtet ist, d. h. nicht vollständig eine nominelle Phasenbeziehung aufweisen, beispielsweise aufgrund von Jitter.
  • Es ist zu bemerken, dass die beispielhaften Wellenformen, welche in 5 und 6 dargestellt sind, lediglich dazu dienen sollen, einen beispielhaften Betrieb der in 3 und 4 dargestellten Ausführungsbeispiele zu veranschaulichen, und die Ausführungsbeispiele der 3 und 4 sind nicht auf die Benutzung dieser Wellenformen beschränkt.
  • Ein weiteres Ausführungsbeispiel einer Umwandlungsschaltung wird als nächstes unter Bezugnahme auf 7 erläutert. In 7 ist eine Umwandlungsschaltung 60 dargestellt, welche beispielsweise in einem Ausführungsbeispiel von 2 als Umwandlungsschaltung 27 benutzt werden kann. Bei den in 7 dargestellten Ausführungsbeispielen sind serielle Datenströme data0, data120 und data240 als 3 Bit breiter paralleler Datenstrom dargestellt. Data0, data120 und data240 werden Flipflopeinheiten 63, 64, 65, 66 bzw. 67 zugeführt, um in Abhängigkeit von Taktsignalen en0, en0b, en1, en1b bzw. en2 abgetastet zu werden, um 3-Bit-Datensignale datA, datB, datE, bzw. datC zu erzeugen. Die Taktsignale en0, en0b, en1, en1b und en2 werden in dem Ausführungsbeispiel von 7 durch eine Taktpfadsteuerungslogik 61 erzeugt. Bei dem Ausführungsbeispiel von 7 wird der Taktpfadsteuerungslogik 61 ein dem seriellen Datenstrom 120 zu Grunde liegendes Taktsignal clk120 und seine invertierte Version clk120b zugeführt. Weiterhin wird der Taktpfadsteuerungslogik 61 ein Steuersignal wrctrl_en zugeführt, dessen Funktion später erläutert wird und welches ein Beispiel für das in 2 dargestellte Signal cctrl ist.
  • Bei einem Ausführungsbeispiel können die Flipflopeinheiten 6367 jeweils drei Flipflops zum Abtasten der seriellen Datenströme data0, data120 und data240 umfassen. Bei anderen Ausführungsbeispielen können andere Abtastschaltungen benutzt werden.
  • Bei dem Ausführungsbeispiel von 7 werden die 3-Bit-Signale datA, datD, datB, datE und datC Flipflopeinheiten 68, 69, 70, 71 bzw. 72 zugeführt und in Abhängigkeit von dem Taktsignal frclk abgetastet, um 3-Bit-Datensignale datAi, datDi, datBi, datEi bzw. datCi zu erzeugen. Bei einem Ausführungsbeispiel können die Flipflopeinheiten 68-72 jeweils drei Flipflops umfassen, eines zum Abtasten jedes Bits des ihnen zugeführten Signals. Bei anderen Ausführungsbeispielen können andere Abtastschaltungen benutzt werden.
  • Die 3-Bit-Signale datAi, datDi, datBi, datEi und datCi werden bei dem Ausführungsbeispiel von 7 einem Multiplexer 73 zugeführt, wobei der Multiplexer 73 in Abhängigkeit von einem Steuersignal pos, welches in dem Ausführungsbeispiel von 7 ein n-Bit-Signal ist, drei der ihm zugeführten 3-Bit-Signale auswählt, um den parallelen Ausgangsdatenstrom pdata zu bilden. Das Steuersignal pos wird von einer Zählerschaltung 62 erzeugt, welche durch das Taktsignal frclk getaktet wird und welche zudem das Steuersignal wrctrl_en empfängt.
  • Bei dem Ausführungsbeispiel von 7 weist das Taktsignal frclk ein Drittel der Taktfrequenz des Taktsignals clk120 auf. frclk und clk120 müssen bei dem Ausführungsbeispiel von 7 nicht perfekt synchronisiert sein, d. h. keine perfekte vorgegebene Phasenbeziehung aufweisen, sondern ein Phasenversatz ist möglich. Eine Größe des erlaubten Phasenversatzes (welcher beispielsweise durch Jitter erzeugt werden kann) kann bei einem Ausführungsbeispiel durch das Steuersignal wrctrl_en ausgewählt werden. Die Größe des Phasenversatzes kann bei einem Ausführungsbeispiel bei der Initialisierung des Systems bestimmt werden, beispielsweise durch schrittweises Vergrößern des erlaubten Phasenversatzes, bis ein korrekter Ausgangsdatenstrom pdata erzeugt wird. Bei einem derartigen Ausführungsbeispiel kann wrctrl_en ein statisches Signal sein, welches bei der Initialisierung oder beim Hochfahren des Systems bestimmt wird und dann konstant gehalten wird. Bei einem anderen Ausführungsbeispiel kann sich wrctrl_en während des Betriebs verändern (beispielsweise, um auf Änderungen des Phasenversatzes zwischen clk0, clk120 oder clk240 und frclk zu reagieren). Bei einem Ausführungsbeispiel ist wrctrl_en ein 3-Bit-Signal zum Auswählen eines Phasenversatzes oder Timing-Fensters. Bei dem Ausführungsbeispiel von 7 kann das Timing-Fenster auf drei Einheitsintervalle oder Taktzyklen eines Referenztaktsignals clk (entsprechend einem Taktzyklus des Taktsignals clk120), auf sechs Einheitsintervalle des Referenztaktsignals clk oder auf neun Einheitsintervalle des Referenztaktsignals clk gesetzt werden.
  • Bei dem Ausführungsbeispiel von 7 werden in Abhängigkeit von der Auswahl nur manche oder alle der Taktsignale en0, en0b, en1, en1b und en2 und dementsprechend manche oder alle der Signale datA bis datE und datAi bis datEi benutzt. Bei einem Ausführungsbeispiel werden für ein Timing-Fenster von drei Einheitsintervallen, was beispielsweise durch einen Bit-Code des Steuersignals wrctrl_en von 001 angezeigt werden kann, die Taktsignale en0, en0 und en2 benutzt, aber nicht die Taktsignale en0b und en1b und die Signale datD, datE, datDi, datEi, welche sich von diesen ableiten. Ein Timing-Fenster von sechs Einheitsintervallen kann bei diesem Ausführungsbeispiel durch einen Bitcode 010 des Signals wrctrl_en angezeigt werden, wobei in diesem Fall die Taktsignale en0, en0b, en1 und en2 und die entsprechenden abgetasteten Signale, aber nicht das Taktsignal en1b benutzt werden. Ein Timing-Fenster von neun Einheitsintervallen kann bei diesem Ausführungsbeispiel durch einen Bitcode 100 des Signals wrctrl_en angezeigt werden, wobei in diesem Fall alle Taktsignale en0, en0b, en1, en1b und en2 benutzt werden. Bei anderen Ausführungsbeispielen können andere Bitcodes und/oder andere Taktsignale für verschiedene Timing-Fenster benutzt werden.
  • Im Folgenden werden Ausführungsbeispiele von Komponenten des Ausführungsbeispiels von 7 detaillierter erläutert. In 8 ist eine Taktpfadsteuerungslogik 61 gemäß einem Ausführungsbeispiel dargestellt. Dem Ausführungsbeispiel von 8 wird das Taktsignal clk120 und seine invertierte Version clk120b zugeführt. Bei einem anderen Ausführungsbeispiel wird der Taktpfadsteuerungslogik nur das Taktsignal clk120 zugeführt, und die invertierte Version clk120b wird beispielsweise durch Benutzung eines Inverters intern erzeugt. Weiterhin wird das Steuersignal wrctrl_en, welches bei diesem Ausführungsbeispiel ein 3-Bit-Signal wie oben beschrieben ist, der Taktpfadsteuerungslogik 61 zugeführt. Das in 8 dargestellte Ausführungsbeispiel der Taktpfadsteuerungslogik 61 umfasst einen Eingang zum Empfangen eines Rücksetzsignals resetb, welches ein beispielsweise beim Hochfahren des Systems erzeugtes externes Rücksetzsignal ist, um die Takt pfadsteuerungslogik 61 des Ausführungsbeispiels von 8 in einen definierten Startzustand zu versetzen.
  • Das Rücksetzsignal resetb wird einer Kette von drei Flipflops 80, 81 und 82, welche in Reihe geschaltet sind und welche durch das Taktsignal clk120 getaktet sind, zugeführt, wobei die Kette von drei Flipflops 80, 81 und 82 ein synchronisiertes Rücksetzsignal sresetb, d. h. ein mit clk120 synchronisiertes Rücksetzsignal, erzeugt. Die Taktsignale en0, en1, en2, en0b und en1b werden durch eine Abfolge von Registern 83, 84, 85, 86 und 88 erzeugt, welche verschaltet sind, eine schieberegisterähnliche Struktur zu bilden, wobei eine einzige logische Eins herumverschoben wird. Die Register 83, 84, 85, 86 und 88 werden durch das invertierte Taktsignal clk120b getaktet. Im Falle der Register 85 und 86 wird diese Taktung über Steuergatter 89 und 90 bewirkt, welche durch das Signal wctrl_en gesteuert werden, um die Register 85 und 86 nur dann zu takten, wenn die jeweiligen Ausgangssignale en0b und en1b in einer Betriebsart, welche ein Timing-Fenster wie oben beschrieben spezifiziert, benötigt werden. Ein Multiplexer 87 ist bereitgestellt, um das Register 86 oder die Register 85 und 86 zu überbrücken, falls en1b oder in einer anderen Betriebsart en0b und en1b nicht benötigt werden, und um en2, en1b oder en0b als Signal en2m auszugeben. Der Multiplexer 87 wird ebenso durch das wctrl_en gesteuert.
  • Bei dem Ausführungsbeispiel von 8 wird das synchronisierte Rücksetzsignal sresetb Reset-Eingängen der Register 8386 und einem Setzeingang (Set Input) des Registers 88 zugeführt, so dass bei einem Rücksetzen en0 auf eins gesetzt wird und en1, en2, en0b und en1b auf null gesetzt werden.
  • Als nächstes wird ein Ausführungsbeispiel des Multiplexers 73 von 7 diskutiert. Der Multiplexer 73 wird durch die Signale pos und wctrl_en gesteuert. Bei einem Ausführungsbeispiel wählt der Multiplexer 73 Datensignale gemäß der folgenden Tabelle 1: Tabelle 1
    pos Wctrl_en 001 010
    000 pdata210<=datAi pdata543<=datBi pdata876<=datCi pdata210<=datAi pdata543<=datBi pdata876<=datCi pdata210<=datAi pdata543<=datBi pdata876<=datCi
    001 pdata210<=datDi pdata543<=datAi pdata876<=datBi pdata210<=datDi pdata543<=datEi pdata876<=datAi
    010 pdata210<=datCi pdata543<=datDi pdata876<=datAi pdata210<=datBi pdata543<=datCi pdata876<=datDi
    011 pdata210<=datBi pdata543<=datCi pdata876<=datDi pdata210<=datEi pdata543<=datAi pdata876<=datBi
    100 pdata210<=datCi pdata543<=datDi pdata876<=datEi
  • In der obigen Tabelle 1 wird die Auswahl durch den Multiplexer 73 in Abhängigkeit von dem Signal pos und dem 3-Bit-Signal wrctrl_en ausgewählt, wobei bei wrctrl_en ein Wert von 001 einem Timing-Fenster von drei Einheitsintervallen, 010 einem Timing-Fenster von sechs Einheitsintervallen und 100 einem Timing-Fenster von neun Einheitsintervallen entspricht. Bei diesem Ausführungsbeispiel ist pos ein 3-Bit-Signal, welches Werte von 000 bis 100 oder in Dezimalzahlen von 0 bis 4 annimmt. Für einen Wert wrctrl_en von 001 entsprechend einem Timing-Fenster von drei Einheitsintervallen wird bei diesem Ausführungsbeispiel nur ein Wert pos=000 benutzt und wie in der obigen Tabelle 1 angegeben wird datAi für die Bits 0 bis 2 von pdata (in Tabelle 1 als pdata210 bezeichnet) benutzt, datBi wird für Bits 3 bis 5 von pdata (in Tabelle 1 mit pdata543 bezeichnet) benutzt, und datCi wird für Bits 6 bis 8 von pdata (in Tabelle 1 mit pdata876 bezeichnet) benutzt. In dem Fall wrctrl_en=010 entsprechend einem Timing-Fenster von sechs Einheitsintervallen in dem durch Tabelle 1 beschriebenen Ausführungsbeispiel, werden die Signale datAi, datBi, datCi und datDi in Abhängigkeit von dem Wert des Signals pos benutzt, wobei pos Werte von 000 bis 011 (oder 0 bis 3) für diesen Fall annimmt. Wenn wrctrl_en=100 werden in Abhängigkeit von dem Wert von pos von 000 bis 100 drei Signale der fünf Signale datAi bis datEi zum Bilden des Signals pdata benutzt.
  • Bei einem Ausführungsbeispiel umfasst die Zählerschaltung 62 einen durch frclk getäkteten zyklischen Zähler, welcher pos zyklisch in dem durch wrctrl_en bestimmten Bereich zählt, d. h. pos bleibt bei 000, wenn wrctrl_en=001, pos zählt von 000 bis 011 und startet dann wieder bei 000, wenn wrctrl_en=010, und pos zählt von 000 bis 100 und startet dann wieder bei 000, wenn wrctrl_en=100.
  • Eine Implementierung des Multiplexers 73 gemäß einem Ausführungsbeispiel wird als nächstes unter Bezugnahme auf 9 diskutiert. In 9 ist ein Teil des Multiplexers 73 zum Auswählen der Bits 8, 7 und 6 des Signals pdata, d. h. pdata876 in der obigen Notation, dargestellt. Bei einem Ausführungsbeispiel wird eine ähnliche Schaltung zum Auswählen der Bits 5, 4 und 3 und eine weitere ähnlich Schaltung zum Auswählen der Bits 2, 1 und 0 benutzt, oder in anderen Worten umfasst ein Multiplexer gemäß einem Ausführungsbeispiel drei Schaltungen wie in 9 dargestellt.
  • Die in 9 dargestellte Schaltung umfasst fünf Puffer 100 bis 104, wobei jedes der Signale datAi bis datEi einem der Puffer 100 bis 104 wie in 9 dargestellt zugeführt wird.
  • Die Puffer 100 bis 104 werden durch ein Steuersignal ppos gesteuert, welches in dem Ausführungsbeispiel von 9 ein 5-Bit-Signal ist, wobei jedes Bit einen der Puffer 100 bis 104 aktiviert oder deaktiviert. Bei dem Ausführungsbeispiel von 9 steuert Bit Nr. 0 von ppos den Puffer 102, Bit Nr. 1 steuert den Puffer 100, Bit Nr. 2 steuert den Puffer 103, Bit Nr. 3 steuert den Puffer 101 und Bit Nr. 4 steuert den Puffer 104. Bei einem Ausführungsbeispiel werden die Bits von ppos in Abhängigkeit von dem Zähler pos und dem Signal wrctrl_en entsprechend der obigen Tabelle 1 gesetzt. Beispielsweise wird, wenn wrctrl_en=001 ist, ppos[0] auf eins gesetzt und die. übrigen Bits werden auf null gesetzt, so das Puffer 102 aktiviert und die Puffer 100, 101, 103 und 104 deaktiviert werden. In diesem Fall entspricht pdata876 wie in der obigen Tabelle 1 dargestellt datCi.
  • Im Fall wrctrl_en=010 wird entsprechend einem Ausführungsbeispiel wie durch Tabelle 1 dargestellt wenn pos=000 ppos[0] auf eins gesetzt, wenn pos=001 ppos[3] auf eins gesetzt, wenn pos=010 ppos[1] auf eins gesetzt und wenn pos=011 ppos[2] auf eins gesetzt. Die übrigen Bits von ppos werden in jedem Fall auf null gesetzt. Wenn schließlich wrctrl_en=100, wird, wenn pos=000 ppos[0] auf eins gesetzt, wenn pos=001 ppos[1] auf eins gesetzt, wenn pos=010 ppos[2] auf eins gesetzt, wenn pos=011 ppos[3] auf eins gesetzt und wenn pos=100 ppos[4] auf eins gesetzt, oder in anderen Worten wird, wenn wrctrl_en=100, immer die Bitnummer von ppos, welche dem dezimalen Wert von pos entspricht, auf eins gesetzt, und die übrigen Bits von ppos werden in jedem Fall auf null gesetzt.
  • Bei einem Ausführungsbeispiel sind Puffer 100 bis 104 sogenannte Tristate-Puffer (Dreizustandspuffer), welche in einen Zustand mit hoher Impedanz gesetzt werden, wenn das entsprechende Steuerbit auf null gesetzt wird. Bei anderen Ausführungsbeispielen können andere Arten von Puffern oder Schaltern benutzt werden, um pdata876 auf das gewünschte Signal der Signale datAi bis datEi zu setzen. Bei noch einem anderen Ausführungsbeispiel kann anstelle eines Multiplexers, welcher Tristate-Puffer benutzt, ein herkömmlicher Multiplexer benutzt werden.
  • Die Erzeugung des Steuersignals ppos in Abhängigkeit von pos und wrctrl_en wird bei einem Ausführungsbeispiel durch eine Logikschaltung durchgeführt, welche in den Multiplexer 73 oder in die Zählerschaltung 62 bei dem Ausführungsbeispiel von 7 integriert sein kann. Bei einem Ausführungsbeispiel kann eine schieberegisterähnliche Struktur benutzt werden, um zyklisch die „Eins” zum Aktivieren des gewünschten Puffers 100 bis 104 herumzuschieben, wobei diese Struktur in Abhängigkeit von wrctrl_en initialisiert wird. Bei einem derartigen Ausführungsbeispiel kann dieses Schieberegister die Zählerschaltung 62 ersetzen und durch frclk getaktet werden.
  • Als nächstes wird ein beispielhafter Betrieb des in 7 und 8 dargestellten Ausführungsbeispiels unter Benutzung von beispielhaften Wellenformen von Signalen unter Bezugnahme auf 10 bis 13 weiter erläutert.
  • Als erstes wird der Betrieb der Taktpfadsteuerungslogik 61 des in 8 dargestellten Ausführungsbeispiels unter Bezugnahme auf 10 und 11 erläutert. In 10 ist der Betrieb der Steuergatter 89 und 90 des Ausführungsbeispiels von 8 dargestellt. Das in der ersten Zeile von 10 dargestellte invertierte Taktsignal clk120b wird den Steuergattern 89 und 90 zugeführt. Solange das jeweilige Steuergatter nicht durch das Steuersignal wctrl_en aktiviert ist, was in 10 dadurch dargestellt ist, dass dieses Signal auf null liegt, ist ein Ausgangssignal des jeweiligen Steuergatters, welches mit gclk120b in 10 bezeichnet ist, null. Wenn wctrl_en das jeweilige Steuergatter aktiviert, was in 10 durch einen Wert logisch eins von wctrl_en dargestellt wird, entspricht das Ausgangssignal des jeweiligen Steuergatters 89, 90 dem Signal clk120b, was das jeweilige Register 85, 86 aktiviert.
  • Als nächstes werden unter Bezugnahme auf 11 die bereits beschriebenen Betriebsarten der Taktpfadsteuerungslogik 61 des Ausführungsbeispiels von 8 weiter diskutiert. In 11 sind die Signale en2, en0b und en1b und der Ausgang des Multiplexers 87 en2m für die drei Fälle wctrl_en=001, 010 und 100 dargestellt.
  • Im Fall wctrlen=001 sind wie bereits beschrieben en0b und en1b null, da die jeweiligen Register nicht über die Steuergatter 89, 90 getaktet werden. In diesem Fall wird das Signal en2m durch den Multiplexer 87 so gewählt, dass es dem Signal en2 entspricht.
  • Im Fall wctrlen=010 wird dem Register 85 über das Steuergatter 89 das Taktsignal clk120b zugeführt, während das Register 86 immer noch deaktiviert ist. In diesem Fall wird bei dem Ausführungsbeispiel von 8 das Taktsignal en0b erzeugt und durch den Multiplexer 87 als Signal en2m ausgegeben.
  • Wenn wctrl_en=100, werden beide Taktsignale en0b und en1b erzeugt, und das Taktsignal en1b wird durch den Multiplexer 87 als Signal en2m ausgegeben.
  • Wie in 11 dargestellt ändert sich die Taktfrequenz der Taktsignale en1, en2, en0b, en1b und en0 in Abhängigkeit von dem Steuersignal wctrl_en und entspricht allgemein der Frequenz von clk120b geteilt durch die Anzahl aktivierter Taktsignale. Beispielsweise sind, wenn wctrl_en=001, drei Taktsignale (z. B. en1, en2, en0) aktiviert, und die Taktfrequenz dieser Taktsignale ist ein Drittel der Taktfrequenz von clk120b. Wenn wctrl_en=100, werden fünf Taktsignale en0, en1, en2, en0b und en1b erzeugt, deren Taktfrequenz ein Fünftel der Frequenz des Taktsignals clk120b entspricht.
  • Als nächstes werden Wellenformen in dem Ausführungsbeispiel von 7 für verschiedene Werte von wctrl_en unter Bezugnahme auf 12 und 13 diskutiert, wobei 12 Wellenformen für wrctrl_en=010 und 13 Wellenformen für wctrl_en=100 darstellt. Es ist zu bemerken, dass für den Fall wctrl_en=001 die Wellenformen in einem veranschaulichenden Beispiel den bereits unter Bezugnahme auf 5 und 6 diskutierten entsprechen, wobei in diesem Fall en0b und en1b deaktiviert, d. h. null sind.
  • Bei dem veranschaulichenden Beispiel von 12 sind die Wellenformen des Taktsignals clk und der Signale data0, data120 und data240 die gleichen, die bereits als veranschaulichende Beispiele in 6 benutzt wurden, und werden daher nicht nochmals beschrieben. Die Taktsignale en0, en1, en2 und en0b werden in Abhängigkeit von dem invertierten Taktsignal clk120b erzeugt und weisen eine Taktfrequenz auf, welche ein Viertel der Frequenz clk120b ist. Die seriellen Datenströme data0, data120 und data240 werden beidem Beispiel der 12 bei den ansteigenden Flanken von en0, en1, en2 und en0b abgetastet, um 3-Bit-Signale datA, datB, datC bzw. datD zu erzeugen. Die Symbole der Signale datA bis datD sind mit den jeweiligen Bits von data0 bis data240 bezeichnet, wobei beispielsweise a012 die Bits a0, a1 und a2 der seriellen Datenströme data0, data120 bzw. data240 bezeichnen.
  • Die 3 Bit breiten parallelen Datenströme datA bis datD werden jeweils in Abhängigkeit von dem Taktsignal frclk abgetastet, welches eine Taktfrequenz von einem Neuntel des Taktsignals clk entsprechend einem Drittel der Taktfrequenz des invertierten Taktsignals clk120b aufweist. Bei dem Ausführungsbeispiel von 7 muss frclk nicht perfekt mit clk120b ausgerichtet sein, sondern kann innerhalb eines Fensters 110 phasenverschoben sein, welches für den dargestellten Fall von wctrl_en=010 sechs Perioden oder Einheitsintervalle des Signals clk breit ist. In anderen Worten kann frclk innerhalb des Fensters 110 wie durch einen Pfeil 111 angedeutet verschoben sein.
  • In 12 sind die Signale datAi bis datDi, welche jeweils 3 Bit breite parallele Signale sind und welche, da sie alle in Abhängigkeit von frclk abgetastet wurden, in Phase zueinander sind, in einer gemeinsamen Zeile dargestellt. Innerhalb der Symbole sind die Bitwerte jedes der Signale datAi bis datDi angegeben, wobei beispielsweise Bi=z012 angibt, dass das Signal datBi während dieser Periode Bitwerte aufweist, welche den Bits z0, z1 und z2 der seriellen Datenströme data0, data120 und data240 entsprechen.
  • In der vorletzten Zeile von 12 ist das Signal pos in beispielhafter Weise dargestellt, wobei der Wert von pos sowohl als Dezimalzahl als auch als Binärzahl angegeben ist. Für das Ausgangssignal pdata werden Signale gemäß der oben diskutierten Tabelle 1 ausgewählt. Bei dem beispielhaften Beispiel der 12 werden als pdata 9-Bit-Werte ausgegeben, welche denjenigen Bits der seriellen Datenströme data0, data120 und data240 entsprechen, welche mit demselben Kleinbuchstaben bezeichnet sind, beispielsweise Bits z0 bis z8, innerhalb einer einzigen Symbolperiode.
  • Als nächstes wird ein Beispiel für Wellenformen im Fall wctrl_en=100 unter Bezugnahme auf 13 erläutert. Die Signale clk, data0, data120, data240 und clk120b von 13 entsprechen denjenigen in 12. Da in dem Beispiel der 13 wctrl_en=100 gilt, werden durch die Taktpfadsteuerungslogik 61 des Ausführungsbeispiels von 7 fünf Taktsignale en0, en1, en2, en0b und en1b erzeugt, die jeweils eine Taktfrequenz von einem Fünftel der Taktfrequenz von clk120b aufweisen. Die seriellen Datenströme data0, data120 und data240 werden bei den ansteigenden Flanken der Taktsignale en0, en1, en2, en0b und en1b abgetastet, um 3-Bit-Datensignale datA, datB, datC, datD bzw. datE zu erzeugen, deren Beschriftung der bereits unter Bezugnahme auf 12 erläuterten entspricht.
  • Die 3-Bit-Datenströme datA bis datE werden basierend auf dem Taktsignal frclk abgetastet, wobei das Taktsignal frclk im Fall wctrl_en=100 mit dem Taktsignal clk120b nur innerhalb eines Fensters 116 ausgerichtet sein muss, welches neun Perioden oder Einheitsintervalle des Signals clk breit ist (d. h. frclk kann wie durch einen Pfeil 115 angedeutet verschoben sein).
  • In 13 sind die durch das Abtasten der Signale datA bis datE erzeugten Signale datAi bis datEi mit frclk in einer gemeinsamen Zeile dargestellt, wobei die entsprechenden Symbole mit den Werten der 3 Bits jedes der Signale datAi bis datEi beschriftet sind. In der vorletzten Zeile ist das Signal pos dargestellt, welches in dem Ausführungsbeispiel von 7 zyklisch von null bis vier gezählt wird. In Abhängigkeit von dem Signal pos werden drei Signale aus den Signalen datAi bis datEi ausgewählt, um den 9 Bit breiten parallelen Datenstrom pdata zu bilden, bei welchen in dem Beispiel der 13 9-Bit-Werte durch diejenigen Bits der seriellen Datenströme data0 bis data240 gebildet werden, welche mit demselben Kleinbuchstaben bezeichnet sind.
  • Die Wellenformen der 12 und 13 sind lediglich als veranschaulichendes Beispiel zum Darstellen eines möglichen Betriebs der Ausführungsbeispiele von 7 und 8 zu verstehen, und Ausführungsbeispiele der vorliegenden Erfindung können auch unter Benutzung anderer Wellenformen betrieben werden.
  • Bei dem Ausführungsbeispiel der 7 und 8 wird das Steuersignal wctrl_en benutzt, um zwischen drei Betriebsarten umzuschalten, in denen eine erlaubte Fehlanpassung bzw. ein erlaubter Versatz zwischen dem Taktsignal frclk und dem Taktsignal clk120b drei Einheitsintervalle von clk, sechs Einheitsintervalle von clk bzw. neun Einheitsintervalle von clk beträgt. Bei einem anderen Ausführungsbeispiel wird kein derartiges Steuersignal bereitgestellt, und die Umwandlungsschaltung ist auf eine der Umwandlungsbetriebsarten festgelegt. Ein Ausführungsbeispiel einer Taktpfadsteuerungslogik 61A für einen derartigen Fall ist in 14 dargestellt, wobei das in 14 dargestellte Ausführungsbeispiel fünf Taktsignale en1, en2, en0b, en1b und en0 in Abhängigkeit von einem invertierten Taktsignal clk120b erzeugt.
  • Bei dem Ausführungsbeispiel von 14 sind Elemente, welchen Elemente des Ausführungsbeispiels von 8 entsprechen, mit dem gleichen Bezugszeichen bezeichnet und, da ihre generelle Funktionsweise die gleiche wie bereits unter Bezugnahme auf 8 beschrieben ist, wird ihre Beschreibung hier nicht wiederholt. Die Taktpfadsteuerungslogik 61A des Ausführungsbeispiels aus 14 ist fest verdrahtet, um immer fünf Taktsignale en1, en2, en0b, en1b und en0 durch die schieberegisterähnliche Struktur umfassend Register 83, 84, 85, 86 und 88 zu erzeugen. Die Taktpfadsteuerungslogik 61A kann beispielsweise in einem Ausführungsbeispiel benutzt werden, welche eine Fehlanpassung zwischen frclk und clk120b von neun Einheitsintervallen des Signals clk gestattet.
  • Bei einem anderen Ausführungsbeispiel kann eine Taktpfadsteuerungslogik fest verdrahtet sein, um vier Taktsignale (z. B. en1, en2, en0b und en0) oder drei Taktsignale (z. B. en1, en2 und en0) zu erzeugen.
  • Die oben beschriebenen Ausführungsbeispiele sind nur als beispielhaft zu verstehen, und eine Vielzahl von Abwandlungen können durch Fachleute vorgenommen werden. Beispielsweise kann das in 7 dargestellte Ausführungsbeispiel zwischen Betriebsarten umgeschaltet werden, welche eine Fehlanpassung zwischen frclk und clk120b oder einem anderen der data0, data120 und data240 zu Grunde liegenden Taktsignale von drei Einheitsintervallen, sechs Einheitsintervallen und neun Einheitsintervallen gestatten. Bei anderen Ausführungsbeispielen sind größere Fehlanpassungen möglich, entweder in einer auswählbaren Betriebsart oder in einer fest verdrahteten Weise (z. B. durch Bereitstellen von zusätzlichen Taktsignalen zum Abtasten von data0, data120 und data240). Bei einem Ausführungsbeispiel kann dies beispielsweise erreicht werden, indem die Taktpfadsteuerungslogik, wie sie beispielsweise in 8 oder 14 dargestellt ist, mit zusätzlichen Registern in der schieberegisterähnlichen Kette verlängert wird, um zusätzliche Taktsignale zu erzeugen, und eine entsprechend vergrößerter Anzahl von Flipflopeinheiten 63 bis 72 in dem Ausführungsbeispiel von 7 bereitgestellt wird. Weiterhin könnten, während die hier beschriebenen Ausführungsbeispiele drei serielle Datenströme mit zueinander phasenverschobenen zu Grunde liegenden Taktsignalen, welche von einem einzigen seriellen Datenstrom abgeleitet werden, in einen parallelen Datenstrom mit einem Drittel der Taktfrequenz der seriellen Datenströme umwandeln, bei einem anderen Ausführungsbeispiel N serielle Datenströme bereitgestellt werden und in einen parallelen Datenstrom mit 1/N der Taktfrequenz der seriellen Datenströme umgewandelt werden.
  • Ein Ausführungsbeispiel der vorliegenden Erfindung ist in Situationen anwendbar, in denen drei serielle Datenströme bereitgestellt werden, beispielsweise aus verschiedenen Quellen, oder kann eine Schaltung umfassen, um einen einzigen seriellen Datenstrom in drei serielle Datenströme umzuwandeln. Ein Ausführungsbeispiel kann in Situationen angewendet werden, in denen serielle Datenströme in einen parallelen Datenstrom umgewandelt werden sollen, wobei ein dem parallelen Datenstrom zu Grunde liegendes Taktsignal sich von den seriellen Datenströmen zu Grunde liegenden Taktsignalen unterscheidet, beispielsweise eine andere Taktfrequenz und eine Phasenfehlanpassung in einem vorgegebenen oder detektierbaren Bereich aufweist. Ein derartiges Ausführungsbeispiel kann beispielsweise zwischen Schaltungen wie in 1 dargestellt verwendet werden (z. B. zwischen einer Speichersteuerung und einem Speicher).
  • Weiterhin können, während Bits als Beispiele für Datensymbole der verschiedenen Datenströme beschrieben wurden, andere Arten von Datensymbolen ebenso benutzt werden.
  • Somit ist die vorstehende Erfindung nicht auf die dargestellten Ausführungsbeispiele begrenzt.

Claims (25)

  1. Schaltung, umfassend: eine Datenumwandlungsschaltung (30, 60) umfassend: einen ersten Eingang zum Empfangen eines ersten seriellen Datenstroms (data0), einen zweiten Eingang zum Empfangen eines zweiten seriellen Datenstroms (data120), einen dritten Eingang zum Empfangen eines dritten seriellen Datenstroms (data240), eine mit dem ersten, zweiten und dritten Eingang gekoppelte erste Abtastschaltung (3234; 6367 um den ersten, zweiten und dritten Datenstrom (data0, data120, data240) in Abhängigkeit von einer Vielzahl von Taktsignalen (en0, en1, en2, en0b, en1b) abzutasten, wobei jeder Datenstrom des ersten, zweiten und dritten Datenstroms in Abhängigkeit von jedem Taktsignal der Vielzahl von Taktsignalen abgetastet wird, und eine entsprechende Vielzahl von ersten abgetasteten Signalen (dat012, dat345, dat678; datA–datE) zu erzeugen, und eine zweite Abtastschaltung (35; 6872) zum Abtasten der Vielzahl von ersten abgetasteten Signalen (dat012, dat345, dat678; datA–datE) in Abhängigkeit von einem weiteren Taktsignal (frclk), wobei das weitere Taktsignal (frclk) eine Taktfrequenz aufweist, welche sich von einer dem ersten, zweiten und dritten seriellen Datenstrom (data0, data120, data240) zu Grunde liegenden Taktfrequenz unterscheidet.
  2. Schaltung gemäß Anspruch 1, wobei die Taktfrequenz des weiteren Taktsignals (frclk) ein Drittel der Taktfrequenz ist, welche dem ersten, zweiten und dritten seriellen Datenstrom (data0, data120, data240) zu Grunde liegt.
  3. Schaltung nach Anspruch 1 oder 2, wobei eine Taktfrequenz der Vielzahl von Taktsignalen (en0, en1, en2, en0b, en1b) größer oder gleich einer Taktfrequenz des weiteren Taktsignals(frclk) ist.
  4. Schaltung gemäß einem der Ansprüche 1–3, wobei die Anzahl der Vielzahl von Taktsignalen (en0, en1, en2, en0b, en1b) mindestens drei beträgt.
  5. Schaltung gemäß einem der Ansprüche 1–4, wobei die Datenumwandlungsschaltung (30, 60) weiter umfasst: einen vierten Eingang zum Empfangen eines vierten seriellen Datenstroms (sdatas), und eine mit dem vierten Eingang gekoppelte dritte Abtastschaltung (23, 24, 25) zum Abtasten des vierten seriellen Datenstroms (sdatas) mit drei Taktsignalen (clk0, clk120, clk240), wobei die drei Taktsignale (clk0, clk120, clk240) die gleiche Frequenz aufweisen und zueinander um näherungsweise 120 Grad phasenverschoben sind, um den ersten, zweiten und dritten seriellen Datenstrom (data0, data120, data240) zu erzeugen.
  6. Schaltung nach einem der Ansprüche 1–5, weiter umfassend: eine Takterzeugungsschaltung (31; 61) zum Erzeugen der Vielzahl von Taktsignalen (en0, en1, en2, en0b, en1b) in Abhängigkeit von einem dem ersten, zweiten und/oder dritten seriellen Datenstrom (data0, data120, data240) zu Grunde liegenden Taktsignal.
  7. Schaltung gemäß einem der Ansprüche 1–6, wobei jedes Datensymbol der ersten abgetasteten Signale (dat012, dat345, dat678; datA–datE) ein Datensymbol des ersten seriellen Datenstroms (data0), ein Datensymbol des zweiten seriellen Datenstroms (data120) und ein Datensymbol. des dritten seriellen Datenstroms (data240) umfasst.
  8. Schaltung, umfassend: eine Datenumwandlungsschaltung (27; 30; 60), umfassend: einen Eingang zum Empfangen von N Datenströmen, wobei N größer oder gleich zwei ist, eine Vielzahl von M ersten Abtastschaltungen (3234; 6367), welche mit dem Eingang gekoppelt sind und ausgestaltet sind, in jeder der M ersten Abtastschaltungen (3234; 6367) die N Datenströme basierend auf einem jeweiligen Taktsignal von M ersten Taktsignalen (en0, en1, en2, en0b, en1b) abzutasten, eine Vielzahl von M zweiten Abtastschaltungen (6872), wobei jede der zweiten Abtastschaltungen (6872) mit einem Ausgang einer der ersten Abtastschaltungen (6367) gekoppelt ist und ausgestaltet ist, ein von der jeweiligen der M ersten Abtastschaltungen ausgegebenes Signal in Abhängigkeit von einem zweiten Taktsignal (frclk) abzutasten, und eine mit Ausgängen der M zweiten Abtastschaltungen (6872) gekoppelte Multiplexerschaltung (73) zum Auswählen eines Ausgangssignals in Abhängigkeit von den Ausgängen der M zweiten Abtastschaltungen (6872).
  9. Schaltung nach Anspruch 8, umfassend: eine Takterzeugungsschaltung (61) zum Erzeugen der M ersten Taktsignale (en0, en1, en2, en0b, en1b) in Abhängigkeit von einem Taktsignal (clk120), welches einem der N Datenströme (data0, data120, data240) zu Grunde liegt.
  10. Schaltung nach Anspruch 9, wobei die Takterzeugungsschaltung (61) eine Schieberegisterstruktur (8386, 88) umfasst.
  11. Schaltung gemäß Anspruch 9 oder 10, wobei die Takterzeugungsschaltung (61) einen Steuereingang umfasst, wobei in Abhängigkeit von einem am Steuereingang anliegenden Steuersignal (wrctrl_en) L der M ersten Taktsignale (en0, en0b, en1, en1b, en2) in Abhängigkeit von einem Steuersignal (wrtrl_en) deaktiviert werden, wobei L kleiner ist als M.
  12. Schaltung gemäß einem der Ansprüche 8–11, wobei die Multiplexerschaltung (73) Tristate-Puffer (100104) umfasst.
  13. Schaltung gemäß einem der Ansprüche 8–12, wobei die Datenumwandlungsschaltung (60) umfasst: eine Zählerschaltung (62) zum Ausgeben eines Zählsignals (pos), wobei die Zählerschaltung (62) von dem zweiten Taktsignal (frclk) gesteuert wird, und wobei die Multiplexerschaltung (73) ausgestaltet ist, das Ausgangssignal (pdata) in Abhängigkeit von dem Zählsignal (pos) auszuwählen.
  14. Schaltung gemäß Anspruch 13, wobei die Datenumwandlungsschaltung (60) umfasst: einen Steuersignaleingang für ein Steuersignal (wctrl_en), wobei der Steuersignaleingang mit der Zählerschaltung (62) und dem Multiplexer (73) gekoppelt ist, wobei das Zählsignal (pos) in Abhängigkeit von dem Steuersignal (wrctrl_en) erzeugt wird.
  15. Schaltung gemäß einem der Ansprüche 8–14, wobei N gleich drei und M größer oder gleich N ist.
  16. Elektronische Vorrichtung, umfassend: erste Mittel (3234, 6367) zum Abtasten von drei seriellen Datenströmen (data0, data120, data240) in Abhängigkeit von ersten Abtasttaktsignalen, wobei jeder der drei seriellen Datenströme (data0, data120, data240) in Abhängigkeit von jedem der ersten Abtasttaktsignale abgetastet wird, wobei jeder der drei seriellen Datenströme (data0, data120, data240) ein zu Grunde liegendes Taktsignal (clk0, clk120, clk240) aufweist, wobei die zu Grunde liegenden Taktsignale (clk0, clk120, clk240) die gleiche Frequenz aufweisen und zueinander um 120 Grad phasenverschoben sind, Mittel (31; 61) zum Erzeugen der ersten Abtasttaktsignale (en0, en1, en2, en0b, en1b) in Abhängigkeit von zumindest einem der zu Grunde liegenden Taktsignale (clk0, clk120, clk240), und zweite Mittel (35; 6872) zum Abtasten der durch die ersten Mittel zum Abtasten erzeugten Signale in Abhängigkeit von einem zweiten Abtastsignal (frclk), wobei das zweite Abtastsignal (frclk) eine Frequenz gleich einem Drittel einer Frequenz der zu Grunde liegenden Taktsignale (clk0, clk120, clk240) aufweist.
  17. Elektronische Vorrichtung gemäß Anspruch 16, umfassend: dritte Mittel (23, 24, 25) zum Abtasten eines einzigen seriellen Datenstroms (sdatas) in Abhängigkeit von den zu Grunde liegenden Taktsignalen (clk0, clk120, clk240), um die drei seriellen Datenströme (data0, data120, data240) zu erzeugen.
  18. Elektronische Vorrichtung gemäß einem der Ansprüche 16 oder 17, umfassend: Mittel (73) zum Ausgeben eines parallelen Datenstroms (pdata) in Abhängigkeit von durch die zweiten Mittel zum Abtasten (6872) abgetasteten Signale (datAi–datEi).
  19. Verfahren zur Datenumwandlung, wobei das Verfahren umfasst: Empfangen eines ersten seriellen Datenstroms (data0), Empfangen eines zweiten seriellen Datenstroms (data120), Empfangen eines dritten seriellen Datenstroms (data240), Abtasten des ersten, zweiten und dritten seriellen Datenstroms (data0, data120, data240) in Abhängigkeit von einer Vielzahl von Abtasttastsignalen (en0, en1, en2, en0b, en1b), um eine entsprechende Vielzahl von ersten abgetasteten Signalen (dat012, dat345, dat678; datA–datE) zu erzeugen, wobei. jedes Datensymbol der ersten abgetasteten Signale (dat012, dat345, dat678; datA–datE) ein Datensymbol des ersten seriellen Datenstroms (data0), ein Datensymbol des zweiten seriellen Datenstroms (data120) und ein Datensymbol des dritten seriellen Datenstroms (data240) umfasst, und Abtasten der Vielzahl von ersten abgetasteten Signalen (dat012, dat345, dat678; datA–datE) in Abhängigkeit von einem weiteren Abtasttastsignal (frclk), wobei das weitere Abtasttastsignal (frclk) eine Taktfrequenz aufweist, welche sich von einer den ersten, zweiten und dritten seriellen Datenstrom (data0, data120, data240) zu Grunde liegenden Taktfrequenz unterscheidet.
  20. Verfahren nach Anspruch 19, umfassend: Abtasten eines vierten seriellen Datenstroms (sdatas) mit drei Taktsignalen (clk0, clk120, clk240), wobei die drei Taktsignale (clk0, clk120, clk240) die gleiche Frequenz aufweisen und zueinander um näherungsweise 120 Grad phasenverschoben sind, um den ersten, zweiten und dritten seriellen Datenstrom (data0, data120, data240) zu erzeugen.
  21. Verfahren nach Anspruch 19 oder 20, umfassend: Erzeugen der Vielzahl von Abtasttastsignalen (en0, en1, en2, en0b, en1b) in Abhängigkeit von einem dem ersten, zweiten und/oder dritten seriellen Datenstrom (data0, data120, data240) zu Grunde liegenden Taktsignal (clk120).
  22. Verfahren zur Datenumwandlung, wobei das Verfahren umfasst: Empfangen von N Datenströmen (data0, data120, data240), wobei N größer oder gleich 2 ist; Abtasten der N Datenströme in Abhängigkeit von M ersten Taktsignalen (en0, en1, en2, en0b, en1b), um M erste abgetastete Datenströme, welche jeweils eine Breite von N Datensymbolen aufweisen, zu erzeugen, Abtasten jedes der M ersten abgetasteten Datenströme in Abhängigkeit von einem zweiten Taktsignal (frclk), um M zweite abgetastete Datenströme (datAi–datEi) zu erzeugen, und Auswählen eines Ausgangsdatenstroms (pdata) in Abhängigkeit von den M zweiten abgetasteten Datenströmen (datAi–datEi).
  23. Verfahren nach Anspruch 22, umfassend: Erzeugen der M ersten Taktsignale in Abhängigkeit von einem einem der M Datenströme (data0, data120, data240) zu Grunde liegenden Taktsignal (clk120).
  24. Verfahren nach Anspruch 22 oder 23, umfassend: Deaktivieren von L der M ersten Taktsignale (en0, en1, en2, en0b, en1b), wobei L kleiner ist als M.
  25. Verfahren nach einem der Ansprüche 22–24, umfassend: Anpassen eines maximalen Phasenversatzes zwischen den M ersten Taktsignalen und dem zweiten Taktsignal.
DE102008047439A 2007-09-17 2008-09-16 Datenumwandlung Expired - Fee Related DE102008047439B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/856,353 2007-09-17
US11/856,353 US7515075B1 (en) 2007-09-17 2007-09-17 Data conversion

Publications (2)

Publication Number Publication Date
DE102008047439A1 DE102008047439A1 (de) 2009-03-19
DE102008047439B4 true DE102008047439B4 (de) 2011-06-16

Family

ID=40348812

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102008047439A Expired - Fee Related DE102008047439B4 (de) 2007-09-17 2008-09-16 Datenumwandlung

Country Status (2)

Country Link
US (1) US7515075B1 (de)
DE (1) DE102008047439B4 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI351181B (en) * 2007-12-26 2011-10-21 Altek Corp Serial/parallel conversion apparatus and method thereof
JP2009231896A (ja) * 2008-03-19 2009-10-08 Fujitsu Ltd 受信装置および受信方法
TWI459401B (zh) * 2011-03-09 2014-11-01 Etron Technology Inc 應用於一記憶體電路內複數個記憶區塊的栓鎖系統

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006041785B3 (de) * 2006-09-06 2008-04-17 Qimonda Ag Vorrichtung und Verfahren zum Parallelisieren von seriellen digitalen Eingangssignalen

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2504568B2 (ja) * 1989-06-20 1996-06-05 富士通株式会社 信号生成回路
JPH04141896A (ja) * 1990-10-02 1992-05-15 Nec Corp シリアル・パラレル変換回路
DE4428545A1 (de) * 1994-08-12 1996-02-15 Philips Patentverwaltung Schaltungsanordnung zur Umwandlung eines seriellen Datensignals in ein paralleles Datensignal
US6097323A (en) * 1997-05-21 2000-08-01 Fujitsu Limited Serial/parallel converter using holding and latch flip-flops
JPH1198101A (ja) * 1997-09-17 1999-04-09 Nec Corp データデマルチプレクサ回路及びこれを用いたシリアル―パラレル変換回路
JP3068593B1 (ja) * 1999-02-22 2000-07-24 日本電気アイシーマイコンシステム株式会社 シリアル―パラレル変換回路
JP2001006396A (ja) 1999-06-16 2001-01-12 Fujitsu Ltd 半導体集積回路
JP3597142B2 (ja) * 2001-04-20 2004-12-02 日本電気株式会社 中心位相判定回路とその中心位相判定方法
TW541806B (en) * 2002-04-12 2003-07-11 Via Tech Inc Serial/parallel data converter and the conversion method
US6686856B1 (en) * 2002-11-20 2004-02-03 Agilent Technologies, Inc. Clocking domain conversion system and method
US6762560B1 (en) * 2003-01-13 2004-07-13 Nano Silicon Pte. Ltd. High speed over-sampler application in a serial to parallel converter
DE102005001892B4 (de) 2005-01-14 2013-06-06 Qimonda Ag Steuereinheit zur Steuerung eines synchronen Parallel-Serienwandlers

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006041785B3 (de) * 2006-09-06 2008-04-17 Qimonda Ag Vorrichtung und Verfahren zum Parallelisieren von seriellen digitalen Eingangssignalen

Also Published As

Publication number Publication date
US20090073010A1 (en) 2009-03-19
DE102008047439A1 (de) 2009-03-19
US7515075B1 (en) 2009-04-07

Similar Documents

Publication Publication Date Title
DE69432587T2 (de) Verzögerungsleitungsseparator für datenbus
DE60215573T2 (de) Programmierbare Logikschaltung mit einer seriellen Hochgeschwindigkeitsschnittstelle
DE602004005291T2 (de) Verfahren und Schaltungsanordnung zur Datenrückgewinnung
DE10102887B4 (de) Verzögerungsvorrichtung, die eine Verzögerungssperrschleife aufweist und Verfahren zum Kalibrieren derselben
DE602005001794T2 (de) Demultiplexerschaltung zum Ausrichten der empfangenen Seriendaten um Paralleldaten einzurichten
DE602004011898T9 (de) Kompensierung des DC-Offsets in einer Phasenregelschleife
DE2548265C3 (de) Schaltungsanordnung zur symmetrischen Frequenzteilung durch eine ungerade Zahl
DE102013217830A1 (de) Timing-Kalibrierung für chipinterne Verdrahtung
DE10029335B4 (de) Schaltung und Verfahren zur synchronen Datenabtastung
DE112013003268T5 (de) Differenztaktsignalgenerator
DE102014107652A1 (de) Gepipelineter, programmierbarer, vorwärtsgerichteter Entzerrer (FFE) für einen Empfänger
DE19907529B4 (de) Vorrichtung und Verfahren zum adaptiven Ausgleichen von Arbeitszyklusstörungen
DE102022201749A1 (de) Systeme, verfahren und vorrichtungen für die hochgeschwindigkeitsdatenmodulation
DE102007006374B3 (de) Digitaler Datenbuffer
DE10346559A1 (de) Dateninvertierungsschaltung und Halbleitervorrichtung
DE102008047439B4 (de) Datenumwandlung
DE102014107585A1 (de) Modale PAM2/PAM4 geteilt durch N (Div-N) automatische Korrelationsmaschine (ACE) für einen Empfänger
DE69934663T2 (de) Serielles hochgeschwindigkeitsübertragungssystem
DE60213443T2 (de) Speicherschaltung und schaltung zur erkennung eines gültigen überganges
DE69821461T2 (de) Logische Schaltung mit eigener Takterzeugung und zugehöriges Verfahren
DE102008023536B4 (de) Leistungsarmer und hochauflösender Zeitgeber
DE10130123B4 (de) Verzögerungsregelkreis zur Erzeugung komplementärer Taktsignale
DE102004042900B4 (de) Ringoszillator, Signalerzeugungsverfahren und Speichersystem
DE19957613B4 (de) Synchronisierungsschaltung zum Konvertieren eines asynchronen Impulssignals in ein synchrones Impulssignal
DE60214411T2 (de) Parallel/Seriell-Wandler

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R020 Patent grant now final

Effective date: 20110917

R081 Change of applicant/patentee

Owner name: INFINEON TECHNOLOGIES AG, DE

Free format text: FORMER OWNER: QIMONDA AG, 81739 MUENCHEN, DE

Owner name: POLARIS INNOVATIONS LTD., IE

Free format text: FORMER OWNER: QIMONDA AG, 81739 MUENCHEN, DE

R082 Change of representative
R081 Change of applicant/patentee

Owner name: POLARIS INNOVATIONS LTD., IE

Free format text: FORMER OWNER: INFINEON TECHNOLOGIES AG, 85579 NEUBIBERG, DE

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