US20120154186A1 - Low power serial to parallel converter - Google Patents
Low power serial to parallel converter Download PDFInfo
- Publication number
- US20120154186A1 US20120154186A1 US12/971,847 US97184710A US2012154186A1 US 20120154186 A1 US20120154186 A1 US 20120154186A1 US 97184710 A US97184710 A US 97184710A US 2012154186 A1 US2012154186 A1 US 2012154186A1
- Authority
- US
- United States
- Prior art keywords
- serial
- clock signal
- output
- data bits
- response
- 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.)
- Granted
Links
- 238000005070 sampling Methods 0.000 claims abstract description 30
- 230000004044 response Effects 0.000 claims abstract description 29
- 230000000630 rising effect Effects 0.000 claims description 15
- 230000001419 dependent effect Effects 0.000 claims description 9
- 238000000034 method Methods 0.000 claims 4
- 240000007320 Pinus strobus Species 0.000 description 26
- 238000010586 diagram Methods 0.000 description 11
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M9/00—Parallel/series conversion or vice versa
Definitions
- This disclosure relates to data conversion, and more particularly to serial to parallel conversion.
- Serializer-deserializer (SerDes)-based interconnects typically require receiver circuitry to serialize and deserialize the data between serial and parallel data formats.
- SerDes serializer-deserializer
- Many systems are now employing serial links to transfer data at speeds in the tens of Gb/sec and beyond.
- a serial-to-parallel converter is used. As shown in FIG. 1 , a conventional serial-to-parallel converter uses a significant number of high-speed flip-flop circuits and a corresponding high-speed clock tree to capture the serial data and convert it to parallel data within the device. However, at these speeds, power consumption may be an issue.
- serial-to-parallel converters may use a number of high-speed flip-flops to capture the serial data and convert it to parallel data using a high-speed clock.
- An example of such a conventional serial-to-parallel converter is shown in FIG. 1 .
- the serial-to-parallel converter 10 of FIG. 1 receives a serial data stream sdata_in at a pair of one-bit analog-to-digital (A/D) converters (e.g., 11 and 12 ).
- A/D converters 11 and 12 sample the serial data at the clock rate specified by the clock signal clk_in.
- the A/D 11 captures the serial data on the rising or positive edge of clk_in while the A/D 12 captures the serial data on the falling or negative edge of clk_in.
- even data e.g., bits 0 , 2 , 4 , 6 , etc.
- odd data e.g., bits 1 , 3 , 5 , 7 , etc.
- the flip-flop (FF) 17 captures the even serial data bits that were sampled by the A/D 11 and the FF 18 captures the odd serial data bits that were sampled by the A/D 12 to remove the half-cycle data caused by sampling on the rising and falling edges of clk_in.
- each of the FF 19 -FF 26 captures the respective bits of an eight-bit byte using the buffered (via clock buffer 13 ) high-speed clock signal clk_in to create an eight-bit parallel data byte.
- bits zero, two, four, and six may be captured by FFs 19 , 20 , 21 , and 22 , respectively, while bits one, three, five, and seven may be captured by FFs 23 , 24 , 25 , and 26 , respectively.
- the FF 19 -FF 26 are enabled by strobe signals rxen ⁇ 7:0> only during the time in which the respective data bits should be present.
- the strobe signals rxen ⁇ 7:0> are generated by the strobe generator 15 based upon the clk_in signal.
- Each captured bit passes through a respective exclusive-OR (XOR) gate (e.g., XOR gates 27 - 34 ) and when selected the polarity is inverted.
- XOR exclusive-OR
- the parallel data (e.g., rxdata ⁇ 7:0>) is then captured by the output flip-flops (e.g., FF 35 -FF 42 ) using the slower clock signal clkdiv 4 , which may be running at one-fourth the frequency of the clk_in signal.
- the clkdiv 4 signal is generated by the clock generator 16 , which receives the buffered clk_in signal through clock buffer 14 .
- the serial-to-parallel converter 10 has many high-speed flip-flops and although only one high-speed clock buffer/driver 13 is shown, it is representative of many such drivers and/or the RC time constants of the wiring in the clock tree that distributes the high-speed clock to the high-speed FF 19 -FF 26 . As such, the serial-to-parallel converter 10 of FIG. 1 may consume an unacceptable amount of power at high speeds. Furthermore, it may be desirable to use less overall area when fabricated as an integrated circuit.
- the serial-to-parallel converter includes a sampling unit that may, in response to a serial clock signal, sample an input serial data stream having even and odd data bits, provide an even serial data stream including the even data bits, and provide an odd serial data stream including the odd data bits.
- the serial-to-parallel converter also includes a strobe generator and a number of latches.
- the strobe generator may be configured to receive the serial clock signal and to generate a plurality of enable signals based upon the serial clock signal. The frequency of a given enable signal corresponds to a fractional multiple of a frequency of the serial clock signal.
- the enable strobes may operate at one-fourth the frequency of the serial clock signal.
- the latches may latch the even data bits and the odd data bits, and in response to a particular respective enable signal, each of a first portion of the latches may be configured to latch and output a particular respective even data bit.
- Each of a second portion of the latches may be configured to latch and output a particular respective odd data bit.
- the serial-to-parallel converter further includes a number of output flip-flops, each configured to capture and output the particular respective data bit output by the respective latch in response to an output clock signal.
- the serial-to-parallel converter also includes a first serial flip-flop and a second serial flip-flop that may capture and output the even data bits and the odd data bits, respectively, in response to a rising edge of the serial clock signal.
- the serial-to-parallel converter also includes a first exclusive-OR (XOR) gate coupled between the first serial flip-flop and the first portion of the plurality of latches and may be configured to invert a polarity of the even data bits dependent upon an inversion select signal.
- the serial-to-parallel converter also includes a second XOR gate coupled between the second serial flip-flop and the second portion of the plurality of latches and configured to invert a polarity of the odd data bits dependent upon the inversion select signal.
- FIG. 1 is a schematic diagram of a prior art serial-to-parallel converter.
- FIG. 2 is a block diagram of one embodiment of a system including a communication link between two devices.
- FIG. 3 is a schematic diagram of one embodiment of a low power serial-to-parallel converter.
- FIG. 4 is a schematic diagram of another embodiment of a low power serial-to-parallel converter.
- FIG. 5 is a timing diagram depicting the operational timing of one embodiment of the serial-to-parallel converter shown in FIG. 3
- the word “may” is used in a permissive sense (i.e., meaning having the potential to), rather than the mandatory sense (i.e., meaning must).
- the words “include,” “including,” and “includes” mean including, but not limited to.
- circuits, or other components may be described as “configured to” perform a task or tasks.
- “configured to” is a broad recitation of structure generally meaning “having circuitry that” performs the task or tasks during operation.
- the unit/circuit/component can be configured to perform the task even when the unit/circuit/component is not currently on.
- the circuitry that forms the structure corresponding to “configured to” may include hardware circuits.
- various units/circuits/components may be described as performing a task or tasks, for convenience in the description.
- the system 100 includes a device (e.g., device 1 ) coupled to another device (e.g., device 2 ) via a serial communication link 116 .
- Device 1 includes a communication interface 12 A
- device 2 includes a communication interface 112 B.
- communication interface 112 A includes a SerDes 113 A
- communication interface 112 B includes a SerDes 113 B.
- each of the devices 1 and 2 may embody any type of apparatus and implement any particular functionality, as desired.
- circuitry implementing each of devices 1 and 2 or aspects thereof may be incorporated on a single integrated circuit (IC) or on different ICs.
- one device e.g., device 1
- the other device e.g., device 2
- a communication link such as communication link 116 refers to the physical interconnect, whether wired or wireless, between two devices for conveying information.
- the communication link may include any number of wire traces on the circuit board.
- the communication link 116 includes unidirectional communication paths (e.g. 114 A) that convey information serially from device 1 to device 2 , and unidirectional communication paths (e.g. 114 B) that convey information serially from device 2 to device 1 .
- serial communication link 116 there may be any number of unidirectional communication paths 114 A and 114 B within the serial communication link 116 .
- the communication link 116 may instead include any number of bidirectional serial communication paths.
- communication link 116 may include both unidirectional and bidirectional serial communication paths.
- each SerDes 113 may include a serial-to-parallel converter (shown in FIG. 3 ) for converting serial data from the communication link 116 to parallel data that may be used within the SerDes 113 of device 1 and device 2 in general. More particularly, in one embodiment the serial-to-parallel converter of FIG. 3 may consume less power and area than some conventional converters (e.g., serial-to-parallel converter 10 of FIG. 1 ) by replacing several high-speed flip-flops with latches, eliminating many polarity inverting gates, and eliminating a portion of the high-speed clock tree associated with distributing the high-speed clock to the eliminated flip-flops.
- some conventional converters e.g., serial-to-parallel converter 10 of FIG. 1
- FIG. 3 a schematic diagram of one embodiment of a serial-to-parallel converter is shown. Similar to the serial-to-parallel converter 10 of FIG. 1 the serial-to-parallel converter 300 of FIG. 3 receives a serial data stream sdata_in at a pair of sampling devices such as one-bit analog-to-digital (A/D) converters (e.g., 301 and 302 ), which embody a sampling unit.
- A/D analog-to-digital
- the serial data stream sdata_in is operating at a particular baud (i.e. symbol) rate, and has a corresponding switching frequency.
- the A/D converters 301 and 302 sample the serial data at the clock rate (i.e., clock frequency) specified by the clock signal clk_in.
- the clock frequency of the clk_in signal is substantially the same as the switching frequency of the sdata_in, and substantially half of the baud rate of the sdata_in stream. For example, if the serial data stream is operating with a baud rate of 10 Gbps, it has a switching frequency of 5 Ghz, and the clk_in signal may also be operating at 5 Ghz.
- the A/D 301 captures the serial data on the rising or positive edge of clk_in while the A/D 302 captures the serial data on the falling or negative edge of clk_in.
- the flip-flop (FF) 306 captures the even serial data bits that were sampled by the A/D 301 and the FF 307 captures the odd serial data bits that were sampled by the A/D 302 using the high-speed clock signal clk_in.
- the FF 306 and FF 307 remove the half-cycle data caused by sampling on the rising and falling edges of clk_in and allow all data to be timed with the one (e.g., rising edge) of the clk_in signal.
- the serial-to-parallel converter 300 of FIG. 3 uses latches 310 - 317 to capture the respective bits of an eight-bit byte.
- latches 310 - 317 instead of the high-speed clock (e.g., clk_in), latches 310 - 317 use the strobe signals rxen ⁇ 7:0> which operate at a frequency that is lower than the clk_in signal, to latch the data bits, thus saving power and area.
- bits zero, two, four, and six may be captured by latches 310 , 311 , 312 , and 313 , respectively, while bits one, three, five, and seven may be captured by latches 314 , 315 , 316 , and 317 , respectively.
- each of the latches 310 - 317 is enabled by one of the strobe signals rxen ⁇ 7:0> only during the time in which the respective data bit should be present.
- the strobe signals rxen ⁇ 7:0> in FIG.
- the actual strobe signals may be duplicated.
- the actual strobe signals that are conveyed on rxen ⁇ 0,2,46> may be the same signals as those conveyed on rxen ⁇ 1,3,5,7>, respectively.
- the strobe generator may generate a separate strobe for each latch, or it may generate one strobe for two latches, as desired.
- each captured serial stream (e.g., data_ev and data_od) passes through an exclusive-OR (XOR) gate (e.g., XOR gates 308 and 309 ) and when selected by the polarity_inv signal, the polarity is inverted.
- XOR exclusive-OR
- the strobe signals are generated by the strobe generator 304 based upon the buffered clk_in signal.
- the parallel data (e.g., rxdata ⁇ 7:0>) is then captured by the output flip-flops (e.g., FF 318 -FF 325 ) using the slower clock signal clkdiv 4 , which in one embodiment, may be running at one-fourth the frequency of the clk_in signal.
- the clkdiv 4 signal is generated by the clock generator 305 , which receives the buffered clk_in signal through clock buffer 303 .
- the operation of the serial to-parallel converter 300 is described in more detail with reference to the timing diagram of FIG. 4 .
- a single sampling A/D (e.g., 401 ) may be used.
- An exemplary alternative embodiment is shown in FIG. 4 .
- the serial clock clk_in signal has a frequency that is twice the maximum switching frequency of the sdata_in serial data stream.
- the remainder of the circuit components is similar to that shown in FIG. 3 , and are thus numbered the same for clarity and simplicity.
- the strobe timing of rxen ⁇ 7:0> in the embodiment of FIG. 4 may be different than that shown in FIG. 3 . More particularly, in such an alternative embodiment, a separate enable strobe would drive each latch at the appropriate time to latch the respective date bits.
- FIG. 5 a timing diagram depicting the operational timing of various signals of one embodiment of the serial-to-parallel converter shown in FIG. 3 .
- the timing diagram includes a number of signals including sdata_in at the top, followed by the clk_in signal.
- the data_ev and data_od signals which represent the even and odd data serial data streams after being sampled by the A/D converters 301 and 302 , respectively, are shown.
- the data_ev_stg and data_od_stg signals which represent the even and odd serial data streams after passing through the polarity inverting XOR gates 308 and 309 , respectively, are shown.
- the next signal is the rxen ⁇ 0,1> strobe which may be used to latch data in the latches 310 and 314 , respectively.
- the next signal is the data_lat ⁇ 0>, which may be the data latched by latch 310 .
- the next signal is the rxen ⁇ 2,3> strobe, which may be used to latch data in the latches 311 and 315 , respectively.
- the next signal is the data_lat ⁇ 2>, which may be the data that is latched by latch 311 .
- the remaining strobes (e.g., rxen ⁇ 4:7>) and latched data have been omitted here for simplicity.
- the next signal is the clkdiv 4 signal, followed by the rxdata ⁇ 7:0> signals.
- the clk_in signal clocks the A/D converters 301 and 302 .
- the A/D converters 301 and 302 capture the data bits b 0 and b 1 of the serial stream, respectively.
- the clk_in signal is operating at a frequency that is substantially the same as the switching frequency of the sdata_in data stream.
- the serial data streams data_ev and data_od leave the A/D converters 301 and 302 , respectively, at substantially half the frequency and aligned to the clk_in signal.
- both the FF 306 and the FF 307 capture the data bits b 0 and b 1 according to the leading edge of the clk_in signal.
- the bits of the serial data streams data_ev_stg and data_od_stg are in phase.
- the rising edge of clk_in captures both the b 0 data bit and the b 1 data bit.
- the data bits of the streams data_ev_stg and data_od_stg appear at the input of latches 310 - 317 at substantially the same time.
- the strobe generator 305 generates the rxen ⁇ 0,1> signal and at t 3 the latches 310 and 314 latch the data bits b 0 and b 1 , respectively, as shown by the data_lat ⁇ 0> signal in which the data bit b 0 is latched.
- the A/D converters 301 and 302 capture the data bits b 2 and b 3
- the b 2 and b 3 data bits are captured by the FF 306 and FF 307 .
- the b 2 and b 3 data bits appear at the input of latches 310 - 317 .
- the strobe generator 305 generates the rxen ⁇ 2,3> signal and at t 6 the latches 311 and 315 latch the data bits b 2 and b 3 , respectively, as shown by the data_lat ⁇ 2> signal in which the data bit b 2 is latched. It is noted that although not shown, the remaining strobes and latches operate similarly.
- the clkdiv 4 signal is an output clock used to capture and output the parallel data within the flip-flops FF 318 -FF 325 . Accordingly, at time t 2 , the output data from the previous data (e.g., a ⁇ 7:0>) is captured and output on the rxdata ⁇ 7:0> signal lines. Then at time t 7 , the output data (e.g., b ⁇ 7:0>) is captured and output on the rxdata ⁇ 7:0> signal lines. It is noted that the signals shown in FIG. 4 are not necessarily drawn to scale but are shown as they are for discussion purposes only.
- serial data stream is converted to an eight-bit parallel data byte, it is contemplated that in other embodiments, the serial data stream may be converted to a parallel word containing any number of bits as desired. It is also noted that in the above description, particular latches have been assigned to particular data bits, and particular A/D converters have been assigned as positive edge or negative edge triggered for discussion purposes only. It is contemplated that in other embodiments, any latch may be assigned to any data bit, and either A/D converter may be assigned to capture the even or odd bits as desired.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Information Transfer Systems (AREA)
Abstract
Description
- 1. Technical Field
- This disclosure relates to data conversion, and more particularly to serial to parallel conversion.
- 2. Description of the Related Art
- Systems that employ communication links with serializer-deserializer (SerDes)-based interconnects typically require receiver circuitry to serialize and deserialize the data between serial and parallel data formats. Many systems are now employing serial links to transfer data at speeds in the tens of Gb/sec and beyond. To deserialize the data, a serial-to-parallel converter is used. As shown in
FIG. 1 , a conventional serial-to-parallel converter uses a significant number of high-speed flip-flop circuits and a corresponding high-speed clock tree to capture the serial data and convert it to parallel data within the device. However, at these speeds, power consumption may be an issue. - More particularly, conventional serial-to-parallel converters may use a number of high-speed flip-flops to capture the serial data and convert it to parallel data using a high-speed clock. An example of such a conventional serial-to-parallel converter is shown in
FIG. 1 . The serial-to-parallel converter 10 ofFIG. 1 receives a serial data stream sdata_in at a pair of one-bit analog-to-digital (A/D) converters (e.g., 11 and 12). The A/D converters D 11 captures the serial data on the rising or positive edge of clk_in while the A/D 12 captures the serial data on the falling or negative edge of clk_in. In the embodiment shown inFIG. 1 , even data (e.g.,bits bits D 11 and theFF 18 captures the odd serial data bits that were sampled by the A/D 12 to remove the half-cycle data caused by sampling on the rising and falling edges of clk_in. In addition, each of the FF 19-FF26 captures the respective bits of an eight-bit byte using the buffered (via clock buffer 13) high-speed clock signal clk_in to create an eight-bit parallel data byte. For example, bits zero, two, four, and six may be captured byFFs FFs strobe generator 15 based upon the clk_in signal. Each captured bit passes through a respective exclusive-OR (XOR) gate (e.g., XOR gates 27-34) and when selected the polarity is inverted. The parallel data (e.g., rxdata<7:0>) is then captured by the output flip-flops (e.g., FF 35-FF42) using the slower clock signal clkdiv4, which may be running at one-fourth the frequency of the clk_in signal. The clkdiv4 signal is generated by theclock generator 16, which receives the buffered clk_in signal throughclock buffer 14. - The serial-to-
parallel converter 10 has many high-speed flip-flops and although only one high-speed clock buffer/driver 13 is shown, it is representative of many such drivers and/or the RC time constants of the wiring in the clock tree that distributes the high-speed clock to the high-speed FF19-FF26. As such, the serial-to-parallel converter 10 ofFIG. 1 may consume an unacceptable amount of power at high speeds. Furthermore, it may be desirable to use less overall area when fabricated as an integrated circuit. - Various embodiments of a serial-to-parallel converter are disclosed. In one embodiment, the serial-to-parallel converter includes a sampling unit that may, in response to a serial clock signal, sample an input serial data stream having even and odd data bits, provide an even serial data stream including the even data bits, and provide an odd serial data stream including the odd data bits. The serial-to-parallel converter also includes a strobe generator and a number of latches. The strobe generator may be configured to receive the serial clock signal and to generate a plurality of enable signals based upon the serial clock signal. The frequency of a given enable signal corresponds to a fractional multiple of a frequency of the serial clock signal. For example, the enable strobes may operate at one-fourth the frequency of the serial clock signal. The latches may latch the even data bits and the odd data bits, and in response to a particular respective enable signal, each of a first portion of the latches may be configured to latch and output a particular respective even data bit. Each of a second portion of the latches may be configured to latch and output a particular respective odd data bit. The serial-to-parallel converter further includes a number of output flip-flops, each configured to capture and output the particular respective data bit output by the respective latch in response to an output clock signal.
- In one specific implementation, the serial-to-parallel converter also includes a first serial flip-flop and a second serial flip-flop that may capture and output the even data bits and the odd data bits, respectively, in response to a rising edge of the serial clock signal.
- In another specific implementation, the serial-to-parallel converter also includes a first exclusive-OR (XOR) gate coupled between the first serial flip-flop and the first portion of the plurality of latches and may be configured to invert a polarity of the even data bits dependent upon an inversion select signal. The serial-to-parallel converter also includes a second XOR gate coupled between the second serial flip-flop and the second portion of the plurality of latches and configured to invert a polarity of the odd data bits dependent upon the inversion select signal.
-
FIG. 1 is a schematic diagram of a prior art serial-to-parallel converter. -
FIG. 2 is a block diagram of one embodiment of a system including a communication link between two devices. -
FIG. 3 is a schematic diagram of one embodiment of a low power serial-to-parallel converter. -
FIG. 4 is a schematic diagram of another embodiment of a low power serial-to-parallel converter. -
FIG. 5 is a timing diagram depicting the operational timing of one embodiment of the serial-to-parallel converter shown inFIG. 3 - Specific embodiments are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the drawings and detailed description are not intended to limit the claims to the particular embodiments disclosed, even where only a single embodiment is described with respect to a particular feature. On the contrary, the intention is to cover all modifications, equivalents and alternatives that would be apparent to a person skilled in the art having the benefit of this disclosure. Examples of features provided in the disclosure are intended to be illustrative rather than restrictive unless stated otherwise.
- As used throughout this application, the word “may” is used in a permissive sense (i.e., meaning having the potential to), rather than the mandatory sense (i.e., meaning must). Similarly, the words “include,” “including,” and “includes” mean including, but not limited to.
- Various units, circuits, or other components may be described as “configured to” perform a task or tasks. In such contexts, “configured to” is a broad recitation of structure generally meaning “having circuitry that” performs the task or tasks during operation. As such, the unit/circuit/component can be configured to perform the task even when the unit/circuit/component is not currently on. In general, the circuitry that forms the structure corresponding to “configured to” may include hardware circuits. Similarly, various units/circuits/components may be described as performing a task or tasks, for convenience in the description. Such descriptions should be interpreted as including the phrase “configured to.” Reciting a unit/circuit/component that is configured to perform one or more tasks is expressly intended not to invoke 35 U.S.C. §112, paragraph six, interpretation for that unit/circuit/component.
- Turning now to
FIG. 2 , a block diagram of one embodiment of a system including a communication link between two devices is shown. Thesystem 100 includes a device (e.g., device 1) coupled to another device (e.g., device 2) via aserial communication link 116.Device 1 includes a communication interface 12A, anddevice 2 includes acommunication interface 112B. In addition,communication interface 112A includes a SerDes 113A andcommunication interface 112B includes a SerDes 113B. Generally speaking, each of thedevices devices - It is noted that a communication link such as
communication link 116 refers to the physical interconnect, whether wired or wireless, between two devices for conveying information. For example, in one embodiment in which two integrated circuit (IC) chips mounted on a circuit board are interconnected via a wired communication link, the communication link may include any number of wire traces on the circuit board. Accordingly, in the embodiment shown inFIG. 2 , thecommunication link 116 includes unidirectional communication paths (e.g. 114A) that convey information serially fromdevice 1 todevice 2, and unidirectional communication paths (e.g. 114B) that convey information serially fromdevice 2 todevice 1. It is noted that in various embodiments, there may be any number ofunidirectional communication paths serial communication link 116. However, it is also noted that in other embodiments thecommunication link 116 may instead include any number of bidirectional serial communication paths. Alternatively,communication link 116 may include both unidirectional and bidirectional serial communication paths. - As described in greater detail below in conjunction with the description of
FIG. 3 , in one embodiment, each SerDes 113 may include a serial-to-parallel converter (shown inFIG. 3 ) for converting serial data from thecommunication link 116 to parallel data that may be used within the SerDes 113 ofdevice 1 anddevice 2 in general. More particularly, in one embodiment the serial-to-parallel converter ofFIG. 3 may consume less power and area than some conventional converters (e.g., serial-to-parallel converter 10 ofFIG. 1 ) by replacing several high-speed flip-flops with latches, eliminating many polarity inverting gates, and eliminating a portion of the high-speed clock tree associated with distributing the high-speed clock to the eliminated flip-flops. - Referring to
FIG. 3 , a schematic diagram of one embodiment of a serial-to-parallel converter is shown. Similar to the serial-to-parallel converter 10 ofFIG. 1 the serial-to-parallel converter 300 ofFIG. 3 receives a serial data stream sdata_in at a pair of sampling devices such as one-bit analog-to-digital (A/D) converters (e.g., 301 and 302), which embody a sampling unit. The serial data stream sdata_in is operating at a particular baud (i.e. symbol) rate, and has a corresponding switching frequency. The A/D converters D 301 captures the serial data on the rising or positive edge of clk_in while the A/D 302 captures the serial data on the falling or negative edge of clk_in. The flip-flop (FF) 306 captures the even serial data bits that were sampled by the A/D 301 and theFF 307 captures the odd serial data bits that were sampled by the A/D 302 using the high-speed clock signal clk_in. The FF306 and FF307 remove the half-cycle data caused by sampling on the rising and falling edges of clk_in and allow all data to be timed with the one (e.g., rising edge) of the clk_in signal. - However, instead of capturing the serial data using eight high-speed flip-flops and a high-speed clock as shown in
FIG. 1 , the serial-to-parallel converter 300 ofFIG. 3 uses latches 310-317 to capture the respective bits of an eight-bit byte. In addition, instead of the high-speed clock (e.g., clk_in), latches 310-317 use the strobe signals rxen<7:0> which operate at a frequency that is lower than the clk_in signal, to latch the data bits, thus saving power and area. For example, bits zero, two, four, and six may be captured bylatches latches FIG. 4 , each of the latches 310-317 is enabled by one of the strobe signals rxen<7:0> only during the time in which the respective data bit should be present. In one embodiment, although the strobe signals rxen<7:0>, inFIG. 3 are shown such that strobes rxen<0,2,46> are coupled to latches 310-313, and strobes rxen<1,3,5,7> are coupled to latches 314-317, the actual strobe signals may be duplicated. For example, the actual strobe signals that are conveyed on rxen<0,2,46> may be the same signals as those conveyed on rxen<1,3,5,7>, respectively. Thus, in various embodiments, the strobe generator may generate a separate strobe for each latch, or it may generate one strobe for two latches, as desired. Prior to latching the serial data into the latches 310-317, each captured serial stream (e.g., data_ev and data_od) passes through an exclusive-OR (XOR) gate (e.g.,XOR gates 308 and 309) and when selected by the polarity_inv signal, the polarity is inverted. The strobe signals are generated by thestrobe generator 304 based upon the buffered clk_in signal. The parallel data (e.g., rxdata<7:0>) is then captured by the output flip-flops (e.g., FF 318-FF325) using the slower clock signal clkdiv4, which in one embodiment, may be running at one-fourth the frequency of the clk_in signal. The clkdiv4 signal is generated by theclock generator 305, which receives the buffered clk_in signal throughclock buffer 303. The operation of the serial to-parallel converter 300 is described in more detail with reference to the timing diagram ofFIG. 4 . - In an alternative embodiment, rather than use two sampling A/D converters as shown in
FIG. 3 , a single sampling A/D (e.g., 401) may be used. An exemplary alternative embodiment is shown inFIG. 4 . In the embodiment ofFIG. 4 , the serial clock clk_in signal has a frequency that is twice the maximum switching frequency of the sdata_in serial data stream. In addition, there is only one serial flip-flop (e.g., FF306) to capture and output the data bits of the serial data stream, and one polarity inversion XOR gate (e.g., 308). The remainder of the circuit components is similar to that shown inFIG. 3 , and are thus numbered the same for clarity and simplicity. However, the strobe timing of rxen<7:0> in the embodiment ofFIG. 4 may be different than that shown inFIG. 3 . More particularly, in such an alternative embodiment, a separate enable strobe would drive each latch at the appropriate time to latch the respective date bits. - Turning to
FIG. 5 , a timing diagram depicting the operational timing of various signals of one embodiment of the serial-to-parallel converter shown inFIG. 3 . The timing diagram includes a number of signals including sdata_in at the top, followed by the clk_in signal. Next the data_ev and data_od signals, which represent the even and odd data serial data streams after being sampled by the A/D converters XOR gates latches latch 310. The next signal is the rxen<2,3> strobe, which may be used to latch data in thelatches latch 311. The remaining strobes (e.g., rxen<4:7>) and latched data have been omitted here for simplicity. The next signal is the clkdiv4 signal, followed by the rxdata<7:0> signals. - Referring collectively to
FIG. 3 andFIG. 5 , as streaming serial data sdata_in is received, the clk_in signal clocks the A/D converters D converters D converters - More particularly, at t2 the rising edge of clk_in captures both the b0 data bit and the b1 data bit. After a clock to q delay of the FF306 and FF307 and the delays of the
XOR gates strobe generator 305 generates the rxen<0,1> signal and at t3 thelatches - Similarly, at time t2 and t4 the A/
D converters strobe generator 305 generates the rxen<2,3> signal and at t6 thelatches - The clkdiv4 signal is an output clock used to capture and output the parallel data within the flip-flops FF318-FF325. Accordingly, at time t2, the output data from the previous data (e.g., a<7:0>) is captured and output on the rxdata<7:0> signal lines. Then at time t7, the output data (e.g., b<7:0>) is captured and output on the rxdata<7:0> signal lines. It is noted that the signals shown in
FIG. 4 are not necessarily drawn to scale but are shown as they are for discussion purposes only. - It is noted that although the serial data stream is converted to an eight-bit parallel data byte, it is contemplated that in other embodiments, the serial data stream may be converted to a parallel word containing any number of bits as desired. It is also noted that in the above description, particular latches have been assigned to particular data bits, and particular A/D converters have been assigned as positive edge or negative edge triggered for discussion purposes only. It is contemplated that in other embodiments, any latch may be assigned to any data bit, and either A/D converter may be assigned to capture the even or odd bits as desired.
- Although the embodiments above have been described in considerable detail, numerous variations and modifications will become apparent to those skilled in the art once the above disclosure is fully appreciated. It is intended that the following claims be interpreted to embrace all such variations and modifications.
Claims (20)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/971,847 US8217814B1 (en) | 2010-12-17 | 2010-12-17 | Low power serial to parallel converter |
PCT/US2011/065682 WO2012083279A2 (en) | 2010-12-17 | 2011-12-17 | Low power serial to parallel converter |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/971,847 US8217814B1 (en) | 2010-12-17 | 2010-12-17 | Low power serial to parallel converter |
Publications (2)
Publication Number | Publication Date |
---|---|
US20120154186A1 true US20120154186A1 (en) | 2012-06-21 |
US8217814B1 US8217814B1 (en) | 2012-07-10 |
Family
ID=46233676
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/971,847 Expired - Fee Related US8217814B1 (en) | 2010-12-17 | 2010-12-17 | Low power serial to parallel converter |
Country Status (2)
Country | Link |
---|---|
US (1) | US8217814B1 (en) |
WO (1) | WO2012083279A2 (en) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140298075A1 (en) * | 2013-03-27 | 2014-10-02 | Kool Chip, Inc. | Serial-to-Parallel Converter |
US9099170B2 (en) | 2013-05-23 | 2015-08-04 | SK Hynix Inc. | Semiconductor devices including pipe latch units and system including the same |
US9154159B2 (en) | 2013-12-31 | 2015-10-06 | International Business Machines Corporation | Low latency data deserializer |
CN107306139A (en) * | 2016-04-20 | 2017-10-31 | 台湾积体电路制造股份有限公司 | Deserialization circuitry and its operating method |
US10141949B1 (en) * | 2017-11-07 | 2018-11-27 | Cavium, Llc | Modular serializer and deserializer |
KR20190036755A (en) * | 2017-09-28 | 2019-04-05 | 삼성전자주식회사 | Stacked semiconductor device, system including the same and method of transferring signals in the same |
KR20200021255A (en) * | 2018-08-20 | 2020-02-28 | 에스케이하이닉스 주식회사 | Semiconductor device including data input circuit |
US11087669B2 (en) * | 2018-03-30 | 2021-08-10 | Beijing Boe Optoelectronics Technology Co., Ltd. | Gate drive circuit, driving method thereof and display device |
US20230004507A1 (en) * | 2017-10-02 | 2023-01-05 | Micron Technology, Inc. | Communicating data with stacked memory dies |
US11971820B2 (en) | 2017-10-02 | 2024-04-30 | Lodestar Licensing Group Llc | Variable modulation scheme for memory device access or operation |
CN118432627A (en) * | 2024-07-04 | 2024-08-02 | 中茵微电子(南京)有限公司 | Parallel-serial conversion method and device adopting high-speed sampling |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI459401B (en) * | 2011-03-09 | 2014-11-01 | Etron Technology Inc | Latch system applied to a plurality of banks of a memory circuit |
WO2015176244A1 (en) * | 2014-05-21 | 2015-11-26 | Qualcomm Incorporated | Serializer and deserializer for odd ratio parallel data bus |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7764206B2 (en) * | 2005-09-01 | 2010-07-27 | Round Rock Research, Llc | Parallel-to-serial data sort device |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2501513Y2 (en) * | 1989-04-27 | 1996-06-19 | 日本電気株式会社 | Parallel to serial converter |
JP2508588B2 (en) | 1993-06-16 | 1996-06-19 | 日本電気株式会社 | Serial / parallel conversion circuit |
SE506817C2 (en) * | 1996-06-20 | 1998-02-16 | Ericsson Telefon Ab L M | Serial-parallel and parallel-serial converters including frequency dividers |
US6128681A (en) * | 1997-08-07 | 2000-10-03 | Avid Technology, Inc. | Serial to parallel and parallel to serial, converter for a digital audio workstation |
TW541806B (en) | 2002-04-12 | 2003-07-11 | Via Tech Inc | Serial/parallel data converter and the conversion method |
JP2006101269A (en) * | 2004-09-30 | 2006-04-13 | Sanyo Electric Co Ltd | Latch clock generating circuit and serial/parallel conversion circuit |
US7490182B2 (en) * | 2005-04-08 | 2009-02-10 | Panasonic Corporation | Switching control circuit provided with serial to parallel converter and storage unit, and radio communication apparatus using the same |
-
2010
- 2010-12-17 US US12/971,847 patent/US8217814B1/en not_active Expired - Fee Related
-
2011
- 2011-12-17 WO PCT/US2011/065682 patent/WO2012083279A2/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7764206B2 (en) * | 2005-09-01 | 2010-07-27 | Round Rock Research, Llc | Parallel-to-serial data sort device |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140298075A1 (en) * | 2013-03-27 | 2014-10-02 | Kool Chip, Inc. | Serial-to-Parallel Converter |
US9286260B2 (en) * | 2013-03-27 | 2016-03-15 | Soctronics, Inc. | Serial-to parallel converter using serially-connected stages |
US9099170B2 (en) | 2013-05-23 | 2015-08-04 | SK Hynix Inc. | Semiconductor devices including pipe latch units and system including the same |
US9154159B2 (en) | 2013-12-31 | 2015-10-06 | International Business Machines Corporation | Low latency data deserializer |
CN107306139A (en) * | 2016-04-20 | 2017-10-31 | 台湾积体电路制造股份有限公司 | Deserialization circuitry and its operating method |
KR20190036755A (en) * | 2017-09-28 | 2019-04-05 | 삼성전자주식회사 | Stacked semiconductor device, system including the same and method of transferring signals in the same |
KR102395446B1 (en) * | 2017-09-28 | 2022-05-10 | 삼성전자주식회사 | Stacked semiconductor device, system including the same and method of transferring signals in the same |
US20230004507A1 (en) * | 2017-10-02 | 2023-01-05 | Micron Technology, Inc. | Communicating data with stacked memory dies |
US11775460B2 (en) * | 2017-10-02 | 2023-10-03 | Micron Technology, Inc. | Communicating data with stacked memory dies |
US11971820B2 (en) | 2017-10-02 | 2024-04-30 | Lodestar Licensing Group Llc | Variable modulation scheme for memory device access or operation |
US10141949B1 (en) * | 2017-11-07 | 2018-11-27 | Cavium, Llc | Modular serializer and deserializer |
US11087669B2 (en) * | 2018-03-30 | 2021-08-10 | Beijing Boe Optoelectronics Technology Co., Ltd. | Gate drive circuit, driving method thereof and display device |
KR20200021255A (en) * | 2018-08-20 | 2020-02-28 | 에스케이하이닉스 주식회사 | Semiconductor device including data input circuit |
KR102597343B1 (en) * | 2018-08-20 | 2023-11-06 | 에스케이하이닉스 주식회사 | Semiconductor device including data input circuit |
CN118432627A (en) * | 2024-07-04 | 2024-08-02 | 中茵微电子(南京)有限公司 | Parallel-serial conversion method and device adopting high-speed sampling |
Also Published As
Publication number | Publication date |
---|---|
WO2012083279A2 (en) | 2012-06-21 |
WO2012083279A3 (en) | 2012-10-26 |
US8217814B1 (en) | 2012-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8217814B1 (en) | Low power serial to parallel converter | |
EP1670199B1 (en) | Design of channel alignment, error handling, and clock routing using hard-wired blocks for data transmission within programmable logic integrated circuits | |
US8352774B2 (en) | Inter-clock domain data transfer FIFO circuit | |
EP1958404B1 (en) | Alignment and deskew for multiple lanes of serial interconnect | |
CN106844246B (en) | Multi-level signaling for chip-to-chip interconnection on package through silicon bridge | |
KR102357899B1 (en) | Method and apparatus for valid encoding | |
US8571059B1 (en) | Apparatus and methods for serial interfaces with shared datapaths | |
Krylov et al. | Globally asynchronous, locally synchronous clocking and shared interconnect for large-scale SFQ systems | |
Fukaishi et al. | A 4.25-Gb/s CMOS fiber channel transceiver with asynchronous tree-type demultiplexer and frequency conversion architecture | |
EP3734465B1 (en) | Data transmission code and interface | |
Kim et al. | Design of an interconnect architecture and signaling technology for parallelism in communication | |
US7796063B2 (en) | Data transmission circuits and data transceiver systems | |
US10141949B1 (en) | Modular serializer and deserializer | |
KR20180065119A (en) | Receiver for data communication | |
US8466816B2 (en) | Method and apparatus for serializing bits | |
JP5560867B2 (en) | Data receiving circuit | |
CN109831192B (en) | Physical layer circuit for transmitter and receiver, method thereof and communication system | |
US20070057827A1 (en) | Method and apparatus for generating a serial clock without a PLL | |
US11012087B2 (en) | Encoding and decoding architecture for high speed data communication system and related physical layer circuit, transmitter and receiver and communication system thereof | |
KR100799684B1 (en) | Communication system and method of controlling the same | |
Pradhitha et al. | Development and Implementation of Parallel to Serial Data Transmitter using Aurora Protocol for High Speed Serial Data Transmission on Virtex-7 FPGA | |
US8707080B1 (en) | Simple circular asynchronous clock domain crossing technique for digital data | |
CN103531167A (en) | Serial/parallel data control circuit | |
Kim et al. | A high resolution Serializer and Deserializer architecture for mobile image sensor module | |
US9106504B1 (en) | Methods and apparatus for aligning signals in transceiver circuitry |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: MOSYS, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HASSAN, MAHMUDUL;REEL/FRAME:025519/0700 Effective date: 20101217 |
|
ZAAA | Notice of allowance and fees due |
Free format text: ORIGINAL CODE: NOA |
|
ZAAB | Notice of allowance mailed |
Free format text: ORIGINAL CODE: MN/=. |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
AS | Assignment |
Owner name: INGALLS & SNYDER LLC, NEW YORK Free format text: SECURITY INTEREST;ASSIGNOR:MOSYS, INC.;REEL/FRAME:038081/0262 Effective date: 20160314 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |
|
AS | Assignment |
Owner name: INGALLS & SNYDER LLC, NEW YORK Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:PERASO INC. F/K/A MOSYS, INC.;REEL/FRAME:061593/0094 Effective date: 20221003 |
|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO SMALL (ORIGINAL EVENT CODE: SMAL); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY |
|
FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY |
|
LAPS | Lapse for failure to pay maintenance fees |
Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY |
|
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20240710 |