Multi-PAM Output Driver with Distortion Compensation
20170222845 ยท 2017-08-03
Inventors
- Jared L. Zerbe (Woodside, CA)
- Bruno W. Garlepp (Sunnyvale, CA)
- Pak S. Chau (Saratoga, CA, US)
- Kevin S. Donnelly (Los Altos, CA)
- Mark A. Horowitz (Menlo Park, CA)
- Stefanos Sidiropoulos (Palo Alto, CA)
- Billy W. Garrett (Charleston, SC, US)
- Carl W. Werner (Los Gatos, CA)
Cpc classification
H04L7/0331
ELECTRICITY
H04L25/08
ELECTRICITY
H04L25/0272
ELECTRICITY
G11C7/1078
PHYSICS
G11C7/1072
PHYSICS
G11C7/1084
PHYSICS
G11C11/56
PHYSICS
G11C7/1057
PHYSICS
G11C7/1051
PHYSICS
G11C7/22
PHYSICS
G11C7/10
PHYSICS
International classification
H04L25/49
ELECTRICITY
G11C7/10
PHYSICS
H04L25/03
ELECTRICITY
H04L7/033
ELECTRICITY
Abstract
An integrated circuit device includes an output driver having a data signal terminal, logic circuitry, and a driver circuit coupled to the logic circuitry and data signal terminal. The driver circuit is configured to drive a signal corresponding to a symbol onto the data signal terminal, wherein the symbol is an N-bit symbol, having one of 2N predefined values, N is an integer greater than 1, and the signal corresponding to the symbol has one of 2N signal levels. The driver circuit includes first, second and third driver sub-circuits, each driven by an input corresponding to one or more bits of the N-bit symbol, wherein the second and third driver sub-circuits are weighted, relative to the first driver sub-circuit, to reduce gds distortion in the signal.
Claims
1. A pulse-amplitude-modulation (PAM) output driver for driving a symbol, the output driver comprising: a data signal terminal; logic circuitry; and a driver circuit coupled to the logic circuitry and data signal terminal, and configured to drive a signal corresponding to the symbol onto the data signal terminal, wherein the symbol is an N-bit symbol, having one of 2.sup.N predefined values, wherein N is an integer greater than 1, and the signal corresponding to the symbol has one of 2.sup.N signal levels; the driver circuit including first, second and third driver sub-circuits, each driven by an input corresponding to one or more bits of the N-bit symbol, wherein the second and third driver sub-circuits are weighted, relative to the first driver sub-circuit, to reduce gds distortion in the signal.
2. The output driver of claim 1, wherein the second driver sub-circuit includes a transistor having a width to length ratio (W/L), , that is greater than a W/L ratio of a corresponding transistor of the first driver sub-circuit, and the third driver sub-circuit includes a transistor having a width to length ratio (W/L), , that is greater than the W/L ratio, , of the transistor of the second driver sub-circuit.
3. The output driver of claim 1, wherein the first driver sub-circuit has a first current drive capability, the second driver sub-circuit has a second current drive capability equal to a times the first current drive capability, and the third driver sub-circuit has a third current drive capability equal to times the first current drive capability, where >>1.
4. The output driver of claim 1, wherein the first driver sub-circuit has a first current drive capability determined by a first set of current control bits, the second driver sub-circuit has a second current drive capability determined by a second set of current control bits, and the third driver sub-circuit has a third current drive capability determined by a third set of current control bits, wherein at least the second and third sets of current control bits are determined by a calibration process.
5. The output driver of claim 1, wherein the first driver sub-circuit has a first current drive capability determined by a first set of current control bits, the second driver sub-circuit has a second current drive capability determined by a second set of current control bits, and the third driver sub-circuit has a third current drive capability determined by a third set of current control bits; and at least the second and third sets of current control bits are set to values that cause a midpoint voltage between two neighboring levels of the 2.sup.N signal levels to meet predefined criteria with respect to a corresponding reference voltage.
6. The output driver of claim 5, wherein the first set of current control bits, the second set of current control bits and the third set of current control bits are set to values that cause a difference in output voltage between signals corresponding to a first pair of neighboring signal levels to be substantially the same as a difference in output voltage between signals corresponding to a second pair of neighboring signal levels.
7. The output driver of claim 5, further comprising calibration circuitry for determining the first set of current control bits, the second set of current control bits and the third set of current control bits, the calibration circuitry including at least one counter for incrementing or decrementing an associated set of current control bits of the first, second and third sets of current control bits, in accordance with a comparison of a reference voltage to a voltage generated in accordance with a current value of the at least one counter.
8. The output driver of claim 7, wherein the output driver is configured to calibrate the first set of current control bits, the second set of current control bits and the third set of current control bits during a power-up sequence.
9. The output driver of claim 5, further comprising calibration circuitry for determining the first set of current control bits, the second set of current control bits and the third set of current control bits, the calibration circuitry including a state machine for setting an associated set of current control bits of the first, second and third sets of current control bits in accordance with a comparison of the midpoint voltage and the reference voltage.
10. The output driver of claim 9, wherein the state machine is further configured to: maintain unchanged the associated set of current control bits in accordance with a determination that the midpoint voltage is within one least significant bit of the threshold voltage; and update the associated set of current control bits in accordance with a determination that the midpoint voltage is not within one least significant bit of the reference voltage.
11. A method of generating a signal corresponding to a symbol, comprising: receiving a symbol comprising an N-bit symbol, having one of 2.sup.N predefined values, wherein N is an integer greater than 1; and driving a signal corresponding to the symbol onto a data signal terminal, wherein the signal corresponding to the symbol has one of 2.sup.N signal levels; wherein driving the signal includes driving first, second and third driver sub-circuits of a driver circuit with respective bits of the N-bit symbol, and further includes weighting the second and third driver sub-circuits, relative to the first driver sub-circuit, to reduce gds distortion in the signal.
12. The method of claim 11, wherein the second driver sub-circuit includes a transistor having a width to length ratio (W/L), , that is greater than a W/L ratio of a corresponding transistor of the first driver sub-circuit, and the third driver sub-circuit includes a transistor having a width to length ratio (W/L), , that is greater than the W/L ratio, , of the transistor of the second driver sub-circuit.
13. The method of claim 11, wherein the first driver sub-circuit has a first current drive capability, and weighting the second and third driver sub-circuits comprises setting a second current drive capability of the second driver sub-circuit to a times the first current drive capability, and setting a third current drive capability of the third driver sub-circuit to times the first current drive capability, where >>1.
14. The method of claim 11, further comprising setting a first set of current control bits that determine a first current drive capability of the first driver sub-circuit, setting a second set of current control bits that determine a second current drive capability of the second driver sub-circuit, and setting a third set of current control bits that determine a third current drive capability of the third driver sub-circuit, wherein at least the second and third sets of current control bits are determined by a calibration process.
15. The method of claim 11, wherein the first driver sub-circuit has a first current drive capability determined by a first set of current control bits, the second driver sub-circuit has a second current drive capability determined by a second set of current control bits, and the third driver sub-circuit has a third current drive capability determined by a third set of current control bits; and the method further comprises setting at least the second and third sets of current control bits to values that cause a midpoint voltage between two neighboring levels of the 2.sup.N signal levels to meet predefined criteria with respect to a corresponding reference voltage.
16. The method of claim 15, further comprising setting the first set of current control bits, the second set of current control bits and the third set of current control bits to values that cause a difference in output voltage between signals corresponding to a first pair of neighboring signal levels to be substantially the same as a difference in output voltage between signals corresponding to a second pair of neighboring signal levels.
17. The method of claim 15, further comprising performing a calibration process that includes determining the first set of current control bits, the second set of current control bits and the third set of current control bits, the calibration process including incrementing or decrementing at least one counter to determine an associated set of current control bits of the first, second and third sets of current control bits, in accordance with a comparison of a reference voltage to a voltage generated in accordance with a current value of the at least one counter.
18. The method of claim 17, further comprising calibrating the first set of current control bits, the second set of current control bits and the third set of current control bits during a power-up sequence.
19. The method of claim 15, further comprising performing a calibration process that includes determining the first set of current control bits, the second set of current control bits and the third set of current control bits, the calibration process including setting an associated set of current control bits of the first, second and third sets of current control bits in accordance with a comparison of the midpoint voltage and the reference voltage.
20. The method of claim 19, wherein the setting of the associated set of current control bits in accordance with the comparison comprises: maintaining unchanged the associated set of current control bits in accordance with a determination that the midpoint voltage is within one least significant bit of the threshold voltage; and updating the associated set of current control bits in accordance with a determination that the midpoint voltage is not within one least significant bit of the reference voltage.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0044] These and other features, aspects, and advantages of the present invention will become better understood with regard to the following description, appended claims, and accompanying drawings where:
[0045]
[0046]
[0047]
[0048]
[0049]
[0050]
[0051]
[0052]
[0053]
[0054]
[0055]
[0056]
[0057]
[0058]
[0059]
[0060]
[0061]
[0062]
[0063]
[0064]
[0065]
[0066]
[0067]
[0068]
[0069]
[0070]
[0071]
[0072]
[0073]
[0074]
[0075]
[0076]
[0077]
[0078]
[0079]
[0080]
[0081]
[0082]
[0083]
[0084]
[0085]
[0086]
[0087]
[0088]
[0089]
[0090]
[0091]
[0092]
[0093]
[0094]
[0095]
[0096]
[0097]
[0098]
[0099]
[0100]
[0101]
[0102]
[0103]
[0104]
[0105]
[0106]
[0107]
[0108]
[0109]
[0110]
[0111]
[0112]
[0113]
[0114]
[0115]
[0116]
[0117]
[0118]
[0119]
[0120]
[0121]
[0122]
[0123]
[0124]
[0125]
[0126]
[0127]
[0128]
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0129] In
[0130] At least a subset of the signal lines connect to pull-up resistors Z.sub.0 that connect to a termination voltage V.sub.TERM. In some systems, all signal lines connect to pull-up resistors Z.sub.0 that connect to the termination voltage V.sub.TERM. The termination voltage V.sub.TERM can be different from the supply voltage V.sub.DD. In one embodiment, the supply voltage V.sub.DD is equal to 2.5 volts, the termination voltage V.sub.TERM is equal to 1.8 volts, the bus voltage for a signal at low level V.sub.OL is equal to 1.0 volts, and the voltage swing is 0.8 volts. The resistance of the terminating resistors Z.sub.0 is equal to twenty-eight ohms.
[0131] The output drivers 323 are designed to drive the bus 320 with a predetermined amount of current; and the bus receivers 324 are designed to receive the signals sent by the bus drivers 323 on the bus 320. In a device, each bus receiver 324 receives signals from one signal line of the bus 320. The bus receivers 324 are integrating receivers according to the present invention.
[0132] In one embodiment, the memories are random access memories (RAMs). In an alternate embodiment, the memories are read-only memories (ROMs). Alternately, the bus output drivers 323 and bus receivers 324 of the present invention are implemented in other semiconductor devices that use a bus to interconnect various types of integrated circuits such as microprocessors and disk controllers.
[0133] In the exemplary memory system of
[0134] Although a bus that uses current mode signaling has been described with respect to
[0135]
[0136] The integrator 334 integrates current based on the differential output signals 346, 348 from the preamplifier 332 and a precharge signal 352 to generate differential integration voltages V.sub.A, V.sub.B, V.sub.C and V.sub.D at nodes A, B, C and D, respectively. In particular, the integrator 334 integrates the current based on whether one differential input voltage is greater than the other differential input voltage. The differential integration voltages form pairs 354, 356 as follows: V.sub.A and V.sub.B, V.sub.C and V.sub.D, respectively. In response to the sense signal 358, the sense amplifier and latch 336 senses the pairs of differential integration voltages V.sub.A and V.sub.B 354, V.sub.C and V.sub.D 356, and converts the integration voltages into CMOS outputs V.sub.OUT 360, V.sub.OUT.sub._.sub.B 362 for use in subsequent stages of circuitry.
[0137] In one embodiment, each differential input signal V.sub.IN 342 and V.sub.IN.sub._.sub.B 344 is provided on a separate signal line of a data bus, e.g., fully differential signaling. However, this doubles the number of signal lines of the data bus, and doubles the number of pins on the device. In another embodiment, a single input signal is provided on a signal line of a bus. In an alternate embodiment, a single-ended signaling scheme is used in which V.sub.IN 342 is received directly from a signal line of the data bus; and, a predetermined reference voltage is supplied to the preamplifier rather than the complement of the input signal V.sub.IN.sub._.sub.B 344.
[0138]
[0139] As discussed above with respect to the circuit of
[0140] As shown in
[0141] The precharge signal 352 defines two phases of activity for the integrator 334 integrate 372 and precharge 374. The sense signal 358 defines two phases of activity for the sense amplifier and latch 336hold-and-sense 376 and precharge 378. Two timing events define the boundaries for these phases. The first timing event is the Release of Precharge 380 which starts the integration phase during which the integrator 334 integrates the input signal from the preamplifier 332. The second timing event is the Activation of Sense 382 for the sense amplifier 336, which causes the sense amplifier and latch 336 to resolve the differential integration voltages from the integrator 334 and hold the results. The integration phase 372 of the integrator 334 (
[0142] The timing of the integrating receiver reduces the input-to-output latency because no timing edges control the flow of the sensed data after the activation of sense 382. The output voltages, V.sub.OUT 360 and V.sub.OUT.sub._.sub.B 362, are available after the propagation delay (the clock-to-Q delay) of the sense amplifier and latch, where the clock-to-Q delay begins at the activation of sense 382. In this way, the input-to-output latency of the receiver is reduced. As shown in
[0143] In
[0144] By eliminating the preamplifier, the input-to-output latency can be further reduced because precharge can be asserted earlier in the data cycle because the input to the integrator becomes valid earlier. In addition, the integrating receiver 390 has reduced circuit complexity, uses less power, die space is saved and is less expensive than the integrating receiver of
[0145] Circuits that implement each block of
Preamplifier
[0146]
[0147] In single ended signaling schemes, in which one input is a fixed voltage reference rather than the complement of the input signal, the preamplifier 332A reduces timing offsets because the preamplifier 332A provides pseudo-differential output signals in which the outputs appear to be differential. As defined above, the common mode of two signals is the average value of the two signals. The common mode of the pseudo-differential output signals changes for single-ended signaling schemes. In contrast, the common mode for differential signaling using V.sub.IN 342 and V.sub.IN.sub._.sub.B 344 remains substantially unchanged. Using a preamplifier in a single-ended signaling scheme provides output signals that more closely approximate differential output signals and therefore reduces the effect of common mode.
[0148] In
[0149] In the p-section 402, a p-section amplifier 406 includes a differential PMOS pair which differentially receives input signals V.sub.IN 342 and V.sub.IN.sub._.sub.B 344. The differential PMOS pair includes PMOS transistors 408 and 410. A PMOS current source 412 is coupled between the sources of the transistors of the PMOS pair 406 and the supply voltage V.sub.DD. The PMOS current source 412 is a PMOS transistor 414 that is responsive to a PMOS bias voltage V.sub.BIASP which determines a PMOS bias current I.sub.BIASP.
[0150] NMOS load transistors 416, 418 are coupled between the drains of the PMOS transistors of the PMOS pair 408, 410, respectively, and ground. The gate of each NMOS load transistor 414, 416 is connected to the supply voltage V.sub.DD, so that the NMOS load transistors 414, 415 operate in the linear region as resistors. Alternately, resistors may be used. The differential output of the p-section amplifier, V.sub.PDATA 346-1 and V.sub.PDATA.sub._.sub.B 346-2 is supplied by the drains of the transistors of the PMOS pair 408, 410. Preferably, during operation of the p-section amplifier 402, the common mode voltage of the input signals V.sub.IN 342, V.sub.IN.sub._.sub.B 344 is low with respect to V.sub.DD, e.g., between ground and V.sub.DD/2.
[0151] In an n-section amplifier 422, a differential NMOS pair of NMOS transistors 424, 426 differentially receives the input signals V.sub.IN 342 and V.sub.IN.sub._.sub.B 344. An NMOS current source 428 is coupled between the sources of the pair of NMOS transistors 424, 426 and circuit ground. The NMOS current source 428 is an NMOS transistor 430 that is responsive to an NMOS bias voltage V.sub.BIASN which determines an NMOS bias current I.sub.BIASN. PMOS load transistors 432, 434 are coupled between the drains of the NMOS transistors of the differential NMOS pair 424, 426, respectively, and ground and operate in the linear region. The gate of each PMOS load transistor 432, 434 is connected to ground. The outputs, V.sub.NDATA 348-1 and V.sub.NDATA.sub._.sub.B 348-2, of the n-section amplifier 404 are supplied by the drains of the transistors of the NMOS pair 424, 426. Preferably, during operation of the n-section amplifier 404, the common mode voltage of the input signals V.sub.IN 342, V.sub.IN.sub._.sub.B 344 is high with respect to ground, e.g., between (V.sub.DD/2) and V.sub.DD.
[0152] Using two differential amplifier sections 402, 404 results in a preamplifier capable of handling a wide range of input common mode voltages at least equal to a range between the supply voltages, V.sub.DD and ground. The bias voltages V.sub.BIASP and V.sub.BIASN are selected to operate the current source transistors in saturation and provide a common mode range between zero (circuit ground) and the supply voltage V.sub.DD. Alternately, to select input voltage thresholds, the bias voltages can be selected to not operate either one of or both the current source transistors in saturation. In another alternate embodiment, the bias voltages are adjusted during operation to dynamically change the common mode range.
Integrator
[0153] As shown in
[0154] As will be seen below, because the first current steering circuit 432 is implemented with PMOS transistors, and the second current steering circuit 434 is implemented with NMOS transistors, the integrator 334 has a wide common mode range, and is, therefore, applicable to a broader range of transmitted data. In addition, by integrating on both sides of the capacitive elements 436, 438, the invention provides a larger output voltage swing and thus a larger voltage gain than is obtained when one side of the capacitive elements 436, 438 is connected to a fixed voltage in a conventional configuration. Because either one of the current steering circuits 432, 434 may integrate the back-to-back capacitive elements 436, 438, the integrator 334 is also less sensitive to asymmetry of the input signal if the voltage of the input signal V.sub.IN 342 is outside a range that activates one of the current steering circuits.
[0155] The integrator 334 will next be explained with respect to the circuit diagrams of
[0156] In
[0157] The timing diagram of
[0158] A precharge circuit 460 is coupled to output nodes A, B, C and D. In an A-B precharge circuit 462, a pair of NMOS transistors 464, 466 are coupled to nodes A and B, respectively. To precharge nodes A and B when the precharge signal is high, the NMOS transistors 464, 466 pull output nodes A and B to ground. Therefore the voltages V.sub.A and V.sub.B will be precharged to the circuit ground. In a C-D precharge circuit 470, a pair of PMOS transistors 472, 474 are coupled to output nodes C and D, respectively. When the complement of the precharge signal, Precharge_B 476, is low, the PMOS transistors 472, 474 pull output nodes C and D to the supply voltage V.sub.DD; therefore the voltages V.sub.C and V.sub.D will be precharged to the supply voltage V.sub.DD.
[0159] In the current steering circuits 432, 434, complete steering of the input transistors 442-448 ensures that the integrator's output voltage will be directly proportional to the polarity of the differential input voltages during the integration interval, rather than being directly proportional to the amplitude of the differential input voltages. During operation, the input transistors may not be fully steered; and the common mode of the input voltages affects the steering of the input transistors. The input voltages V.sub.IN and V.sub.IN.sub._.sub.B have three common mode ranges, and each common mode range has a different effect on the integrator 334. The common mode ranges will be described with respect to input signal V.sub.IN, but also apply to the complementary input signal V.sub.IN.sub._.sub.B. For input signal V.sub.IN, the first range of common mode voltages is that range near ground which activates PMOS transistor pair 442, 444, but is not sufficiently high to appreciably activate NMOS transistor pair 446, 448. In this first range of common mode voltages, the second integrator current source 440 may not be operating in the saturation region and this may provide less current.
[0160] The second range of common mode voltages is that range near the supply voltage which activates the NMOS transistor 446 but is not sufficiently low to appreciably activate the PMOS transistor 442. In this second range of common mode voltages, the first integrator current source 440 may be unable to supply the integration current I.sub.INT1.
[0161] The third range of voltages is a middle range in which both the NMOS and PMOS transistors 446, 442, respectively, are activated, and each current source 439, 440 supplies its respective amount of current. In this third range, the respective nodes 436A and 436b of the capacitive element 436 are charged with current I.sub.INT1 and discharged with current I.sub.INT2.
[0162] The output of the integrator 334 is the voltage difference between node A and node B added to the voltage difference between nodes C and D. In other words, the output of the integrator 334 can be defined by the following relationship:
(V.sub.AV.sub.B)+(V.sub.CV.sub.D).
[0163] The integrator 334B of the present invention outputs a differential voltage between at least two pairs of nodes and uses at least two current sources. By contrast the prior art integrator discussed above with reference to
[0164] The amplitude of the differential input voltage swing, vDM=(V.sub.INV.sub.IN.sub._.sub.B), is another factor considered in the operation of the integrator. Ideally, the integrator 334 operates based on the polarity of the differential input voltage; and, the magnitude of the differential input voltage swing vDM does not affect the operation of the integrator 334. However, in practice, the magnitude of the differential input voltage vDM affects the operation of the integrator 334. If the magnitude of the differential input swing vDM is not sufficiently large, the input transistor pairs 442, 444, 446 and 448 will not be fully steered and will not act like perfect switches in steering the full amount of current to or from its respective integration node.
[0165] Placing the first capacitive element 436 between nodes A and C and the second capacitive element 438 between nodes B and D improves the effective circuit gain in the third or middle range of voltages. The first capacitive element 436 has capacitance C.sub.1 and the second capacitive element 438 has capacitance C.sub.2. Preferably the first and second capacitive elements have the same capacitance.
[0166] The circuit gain G of the integrator 334B is defined as the current I divided by the differential input voltage vDM (i.e., I/(vDM)). The ratio of the circuit gain G to the integration capacitance C, or G/C, is another parameter considered in the integrator operation. The output voltage of the integrator 334B is directly proportional to the circuit gain G and the ratio G/C. The larger the circuit gain and the ratio G/C, the larger the output voltage that is presented to the sense amplifier while maintaining the input transistor pairs in saturation for a given charging or discharging current (I.sub.INT-1, I.sub.INT-2) and capacitance (C.sub.1, C.sub.2). When the input pairs 442, 444, and 446, 448 are in switched with large V, the ratio G/C approaches the value
for the circuit of
[0167] In the circuit of
[0168] Parasitic capacitance Cp, represented by capacitors 482, 484, 486 and 488, on the integration nodes A, B, C and D, respectively, reduces the value of the ratio G/C from the ideal value because the current intended to charge the respective capacitive element is also used to charge or discharge the parasitic capacitance on those nodes.
[0169] In an alternate embodiment shown in
[0170] In
[0171] The gate to drain capacitance of the input transistors 502-508 (device overlap capacitance) causes the input signals to couple across the gates to the drains of the input transistors 502-508 and thus into the nodes A and B, and C and D. To compensate for the effects of gate to drain capacitance, first and second compensating current steering circuits 520, 521, respectively, are added to inject matching error currents into the nodes A, B, C and D.
[0172] The first compensating current 520 steering circuit includes a pair of PMOS transistors 522 and 524; and the second compensating 521 current steering circuit includes a pair of NMOS transistors 526 and 526. The first and second compensating current steering circuits 520, 521 also receive the input signals, V.sub.PDATA and V.sub.PDATA.sub._.sub.B, and V.sub.NDATA and V.sub.NDATA.sub._.sub.B, respectively. The PMOS transistors 522 and 524 steer current from a first compensating current source 530, while the NMOS transistors 526 and 528 steer current from a second compensating current source 532. The first and second compensating current sources 530 and 532 include transistors 534 and 536 which are biased by bias voltages V.sub.BIASP-I and V.sub.BIASN-I, respectively. The first and second compensating current sources 530 and 532 supply a much smaller amount of current Ic than the integration current sources 439 and 440, respectively.
[0173] In the first compensating current steering circuit 520, the drains of the input transistors 522 and 524 are connected to nodes B and A, respectively. In other words, the drains of transistors 522 and 524 are connected in a manner opposite to the drains of the input transistors 502 and 504, respectively. In the second compensating current steering circuit 521, the drains of the other pair of input transistors 526 and 528 are connected to nodes D and C, respectively. In other words, the drains of transistors 526 and 528 are connected in a manner opposite to the drains of the input transistors 506 and 508, respectively. Connecting the drains of the input transistors of the respective compensating current steering circuit in the opposite manner to that of the current steering circuit causes the compensating current steering circuit to cancel the charge injected via the gate to drain overlap capacitance.
[0174] Parasitic capacitance on nodes ptail and ntail also causes an error by generating an erroneous charge that is injected onto one of the nodes. The compensating current steering circuits 520, 521 also provide a sufficient matching tail capacitance to charge the opposite node to substantially cancel the error from this parasitic capacitance.
[0175] The integrator 334D also includes capacitive elements 436 and 438. The capacitive elements 436, 438 are the same, and the following description of capacitive element 436 also applies to capacitive element 438. The capacitive element 436 includes a p-element C1 540 connected in parallel to an n-element C2 542. The p-element 540 is a PMOS device with its source and drain shorted together. The n-element 542 is an NMOS device with its source and drain shorted together.
[0176] A first precharge circuit 560 precharges nodes A, B, C and D as described above with respect to
[0177] The timing diagram of
(V.sub.AV.sub.B)+(V.sub.CV.sub.D).
[0178] In an alternate embodiment, the integrator 334D of
[0179] Referring to
[0180] An equalizing precharge transistor 580 is coupled between the integration nodes A and B. When the precharge signal is high, the equalizing precharge transistor 580 becomes active and equalizes the output voltages V.sub.A and V.sub.B, ideally to a level equal to half the supply voltage, V.sub.DD/2.
[0181] When a negative differential input voltage vDM, where vDM is equal to V.sub.INV.sub.IN.sub._.sub.B, sufficient to fully steer the current of the first and second input pairs, 442-44, 446-448, is received, capacitive element 436 is charged with current I and capacitive element 438 is discharged with current I. The differential output voltage V.sub.AV.sub.B is defined by the following relationship:
V.sub.AV.sub.B=(2I/C).Math.(Integration Time).
[0182] When the differential input voltage vDM is not sufficiently large to operate the input transistors in saturation and fully steer the current I from the current source into one or the other of the integration nodes A and B (partial steering), the differential output voltage V.sub.AV.sub.B is reduced. For example, if the differential input voltage vDM is such that an amount of current equal to 0.6 I flows through transistor 442, an amount of current equal to 0.4 I flows through transistor 444, an amount of current equal to 0.6 I flows through transistor 448, an amount of current equal to 0.4 I flows through transistor 446, and assuming all input transistors are matched, then the differential output voltage, V.sub.AV.sub.B, is defined by the following relationship:
V.sub.AV.sub.B=((0.60.4)+(0.60.4)).Math.(I/C).Math.(Integration Time)
[0183] The effects of partial steering on the differential output voltage of the circuit of
[0184] In an alternate embodiment, the integrator 334E of
Sense Amplifier
[0185] In
[0186] When the Sense_B signal 602 is high and the Sense signal 358 is low, NMOS pass transistors 604 and 606 and PMOS pass transistors 608 and 610, become active and allow the received differential input voltages V.sub.A and V.sub.B, V.sub.C and V.sub.D, respectively, to flow into the sense amplifier circuitry 600. A first differential input pair of PMOS transistors 612, 614 receives the differential input voltages V.sub.A and V.sub.B from the NMOS pass transistors 604, 608, respectively. The sources of the PMOS transistors 612 and 614 of this first PMOS input pair are connected to the supply voltage. When Sense_B is low, PMOS transistors 616, 618 help to charge the drains of the first PMOS input transistor pair 612, 614 to the supply voltage. When Sense_B is high, PMOS transistors 616, 618 are inactive.
[0187] A cross-coupled pair of PMOS transistors 620, 622, acts as a latch and couples the differential PMOS pair 612, 614 to the sense amplifier output nodes, sData_B and sData, respectively. The drain of PMOS transistor 612 is coupled to a sense amplifier output node sData_B via PMOS transistor 620. The drain of PMOS transistor 614 is coupled to another output node of the sense amplifier, sData, via PMOS transistor 622. The gate of PMOS transistor 620 is coupled to output node sData and the gate of PMOS transistor 622 is coupled to output node sData_B. The output nodes sData and SDataB are precharged to the supply voltage when the Sense signal is low by PMOS transistors 624 and 626, respectively.
[0188] A second differential input pair, NMOS transistors 628, 630 receives the voltages V.sub.C and V.sub.D from the PMOS pass transistors 608, 610, respectively. The sources of the transistors 628, 630 of the second input pair are connected to NMOS transistor 632 at the node labeled as tail which drives the voltage on the sources to ground when the Sense signal is high. When the sense signal is low, NMOS transistor 632 is inactive.
[0189] Another cross-coupled transistor pair 634, 636, acts as a latch and couples the second differential input pair 628, 630 to the sense amplifier output nodes, sData_B and sData, respectively. The drain of input NMOS transistor 628 is coupled to the output node sData_B via NMOS transistor 634 and the drain of input NMOS transistor 630 is coupled to the output node sData via NMOS transistor 636. The gate of transistor 634 is coupled to output node sData and the gate of pass transistor 636 is coupled to output node sData_B.
[0190] When the Sense signal 358 is high, NMOS transistors 638, 640 help to discharge the drains of the transistors of second input pair 628, 630, respectively. When the Sense signal 358 is low, NMOS transistors 638 and 640 are inactive.
[0191] During operation when the Sense signal 358 is low, the first and second differential input pairs, 612 and 614, 628 and 630, respectively, do not provide a path for current to flow from the supply voltage to ground. During this time the sense amplifier 600 follows the voltages V.sub.A, V.sub.B, V.sub.C and V.sub.D supplied at the inputs to the first and second differential input pairs 612 and 614, 628 and 630, respectively.
[0192] When the Sense signal transitions high, pass transistors 604-610 become inactive. The NMOS transistor 632 becomes active and couples the tail node to ground so that current can flow through the sense amplifier 600A for a short time, thereby activating the sense amplifier 600A. During this time the sense amplifier 600A determines the output voltages Vs and V.sub.S.sub._.sub.B on output nodes sData and sData_B, respectively, according to the state of the input voltages V.sub.A, V.sub.B, V.sub.C and V.sub.D at the time that the Sense signal 358 transitioned high. When the common mode of the input signals is out of range, PMOS transistors 616, 618 supply current to the drains of the first input pair 612, 614 and NMOS transistors 638, 640 draw current from the drains of the second input pair 628, 630, respectively.
[0193] For example, when the input voltage V.sub.C is greater than input voltage V.sub.D, the NMOS input pair 628, 630 removes more current from output node sData_B than from output node sData, thereby pulling the voltage V.sub.S.sub._.sub.B on node sData_B to ground faster than the voltage Vs on node sData. When the input voltage V.sub.A is greater than the input voltage V.sub.B, the PMOS input pair 612, 614, supplies more current to output node sData than to output node sData_B. This tends to pull the voltage Vs on node sData towards the supply voltage faster than the voltage V.sub.S.sub._.sub.B on node. While current flows from the supply voltage through NMOS transistor 632 to ground, the cross-coupled transistors 620, 622, 634, 636 will cause the voltage V.sub.S.sub._.sub.B on node sData_B to transition to ground and the voltage Vs on node sData to transition to the supply voltage. As the voltage V.sub.S.sub._.sub.B on node sData_B decreases, PMOS transistor 622 sources an increasing amount of current and increases the voltage Vs on the node sData. As the voltage Vs on node sData increases, NMOS transistor 634 sinks an increasing amount of current and pulls the voltage V.sub.S.sub._.sub.B on node sData_B node to ground. The output voltages Vs and V.sub.S.sub._.sub.B on nodes sData and sData_B stabilize rapidly and the cross-coupled pairs 620 and 622, 634 and 636 latch the state of Vs and V.sub.S.sub._.sub.B and block the flow of current through the circuit from the supply voltage to ground. Therefore, the sense amplifier 600A again consumes a low amount of dynamic power, and little or no static power. The voltages V.sub.A, V.sub.B, V.sub.C and V.sub.D applied to the gates of the input transistors 612, 614, 628, 630 are not affected by the operation of the sense amplifier 600 which allows the differential pairs 612, 614, 628, 630 to operate properly during the sense operation.
[0194] In an alternate embodiment, the sense amplifier 600A does not include NMOS transistors 638 and 640, and PMOS transistors 616 and 618. The transistors 616 and 618, and 638 and 640, provide alternate paths for current to flow from the supply voltage to ground, respectively, when the input transistors 612 and 614, and 628 and 630 do not provide such a path. An input pair of transistors, 612 and 614, and 628 and 630, does not provide a path for current to flow when operated outside its common mode range.
Latch
[0195] In
[0196] The latch 650A stores the state of the voltages Vs and V.sub.S.sub._.sub.B on nodes sData and sData_B when one of the voltages Vs or V.sub.S.sub._.sub.B is low. When one of the inverters of the first pair of inverters 652, 654 receives a low logic signal, that inverter drives the gate of the corresponding NMOS input transistor high causing the latch to change states if the previous state of the latch was opposite to the current state of the latch. For example, when Vs at node sData is high and V.sub.S.sub._.sub.B at node sData_B is low, inverter 654 drives the gate of NMOS transistor 656 high which causes node 1Data_B to transition low and the latch output V.sub.OUT to transition high. When node 1Data_B is low, PMOS transistor 662 is active and node 1Data is pulled high. The operation of the latch 650A is not affected when the sense amplifier is precharged because, during precharge, the voltages output by the sense amplifier Vs and V.sub.S.sub._.sub.B are pulled high.
[0197] Referring to
[0198] The preamplifier 332A continuously receives the external input signals V.sub.IN 342 and V.sub.IN.sub._.sub.B 344 and continuously provides two pairs of differential output voltages, V.sub.PDATA 346-1 and V.sub.PDATA.sub._.sub.B 346-2, and V.sub.NDATA 348-1 and V.sub.NDATA.sub._.sub.B 348-2, to the integrator 334.
[0199] Referring also to
[0200] The start of a new cycle begins with the Release of Precharge which begins the Integrate phase of the integrator 334 (
[0201] A short time after the Activation of Sense event, the integration nodes A, B, C and D are precharged for the next cycle, and slightly before the end of the cycle the sense amplifier 600A returns to its sampling state to prepare for the next cycle. The inputs to the differential input pairs of the sense amplifier 600A are also precharged through their respective pass gate transistors during this time.
[0202] The latch 650 thus outputs voltages V.sub.OUT and V.sub.OUT.sub._.sub.B representing a CMOS equivalent of the polarity of input signals, V.sub.IN and V.sub.IN.sub._.sub.B, shortly after the Activation of Sense event. The input-to-output latency 384 of this integrating receiver is approximately equal to the time between the Release of Precharge 380 and Activation of Sense 384 plus the time from Activation of Sense to sense amplifier and latch output 383.
Alternate Embodiment of the Sense Amplifier and Latch
[0203] In
[0204] In the latch 650, when the Vs and V.sub.S.sub._.sub.B signals on the sData and sData_B nodes are equalized, the latch 650 does not change state. When the Vs and V.sub.S.sub._.sub.B signals on the sData and sData_B nodes are not equalized, the latch 650 can change state in response to the V.sub.S.sub._.sub.B and V.sub.S.sub._.sub.B signals. For example, the Vs and V.sub.S.sub._.sub.B signals transition between high and a low, respectively, when the voltage difference between the Vs and V.sub.S.sub._.sub.B signals is equal to an NMOS threshold voltage of VT. NMOS transistor 653 becomes active and provides a low voltage level to the cross-coupled inverters 655 and 657 which act as a latch; and, NMOS transistor 659 becomes inactive. In response to the low voltage level of the V.sub.S.sub._.sub.B signal, inverter 655 outputs a high voltage level, and inverter 657 outputs a low voltage level to latch the state of the the Vs and V.sub.S.sub._.sub.B signals. Driver inverters 664 and 666 output a low and high voltage level, respectively.
Alternate Embodiment: A Preamplifier and Integrating Sense Amplifier
[0205] In
[0206] In the sense amplifier 680, capacitive elements 436, 438 are connected between nodes A and C, and B and D, respectively. The capacitive elements 436, 438 are implemented as described with respect to the integrator of
[0207] Although not shown, the precharge circuit of
[0208] The pass transistors 682, 684 now perform a switching function and act as a current source to charge or discharge the capacitive elements 436, 438. The pass transistors 682, 684 are active during the integration interval when the precharge signal is low. An inverter 692 receives the precharge signal and drives the gates of the NMOS pass transistors 684. The inverter 692 is connected to a predetermined voltage V.sub.GSATN, rather than the supply voltage, which causes the inverter 692 to output a logical one equal to the voltage V.sub.GSATN. The voltage V.sub.GSATN is selected such that the pass transistors 684 will operate in saturation when active. Therefore, the current flowing through the respective capacitive element 436, 438 is substantially independent of the drain to source voltage across the pass transistors 684.
[0209] The pass transistors 682 are active during the integration interval when the precharge_B signal is high. Another inverter 694 receives the precharge_B signal and drives the gates of the PMOS pass transistors 682. The inverter 694 is connected to a predetermined voltage V.sub.GSATP, rather than ground or V.sub.SS, which causes the inverter 694 to output a logical zero equal to the voltage V.sub.GSATP. The voltage V.sub.GSATP is selected such that the pass transistors 682 will operate in saturation when active and therefore the current flowing through the respective capacitive element 436, 438 is substantially independent of the drain to source voltage across the pass transistors 682.
[0210] At the end of the integration phase, the activation of the precharge signal deactivates the pass transistors 682, 684. The nodes A, B, C and D store the integration voltages V.sub.A, V.sub.B, V.sub.C and V.sub.D, respectively.
[0211] The sense amplifier 680 includes a PMOS transistor 696 that couples the differential input PMOS pair 612 and 614 to the supply voltage when the sense_B signal is low. The remaining components of the sense amplifier transistors 632, 612, 614, 620, 622, 634 and 636 and output voltages V.sub.S and V.sub.S.sub._.sub.B are the same as described with respect to
[0212] Because no separate integrator circuit is used, this embodiment of an integrating receiver uses fewer components which reduces power and die area. Because fewer components are used, this integrating receiver has fewer parasitic capacitive elements. Therefore, the input voltage swing to the sense amplifier for a given integration current I is larger.
System Issues
[0213] As shown in
[0214] In
[0215]
[0216] In
[0217] In
[0218] In
[0219] In particular, because of delay 752 in the distribution of the system clock 364, each receiver 750 receives a system clock signal that is slightly out-of-phase or skewed with respect to the system clock signal at the clock recovery block and with respect to the system clock signals at other receivers 750. The data bits may also be skewed among themselves because of differences in board or package routing. The result is that the phase relationship or alignment of the system clock to the data is different at each receiver 770.
[0220] Referring also to
[0221] In
[0222] The adjustment system 770 aligns the system clock of each receiver 750 to the data at that receiver by adjusting the timing of the precharge signal 352 and sense signal 358. The receiver 750 can be any of the receivers described above. The adjustment circuit 770 has one global section 790 and multiple per-receiver sections 792. Each receiver 750 connects to a distinct instance of per-receiver section 792. Each per-receiver section 792 independently adjusts the precise timing of the Release of Precharge and Activation of Sense events for its associated receiver 750. The global section 790 includes Global Timing Control logic 794 and a Global Clock Generation block 796. The per-receiver section 792 includes Per-Pin timing Control logic 798, a Receiver Clock Generation block 802, and two adjustable delay blocks, one for the Precharge signal 804 and one for the Sense signal 806. The Global Timing Control Logic 794 generates control signals 808 that are supplied to the Per-Pin Timing Control Logic 798 and to the Global Clock Generation block 796, respectively. The Global Clock Generation block 796 includes a multiplexor 810 that has zero (0) degree and ninety (90) degree clock inputs, and a phase select input receiving the phase select signal 812 from the Global Timing Control Logic 794. The multiplexor 810 supplies the selected clock to the Receiver Clock Generation block 802. The Per-Pin Timing Control logic 798 and the Receiver Clock Generation Block 802 are coupled to the adjustable delay elements 804 and 806 to provide the specified Precharge and Sense signals for the receiver 750-1. The receiver 750-1 receives the input signals V.sub.IN and V.sub.IN.sub._.sub.B. The Receiver Clock Generation Block 796 generates and supplies the ideal Precharge and Sense signals (see
[0223] In this way, the circuit of
[0224] Referring to
[0225] This description uses the integrator of
[0226] To select the appropriate amount of delay from the delay elements 804, 806, the Global Timing Control Logic 794 first selects the ninety degree clock signal 816 by activating the appropriate Phase Select input 812 of the multiplexor 810 in the Global Clock Generation Block 796. This causes the Receiver Clock Generation Block 802 to shift the nominal Release of Precharge 380 and Activation of Sense 382 events by ninety degrees placing the Release of Precharge in the nominal center 818 of the ideal data window and the Activation of Sense in the nominal center 820 of the next ideal data window. While receiving the input signal of a stream of alternating zeroes and ones, the integrating receiver starts the integration phase when the precharge signal is released in the center 818 of the data window, and the voltage V.sub.A on the integration node will be as shown in waveform 822. When the activation of sense event occurs in the center 820 of the next data window, the output voltage V.sub.A of the integrator will be zero. In practice, the output of the sense amplifier output is equal to one for approximately the same number of integration cycles as it is equal to zero. Therefore, the receiver functions as a phase detector when the timing loop is activated and the system clock is shifted by ninety degrees. When the system clock is shifted ninety degrees and the output V.sub.A of the integrator is equal to zero, the Per-Pin Timing Control Logic 798 has adjusted the delay elements 804 and 806 properly for the particular receiver 750-1. Once each Per-Pin Timing Control Logic block 798 has adjusted the timing for its associated receiver 750-1, the Global Timing Control Logic 794 causes the multiplexor 810 to output the zero degree clock to the Receiver Clock Generation Block 802 so that the receiver system can receive and output data.
[0227] In summary, the amount of delay from the delay elements 806, 808, is adjusted for each receiver by using a data input stream of alternating ones and zeroes and shifting the system clock by ninety degrees to operate the receiver as a phase detector to place the center of the ninety degree clock in the center of the integration or reliable data window. In this way, when the global clock generation block supplies the zero degree or unshifted system clock, at least one edge of the zero degree system clock will be aligned with the center of the reliable data window.
[0228] In
[0229] The binary weight of each PMOS transistor is indicated next to each transistor. Transistor pair 832-1, 834-1 has a weight of one, transistor pair 832-2, 834-2 has a weight of two, pair 832-3, 834-3 has a weight of four and pair 832-4, 834-4 has a weight of eight. The weights are established by the width to length (W/L) ratio for each transistor. The W/L ratio determines the resistance of the respective transistor, increasing the width W decreases the resistance, while decreasing the width increases the resistance. The resistance and therefore the W/L ratio determines the incremental amount of delay generated by a transistor when that transistor is active.
[0230] A set 850 of NMOS transistors 852 and 854 are connected in series between ground and the output signal line 836. The gates of transistors 854 receive a respective one of the enable signals EnbN<0>. The gates of transistors 852 receive the input signal 838. Respective pairs of transistors 852 and 854 are connected in series. The transistors 852, 854 of each pair have the same binary weighting as their corresponding PMOS series-connected pair. For example, pair 852-1, 854-1 has a weight of one, pair 852-2, 534-2 has a weight of two, pair 852-3, 854-3 has a weight of four and pair 852-4, 854-4 has a weight of eight.
[0231] When the input signal 838 is low, the transistors in the PMOS group 830 are enabled to drive the output signal high with a predefined resistance, and therefore a predefined time constant, in accordance with to the state of the enable signals EnbP<0:3>. When the input signal 838 is high, the transistors in the NMOS group 850 are enabled to drive the output signal low with a predefined resistance, and therefore a predefined time constant, in accordance with the state of the enable signals EnbN<0:3>. Driving the output signal high with a high resistance, relative to the other transistors, increases the delay between the input signal 838 and the output signal 836. Driving the output signal high with a low resistance decreases the delay between the input signal 838 and the output signal 836. The amount of delay in driving the output signal low is controlled by the resistance of the transistors of the NMOS group 850. In the embodiment of
[0232] For example, the transistors 832, 834, 852, 854 can be sized so as to provide an incremental delay of 125 picoseconds (ps) for each increment in the value of EnbN<0:3> and EnbP<0:3>. In a alternate embodiment, binary stages 860 may be added to provide greater precision and/or a greater range of delay values. In other alternate embodiments, the delay circuit 804 can be constructed to provide any particular predefined delay.
[0233] In
[0234] Referring also to
[0235] The data transition and timing adjustment logic 866 receives the V.sub.-ODD, V.sub.S-ODD signals from the sense amplifiers 862, 864, respectively, and outputs selection signals that select the amount of delay from the delay adjustment blocks 868. The respective delay adjustment block 868 delays the precharge and sense signals, 352 and 358, respectively, in accordance with the selected amount of delay. The delay adjustment blocks 868 may be implemented using the circuit of
[0236] The data transition and timing adjustment logic 866 selects an amount of delay based on the timing relationship between the input signal V.sub.IN and the receive clock. In this embodiment, the -Sense amplifier 862 acts as a phase detector because its metastability point is inherently 90 from the integrator.
[0237] For example, if the transition of the input signal V.sub.IN is early with respect to the falling edge of the receive clock, then the -Sense amplifier 862 will detect the transition of the data signal V.sub.IN, but the integrator 334 and data sense amplifier 864 may not detect the transition of the input data signal V.sub.IN because the integration time will be shorter. Alternately, if the transition of the input signal V.sub.IN is late with respect to the falling edge of the receive clock, then the -Sense amplifier 862 will not detect the transition of the data signal V.sub.IN, but the integrator 334 and data sense amplifier 864 may not detect the transition of the input data signal V.sub.IN because the integration time will also be shorter.
[0238] The data transition and timing adjustment logic 866 compares the signal output by the -Sense amplifier 862 to the receive clock using, for example, an exclusive-or gate. When the transition of the input signal V.sub.IN is late with respect to the negative edge the receive clock, the -Sense amplifier 862 will not detect the transition of the input signal V.sub.IN, although the data-sense amplifier 864 may detect the transition of the input signal V.sub.IN. By observing and comparing the results of V and V.sub.S, the transition and timing logic block can determine whether a data transition occurred, and when occurred, whether the data transition was early or late.
Multi-Phased Receivers
[0239] Performance can be increased by operating the receivers in multiple phases. To achieve data cycle rates in the gigabit range, multiple parallel receivers increase the speed of the data bus by reducing the time to transmit a data bit, the bit time, without changing process or technology.
[0240] In
[0241] Two clock signals, clock 1 and clock 2, define the boundaries of the data cycles. The clock signal clock 2 is phase shifted by ninety degrees with respect to clock 1. In an alternate embodiment, a single high speed clock that operates at twice the frequency of clock 1 defines the boundaries of the data cycles.
[0242] For example, at the beginning of the first data cycle for data bit one D1, the integration phase for receiver 1 780-1 begins. Near or at the end of the first data cycle for data bit one D1, the sensing operation begins. The sensing operation stores the accumulated voltage from the integration phase and converts the output of the integrator to a logic signal, having predetermined high and low voltage levels. The logic signal that represents data bit one from the first data cycle is available at the end of the sensing interval S1. After the integration phase, receiver one 780-1 enters the precharge phase IP1. After the sense amplifier and latch convert the output of the integrator and store the state of the logic signal, respectively, the sense amplifier begins the sensing precharge phase SP1. Since the integration precharge phase IP1 ends in the data cycle for data bit four D4, receiver 1 780-1 is available to receive a new data bit at the data cycle for data bit five D5. Since receiver 1 780-1, and the other receivers, can not receive a new data bit for the three data cycles following the data cycle associated with the data bit being received, four receivers are used. In this way, very high data cycle rates, on the order of at least one gigabit per second, are achieved.
An Equalizer to Compensate for Intersymbol Interference
[0243] In high-speed signaling applications, the communications medium may cause problems such as intersymbol interference. The integration nodes of the integrator are used to correct for intersymbol interference using an equalization circuit and an accumulated voltage offset cancellation circuit. To compensate for the intersymbol interference, a filter can be used either at the driver or the receiver. The integrator itself is a form of filter (a matched filter) and with some adjustments can incorporate a form of equalization to substantially counter the intersymbol interference.
[0244] In
[0245] The equalization circuit 900 compensates for intersymbol interference dynamically as data bits are received by applying a portion of the integration voltage generated at an integration node of a previously received bit to precharge the integration nodes for the next bit. The equalization circuit 900 includes a first operational amplifier 902 connected in series with a first NMOS transistor 904. The operational amplifier 902 is connected in a unity gain configuration with its positive input (+) connected one of the integration nodes (D) of the integrator 780-even. The first NMOS transistor 904 is connected between the output of the operational amplifier 902 and an integration node (C) of an adjacent receiver 780-odd. The gate of the first NMOS transistor 904 is controlled by the output of an inverter 906 which receives the complement of the Precharge signal, Precharge_B, and receives power from an Equalization Ratio Control Voltage 908. The equalization ratio control voltage 908 determines the amount of charge supplied to the integration node during the precharge cycle by controlling the resistance of the first NMOS transistor 904 when the Precharge signal is active. The equalization circuit 900 also couples the C output of the even integrator 780-even to the D output of the odd integrator 780-odd using a second operational amplifier 912 and a second NMOS transistor 914.
[0246] The A and B nodes of the odd and even integrators are connected in the same manner as the C and D nodes, but are not shown for simplicity. Furthermore, identical operational amplifier circuits (not shown) are provided for transferring charge from the odd integrator outputs A-odd through D-odd to the even outputs A-even through D-even.
[0247] Referring to
[0248] The equalization ratio control voltage 908 determines the amount of charge supplied during the precharge cycle. The equalization ratio control voltage 908 may be loaded into a register and supplied as an analog voltage by a digital-to-analog converter.
Input Voltage Offset Error Compensator
[0249] The input voltage offset error includes the voltage offsets inherent in the preamplifier, integrator, and sense amplifier. To compensate for the accumulated voltage offsets of the preamplifier, integrator and sense amplifier, an adjustment is made to the precharge voltage level of the integration nodes of the integrator in each receiver.
[0250] In
[0251] In
[0252] The offset control voltage 934 may be stored in a register and output by a digital-to-analog converter.
Adjusting the Timing of the System Clock Using an Integrating Receiver
[0253] In the embodiments that will now be discussed with reference to
[0254] Referring to
[0255] In
[0256] In
=(/(i+)).Math.t.sub.cycle,
where t.sub.cycle is the period of the system clock which is equal to 2t.
[0257] Note that the timing offset is independent of process, voltage and temperature and is equal to the ratio of the added current to the total current. Therefore the timing offset provides a simple and inexpensive way to provide a phase offset.
[0258] The static current sources 940 are the same, and therefore only static current source 940-1 will be described. Two NMOS transistors 941 and 942 are connected in series between the integration node and ground. An enable signal causes the NMOS transistor 941 to become active and allow the static current to flow. Because transistor 942 is a current source, transistor 942 is connected to a bias voltage V.sub.BIAS. The magnitude of the bias voltage is set by the desired offset current. Alternatively, the switched static current source 940-2 could be used to produce a negative timing offset, .
[0259] In
Multi-PAM
[0260] Referring back to
[0261] Although the multi-PAM signaling of the present invention will be described with respect to a current mode bus, multi-PAM signaling can also be used in a voltage mode bus.
[0262] In various embodiments of the present invention, the data rate on the bus is increased without increasing either the system clock frequency or the number of signal lines. Output drivers generate and receivers detect multi-pulse-amplitude-modulated (multi-PAM) signals that allow multiple (k) bits to be transmitted or received as one of 2.sup.k possible voltages or data symbols at each clock edge. For example, in a 4-PAM system two bits are represented by 2.sup.2 or four voltages or possible data symbols, and the two bits are transferred at every clock edge by transferring the appropriate one of the four voltages. Therefore, the data rate of a 4-PAM system is twice that of a binary or 2-PAM system.
[0263] Multi-PAM is not traditionally used in multi-drop bus systems due to the lower signal-to-noise ratio in systems in which even the signal to noise ratio for binary signals is barely adequate. Prior art memory systems have been implemented as only binary systems. In particular, in this invention, an integrating receiver is used in a multi-PAM system to increase the signal-to-noise ratio to an acceptable level.
[0264] In
[0265] The y-axis shows the associated 4-PAM output voltages V.sub.OUT for each symbol. To provide the appropriate voltage to transmit a 4-PAM symbol, the output driver sinks a predetermined amount of current for that symbol. In particular, each symbol is associated with a different amount of current. To transmit a 00, the output driver sinks no current and the signal line is pulled up to V.sub.TERM. To transmit a 01, the bus output driver sinks a predetermined amount of current I.sub.01 to cause the output voltage V.sub.OUT to equal V.sub.TERM(I.Math.Z.sub.O), where I.sub.01 is equal to I. To transmit a 11, the bus output driver sinks a predetermined amount of current Iii to cause the output voltage V.sub.OUT to equal V.sub.TERM(I.Math.Z.sub.O), where I.sub.11 is equal to I. To transmit a 10, the bus output driver sinks a predetermined amount of current I to cause the output voltage V.sub.OUT to equal V.sub.TERM(I.Math.Z.sub.O).
[0266] To improve noise immunity, the 4-PAM receiver identifies a received symbol based on a voltage range or range of voltages associated with that symbol. A set of reference voltages V.sub.REFL0, V.sub.REFM and V.sub.REFL1 function as thresholds to define ranges of voltages associated with each 4-PAM symbol. The reference voltages V.sub.REFL0, V.sub.REFM and V.sub.REFL1 are set at the midpoint voltage between neighboring symbols. For example, the symbol 00 is associated with voltage range from V.sub.REFL0 to V.sub.TERM. The symbol 10 is associated with a range of voltage from V.sub.REFL1 to V.sub.TERM(I.Math.Z.sub.0). The symbol 11 is associated with a range of voltage from V.sub.REFL1 to V.sub.REFM. The symbol 01 is associated with a range of voltage from V.sub.REFM to V.sub.REFL0. The reference voltages V.sub.REFL0, V.sub.REFM and V.sub.REFL1 are threshold voltages at which a multi-PAM data bit is determined to be one of an adjacent set of bits. For example, if the voltage of a received symbol is between V.sub.REFM and V.sub.REFL0, that bit is determined to represent 01.
[0267] 4-PAM symbols or signals also allow for direct compatibility with 2-PAM or binary signaling. When operating in 4-PAM mode, the received data bits are compared to the three reference voltages, V.sub.REFL0, V.sub.REFM and V.sub.REFL1, to determine the 4-PAM symbol and the associated two bits. Since the most significant bit (MSB) is determined by comparing the received data bit to V.sub.REFM, the multi-PAM system can be used as a 2-PAM system by ignoring the least significant bit LSB) and using the MSB. To transmit 2-PAM symbols using the gray code of
[0268] Multi-PAM signaling increases the data rate with a small increase in power consumption because the number of input/output (I/O) pins and the system clock frequency is the same as that used for binary signaling. The major factor in the power consumption of CMOS circuits is the CV.sup.2F power which depends directly on the system clock frequency. Therefore increasing the system clock frequency to increase the data rate directly increases the power consumption. Although some additional power is used for the additional circuitry of the multi-PAM interface, described below, this increase in power is much less than the increase in power that would occur if either the number of I/O pins or the system clock frequency were increased to increase the data rate.
[0269] Multi-PAM signaling also increases the data rate without a corresponding increase in the electro-magnetic interference (EMI). If the data rate were increased by increasing the number of I/O pins or by increasing frequency, the EMI would increase proportionally. Because multi-PAM signaling does not increase the number of I/O pins, the EMI does not increase if the total voltage amplitude of the multi-PAM I/O pins remains the same as that used in binary signaling. The total voltage amplitude may be increased to provide greater voltage margin to improve system reliability. Although the EMI would increase correspondingly, the increase would be smaller than that incurred by increasing the number of I/O pins with binary signaling.
[0270] The circuits described below use 4-PAM signaling, but can be expanded for use in 8-PAM, 16-PAM, and more generally, N-PAM signaling.
Multi-Pam Output Driver
[0271] In
[0272] In driver block 958, odd and even data bits are multiplexed onto the driver transistors 960 via passgates 962 and an inverter 964. Odd data is transmitted at the rising edge of the clock, while even data is transmitted at the falling edge of the clock. NAND gates 966, 968 connect to current control bit zero <0>, and the LSB Odd Data bit and the LSB even data bit, respectively. When the respective current control bit zero <0> is high, the NAND gates 966, 968 are responsive to the odd and even data. When the respective current control bit is low, the output of the NAND gates 966, 968 is low and the driver block 958 does not respond to the data bit. The current control bits provide the specified amount of current to cause the desired voltage swing regardless of the PVT conditions. The circuit of
[0273] The passgates 962 include two transistor pairs, each pair including a PMOS transistor 972, 974 connected in parallel with an NMOS transistor 976, 978. The clock and clock_b signals connect in an opposite manner to the gates of the transistors of the transistor pairs.
[0274] Although
[0275] Table 1 below shows two 4-PAM encoding schemes that can be implemented using the output driver 950 of
TABLE-US-00001 TABLE 1 Encoding Schemes Coding Data Bits (Symbol) Output Scheme to be Transmitted MSB Input LSB Input Voltage Binary 00 0 0 V.sub.TERM 01 0 1 V.sub.TERM 1/3(I .Math. Z.sub.0) 10 1 0 V.sub.TERM (I .Math. Z.sub.0) 11 1 1 V.sub.TERM (I .Math. Z.sub.0) Gray 00 0 0 V.sub.TERM 01 0 1 V.sub.TERM 1/3(I .Math. Z.sub.0) 10 1 1 V.sub.TERM (I .Math. Z.sub.0) 11 1 0 V.sub.TERM (I .Math. Z.sub.0)
[0276] In another embodiment shown in
[0277] The circuit for even data is not shown, but a separate set of current control NMOS transistors connects in series with a set of driver transistors that respond to the logical AND of the respective data bit and the complement of the clock signal Clock_b for even data.
[0278] The output voltages of the circuits of
[0279] In
TABLE-US-00002 TABLE 2 Mapping of Data Bits to ABC Inputs and Encoding Schemes Coding Data Bits (Symbol) Output Scheme to be Transmitted A B C Voltage Binary 00 0 0 0 V.sub.TERM 01 1 0 0 V.sub.TERM (I .Math. Z.sub.0) 10 1 1 0 V.sub.TERM (I .Math. Z.sub.0) 11 1 1 1 V.sub.TERM (I .Math. Z.sub.0) Gray 00 0 0 0 V.sub.TERM 01 1 0 0 V.sub.TERM (I .Math. Z.sub.0) 10 1 1 1 V.sub.TERM (I .Math. Z.sub.0) 11 1 1 0 V.sub.TERM 2/3(I .Math. Z.sub.0)
[0280] In the combinational logic 1007, an OR gate 1008 generates the A signal by performing an OR operation between the LSB and MSB. The B input is the MSB. An AND gate 1009 generates the C signal by performing an AND operation between the LSB and MSB.
[0281] In
[0282] On-chip, single-ended output drivers, as shown in
[0283] To reduce sensitivity to switching noise, output drivers can provide a constant or semi-constant current to ground regardless of the output current being driven. As shown in
[0284] When the output driver sinks output current from the I/O pin 956, current is steered through transistor N1 1012 to ground. When transistor N1 1012 is inactive, transistor N2 1014 becomes active to allow the same or substantially the same amount of current to flow to ground. In this way, a substantially constant amount of current continuously flows to ground to eliminate a large portion of the output driver switching noise and provide a quieter on-chip ground, thereby improving the performance of the 4-PAM signaling. The signal V.sub.R that controls transistor N2 1014, is the complement of the signal Vi, the signal that drives transistor N1 1012. Alternately the signal V.sub.R that drives transistor N2 1014 is a reference voltage between ground and Vi. In response to an input voltage V.sub.Cntrl, the current source 1016 sinks a predetermined amount of current I.sub.o to ground.
[0285]
[0286] In
W.sub.B<W.sub.C<<W.
[0287] In
n1n2<N.
There may be different relationships between N, n1 and n2 in alternative embodiments.
[0288] Each of the A, B and C signals is associated with a current drive block 1040 to drive a predetermined amount of current associated with the symbol. Each current drive block 1040 includes one or more sets of stacked transistor pairs 1042 that are associated with each set of current control bits for that current drive block 1040. For example, the current drive block 1040-1 that drives the A signal receives current control bits CC. The current drive block 1040-2 that drives the B signal receives current control bits CC and CCB. The amount of current supplied by current drive block 1040-2 is adjusted for gds distortion using the CCB bits. The current drive block 1040-3 that drives the C signal receives current control bits CC and CCC. The amount of current supplied by current drive block 1040-3 is adjusted for gds distortion using the CCC bits.
[0289] Referring also to
[0290] The transistors of the stacked transistor pairs are binary weighted with respect to a minimum width of W1 for the upper transistors, and W2 for the lower transistors. The widths W1 and W2 are chosen to determine output characteristics such as output resistance and capacitance. Generally, the widths W1 and W2 are chosen such that W1 is less than W2.
[0291] The circuit diagram of
[0292] As shown in
[0293] A multiplexor 1052 receives the three 4-PAM reference voltages, V.sub.REFL0, V.sub.REFM and V.sub.REFL1. A select reference voltage signal, SelRef, selects one of the reference voltages as the selected current control reference voltage V.sub.REF. A comparator 1054 compares the selected current control reference voltage V.sub.REF to a mid-point voltage V.sub.X and generates a comparison signal.
[0294] To generate the mid-point voltage V.sub.X, output driver 1 1056 sinks a first amount of current to provide the first output voltage V.sub.OUT-1 and output driver 2 1058 sinks a second amount of current to provide the second output voltage V.sub.OUT-2. Two passgate pairs 1060, 1062, in response to a current control enable and its complementary signal, act as a resistor divider to provide the midpoint voltage V.sub.X between the first output voltage V.sub.OUT-1 and the second output voltage V.sub.OUT-2.
[0295] A state machine 1064 includes first, second and third counters, 1066-1, 1066-2, and 1066-3, that provide the first, second and third sets of current control bits, CC, CCB, and CCC, respectively. If the comparison signal indicates that the midpoint signal V.sub.X is greater than the reference voltage V.sub.REF, the state machine 1064 increments an associated set of current control bits by one to increase the amount of current that is sunk by the output driver, thereby decreasing the midpoint voltage. If the midpoint signal V.sub.X is less than the current control reference voltage V.sub.REF, the state machine 1064 decrements the associated current control bits by one, thereby increasing the midpoint voltage.
[0296] In one embodiment, the current control bits are calibrated during a power-up sequence. The theory of operation for calibrating the current control bits is as follows. The first set of current control bits CC provide the primary amount of current control for each current control block 1040. To compensate for gds distortion, the CCB and CCC current control bits fine tune the amount of current associated with the Gray-coded 11 and 10 signals, respectively. The current control bits are calibrated in the following order: CC, CCB, then CCC.
[0297] In an alternate embodiment, the current control bits may be calibrated after power-up in response to triggering events, e.g., lapse of a period of time, or in response to a threshold number of errors.
[0298] Referring also to
[0299] As shown in
[0300] Finally, the third set of current control bits CCC is adjusted to compensate for the gds distortion between the voltage associated with the 11 symbol and the voltage associated with the 10 symbol.
[0301] Referring to
[0302] Three major blocks of steps 1072, 1074 and 1076 set the current control bits, CC, CCB and CCC, respectively.
[0303] In block 1072, step 1078 sets the initial conditions for determining the settings for the first set of current control bits CC. The state machine 1064 outputs the select reference voltage signal (SelRef) which causes the multiplexor 1054 to output the reference voltage V.sub.REFL0 to the comparator 1054. A 00 symbol is supplied to output driver 1 1056 by outputting multi-PAM bit selection signals A1, B1 and C1 with values of zero. A 01 symbol is supplied to output driver 2 1058 by outputting multi-PAM bit selection signals A2 with a value of one, and B2 and C2 with a value of zero. The initial state of the first, second and third current control bits is as follows:
CC={1 0 0 . . . 0};
CCB={1 0 0 . . . 0}; and
CCC={1 0 0 . . . 0}.
The current control bits are initially set such that the stacked transistor pair sinking the most current will be activated.
[0304] In step 1080, the output drivers 1 and 2 output the voltages corresponding to the symbols 00 and 01 and the midpoint voltage V.sub.X is generated. In step 1082, the comparator 1054 compares the midpoint voltage V.sub.X to the selected reference voltage V.sub.REFL0. When the midpoint voltage is within one least significant bit of the reference voltage V.sub.REFL0, the first set of current control bit have the proper setting. The state machine 1058 determines that the midpoint voltage V.sub.X is within one least significant bit of the reference voltage V.sub.REFL0 when the current control bits begin to oscillate between two settings. In other words, the output of the comparator will alternate between a zero and a one.
[0305] In step 1084, when the midpoint voltage V.sub.X is not within one least significant bit of the reference voltage V.sub.REFL0, the state machine 1064 augments the first set of current control bits depending on the result of the comparison. The term augment is used to indicate either incrementing or decrementing the current control bits. The process proceeds to step 1080.
[0306] If, in step 1082, the state machine 1064 determines that the midpoint voltage V.sub.X is within one least significant bit of the reference voltage, the process proceeds to step 1086 to calibrate the second set of current control bits, CCB.
[0307] In step 1086, the initial conditions for calibrating the second set of current control bits CCB are set. The state machine 1064 outputs the select reference voltage signal (SelRef) which causes the multiplexor 1054 to output the reference voltage V.sub.REFM to the comparator 1054. A 01 symbol is supplied to output driver 1 1056 by outputting multi-PAM bit selection signals A1 with a value of one, and B1 and C1 with values of zero. A 11 symbol is supplied to output driver 2 1058 by outputting multi-PAM bit selection signals A2 and B2 with a value of one, and C2 with a value of zero. The state of the first set of current control signals CC remains unchanged. The initial state of the second and third sets of current control bits, CCB and CCC, respectively, is as follows:
CCB={1 0 0 . . . 0};
CCC={1 0 0 . . . 0}.
[0308] In step 1088, the output drivers 1 1056 and 2 1058 output the voltages corresponding to the symbols 01 and 11, and the passgate pairs 1060, 1062 output the midpoint voltage V.sub.X. In step 1090, the comparator 1054 compares the midpoint voltage V.sub.X to the selected reference voltage V.sub.REFM. When the midpoint voltage is not within one least significant bit of the reference voltage V.sub.REFM, as described above with respect to V.sub.REFL0, in step 1092, the state machine 1064 augments the second set of current control bits CCB by one and the process repeats at step 1086.
[0309] When the midpoint voltage is within one least significant bit of the reference voltage V.sub.REFM, as described above with respect to V.sub.REFL0, the second set of current control bits CCB have the proper setting and the process proceed to step 1094 to calibrate the third set of current control bits, CCC.
[0310] In step 1094, the initial conditions for calibrating the third set of current control bits CCC are set. The state machine 1064 outputs the select reference voltage signal (SelRef) which causes the multiplexor 1054 to output the reference voltage V.sub.REFL1 to the comparator 1054. A 11 symbol is supplied to output driver 1 1056 by outputting multi-PAM bit selection signals A1 with a value of one, and B1 and C1 with values of zero. A 10 symbol is supplied to output driver 2 1058 by outputting multi-PAM bit selection signals A2 and B2 with a value of one, and C2 with a value of zero. The state of the first and second sets of current control signals CC and CCB, respectively, remains unchanged. The initial state of the third sets of current control bits CCC is as follows:
CCC={1 0 0 . . . 0}.
[0311] In step 1096, the output drivers 1 1056 and 2 1058 output the voltages corresponding to the symbols 11 and 10, and the passgate pairs 1060, 1062 output the midpoint voltage V.sub.X. In step 1098, the comparator 1054 compares the midpoint voltage V.sub.X to the selected reference voltage V.sub.REFL1. When the midpoint voltage is not within one least significant bit of the reference voltage V.sub.REFL1, as described above with respect to V.sub.REFL0, in step 1100, the state machine 1064 augments the third set of current control bits CCC by one and the process repeats at step 1094.
[0312] In step 1098, when the midpoint voltage is within one least significant bit of the reference voltage V.sub.REFL1, the appropriate settings for the first, second and third sets of current control bits, CC, CCB and CCC, respectively, are determined and the calibration is complete.
Multi-Pam Receiver
[0313] In
[0314] In the MSB receiver 1112, the input voltage V.sub.IN is compared to the reference voltage V.sub.REFM to generate the MSB. In the LSB receiver 1114, the input voltage V.sub.IN is compared to the V.sub.REFL0 and V.sub.REFL1 reference voltages to generate the LSB.
[0315] In
[0316] The MSB integrators 1121 output two pairs of differential integration voltages on nodes A, B, C, and D. In one implementation, the MSB integrators 1121 use the integrator of
[0317] In the LSB receiver 1114A, the LSB preamplifier 1123 compares the input voltage V.sub.IN to the reference voltages V.sub.REFL0 and V.sub.REFL1 prior to integration. The LSB preamplifier 1123 receives the input voltage V.sub.IN and provides two pairs of differential output voltages V.sub.PDATA and V.sub.PDATAB, and V.sub.NDATA and V.sub.NDATAB, during each phase of the clock cycle for the even and odd LSB integrators 1124. The LSB integrators 1124 and LSB sense amplifiers 1125 are the same as the MSB integrators 1121 and MSB sense amplifiers 1122, respectively, described above.
[0318] In an alternate embodiment, the MSB and LSB integrators, 1121 and 1124, respectively, are not used, and the sense amplifier of
[0319] As shown in
[0320] Various embodiments of the LSB integrators 1127 will be discussed below. The LSB sense amplifiers 1129 are the same as the MSB sense amplifiers.
[0321] In
[0322] The output B from the MSB receiver 1112C represents the MSB. To decode the LSB, the signals from the comparator outputs B, A, and C are then passed through combinational logic 1138. The combinational logic 1138 decodes Gray coded signals as shown in Table 2 above. The 4-PAM input receiver incurs additional clock-to-output latency because of the combinational logic 1138.
[0323] The timing of the receive clock signal is such that the latching comparators 1132-1136 sample the input data between 4-PAM signal transitions. Because data is sent on both edges of the receive clock, two receiver circuits 1130 are usedone for odd data, and one for even data.
[0324] Conventional latching comparators are susceptible to high frequency noise spikes which cause errors during latching, especially in multi-PAM systems. Implementing the latching comparators as integrating receivers, described above, reduces the sensitivity of the output signal to noise because the output signal depends on the integration of the voltage of the input signal V.sub.IN over most or all of the bit cycle.
[0325] In CMOS, the integrator steers integration current according to the relative voltages on the inputs. The ideal saturating integrator does not integrate the difference between the input voltages, but integrates a predetermined amount of current for the time during which one input has a voltage exceeding the voltage on the other input. To improve the integration process, a pre-amplifier conditions the input signals V.sub.IN to provide a constant differential voltage with a polarity that depends on the relative polarity of the input signals. Therefore, the integrator integrates the integration current based on which of the two inputs has the higher voltage, not the actual voltage difference between the two inputs, e.g., integrating polarity over time, rather than amplitude over time.
[0326] A preamplifier can be implemented as a resistor-loaded differential pair which provides a differential voltage +/V equal to IR, at its outputs. The sense amplifier and latch, described above with respect to
[0327] In
[0328] To produce the LSB from the Gray-coded 4-PAM levels, when the input voltage V.sub.IN is between that of V.sub.REFL0 and V.sub.REFL1, the differential transistor pairs 1157-1 and 1157-2, provide an output voltage V.sub.LP equal to the supply voltage V.sub.DD. When the input voltage V.sub.IN is not between that of V.sub.REFL0 and V.sub.REFL1, the differential transistor pairs 1157-1 and 1157-2 provide an output voltage V.sub.LP equal to the supply voltage V.sub.DD minus the bias current i multiplied by the value of the pull-up resistor R. The output voltage V.sub.LP is supplied to a comparator circuit or an integrating receiver. In an alternate embodiment, the resistor R is replaced with an active load such as a grounded-gate PMOS transistor. In another alternate embodiment, the preamplifier circuit is flipped by substituting PMOS current sources and PMOS differential pairs for the NMOS current sources and NMOS differential pairs.
[0329] To provide a differential output V.sub.LP and V.sub.LP B, a matching PMOS current source 1156 is used. Table 3 below describes the output voltages as a function of the input voltage V.sub.IN.
TABLE-US-00003 TABLE 3 V.sub.IN V.sub.LP V.sub.LP.sub.
[0330] In
TABLE-US-00004 TABLE 4 NMOS Preamplifier (FIG. 45A) PMOS Preamplifier (FIG. 45B) V.sub.IN V.sub.NDATA V.sub.NDATA.sub.
[0331]
[0332] The transistors of the second differential pair 1176, 1178 differentially receive the input signal V.sub.IN and the reference voltage V.sub.REFL1 on their gates, respectively. The sources of the second differential pair 1176, 1178 connect to a current source transistor 1179 which supplies current i to the second differential pair in response to the bias voltage V.sub.BiasN on the gate of transistor 1192. Resistive loads 1180 and 1184 are connected between the supply voltage and the respective drains of the second differential transistor pair 1176, 1178. The drains of the second differential pair 1176, 1178 provide the differential outputs V.sub.NDATA, V.sub.NDATA.sub._.sub.B. When the difference between the differential input voltages (V.sub.INV.sub.REFL1) is negative, the differential output (V.sub.NDATAV.sub.NDATA.sub._.sub.B) is positive.
[0333] To balance the total current swing, another current source transistor 1194 provides additional current to V.sub.NDATA.sub._.sub.B via transistor 1196. Transistor 1196 is added to simply improve the current matching to transistors 1175 and 1179.
[0334] The circuit of
[0335] In
[0336] When the input signal V.sub.IN is less than V.sub.REFL0 and greater than V.sub.REFL1 (i.e., the input signal is in a range between the two reference voltages), the current flowing through resistors 1208 and 1210, Ia is equal to I and Ib is equal to 21, respectively, and the differential output voltage (V.sub.PDATAV.sub.PDATA.sub._.sub.B) is equal to the negative product of the current I and resistance R (IR). When the input signal V.sub.IN is outside of the range defined by the reference voltages V.sub.REFL0 and V.sub.REFL1, the current Ia flowing through resistor 1108 is equal to 21 and the current Ib flowing through resistor 1210 is equal to I. The differential output voltage (V.sub.PDATAV.sub.PDATA.sub._.sub.B) is equal to the product of the current I and resistance R (+IR). The preamplifier 1200 performs a comparator and amplifier function similar to preamplifier 1170 of
[0337] In
[0338] In a receiver, the preamplifier 1250 of
A Multi-PAM Integrator
[0339] In
[0340] To determine the MSB of the 4-PAM signal, the integrator of
[0341] The integrator 1330 receives a multi-level input signal V.sub.IN and compares that signal against two voltage reference levels V.sub.REFL0 and V.sub.REFL1 to implement a comparator function in combination with the integrator function. The circuit of
[0342]
[0343]
[0344] Referring back to
[0345] A third current-steering transistor pair 1352, 1354 provides a path for current i to flow from the capacitive element 436 at integration node C through the current source 1156 to ground. A fourth current-steering transistor pair 1358, 1360 provides a path for current i to flow from current source 1362 from the capacitive element 438 at integration node D. An additional current source 1364 sinks current from integration node C via transistor 1366 which is biased in the active state by reference voltage V.sub.REFL0. The precharge circuit 460 precharges integration nodes C and D to the supply voltage V.sub.DD. The current sources, 1336, 1342, 1344, 1356, 1362, 1364 source or sink the same amount of current i.
[0346] Referring also to
[0347] In an alternate embodiment, integration nodes A and C are connected to one end of the capacitive element 436, while the other end of the capacitive element 436 is connected to ground; and, integration nodes B and D are connected to one end of the capacitive element 438, while the other end of the capacitive element 438 is connected to ground.
[0348] In another embodiment, the integration nodes of the multi-PAM integrator 1330 are coupled to the equalization circuit 900 of
[0349] The multi-PAM receiver system works in accordance with the timing diagram of
[0350] In an alternate embodiment, the timing diagram of
A Multi-PAM Reference Voltage Generator
[0351] In
[0352] In one embodiment, the resistor values are selected such that resistors R2 and R3 have twice the resistance of resistor R1, and V.sub.REF, which is supplied externally, is equal to the desired V.sub.REFL1 voltage.
An Exemplary Multi-PAM Receiver Timing Circuit
[0353] In
[0354] Because the receiver delay generators provide a fixed or overhead delay in addition to the specified delay, delay element 1407 provides that same amount of delay to the true system clock signal to generate the sense signal to provide a desired phase relationship between the precharge and sense signals. To generate the sense signal, a delay element 1407 delays the true system signal for the same amount of time as the receiver delay generators 1404. In one implementation of delay element 1407, the true system clock is delayed by four inverters 1408, which provide the same delay as the fixed or inherent delay of delay generator blocks 1404. Two phase splitters 1410 generate the true and complementary sense signals for the even and odd data. In an ideal embodiment, the receiver delay generators 1404 do not provide the fixed amount of delay in addition to the specified delay, and the delay element 1407 is not used.
[0355] In
[0356] To increase the amount of delay, selectable delay elements 1422 are connected to the nodes 1423-1, 1423-2 between the inverters of the first set of inverters 1418. Window control 1 controls selectable delay elements 1422-1 and 1422-2. Window control 2 controls selectable delay elements 1422-3 and 1422-4. Pairs of selectable delay elements are binary weighted. Selectable delay elements 1422-3 and 1422-4 add twice as much delay as selectable delay elements 1422-1 and 1422-2. Each selectable delay element increases the amount of delay to the input signal. Since the selectable delay elements are the same, except for the binary weighting, the operation of selectable delay element 1422-1 will be described. When window control 1 is activated, passgate pair 1424 becomes active and couples a delay element 1426 to the first set of inverters 1418. In the delay element 1426, first and second delay blocks, 1428 and 1430, respectively, are connected in series between the supply voltage and ground. The first delay block 1428 includes a PMOS transistor 1432 with its source and drain connected together to the supply voltage. The second delay block 1430 includes an NMOS transistor 1438 with its source and drain connected together to ground.
[0357] By adding capacitive load to the input signal path, the input signal is delayed. The amount of delay is proportional to the capacitive load added to nodes 1423-1 and 1423-2.
An Exemplary Multi-PAM System
[0358] In
[0359] In the odd mode integrating receiver 1456, one series of components 1460 decodes the MSB from the control signal, and a second series of components 1462 decodes the LSB from the control signal. Each series of components includes a multi-PAM preamplifier 1464, a multi-PAM integrator 1466 and a latch 1468, which were discussed above. As discussed above, in the second series of components 1462 that determine the LSB, the preamplifier 1464-2 includes additional logic 1470. The decoded control signals are supplied to an I/O controller 1472.
[0360] In the data path 1455, a data signal is received on a data I/O pin 1474. As discussed above, even and odd data are received and decoded by an odd mode integrating receiver 1476 and an even mode integrating receiver 1478. The data path 1455 includes an odd mode output driver 1480 and an even mode output driver 1482 to output a multi-PAM signal onto the data bus 1474. Except for being active in different phases of the system clock, the odd and even mode output drivers, 1480 and 1482, respectively, are the same.
[0361] In the odd mode output driver 1480, a logic circuit 1484, discussed above, receive the odd LSB and MSB from another circuit, such as a memory 1486. The logic circuit 1484 generates the multi-PAM A, B, and C signals, discussed above, which are supplied to the multi-PAM decoder 1488. The multi-PAM decoder 1488 outputs three voltage levels V.sub.A, V.sub.B and V.sub.C which are supplied to an output driver 1490.
[0362] The I/O controller 1472 communicates with the memory 1486 to synchronize the timing of the control signals and data signals.
[0363] Referring back to
[0364]
Automatic Detection of a Multi-PAM Mode
[0365] In
A Multi-PAM Device and Bus
[0366] In
[0367]
[0368]
Controlling the Data Rate in a 2-PAM/4-PAM System
[0369] In
[0370] Additionally, the data may alternate between 2-PAM mode and 4-PAM mode. By setting the LSB to zero and using the MSB to transmit data, 4-PAM signaling is converted to 2-PAM signaling. 2-PAM signaling reduces the data rate by one-half, but increases the signal voltage margins.
[0371] To control the data rate, at the beginning of system operation, a pattern generator 1530 exchanges data with the memories 322, and determines the error rate. If the error rate is above a predetermined threshold, 2-PAM signaling is used. In one implementation, the pattern generator periodically determines the error rate, and determines whether to operate the system at 2-PAM or 4-PAM.
[0372] In
Error Correction
[0373] Transmission errors in a multi-PAM system can be corrected both by changing PAM modes and by changing the speed of the bus.
[0374] As shown in
[0375] In an alternate embodiment, when an error occurs, the bus speed is reduced by one-half and data is re-transmitted using 4-PAM. If the first re-transmission fails, the system changes to 2-PAM mode and remains at the reduced bus speed.
Bidirectional Simultaneous Transmission
[0376] In
[0377] To achieve the bi-directional bus, three voltage levels need to be present on the bus. However, this makes it difficult for any other device on the bus to discern a single one level. A device in the middle of the bus would be unable to determine which other component is transmitting the data. This problem is overcome by using a 4-PAM bus, and requiring that one device transmit a one to two-thirds of the full voltage swing, and the other device transmit a one to one-third of the full voltage swing. In this way, devices in the middle of the bus can determine, from the voltage levels, which other device is transmitting information.
[0378] In
[0379] The efficiency of a memory subsystem often depends on the ratio of read operations to write operations. In typical memory systems, a read operation can immediately follow a write operation without a delay; however, a write operation followed by a read operation must wait a predetermined amount of time before the read operation. At a minimum, the predetermined amount of time is one clock cycle. As the frequency of switching from write to read operations increases, the effective bus efficiency decreases. Using simultaneous bidirectional transmission, an application that operates the bus at a fifty percent data rate (in each direction) can allow the bus to be one hundred percent efficient. Thus, by switching from 4-PAM transmission to simultaneous bidirectional transmission, the efficiency can be improved.
[0380] In another embodiment, 4-PAM encoding represents two streams of binary data, such that two reads or two writes from two different memory locations are encoded on the bus during a single data cycle. Such a memory has two data ports. In one embodiment, the ports are for half of the memory such that each port retrieves data from only one-half of the memory. A bidirectional mode bit that is set by the system determines whether the system operates in the simultaneous bidirectional mode, or one of the PAM modes. The system chooses the mode that maximizes efficiency depending on the mix of read and write operations in the application. For an application with an equal percentage of reads and writes, simultaneous bidirectional transmission would be chosen. For an application with significantly more reads than writes, 4-PAM transmission would be chosen. An example of an application with equal percentages of reads and writes is a data buffer. An example of an application having significantly more reads than writes is a look-up table.
Multi-PAM Receiver Testing Method
[0381] Conventional digital testing involves the use of 2-PAM signals, so a means for evaluating Multi-PAM signals must be devised. A 2-PAM signal may be characterized by its eye diagram. The eye diagram represents the ranges of transmission voltages and signal transmission times for which data transmission is successful. The width of each eye represents the range of signal transition times, as compared to an ideal center time, which still results in successful data transmission. The height of each eye represents the amount of voltage error and noise that the device under test can tolerate. In general, the larger the eye, the better the device characteristics. A larger eye means larger timing and voltage margins and increased tolerance to noise and timing skew.
[0382] Testing determines the range of transmission voltages and signal transition times for which the device under test can successfully receive data and compares this region to some voltage and timing criteria appropriate for the system. Receiver testing may be done by repeatedly sending data to the device under test using different transmission voltages and signal transmission times and measuring the region for which transmission was successful. As shown in
[0383] Receiver testing may be done by individually measuring the six eyes and comparing each of them to timing and voltage criteria. As shown in
[0384] Although the present invention has been described in considerable detail with reference to certain preferred versions thereof, other versions are possible. Therefore, the spirit and scope of the appended claims should not be limited to the description of the preferred versions contained herein.