US8773964B2 - CDMA-based crosstalk cancellation for on-chip global high-speed links - Google Patents

CDMA-based crosstalk cancellation for on-chip global high-speed links Download PDF

Info

Publication number
US8773964B2
US8773964B2 US12/878,547 US87854710A US8773964B2 US 8773964 B2 US8773964 B2 US 8773964B2 US 87854710 A US87854710 A US 87854710A US 8773964 B2 US8773964 B2 US 8773964B2
Authority
US
United States
Prior art keywords
data
differential
signal
data bit
multiplier
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.)
Active, expires
Application number
US12/878,547
Other versions
US20120063291A1 (en
Inventor
Tzu-Chien Hsueh
Sudhakar Pamarti
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.)
University of California
Original Assignee
University of California
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 University of California filed Critical University of California
Priority to US12/878,547 priority Critical patent/US8773964B2/en
Assigned to THE REGENTS OF THE UNIVERSITY OF CALIFORNIA reassignment THE REGENTS OF THE UNIVERSITY OF CALIFORNIA ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HSUEH, TZU-CHIEN, PAMARTI, SUDHAKAR
Publication of US20120063291A1 publication Critical patent/US20120063291A1/en
Priority to US14/324,291 priority patent/US9484981B2/en
Application granted granted Critical
Publication of US8773964B2 publication Critical patent/US8773964B2/en
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • 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/69Spread spectrum techniques
    • H04B1/707Spread spectrum techniques using direct sequence modulation
    • H04B1/7097Interference-related aspects
    • H04B1/7103Interference-related aspects the interference being multiple access interference
    • 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/69Spread spectrum techniques
    • H04B1/707Spread spectrum techniques using direct sequence modulation
    • H04B1/7097Interference-related aspects

Definitions

  • This application relates to improved techniques for high speed links on chip dies to minimize the effects of cross-talk and capacitive coupling.
  • the application further relates to using synchronous CDMA-spread spectrum techniques with on-chip high-speed data buses.
  • Embodiments in the detailed description reduce the effects of capacitive coupling between data lines of a data bus on a semiconductor die.
  • a single-ended data bus system may be configured to communicate data across an on-chip interconnect utilizing synchronous CDMA based spread spectrum techniques. Utilizing a short spread code to spread the data, data signals propagated along each of the data lines may be encoded to suppress cross-talk interference between the data lines. Transmitting a spread spectrum signal across on-chip interconnects for recovery at the terminus permit integrated chip designers to overcome the effects of capacitive cross-talk between adjacent data bus lines.
  • a short spreading code, S(t) may be used with multiplication operations in the transmitter and the receiver of a high speed data bus to accomplish the spreading and de-spreading operations. For example, for a data bus having a plurality of data lines, divided into odd-links and even-links, the effects of capacitive coupling may be reduced by only multiplying signals on the odd-links with a spreading code that is orthogonal to those on the even-links.
  • the embodiments provided herein provide improved cross-talk immunity between adjacent high speed signal lines by applying synchronous CDMA spread spectrum techniques to each of the high speed signal lines.
  • the systems, devices, and methods provide improved cross-talk immunity between even and odd data lines.
  • Other embodiments provide improved cross-talk immunity between nearby and adjacent data lines.
  • a data bus on an integrated circuit die may include a first data line, the first data line having a first end and a second end, and a second data line substantially adjacent to the first data line, the second data line having a first end and a second end.
  • the data bus may further include a first line driver including a first line driver input configured to receive a first data signal and a first line driver output in communication with the first end of the first data line.
  • the first line driver may be configured to drive the first data signal onto the first data line and a first integrator including an input in communication with the second end of the second data line.
  • the first integrator may be configured to receive the first data signal and integrate the first data signal to generate a first received output.
  • the data bus may also include a second line driver including a second line driver input and a second line driver output.
  • the second line driver output may be in communication with the first end of the second data line and a first multiplier including a first input configured to receive a second data signal, a second input configured to receive a spread spectrum code, and an output in communication with the second line driver input.
  • the first multiplier may be configured to modulate the second data signal based on the spread spectrum code to generate a modulated signal.
  • the data bus may also include a second multiplier including an output, a first input coupled to the second end of the second data line, and a second input configured to receive a spreading code.
  • the second multiplier may be configured to de-modulate the modulated signal based on the spreading code to generate a de-modulated signal and a second integrator in communication with the output of the second multiplier, the second integrator configured to integrate the de-modulated signal to generate a second received output.
  • a data bus for transmitting data on an integrated circuit may include a first differential signal line including a first signal line and a second signal line, where each of the first signal line and second signal line includes a first end and a second end, and a first multiplier configured to receive a spreading code and a data bit.
  • the first multiplier may be configured to generate a modulated data bit based upon the data bit and a spreading code.
  • the data bus may also include a differential line driver configured to receive the modulated data bit.
  • the differential line driver has a non-inverting output and an inverting output. The non-inverting output is coupled to the first end of the first signal line and the inverting output is coupled to the first end of the second signal line.
  • the differential line driver generates a non-inverted modulated data bit and an inverted modulated data bit.
  • the data bus may further include a second multiplier and a third multiplier.
  • the second multiplier may include a first input in communication with the second end of the first signal line, a second input configured to receive the spreading code, and an output.
  • the second multiplier is configured to generate a non-inverted data bit at the output based upon the spreading code and the non-inverted modulated data bit.
  • a third multiplier includes a first input in communication with the second end of the second signal line, a second input configured to receive the spreading code, and an output.
  • the third multiplier is configured to generate an inverted data bit at the output based upon the spreading code and the inverted modulated data bit.
  • the data bus may also include a differential integrator including a non-inverting input configured to receive the non-inverted data bit and an inverting input configured to receive the inverted data bit.
  • Another example system for transmitting data includes a method including providing a data bus on a integrated chip die, wherein the data bus includes a plurality of adjacent data lines, wherein the plurality of adjacent data lines include a first data line adjacent to a second data line.
  • the method further includes modulating a first data bit on the first data line with a first spread spectrum code to generate a first spread signal.
  • the method further includes modulating a second bit on the second data line with a second spread spectrum code to generate a second spread signal.
  • the method further includes de-modulating the first spread signal with the first spread spectrum code and de-modulating the second spread signal with the second spread spectrum code.
  • Still another example is a data bus on a semiconductor die that includes one or more data links on the semiconductor die, wherein each of the one or more data links is configured to receive a data bit.
  • Each of the one or more data links has a unique spreading code.
  • Each of the data links includes a first multiplier including a first input configured to receive a data bit signal and a second input configured to receive the unique spreading code, the first multiplier configured to generate a modulated data bit based upon the data bit signal and the unique spreading code of the respective data line.
  • Each of the data links further includes a line driver including a line driver input configured to receive the modulated data bit and a line driver output coupled to a first end of a data line.
  • Each of the data links further includes a second multiplier including a first input coupled to a second end of the data line, a second input configured to receive the unique spreading code, the second multiplier configured to generate a demodulated data bit based upon the modulated data bit and the unique spreading code of the respective data line.
  • Each of the data links also includes an integrator in communication with the second multiplier and is configured to generate an integrated output based upon the demodulated data bit.
  • FIG. 1 depicts an example chip die having a data bus which includes a plurality of data links.
  • FIG. 2 depicts an example chip die having a spread spectrum based on-chip, low swing, single-ended interconnection with clock forwarding.
  • FIG. 3 depicts an example chip die having a spread spectrum based on-chip differential interconnect with clock forwarding (not explicitly shown).
  • FIG. 4 depicts another example of a spread spectrum based on-chip, low swing, single-ended interconnection with clock forwarding.
  • FIG. 5 depicts an example of a spread spectrum based differential interconnect to communicate a phantom signal.
  • FIG. 6 depicts an example of a spread spectrum based differential interconnect to communicate a phantom signal.
  • FIG. 7 depicts an example of a spread spectrum based differential interconnect to communicate a phantom signal.
  • Embodiments in the detailed description reduce the effects of capacitive coupling between data lines of a data bus on a semiconductor die.
  • a single-ended data bus system may be configured to communicate data across an on-chip interconnect utilizing synchronous CDMA based spread spectrum techniques. Utilizing a short spread code to spread the data, data signals propagated along each of the data lines may be encoded to suppress cross-talk interference between the data lines. Transmitting a spread spectrum signal across on-chip interconnects for recovery at the terminus permit integrated chip designers to overcome the effects of capacitive cross-talk between adjacent data bus lines.
  • a short spreading code, S(t) may be used with multiplication operations in the transmitter and the receiver of a high speed data bus to accomplish the spreading and de-spreading operations. For example, for a data bus having a plurality of data lines, consisting of odd-links and even-links, the effects of capacitive coupling may be reduced by only multiplying signals on the odd-links with a spreading code that is orthogonal to those on the even-links.
  • the embodiments provided herein provide improved cross-talk immunity between adjacent high speed signal lines by applying synchronous CDMA spread spectrum techniques to each of the high speed signal lines.
  • the system, devices, and systems provide improved cross-talk immunity between even and odd data lines.
  • Other embodiments provide improved cross-talk immunity between nearby and adjacent data lines.
  • the effects of capacitive coupling may be reduced by only multiplying signals on the odd-links with a spreading code that is orthogonal to those on the even-links.
  • a spreading code that is orthogonal to those on the even-links.
  • selecting orthogonal codes [1, 1] for even-links and [1, ⁇ 1] for odd links minimizes the hardware necessary to implement synchronous CDMA based techniques on the even-link and odd-link data bus lines, where the odd-links and even-links alternate, as depicted in FIG. 1 .
  • a single-ended data bus system 10 is configured to communicate data across an on-chip interconnect utilizing synchronous CDMA based spread spectrum techniques. Utilizing a short spread code to spread the data, data signals propagated along each of the data lines may be encoded to suppress cross-talk interference between the data lines.
  • FIG. 1 depicts the single-ended data bus system 10 on a chip die having a data bus 12 that includes a plurality of data links.
  • the data bus 12 may include a first data link 14 , a second data link 16 , a third data link 18 , a fourth data link 20 , and a 2K th data link 22 .
  • the data bus 12 may be further divided into odd data links 24 and even data links 26 .
  • the data bus 12 may further include a clock signal 28 coupled to clock forwarding circuitry 30 .
  • data bus 12 may also include multipliers configured to spread spectrum modulate and demodulate some or all of the data transmitted across data bus 12 .
  • FIG. 1 further depicts the second data link 16 including the first transmitter multiplier 32 configured to multiply data transmitted across the second data link 16 by a spreading code, S(t), 34 .
  • Second data link 16 further includes a first receiver multiplier 36 configured to de-spread the data transmitted through second data link 16 by a clock forwarded spreading signal S′(t) 38 .
  • the clock forwarded spreading signal, S′(t), 38 is a clock forwarded version of the spreading code S(t).
  • the spreading code, S(t), 34 spreads data transmitted across the second data link 16 with short spreading code that is orthogonal to the data transmitted through either the first data link 14 or the third data link 18 .
  • the same spreading code, S(t), 34 is clock forwarded to account for propagation delay and used to generate a clock forwarded spreading signal S′(t) 38 .
  • the clock forwarding spreading code, S′(t), 38 is used to de-spread the received data.
  • the fourth data link 20 includes a second transmitter multiplier 40 configured to spread the data transfer through the fourth data link 20 , and a second receiver multiplier 42 configured to de-spread the transmitted data.
  • the 2K th data link 22 further includes the third transmitter multiplier 44 and a third receiver multiplier 46 for spreading and de-spreading the data transmitted through the 2K th data link 22 . Because the data propagated along the even data links is orthogonal to the data propagated along the odd data links, the configuration of data bus 12 reduces the effects of cross-talk between the even data links 26 and odd data links 24 .
  • FIG. 1 also depicts a clock signal, CLK, coupled to clock forwarding circuitry 30 .
  • the clock forwarding circuitry 30 provides time aligned clock signals to the data bus 12 to ensure proper data capture and time aligned presentation of the clock forwarded spreading signal, S′(t), 38 .
  • FIG. 2 depicts the single-ended data bus 48 that includes input digital data circuitry 50 coupled to transmit circuitry 52 , which is coupled to data lines 54 . Data transmitted across data lines 54 is received by receiver circuitry 56 and captured by data capture circuitry 58 .
  • the single ended data bus system 48 further includes a clock signal 28 in communication with clock forwarding circuitry 30 .
  • the single ended data bus system 48 includes a first data link 64 configured to communicate a first data bit, (D 1 [n]), 66 to a first data output, (D 1 ′[n]), 68 . Similar to the second data link 16 of FIG. 1 , the single ended data bus system 48 further includes a second data link 70 for communicating the second data bit, (D 2 [n]), 72 to the second data output, (D 2 ′[n]), 74 . Lastly, similar to the third data link 18 of FIG. 1 , the single ended data bus system 48 further includes a third data link 76 to communicate with a third data bit, (D 3 [n]), 78 to a third data output, (D 3 ′[n]), 80 .
  • the first data link 64 further includes a first data bit, (D 1 [n]), 66 in communication with a first data output, (D 1 ′[n]), 68 .
  • the second data link 70 provides communication between a second data bit, (D 2 [n]), 72 and a second data output, (D 2 ′[n]), 74 .
  • the third data link 76 provides communication between the third data bit, (D 3 [n]), 78 and a third data output, (D 3 ′[n]), 80 .
  • the clock signal is communicated through a clock forwarding circuit 30 , which includes the clock driver 60 and a clock line 62 .
  • the shared source-synchronous (or clockforwarded) circuitry 30 is used to minimize clocking power per link and reduce complexity and latency.
  • the forwarded clock circuitry can be implemented by a replica of the data links. That is, the same circuit architecture as the data link 64 can be used for clock forwarding, but the input data stream should be replaced by a clock signal [ . . . 1 0 1 0 1 0 . . . ].
  • the forwarded clock may be a half rate clock which can be directly used for the two-way interleaved architecture (not shown in FIG. 2 ) in the receiver circuitry 56 and data capture circuitry 58 .
  • a local de-skew circuit for example a delay-locked loop and phase interpolator, may be required to optimize the sampling phase for the receiver circuitry 56 and data capture circuitry 58 .
  • careful layout technique can be used to match the clock and data drivers.
  • the first data link includes a first data buffer 82 configured to receive the first data bit (D 1 [n]) 66 and output the first data signal (D 1 (t)) 84 .
  • the first data signal 84 is received by a first driver 86 .
  • the first data line 88 receives the output of the first driver 86 at a first data line input 90 .
  • the received output of first driver 86 may be transmitted through first data line 88 to a first data line output 92 , which is coupled to a first integrator 94 .
  • the first integrator 94 integrates the received output of the first driver 86 , which is provided to the first decision gate 96 .
  • the first decision gate 96 may sample the received output and latch the sampled signal to determine an output level versus a threshold level.
  • the first decision gate may be a sample and hold circuit.
  • the first decision gate 96 Based upon threshold level, the first decision gate 96 provides an output of either logic HIGH or logic LOW as a first data output (D 1 ′[n]) 68 . Because the first data link 64 does not include a multiplier, the effective short spread spectrum code used to transmit the first data signal 84 is [1, 1].
  • second data link 70 includes a second data buffer 98 configured to receive the second data bit (D 2 [n]) 72 .
  • the output of data buffer 98 is second data signal (D 2 (t)) 100 .
  • the first transmitter multiplier 102 receives the second data signal (D 2 (t)) 100 along with a spreading code, S 2 (t), 104 , where the spreading code is [1, ⁇ 1].
  • the spreading code for spreading the second data signal 100 is orthogonal to the effective spreading code [1, 1] used to “spread” the first data signal of the first data link 64 .
  • the output of the first transmitter multiplier 102 generates a spread spectrum signal based upon the spreading codes of the spreading code, S 2 (t), 104 .
  • the second driver 106 drives the second data line input 108 of second data line 110 .
  • the second data line output 112 of second data line 110 couples to a first receiver multiplier 114 .
  • the second receiver multiplier 114 is also configured to receive a clock forwarded spreading code, S 2 ′(t), 116 , which has a spreading code of [1, ⁇ 1] that is time shifted by the clock forwarding circuitry 30 .
  • the output of the first receiver multiplier is integrated by second integrator 118 to produce a detectable output at the input of first receiver second decision gate 120 .
  • the output of the second integrator 118 is compared to a threshold level to generate the second data output (D 2 ′[n]) 74 . Because the second data bit on the second data link 70 is orthogonal to the data transmitted on the first data link 64 , capacitive coupling between the first data line 88 and the second data line 110 is effectively cancelled out.
  • third data link 76 includes a third data buffer 122 configured to receive a third data bit, D 3 [n], 78 .
  • a third data buffer 122 outputs a third data signal, D 3 (t), 124 to third driver 126 .
  • Third driver 126 drives the third data line input 128 of third data line 130 , which is output at third data line output 132 of the third data line 130 .
  • the output of the third data line 130 is received by third receiver integrator 134 , which integrates the received signal over a sample period of time.
  • the output of the third receiver integrator 134 is received by a third decision gate 136 , which provides the third data output, (D d ′[n]), 80 .
  • the third data link 76 has an effective spreading code equal to [1, 1], which is orthogonal to the spreading code [1, ⁇ 1]. Accordingly, data transmitted through the third data line 130 is orthogonal to the data transmitted across the second data line 110 .
  • FIG. 3 depicts a differential data bus system 138 for communication of data across a data bus on a semiconductor die.
  • the differential data bus system 138 is configured to receive a first data signal (D 1 (t)) 140 , a second data signal (D 2 (t)) 142 , a third data signal (D 3 (t)) 144 , and a fourth data signal (D 4 (t)) 146 for transmission.
  • the differential data bus 148 may include a first differential data line 150 associated with the first data signal (D 1 (t)) 140 and a first data output (D 1 ′[n]) 152 , a second differential data line 154 associated with the second data signal (D 2 (t)) 142 and a second data output (D 2 ′[n]) 156 , a third differential data line 158 associated with the third data signal (D 3 (t)) 144 and a third data output (D 3 ′[n]) 160 , and a fourth differential data line 162 associated with the fourth data signal (D 4 (t)) 146 and a fourth data output (D 4 ′[n]) 164 .
  • the differential data bus system 138 of FIG. 3 is based upon applying a short spread spectrum code to the data of the data links.
  • the Hadamard codes applied to the data of the first data signal 140 and the third data signal 144 are orthogonal to the Hadamard code applied to the data of the second data signal 142 and the fourth data signal 146 .
  • the Hadamard code applied to the odd data links may be [1, 1] while the Hadamard code applied to the even data links may be [1, ⁇ 1].
  • the spread spectrum signals of the odd data links 166 are orthogonal to the spread spectrum signals of the even data links 168 .
  • FIG. 3 further depicts that the first data signal (D 1 (t)) 140 is coupled to a first differential driver 170 , which drives the first differential data line 150 .
  • the first differential data line 150 is coupled to the inverting input and non-inverting input of a first integrator 172 .
  • the differential outputs of the received differential signals are integrated by the first integrator 172 over a data sample period.
  • the differential outputs of the first integrator 172 are coupled to the differential inputs of a first decision device 174 .
  • the first decision device 174 subtracts the differential inputs to generate a received signal and thereafter samples the received signal to determine a first data output (D 1 ′[n]) 166 , which corresponds to the first data signal 140 (D 1 (t)).
  • the second data signal (D 2 (t)) 142 is coupled to a first multiplier 176 , which also receives a spreading code, S 2 (t), 177 .
  • the first multiplier 176 multiplies the second data signal 142 by a spreading code, S 2 (t), 177 to modulate the second data signal 142 .
  • the output of the first multiplier 176 generates a first spread spectrum signal 178 that is orthogonal to the first data signal 140 and the third data signal 144 .
  • a second differential driver 180 receives the first spread spectrum signal 178 and drives the second differential data line 154 .
  • a second multiplier 182 receives the non-inverting output of the second differential data line 154 .
  • the second multiplier 182 multiplies the non-inverting output of the second differential data line 154 by the clock forwarded spreading code S 2 ′(t) 183 to demodulate the received signal and generate a non-inverted de-spread signal, which is integrated by differential integrator 186 .
  • the clock forwarded spreading code, S 2 ′(t), 183 is a clock forwarded version of the spreading code S 2 (t) 177 .
  • a third multiplier 184 receives the inverted output of the second differential data line 154 and the clock forwarded spreading code, S 2 ′(t), 183 .
  • the third multiplier 184 multiplies the output of the inverting output of the second differential data line 154 by the clock forwarded spreading code, S 2 ′(t), 183 to generate an inverted de-spread signal, which is integrated by differential integrator 186 .
  • a differential decision device 188 receives the differential outputs of differential integrator 186 and generates a second data output (D 2 ′[n]) 168 , which corresponds to the second data signal (D 2 (t)) 142 .
  • the third data signal (D 3 (t)) 144 is coupled to a third differential driver 190 , which drives a third differential data line 158 .
  • the third differential data line 158 is coupled to the inverting and non-inverting input of a differential integrator 192 .
  • the differential outputs of the differential integrator 192 are coupled to the differential inputs of a third decision device 194 , which generates a third data output (D 3 ′[n]) 160 , which corresponds to the third data signal 144 (D 3 (t)).
  • the fourth data signal (D 4 (t)) 146 is processed similarly to the second data signal 142 .
  • the fourth data signal (D 4 (t)) 146 is coupled to a fourth multiplier 196 , which also receives a spreading code, S 4 (t), 197 .
  • the fourth multiplier 196 multiplies the fourth data signal (D 4 (t)) 146 by the spreading code, S 4 (t) 197 , to generate a second spread spectrum signal 198 , which is orthogonal to the first data signal (D 1 (t)) 140 and the third data signal (D 3 (t)) 144 .
  • a fourth differential driver 200 receives the second spread spectrum signal 198 and drives a fourth differential data line 162 .
  • a fifth multiplier 202 receives the non-inverting output of the fourth differential data line 162 and a clock forwarded spreading code, S 4 ′(t), 203 .
  • the fifth multiplier 202 multiplies the non-inverted output of the fourth differential data line 162 and the spreading code, S 4 ′(t), to generate a non-inverted de-spread signal, which is integrated by differential integrator 204 .
  • the clock forwarded spreading code S 4 ′(t) is a time forwarded version of the spreading code S 4 (t).
  • a sixth multiplier 206 receives the inverted output of the fourth differential data line 162 and the clock forwarded spreading code S 4 ′(t) 203 .
  • the sixth multiplier 206 multiplies the output of the inverting output of the fourth differential data line 162 and the clock forwarded spreading code, S 4 ′(t), to generate an inverted de-spread signal, which is integrated by the differential integrator 204 .
  • a differential decision device 208 receives the differential outputs of differential integrator 204 and generates a fourth data output, D 4 ′[n], 168 , which corresponds to the fourth data signal, D 4 [t], 146 .
  • FIG. 4 depicts a modified example of the single ended data bus system 48 that provides improved cross-talk immunity between both even and odd data lines.
  • the first data signal D 1 [n] is spread by a first spreading signal, S 1 (t)
  • the second data signal D 2 [n] is spread by a second spreading signal, S 2 (t)
  • the third data signal D 3 [n] is spread by a third spreading signal, S 3 (t).
  • the spreading codes S 1 (t), S 2 (t), and S 3 (t) may be selected to be mutually orthogonal to one another.
  • the spreading code for S 1 (t) may be [1, 1, ⁇ 1, ⁇ 1].
  • the spreading code for S 2 (t) may be [1, ⁇ 1, 1, ⁇ 1].
  • the spreading code for S 3 (t) may be [1, ⁇ 1, ⁇ 1, 1].
  • the orthogonal spread spectrum signals passed through data lines 54 are mutually orthogonal to one another.
  • the first clock forwarded spreading signal, S 1 ′(t), 214 may have an orthogonal spreading code [1, 1, ⁇ 1, ⁇ 1].
  • the second clock forwarded spreading signal, S 2 ′(t), 116 may have an orthogonal spreading code of [1, ⁇ 1, 1, ⁇ 1].
  • the third clock forwarded spreading signal, S 3 ′(t), 222 may have an orthogonal spreading code of [1, ⁇ 1, ⁇ 1, 1].
  • FIG. 5 depicts a spread spectrum CDMA technique to transmit a phantom signal over two differential data lines. Similar to FIG. 3 , FIG. 5 includes a differential data bus 148 and related circuitry to transmit a first data bit 140 (D 1 (t)), a second data bit (D 2 (t)) 142 , and a third data bit (D 3 (t)) 144 .
  • the first data bit 140 and third data bit 144 are transmitted as described above with respect to FIG. 3 .
  • the second data bit 142 is transmitted over the first differential data line 150 and third differential data line 158 as a common mode signal.
  • the second data signal (D 2 (t)) 142 is coupled to a first multiplier 176 , which also receives a spreading code, S(t), 177 .
  • the first multiplier 176 multiplies the second data signal 142 by a spreading code, S(t), 177 to modulate the second data signal 142 .
  • the output of the first multiplier 176 generates a first spread spectrum signal 178 that is orthogonal to the first data signal 140 and the third data signal 144 .
  • the first data signal 140 and the third data signal 144 are effectively multiplied by a spreading code [1, 1] while the second data signal 142 is multiplied by a spreading code [1, ⁇ 1].
  • a first differential driver 224 and a second differential driver 225 receive the first spread spectrum signal 178 .
  • the first differential driver 224 generates a first non-inverted output and a first inverted output.
  • the second differential driver 225 generates a second non-inverted output and a second inverted output.
  • the first non-inverted output and the second non-inverted output are coupled to the first differential data line 150 and transmitted as a common mode signal to a first common mode extraction circuitry 226 .
  • the first inverted output and second inverted output are coupled to the third differential data line 158 and transmitted as a common mode signal to a second common mode extraction circuitry 228 .
  • the output of the first common mode extraction circuit is a non-inverted output of the first differential driver 224 and the second differential driver 225 .
  • the output of the second common mode extraction circuitry 228 is the associated inverted output of the first differential driver 224 and the second differential driver 225 . Thereafter, the second multiplier 182 receives the non-inverting output. The second multiplier 182 multiplies the non-inverted output by the clock forwarded spreading code S(t) to demodulate the received signal and generate a non-inverted de-spread signal, which is integrated by differential integrator 186 .
  • a differential decision device 188 receives the differential outputs of the differential integrator 186 and generates a second data output (D 2 [n]) 156 .
  • FIG. 6 is similar to FIG. 5 except the differential signals generated by the first differential driver 224 are transmitted through the first differential data line 150 and the third differential data line 158 as differential mode signals.
  • the extractors 230 and 232 extract the differential mode signals.
  • the spreading code, S(t) is selected to be [1, ⁇ 1] to permit the first integrator 172 and third integrator 192 to remove the differential signals associated with the second data signal (D 2 (t)) 142 .
  • Applying the CDMA techniques to multi-wire signaling techniques realize (n ⁇ 1) differential links out of n wire when spreading is applied to every adjacent differential link.
  • the first multiplier 234 multiplies the first data signal 140 by the spreading code h 1 (t).
  • the second multiplier 236 and third multiplier 238 multiply the differential components of the received signal by the spreading code h 1 (t) to remove the spreading code. This permits the first integrator 172 and first decision device 174 to recover the first data signal 140 and remove the common mode signals sent through the first differential data line 150 .
  • the fourth multiplier 240 multiplies the second data signal 144 by the spreading code h 2 (t).
  • the fifth multiplier 242 and sixth multiplier 244 multiply the differential components of the received signal by the spreading code h 2 (t) to remove the spreading code. This permits the third integrator 192 and third decision device 194 to recover the third data signal 144 and remove the common mode signals sent through the third differential data line 158 .

Abstract

Synchronous CDMA/spread spectrum methods, devices, and systems are used to suppress crosstalk in clock-forwarded on-chip interconnects. Transmitting a spread spectrum signal across on-chip interconnects for recovery at the terminus permit integrated chip designers to overcome the effects of capacitive cross-talk between adjacent data bus lines. The methods, devices, and systems provided herein improve cross-talk immunity between adjacent high speed signal lines by applying synchronous CDMA spread spectrum techniques to some or all of the high speed signal lines. Other methods, devices, and systems provided herein apply synchronous CDMA spread spectrum techniques to the concept of sending phantom signals to reduce the number of signal lines used to carry data.

Description

The inventions described herein were made with Government support under a U.S. General Services Administration Research Contract HJ-1786. The Government has certain rights in these inventions.
FIELD OF THE DISCLOSURE
This application relates to improved techniques for high speed links on chip dies to minimize the effects of cross-talk and capacitive coupling. The application further relates to using synchronous CDMA-spread spectrum techniques with on-chip high-speed data buses.
BACKGROUND
As the on-chip signal switching speeds exceed multi-gigahertz (GHz) and chip densities cross several millions of transistors, parasitic capacitive coupling between adjacent metal wires and the resistive-capacitance (RC) delay due to metal resistance are becoming significant. Crosstalk induced by capacitive coupling between metal wires may degrade signal quality, achievable data bandwidths, power efficiency and interconnect reliability.
Although these problems can be alleviated by increasing wire-to-wire spacing and decreasing parallel-run length between adjacent links, both of these solutions increase the routing complexity and the area necessary to route metal wires. Signal shielding using grounded metal wires may provide isolation from crosstalk noise. However, signal shielding can increase the metal routing area by 50%. Regular twisting of interconnect suppresses crosstalk in differential links. Yet, twisting requires vias and additional metal layers. The use of vias can increase wire resistance while additional metal layers complicates routing.
In addition, the aggregate bandwidth demands of chip-to-chip data communications are growing faster than the number of available I/O pins on chips, pushing the data rates of individual links even higher. Each individual link transmitting in the Gb/s range is typically a differential link which requires two input/output (I/O) pins per chip. Single-ended signaling, which requires only one wire (and hence one pin per chip) per link has also been unsuccessful in the Gb/s range owing to the problems caused by switching noise on the supply rails.
Accordingly, there is a need to develop an improved technique for routing on-chip wires that does not increase routing complexity, chip area, or increase wire resistance, and decreases signal degradation while permitting closer routing of wires over longer distances. There is also a need to develop improved techniques for minimizing the number of I/O pins used to transmit data between integrated chips and other circuitry.
SUMMARY OF THE DETAILED DESCRIPTION
Embodiments in the detailed description reduce the effects of capacitive coupling between data lines of a data bus on a semiconductor die. As an illustrative example, a single-ended data bus system may be configured to communicate data across an on-chip interconnect utilizing synchronous CDMA based spread spectrum techniques. Utilizing a short spread code to spread the data, data signals propagated along each of the data lines may be encoded to suppress cross-talk interference between the data lines. Transmitting a spread spectrum signal across on-chip interconnects for recovery at the terminus permit integrated chip designers to overcome the effects of capacitive cross-talk between adjacent data bus lines.
Based upon the principles of spread spectrum communications and synchronous CDMA, a short spreading code, S(t), may be used with multiplication operations in the transmitter and the receiver of a high speed data bus to accomplish the spreading and de-spreading operations. For example, for a data bus having a plurality of data lines, divided into odd-links and even-links, the effects of capacitive coupling may be reduced by only multiplying signals on the odd-links with a spreading code that is orthogonal to those on the even-links.
The embodiments provided herein provide improved cross-talk immunity between adjacent high speed signal lines by applying synchronous CDMA spread spectrum techniques to each of the high speed signal lines. In some examples, the systems, devices, and methods provide improved cross-talk immunity between even and odd data lines. Other embodiments provide improved cross-talk immunity between nearby and adjacent data lines.
As a first example, a data bus on an integrated circuit die may include a first data line, the first data line having a first end and a second end, and a second data line substantially adjacent to the first data line, the second data line having a first end and a second end. The data bus may further include a first line driver including a first line driver input configured to receive a first data signal and a first line driver output in communication with the first end of the first data line. The first line driver may be configured to drive the first data signal onto the first data line and a first integrator including an input in communication with the second end of the second data line.
The first integrator may be configured to receive the first data signal and integrate the first data signal to generate a first received output. The data bus may also include a second line driver including a second line driver input and a second line driver output. The second line driver output may be in communication with the first end of the second data line and a first multiplier including a first input configured to receive a second data signal, a second input configured to receive a spread spectrum code, and an output in communication with the second line driver input. The first multiplier may be configured to modulate the second data signal based on the spread spectrum code to generate a modulated signal. The data bus may also include a second multiplier including an output, a first input coupled to the second end of the second data line, and a second input configured to receive a spreading code. The second multiplier may be configured to de-modulate the modulated signal based on the spreading code to generate a de-modulated signal and a second integrator in communication with the output of the second multiplier, the second integrator configured to integrate the de-modulated signal to generate a second received output.
As another example, a data bus for transmitting data on an integrated circuit may include a first differential signal line including a first signal line and a second signal line, where each of the first signal line and second signal line includes a first end and a second end, and a first multiplier configured to receive a spreading code and a data bit. The first multiplier may be configured to generate a modulated data bit based upon the data bit and a spreading code. The data bus may also include a differential line driver configured to receive the modulated data bit. The differential line driver has a non-inverting output and an inverting output. The non-inverting output is coupled to the first end of the first signal line and the inverting output is coupled to the first end of the second signal line. The differential line driver generates a non-inverted modulated data bit and an inverted modulated data bit. The data bus may further include a second multiplier and a third multiplier. The second multiplier may include a first input in communication with the second end of the first signal line, a second input configured to receive the spreading code, and an output. The second multiplier is configured to generate a non-inverted data bit at the output based upon the spreading code and the non-inverted modulated data bit. A third multiplier includes a first input in communication with the second end of the second signal line, a second input configured to receive the spreading code, and an output. The third multiplier is configured to generate an inverted data bit at the output based upon the spreading code and the inverted modulated data bit. The data bus may also include a differential integrator including a non-inverting input configured to receive the non-inverted data bit and an inverting input configured to receive the inverted data bit.
Another example system for transmitting data includes a method including providing a data bus on a integrated chip die, wherein the data bus includes a plurality of adjacent data lines, wherein the plurality of adjacent data lines include a first data line adjacent to a second data line. The method further includes modulating a first data bit on the first data line with a first spread spectrum code to generate a first spread signal. The method further includes modulating a second bit on the second data line with a second spread spectrum code to generate a second spread signal. The method further includes de-modulating the first spread signal with the first spread spectrum code and de-modulating the second spread signal with the second spread spectrum code.
Still another example is a data bus on a semiconductor die that includes one or more data links on the semiconductor die, wherein each of the one or more data links is configured to receive a data bit. Each of the one or more data links has a unique spreading code. Each of the data links includes a first multiplier including a first input configured to receive a data bit signal and a second input configured to receive the unique spreading code, the first multiplier configured to generate a modulated data bit based upon the data bit signal and the unique spreading code of the respective data line. Each of the data links further includes a line driver including a line driver input configured to receive the modulated data bit and a line driver output coupled to a first end of a data line. Each of the data links further includes a second multiplier including a first input coupled to a second end of the data line, a second input configured to receive the unique spreading code, the second multiplier configured to generate a demodulated data bit based upon the modulated data bit and the unique spreading code of the respective data line. Each of the data links also includes an integrator in communication with the second multiplier and is configured to generate an integrated output based upon the demodulated data bit.
Those skilled in the art will appreciate the scope of the disclosure and realize additional aspects thereof after reading the following detailed description in association with the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
The accompanying drawings incorporated in and forming a part of this specification illustrate several aspects of the disclosure, and together with the description serve to explain the principles of the disclosure.
FIG. 1 depicts an example chip die having a data bus which includes a plurality of data links.
FIG. 2 depicts an example chip die having a spread spectrum based on-chip, low swing, single-ended interconnection with clock forwarding.
FIG. 3 depicts an example chip die having a spread spectrum based on-chip differential interconnect with clock forwarding (not explicitly shown).
FIG. 4 depicts another example of a spread spectrum based on-chip, low swing, single-ended interconnection with clock forwarding.
FIG. 5 depicts an example of a spread spectrum based differential interconnect to communicate a phantom signal.
FIG. 6 depicts an example of a spread spectrum based differential interconnect to communicate a phantom signal.
FIG. 7 depicts an example of a spread spectrum based differential interconnect to communicate a phantom signal.
DETAILED DESCRIPTION
The embodiments set forth below represent the necessary information to enable those skilled in the art to practice the disclosure and illustrate the best mode of practicing the disclosure. Upon reading the following description in light of the accompanying drawings, those skilled in the art will understand the concepts of the disclosure and will recognize applications of these concepts not particularly addressed herein. It should be understood that these concepts and applications fall within the scope of the disclosure and the accompanying claims.
Embodiments in the detailed description reduce the effects of capacitive coupling between data lines of a data bus on a semiconductor die. As an illustrative example, a single-ended data bus system may be configured to communicate data across an on-chip interconnect utilizing synchronous CDMA based spread spectrum techniques. Utilizing a short spread code to spread the data, data signals propagated along each of the data lines may be encoded to suppress cross-talk interference between the data lines. Transmitting a spread spectrum signal across on-chip interconnects for recovery at the terminus permit integrated chip designers to overcome the effects of capacitive cross-talk between adjacent data bus lines.
Based upon the principles of spread spectrum communications and synchronous CDMA, a short spreading code, S(t), may be used with multiplication operations in the transmitter and the receiver of a high speed data bus to accomplish the spreading and de-spreading operations. For example, for a data bus having a plurality of data lines, consisting of odd-links and even-links, the effects of capacitive coupling may be reduced by only multiplying signals on the odd-links with a spreading code that is orthogonal to those on the even-links.
The embodiments provided herein provide improved cross-talk immunity between adjacent high speed signal lines by applying synchronous CDMA spread spectrum techniques to each of the high speed signal lines. In some examples, the system, devices, and systems provide improved cross-talk immunity between even and odd data lines. Other embodiments provide improved cross-talk immunity between nearby and adjacent data lines.
For example, for a data bus having a plurality of data lines, consisting of odd-links and even-links, the effects of capacitive coupling may be reduced by only multiplying signals on the odd-links with a spreading code that is orthogonal to those on the even-links. As an example of a short spreading code, selecting orthogonal codes [1, 1] for even-links and [1, −1] for odd links minimizes the hardware necessary to implement synchronous CDMA based techniques on the even-link and odd-link data bus lines, where the odd-links and even-links alternate, as depicted in FIG. 1.
As depicted in FIG. 1, a single-ended data bus system 10 is configured to communicate data across an on-chip interconnect utilizing synchronous CDMA based spread spectrum techniques. Utilizing a short spread code to spread the data, data signals propagated along each of the data lines may be encoded to suppress cross-talk interference between the data lines.
FIG. 1 depicts the single-ended data bus system 10 on a chip die having a data bus 12 that includes a plurality of data links. The data bus 12 may include a first data link 14, a second data link 16, a third data link 18, a fourth data link 20, and a 2Kth data link 22. The data bus 12 may be further divided into odd data links 24 and even data links 26. In addition, the data bus 12 may further include a clock signal 28 coupled to clock forwarding circuitry 30. As will be further described below, data bus 12 may also include multipliers configured to spread spectrum modulate and demodulate some or all of the data transmitted across data bus 12.
FIG. 1 further depicts the second data link 16 including the first transmitter multiplier 32 configured to multiply data transmitted across the second data link 16 by a spreading code, S(t), 34. Second data link 16 further includes a first receiver multiplier 36 configured to de-spread the data transmitted through second data link 16 by a clock forwarded spreading signal S′(t) 38. The clock forwarded spreading signal, S′(t), 38 is a clock forwarded version of the spreading code S(t). The spreading code, S(t), 34 spreads data transmitted across the second data link 16 with short spreading code that is orthogonal to the data transmitted through either the first data link 14 or the third data link 18. The same spreading code, S(t), 34 is clock forwarded to account for propagation delay and used to generate a clock forwarded spreading signal S′(t) 38. The clock forwarding spreading code, S′(t), 38 is used to de-spread the received data.
Similarly, the fourth data link 20 includes a second transmitter multiplier 40 configured to spread the data transfer through the fourth data link 20, and a second receiver multiplier 42 configured to de-spread the transmitted data. Lastly, the 2Kth data link 22 further includes the third transmitter multiplier 44 and a third receiver multiplier 46 for spreading and de-spreading the data transmitted through the 2Kth data link 22. Because the data propagated along the even data links is orthogonal to the data propagated along the odd data links, the configuration of data bus 12 reduces the effects of cross-talk between the even data links 26 and odd data links 24.
FIG. 1 also depicts a clock signal, CLK, coupled to clock forwarding circuitry 30. The clock forwarding circuitry 30 provides time aligned clock signals to the data bus 12 to ensure proper data capture and time aligned presentation of the clock forwarded spreading signal, S′(t), 38.
FIG. 2 depicts the single-ended data bus 48 that includes input digital data circuitry 50 coupled to transmit circuitry 52, which is coupled to data lines 54. Data transmitted across data lines 54 is received by receiver circuitry 56 and captured by data capture circuitry 58. In addition, the single ended data bus system 48 further includes a clock signal 28 in communication with clock forwarding circuitry 30.
Similar to the first data link 14 of FIG. 1, the single ended data bus system 48 includes a first data link 64 configured to communicate a first data bit, (D1[n]), 66 to a first data output, (D1′[n]), 68. Similar to the second data link 16 of FIG. 1, the single ended data bus system 48 further includes a second data link 70 for communicating the second data bit, (D2[n]), 72 to the second data output, (D2′[n]), 74. Lastly, similar to the third data link 18 of FIG. 1, the single ended data bus system 48 further includes a third data link 76 to communicate with a third data bit, (D3[n]), 78 to a third data output, (D3′[n]), 80.
The first data link 64 further includes a first data bit, (D1[n]), 66 in communication with a first data output, (D1′[n]), 68. The second data link 70 provides communication between a second data bit, (D2[n]), 72 and a second data output, (D2′[n]), 74. The third data link 76 provides communication between the third data bit, (D3[n]), 78 and a third data output, (D3′[n]), 80. The clock signal is communicated through a clock forwarding circuit 30, which includes the clock driver 60 and a clock line 62. The shared source-synchronous (or clockforwarded) circuitry 30 is used to minimize clocking power per link and reduce complexity and latency. Since a significant portion of the transmission jitter and phase drift are common between the clock and parallel data lines, the forwarded clock circuitry can be implemented by a replica of the data links. That is, the same circuit architecture as the data link 64 can be used for clock forwarding, but the input data stream should be replaced by a clock signal [ . . . 1 0 1 0 1 0 . . . ]. The forwarded clock may be a half rate clock which can be directly used for the two-way interleaved architecture (not shown in FIG. 2) in the receiver circuitry 56 and data capture circuitry 58. A local de-skew circuit, for example a delay-locked loop and phase interpolator, may be required to optimize the sampling phase for the receiver circuitry 56 and data capture circuitry 58. To enhance the tracking ability of the forwarded clock to data, careful layout technique can be used to match the clock and data drivers.
The first data link includes a first data buffer 82 configured to receive the first data bit (D1[n]) 66 and output the first data signal (D1(t)) 84. The first data signal 84 is received by a first driver 86. The first data line 88 receives the output of the first driver 86 at a first data line input 90. The received output of first driver 86 may be transmitted through first data line 88 to a first data line output 92, which is coupled to a first integrator 94. The first integrator 94 integrates the received output of the first driver 86, which is provided to the first decision gate 96. The first decision gate 96 may sample the received output and latch the sampled signal to determine an output level versus a threshold level. As an example, the first decision gate may be a sample and hold circuit.
Based upon threshold level, the first decision gate 96 provides an output of either logic HIGH or logic LOW as a first data output (D1′[n]) 68. Because the first data link 64 does not include a multiplier, the effective short spread spectrum code used to transmit the first data signal 84 is [1, 1].
In contrast, second data link 70 includes a second data buffer 98 configured to receive the second data bit (D2[n]) 72. The output of data buffer 98 is second data signal (D2(t)) 100. The first transmitter multiplier 102 receives the second data signal (D2(t)) 100 along with a spreading code, S2(t), 104, where the spreading code is [1, −1]. The spreading code for spreading the second data signal 100 is orthogonal to the effective spreading code [1, 1] used to “spread” the first data signal of the first data link 64. The output of the first transmitter multiplier 102 generates a spread spectrum signal based upon the spreading codes of the spreading code, S2(t), 104. The second driver 106 drives the second data line input 108 of second data line 110. The second data line output 112 of second data line 110 couples to a first receiver multiplier 114. The second receiver multiplier 114 is also configured to receive a clock forwarded spreading code, S2′(t), 116, which has a spreading code of [1, −1] that is time shifted by the clock forwarding circuitry 30. The output of the first receiver multiplier is integrated by second integrator 118 to produce a detectable output at the input of first receiver second decision gate 120. The output of the second integrator 118 is compared to a threshold level to generate the second data output (D2′[n]) 74. Because the second data bit on the second data link 70 is orthogonal to the data transmitted on the first data link 64, capacitive coupling between the first data line 88 and the second data line 110 is effectively cancelled out.
Likewise, third data link 76 includes a third data buffer 122 configured to receive a third data bit, D3[n], 78. A third data buffer 122 outputs a third data signal, D3(t), 124 to third driver 126. Third driver 126 drives the third data line input 128 of third data line 130, which is output at third data line output 132 of the third data line 130. The output of the third data line 130 is received by third receiver integrator 134, which integrates the received signal over a sample period of time. The output of the third receiver integrator 134 is received by a third decision gate 136, which provides the third data output, (Dd′[n]), 80. Similar to the first data link 64, the third data link 76 has an effective spreading code equal to [1, 1], which is orthogonal to the spreading code [1, −1]. Accordingly, data transmitted through the third data line 130 is orthogonal to the data transmitted across the second data line 110.
FIG. 3 depicts a differential data bus system 138 for communication of data across a data bus on a semiconductor die. The differential data bus system 138 is configured to receive a first data signal (D1(t)) 140, a second data signal (D2(t)) 142, a third data signal (D3(t)) 144, and a fourth data signal (D4(t)) 146 for transmission. The differential data bus 148 may include a first differential data line 150 associated with the first data signal (D1(t)) 140 and a first data output (D1′[n]) 152, a second differential data line 154 associated with the second data signal (D2(t)) 142 and a second data output (D2′[n]) 156, a third differential data line 158 associated with the third data signal (D3(t)) 144 and a third data output (D3′[n]) 160, and a fourth differential data line 162 associated with the fourth data signal (D4(t)) 146 and a fourth data output (D4′[n]) 164.
Similar to the single ended data bus system 48 of FIG. 1, the differential data bus system 138 of FIG. 3 is based upon applying a short spread spectrum code to the data of the data links. The Hadamard codes applied to the data of the first data signal 140 and the third data signal 144 are orthogonal to the Hadamard code applied to the data of the second data signal 142 and the fourth data signal 146. As an example, the Hadamard code applied to the odd data links may be [1, 1] while the Hadamard code applied to the even data links may be [1, −1]. As a result, the spread spectrum signals of the odd data links 166 are orthogonal to the spread spectrum signals of the even data links 168.
FIG. 3 further depicts that the first data signal (D1(t)) 140 is coupled to a first differential driver 170, which drives the first differential data line 150. The first differential data line 150 is coupled to the inverting input and non-inverting input of a first integrator 172. The differential outputs of the received differential signals are integrated by the first integrator 172 over a data sample period. The differential outputs of the first integrator 172 are coupled to the differential inputs of a first decision device 174. The first decision device 174 subtracts the differential inputs to generate a received signal and thereafter samples the received signal to determine a first data output (D1′[n]) 166, which corresponds to the first data signal 140 (D1(t)).
The second data signal (D2(t)) 142 is coupled to a first multiplier 176, which also receives a spreading code, S2(t), 177. The first multiplier 176 multiplies the second data signal 142 by a spreading code, S2(t), 177 to modulate the second data signal 142. The output of the first multiplier 176 generates a first spread spectrum signal 178 that is orthogonal to the first data signal 140 and the third data signal 144. A second differential driver 180 receives the first spread spectrum signal 178 and drives the second differential data line 154. A second multiplier 182 receives the non-inverting output of the second differential data line 154. The second multiplier 182 multiplies the non-inverting output of the second differential data line 154 by the clock forwarded spreading code S2′(t) 183 to demodulate the received signal and generate a non-inverted de-spread signal, which is integrated by differential integrator 186. The clock forwarded spreading code, S2′(t), 183 is a clock forwarded version of the spreading code S2(t) 177. A third multiplier 184 receives the inverted output of the second differential data line 154 and the clock forwarded spreading code, S2′(t), 183. The third multiplier 184 multiplies the output of the inverting output of the second differential data line 154 by the clock forwarded spreading code, S2′(t), 183 to generate an inverted de-spread signal, which is integrated by differential integrator 186. A differential decision device 188 receives the differential outputs of differential integrator 186 and generates a second data output (D2′[n]) 168, which corresponds to the second data signal (D2(t)) 142.
The third data signal (D3(t)) 144 is coupled to a third differential driver 190, which drives a third differential data line 158. The third differential data line 158 is coupled to the inverting and non-inverting input of a differential integrator 192. The differential outputs of the differential integrator 192 are coupled to the differential inputs of a third decision device 194, which generates a third data output (D3′[n]) 160, which corresponds to the third data signal 144 (D3(t)).
The fourth data signal (D4(t)) 146 is processed similarly to the second data signal 142. The fourth data signal (D4(t)) 146 is coupled to a fourth multiplier 196, which also receives a spreading code, S4(t), 197. The fourth multiplier 196 multiplies the fourth data signal (D4(t)) 146 by the spreading code, S4(t) 197, to generate a second spread spectrum signal 198, which is orthogonal to the first data signal (D1(t)) 140 and the third data signal (D3(t)) 144. A fourth differential driver 200 receives the second spread spectrum signal 198 and drives a fourth differential data line 162. A fifth multiplier 202 receives the non-inverting output of the fourth differential data line 162 and a clock forwarded spreading code, S4′(t), 203. The fifth multiplier 202 multiplies the non-inverted output of the fourth differential data line 162 and the spreading code, S4′(t), to generate a non-inverted de-spread signal, which is integrated by differential integrator 204. The clock forwarded spreading code S4′(t), is a time forwarded version of the spreading code S4(t). A sixth multiplier 206 receives the inverted output of the fourth differential data line 162 and the clock forwarded spreading code S4′(t) 203. The sixth multiplier 206 multiplies the output of the inverting output of the fourth differential data line 162 and the clock forwarded spreading code, S4′(t), to generate an inverted de-spread signal, which is integrated by the differential integrator 204. A differential decision device 208 receives the differential outputs of differential integrator 204 and generates a fourth data output, D4′[n], 168, which corresponds to the fourth data signal, D4[t], 146.
Similar to FIG. 2, FIG. 4 depicts a modified example of the single ended data bus system 48 that provides improved cross-talk immunity between both even and odd data lines. In other words, the first data signal D1[n] is spread by a first spreading signal, S1(t), the second data signal D2[n] is spread by a second spreading signal, S2(t), and the third data signal D3[n] is spread by a third spreading signal, S3(t). The spreading codes S1(t), S2(t), and S3(t) may be selected to be mutually orthogonal to one another. As an example, the spreading code for S1(t) may be [1, 1, −1, −1]. The spreading code for S2(t) may be [1, −1, 1, −1]. The spreading code for S3(t) may be [1, −1, −1, 1]. As a result, the orthogonal spread spectrum signals passed through data lines 54 are mutually orthogonal to one another. In similar fashion, the first clock forwarded spreading signal, S1′(t), 214, may have an orthogonal spreading code [1, 1, −1, −1]. The second clock forwarded spreading signal, S2′(t), 116 may have an orthogonal spreading code of [1, −1, 1, −1]. The third clock forwarded spreading signal, S3′(t), 222, may have an orthogonal spreading code of [1, −1, −1, 1].
As a result, data transmitted through each of the data links depicted in FIG. 4 are mutually orthogonal, which improves immunity to capacitive coupling between each data line to another data line.
FIG. 5 depicts a spread spectrum CDMA technique to transmit a phantom signal over two differential data lines. Similar to FIG. 3, FIG. 5 includes a differential data bus 148 and related circuitry to transmit a first data bit 140 (D1(t)), a second data bit (D2(t)) 142, and a third data bit (D3(t)) 144. The first data bit 140 and third data bit 144 are transmitted as described above with respect to FIG. 3. However, the second data bit 142 is transmitted over the first differential data line 150 and third differential data line 158 as a common mode signal.
The second data signal (D2(t)) 142 is coupled to a first multiplier 176, which also receives a spreading code, S(t), 177. The first multiplier 176 multiplies the second data signal 142 by a spreading code, S(t), 177 to modulate the second data signal 142. The output of the first multiplier 176 generates a first spread spectrum signal 178 that is orthogonal to the first data signal 140 and the third data signal 144. The first data signal 140 and the third data signal 144 are effectively multiplied by a spreading code [1, 1] while the second data signal 142 is multiplied by a spreading code [1, −1]. A first differential driver 224 and a second differential driver 225 receive the first spread spectrum signal 178.
The first differential driver 224 generates a first non-inverted output and a first inverted output. The second differential driver 225 generates a second non-inverted output and a second inverted output. The first non-inverted output and the second non-inverted output are coupled to the first differential data line 150 and transmitted as a common mode signal to a first common mode extraction circuitry 226. The first inverted output and second inverted output are coupled to the third differential data line 158 and transmitted as a common mode signal to a second common mode extraction circuitry 228. The output of the first common mode extraction circuit is a non-inverted output of the first differential driver 224 and the second differential driver 225. The output of the second common mode extraction circuitry 228 is the associated inverted output of the first differential driver 224 and the second differential driver 225. Thereafter, the second multiplier 182 receives the non-inverting output. The second multiplier 182 multiplies the non-inverted output by the clock forwarded spreading code S(t) to demodulate the received signal and generate a non-inverted de-spread signal, which is integrated by differential integrator 186. A differential decision device 188 receives the differential outputs of the differential integrator 186 and generates a second data output (D2[n]) 156.
FIG. 6 is similar to FIG. 5 except the differential signals generated by the first differential driver 224 are transmitted through the first differential data line 150 and the third differential data line 158 as differential mode signals. The extractors 230 and 232 extract the differential mode signals. The spreading code, S(t), is selected to be [1, −1] to permit the first integrator 172 and third integrator 192 to remove the differential signals associated with the second data signal (D2(t)) 142. Applying the CDMA techniques to multi-wire signaling techniques realize (n−1) differential links out of n wire when spreading is applied to every adjacent differential link.
FIG. 7 is similar to FIG. 5 except the first data signal 140 and the third data signal 144 are multiplied by a spreading code h1(t)=[1, 1, −1, −1] and h2(t)=[−1, 1, 1, −1], respectively, while the second data signal 142 is multiplied by a spreading signal equal to [1, 1, 1, 1].
Illustratively, the first multiplier 234 multiplies the first data signal 140 by the spreading code h1(t). The second multiplier 236 and third multiplier 238 multiply the differential components of the received signal by the spreading code h1(t) to remove the spreading code. This permits the first integrator 172 and first decision device 174 to recover the first data signal 140 and remove the common mode signals sent through the first differential data line 150.
The fourth multiplier 240 multiplies the second data signal 144 by the spreading code h2(t). The fifth multiplier 242 and sixth multiplier 244 multiply the differential components of the received signal by the spreading code h2(t) to remove the spreading code. This permits the third integrator 192 and third decision device 194 to recover the third data signal 144 and remove the common mode signals sent through the third differential data line 158.
Those skilled in the art will recognize improvements and modifications to the embodiments of the present disclosure. All such improvements and modifications are considered within the scope of the concepts disclosed herein and the claims that follow.

Claims (6)

What is claimed is:
1. A data bus for transmitting data on an integrated circuit comprising:
a first differential signal line including a first signal line and a second signal line, wherein each of the first signal line and second signal line includes a first end and a second end;
a first multiplier configured to receive a spreading code and a data bit, wherein the first multiplier is configured to generate a modulated data bit based upon the data bit and the spreading code;
a differential line driver configured to receive the modulated data bit, the differential line driver having a non-inverting output and an inverting output, wherein the non-inverting output is coupled to the first end of the first signal line and the inverting output is coupled to the first end of the second signal line, wherein the differential line driver generates a non-inverted modulated data bit and an inverted modulated data bit;
a second multiplier including a first input in communication with the second end of the first signal line, a second input configured to receive the spreading code, and an output, wherein the second multiplier is configured to generate a non-inverted data bit based upon the spreading code and the non-inverted modulated data bit;
a third multiplier including a first input in communication with the second end of the second signal line, a second input configured to receive the spreading code, and an output, wherein the third multiplier is configured to generate an inverted data bit based upon the spreading code and the inverted modulated data bit; and
a differential integrator including a non-inverting input configured to receive the non-inverted data bit and an inverting input configured to receive the inverted data bit,
such that crosstalk between signal lines is suppressed without a prior knowledge of potential crosstalk.
2. The data bus of claim 1, wherein the differential integrator is configured to generate a received data bit based upon integration of the non-inverted data bit and the inverted data bit.
3. The data bus of claim 2, further comprising:
a sample and hold circuit configured to sample the received data bit to recover the data bit.
4. The data bus of claim 2, wherein the data bit is a first data bit, the data bus further comprising:
a second differential signal line including a first signal line and a second signal line, wherein each of the first signal line and second signal line includes a first end and a second end;
a second differential line driver having a non-inverting output and an inverting output, wherein the non-inverting output is coupled to the first end of the first signal line of the second differential line and the inverting output is coupled to the first end of the second signal line of the second differential line; and
a second differential integrator including a non-inverting input coupled to the second end of the first signal line of the second differential line and an inverting input coupled to the second end of the second signal line of the second differential line.
5. The data bus of claim 2, wherein the modulated data bit is swing compensated.
6. The data bus of claim 1, further including a differential line driver clock forwarding circuit configured to receive a clock signal, wherein the differential line driver clock forwarding circuit is further configured to synchronize operation of the second multiplier and the third multiplier to compensate for propagation delay.
US12/878,547 2010-09-09 2010-09-09 CDMA-based crosstalk cancellation for on-chip global high-speed links Active 2032-06-20 US8773964B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US12/878,547 US8773964B2 (en) 2010-09-09 2010-09-09 CDMA-based crosstalk cancellation for on-chip global high-speed links
US14/324,291 US9484981B2 (en) 2010-09-09 2014-07-07 CDMA-based crosstalk cancellation for on-chip global high-speed links

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/878,547 US8773964B2 (en) 2010-09-09 2010-09-09 CDMA-based crosstalk cancellation for on-chip global high-speed links

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/324,291 Continuation US9484981B2 (en) 2010-09-09 2014-07-07 CDMA-based crosstalk cancellation for on-chip global high-speed links

Publications (2)

Publication Number Publication Date
US20120063291A1 US20120063291A1 (en) 2012-03-15
US8773964B2 true US8773964B2 (en) 2014-07-08

Family

ID=45806642

Family Applications (2)

Application Number Title Priority Date Filing Date
US12/878,547 Active 2032-06-20 US8773964B2 (en) 2010-09-09 2010-09-09 CDMA-based crosstalk cancellation for on-chip global high-speed links
US14/324,291 Active 2030-09-16 US9484981B2 (en) 2010-09-09 2014-07-07 CDMA-based crosstalk cancellation for on-chip global high-speed links

Family Applications After (1)

Application Number Title Priority Date Filing Date
US14/324,291 Active 2030-09-16 US9484981B2 (en) 2010-09-09 2014-07-07 CDMA-based crosstalk cancellation for on-chip global high-speed links

Country Status (1)

Country Link
US (2) US8773964B2 (en)

Cited By (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9288089B2 (en) 2010-04-30 2016-03-15 Ecole Polytechnique Federale De Lausanne (Epfl) Orthogonal differential vector signaling
US9361223B1 (en) 2012-05-14 2016-06-07 Kandou Labs, S.A. Storage method and apparatus for random access memory using codeword storage
US9362962B2 (en) 2010-05-20 2016-06-07 Kandou Labs, S.A. Methods and systems for energy-efficient communications interface
US9424908B2 (en) 2010-12-30 2016-08-23 Kandou Labs, S.A. Differential vector storage for dynamic random access memory
US9450791B2 (en) 2010-05-20 2016-09-20 Kandoub Lab, S.A. Circuits for efficient detection of vector signaling codes for chip-to-chip communication
US9485057B2 (en) 2010-05-20 2016-11-01 Kandou Labs, S.A. Vector signaling with reduced receiver complexity
US9544015B2 (en) 2014-06-25 2017-01-10 Kandou Labs, S.A. Multilevel driver for high speed chip-to-chip communications
US9577664B2 (en) 2010-05-20 2017-02-21 Kandou Labs, S.A. Efficient processing and detection of balanced codes
US9607673B1 (en) 2010-05-20 2017-03-28 Kandou Labs S.A. Methods and systems for pin-efficient memory controller interface using vector signaling codes for chip-to-chip communication
US9667379B2 (en) 2010-06-04 2017-05-30 Ecole Polytechnique Federale De Lausanne (Epfl) Error control coding for orthogonal differential vector signaling
US9674014B2 (en) 2014-10-22 2017-06-06 Kandou Labs, S.A. Method and apparatus for high speed chip-to-chip communications
US9686107B2 (en) 2010-05-20 2017-06-20 Kandou Labs, S.A. Methods and systems for chip-to-chip communication with reduced simultaneous switching noise
US9686106B2 (en) 2014-02-28 2017-06-20 Kandou Labs, S.A. Clock-embedded vector signaling codes
US9692381B2 (en) 2014-05-16 2017-06-27 Kandou Labs, S.A. Symmetric linear equalization circuit with increased gain
US9825723B2 (en) 2010-05-20 2017-11-21 Kandou Labs, S.A. Methods and systems for skew tolerance in and advanced detectors for vector signaling codes for chip-to-chip communication
US9832046B2 (en) 2015-06-26 2017-11-28 Kandou Labs, S.A. High speed communications system
US9838017B2 (en) 2010-05-20 2017-12-05 Kandou Labs, S.A. Methods and systems for high bandwidth chip-to-chip communcations interface
US9838234B2 (en) 2014-08-01 2017-12-05 Kandou Labs, S.A. Orthogonal differential vector signaling codes with embedded clock
US9893911B2 (en) 2014-07-21 2018-02-13 Kandou Labs, S.A. Multidrop data transfer
US9906358B1 (en) 2016-08-31 2018-02-27 Kandou Labs, S.A. Lock detector for phase lock loop
US9985745B2 (en) 2013-06-25 2018-05-29 Kandou Labs, S.A. Vector signaling with reduced receiver complexity
US10003424B2 (en) 2014-07-17 2018-06-19 Kandou Labs, S.A. Bus reversible orthogonal differential vector signaling codes
US10003315B2 (en) 2016-01-25 2018-06-19 Kandou Labs S.A. Voltage sampler driver with enhanced high-frequency gain
US10003454B2 (en) 2016-04-22 2018-06-19 Kandou Labs, S.A. Sampler with low input kickback
US10055372B2 (en) 2015-11-25 2018-08-21 Kandou Labs, S.A. Orthogonal differential vector signaling codes with embedded clock
US10056903B2 (en) 2016-04-28 2018-08-21 Kandou Labs, S.A. Low power multilevel driver
US10057049B2 (en) 2016-04-22 2018-08-21 Kandou Labs, S.A. High performance phase locked loop
US10091035B2 (en) 2013-04-16 2018-10-02 Kandou Labs, S.A. Methods and systems for high bandwidth communications interface
US10116468B1 (en) 2017-06-28 2018-10-30 Kandou Labs, S.A. Low power chip-to-chip bidirectional communications
US10153591B2 (en) 2016-04-28 2018-12-11 Kandou Labs, S.A. Skew-resistant multi-wire channel
US10177812B2 (en) 2014-01-31 2019-01-08 Kandou Labs, S.A. Methods and systems for reduction of nearest-neighbor crosstalk
US10200188B2 (en) 2016-10-21 2019-02-05 Kandou Labs, S.A. Quadrature and duty cycle error correction in matrix phase lock loop
US10200218B2 (en) 2016-10-24 2019-02-05 Kandou Labs, S.A. Multi-stage sampler with increased gain
US10203226B1 (en) 2017-08-11 2019-02-12 Kandou Labs, S.A. Phase interpolation circuit
US10277431B2 (en) 2016-09-16 2019-04-30 Kandou Labs, S.A. Phase rotation circuit for eye scope measurements
US10320588B2 (en) 2014-07-10 2019-06-11 Kandou Labs, S.A. Vector signaling codes with increased signal to noise characteristics
US10326623B1 (en) 2017-12-08 2019-06-18 Kandou Labs, S.A. Methods and systems for providing multi-stage distributed decision feedback equalization
US10333741B2 (en) 2016-04-28 2019-06-25 Kandou Labs, S.A. Vector signaling codes for densely-routed wire groups
US10333749B2 (en) 2014-05-13 2019-06-25 Kandou Labs, S.A. Vector signaling code with improved noise margin
US10348436B2 (en) 2014-02-02 2019-07-09 Kandou Labs, S.A. Method and apparatus for low power chip-to-chip communications with constrained ISI ratio
US10372665B2 (en) 2016-10-24 2019-08-06 Kandou Labs, S.A. Multiphase data receiver with distributed DFE
US10467177B2 (en) 2017-12-08 2019-11-05 Kandou Labs, S.A. High speed memory interface
US10554380B2 (en) 2018-01-26 2020-02-04 Kandou Labs, S.A. Dynamically weighted exclusive or gate having weighted output segments for phase detection and phase interpolation
US10666297B2 (en) 2017-04-14 2020-05-26 Kandou Labs, S.A. Pipelined forward error correction for vector signaling code channel
US10686583B2 (en) 2017-07-04 2020-06-16 Kandou Labs, S.A. Method for measuring and correcting multi-wire skew
US10693688B2 (en) 2017-12-28 2020-06-23 Kandou Labs, S.A. Synchronously-switched multi-input demodulating comparator
US10693473B2 (en) 2017-05-22 2020-06-23 Kandou Labs, S.A. Multi-modal data-driven clock recovery circuit
US10693587B2 (en) 2017-07-10 2020-06-23 Kandou Labs, S.A. Multi-wire permuted forward error correction
US11165609B2 (en) * 2018-07-11 2021-11-02 Huawei Technologies Co., Ltd. Signal generation apparatus and method, and system
US11240076B2 (en) 2014-05-13 2022-02-01 Kandou Labs, S.A. Vector signaling code with improved noise margin
US11356197B1 (en) 2021-03-19 2022-06-07 Kandou Labs SA Error-tolerant forward error correction ordered set message decoder
US11831472B1 (en) 2022-08-30 2023-11-28 Kandou Labs SA Pre-scaler for orthogonal differential vector signalling

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9450744B2 (en) 2010-05-20 2016-09-20 Kandou Lab, S.A. Control loop management and vector signaling code communications links
US9596109B2 (en) 2010-05-20 2017-03-14 Kandou Labs, S.A. Methods and systems for high bandwidth communications interface
US9106238B1 (en) 2010-12-30 2015-08-11 Kandou Labs, S.A. Sorting decoder
US9401828B2 (en) 2010-05-20 2016-07-26 Kandou Labs, S.A. Methods and systems for low-power and pin-efficient communications with superposition signaling codes
US9985634B2 (en) 2010-05-20 2018-05-29 Kandou Labs, S.A. Data-driven voltage regulator
US9479369B1 (en) 2010-05-20 2016-10-25 Kandou Labs, S.A. Vector signaling codes with high pin-efficiency for chip-to-chip communication and storage
US9564994B2 (en) 2010-05-20 2017-02-07 Kandou Labs, S.A. Fault tolerant chip-to-chip communication with advanced voltage
US9300503B1 (en) 2010-05-20 2016-03-29 Kandou Labs, S.A. Methods and systems for skew tolerance in and advanced detectors for vector signaling codes for chip-to-chip communication
US20140181358A1 (en) * 2012-12-26 2014-06-26 Chaitanya Sreerama Crosstalk aware decoding for a data bus
US9632961B2 (en) * 2012-12-26 2017-04-25 Intel Corporation Crosstalk aware decoding for a data bus
DE102013209224A1 (en) * 2013-05-17 2014-11-20 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. DEVICE WITH A DIFFERENTIAL AMPLIFIER CIRCUIT AND EXTRACTION CIRCUIT
US9106465B2 (en) 2013-11-22 2015-08-11 Kandou Labs, S.A. Multiwire linear equalizer for vector signaling code receiver
US9369312B1 (en) 2014-02-02 2016-06-14 Kandou Labs, S.A. Low EMI signaling for parallel conductor interfaces
US9852806B2 (en) 2014-06-20 2017-12-26 Kandou Labs, S.A. System for generating a test pattern to detect and isolate stuck faults for an interface using transition coding
US9557760B1 (en) 2015-10-28 2017-01-31 Kandou Labs, S.A. Enhanced phase interpolation circuit
US9577815B1 (en) 2015-10-29 2017-02-21 Kandou Labs, S.A. Clock data alignment system for vector signaling code communications link
US10073807B2 (en) * 2015-12-01 2018-09-11 Intel Corporation Logic-based decoder for crosstalk-harnessed signaling
US11894868B2 (en) * 2021-08-31 2024-02-06 Micron Technology, Inc. Programmable spread spectrum signaling over a pin of an integrated circuit device

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5522042A (en) * 1994-01-28 1996-05-28 Cabletron Systems, Inc. Distributed chassis agent for distributed network management
US5784366A (en) * 1996-08-27 1998-07-21 Transsky Corp. Wideband code-division-multiple access system and method
US20030031196A1 (en) * 2000-08-10 2003-02-13 Yutaka Nishimura Wire communication device, wire communication apparatus, wire communications method, and wire communications system
US20030235145A1 (en) * 2002-06-24 2003-12-25 Shanbhag Abhijit G. Crosstalk compensation engine for reducing signal crosstalk effects within a data signal
US20040110519A1 (en) * 2001-04-20 2004-06-10 Mastek International Source synchronous CDMA bus interface
US7032143B1 (en) * 2002-11-05 2006-04-18 William Kenneth Waller Memory data path circuit
US7957254B2 (en) * 2007-03-20 2011-06-07 Qimonda Ag Concept for reducing crosstalk

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5522042A (en) * 1994-01-28 1996-05-28 Cabletron Systems, Inc. Distributed chassis agent for distributed network management
US5784366A (en) * 1996-08-27 1998-07-21 Transsky Corp. Wideband code-division-multiple access system and method
US20030031196A1 (en) * 2000-08-10 2003-02-13 Yutaka Nishimura Wire communication device, wire communication apparatus, wire communications method, and wire communications system
US20040110519A1 (en) * 2001-04-20 2004-06-10 Mastek International Source synchronous CDMA bus interface
US20030235145A1 (en) * 2002-06-24 2003-12-25 Shanbhag Abhijit G. Crosstalk compensation engine for reducing signal crosstalk effects within a data signal
US7032143B1 (en) * 2002-11-05 2006-04-18 William Kenneth Waller Memory data path circuit
US7957254B2 (en) * 2007-03-20 2011-06-07 Qimonda Ag Concept for reducing crosstalk

Non-Patent Citations (38)

* Cited by examiner, † Cited by third party
Title
Amirkhany, A. et al., "A 24 Gb/s Software Programmable Analog Multi-Tone Transmitter," IEEE Journal of Solid-State Circuits, Apr. 2008, pp. 999-1009, vol. 43, No. 4, IEEE.
Assembly and Packaging White Paper; System Level Integration in the Package, International Technology Roadmap for Semiconductors, web page last updated Dec. 8, 2009.
Balamurugan, G.B. et al, "Modeling and mitigation of jitter in multiGbps source-synchronous I/O links," Proceedings of the 21st International Conference on Computer Design, Oct. 13-15, 2003, pp. 254-260, IEEE.
Balamurugan, G.B. et al., "A Scalable 5-15 Gbps, 14-75 mW Low-Power I/O Transceiver in 65 nm CMOS," IEEE Journal of Solid-State Circuits, Apr. 2008, pp. 1010-1019, vol. 43, No. 4, IEEE.
Casper, B. et al, "A 20Gb/s Forwarded Clock Transceiver in 90nm CMOS B.," 2006 Solid-State Circuits Conference-Digest of Technical Papers, Feb. 6-9, 2006, pp. 263-272, IEEE.
Chang, K. et al., "Clocking and Circuit Design for a Parallel I/O on a First-Generation CELL Processor," 2005 IEEE International Solid-State Circuits Conference-Digest of Technical Papers, Feb. 10, 2005, pp. 526-527, 615, vol. 1, IEEE.
Chang, M.F. et al., "Advanced RF/Baseband Interconnect Schemes for Inter- and Intra-ULSI Communications," IEEE Transactions on Electron Devices, Jul. 2005, pp. 1271-1285, vol. 52, No. 7, IEEE.
Choi, S. et al., "A Three-Data Differential Signaling Over Four Conductors With Pre-Emphasis and Equalization: A CMOS Current Mode Implementation," IEEE Journal of Solid-State Circuits, Mar. 2006, pp. 633-641, vol. 41, No. 3, IEEE.
Dally, W. J. et al., "Digital Systems Engineering", Cambridge, UK: Cambridge University Press, 1998, pp. 39-42.
Dhaou, I.B. et al., "Current Mode, Low-Power, On-Chip Signaling in Deep-Submicron CMOS Technology," IEEE Transactions on Circuits and Systems-I:Fundamental Theory and Applications, Mar. 2003, pp. 397-406, vol. 50, No. 3, IEEE.
Gabara, T., "Phantom mode signaling in VLSI systems," 2001 Conference on Advanced Research in VLSI, 2001, pp. 88-100, IEEE.
Ha, K. et al., "A 6Gb/s/pin Pseudo-Differential Signaling Using Common-Mode Noise Rejection Techniques Without Reference Signal for DRAM Interfaces," 2009 Solid-State Circuits Conference-Digest of Technical Papers, Feb. 8-12, 2009, pp. 138-139, 139a, IEEE.
Hanomolu, P.K. et al., "Analysis of PLL Clock Jitter in High-Speed Serial Links," IEEE Transactions on Circuits and Systems-II: Analog and Digital Signal Processing, Nov. 2003, pp. 879-886, vol. 50, No. 11, IEEE.
Haykin, S.S., "Communication Systems," 4th Ed., New York: John Wiley & Sons, 2001, pp. 488-490.
Ho, A. et al., "Common-mode backchannel signaling system for differential high-speed links," 2004 Symposium on VLSI Circuits-Digest of Technical Papers, Jun. 17-19, 2004, pp. 352-355, IEEE.
Ho, R. et al., "Efficient On-Chip Global Interconnects," 2003 Symposium on VLSI Circuits Digest of Technical Papers, Jun. 12-14, 2003, pp. 271-274, IEEE.
Ho, R. et al., "The future of wires," Proceedings of the IEEE, Apr. 2001, pp. 490-504, vol. 89, No. 4, IEEE.
Hsueh, T. et al., "A 3 X 3.8 Gb/s Four-Wire High Speed I/O Link Based on CDMA-Like Crosstalk Cancellation," IEEE Journal of Solid-State Circuits, Aug. 2010, pp. 1522-1531, vol. 45, No. 8, IEEE.
Hui Zang, Low-Swing On-Chip Signaling Techiques: Effectivness and Robustness, IEEE, Vo. 8, 9, Jun. 2000. *
Hui Zhang, Low-Swing On-Chip Signaling Techniques: Effectivness and Robustness, IEEE, vol. 8, 9. *
Kleveland, B. et al., "High-Frequency Characterization of On-Chip Digital Interconnects," IEEE Journal of Solid-State Circuits, Jun. 2002, pp. 716-725, vol. 37, No. 6, IEEE.
Kuboki, T. et al., "A 10Gbps/channel On-Chip Signaling Circuit with an Impedance-Unmatched CML Driver in 90nm CMOS Technology," 2007 Design Automation Conference, Jan. 23-26, 2007, pp. 120-121, IEEE.
Lawday, G. et al., "A Signal Integrity Engineer's Companion," Englewood Cliffs, NJ: Pearson Education, 2008, pp. 368-370.
Lee, E.M. et al, "Low-Power Area-Efficient High-Speed I/O Circuit Techniques," IEEE Journal of Solid-State Circuits, Nov. 2000, pp. 1591-1599, Nov. 2000, vol. 35, No. 11, IEEE.
Lee, T.H. et al., "A 2.5 V CMOS Delay-Locked Loop for an 18 Mbit, 500 Megabyte/s DRAM," IEEE Journal of Solid-State Circuits, Dec. 1994, pp. 1491-1496, vol. 29, No. 12, IEEE.
Meghelli, M. et al., "A 10Gb/s 5-Tap-DFE/4-Tap-FFE Transceiver in 90nm CMOS," 2006 Solid-State Circuits Conference-Digest of Technical Papers, Feb. 6-9, 2006, pp. 213-222, IEEE.
Park, J.Y. et al., "A 9Gbit/s serial transceiver for on-chip global signaling over lossy transmission lines," 2008 Custom Integrated Circuits Conference, Sep. 21-24, 2008, pp. 347-350, IEEE.
Proakis J.G. et al., "Fundamentals of Communication Systems," Englewood Cliffs, NJ: Pearson Education, 2005, pp. 512-514.
Rabaey, J.M. et al., "Digital Integrated Circuits: A Design Perspective," 2nd Ed., Englewood Cliffs, NJ: Pearson Education, 2003, pp. 156-158.
Razavi, B., "Design of Analog CMOS Integrated Circuits," New York: McGraw-Hill, 2001, pp. 118-124.
Razavi, B., "Design of Integrated Circuits for Optical Communications," New York: McGraw Hill, 2003, pp. 131-132.
Sidiropoulos, S. et al., "A 700-Mb/s/pin CMOS Signaling Interface Using Current Integrating Receivers," IEEE Journal of Solid-State Circuits, May 1997, pp. 681-690, vol. 32, No. 5, IEEE.
Thierauf, S.C., "High Speed Circuit Board Signal Integrity," Boston, MA: Artech House, 2004, pp. 197-199.
Tzu-Chien Hsueh, A 3x3.8Gb/s Four-Wire High Speed I/O Link Based on CDMA-Like Crosstalk Cancellation, 2009, IEEE, 4. *
Xu, Z. et al., "A 2.7 Gb/s CDMA-Interconnect Transceiver Chip Set with Multi-Level Signal Data Recovery for Re-configurable VLSI Systems," 2003 Solid-State Circuits Conference-Digest of Technical Papers, 2003, paper 82-479, vol. 1, IEEE.
Yeung, E.F., "Design of High-Performance and Low-Cost Parallel Links," PhD Dissertation, Stanford University, Jan. 2002.
Zhang, L. et al., "A 32Gb/s On-chip Bus with Driver Pre-emphasis Signaling," 2006 Custom Integrated Circuits Conference, Sep. 10-13, 2006, pp. 265-268, IEEE.
Zogopoulos, S. et al., "High-Speed Single-Ended Parallel Link Based on Three-Level Differential Encoding," IEEE Journal of Solid-State Circuits, Feb. 2009, pp. 549-557, vol. 44, No. 2, IEEE.

Cited By (99)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9825677B2 (en) 2010-04-30 2017-11-21 ECOLE POLYTECHNIQUE FéDéRALE DE LAUSANNE Orthogonal differential vector signaling
US10355756B2 (en) 2010-04-30 2019-07-16 ECOLE POLYTECHNIQUE FéDéRALE DE LAUSANNE Orthogonal differential vector signaling
US10985806B2 (en) 2010-04-30 2021-04-20 ECOLE POLYTECHNIQUE FéDéRALE DE LAUSANNE Orthogonal differential vector signaling
US9288089B2 (en) 2010-04-30 2016-03-15 Ecole Polytechnique Federale De Lausanne (Epfl) Orthogonal differential vector signaling
US11611377B2 (en) 2010-04-30 2023-03-21 Ecole Polytechnique Federale De Lausanne Orthogonal differential vector signaling
US9825723B2 (en) 2010-05-20 2017-11-21 Kandou Labs, S.A. Methods and systems for skew tolerance in and advanced detectors for vector signaling codes for chip-to-chip communication
US9485057B2 (en) 2010-05-20 2016-11-01 Kandou Labs, S.A. Vector signaling with reduced receiver complexity
US10468078B2 (en) 2010-05-20 2019-11-05 Kandou Labs, S.A. Methods and systems for pin-efficient memory controller interface using vector signaling codes for chip-to-chip communication
US9577664B2 (en) 2010-05-20 2017-02-21 Kandou Labs, S.A. Efficient processing and detection of balanced codes
US9607673B1 (en) 2010-05-20 2017-03-28 Kandou Labs S.A. Methods and systems for pin-efficient memory controller interface using vector signaling codes for chip-to-chip communication
US10044452B2 (en) 2010-05-20 2018-08-07 Kandou Labs, S.A. Methods and systems for skew tolerance in and advanced detectors for vector signaling codes for chip-to-chip communication
US9838017B2 (en) 2010-05-20 2017-12-05 Kandou Labs, S.A. Methods and systems for high bandwidth chip-to-chip communcations interface
US9686107B2 (en) 2010-05-20 2017-06-20 Kandou Labs, S.A. Methods and systems for chip-to-chip communication with reduced simultaneous switching noise
US9450791B2 (en) 2010-05-20 2016-09-20 Kandoub Lab, S.A. Circuits for efficient detection of vector signaling codes for chip-to-chip communication
US9362962B2 (en) 2010-05-20 2016-06-07 Kandou Labs, S.A. Methods and systems for energy-efficient communications interface
US9692555B2 (en) 2010-05-20 2017-06-27 Kandou Labs, S.A. Vector signaling with reduced receiver complexity
US9819522B2 (en) 2010-05-20 2017-11-14 Kandou Labs, S.A. Circuits for efficient detection of vector signaling codes for chip-to-chip communication
US9667379B2 (en) 2010-06-04 2017-05-30 Ecole Polytechnique Federale De Lausanne (Epfl) Error control coding for orthogonal differential vector signaling
US10164809B2 (en) 2010-12-30 2018-12-25 Kandou Labs, S.A. Circuits for efficient detection of vector signaling codes for chip-to-chip communication
US9424908B2 (en) 2010-12-30 2016-08-23 Kandou Labs, S.A. Differential vector storage for dynamic random access memory
US9524106B1 (en) 2012-05-14 2016-12-20 Kandou Labs, S.A. Storage method and apparatus for random access memory using codeword storage
US9361223B1 (en) 2012-05-14 2016-06-07 Kandou Labs, S.A. Storage method and apparatus for random access memory using codeword storage
US11374801B2 (en) 2013-04-16 2022-06-28 Kandou Labs, S.A. Methods and systems for high bandwidth communications interface
US10091035B2 (en) 2013-04-16 2018-10-02 Kandou Labs, S.A. Methods and systems for high bandwidth communications interface
US9985745B2 (en) 2013-06-25 2018-05-29 Kandou Labs, S.A. Vector signaling with reduced receiver complexity
US10177812B2 (en) 2014-01-31 2019-01-08 Kandou Labs, S.A. Methods and systems for reduction of nearest-neighbor crosstalk
US11025359B2 (en) 2014-02-02 2021-06-01 Kandou Labs, S.A. Method and apparatus for low power chip-to-chip communications with constrained ISI ratio
US10348436B2 (en) 2014-02-02 2019-07-09 Kandou Labs, S.A. Method and apparatus for low power chip-to-chip communications with constrained ISI ratio
US11683113B2 (en) 2014-02-02 2023-06-20 Kandou Labs, S.A. Method and apparatus for low power chip-to-chip communications with constrained ISI ratio
US9686106B2 (en) 2014-02-28 2017-06-20 Kandou Labs, S.A. Clock-embedded vector signaling codes
US10020966B2 (en) 2014-02-28 2018-07-10 Kandou Labs, S.A. Vector signaling codes with high pin-efficiency for chip-to-chip communication and storage
US10374846B2 (en) 2014-02-28 2019-08-06 Kandou Labs, S.A. Clock-embedded vector signaling codes
US10805129B2 (en) 2014-02-28 2020-10-13 Kandou Labs, S.A. Clock-embedded vector signaling codes
US11240076B2 (en) 2014-05-13 2022-02-01 Kandou Labs, S.A. Vector signaling code with improved noise margin
US10333749B2 (en) 2014-05-13 2019-06-25 Kandou Labs, S.A. Vector signaling code with improved noise margin
US11716227B2 (en) 2014-05-13 2023-08-01 Kandou Labs, S.A. Vector signaling code with improved noise margin
US9692381B2 (en) 2014-05-16 2017-06-27 Kandou Labs, S.A. Symmetric linear equalization circuit with increased gain
US9917711B2 (en) 2014-06-25 2018-03-13 Kandou Labs, S.A. Multilevel driver for high speed chip-to-chip communications
US10091033B2 (en) 2014-06-25 2018-10-02 Kandou Labs, S.A. Multilevel driver for high speed chip-to-chip communications
US9544015B2 (en) 2014-06-25 2017-01-10 Kandou Labs, S.A. Multilevel driver for high speed chip-to-chip communications
US10320588B2 (en) 2014-07-10 2019-06-11 Kandou Labs, S.A. Vector signaling codes with increased signal to noise characteristics
US10404394B2 (en) 2014-07-17 2019-09-03 Kandou Labs, S.A. Bus reversible orthogonal differential vector signaling codes
US10003424B2 (en) 2014-07-17 2018-06-19 Kandou Labs, S.A. Bus reversible orthogonal differential vector signaling codes
US10999106B2 (en) 2014-07-21 2021-05-04 Kandou Labs, S.A. Multidrop data transfer
US10230549B2 (en) 2014-07-21 2019-03-12 Kandou Labs, S.A. Multidrop data transfer
US9893911B2 (en) 2014-07-21 2018-02-13 Kandou Labs, S.A. Multidrop data transfer
US10652067B2 (en) 2014-08-01 2020-05-12 Kandou Labs, S.A. Orthogonal differential vector signaling codes with embedded clock
US9838234B2 (en) 2014-08-01 2017-12-05 Kandou Labs, S.A. Orthogonal differential vector signaling codes with embedded clock
US10122561B2 (en) 2014-08-01 2018-11-06 Kandou Labs, S.A. Orthogonal differential vector signaling codes with embedded clock
US10243765B2 (en) 2014-10-22 2019-03-26 Kandou Labs, S.A. Method and apparatus for high speed chip-to-chip communications
US9674014B2 (en) 2014-10-22 2017-06-06 Kandou Labs, S.A. Method and apparatus for high speed chip-to-chip communications
US11863358B2 (en) 2015-06-26 2024-01-02 Kandou Labs, S.A. High speed communications system
US9832046B2 (en) 2015-06-26 2017-11-28 Kandou Labs, S.A. High speed communications system
US10819541B2 (en) 2015-06-26 2020-10-27 Kandou Labs, S.A. High speed communications system
US11483187B2 (en) 2015-06-26 2022-10-25 Kandou Labs, S.A. High speed communications system
US10382235B2 (en) 2015-06-26 2019-08-13 Kandou Labs, S.A. High speed communications system
US10116472B2 (en) 2015-06-26 2018-10-30 Kandou Labs, S.A. High speed communications system
US11115249B2 (en) 2015-06-26 2021-09-07 Kandou Labs, S.A. High speed communications system
US10608850B2 (en) 2015-06-26 2020-03-31 Kandou Labs, S.A. High speed communications system
US10324876B2 (en) 2015-11-25 2019-06-18 Kandou Labs, S.A. Orthogonal differential vector signaling codes with embedded clock
US10055372B2 (en) 2015-11-25 2018-08-21 Kandou Labs, S.A. Orthogonal differential vector signaling codes with embedded clock
US10003315B2 (en) 2016-01-25 2018-06-19 Kandou Labs S.A. Voltage sampler driver with enhanced high-frequency gain
US10003454B2 (en) 2016-04-22 2018-06-19 Kandou Labs, S.A. Sampler with low input kickback
US10057049B2 (en) 2016-04-22 2018-08-21 Kandou Labs, S.A. High performance phase locked loop
US10153591B2 (en) 2016-04-28 2018-12-11 Kandou Labs, S.A. Skew-resistant multi-wire channel
US10333741B2 (en) 2016-04-28 2019-06-25 Kandou Labs, S.A. Vector signaling codes for densely-routed wire groups
US10056903B2 (en) 2016-04-28 2018-08-21 Kandou Labs, S.A. Low power multilevel driver
US9906358B1 (en) 2016-08-31 2018-02-27 Kandou Labs, S.A. Lock detector for phase lock loop
US10355852B2 (en) 2016-08-31 2019-07-16 Kandou Labs, S.A. Lock detector for phase lock loop
US10277431B2 (en) 2016-09-16 2019-04-30 Kandou Labs, S.A. Phase rotation circuit for eye scope measurements
US10200188B2 (en) 2016-10-21 2019-02-05 Kandou Labs, S.A. Quadrature and duty cycle error correction in matrix phase lock loop
US10200218B2 (en) 2016-10-24 2019-02-05 Kandou Labs, S.A. Multi-stage sampler with increased gain
US10372665B2 (en) 2016-10-24 2019-08-06 Kandou Labs, S.A. Multiphase data receiver with distributed DFE
US11804855B2 (en) 2017-04-14 2023-10-31 Kandou Labs, S.A. Pipelined forward error correction for vector signaling code channel
US10666297B2 (en) 2017-04-14 2020-05-26 Kandou Labs, S.A. Pipelined forward error correction for vector signaling code channel
US11336302B2 (en) 2017-04-14 2022-05-17 Kandou Labs, S.A. Pipelined forward error correction for vector signaling code channel
US11804845B2 (en) 2017-05-22 2023-10-31 Kandou Labs, S.A. Multi-modal data-driven clock recovery circuit
US10693473B2 (en) 2017-05-22 2020-06-23 Kandou Labs, S.A. Multi-modal data-driven clock recovery circuit
US11271571B2 (en) 2017-05-22 2022-03-08 Kandou Labs, S.A. Multi-modal data-driven clock recovery circuit
US11032110B2 (en) 2017-06-28 2021-06-08 Kandou Labs, S.A. Low power chip-to-chip bidirectional communications
US11477055B2 (en) 2017-06-28 2022-10-18 Kandou Labs, S.A. Low power chip-to-chip bidirectional communications
US10116468B1 (en) 2017-06-28 2018-10-30 Kandou Labs, S.A. Low power chip-to-chip bidirectional communications
US10581644B2 (en) 2017-06-28 2020-03-03 Kandou Labs, S.A. Low power chip-to-chip bidirectional communications
US10686583B2 (en) 2017-07-04 2020-06-16 Kandou Labs, S.A. Method for measuring and correcting multi-wire skew
US11368247B2 (en) 2017-07-10 2022-06-21 Kandou Labs, S.A. Multi-wire permuted forward error correction
US10693587B2 (en) 2017-07-10 2020-06-23 Kandou Labs, S.A. Multi-wire permuted forward error correction
US11894926B2 (en) 2017-07-10 2024-02-06 Kandou Labs, S.A. Interleaved forward error correction over multiple transport channels
US10203226B1 (en) 2017-08-11 2019-02-12 Kandou Labs, S.A. Phase interpolation circuit
US10467177B2 (en) 2017-12-08 2019-11-05 Kandou Labs, S.A. High speed memory interface
US10326623B1 (en) 2017-12-08 2019-06-18 Kandou Labs, S.A. Methods and systems for providing multi-stage distributed decision feedback equalization
US11894961B2 (en) 2017-12-28 2024-02-06 Kandou Labs, S.A. Synchronously-switched multi-input demodulating comparator
US11469931B2 (en) 2017-12-28 2022-10-11 Kandou Labs, S.A. Synchronously-switched multi-input demodulating comparator
US11063799B2 (en) 2017-12-28 2021-07-13 Kandou Labs, S.A. Synchronously-switched multi-input demodulating comparator
US10693688B2 (en) 2017-12-28 2020-06-23 Kandou Labs, S.A. Synchronously-switched multi-input demodulating comparator
US10554380B2 (en) 2018-01-26 2020-02-04 Kandou Labs, S.A. Dynamically weighted exclusive or gate having weighted output segments for phase detection and phase interpolation
US11165609B2 (en) * 2018-07-11 2021-11-02 Huawei Technologies Co., Ltd. Signal generation apparatus and method, and system
US11658771B2 (en) 2021-03-19 2023-05-23 Kandou Labs SA Error-tolerant forward error correction ordered set message decoder
US11356197B1 (en) 2021-03-19 2022-06-07 Kandou Labs SA Error-tolerant forward error correction ordered set message decoder
US11831472B1 (en) 2022-08-30 2023-11-28 Kandou Labs SA Pre-scaler for orthogonal differential vector signalling

Also Published As

Publication number Publication date
US9484981B2 (en) 2016-11-01
US20140321257A1 (en) 2014-10-30
US20120063291A1 (en) 2012-03-15

Similar Documents

Publication Publication Date Title
US8773964B2 (en) CDMA-based crosstalk cancellation for on-chip global high-speed links
US9490965B2 (en) Simultaneous transmission of clock and bidirectional data over a communication channel
US8595542B2 (en) Explicit skew interface for reducing crosstalk and simultaneous switching noise
US10353668B2 (en) Asymmetric chip-to-chip interconnect
US8199849B2 (en) Data transmitting device, data receiving device, data transmitting system, and data transmitting method
US7450535B2 (en) Pulsed signaling multiplexer
US11169943B2 (en) Efficient signaling scheme for high-speed ultra short reach interfaces
US20220329467A1 (en) Methods and systems for high bandwidth communications interface
Chang et al. Advanced RF/baseband interconnect schemes for inter-and intra-ULSI communications
US20070080709A1 (en) Integrated circuit communication techniques
TW201617606A (en) Apparatuses and methods for reducing switching jitter
US7263148B2 (en) Source synchronous CDMA bus interface
US6208621B1 (en) Apparatus and method for testing the ability of a pair of serial data transceivers to transmit serial data at one frequency and to receive serial data at another frequency
Kim et al. Design of an interconnect architecture and signaling technology for parallelism in communication
WO2020133537A1 (en) Clock domain crossing processing circuit
KR101190091B1 (en) Semiconductor transceiver device utilizing clock embedded source-synchronous signaling and semiconductor system having the same
Dobkin et al. Fast asynchronous bit-serial interconnects for network-on-chip
WO2022193328A1 (en) Serializing/deserializing circuit, serial data receiving method, and chip
Stojčev et al. On-and Off-chip Signaling and Synchronization Methods in Electrical Interconnects

Legal Events

Date Code Title Description
AS Assignment

Owner name: THE REGENTS OF THE UNIVERSITY OF CALIFORNIA, CALIF

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:HSUEH, TZU-CHIEN;PAMARTI, SUDHAKAR;REEL/FRAME:024962/0406

Effective date: 20100908

STCF Information on status: patent grant

Free format text: PATENTED CASE

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551)

Year of fee payment: 4

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