USPatentGranted
B2

High speed serializer/deserializer transmit architecture

Granted 29 Jun 2010 · 4 office actions

Assignee: Qualcomm Technologies, Inc.

Law firm: Law firm · Log in to unlock

Attorney: Attorney · Log in to unlock

Inventors: Jason Gonzalez · Examiner: Peguy JeanPierre · AU 2819 · TC 2800

Life of the patent

11 dated events
⤢ drag to zoom200620082010201220142016201820202022202420262028ProsecutionOwnershipTerm & fees
ProsecutionOwnershipTerm & feeshover for detail · click to open

Abstract

A Serializer/Deserializer apparatus comprises a serializer adapted to take N parallel bits of data and shifts them out serially at N times a clock speed to a transmitter, a transmitter enable block adapted to start the serializer means, and a count block. The serializer comprises flip-flops and muxes, and is adapted to N parallel bits of data and shifts them out serially at N times a clock speed to a transmitter. The transmitter enable block comprises an inverter and flip-flops, and is adapted to start the serializer. The transmitter enable block comprises an inverter, flip-flops, and a NOR gate, and is adapted to create a waveform which programs data loading in the serializer.

Description

6 parts
›CROSS-REFERENCE TO RELATED APPLICATION

This application claims the benefit of U.S. Provisional Application Ser. No. 60/865,606, filed on Nov. 13, 2006, and entitled “LOW LATENCY, LOW POWER, FIFO INDEPENDENT, HIGH SPEED SERDES TRANSMIT ARCHITECTURE.” The entirety of this application is incorporated herein by reference.

›BACKGROUND

I. Field

The present invention relates generally to communication systems, and more particularly to serializer/deserializer (SerDes) circuits used in communication systems.

II. Background

SerDes circuits are generally incorporated into integrated circuits and operate at high speed, and convert parallel data to serial data and serial data to parallel data.

Conventional SerDes have the following disadvantages:—they use First In-First Out (FIFO) circuits to cross clock domains, thereby requiring extra power and area—they use high speed mux's to manage the bit selection for the output path which adds asymmetry to the waveform or adds an additional pipeline flip flop of latency.

›SUMMARY

The following presents a simplified summary of one or more aspects in order to provide a basic understanding of such aspects. This summary is not an extensive overview of all contemplated aspects, and is intended to neither identify key or critical elements of all aspects nor delineate the scope of any or all aspects. Its sole purpose is to present some concepts of one or more aspects in a simplified form as a prelude to the more detailed description that is presented later.

In accordance with an aspect, a circuit takes four parallel data bits and their low-frequency (e.g. 200 MHz) clock, and converts them into a serial stream of data at high-frequency (e.g. 800 MHz). The basic architecture can support speeds well beyond 1 GHz. The following problems are solved:—data/clock skew from the core to the pad. This problem is solved by pulling the last stage of core logic into the pad—clock uncertainty between the slow clock (nibl clock—200 MHz) and the fast clock (tx clock—800 MHz). This problem is solved by using a circuit to cross the clock domains safely and keep all high speed clock jitter/skew limited to the small area inside the transmitter. Also, there is a circuit that avoids any metastable issues between nibl and tx clock.—The circuit avoids additional latency that comes when using a FIFO circuit (as in conventional practice) for crossing the clock domains.—The circuit avoids additional circuit area and power used by FIFO's and the control logic needed to handle the FIFO pointers.

To the accomplishment of the foregoing and related ends, the one or more aspects comprise the features hereinafter fully described and particularly pointed out in the claims. The following description and the annexed drawings set forth in detail certain illustrative aspects of the one or more aspects. These aspects are indicative, however, of but a few of the various ways in which the principles of various aspects may be employed and the described aspects are intended to include all such aspects and their equivalents.

›BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram that illustrates an exemplary embodiment of a serializer;

FIG. 2 illustrates an exemplary timing diagram of a host serializer startup according to an aspect;

FIG. 3 illustrates an exemplary timing diagram of a host serializer and driver interface skew calibration according to an aspect; and

FIG. 4 a block diagram that illustrates an exemplary embodiment of a transmit SerDes architecture.

›DETAILED DESCRIPTION · 1 of 2

Various embodiments are now described with reference to the drawings, wherein like reference numerals are used to refer to like elements throughout. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of one or more embodiments. However, it may be evident that such embodiment(s) may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form in order to facilitate the description of one or more embodiments.

In an embodiment serializer circuit 100 comprises the following circuits depicted in FIG. 1 :

Pipe input stage 110 : This is a bank of registers that allows easy timing closure of the data bits from the core to the MDDI host PHY. It takes eight bits of parallel data from the core and latches them using the core byte_clock. Primary host and external host have different byte clocks to allow them to run simultaneously at different data rates.

Serializer start block 120 : The tx_ff_ena signal is asserted by the core when the serializer should start. This block takes the tx_ff_ena signal from the core and synchronizes it to the tx_clk domain (high-speed clock, i.e., 768 MHz).

Byte-select generator 130 : This block generates a byte-select signal that is synchronous to the full-rate clock tx_clk. It also maximizes the setup/hold timing margin by loading the data after it has been resting in the pipe stage for four tx_clk periods. This is critical as variations in temperature and voltage may cause the byte and Tx clocks from the core to have up to ±3 ns phase skew with respect to each other.

Serializer output stage 140 : This block loads the eight parallel data bits from the pipe stage and then shifts them out serially. It repeats this operation every eight tx_clk periods (i.e., 8/768 MHz).

Serializer circuit 100 enables the host to run at high speeds (e.g. 768 Mbps) by taking 8 bits of slow parallel data from the core and shifting them out serially at 8× speed to the strobe encoder and eventually the host driver.

According to an aspect, the timing diagram depicted in FIG. 2 shows the host startup sequence. The following are descriptions for sections A, B, and C in the diagram.

Section A represents two byte-clock periods where the tx_ff_ena is asserted to load the data pipeline in the pad with logic 1s. Note that data and strobe lines are both floating here.

Section B represents the STB_START_UP state where the strobe driver is enabled but tx_ff_ena is low. The expected output on the strobe lines is logic 0. The data lines are still floating.

Section C represents the DATA_START_UP state where the data driver is enabled but tx_ff_ena is low. The expected output on the data lines is logic 0. At the end of C, the tx_ff_ena is asserted and the strobe should start toggling as per the mddi_data_out byte from the core.

In another aspect, the timing diagram depicted in FIG. 3 shows the host serializer and driver interface skew calibration. When skew_cal_ena is asserted from the core, the data byte from the core is 0x00. The last eight data bytes have been zero so the pad continues toggling strobe lines as if the data were 0. When the skew_cal_ena signal goes high, the MDDI starts routing the output of strobe to data. In other words, the effect of the skew_cal_ena signal is to use the incoming data byte to encode the strobe sequence, and both data and strobe drivers output the encoded strobe sequence. The data byte is only used to figure out the strobe value and is never transmitted out.

With reference now to FIG. 4 , in another embodiment a transmit SerDes 400 contains 3 major functional areas: 1) A Serializer 410 : this circuit contains 4 flip-flops and 4 muxes. It takes 4 parallel bits of nibl data and shifts them out serially at 4× clock speed to a Low Voltage Differential Signal transmitter. The parallel bits are loaded once every 4 TX clocks (at e.g. 200 MHz) and shifted out serially every TX clock (at e.g. 800 MHz). 2) A Transmitter (TX) Enable Block 420 : this circuit contains an inverter and 3 flip-flops. It has three inputs from the core: txff_ena, nibl_clk, and tx_clk. Its output starts the serializer: tx_clk_ena. When txff_ena is asserted, a flip-flop loads a “1” at the next rising edge of nibl_clk. Then this “1” is shifted by tx_clk through 2 serial registers. The last register outputs tx_clk_ena, which starts the serializer. 3) A Count Block 430 : this circuit contains an inverter, 2 flip-flops, and a NOR gate. It creates the nibl_d_ena waveform which programs nibl or serial data loading in the serializer.

Those of skill in the art would understand that information and signals may be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips that may be referenced throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.

Those of skill would further appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.

The various illustrative logical blocks, modules, and circuits described in connection with the embodiments disclosed herein may be implemented or performed with a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.

›DETAILED DESCRIPTION · 2 of 2

The steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor such the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an ASIC. The ASIC may reside in a user terminal. In the alternative, the processor and the storage medium may reside as discrete components in a user terminal.

The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims

1 · 1 independent · depth 1
1 granted claims

Classifications

3 codes
IPC · International Patent Classification
Section H — Electricity
  • H03M9/00
USPC · US Patent Classification
341/100341/101

Claim changes

Soon
Coming soonHow the claims changed between publication and grant

See which claims were amended, added or cancelled during examination, with every added and removed word marked.

AmendedAddedCancelledUnchanged

The published claims of this patent are not paired with the granted ones in what we hold.

File wrapper

⤢ drag to zoomOct 2007Jan 2008Apr 2008Jul 2008Oct 2008Jan 2009Apr 2009Jul 2009Oct 2009Jan 2010Apr 2010Jul 2010USPTOApplicantNon-final rejectionResponse after non-finalRequest for continued examination
USPTOApplicanthover for detail · click to open
Pendency
2.6 y
959 days filing → grant
Office actions
2
non-final + final
Responses
1
1 RCE
Examiner
Peguy JeanPierre
art unit 2819 · TC 2800
Citations: 14 back · 6 forward

See the full prosecution history — every USPTO and applicant action on this file, in order.

Log in to unlock

Chain of title

⤢ drag to zoom20082010201220142016201820202022202420262028Owner 1
Titlehover for detail · click to open

See the full assignment history — every owner this patent has passed through, with recordation dates and reel/frame numbers.

Log in to unlock

Term & fees

See the term timeline — pendency span, in-force span, the maintenance fees paid and both computed expiry dates.

Log in to unlock

Priority chain

2 priority documents
Priority
13 Nov 2006
earliest claimed
›Priority documents — 2
TypeDocumentDate
provisionalUS 60865606 0013 Nov 2006
related publicationUS 20080136689 A112 Jun 2008

Worldwide family

12 members · 6 offices
US2EP1JP2KR3CN2WO2
this patentIP5 & PCTother officessolid = grantedhover for detail · click to open
Members
12
DOCDB simple family 39321530
Offices
6
US · EP · JP · KR · CN · WO
Granted
4 of 12
grant date present
Non-English titles
6
shown as filed, never translated
›IP5 & PCT — 12 members
OfficePublicationKindPublishedFiledStatusTitle
USUS-2008136689-A1A112 Jun 200813 Nov 2007publishedHigh speed serializer/deserializer transmit architecture
USthis patentUS-7746251-B2B229 Jun 201013 Nov 2007grantedHigh speed serializer/deserializer transmit architecture
EPEP-2092650-A2A226 Aug 200913 Nov 2007publishedHochgeschwindigkeitsserialisiererde
JPJP-2010509894-AA25 Mar 201013 Nov 2007published高速シリアライザ/デシリアライザ送信アーキテクチャーja
JPJP-5027241-B2B219 Sep 201213 Nov 2007granted高速シリアライザ/デシリアライザ送信アーキテクチャーja
KRKR-20090091169-AA26 Aug 200913 Nov 2007published고속 시리얼라이저 장치ko
KRKR-20120024816-AA14 Mar 201213 Nov 2007publishedHigh speed serializer apparatus
KRKR-101121299-B1B122 Mar 201213 Nov 2007grantedHigh speed serializer apparatus
CNCN-101536318-AA16 Sep 200913 Nov 2007publishedHigh speed serializer/deserializer transmit architecture
CNCN-101536318-BB22 May 201313 Nov 2007grantedHigh speed serializer/deserializer transmit device
WOWO-2008064028-A2A229 May 200813 Nov 2007publishedArchitecture de transmission à convertisseur parallèle / série et convertisseur série / parallèle à grande vitessefr
WOWO-2008064028-A3A321 Aug 200813 Nov 2007publishedArchitecture de transmission à convertisseur parallèle / série et convertisseur série / parallèle à grande vitessefr

Validity challenges

See the validity challenges on record — reexaminations, IPRs and PGRs, with their institution decisions and outcomes.

Log in to unlock

Citations

See every patent this one cites and every patent that cites it back — publication, assignee, and how each one was found.

Log in to unlock