This patent application is related to commonly-assigned, co-pending U.S. patent application Ser. No. 11/040,048, filed Jan. 20, 2005, which is incorporated by reference herein.
The present invention relates to techniques for controlling on-chip termination resistance using voltage regulation, and more particularly, to techniques for controlling an on-chip termination resistance by monitoring an effective resistance of on-chip transistors within a selected voltage range.
When transmitting signals over distances that are appreciable with respect to the signal period, mismatches between the impedance of the transmission line and that of the receiver cause signal reflection. The reflected signal interferes with the transmitted signal and causes distortion and degrades the overall signal integrity. To minimize or eliminate the unwanted reflection, transmission lines are resistively terminated by a matching impedance. In the case of integrated circuits that are in communication with other circuitry on a circuit board, termination is often accomplished by coupling an external termination resistor to the relevant input/output (I/O) pins.
For many of today's high speed integrated circuits, and particularly those that have large I/O pin counts, external termination poses a number of problems. A termination resistor is typically coupled to every I/O pin receiving an input signal from a transmission line. Often hundreds of termination resistors are needed for an integrated circuit. Numerous external termination resistors can consume a substantial amount of board space. The use of external components for termination purposes can be cumbersome and costly, especially in the case of an integrated circuit with numerous I/O pins.
Signal integrity is crucial in digital design because system speeds and clock edge rates continue to increase. To improve signal integrity, both single-ended and differential signals should be properly terminated. Termination can be implemented with external termination resistors on a board or with on-chip termination technology. On-chip termination eliminates the need for external resistors and simplifies the design of a circuit board.
It is desirable therefore to implement termination resistance on-chip to reduce the number of external components. It is also desirable to provide accurate control of an on-chip termination resistance.
The present invention provides techniques for controlling an on-chip termination resistance in an input or output (IO) buffer using a calibration circuit. The calibration circuit monitors the voltage between an external resistor and a group of on-chip transistors. When voltage between the external resistor and the group of transistors is within a selected range, the calibration circuit causes the effective resistance of the transistors to match the resistance of the external resistor as closely as possible. The calibration circuit enables another set of transistors in the IO buffer so that the effective resistance of the transistors in the IO buffer closely match the resistance of the external resistor.
Other objects, features, and advantages of the present invention will become apparent upon consideration of the following detailed description and the accompanying drawings, in which like reference designations represent like features throughout the figures.
On-chip series termination can be provided by controlling the drive current strength of the output transistor(s) in an input or output (IO) buffer, to achieve a desired effective resistance.
An IO buffer such as buffer 101 includes pull-up transistors and pull-down transistors that drive signals to an output pin. The on resistance of the pull-up and pull-down drive transistors provide series termination resistance at the output pin. The pull-up transistors are typically parallel coupled PMOS field effect transistors, and the pull-down transistors are typically parallel coupled NMOS field effect transistors. The on resistance of the pull-up transistors is controlled by a PMOS calibration block, and the on resistance of the pull-down transistors is controlled by an NMOS calibration block.
The PMOS calibration block and the NMOS calibration block each have a calibration pin. In the NMOS calibration circuit of
The external resistor coupled to the calibration pin determines the termination resistance that the calibration block provides to the IO buffer. For example, if a user couples a 50 Ohm external resistor to calibration pin 202, the NMOS calibration block causes the pull-down NMOS transistors in the IO buffer to have about 50 ohms of termination resistance. A 50 ohm resistor 201 is shown in
The effective resistance of NMOS transistor group 203 can be varied by turning on different combinations of the NMOS transistors. The transistors in group 203 and the external resistor 201 create a resistor divider. The voltage Vin+ of this resistor divider is provided to the positive input of comparator 204. The effective resistance of transistor group 203 controls the voltage level at the positive input (Vin+) of comparator 204. Turning on different combinations of the transistors in group 203 causes voltage Vin+ to vary. The negative input (Vin−) of comparator 204 is connected VCCIO/2, where VCCIO is the supply voltage.
If the voltage Vin+ at the positive input of comparator 204 is higher than the voltage at the negative input of comparator 204 (VCCIO/2), the output voltage of the comparator is high. When the output of comparator 204 is high, 7-bit up/down counter 205 causes its output count signals 209 to count up. Specifically, counter 205 causes the digital binary value of its 7 count signals 209 to increase. For example, when the output of comparator 204 is high, the digital value of count signals 209 may increase from 0000001 to 0000010 to 0000011, et., where the ones and zeros correspond to digital high and low voltages, respectively.
The 7 count signals 209 control the gate voltages of the 7 transistors in NMOS transistor group 203. Typically, the least significant bit of the count signals controls the smallest sized transistor in group 203, and the most significant bit controls the largest transistor in group 203. When the binary value of the 7 count signals 209 increases, the effective resistance of transistor group 203 decreases.
If the voltage Vin+ at the positive input of comparator 204 is less than the voltage at the negative input of comparator 204 (VCCIO/2), the output voltage of comparator 204 is low. When the output of comparator 204 is low, the digital binary value of the 7 count signals 209 decreases, causing NMOS group 203 to have more effective resistance.
The voltage Vin+ at the positive input of comparator 204 increases until it rises above half the supply voltage VCCIO/2. After Vin+ initially rises above VCCIO/2, the calibration becomes stable, and voltage Vin+ oscillates across the VCCIO/2 threshold level as shown in the graphs of
Thus, the count signal values that correspond to points 301 and 303 result in voltages for Vin+ that are greater than VCCIO/2 as shown in
I–V curves that illustrate the voltage and current across NMOS transistor group 203 are shown in
A pattern detect circuit 207 in
However, pattern detect circuit 207 cannot distinguish between the situation shown in
The voltage for Vin+ at point 302 corresponds to an effective resistance for transistors 203 that is closer to external resistor 201 that the voltage for Vin+ at point 301. Therefore, it would be desirable to provide a control circuit that selects a digital value for count signals 209 that causes the effective resistance of transistors 203 to be as close to the resistance of external resistor 201 as possible.
The present invention can select the closer voltage point using a voltage range detection circuit that has two additional comparators 211–212, as shown in
Comparator 204 receives VCCIO/2 at its negative input. Comparator 211 receives voltage VCCIO/2+3% at its negative input. Comparator 212 receives voltage VCCIO/2−3% at its negative input. These two reference voltages are separated by 6% of VCCIO in the embodiment of
The offset value 6% is the result of the design of NMOS transistor group 203. The offset value 6% is used as an example to illustrate the present invention and is not intended to limit the scope of the present invention. Other offset values can be selected to generate reference voltages at the negative inputs of the comparators 211–212, as will be discussed below.
When voltage Vin+ falls outside the voltage range of VCCIO/2±3%, comparators 211 and 212 cause the Reg-B enable signal to be low. When the Vin+ voltage level falls inside the voltage range VCCIO/2±3%, the output voltage of comparator 211 is low, the output voltage of comparator 212 is high, and logic gates 213 and 214 cause the Reg-B enable signal to be high. When the Reg-B signal is high, 7-bit register B 215 stores in the current value of count signals 209. Register 215 includes 7 serially coupled flip-flops that receive the 7 output signals of counter 205.
When the calibration is stable, the Vin+ voltage level jumps inside and outside of the VCCIO/2±3% voltage range as shown in
Referring to
Referring to
Thus, register B 215 stores the count signals corresponding to the voltage of Vin+ that is closer to VCCIO/2 for both situations shown in
When the output voltage of pattern detection circuit B 216 is low multiplexer 220 selects the 7 output signals of Register A 206. The output signals of multiplexer 220 are transmitted to the IO buffer to control the pull-down NMOS transistors that provide series termination at a data input or output pin.
The optimal setting for NMOS transistor group 203 has been reached when the Reg-B enable signal toggles between high and low voltage values. When pattern detection circuit B 216 detects that the Reg-B enable signal is toggling, the output voltage of pattern detection circuit 216 goes high, causing multiplexer 220 to select the 7 output signals of Register B 215. The count signal values stored in register 215 are then used to control the pull-down transistors in the IO buffer.
The on-resistance of the transistors in group 203 determines how much voltage Vin+ increases for each corresponding increase in the count signals. Depending on the sizes of the transistors in group 203, the voltage of Vin+ can fall outside the VCCIO/2±3% range for every value of count signals 209, as shown in
In the example shown in
The programmable resistor network shown in
For example, if a user wants to select a voltage range of VCCIO/2±4% for comparators 211–212, the user sets the Select—3% signal to ground to disable resistor path 501–504 by turning off pass gates 510–511. The user sets the Select—4% signal to the supply voltage VCCIO to enable resistor path 515–518 by turning on pass gates 521–522. When resistor path 515–518 is enabled, the voltage at the minus input of comparator 211 is VCCIO/2+4%, and the voltage at the minus input of comparator 212 is VCCIO/2−4%.
If the user wants to select a voltage range of VCCIO/2±3% for comparators 211–212, the user sets the Select—3% signal to VCCIO to enable resistor path 501–504 by turning on pass gates 510–511. The user sets the Select—4% signal to ground to disable resistor path 515–518 by turning off pass gates 521–522. When resistor path 501–504 is enabled, the voltage at the minus input of comparator 211 is VCCIO/2+3%, and the voltage at the minus input of comparator 212 is VCCIO/2−3%.
The proper voltage range should be the difference between the peak and the valley voltages of Vin+ (e.g., at points 411 and 412) after Vin+ begins to oscillate. If the voltage range of comparators 211–212 is too narrow, the situation shown in
Therefore, the output of comparator 204 is low, and the value of count signals 209 decreases to 63, which causes effective resistance of NMOS group 203 to be about 37 Ohms. Because the effective resistance is less than 50 Ohms, the output of comparator 204 is still low. The value of count signals 209 then decreases to 62, and the resistance of NMOS group 203 increases to 43 Ohms. The value of count signals 209 continues to decrease, until the resistance of NMOS group 203 is more than 50 Ohms. At that point, the value of count signals 209 toggles between 60 and 61.
Without circuitry 250, the calibration circuit of
Referring to
Serially coupled flip-flops 711–714 store the voltages at their D inputs on rising edges of the clock signal. The output voltages of flip-flops 711–714 are Q1–Q4, respectively. Block 720 contains logic gates that implement the logic function, (Q1·B(Q2)·Q3·B(Q4))+(B(Q1)·Q2·B(Q3)·Q4), where refers to an AND function, + refers to an OR function, and B( ) refers to an inverse function.
The output of comparator 804 controls counter 806 to adjust the resistance of NMOS group 803, until its resistance settles around the resistance of resistor 801 (50 Ohm in this example). Pattern detect circuit 807 causes register 808 to store the values of the count signals when the output of comparator 804 toggles, as described above with respect to FIG. 7A. The count signals stored in register 808 are used to control the gates of the pull-down transistors in NMOS group 812.
IO buffer 820 includes pull-up and pull-down transistors that drive signals to IO pin 815 and provide termination resistance to IO pin 815. The NMOS transistors in group 812 are pull-down transistors for IO pin 815, and the PMOS transistors in group 811 are pull-up transistors for IO pin 815. PMOS transistors 811 are controlled by a PMOS calibration block (not shown) that is similar to NMOS calibration block 800.
Constant current flow through NMOS transistor group 803 and the 50 Ohm resistor continues after register 808 latches a stable calibration value. For a supply voltage of VCCIO=3.3 volts, the current for the NMOS and PMOS calibration blocks together is about 2×3.3V/(100 Ohm)=66 mA. Comparator 804 also consumes about 6 mA, depending on the comparator design. This constant current consumption creates voltage drop that hurts the performance of other circuit blocks sharing the same power network with calibration block 800. It also creates extra power consumption that is crucial for a modern chip design that has already hit the power dissipation limit.
The techniques of the present invention turn off the transistors in NMOS group 803, the transistors in the PMOS group in the PMOS calibration block, and the comparators, after the calibration is complete.
As shown in
When the calibration mode is complete, the CLKEN signal is de-asserted (transitioning low), disabling comparator 804, counter 806, and circuit 807. Also, when CLKEN is low, multiplexer 805 selects the low supply voltage VSS (e.g., ground) for the 7 control signals that control the gates of the 7 transistors in NMOS group 803, causing each of these transistors to shut off. Therefore, substantially no current flows through transistor group 803 or comparator 804.
When the calibration is complete, CLKEN transitions low as described above, and multiplexer 805 couples the gates of the transistors in NMOS group 803 to the user setting signals. The user setting signals can now control transistors 803. The analog switch 905 is switched so that pin 802 is connected to user circuit 902 instead of resistor 901. Switch 905 can be controlled by CLKEN or an INITDONE signal. A user can now use a desired drive strength setting to drive transistors 803 to act as an output driver for user circuit 902.
The PMOS calibration circuit of
When the output voltage of comparator 1054 is high, count signals 1059 generated by counter 1055 count up (increasing binary value), causing the effective resistance of PMOS group 1053 to increase. When the output voltage of comparator 1054 is low, count signals 1059 count down (decreasing binary value), causing the effective resistance of PMOS group 1053 to decrease. When pattern detect circuit 1057 senses the output voltage of comparator 1054 is toggling, pattern detect circuit 1057 causes register 1056 to store the values of count signals 1059.
Comparators 1071 and 1072 compare the voltage Vin+ between transistor group 1053 and resistor 1061 with a voltage range defined by VCCIO/2±3%. When voltage Vin+ falls within this voltage range, the output voltage of AND gate 1074 is high, and register 1075 stores count signals 1059. When the output of AND gate 1074 toggles, pattern detect circuit 1076 causes multiplexer 1080 to select the signals stored in register 1075 (instead of the signal stored in register 1056) to control the termination resistance of PMOS group 811.
According to another embodiment of a PMOS calibration circuit, an inverter circuit is coupled between the output of comparator 1054 and the input of counter 1055, and 7 inverter circuits are coupled between each of the outputs of counter 1055 and the gates of transistors in PMOS group 1053. In this embodiment, count signals 1059 count down when the output of comparator 1054 is high, and count signals 1059 count up when the output of comparator 1054 is low.
An LE is a programmable logic block that provides for efficient implementation of user defined logic functions. A PLD has numerous logic elements that can be configured to implement various combinatorial and sequential functions. The logic elements have access to a programmable interconnect structure. The programmable interconnect structure can be programmed to interconnect the logic elements in almost any desired configuration.
PLD 1100 also includes a distributed memory structure including RAM blocks of varying sizes provided throughout the array. The RAM blocks include, for example, 512 bit blocks 1104, 4K blocks 1106, and a block 1108 providing 512K bits of RAM. These memory blocks can also include shift registers and FIFO buffers.
PLD 1100 further includes digital signal processing (DSP) blocks 1110 that can implement, for example, multipliers with add or subtract features. I/O elements (IOEs) 1112 located, in this example, around the periphery of the device support numerous single-ended and differential I/O standards. It is to be understood that PLD 1100 is described herein for illustrative purposes only and that the present invention can be implemented in many different types of PLDs, FPGAs, and the like.
While PLDs of the type shown in
System 1200 includes a processing unit 1202, a memory unit 1204 and an I/O unit 1206 interconnected together by one or more buses. According to this exemplary embodiment, a programmable logic device (PLD) 1208 is embedded in processing unit 1202. PLD 1208 can serve many different purposes within the system in
Processing unit 1202 can direct data to an appropriate system component for processing or storage, execute a program stored in memory 1204 or receive and transmit data via I/O unit 1206, or other similar function. Processing unit 1202 can be a central processing unit (CPU), microprocessor, floating point coprocessor, graphics coprocessor, hardware controller, microcontroller, programmable logic device programmed for use as a controller, network controller, and the like. Furthermore, in many embodiments, there is often no need for a CPU.
For example, instead of a CPU, one or more PLDs 1208 can control the logical operations of the system. In an embodiment, PLD 1208 acts as a reconfigurable processor, which can be reprogrammed as needed to handle a particular computing task. Alternately, programmable logic device 1208 can itself include an embedded microprocessor. Memory unit 1204 can be a random access memory (RAM), read only memory (ROM), fixed or flexible disk media, PC Card flash disk memory, tape, or any other storage means, or any combination of these storage means.
While the present invention has been described herein with reference to particular embodiments thereof, a latitude of modification, various changes, and substitutions are intended in the present invention. In some instances, features of the invention can be employed without a corresponding use of other features, without departing from the scope of the invention as set forth. Therefore, many modifications may be made to adapt a particular configuration or method disclosed, without departing from the essential scope and spirit of the present invention. It is intended that the invention not be limited to the particular embodiments disclosed, but that the invention will include all embodiments and equivalents falling within the scope of the claims.
Number | Name | Date | Kind |
---|---|---|---|
4719369 | Asano et al. | Jan 1988 | A |
4954729 | Urai | Sep 1990 | A |
5111081 | Atallah | May 1992 | A |
5134311 | Biber et al. | Jul 1992 | A |
5164663 | Alcorn | Nov 1992 | A |
5179300 | Rolandi et al. | Jan 1993 | A |
5359235 | Coyle et al. | Oct 1994 | A |
5374861 | Kubista | Dec 1994 | A |
5592510 | Van Brunt et al. | Jan 1997 | A |
5602494 | Sundstrom | Feb 1997 | A |
5623216 | Penza et al. | Apr 1997 | A |
5656953 | Whetsel | Aug 1997 | A |
5726582 | Hedberg | Mar 1998 | A |
5726583 | Kaplinsky | Mar 1998 | A |
5764080 | Huang et al. | Jun 1998 | A |
5864715 | Zani et al. | Jan 1999 | A |
5939896 | Hedberg | Aug 1999 | A |
5955911 | Drost et al. | Sep 1999 | A |
5970255 | Tran et al. | Oct 1999 | A |
6008665 | Kalb et al. | Dec 1999 | A |
6020760 | Sample et al. | Feb 2000 | A |
6026456 | Ilkbahar | Feb 2000 | A |
6037798 | Hedberg | Mar 2000 | A |
6049255 | Hagberg et al. | Apr 2000 | A |
6064224 | Esch, Jr. et al. | May 2000 | A |
6087847 | Mooney et al. | Jul 2000 | A |
6097208 | Okajima et al. | Aug 2000 | A |
6100713 | Kalb et al. | Aug 2000 | A |
6118310 | Esch | Sep 2000 | A |
6147520 | Kothandaraman et al. | Nov 2000 | A |
6154060 | Morriss | Nov 2000 | A |
6157206 | Taylor et al. | Dec 2000 | A |
6181157 | Fiedler | Jan 2001 | B1 |
6236231 | Nguyen | May 2001 | B1 |
6252419 | Sung et al. | Jun 2001 | B1 |
6307791 | Otsuka et al. | Oct 2001 | B1 |
6329836 | Drost et al. | Dec 2001 | B1 |
6356106 | Greeff et al. | Mar 2002 | B1 |
6362644 | Jeffrey et al. | Mar 2002 | B1 |
6366128 | Ghia et al. | Apr 2002 | B1 |
6411126 | Tinsley et al. | Jun 2002 | B1 |
6414512 | Moyer | Jul 2002 | B1 |
6424169 | Partow et al. | Jul 2002 | B1 |
6433579 | Wang et al. | Aug 2002 | B1 |
6445245 | Schultz et al. | Sep 2002 | B1 |
6448813 | Garlepp et al. | Sep 2002 | B2 |
6456124 | Lee et al. | Sep 2002 | B1 |
6466063 | Chen | Oct 2002 | B2 |
6489837 | Schultz et al. | Dec 2002 | B2 |
6504397 | Hart et al. | Jan 2003 | B1 |
6549036 | Lee | Apr 2003 | B1 |
6570402 | Koo et al. | May 2003 | B2 |
6586964 | Kent et al. | Jul 2003 | B1 |
6590413 | Yang | Jul 2003 | B1 |
6603329 | Wang et al. | Aug 2003 | B1 |
6605958 | Bergman et al. | Aug 2003 | B2 |
6636821 | Lawson | Oct 2003 | B2 |
6639397 | Roth et al. | Oct 2003 | B2 |
6642741 | Metz et al. | Nov 2003 | B2 |
6700823 | Rahman et al. | Mar 2004 | B1 |
6710618 | Murray | Mar 2004 | B1 |
6747475 | Yuffe et al. | Jun 2004 | B2 |
6766155 | Salcido et al. | Jul 2004 | B2 |
6788101 | Rahman | Sep 2004 | B1 |
6947336 | Kim et al. | Sep 2005 | B2 |
20020010853 | Trimberger et al. | Jan 2002 | A1 |
20020060602 | Ghia et al. | May 2002 | A1 |
20020101278 | Schultz et al. | Aug 2002 | A1 |
20030062922 | Douglass et al. | Apr 2003 | A1 |
20040008054 | Lesea et al. | Jan 2004 | A1 |