Embodiments of the invention generally relate to the field of integrated circuits and, more particularly, to systems, methods and apparatuses for an automatic tuning circuit for a continuous-time equalizer.
Multi-gigibit chip-to-chip interconnect channels can be very lossy. For example, they may attenuate high frequency signals more than low frequency signals. This frequency dependent difference in signal attenuation can complicate the recovery of received data and can limit the maximum speed of data transfer.
Conventional systems frequently use transmit pre-emphasis and/or receive continuous-time equalization (CTE) to mitigate signal attenuation on a lossy channel. As data transfer rates increase, the power consumed by these conventional methods also increases. Thus, in conventional systems, more and more power is being consumed to achieve a target bit-error rate (BER).
Embodiments of the invention are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings in which like reference numerals refer to similar elements.
Embodiments of the invention are generally directed to systems, methods, and apparatuses for an automatic tuning circuit for a continuous-time equalizer (CTE). In some embodiments, the automatic tuning circuit increases the effectiveness of receive side equalization. In addition, the automatic tuning circuit may also enable power reduction on the transmit side by correcting for CTE and process/voltage/temperature (PVT) variations. As is further described below, when enabled, the circuit moves a pole and/or a zero of an associated CTE circuit to equalize a lossy channel for ISI.
Integrated circuits 110 and 120 each include interface 130. Interface 130 may include one or more transmitters (TXs) and receivers (RXs) as well as other circuits (e.g., buffers, clock circuits, etc.). At least one of the RXs may include a continuous-time equalizer (CTE) to reduce the ISI for data received from lossy interconnect 140.
In some embodiments, a digital automatic tuning circuit is coupled with the CTE. The automatic tuning circuit is capable of altering a magnitude response (as a function of frequency) of the CTE. As is further described below with reference to
Integrated circuit 210 includes transmitter 214 to transmit data (at an appropriate data rate) over lossy channel 220. In some embodiments, integrated circuit 210 (or simply, chip 210) sends alternating data (f1) at a target rate or steady/constant data (f2) to chip 230 (e.g., a constant stream of logical 1's or a constant stream of logical 0's). In some embodiments, f1 has more high frequency content than f2 and f2 has more (or only) low frequency content. A signal such as ClkL may be used to select which signal is transmitted by chip 210. For example, while ClkL is low, multiplexer 212 may pass f1 and while ClkL is high, multiplexer 212 may pass f2.
Chip 230 receives the signal (e.g., either f1 or f2) from lossy channel 220. CTE 232 provides continuous-time equalization for the received signal. In some embodiments, digital automatic tuning circuit 240 is coupled with CTE 232. For example, the output of CTE 232 may provide an input to tuning circuit 240 and an output of tuning circuit 240 may provide an input to CTE 232. In some embodiments, tuning circuit 240 includes peak detector 246, switch capacitor 244, and up/down counter 242. In alternative embodiments, tuning circuit 240 may include more elements, fewer elements, and/or different elements.
Peak detector 246 receives the data signal from CTE 232 and generates a voltage Vp. Voltage Vp is proportional to the magnitude of the data signal. Ideally, when lossy channel 220 is equalized Vp is the same for signals having different data rates (e.g., the same for f1 and f2). Due to PVT variation, however, it is possible that CTE 232 is not in the optimum operating point. That is, it is possible that a pole/zero of CTE 232 has deviated from an ideal location.
Switch capacitor 244 samples and holds Vp values for f1 and f2 (e.g., at the rising edge of ClkL). As is further described below, with reference to
Up/down counter 242 receives the up or down signal from switch capacitor 242 and generates a control signal for CTE 232. In some embodiments, the control signal is a multi-bit “capacitor code” that determines a number of active capacitors in a switching series of capacitors. As is further described below, with reference to
In some embodiments, the tuning process is performed as part of a training sequence for lossy channel 220. The training sequence may be performed periodically and/or in response to certain events. For example, on initiation, chips 210 and 230 may perform handshaking to determine when f1 and f2 are going to be transmitted. Subsequently, chip 210 may transmit f1 and f2 and tuning circuit 240 may tune CTE 232. In some embodiments, disable logic 248 may disable tuning circuit 240 after CTE 232 is tuned.
In alternative embodiments, there are additional channels connecting chips 210 and 230. In such embodiments, some channels may be allocated for tuning and some may be allocated for normal operation. For example, tuning circuit 240 may generate a control signal for CTE 232 on a first channel. The control signal may then be copied to CTEs in the channels allocated for normal operation. In such embodiments, tuning circuit 240 may operate continuously.
In some embodiments, the capcode is a control signal provided by the tuning circuit. The capcode determines how many capacitors in C are active (or on). The capcode may be a number of control bits each corresponding to one of the capacitors in C. In some embodiments, if the up/down counter in the tuning circuit is increasing, then the number of capacitors that are active in C is also increasing. This increases the total capacitance of C. Similarly, if the up/down counter is decreasing, then the number of capacitors that are active in C is also decreasing. This decreases the total capacitance of C. As the capacitance of C changes, the pole/zero of CTE 300 shifts. The shifting of the pole/zero alters the high frequency gain of CTE 300.
The receiving chip receives the signal having the alternating data pattern (f1) at 606. In some embodiments, a peak detector generates a voltage, M(f1), proportional to the magnitude of f1 and stores M(f1) in, for example, a switch capacitor at 608. The receiving chip also receives a signal having a constant data pattern (f2) at 610 and generates a voltage, M(f2), proportional to the magnitude of f2. M(f2) is stored in, for example, in a switch capacitor at 612.
Referring to 614, M(f1) and M(f2) are compared to determine which value is larger. A control signal is updated (616) based, at least in part, on which value is larger. In some embodiments, the control signal is a number of control bits provided by an up/down counter (e.g., up/down counter 242, shown in
Radio frequency circuit 750 communicates with antenna 760 and I/O controller 740. In some embodiments, RF circuit 750 includes a physical interface (PHY) corresponding to a communication protocol. For example, RF circuit 750 may include modulators, demodulators, mixers, frequency synthesizers, low noise amplifiers, power amplifiers, and the like. In some embodiments, RF circuit 750 may include a heterodyne receiver, and in other embodiments, RF circuit 750 may include a direct conversion receiver. For example, in embodiments with multiple antennas 760, each antenna may be coupled to a corresponding receiver. In operation, RF circuit 750 receives communications signals from antenna 760 and provides analog or digital signals to I/O controller 740. Further, I/O controller 740 may provide signals to RF circuit 750, which operates on the signals and then transmits them to antenna 760.
Processor(s) 710 may be any type of processing device. For example, processor 710 may be a microprocessor, a microcontroller, or the like. Further, processor 710 may include any number of processing cores or may include any number of separate processors.
Memory controller 720 provides a communication path between processor 710 and other elements shown in
Memory 730 may include multiple memory devices. These memory devices may be based on any type of memory technology. For example, memory 730 may be random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), nonvolatile memory such as FLASH memory, or any other type of memory.
Memory 730 may represent a single memory device or a number of memory devices on one or more modules. Memory controller 720 provides data through interconnect 722 to memory 730 and receives data from memory 730 in response to read requests. Commands and/or addresses may be provided to memory 730 through interconnect 722 or through a different interconnect (not shown). Memory controller 730 may receive data to be stored in memory 730 from processor 710 or from another source. Memory controller 730 may provide the data it receives from memory 730 to processor 710 or to another destination. Interconnect 722 may be a bi-directional interconnect or a unidirectional interconnect. Interconnect 722 may include a number of parallel conductors. The signals may be differential or single ended. In some embodiments, interconnect 722 operates using a forwarded, multiphase clock scheme.
In some embodiments, memory controller 720 and/or memory 730 includes interface 732. Interface 732 includes a digital automatic tuning circuit to tune an associated CTE. In some embodiments, the tuning circuit moves a pole/zero of the CTE to equalize a lossy channel for ISI.
Memory controller 720 is also coupled to I/O controller 740 and provides a communications path between processor(s) 710 and I/O controller 740. I/O controller 740 includes circuitry for communicating with I/O circuits such as serial ports, parallel ports, universal serial bus (USB) ports and the like. As shown in
Elements of embodiments of the present invention may also be provided as a machine-readable medium for storing the machine-executable instructions. The machine-readable medium may include, but is not limited to, flash memory, optical disks, compact disks-read only memory (CD-ROM), digital versatile/video disks (DVD) ROM, random access memory (RAM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), magnetic or optical cards, propagation media or other type of machine-readable media suitable for storing electronic instructions. For example, embodiments of the invention may be downloaded as a computer program which may be transferred from a remote computer (e.g., a server) to a requesting computer (e.g., a client) by way of data signals embodied in a carrier wave or other propagation medium via a communication link (e.g., a modem or network connection).
It should be appreciated that reference throughout this specification to “one embodiment” or “an embodiment” means that a particular feature, structure or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Therefore, it is emphasized and should be appreciated that two or more references to “an embodiment” or “one embodiment” or “an alternative embodiment” in various portions of this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures or characteristics may be combined as suitable in one or more embodiments of the invention.
Similarly, it should be appreciated that in the foregoing description of embodiments of the invention, various features are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure aiding in the understanding of one or more of the various inventive aspects. This method of disclosure, however, is not to be interpreted as reflecting an intention that the claimed subject matter requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment. Thus, the claims following the detailed description are hereby expressly incorporated into this detailed description.
Number | Name | Date | Kind |
---|---|---|---|
3568100 | Tarbos | Mar 1971 | A |
3578914 | Simonelli | May 1971 | A |
3898564 | Waldhauer et al. | Aug 1975 | A |
3919714 | Bingham | Nov 1975 | A |
4459698 | Yumoto et al. | Jul 1984 | A |
5568465 | Hutchins et al. | Oct 1996 | A |
6137832 | Lin et al. | Oct 2000 | A |
6188721 | Shirani et al. | Feb 2001 | B1 |
6489838 | Tsinker | Dec 2002 | B1 |
6643324 | Gasparik | Nov 2003 | B1 |
6836185 | Pobanz | Dec 2004 | B1 |
6838943 | Zamir et al. | Jan 2005 | B2 |
6850559 | Driessen et al. | Feb 2005 | B1 |
7047556 | Cole et al. | May 2006 | B2 |
7058150 | Buchwald et al. | Jun 2006 | B2 |
7081796 | Krone | Jul 2006 | B2 |
7154945 | Guinea et al. | Dec 2006 | B2 |
7212070 | Westwick et al. | May 2007 | B2 |
7230989 | Biman et al. | Jun 2007 | B2 |
7233199 | Westwick et al. | Jun 2007 | B2 |
7245187 | Khajehpour | Jul 2007 | B2 |
7324167 | Miller | Jan 2008 | B2 |
7345988 | Gorecki et al. | Mar 2008 | B2 |
7362153 | Sumesaglam | Apr 2008 | B2 |
7394331 | Yeung et al. | Jul 2008 | B2 |
7408993 | Webster | Aug 2008 | B2 |
7411422 | Clements et al. | Aug 2008 | B2 |
7450636 | Lee et al. | Nov 2008 | B2 |
7457605 | Thompson et al. | Nov 2008 | B2 |
7502326 | Evans | Mar 2009 | B2 |
20040001541 | Haghighat | Jan 2004 | A1 |
20050058222 | Black et al. | Mar 2005 | A1 |
20050201454 | Chaudhuri et al. | Sep 2005 | A1 |
20060088086 | Gondi et al. | Apr 2006 | A1 |
20060098727 | Kuijk | May 2006 | A1 |
20060140262 | Kuijk et al. | Jun 2006 | A1 |
20060227917 | Buchwald et al. | Oct 2006 | A1 |
20060245485 | Martin et al. | Nov 2006 | A1 |
20060268167 | Cole et al. | Nov 2006 | A1 |
20070072568 | Sumesaglam et al. | Mar 2007 | A1 |
20070201546 | Lee | Aug 2007 | A1 |
20080049883 | Sumesaglam et al. | Feb 2008 | A1 |
20080159372 | Sumesaglam | Jul 2008 | A1 |
20080304557 | Hollis | Dec 2008 | A1 |
Number | Date | Country | |
---|---|---|---|
20080159372 A1 | Jul 2008 | US |