DE102018218151A1 - Modularer serialisierer und entserialsierer - Google Patents

Modularer serialisierer und entserialsierer Download PDF

Info

Publication number
DE102018218151A1
DE102018218151A1 DE102018218151.9A DE102018218151A DE102018218151A1 DE 102018218151 A1 DE102018218151 A1 DE 102018218151A1 DE 102018218151 A DE102018218151 A DE 102018218151A DE 102018218151 A1 DE102018218151 A1 DE 102018218151A1
Authority
DE
Germany
Prior art keywords
flip
cells
flops
output
array
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.)
Pending
Application number
DE102018218151.9A
Other languages
English (en)
Inventor
Mark Spaeth
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.)
Marvell Asia Pte Ltd
Original Assignee
Cavium LLC
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 Cavium LLC filed Critical Cavium LLC
Publication of DE102018218151A1 publication Critical patent/DE102018218151A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M9/00Parallel/series conversion or vice versa
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03LAUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
    • H03L7/00Automatic control of frequency or phase; Synchronisation
    • H03L7/06Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
    • H03L7/08Details of the phase-locked loop
    • H03L7/0807Details of the phase-locked loop concerning mainly a recovery circuit for the reference signal
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03LAUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
    • H03L7/00Automatic control of frequency or phase; Synchronisation
    • H03L7/06Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
    • H03L7/08Details of the phase-locked loop
    • H03L7/081Details of the phase-locked loop provided with an additional controlled phase shifter
    • H03L7/0812Details of the phase-locked loop provided with an additional controlled phase shifter and where no voltage or current controlled oscillator is used
    • H03L7/0814Details of the phase-locked loop provided with an additional controlled phase shifter and where no voltage or current controlled oscillator is used the phase shifting device being digitally controlled
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03LAUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
    • H03L7/00Automatic control of frequency or phase; Synchronisation
    • H03L7/06Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
    • H03L7/08Details of the phase-locked loop
    • H03L7/085Details of the phase-locked loop concerning mainly the frequency- or phase-detection arrangement including the filtering or amplification of its output signal
    • H03L7/091Details of the phase-locked loop concerning mainly the frequency- or phase-detection arrangement including the filtering or amplification of its output signal the phase or frequency detector using a sampling device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/06Receivers
    • H04B1/16Circuits
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Logic Circuits (AREA)

Abstract

Modulare Serialisierer- und Entserialisiererschaltungen wandeln eine Dateneingabe in eine Vielzahl von Anwendungen um. Der Serialisierer weist eine Anordnung von Zellen auf, die eine parallele Dateneingabe aufnehmen und das Wort, Reihe für Reihe, an einen Ausgabepuffer übertragen, der eine entsprechende serielle Datenausgabe erzeugt. Der Entserialisierer weist einen Eingabepuffer auf, der eine serielle Dateneingabe empfängt und Teilwörter sequentiell durch eine Anordnung von Zellen überträgt. Wenn das Wort die Zellen vollständig belegt, überträgt die Anordnung das Wort als eine parallele Datenausgabe. Ein modulares Taktungselement arbeitet, um den modularen Serialisierer und Entserialisierer zu takten.

Description

  • Hintergrund
  • Vorangetrieben durch den schnellen Fortschritt bei Anwendungen in verschiedenen Gebieten der Technologie, wie beispielsweise Cloud-Computing, autonome Fahrzeuge und Virtual-Reality, ist die Nachfrage nach zunehmendem Datendurchsatz größer als je zuvor. Eine typische Hardwareplattform setzt serielle Datenverbindungen mit Mehrfach-Gbps, wie beispielsweise PCI-Express, Ethernet und SATA (SATA = Serial ATA) ein. Die Herausforderung bei der Übertragung von Daten mit derartig hohen Geschwindigkeiten mit Hardware zu geringen Kosten, wie beispielsweise einer FR4-Leiterplatte bzw. -PCB (PCB = Printed Circuit Board) besteht darin, dass ein Übertragungskanal, durch den die Daten übertragen werden, eine schwere Inter-Symbol-Interferenz bzw. ISI verursachen kann, und zwar als eine Folge dessen, dass dieser hohe Verluste aufweist, nicht linear und/oder reflektierend ist. Die ISI verschlechtert die Daten, die durch einen Empfänger aufnehmen werden, wie beispielsweise einem Serialisierer/Entserialisierer- bzw. SerDes-Empfänger (SerDes = Serializer/Deserialiser), wobei die Verschlechterung eine verringerte Augenhöhe und Augenbreite des aufnehmenen Datensignal umfassen kann. Eine derartige Verschlechterung kann mit höheren Geschwindigkeiten der Datenübertragung zunehmen, was zu Fehlern bei der Probennahme bzw. dem Sampling des Datensignals führt.
  • Zusammenfassung
  • Beispielhafte Ausführungsbeispiele weisen eine Entserialisiererschaltung auf, die einen Eingabepufffer und eine Anordnung von Zellen aufweist. Der Eingabepuffer ist konfiguriert, um ein serielles Datensignal aufzunehmen. Jede Zelle der Anordnung von Zellen kann einen Eingabe-Flip-Flop und einen Ausgabe-Flip-Flop aufweisen, und die Anordnung kann eine untere Reihe, eine oder mehrere Zwischenreihen und eine obere Reihe aufweisen. Die untere Reihe der Zellen kann konfiguriert sein, um eine Vielzahl von Teilwörtern parallel von dem Eingabepuffer zu den Eingabe-Flip-Flops der unteren Reihe von Zellen aufzunehmen, wobei die Vielzahl der Teilwörter dem seriellen Datensignal entspricht. Die eine oder die mehreren Zwischenreihen der Zellen können konfiguriert sein, um 1) die Vielzahl der Teilwörter von einer vorangehenden Reihe von Zellen aufzunehmen, und 2) einen Subsatz der Vielzahl von Teilwörtern zu einer nachfolgenden Reihe von Zellen der Anordnung von Zellen zu übertragen. Die obere Reihe der Zellen kann konfiguriert sein, um eines der Vielzahl von Teilwörtern von einer vorangehenden Reihe von Zellen aufzunehmen. Beim Laden jeder Reihe der Anordnung von Zellen mit einem Teilwort, kann die Anordnung von Zellen dann das entsprechende Wort parallel über die Ausgabe-Flip-Flops jeder Zelle ausgeben.
  • In weiteren Ausführungsbeispielen können der Eingabepuffer und die Anordnung von Zellen in einer Vielzahl von Leitung gruppiert werden, wobei jede Leitung einen Teil des seriellen Datensignals in einer abwechselnden Sequenz aufnimmt. Die Vielzahl von Leitungen kann erste und zweite Leitungen aufweisen, wobei die erste Leitung konfiguriert ist, um das serielle Datensignal mit einer ersten Taktungskante aufzunehmen, und die zweite Leitung konfiguriert ist, um das serielle Datensignal mit einer zweiten Taktungskante, die der ersten Taktungskante unmittelbar folgt, aufzunehmen.
  • In noch weiteren Ausführungsbeispielen kann der Eingabepuffer eine Reihe von Flip-Flops aufweisen, die seriell mit entsprechenden Eingaben und Ausgaben verbunden sind. Die Flip-Flops des Eingabepuffers können durch ein erstes Taktungssignal getaktet werden und die Flip-Flops der Anordnung von Zellen können durch ein zweites Taktungssignal getaktet werden, wobei das erste Taktungssignal eine Frequenz aufweisen kann, die höher und ein Mehrfaches der zweiten Taktungssignals ist. Das Mehrfache kann einen Wert aufweisen, der der Anzahl der Flip-Flops des Eingabepuffers entspricht.
  • Ein Taktgeber kann konfiguriert sein, um das zweite Taktungssignal zu erzeugen, wobei der Taktgeber erste und zweite Reihen von Flip-Flops und eine Steuervorrichtung aufweist. Die erste Reihe von Flip-Flops kann seriell verbunden sein und durch das erste Taktungssignal getaktet werden. Die zweite Reihe von Flip-Flops kann seriell verbunden sein und kann durch ein Signal getaktet werden, das einer Ausgabe der ersten Reihe von Flip-Flops entspricht. Die Steuervorrichtung kann konfiguriert sein zum 1) Ausgeben des zweiten Taktungssignals als eine Funktion von zumindest einer Ausgabe der ersten Reihe von Flip-Flops, und zum 2) Ausgaben eines dritten Taktungssignals (und optional zusätzlicher Taktungssignale) als einer Funktion von zumindest einer Ausgabe der zweiten Reihe von Flip-Flops. Die Anordnung von Zellen gibt das Wort als eine Funktion des dritten Taktungssignals aus.
  • In noch weiteren Ausführungsbeispielen kann die Schaltung eine Unterstützungsreihe von Flip-Flops aufweisen, die konfiguriert ist, um die Vielzahl von Teilwörtern parallel von dem Eingabepuffer aufzunehmen und die Vielzahl von Wörtern sukzessive auszugeben. Der Eingabepuffer kann eine Reihe on n Flip-Flops aufweisen und die Anordnung von Zellen weist n Reihen von m Zellen auf, wobei m*n der Anzahl von Bits in dem Wort entspricht. Der Eingabepuffer kann Flip-Flops aufweisen, die konfiguriert sind, um mit einer Rate von zumindest 10 GHz zu arbeiten, und die Anordnung von Zellen kann Flip-Flops aufweisen, die konfiguriert sind, um mit einer Rate zu arbeiten, die geringer als die der Flip-Flops des Eingabepuffers ist.
  • Weitere Ausführungsbeispiele weisen eine Serialisiererschaltung mit einer Anordnung von Zellen und einem Ausgabepuffer auf. Die Anordnung von Zellen kann jeweils einen Flip-Flop aufweisen, und eine obere Reihe von Zellen kann konfiguriert sein zum 1) Aufnehmen eines ersten Teilworts parallel von einer parallelen Dateneingabe und zum 2) Übertragen des ersten Teilworts parallel zu einer nachfolgenden Reihe der Anordnung. Eine oder mehrere Zwischenreihen der Zellen können konfiguriert sein zum 1) Aufnehmen eines zweiten Teilworts von der parallelen Dateneingabe, zum 2) Übertragen des zweiten Teilworts zu einer nachfolgenden Reihe der Anordnung und zum 3) Übertragen des ersten Teilworts von einer vorangehenden Reihe der Anordnung zu der nachfolgenden Reihe der Anordnung. Eine untere Reihe der Zellen kann konfiguriert sein zum 1) Aufnehmen eines dritten Teilworts von der parallelen Dateneingabe und zum 2) Aufnehmen einer Vielzahl von Teilwörtern, und zwar einschließlich der ersten und zweiten Teilwörter, parallel von einer vorangehenden Reihe der Anordnung. Der Ausgabepuffer kann konfiguriert sein, zum Aufnehmen der Vielzahl von Wörtern parallel und sequentiell von der unteren Reihe von Zellen, wobei der Ausgabepuffer seriell ein Wort entsprechend der Vielzahl von Teilwörtern ausgibt.
  • In weiteren Ausführungsbeispielen können der Ausgabepuffer und die Anordnung von Zellen in eine Vielzahl von Leitungen gruppiert werden, wobei jede Leitung einen Teil des Worts über die parallele Dateneingabe empfängt. Die Vielzahl von Leitungen kann erste und zweite Leitungen aufweisen, wobei die erste Leitung konfiguriert ist, um einen ersten Teil des Worts seriell bei einer ersten Taktungskante zu übertragen, und wobei die zweite Leitung konfiguriert ist, um einen zweiten Teil des Worts seriell bei einer zweiten Taktungskante unmittelbar der ersten Taktungskante folgend zu übertragen.
  • Der Ausgabepuffer kann eine Reihe von Flip-Flops aufweisen, die seriell über entsprechende Eingaben und Ausgaben verbunden sin. Die Flip-Flops des Ausgabepuffers können durch ein erstes Taktungssignal getaktet werden und die Flip-Flops der Anordnung von Zellen können durch ein zweites Taktungssignal getaktet werden, wobei das erste Taktungssignäl eine Frequenz aufweist, die höher als und ein Mehrfaches einer Frequenz des zweiten Taktungssignals ist. Das Mehrfache kann ein Wert sein, der der Anzahl von Flip-Flops des Eingabepuffers entspricht.
  • Ein Taktgeber kann konfiguriert sein, um das zweite Taktungssignal zu erzeugen, wobei der Taktgeber erste und zweite Reihen von Flip-Flops und eine Steuervorrichtung aufweist. Die erste Reihe von Flip-Flops kann seriell verbunden sein und durch das erste Taktungssignal getaktet werden. Die zweite Reihe von Flip-Flops kann seriell verbunden sein und kann durch ein Signal getaktet werden, das einer Ausgabe der ersten Reihe von Flip-Flops entspricht. Die Steuervorrichtung kann konfiguriert sein zum 1) Ausgeben des zweiten Taktungssignals als eine Funktion von zumindest einer Ausgabe der ersten Reihe von Flip-Flops, und zum 2) Ausgeben eines dritten Taktungssignals als einer Funktion von zumindest einer Ausgabe der zweiten Reihe von Flip-Flops. Die Anordnung von Zellen kann das Wort als eine Funktion des dritten Taktungssignals ausgeben.
  • In noch weiteren Ausführungsbeispielen kann die Anordnung von Zellen die Vielzahl von Teilwörtern als eine Funktion des dritten Taktungssignals aufnehmen. Ein Subsatz der Vielzahl von Zellen kann ferner einen Multiplexer aufweisen, der konfiguriert ist, um eine Ausgabe zwischen der parallelen Dateneingabe und einer Ausgabe einer Zelle einer vorangehenden Reihe umzuschalten, wobei der Multiplexer die Ausgabe an und die Eingaben von dem entsprechenden Flip-Flop überträgt. Der Ausgabepuffer kann eine Reihe von n Flip-Flops aufweisen und die Anordnung von Zellen weist m Reihen von n Zellen auf, wobei m*n der Anzahl der Bits in dem Wort entspricht. Der Ausgabepuffer kann Flip-Flops aufweisen, die konfiguriert sind, um mit einer Rate von zumindest 10 GHz zu arbeiten, und die Anordnung von Zellen kann Flip-Flops aufweisen, die konfiguriert sind, um mit einer Rate zu arbeiten, die geringer als die der Flip-Flops des Ausgabepuffers ist.
  • Weitere Ausführungsbeispiele weisen eine Entserialisiererschaltung auf, die einen Eingabepuffer und eine Anordnung von Zellen aufweist. Der Eingabepuffer kann konfiguriert sein, um eine Vielzahl von Teilwörtern hintereinander aus einem seriellen Datensignal zu latchen bzw. zu halten. Die Anordnung von Zellen kann bei jeder Zelle einen Eingabe-Flip-Flop und einen Ausgabe-Flip-Flop aufweisen, wobei die Anordnung von Zellen so konfiguriert ist, dass sie die Vielzahl von Teilwörtern hintereinander von dem Eingabepuffer zu den Eingabe-Flip-Flops aufnimmt, wobei die Anordnung von Zellen ferner konfiguriert ist, um ein Wort parallel über die Ausgabe-Flip-Flops auszugeben, wobei das Wort der Vielzahl von Teilwörtern entspricht. Der Eingabepuffer kann eine Reihe von n Flip-Flops aufweisen und die Anordnung der Zellen weist n Reihen von m Zellen auf, wobei m*n der Anzahl von Bits in dem Wort entspricht.
  • Weitere Ausführungsbeispiele können eine Serialisiererschaltung aufweisen, die eine Anordnung von Zellen und einen Ausgabepuffer aufweist. Jede Zelle der Anordnung kann einen Flip-Flop aufweisen, wobei die Anordnung von Zellen konfiguriert ist, um eine Vielzahl von Teilwörtern parallel aufzunehmen, wobei jede Reihe der Anordnung von Zellen ein entsprechendes der Vielzahl von Teilwörtern hält. Der Ausgabepuffer kann konfiguriert sein, um die Vielzahl von Wörtern parallel aufzunehmen und sequentiell eine untere Reihe Der Anordnung von Zellen zu bilden, wobei der Ausgabepuffer seriell ein Wort entsprechend der Vielzahl von Teilwörtern ausgibt. Der Ausgabepuffer kann eine Reihe von n Flip-Flops aufweisen und die Anordnung von Zellen kann m Reihen von n Zellen aufweisen, wobei m*n der Anzahl von Bits in dem Wort entspricht.
  • Figurenliste
  • Das Vorangehende wird offensichtlicher werden aus der nachfolgenden spezifischeren Beschreibung der beispielhaften Ausführungsbeispiele, wie diese in den begleitenden Zeichnungen dargestellt sind, in denen gleiche Bezugszeichen die gleichen Teile über die unterschiedlichen Ansichten hinweg bezeichnen. Die Zeichnungen sind nicht notwendigerweise maßstabsgetreu, sondern es wird stattdessen die Veranschaulichung der Ausführungsbeispiele betont.
    • 1 ist ein Blockdiagramm eines Empfängers und einer Takt- und Datenrückgewinnungs- bzw. CDR-Schaltung (CDR = Clock and Data Recovery), in denen beispielhafte Ausführungsbeispiele implementiert werden können.
    • 2 ist ein Schaltungsdiagramm eines Entserialisierers, in dem beispielhafte Ausführungsbeispiele implementiert werden können.
    • 3A ist ein Schaltungsdiagramm eines Entserialisierers in einem Ausführungsbeispiel.
    • 3B ist ein Timing- bzw. Zeitsteuerungs-Diagramm des Entserialisierers der 3A.
    • 4 ist ein Schaltungsdiagramm eines Serialisierers, in dem beispielhafte Ausführungsbeispiele implementiert werden können.
    • 5A ist ein Schaltungsdiagramm eines Serialisierers in einem Ausführungsbeispiel.
    • 5B ist ein Zeitsteuerungsdiagramm des Serialisierers der 5A.
    • 6A ist ein Schaltungsdiagramm eines Taktgebers zum Takten eines Serialisierers oder Entserialisierers.
    • 6B ist ein Zeitsteuerungsdiagramm des Taktgebers der 6A.
    • 7A ist ein Schaltungsdiagramm des Taktgebers in einem Ausführungsbeispiel.
    • 7B ist ein Zeitsteuerungsdiagramm des Taktgebers der 7A.
    • 8A ist ein Schaltungsdiagramm eines Taktgebers in einem weiteren Ausführungsbeispiel.
    • 8B ist ein Zeitsteuerungsdiagramm des Taktgebers der 8A.
  • DETAILLIERTE BESCHREIBUNG
  • Eine Beschreibung beispielhafter Ausführungsbeispiele folgt.
  • 1 ist ein Blockdiagramm eines Empfängers und einer Takt- und Datenrückgewinnungs- bzw. CDR-Schaltung (CDR = Clock and Data Recovery) 100, in der beispielhafte Ausführungsbeispiele implementiert werden können. Die Schaltung 100 kann eine serielle Dateneingabe 110 in einen Puffer 103 aufnehmen, wodurch gepufferte Daten 111 erhalten werden. Die Schaltung 100 kann als eine Delay-Locked-Loop bzw. DLL unter Verwendung eines mehrphasigen, spannungsgesteuerten Oszillators bzw. VCO (VCO = Voltage-Controlled Oscillator) 107 implementiert sein, der ein Taktsignal clk_vco 117 als lokale Referenz erzeugt und eines Interpolators 108 (z.B. ein Phaseninterpolator), um die lokale Taktfrequenz 117 anzupassen, so dass sie mit der aufnehmenen Taktfrequenz übereinstimmt.
  • Eine Finite-Zustands-Maschine bzw. FSM (FSM = Finite State Machine) 106 verwendet eine Kombination von entweder seriellen Daten (aufnehmen von den Flip-Flops 104) oder parallel aufnehmenen Daten (aufnehmen von dem Entserialisierer 105), Information der Kante 112 oder der Daten 113 und der Kante 112, um die Zustände des Phaseninterpolators, statel<M:0> 114 und stateQ<:0 > 115, zu steuern, um die lokale Taktfrequenz 117, die PI-Ausgaben clkl 112 (wobei clkl 112 als der wiederhergestellte Takt betrachtet wird, wobei clkl ungefähr die gleiche Frequenz wie clk_vco 117 aufweist) und clkQ 113 mit der aufnehmenen Taktfrequenz abzugleichen. Der Interpolator 108 und die FSM 106 können ebenfalls einen FSM-Takt 116 (clk_fsm) erfordern, der eine unterteilte Version des clk_vso 117 mit einem Versatz sein kann, oder eine unterteilte Version des clkl 112 oder des clkQ 113.
  • 2 ist ein Schaltungsdiagramm einer Entserialisiererschaltung 200, die in der CDR-Schaltung 100 der 1 implementiert werden kann. Die Schaltung 200 empfängt ein serielles Datensignal Rx an eine Latch- bzw. Verriegelungsanordnung 205, die Flip-Flops und ein Latch-Element aufweist, auf zwei parallelen Kanälen. In einer Halb-Raten-Architektur wird das Datensignal Rx bei einer eigenen „Leitung“ bei jedem der zwei Kanäle entserialisiert, wo eine „gerade“ Leitung 210a und eine „ungerade“ Leitung 210b Daten entserialisiert, die auf gegenüberliegenden Taktkanten des Datensignals Rx auftreten. Um die Zeitsteuerung des Datensignals Rx bei jeder Leitung auszurichten, kann die Latch-Anordnung ein zusätzliches Latch-Element bei jedem Kanal, wie gezeigt, aufweisen.
  • Die Leitungen 210a-b können durch das Taktungssignal Clk getaktet werden, um das serielle Datensignal Rx zu halten, wobei Clk eine Frequenz aufweist, die der Hälfte der vollständigen Datenrate entspricht, und der Datenrate bei jeder Leitung entspricht. Ein unterteiltes Taktungssignal DivClk, das eine Frequenz aufweist, die ein Teilbetrag von Clk ist, kann die parallele Ausgabe von jeder Leitung 210a-b takten. Demgemäß entserialisieren die geraden und ungeraden Leitungen 210a-b einen Teil des seriellen Datensignals Rx und geben parallel einen entsprechenden Teil eines „Worts“ (D[2n-2:2:0] und D[2n-1:2:1]) entsprechend dem Datensignal aus. Das Wort kann eine Länge aufweisen, die der Anzahl der Bits entspricht, die durch die Leitung 210a-b parallel ausgegeben werden (z.B. 2n). Alternative Ausführungsbeispiele können eine Einzel-Leitungs-Voll-Raten-Architektur einsetzen.
  • Eine typische Entserialisiererleitung kann einen Eingabepuffer und einen Ausgabepuffer aufweisen. Der Eingabepuffer kann eine Anzahl von Flip-Flops aufweisen, die in Reihe verbunden sind, die die serielle Dateneingabe aufnehmen. Genauer gesagt, werden Bits der seriellen Dateneingabe in dem Eingabepuffer mit einer Rate getaktet, die der der seriellen Halb-Raten-Datenübertragung entspricht. Wenn ein Wort vollständig durch den Eingabepuffer gehalten wird, wird es an den Ausgabepuffer übertragen, der wiederum das Wort parallel ausgibt. Der Ausgabepuffer weist eine Anzahl von Flip-Flops auf, die mit einem entsprechenden Flip-Flop des Eingabepuffers verbunden sind, und jeder Flip-Flop gibt ein entsprechendes Bit des Wortes aus.
  • Ein typischer Entserialisierer, wie er vorangehend beschrieben ist, weist eine Anzahl von Nachteilen auf. Um ein gesamtes Wort zu halten, muss der Eingabepuffer eine Anzahl von Flip-Flops aufweisen, die der Anzahl von Bits des Worts entspricht. In ähnlicher Weise muss der Ausgabepuffer die gleiche Anzahl von Flip-Flops aufweisen, um das Wort parallel auszugeben. Die Eingabe-Flip-Flops müssen mit einer Taktungsrate betrieben werden, die der Rate der seriellen Datenübertragung entspricht. Um die Zeitsteuerungsanforderung für Datenübertragungen mit höherer Geschwindigkeit (z.B. 25 GHz) zu erfüllen, muss der Eingabepuffer unter Verwendung „schneller“ Flip-Flops implementiert werden, die größer sind und mehr Leistung für den Betrieb erfordern. Der Ausgabepuffer kann im Gegensatz dazu durch kleinere, „langsame“ Flip-Flops mit geringerer Leistung aufgrund der geringeren Rate der Datenausgabe betrieben werden (d.h. eine Rate, die ein Bruchteil der seriellen Datenrate ist). Trotzdem kann die Anforderung nach mehreren schnellen Flip-Flops beim Eingabepuffer zu einem übermäßigen Leistungsverbrauch und einer übermäßigen Belegung von Platz auf dem Chip führen. Darüber hinaus, wenn der Entserialisierer konfiguriert ist, um mit mehreren unterschiedlichen Wortgrößen zu arbeiten, dann muss der Eingabepuffer groß genug sein, um das größte der mehreren Wärter unterzubringen. Folglich, selbst wenn mit kleineren Wörtern gearbeitet wird, kann der typische Entserialisierer eine große Anzahl von „schnellen“ Flip-Flops erfordern.
  • 3A ist ein Schaltungsdiagramm einer Entserialisiererschaltung 300 in einem Ausführungsbeispiel. Der Entserialisierer 300 kann in der CDR-Schaltung 100 der 1 implementiert werden, ebenso wie in einem oder beiden der Entserialisiererleitungen 210a-b der 2. Ein Eingabepuffer 310, der eine Anzahl von Flip-Flops aufweist, die in Reihe verbunden sind, empfängt ein serielles Dateneingabesignal rxbit. Die Flip-Flops des Eingabepuffers 310 können durch ein Taktungssignal bitclk getaktet werden, das eine Rate aufweist, die gleich oder vergleichbar der Rate der seriellen Dateneingabe ist. Der Eingabepuffer 310 kann ein Teilwort (d.h. einen Teil eines vollständigen Wortes, das parallel übertragen werden soll) aus der seriellen Dateneingabe aufnehmen und halten, und das Teilwort kann einen Teil oder sämtliche der Flip-Flops des Eingabepuffers 310 belegen.
  • Sobald das Teilwort gehalten wird, kann der Eingabepuffer dann das Teilwort an die Ausgabeanordnung 320 übertragen. Die Ausgabeanordnung 320 kann eine Vielzahl von Zellen aufweisen, die in m Reihen 322a-d angeordnet sind, wobei jede Reihe eine Breite von n Zellen aufweisen kann, die mit der Anzahl der Flip-Flops des Eingabepuffers 310 übereinstimmt. Obwohl die Anordnung 320, wie sie gezeigt ist, so konfiguriert ist, dass m=4 und n=5, können die Anordnung 320 und der Eingabepuffer 310 so konfiguriert sein, dass sie Zeilen bzw. Reihen und Spalten unterschiedlicher Größen aufweisen, um unterschiedliche Betriebsparameter unterzubringen, wie nachfolgend detaillierter beschrieben ist. Jede Zelle der Anordnung 320 kann einen Eingabe-Flip-Flop und einen Ausgabe-Flip-Flop aufweisen. Die erste Reihe 322a der Anordnung 320 ist in Übertragungsverbindung mit dem Eingabepuffer 310 so gekoppelt, dass der Eingabe-Flip-Flop jeder Zelle mit einem Latch-Element einer Ausgabe eines entsprechenden Flip-Flops des Eingabepuffers verbunden ist. In ähnlicher Weise kann jede aufeinanderfolgende Reihe 322b-d der Anordnung 320 bei ihren Eingabe-Flip-Flops die Ausgabe der Eingabe-Flip-Flops der vorangehenden Reihe aufnehmen und halten (z.B. die Eingabe-Flip-Flops der Reihe 322b halten die Ausgabe der Eingabe-Flip-Flops der Reihe 322a). Die Ausgabepuffer jeder Zelle sehen im Gegensatz dazu die parallele Wortausgabe des Entserialisierers vor.
  • Folglich, um ein Wort in die Anordnung 320 zur Übertragung zu laden, kann der Eingabepuffer 320 mehrere Teilwörter des Wortes aufnehmen und die Teilwörter sukzessive an die erste Reihe 322a der Anordnung 320 übertragen. Die Teilwörter können Reihe für Reihe die Anordnung 320 hinauf übertragen werden, bis jede aktive Reihe 322a-d ein entsprechendes Teilwort hält. (Alternativ können einige Reihen oder Spalten ignoriert oder deaktiviert werden, und zwar abhängig von der Wortgröße, wie nachfolgend beschrieben.) Sobald die Anordnung 320 sämtliche Teilwörter hält, die das Wort bilden, kann jede Zelle dann sein Wortbit von dem Eingabe-Flip-Flop zu dem Ausgabe-Flip-Flop übertragen, der wiederum das Wort als ein paralleles Ausgabesignal rxdata ausgibt.
  • In einigen Ausführungsbeispielen kann die Entserialisiererschaltung 300 ebenfalls einen Hilfspuffer 330 aufweisen. Für Anwendungen, wie beispielsweise in den CDR-Schaltungen (z.B. der CDR 100 der 1), kann es vorteilhaft sein, Teilwörter schneller beim Empfang zu übertragen, und zwar zusätzlich zum Übertragen des vollständigen Wortes wie vorangehend beschrieben. Demgemäß kann der Hilfspuffer 330 eine Reihe von Flip-Flops aufweisen, die in Übertragungsverbindung mit dem Eingabepuffer 310 gekoppelt sind, in vergleichbarer Weise wie die erste Reihe 322a der Anordnung 320. Beim Empfangen und Halten jedes Teilwortes kann der Hilfspuffer 330 dann das Teilwort als ein paralleles Datensignal cdrd ausgeben.
  • In weiteren Ausführungsbeispielen können 2 oder mehr der Schaltungen 300 in entsprechenden Leitungen eines Entserialisierer Systems implementiert sein, wie beispielsweise den Leitungen 210a-b, die vorangehend unter Bezugnahme auf 2 beschrieben sind. In einer derartigen Implementierung können, unter der halb-Raten-Architektur, die vorangehend beschrieben ist, die geraden und ungeraden Leitungen 210a-b jeweils ein separates Ausführungsbeispiel der Schaltung 300 Einsätzen, um einen Teil des seriellen Datensignals nach Rx zu entserialisieren und um parallel einen entsprechenden Teil des Wortes (D[2n-2:2:0] and D[2n-1:2:1]) entsprechend dem Datensignal auszugeben. Das Wort kann eine Länge aufweisen, die der Anzahl der Bits entspricht, die durch die Leitungen 210a-b parallel (z.B. 2n) ausgegeben werden. Folglich können die 2 Schaltungen 300 der entsprechenden Leitungen 210a-b Daten entserialisieren, die an gegenüberliegenden Taktungskanten des Datensignals Rx auftreten. In einem derartigen Ausführungsbeispiel kann die Wortausgabe durch jede der mehreren Schaltungen 301 ein Teil der gesamten, parallelen Ausgabe sein (die auch als ein „Wort“ angesehen werden kann), die mit der Ausgabe der anderen Entserialisierungsschaltung(en) kombiniert wird, um das vollständige, parallele Ausgabesignal vorzusehen. In weiteren Ausführungsbeispielen können eines oder mehrere serielle Datensignale zwischen einer Vielzahl von NC Realisierungsschaltungen, wie beispielsweise der Schaltung 300, unterteilt werden, und die Ausgaben der Vielzahl von Entserialisiererschaltung in können kombiniert werden, um die parallele Datenausgabe zu bilden. Durch implementieren einer Halb-Raten- oder einer anderen unterteilten Raten-Architektur (zum Beispiel Viertel-Raten-Architektur) können die mehreren Entserialisiererschaltung in konfiguriert sein, um aufeinanderfolgende Bits eines seriellen Datensignals in einer abwechselnden Art und Weise zu entserialisieren, was es ermöglicht, dass ein Entserialisierersystem serielle Datensignale mit höherer Rate betätigt.
  • 3B ist ein Zeitsteuerungsdiagramm, das den Betrieb der Entserialisiererschaltung 300 der 3A darstellt. Unter Bezugnahme auf 3A, kann die Schaltung 300 eine Anzahl von unterschiedlichen Taktungssignalen nutzen. Insbesondere kann bitclk mit einem Hochfrequenzabgleich (oder vergleichbar zu) der Rate der seriellen Dateneingabe bei jeder Leitung arbeiten, und wird verwendet, um die Flip-Flops des Eingabepuffers 310 zu takten. Der Idclk (d.h. „Last-Takt“) kann die Eingabe-Flip-Flops der Ausgabeanordnung 320 takten, und kann eine Frequenz aufweisen, die ein Teilbetrag des bitclk ist, wobei der Teilwert der Anzahl der Bitsjedes Teilworts entspricht. Folglich betätigt der Idclk die Eingaben der Anordnung 320 einmal pro Zyklus des Ladens eines Teilworts aus dem Eingabepuffer 310. Der unterteilte Takt divclk kann ein weiterer Teilbetrag des bitclk sein, wobei der Teilwert der Anzahl der Bits des Wortes entspricht. Der divclk kann die Ausgabe-Flip-Flops der Ausgabeanordnung takten, und ermöglicht die Ausgabe des Wortes als das Ausgabesignal rxdata, sobald das Wort vollständig in die Anordnung 320 geladen ist.
  • Zur Entserialisierung einer seriellen Dateneingabe mit einer hohen Rate, wobei der bitclk mit einer hohen Frequenz (z.B. 25 GHz) implementiert wird, kann der Eingabepuffer 310 „schnelle“ Hochgeschwindigkeits-Flip-Flops aufweisen. Im Gegensatz dazu, da die Zellen der Anordnung 320 über vergleichsweise langsamere, unterteilte Taktungssignale Idclk und divclk getaktet werden kann, können die Zellen „langsame“ Flip-Flops aufweisen, die kleiner sind und weniger Leistung verbrauchen als die des Eingabepuffers 310.
  • Die Entserialisiererschaltung 300 kann mehrere Vorteile vorsehen. Beispielsweise kann durch Halten eines Teilwortes (anstelle eines vollständigen Wortes) während jedes Ladezyklus die Schaltung 300 die Verwendung von „schnellen“ Flip-Flops minimieren, wodurch die Leistung und der Raum auf dem Chip, der durch die Schaltung 300 verbraucht wird, reduziert werden. Ferner sieht die modulare Architektur der Schaltung 300 eine effiziente, adaptier bare Schaltung vor, die in einem Bereich unterschiedlicher Datenprotokolle implementiert werden kann. Insbesondere kann die Schaltung 300 mit einer Schaltung 320 aus m Spalten und n Reihen der Anordnung konfiguriert sein, um eine ausgewählte Anzahl von spezifischen Wortgrößen unterzubringen. Die Konfiguration der Schaltung 300, die in 3 gezeigt ist, stellt in einem Beispiel eine 5 X 4-Anordnung dar, die allgemeine Wortgrößen von 8, 10, 16 und 20 Bits (unter anderen, weniger häufigen Wortgrößen) durch variable Anordnungsverwendung unterbringen kann (z.B. m =[4,5], n=[2,4]). Eine Anordnung mit unterschiedlichen mxn-Dimensionen kann implementiert werden, um andere Wortgrößen wie erforderlich unterzubringen.
  • Ferner, wenn mit einer Wortgröße gearbeitet wird, die kleiner als die Kapazität der Anordnung 320 ist, können einige Zellen der Anordnung 320 gemeinsam mit einem oder mehreren Flip-Flops des Eingabepuffers 310 deaktiviert werden. Beispielsweise können unter einer 10-Bit-Wortkonfiguration die Reihen 322c und 322d der Anordnung 320 deaktiviert werden. Unter einer 8-Bit-Wortkonfiguration können zusätzlich zum Deaktivieren der Reihen 322c und 322d eine Spalte der Anordnung 320 und des Eingabepuffers 310 (z.B. ein Flip-Flop des Eingabepuffers 310 und die entsprechenden Zellen der Reihen 322a und 322b) ebenfalls deaktiviert werden. Durch selektives deaktivieren von Zellen der Anordnung 320 und Flip-Flops des Eingabepuffers 310 bei einigen Konfigurationen, kann die Schaltung 300 ferner den Leistungsverbrauch durch die Schaltung 300 verringern.
  • 4 ist ein Schaltungsdiagramm eines Serialisierers 400. Der Serialisierer 400 empfängt ein paralleles Datensignal D, das in zwei Segmente (D[2n-2:2:0] und D[2n-1:2:1]) unterteilt ist, von jeweils zwei Serialisiererleitungen 410a-b. Bei einer halb-Graten-Architektur wird das parallele Datensignal mit einer eigenen „Leitung“ bei jedem der 2 Kanäle sehr realisiert wobei eine „gerade“ Leitung 210a und eine „ungerade“ Leitung 210b zu übertragende Daten auf gegenüberliegenden Taktungskanten des seriellen Datenausgabesignals Tx serialisieren. Um die Zeitsteuerung der seriellen Datensignals Teile auszurichten, die durch jede Leitung ausgegeben werden, kann die Latch-Anordnung ein Latch-Element 405 bei einem Kanal aufweisen, wie gezeigt. Weitere Unterteilungsverhältnisse können durch geeignete Schaltung bewerkstelligt werden. Ein Multiplexer 406 kombiniert die serielle Datenausgabe durch jede Leitung, um das serielle Datenausgabesignal Tx zu erzeugen.
  • Die Leitungen 410a-b können durch das Taktungssignal Last bzw. Load getaktet werden, um die parallele Dateneingabe zu takten, und durch das Taktungssignal Clk, um die serielle Datensignalausgabe zu takten. Die geraden und ungeraden Leitungen 410a-b serialisieren einen Teil des parallelen Datensignals D und geben gleichzeitig einen entsprechenden Teil eines seriellen Datensignals aus. Alternative Ausführungsbeispiele können eine Einzelleitungs-Voll-Raten-Architektur zur Ausgabe des Wortes einsetzen.
  • Eine typische Serialisiererleitung kann einen Eingabepuffer und einen Ausgabepuffer aufweisen. Der Eingabepuffer kann aus einer Anzahl von Flip-Flops bestehen, von denen jeder ein entsprechendes Bild der parallelen Dateneingabe empfängt. Insbesondere werden Bits der parallelen Dateneingabe in den Eingabepuffer mit einer Rate getaktet, die der der parallelen Datenübertragung entspricht. Wenn ein Wort durch den Eingabepuffer gehalten wird, wird es an den Ausgabepuffer übertragen, der wiederum das Wort in serieller Weise ausgibt. Der Ausgabepuffer weist eine Anzahl von Flip-Flops auf, die seriell verbunden sind, und ein Flip-Flop ist ebenfalls mit einem entsprechenden Flip-Flop des Eingabepuffers verbunden. Beim Ausgeben des seriellen Datensignals leitet jeder Flip-Flop des Eingabepuffers sein aufnehmendes Bit an einen nachfolgenden Flip-Flop des Ausgabepuffers weiter bis es durch den letzten Flip-Flop in der Kette übertragen wird.
  • Der typische Serialisierer, der vorangehend beschrieben ist, weist eine Anzahl von Nachteilen auf. Um ein gesamtes Wort zu halten, muss der Eingabepuffer eine Anzahl von Flip-Flops aufweisen, die der Anzahl der Bits des Wortes entspricht. In ähnlicher Weise muss der Ausgabepuffer die gleiche Anzahl von Flip-Flops aufweisen um das Wort von dem Eingabepuffer auzufnehmen. Die Ausgabe-Flip-Flops müssen mit einer Taktungsrate arbeiten, die mit der Rate der seriellen Datenübertragung übereinstimmt. Um diese Zeitsteuerungsanforderung für Datenübertragungen mit höherer Geschwindigkeit zu erfüllen, muss der Ausgabepuffer unter Verwendung „schneller“ Flip-Flops implementiert werden, die größer sind und mehr Leistung für den Betrieb erfordern. Der Eingabepuffer kann im Gegensatz dazu mit kleineren, „langsamen“ Flip-Flops mit geringerer Leistung arbeiten, und zwar aufgrund der geringeren Rate der Datenausgabe. Die Anforderung mehrerer schneller Flip-Flops bei dem Ausgabepuffer kann jedoch zu einem übermäßigen Leistungsverbrauch und einer übermäßigen Belegung des Raums auf dem Chip führen. Darüber hinaus, wenn der Serialisierer konfiguriert ist, um mit mehreren unterschiedlichen Wortgrößen zu arbeiten, muss der Ausgabepuffer groß genug sein um die größten der mehreren Wörter unterzubringen. Folglich, selbst wenn mit kleineren Worten gearbeitet wird, kann der typische Serialisierer eine große Anzahl von „schnellen“ Flip-Flops erfordern.
  • 5A ist ein Schaltungsdiagramm eines Serialisierers in einem Ausführungsbeispiel. Der Serialisierer 500 kann in einem oder in beiden der Entserialisiererleitungen 410a-b der 4 implementiert werden. Die Eingabeanordnung 520 empfängt ein paralleles Eingabesignal und kann eine Vielzahl von Zellen aufweisen (die einen Flip-Flop und einen Eingabe-Multiplexer aufweisen), die in m Reihen 522a-d angeordnet sind, wobei jede Reihe eine Breite von n Zellen aufweisen kann, die mit der Anzahl der Flip-Flops eines Ausgabepuffers 510 übereinstimmt. Obwohl die Anordnung 520, die sie gezeigt ist, konfiguriert ist, so das m = 5 und n = 4, können die Anordnung 520 und der Ausgabepuffer 510 konfiguriert sein, um Reihen und Spalten unterschiedlicher Größe aufzuweisen, um unterschiedliche Betriebsparameter unterzubringen, wie detaillierter nachfolgend beschrieben. Während einer Eingabephase kann jede aktive Zelle der Eingabeanordnung 520 ein entsprechendes Bild des parallelen Eingabesignals P aufnehmen und halten, welches ein Wort abbildet, das serialisiert werden soll. Folglich kann jede aktive Reihe 522a-d der Anordnung ein Teilwort zugehörig zu einem Teil des Wortes halten.
  • Sobald das Wort durch die Eingabeanordnung 520 gehalten wird, kann die Eingabeanordnung 520 dann das Wort, und zwar sukzessive als eine Reihe von TeilWörtern, an den Ausgabepuffer 510 übertragen. Der Ausgabepuffer 510, der eine Anzahl von Zellen (von denen jede einen Flip-Flop und Multiplexer aufweist) aufweist, die in Reihe verbunden sind, kann in übertragende Art und Weise mit der ersten Reihe 522a der Anordnung 520 so gekoppelt sein, dass der Flip-Flop verbunden ist, um eine Ausgabe eines entsprechenden Flip-Flops des Eingabepuffers zu halten. Um das Laden des Ausgabepuffers 510 zu beginnen, kann die erste Reihe 522a ihr gehaltenes Teilwort parallel zu den Ausgabepuffer 520 übertragen. Der Ausgabepuffer 520 beginnt dann das Übertragen des Wortes, und zwar beginnend mit diesem Teilwort, als eine serielle Datenausgabe (die mit einem oder mehreren zusätzlichen Serialisiererleitungen einem Multiplexing unterzogen werden kann). Gleichzeitig kann jede der Reihen 522b-d der Anordnung 520 ihr Teilwort an die nachfolgende Reihe übertragen (z.B. die Flip-Flops der Reihe 522a nehmen die Ausgabe der Flip-Flops der Reihe 522b auf und halten diese), wodurch es ermöglicht wird, dass die erste Reihe 522a jedes der Teilwörter an den Ausgabepuffer 520 in nachfolgenden Zyklen überträgt. Der Ausgabepuffer 520 gibt jedes der Teilwörter aufeinanderfolgend aus, bis das vollständige Wort als eine Komponente des seriellen Datenausgabesignals ausgegeben ist. Die Flip-Flops des Ausgabepuffers 510 können durch ein Taktungssignal bitclk getaktet werden, dass eine Rate aufweist, die der Rate der seriellen Datenausgabe entspricht oder vergleichbare zu dieser st, und das Teilwort kann einen Teil oder sämtliche der Flip-Flops des Ausgabepuffers 510 belegen.
  • Folglich kann, um ein Wort in den Ausgabepuffer 510 zur Übertragung zu laden, die Eingabeanordnung 520 mehrere Teilwörter des Wortes aufnehmen und die Teilwörter aufeinanderfolgend an den Ausgabepuffer 510 über die erste Reihe 522a der Anordnung 520 übertragen. Die Teilwörter können Reihe für Reihe die Anordnung 520 herab übertragen werden, und zwar bis der Ausgabepuffer 510 sämtliche Teilwörter hält und übertragen hat. Der Ausgabepuffer 520 kann die Teilwörter aufeinanderfolgend als eine serielle Datenausgabe ausgeben. Infolgedessen kann die Schaltung 500 als eine „schnelle Leitung“ 550 aufweisend betrachtet werden, die aus dem Ausgabepuffer 510 besteht, und als eine Anzahl von „langsamen Leitungen“ (z.B. Leitung 560), die jeweils aus einer Spalte der Eingabeanordnung 520 bestehen, die Bits an einen entsprechenden Flip-Flop des Ausgabepuffers 510 übertragen.
  • In weiteren Ausführungsbeispielen können zwei oder mehr der Schaltungen 500 in entsprechenden Leitungen eines Serialisierersystems implementiert werden, wie beispielsweise den Leitungen 410a-b, die vorangehend unter Bezugnahme auf 4 beschrieben sind. In einer derartigen Implementierung, können bei der Halb-Raten-Architektur, die vorangehend beschrieben ist, die geraden und ungeraden Leitungen 410a-b jeweils ein separates Ausführungsbeispiel der Schaltung 500 einsetzen, um einen Teil des Datensignals D zu serialisieren, und um in serieller Weise einen entsprechenden Teil des Wortes entsprechend den Daten auszugeben. Das Wort kann eine Länge aufweisen, die der Anzahl der Bits entspricht, die durch die Leitungen 410a-b parallel (z.B. 2*m*n) ausgegeben werden. Folglich können die 2 Schaltungen 500 der entsprechenden Leitungen 410a-b Daten serialisieren, die an gegenüberliegenden Kanten des Datensignals Rx auftreten. In einem derartigen Ausführungsbeispiel kann die serielle Datenausgabe durch jede der mehreren Schaltungen 501 Teil der Gesamtausgabe sein, die mit der Ausgabe der anderen Serialisiererschaltung(en) kombiniert wird, um das vollständige, serielle Ausgabesignal vorzusehen. In weiteren Ausführungsbeispielen kann eines oder können mehrere parallele Datensignale zwischen einer Vielzahl von Serialisiererschaltungen, wie beispielsweise der Schaltung 500, aufgeteilt werden, und die Ausgaben der Vielzahl von Serialisiererschaltungen kann kombiniert werden, um die serielle Datenausgabe zu bilden. Durch Implementieren einer Halb-Raten- oder einer anderen unterteilten Raten-Architektur, können die mehreren Serialisiererschaltungen konfiguriert sein, um aufeinanderfolgende Bits eines parallelen Datensignals in einer abwechselnden Art und Weise zu realisieren, wodurch es einem Serialisierersystem ermöglicht wird, serielle Datensignale mit höherer Rate zu erzeugen.
  • 5B ist ein Zeitsteuerungsdiagramm, das den Betrieb der Serialisiererschaltung 500 der 5A darstellt. Unter Bezugnahme auf 5 kann die Schaltung 500 eine Anzahl von unterschiedlichen Taktungssignal nutzen. Insbesondere kann der bitclk bei einer hohen Frequenz arbeiten, die mit der Rate der seriellen Dateneingabe übereinstimmt (oder vergleichbar zu dieser ist), und wird verwendet, um die Flip-Flops des Ausgabepuffers 510 zu takten. Der Idclk (d.h. „Last-Takt“) kann die Flip-Flops der Eingabeanordnung 520 Takten, und kann eine Frequenz aufweisen, die ein Teilbetrag des bitclk ist, wobei der Teilwert der Anzahl der Bits jedes Teilwortes entspricht. Folglich betätigt der Idclk die Eingaben der Anordnung 520 einmal pro Zyklus des Übertragens des Teilwortes zu dem Ausgabepuffer 510 hin. Das Taktungssignal Idphase (d.h. „Last-Phase“) kann den Multiplexer jeder Zelle der Eingabeanordnung 520 takten, wodurch zwischen dem Laden der entsprechenden Flip-Flops mit der parallelen Dateneingabe oder dem Bit einer nachfolgenden Reihe in der Anordnung 520 ausgewählt wird. Das Taktungssignal Divclk kann als eine Zeitsteuerungsreferenz für die Datenquelle für den Serialisierer verwendet werden.
  • Zur Serialisierung einer einer seriellen Dateneingabe mit einer hohen Rate kann das implementieren der bitclk bei einer hohen Frequenz (z.B. 25 GHz) der Ausgabepuffer 510 „schnelle“ Flip-Flops mit hoher Geschwindigkeit aufweisen. Im Gegensatz dazu, da die Zellen der Anordnung 520 über vergleichsweise langsamere unterteilte Taktungssignale Idclk und Idphase getaktet sein können, können die Zellen „langsame“ Flip-Flops aufweisen, die kleiner sind und weniger Leistung verbrauchen, als diejenigen des Ausgabepuffers 510.
  • Die Serialisiererschaltung 500 kann mehrere Vorteile vorsehen. Beispielsweise kann durch ausgeben eines Teilwortes (anstelle eines vollständigen Wortes) während jedes Last Zyklus die Schaltung 500 die Verwendung von „schnellen“ Flip-Flops minimieren, wodurch die Leistung und der Raum auf dem Chip, die durch die Schaltung 500 verbraucht werden, reduziert werden. Ferner sieht die modulare Architektur der Schaltung 500 eine effiziente adaptierbare Schaltung vor, die in einem Bereich von unterschiedlichen Datenprotokollen implementiert werden kann. Insbesondere kann die Schaltung 500 mit einer Anordnung 520 von m Spalten und n Zeilen bzw. Reihen der Anordnung konfiguriert sein, um eine ausgewählte Anzahl von spezifischen Wortgrößen unterzubringen. Die Konfiguration der Schaltung 500, die in 5 gezeigt ist, stellt in einem Beispiel eine 5x4-Anordnung dar, die allgemeine Wortgrößen von 8, 10, 16 und 20 Bits (innerhalb anderer, weniger üblicher Wortgrößen) unterbringt, und zwar über die variable Anordnungsverwendung (z.B. m =[4,5], n=[2,4]). Eine Anordnung mit unterschiedlichen mxn-Dimensionen können emittiert werden, um andere Wortgrößen, wie erforderlich, unterzubringen.
  • Ferner, wenn mit einer Wortgröße gearbeitet wird, die kleiner als die Kapazität der Anordnung 520 ist, können einige Zellen der Anordnung 520, gemeinsam mit einem oder mit mehreren Flip-Flops des Ausgabepuffers 510 deaktiviert werden. Beispielsweise können bei einer 10-Bit-Wortkonfiguration die Reihen 522c und 522d der Anordnung 520 deaktiviert werden. Bei einer 8-Bit-Wortkonfiguration können zusätzlich zur Deaktivierung der Reihen 522c und 522d eine Spalte der Anordnung 520 und des Ausgabepuffers 510 (z.B. ein Flip-Flop des Ausgabepuffers 510 und die entsprechenden Zellen der Reihen 522a und 522b) ebenfalls deaktiviert werden. Durch selektives Deaktivieren von Zellen der Anordnung 520 und Flip-Flops des Ausgabepuffers 510 bei einigen Konfigurationen, kann die Schaltung 500 ferner den Leistungsverbrauch durch die Schaltung 500 verringern.
  • 6A ist ein Schaltungsdiagramm eines Taktgebers 600, der implementiert werden kann, um die Taktungssignale der Serialisierer-und/oder Entserialisiererschaltung, die vorangehend unter Bezugnahme auf 1-5 beschrieben sind, zu erzeugen. Der Taktgeber 600 kann eine Anordnung von Flip-Flops 610 aufweisen, die konfiguriert sind, um als ein Welligkeitszähler zu arbeiten, der eine Vielzahl von Zuständen erzeugt. Eine Logikschaltung 612 ist in Übertragungsverbindung mit den Flip-Flops 610 gekoppelt und arbeitet, um ein synchrones Löschungssignal rückzukoppeln, abgeleitete Taktungssignal aus den Zuständen des Welligkeitszählers zu erzeugen, und die mehreren Taktungssignale (z.B. Idclk, divclk), die für die Serialisierer und/oder Entserialisierer erforderlich sind, auszugeben. Ein Zeitsteuerungsdiagramm, das die entsprechenden Taktungssignale darstellt, die durch den Taktgeber 600 erzeugt werden, ist in 6B dargestellt.
  • Um die mehreren eigenständigen Taktungssignale zu erzeugen, kann die Logikschaltung 612 eine komplexe Logikverschaltung implementieren, die nachteilige Effekte beim Betreiben bei höheren Taktungsgeschwindigkeiten einbringen kann.
  • Insbesondere können Mehrbitvergleiche erforderlich sein, um die synchronen Löschungs- und abgeleiteten Taktungssignale zu erzeugen, und die tiefere Logiktiefe, die für derartige Vergleiche erforderlich ist, kann bewirken, dass die Logikschaltung 621 übermäßig langsam arbeitet. Obwohl die Logikschaltung 612 für spezifische Taktungsunterteilungen optimiert werden kann, kann die Optimierung auf Kosten der Neukonfigurierbarkeit für unterschiedliche Taktungsanforderungen gehen.
  • 7A ist ein Schaltungsdiagramm, das einen modularen Taktgeber 700 in einem Ausführungsbeispiel darstellt. Der Taktgeber 700 weist ein Schieberegister 710 (das mehrere Flip-Flops aufweist, die in Reihe verbunden sind), einen Multiplexer 714, der die Eingabe in das Schieberegister 710 auswählt, und eine Logikschaltung 712 auf, die mit den Knoten gekoppelt ist, die die Ausgabe jedes Flip-Flops des Registers 710 und die Eingaben des Multiplexers 714 verbinden.
  • Wie in dem Zeitsteuerungsdiagramm der 7B gezeigt, erzeugt jeder Flip-Flop des Schieberegisters 710 einen entsprechenden Zustand (Q<0>-Q<4>). Die Logikschaltung 712 wählt basierend auf den erforderlichen Taktungsausgaben einen Rückkopplungspunkt (über das Multiplexerauswahlsignal „Modul“) aus, um die Zyklusbreite des Generators bzw. Gebers 700 zu steuern, und die Einschaltdauer bzw. der Arbeitszyklus des Zählens kann durch die eingestellte und freie Konfiguration der Flip-Flops des Registers 710 bestimmt werden. Folglich kann die Logikschaltung eine relativ einfache Logik implementieren, um den Multiplexer und das Schieberegister zu steuern, um eine Vielzahl von Taktungssignalen zu erzeugen.
  • 8A ist ein Schaltungsdiagramm, das einen modularen Taktgeber 800 in einem weiteren Ausführungsbeispiel darstellt. Der Taktgeber 800 kann implementiert werden, um die Taktsignale des Serialisierers und/oder Entserialisierers zu erzeugen, die vorangehend unter Bezugnahme auf 1-5 beschrieben sind. Der Taktgeber 800 kann eine Vielzahl von Subgeneratoren 801a-b aufweisen, wobei jeder Subgenerator die Merkmale des Taktgebers 700 aufweisen kann, die vorangehend unter Bezugnahme auf 7A beschrieben sind, und zwar einschließlich eines Schieberegisters 810a-b, eines Multiplexers 814a-b und einer Logikschaltung 812a-b. Der erste Subgenerator 801a kann jedoch konfiguriert sein, um eine langsamere Taktausgabe („slowclock“) vorzusehen, um das Schieberegister 810b des zweiten Subgenerators 801b zu takten. Infolgedessen können die ersten und zweiten Subgeneratoren 801a-b jeweils einen eigenständigen, neu konfigurierbaren Satz von Taktungssignalen vorsehen, wobei der zweite Subgenerator 801b eine langsamere Taktungssignalausgabe erzeugen kann, die eine Unterteilung der Ausgabe des ersten Subgenerators 801a ist. Eine beispielhafte Vielzahl von Taktungssignalen, die durch den Taktgeber 800 erzeugt wird, ist durch das Zeitsteuerungsdiagramm der 8B dargestellt.
  • Der Taktgeber 800 sieht eine Anzahl von Vorteilen vor. Beispielsweise kann die Anzahl der implementierten Subgeneratoren ebenso wie die Anzahl der Flip-Flops jedes Schieberegisters basierend auf den Taktanforderungen von einer oder mehreren Serialisierer- und Entserialisiererschaltungen konfiguriert sein. Insbesondere wenn ein Wert m mit der Anzahl der Subgeneratoren übereinstimmt und ein Wert n mit einer Anzahl von Flip-Flops eines Schieberegisters übereinstimmt, können m und n so ausgewählt werden, dass sie eine Anzahl von unterschiedlichen Unterteilungsverhältnissen unterbringen, um unterschiedliche Taktungssignale zu erzeugen (z.B. m=[4,5]; n=[2,4]). Derartige Konfigurationen können das Erzeugen von Taktungssignalen vorsehen, um beispielsweise 8-, 10-, 16- oder 20-Bit-Leitungen zu takten, um einen kombinierten 16-, 20-, 32- oder 40-Bit-Gesamtbetrieb eines Entserialisierers und/oder Serialisierers vorzusehen. Ferner können Teile des Taktgebers 800, die nicht in einer gegebenen Konfiguration verwendet werden, deaktiviert werden, wodurch der Leistungsverbrauch durch den Taktgeber 800 verringert wird.
  • Während beispielhafte Ausführungsbeispiele speziell gezeigt und beschrieben sind, werden Fachleute des Gebiets verstehen, dass verschiedene Veränderungen in der Form und in Details vorgenommen werden können, ohne den Rahmen der Ausführungsbeispiele zu verlassen, wie dieser durch die beigefügten Ansprüche umfasst ist.

Claims (26)

  1. Entserialisiererschaltung, die Folgendes aufweist: einen Eingabepuffer, der konfiguriert ist, um ein serielles Datensignal aufzunehmen; und eine Anordnung von Zellen, wobei jede Zelle einen Eingabe-Flip-Flop und einen Ausgabe-Flip-Flop aufweist, wobei die Anordnung von Zellen Folgendes aufweist: eine untere Reihe von Zellen, die konfiguriert ist, um eine Vielzahl von Teilwörtern parallel von dem Eingabepuffer zu den Eingabe-Flip-Flops der unteren Reihe von Zellen aufzunehmen, wobei die Vielzahl von Teilwörtern mit dem seriellen Datensignal übereinstimmt; zumindest eine Zwischenreihe von Zellen, die konfiguriert ist, um 1) die Vielzahl von Teilwörtern von einer vorangehenden Reihe von Zellen aufzunehmen, und 2) einen Teilsatz der Vielzahl von Teilwörtern an eine nachfolgende Reihe von Zellen der Anordnung von Zellen zu übertragen; und eine obere Reihe von Zellen, die konfiguriert ist, um eines der Vielzahl von Teilwörtern aus einer vorangehenden Reihe von Zellen der Anordnung von Zellen aufzunehmen; wobei die Anordnung von Zellen ein Wort parallel über die Ausgabe-Flip-Flops ausgibt, wobei das Wort der Vielzahl von Teilwörtern entspricht.
  2. Schaltung gemäß Anspruch 1, wobei der Eingabepuffer und die Anordnung von Zellen in eine Vielzahl von Leitungen gruppiert sind, wobei jede Leitung einen Teil des seriellen Datensignals in einer abwechselnden Sequenz aufnimmt.
  3. Schaltung gemäß Anspruch 2, wobei die Vielzahl von Leitungen erste und zweite Leitungen aufweist, wobei die erste Leitung konfiguriert ist, um das serielle Datensignal bei einer ersten Taktungskante aufzunehmen bzw. zu empfangen, wobei die zweite Leitung konfiguriert ist, um das serielle Datensignal bei einer zweiten Taktungskante unmittelbar der ersten Taktungskante folgend aufzunehmen bzw. zu empfangen.
  4. Schaltung gemäß Anspruch 1, wobei der Eingabepuffer eine Reihe von Flip-Flops aufweist, die in Reihe über entsprechende Eingaben und Ausgaben verbunden sind.
  5. Schaltung gemäß Anspruch 4, wobei die Reihe von Flip-Flops konfiguriert ist, um mit einer Rate von mindestens 10 GHz zu arbeiten, und die Eingabe- und Ausgabe-Flip-Flops konfiguriert sind, um mit einer Rate von kleiner oder gleich 10 GHz zu arbeiten.
  6. Schaltung gemäß Anspruch 4, wobei die Flip-Flops des Eingabepuffers durch ein erstes Taktungssignal getaktet werden und die Flip-Flops der Anordnung von Zellen durch ein zweites Taktungssignal getaktet werden, wobei das zweite Taktungssignal eine Frequenz aufweist, die ein Bruchteil bzw. Teilbetrag einer Frequenz des ersten Taktungssignals ist.
  7. Schaltung gemäß Anspruch 6, wobei das Mehrfache ein Wert ist, der der Anzahl der Flip-Flops des Eingabepuffers entspricht.
  8. Schaltung gemäß Anspruch 6, die ferner einen Taktgeber aufweist, der konfiguriert ist, um das zweite Taktungssignal zu erzeugen, wobei der Taktgeber Folgendes aufweist: eine erste Reihe von Flip-Flops, die seriell verbunden sind und durch das erste Taktungssignal getaktet werden; eine zweite Reihe von Flip-Flops, die seriell verbunden sind und durch ein Signal getaktet werden, das einer Ausgabe der ersten Reihe von Flip-Flops entspricht; und eine Steuervorrichtung, die konfiguriert ist, um 1) das zweite Taktungssignal als eine Funktion von zumindest einer Ausgabe der ersten Reihe von Flip-Flops auszugeben, und um 2) ein drittes Taktungssignal als eine Funktion von zumindest einer Ausgabe der zweiten Reihe von Flip-Flops auszugeben.
  9. Schaltung gemäß Anspruch 8, wobei die Anordnung von Zellen das Wort als eine Funktion des dritten Taktungssignals ausgibt.
  10. Schaltung gemäß Anspruch 1, die ferner eine unterstützende Reihe von Flip-Flops aufweist, die konfiguriert sind, um die Vielzahl von Teilwörtern parallel von dem Eingabepuffer aufzunehmen und um die Vielzahl von Wörtern sukzessive bzw. aufeinanderfolgend auszugeben.
  11. Schaltung gemäß Anspruch 1, wobei der Eingabepuffer eine Reihe von n Flip-Flops aufweist, und die Anordnung von Zellen n Reihen von m Zellen aufweist, wobei m*n der Anzahl von Bits in dem Wort entspricht.
  12. Serialisiererschaltung, die Folgendes aufweist: eine Anordnung von Zellen, wobei jede Zelle einen Flip-Flop aufweist, wobei die Anordnung von Zellen Folgendes aufweist: eine obere Reihe von Zellen, die konfiguriert ist, um 1) ein erstes Teilwort parallel von einer parallelen Dateneingabe aufzunehmen und um 2) das erste Teilwort parallel zu einer nachfolgenden Reihe der Anordnung zu übertragen; zumindest eine Zwischenreihe von Zellen, die jeweils konfiguriert ist, um 1) ein zweites Teilwort von der parallelen Dateneingabe aufzunehmen, und um 2) das zweite Teilwort an eine nachfolgende Reihe der Anordnung zu übertragen, und um 3) das erste Teilwort von einer vorangehenden Reihe der Anordnung an die nachfolgende Reihe der Anordnung zu übertragen; und eine untere Reihe von Zellen, die konfiguriert ist, um 1) ein drittes Teilwort von der parallelen Dateneingabe aufzunehmen, und um 2) eine Vielzahl von Teilwörtern aufzunehmen, und zwar einschließlich der ersten und zweiten Teilworte, und zwar parallel von einer vorangehenden Reihe der Anordnung; und einen Ausgabepuffer, der konfiguriert ist, um die Vielzahl der Wörter parallel und in sequentieller Weise von der unteren Reihe der Zellen aufzunehmen, wobei der Ausgabepuffer ein Wort zugehörig zu der Vielzahl von Teilwörtern hintereinander ausgibt.
  13. Schaltung gemäß Anspruch 12, wobei der Ausgabepuffer und die Anordnung von Zellen in eine Vielzahl von Leitungen gruppiert ist, wobei jede Leitung einen Teil des Worts über die parallele Dateneingabe aufnimmt bzw. empfängt.
  14. Schaltung gemäß Anspruch 13, wobei die Vielzahl der Leitungen erste und zweite Leitungen aufweist, wobei die erste Leitung konfiguriert ist, um einen ersten Teil des Wortes seriell bei einer ersten Taktungskante zu übertragen, wobei die zweite Leitung konfiguriert ist, um einen zweiten Teil des Wortes seriell bei einer zweiten Taktungskante unmittelbar der ersten Taktungskante folgend zu übertragen.
  15. Schaltung gemäß Anspruch 12, wobei der Ausgabepuffer eine Reihe von Flip-Flops aufweist, die seriell über entsprechende Eingänge und Ausgänge verbunden sind.
  16. Schaltung gemäß Anspruch 15, wobei die Reihe von Flip-Flops konfiguriert ist, um mit einer Rate von mindestens 10 GHz zu arbeiten, und die Flip-Flops der Anordnung konfiguriert sind, um mit einer Rate von kleiner oder gleich 10 GHz zu arbeiten.
  17. Schaltung gemäß Anspruch 15, wobei die Flip-Flops des Ausgabepuffers durch ein erstes Taktungssignal getaktet werden und die Flip-Flops der Anordnung von Zellen durch ein zweites Taktungssignal getaktet werden, wobei das erste Taktungssignal eine Frequenz aufweist, die höher als und ein Vielfaches einer Frequenz des zweiten Taktungssignals ist.
  18. Schaltung gemäß Anspruch 17, wobei das Vielfache ein Wert ist, der der Anzahl von Flip-Flops des Ausgabepuffers entspricht.
  19. Schaltung gemäß Anspruch 17, die ferner einen Taktgeber aufweist, der konfiguriert ist, um das zweite Taktungssignal zu erzeugen, wobei der Taktgeber Folgendes aufweist: eine erste Reihe von Flip-Flops, die seriell verbunden ist und durch das erste Taktungssignal getaktet wird; eine zweite Reihe von Flip-Flops, die seriell verbunden ist und durch ein Signal getaktet wird, das einer Ausgabe der ersten Reihe von Flip-Flops entspricht; und eine Steuervorrichtung, die konfiguriert ist, um 1) das zweite Taktungssignal als eine Funktion von zumindest einer Ausgabe der ersten Reihe von Flip-Flops auszugeben, und um 2) ein drittes Taktungssignal als eine Funktion von zumindest einer Ausgabe der zweiten Reihe von Flip-Flops auszugeben.
  20. Schaltung gemäß Anspruch 19, wobei die Anordnung von Zellen die Vielzahl von Teilwörtern als eine Funktion des dritten Taktungssignals aufnimmt bzw. empfängt.
  21. Schaltung gemäß Anspruch 12, wobei ein Teilsatz der Vielzahl von Zellen ferner einen Multiplexer aufweist, der konfiguriert ist, um eine Ausgabe zwischen der parallelen Dateneingabe und eine Ausgabe einer Zelle einer vorangehenden Reihe umzuschalten, wobei der Multiplexer die Ausgabe an und die Eingabe von den entsprechenden Flip-Flops überträgt.
  22. Schaltung gemäß Anspruch 12, wobei der Ausgabepuffer eine Reihe von n Flip-Flops aufweist und die Anordnung von Zellen m Reihen von n Zellen aufweist, wobei m*n der Anzahl der Bits in dem Wort entspricht.
  23. Entserialisiererschaltung, die Folgendes aufweist: einen Eingabepuffer, der konfiguriert ist, um eine Vielzahl von Teilwörtern hintereinander aus einem seriellen Datensignal zu halten; und eine Anordnung von Zellen, wobei jede Zelle einen Eingabe-Flip-Flop und einen Ausgabe-Flip-Flop aufweist, wobei die Anordnung von Zellen konfiguriert ist, um die Vielzahl von Teilwörtern aufeinanderfolgend von dem Eingabepuffer zu den Eingabe-Flip-Flops aufzunehmen, wobei die Anordnung von Zellen ferner konfiguriert ist, um ein Wort parallel über die Ausgabe-Flip-Flops auszugeben, wobei das Wort mit der Vielzahl von Teilwörtern übereinstimmt.
  24. Schaltung gemäß Anspruch 23, wobei der Eingabepuffer eine Reihe von n Flip-Flops aufweist und die Anordnung von Zellen n Reihen von m Zellen aufweist, wobei m*n der Anzahl der Bits in dem Wort entspricht.
  25. Serialisiererschaltung, die Folgendes aufweist: eine Anordnung von Zellen, wobei jede Zelle einen Flip-Flop aufweist, wobei die Anordnung von Zellen konfiguriert ist, um eine Vielzahl von Teilwörtern parallel aufzunehmen, wobei jede Reihe der Anordnung von Zellen ein entsprechendes der Vielzahl von Teilwörtern hält; und einen Ausgabepuffer, der konfiguriert ist, um die Vielzahl von Wörtern parallel und sequentiell von einer unteren Reihe der Anordnung von Zellen aufzunehmen, wobei der Ausgabepuffer seriell ein Wort ausgibt, das der Vielzahl von Teilwörtern entspricht.
  26. Schaltung gemäß Anspruch 25, wobei der Ausgabepuffer eine Reihe von n Flip-Flops aufweist und die Anordnung von Zellen m Reihen von n Zellen aufweist, wobei m*n der Anzahl von Bits in dem Wort entspricht.
DE102018218151.9A 2017-11-07 2018-10-24 Modularer serialisierer und entserialsierer Pending DE102018218151A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/805,631 US10141949B1 (en) 2017-11-07 2017-11-07 Modular serializer and deserializer
US15/805,631 2017-11-07

Publications (1)

Publication Number Publication Date
DE102018218151A1 true DE102018218151A1 (de) 2019-05-09

Family

ID=64315627

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018218151.9A Pending DE102018218151A1 (de) 2017-11-07 2018-10-24 Modularer serialisierer und entserialsierer

Country Status (2)

Country Link
US (1) US10141949B1 (de)
DE (1) DE102018218151A1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210141813A (ko) * 2020-05-13 2021-11-23 삼성디스플레이 주식회사 클록 데이터 복원 회로, 표시 장치, 및 클록 데이터 복원 회로의 구동 방법
US11493951B2 (en) * 2020-11-17 2022-11-08 Rockwell Collins, Inc. Precision latency control
US11870880B2 (en) * 2022-01-31 2024-01-09 Samsung Display Co., Ltd. Clock data recovery (CDR) with multiple proportional path controls

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5982309A (en) * 1998-01-09 1999-11-09 Iowa State University Research Foundation, Inc. Parallel-to-serial CMOS data converter with a selectable bit width mode D flip-flop M matrix
US6052073A (en) * 1998-03-23 2000-04-18 Pmc-Sierra Ltd. Serial to parallel converter enabled by multiplexed flip-flop counters
TW541806B (en) * 2002-04-12 2003-07-11 Via Tech Inc Serial/parallel data converter and the conversion method
JP2006101269A (ja) * 2004-09-30 2006-04-13 Sanyo Electric Co Ltd ラッチクロック生成回路及びシリアル−パラレル変換回路
KR100894811B1 (ko) * 2007-01-11 2009-04-24 삼성전자주식회사 서데스의 역직렬화기 및 그것의 데이터 역직렬화 방법
US8045667B2 (en) * 2007-02-02 2011-10-25 Samsung Electronics Co., Ltd. Deserializer and data recovery method
JP4796983B2 (ja) * 2007-03-08 2011-10-19 オンセミコンダクター・トレーディング・リミテッド シリアル/パラレル変換回路、液晶表示駆動回路
JP2009094891A (ja) * 2007-10-10 2009-04-30 Toshiba Corp 半導体集積回路装置及びパターン検出方法
KR101298567B1 (ko) * 2007-11-07 2013-08-22 삼성전자주식회사 데이터 전송 방법, 데이터 전송 장치 및 데이터 송수신시스템
US7990293B2 (en) * 2009-07-07 2011-08-02 Mediatek Inc. Programmable deserializer
JP2011109555A (ja) * 2009-11-20 2011-06-02 Fujitsu Ltd パラレル−シリアル変換回路
US8217814B1 (en) * 2010-12-17 2012-07-10 Mosys, Inc. Low power serial to parallel converter

Also Published As

Publication number Publication date
US10141949B1 (en) 2018-11-27

Similar Documents

Publication Publication Date Title
DE19917320C2 (de) Taktgenerator für ein Halbleiter-Prüfsystem
DE102005051478B4 (de) Flashdatenspeichervorrichtung
DE60224478T2 (de) Schaltung zur Serialisierung von synchronen Daten
DE102018218151A1 (de) Modularer serialisierer und entserialsierer
DE102007060805B4 (de) Speichersteuerung und Computersystem mit derselben sowie Verfahren zur Steuerung eines Speichers
DE4126767C2 (de) Anordnung zur Erzeugung von Signalmustern
DE60019834T2 (de) Serien-Parallel-Umsetzerschaltkreis
DE102007020005B3 (de) Integrierte Schaltung zur Takterzeugung für Speicherbausteine
DE10393657T5 (de) Verfahren und Vorrichtung zur Datenabfrage
CN1909439B (zh) 可编程逻辑器件集成电路上用于高速串行数据接收机的解串器
DE112007001602T5 (de) Strukturbasierter Hochgeschwindigkeitsserien-Kreuzschienenschalter für ATE
DE10144247A1 (de) Halbleiterspeicherbauelement und zugehöriges Halbleiterspeichersystem
DE10235739A1 (de) Register ohne Beschränkung der Anzahl von montierten Speichereinrichtungen und Speichermodul, welches selbiges aufweist
DE3344141T1 (de) Sortiervorrichtung
DE102004042900B4 (de) Ringoszillator, Signalerzeugungsverfahren und Speichersystem
DE60214411T2 (de) Parallel/Seriell-Wandler
DE102008023536B4 (de) Leistungsarmer und hochauflösender Zeitgeber
DE3926489A1 (de) Pseudozufallsrauschcodegenerator
DE102007004713A1 (de) Datenübergabeeinheit zum Übertragen von Daten zwischen unterschiedlichen Taktbereichen
DE19957613B4 (de) Synchronisierungsschaltung zum Konvertieren eines asynchronen Impulssignals in ein synchrones Impulssignal
DE19811591C2 (de) Taktsignal modellierende Schaltung mit negativer Verzögerung
DE102007011091A1 (de) Verfahren zum Testen eines Halbleiterspeichers, Verfahren zur Datenserialisierung und Datenserialisierer
DE19581595C2 (de) Signalübertragungsvorrichtung mit mehreren LSIs
DE10164917B4 (de) Halbleiterspeichersystem
DE112011104391B4 (de) Bereitstellen einer Feedback-Schleife in einer seriellen Zusammenschaltungsarchitektur mit niedriger Latenz

Legal Events

Date Code Title Description
R081 Change of applicant/patentee

Owner name: MARVELL ASIA PTE, LTD., SG

Free format text: FORMER OWNER: CAVIUM, LLC, SAN JOSE, CA, US

R082 Change of representative

Representative=s name: WAGNER & GEYER PARTNERSCHAFT MBB PATENT- UND R, DE

R082 Change of representative

Representative=s name: GRUENECKER PATENT- UND RECHTSANWAELTE PARTG MB, DE

R012 Request for examination validly filed