Integrated circuits frequently incorporate a bus or interface with a bus for communicating data, address, or control signals. Sharp transitions or changes in signals tend to generate undesirable high frequency components. The rise time or slew rate of a signal transmitted on the bus can be controlled in order to reduce signal ringing and interference.
Although the integrated circuit can be fabricated to provide a particular slew rate under certain operating conditions, these conditions are generally susceptible to changes in process, voltage, and temperature. In addition, although the integrated circuit may be designed to interface with an external bus having a nominal impedance, the actual impedance can vary significantly such that the integrated circuit does not provide the expected slew rate.
In view of limitations of known systems and methods, various methods and apparatus for controlling slew are described.
A method of controlling slew includes providing an output driver having a plurality of selectable variable impedances. Each selectable variable impedance is successively coupled to a pad of the output driver in response to initiation of a first signal transition to monotonically vary a driver source impedance throughout the signal transition.
A method of controlling slew includes providing a first signal to at least one delay line having a plurality of delay line taps, wherein each delay line tap provides a distinctly delayed version of the first signal. An impedance value for each of a plurality of selectable variable impedances is determined in accordance with a second signal. Each selectable variable impedance is associated with one of the delayed versions of the first signal. Each selectable variable impedance is selectively coupled to a common output pad in accordance with its associated delayed version of the first signal.
An output driver apparatus at least one delay line providing a plurality of delay line taps. Each tap provides a delayed version of any first signal received by the delay line. The output driver includes a pull-up portion comprising a first plurality of selectable variable impedances. Each selectable variable impedance of the first plurality is selectively coupled to a common output pad in accordance with an associated one of the delayed versions.
Referring to
Alternatively, the source impedance of the driver may be selected to avoid ringing at the cost of a longer transition time ΔT2 (216) as illustrated by overdamped waveform 2(b). Longer ringing times, however, also decrease the bus signaling bandwidth.
Although a driver may be designed to provide a fixed source impedance, such a design is optimal only for a pre-determined operating environment. Some prior art drivers provide for selecting an output impedance from at least two output impedances. This approach enables extending the operational range of the driver. However, such an approach does not account for process/voltage/temperature (PVT) variations.
The nominal slew rate is typically calculated as the difference between the first and second states (e.g., voltage difference) divided by the transition time. Instead of a fixed slew rate, however, the slew of a signal driven onto an output pad of an integrated circuit is controlled.
Integrated circuit impedances are typically realized using transistors. For metal oxide semiconductor field effect transistors (MOSFETs), resistance is proportional to length and inversely proportional to the width of the source-drain channel. The transistors may be coupled in series or parallel to achieve a greater effective channel length or width to alter the effective impedance.
In the illustrated embodiment, the effective channel width monotonically increases from a pre-determined initial width throughout the state transition to a pre-determined final width in steps ΔW1, ΔW2, ΔW3 . . . ΔWm, In an alternative embodiment, the effective channel width monotonically decreases throughout the state transition. Although the source impedance changes inversely to changes in channel width, the final effective width is selected to ensure that the resulting impedance substantially matches that of the bus being driven by the output driver.
In one embodiment, the change in channel width, ΔW, between steps is substantially the same such that ΔW1≈ΔW2, ΔW3 . . . ΔWn. In the illustrated embodiment, although a plurality of the channel width steps are the same, at least one step is not the same as the others (e.g., ΔW4≠ΔW1, ΔW2, ΔW3). In one embodiment, the time intervals of the discrete steps are substantially the same such that ΔT1, ΔT2, ΔT3, . . . ΔTn.
Each of the pull-up and pull-down portions includes an impedance network having a plurality of selectable variable impedances. The variable impedance of each group is set by a process/voltage/temperature (PVT) compensation signal. In particular, a PVT_UP 684 signal determines the value of variable impedances 620-630. A PVT_DN 686 signal determines the value of variable impedances 640-650.
Variable impedances 620-630, 640-650 may be selectively coupled to the output pad 690. In one embodiment, coupling of the variable impedances 620-630 to the output pad is controlled by a tapped delay line providing a plurality of delayed versions of the data signal 682. The pull-up delay line includes delay buffers 612, 614, 616, and 618. Similarly, the pull-down delay line includes delay buffers 672, 674, 676,678. In one embodiment, the amount of delay contributed by the pull-up and pull-down delay buffers is controlled by the same delay signal 680.
Each delay buffer contributes a delay to its received signal such that the individual delays are cumulative. Thus the delay lines provide a plurality of time shifted versions of the data signal. Delay line taps 622-632 and 642-652 enable routing the time-shifted versions to the selectable variable impedances 620-630 and 640-650.
In the illustrated embodiment, separate delay lines are provided for controlling the selection of the pull-up and the pull-down impedances. The buffers within each delay line are matched to ensure that the delay associated with each of delay taps 622-632 is the same as that of corresponding delay taps 642-652. In an alternative embodiment, the pull-up and pull-down portions share a common delay line and delay line taps.
Each variable impedance 620-630 within the pull-up portion is selectively coupled to the pad in accordance with its associated delay line tap 622-632. Similarly, each variable impedance 640-650 within the pull-down portion is selectively coupled to the pad in accordance with its associated delay line tap 642-652. Each pull-up variable impedance 620-630 has a corresponding pull-down variable impedance 640-650.
Combinatorial logic 611 and 681 are provided to permit operating the output driver in a “tri-state” mode. The tri-state signals TRI 687 and TRI_L are complementary signals. When in a tri-state mode, all of the pull-up and pull-down selectable impedances are de-coupled from the output pad.
The output driver may transition between the tri-state mode and either a first or a second logical state (e.g., “hi” or “low”). Alternatively, the output driver may transition between the first and second logical states.
When switching between the first state and the second state (neither state is the tri-state high impedance state) a pull-up variable impedance 620 is coupled to the pad when the corresponding pull-down variable impedance 640 is de-coupled from the pad. Similarly, when a pull-up variable impedance 620 is de-coupled from the pad, its corresponding pull-down variable impedance 640 is coupled to the pad.
When switching from the high impedance tri-state mode to either the first or second logical states, only either the pull-up or pull-down selectable variable impedances will be successively coupled to the output pad.
Coupling a pull-up variable impedance to the output pad tends to drive the pad towards the pull-up voltage 698. Similarly, coupling a pull-down variable impedance to the output pad tends to drive the pad towards the pull-down voltage 699. The bus 692 is thus driven towards one of two voltages in accordance with the signal being driven. These voltages or rails may be substantially the same levels powering the integrated circuit (e.g., typical integrated circuit VDD, VSS, where VSS is signal ground). Alternatively, the rails may be associated with other supply levels.
From a small signal analysis, the output driver source impedance is substantially constant when switching between the first and second logical states. The coupling and de-coupling of the pull-up and pull-down impedances results in monotonically varying the large signal (i.e., DC) source impedance, but the small signal (i.e., AC) component is substantially the same because selectable variable impedances tied to one DC reference voltage are being “swapped” with a counterpart selectable variable impedance tied to ground. When switching between the tri-state mode and either of the first and second logical states, both the DC and AC source impedances vary monotonically as a result of the successive coupling of selectable variable impedances from only one of the pull-up or pull-down portions to the output pad.
In the illustrated embodiment, the pull-up variable impedances are selectively coupled in parallel to the output pad. Similarly, the pull-down variable impedances are selectively coupled in parallel to the output pad. Thus even if the amount of impedance for each variable impedance is substantially the same, the change in impedance contributed by the pull-up (or pull-down) variable impedance as the variable impedances are coupled/de-coupled is not a linear function. Thus the variable impedances may be selectively coupled to the output pad such that the resulting output pad impedance is a value other than the sum of the coupled impedances.
For example, assuming a nominal Z0 for each selected variable impedance (m), the pull-up contribution to the output pad impedance varies inversely
with the number of selected variable impedances such that the m pull-up impedances contribute
to the output impedance.
Data 782 may correspond directly to data 682 of
Delay control 780 is provided to the delay buffers within each delay line to control the amount of delay contributed by each delay buffer. The value of the variable portion of each selectable variable impedance is determined by PVT compensation signal PVT_UP 784.
Data 788 may correspond directly to data 682 of
Delay control 780 is provided to the delay buffers within each delay line to control the amount of delay contributed by each delay buffer. The value of the variable portion of each selectable variable impedance is determined by PVT compensation signal PVT_DN 786.
In one embodiment, the delay lines 772, 776 of the pull-down portion 704 are substantially the same as corresponding delay lines 712, 716 of the pull-up portion 702. Accordingly delay line taps 722A, 722B, 722C, and 722D are corresponding delayed versions of the data signal 782 with the same delay. Alternatively, if data 782 of
In one embodiment, delay line taps 822 and 842 represent the same delay line tap rather than delay line taps from distinct delay lines. In an alternative embodiment, delay line taps 822 and 842 are associated with delay line taps from distinct delay lines.
The variable portion 830 of pull-up selectable variable impedance 810 comprises a plurality (k) of series-coupled transistor pairs (e.g., 832, 836). Transistors 834-836 are selected in accordance with PVT compensation signal, PVT_UP[X1:Xk] 884. Transistors 836-838 are selected in accordance with delay line tap 822. Given that all of the transistors 836-838 are selected whenever the fixed portion 820 is selected, the impedance contributed by the variable portion 830 is determined by PVT_UP[X1:Xk]. In particular, whenever delay line tap 822 is asserted for the selection of selectable variable impedance 810, the number of series-coupled transistors that are selected is determined by PVT_UP[X1:Xk].
When selected, each series-coupled transistor pair contributes impedance coupled in parallel with that contributed by the fixed impedance portion 820 and any other selected series-coupled transistor pairs. In one embodiment the impedance of any one of the series-coupled transistor pairs (e.g., 832, 836) is significantly greater than that of the fixed impedance 820.
The variable portion 870 of pull-down selectable variable impedance 850 comprises a plurality (k) of series-coupled transistor pairs (e.g., 872, 876). Transistors 872-874 are selected in accordance with PVT compensation signal, PVT_DN[Y1:Yk] 886. Transistors 876-878 are selected in accordance with delay line tap 842. Given that all of the transistors 876-878 are selected whenever the fixed portion 860 is selected, the impedance contributed by the variable portion 870 is determined by PVT_DN[Y1:Yk]. In particular, whenever delay line tap 842 is asserted for the selection of selectable variable impedance 870, the number of series-coupled transistors that are selected is determined by PVT_DN[Y1:Yk].
When selected, each series-coupled transistor pair contributes impedance coupled in parallel with that contributed by the fixed impedance portion 860 and any other selected series-coupled transistor pairs. In one embodiment the impedance of any one of the series-coupled transistor pairs (e.g., 872, 876) is significantly greater than that of the fixed impedance 860.
In the illustrated embodiment, the pull-up selectable variable impedance transistors are p-type transistors. The pull-down selectable variable impedance transistors are n-type transistors. In one embodiment, the selectable impedance transistors are MOSFETs.
In one embodiment, delay line taps 922A, 922B are coupled to the same delay line tap rather than corresponding delay line taps from distinct delay lines. In an alternative embodiment, delay line taps 922A and 922B are associated with delay line taps from distinct delay lines. Similarly, delay line taps 922C, 922D are coupled to the same delay line tap rather than corresponding delay line taps from distinct delay lines. Alternatively, delay line taps 922C and 922D are associated with delay line taps from distinct delay lines. In one embodiment, delay line taps 922A, 922B, 922C, 922D are corresponding delayed versions of the same data signal, wherein the corresponding delay line taps have substantially the same delay.
In one embodiment, the pull-up PVT compensation signal is a j-bit thermometer coded signal comprising bits b1, b2, . . . bj. Assume the lowest order bit has the value D. A thermometer coded signal has the property that if there is a bm such that bm≠D when proceeding from the lowest order bit b1 to the highest order bit bj′ then b1 . . . bm-1=D, bm . . . bj={overscore (D)}. In one embodiment PVT_UP[X1:Xj] and PVT_DN[Y1:Yj] are complements of each other (e.g., PVT[Y1]={overscore (PVT[X1])}) due to the complementary requirements for selecting n-channel and p-channel transistors.
The thermometer coded PVT compensation signal (pull-up or pull-down) is used to alter the output impedance of the output driver from a nominal amount to a PVT compensated amount. In one embodiment, the thermometer coded PVT signal is mapped to the variable impedance portions of the selectable impedance groups so that changes in the PVT compensation signal and therefore changes in the variable impedances are distributed substantially equally across the selectable variable impedances. Thus, for example, given n=4 and a state change in three adjacent bits of the thermometer code, only one selectable transistor in three of the four selectable variable impedances will change state (i.e., selected/de-selected) in contrast to changing the state of three transistors of a single selectable variable impedance. The PVT compensation signal is mapped to the selectable variable impedances to distribute adjacent bits of the thermometer code across multiple selectable variable impedances such that no adjacent thermometer code bits are mapped to the same selectable variable impedance.
With n selectable variable impedances each having k individually selectable impedances in the variable impedance portion, a PVT_UP thermometer coded signal of at least n×k bits is required, (i.e., PVT_UP[B1:Bm], where m≧n×k). The mapping from PVT_UP[B1:Bm] to PVT_UP[Xi1:Xik] for each selectable transistor j of the variable impedance portion of selectable impedance group i is as follows: Xij=Bi+n(j−1) where iε{1 . . . n}, jε{1 . . . k}. The equation is based on a one-based rubric for the PVT_UP signal, the selectable impedance groups, and the variable impedances within each group. In one embodiment, PVT_UP and PVT_DN signals are complements such that PVT_DN[Bl:Bm]={overscore (PVT_UP[B1:Bm])}.
Values for a plurality of variable impedances are selected in accordance with a second signal in step 1020. Each variable impedance is associated with one of the delay line taps. In step 1030, each variable impedance is coupled to a common pad in accordance with its delayed version of the first signal.
In step 1120, values for a plurality of variable impedances are selected in accordance with a second signal. Each variable impedance is associated with one of the delay line taps A subset of the variable impedances are pull-up variable impedances and a distinct second subset of the variable impedances are pull-down variable impedances, wherein each pull-up variable impedance has a counterpart pull-down variable impedance.
In step 1130, each variable impedance is coupled to a common output pad in accordance with its associated delayed version of the first signal. When a selected pull-up variable impedance is coupled to the output pad, the counterpart pull-down variable impedance is de-coupled from the output pad. When a selected pull-up variable impedance is de-coupled from the output pad, the counterpart pull-down variable impedance is coupled from the output pad.
In one embodiment, the effective impedance of all selectable variable impedances coupled to the output pad is substantially the same as a bus impedance of any bus (e.g., 692) connected to the pad. Typically, such a bus impedance is in a range of 40Ω-50Ω with a nominal impedance of 45Ω.
Various modifications and changes may be made thereto without departing from the broader spirit and scope of the invention as set forth in the claims. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.