CIRCUITS AND METHODS FOR PHASE INTERPOLATORS AND GENERATING QUADRATURE CLOCK SIGNALS
20230246649 · 2023-08-03
Inventors
Cpc classification
H03L7/0816
ELECTRICITY
H03L7/0818
ELECTRICITY
International classification
Abstract
Phase interpolators are provided, the phase interpolators including: a first phase interpolator having a first output that outputs a first interpolated clock signal based on quadrature clock signals and a first phase interpolator control signal; a second phase interpolator having a second output that outputs a second interpolated clock signal based on the quadrature clock signals and a second phase interpolator control signal that is shifted from the first phase interpolator control signal by half of an integral nonlinearity (INL) period of the first phase interpolator; and a phase combiner that outputs a third interpolated clock signal based on the first interpolated clock signal and the second interpolated clock signal. In some of these embodiments, the phase interpolators further comprise a first amplitude limiter that receives the first interpolated clock signal and outputs a first amplitude-limited interpolated clock signal that is provided to the phase combiner.
Claims
1. A phase interpolator, comprising: a first phase interpolator having a first output that outputs a first interpolated clock signal based on quadrature clock signals and a first phase interpolator control signal; a second phase interpolator having a second output that outputs a second interpolated clock signal based on the quadrature clock signals and a second phase interpolator control signal that is shifted from the first phase interpolator control signal by half of an integral nonlinearity (INL) period of the first phase interpolator; and a phase combiner that outputs a third interpolated clock signal based on the first interpolated clock signal and the second interpolated clock signal.
2. The phase interpolator of claim 1, further comprising a first amplitude limiter that receives the first interpolated clock signal and outputs a first amplitude-limited interpolated clock signal that is provided to the phase combiner.
3. The phase interpolator of claim 1, further comprising a second amplitude limiter that receives the second interpolated clock signal and outputs a second amplitude-limited interpolated clock signal that is provided to the phase combiner.
4. The phase interpolator of claim 1, further comprising a programmable buffer that receives clock signals and provides to the first phase interpolator one of the quadrature clock signals.
5. The phase interpolator of claim 1, further comprising a multiplexer that receives a pair of input clock signals and outputs a pair of multiplexed clock signals having opposite phases from the pair of input clock signals.
6. The phase interpolator of claim 1, wherein the first phase interpolator comprises a first differential pair having inputs coupled to one of the quadrature clock signals and outputs coupled to the first output.
7. The phase interpolator of claim 6, wherein the first phase interpolator further comprises a second differential pair having inputs coupled to another of the quadrature clock signals and outputs coupled to the first output.
8. The phase interpolator of claim 1, wherein the first phase interpolator comprises a plurality of slices each comprising a first differential pair having inputs coupled to one of the quadrature clock signals and outputs coupled to the first output, and wherein the plurality of slices contribute to the first output based on first phase interpolator control signal.
9. The phase interpolator of claim 8, wherein the first phase interpolator further comprises a multiplexer.
10. A delay locked loop, comprising: a first passive mixer that mixes a pair of differential quadrature clock signals to produce a first output clock signal; a second passive mixer that mixes the pair of differential quadrature clock signals to produce a second output clock signal; and an operational transconductance amplifier that receives the first output clock signal and the second output clock signal and the produces a feedback signal that controls the one of the pair of differential clock signals.
11. The delay locked loop of claim 10, further comprising a delay cell that receives the feedback signal and controls the one of the pair of differential clock signals based on the feedback signal.
12. The delay locked loop of claim 11, wherein the delay cell comprises: a differential inverter that outputs the one of the pair of differential clock signals at outputs of the differential inverter; and a differential varactor coupled to the output of the differential inverter and coupled to the feedback signal.
13. The delay locked loop of claim 10, further comprising a delay cell that comprises: a differential inverter; and a switched load capacitor array connected to the output of the differential inverter, wherein an output of the delay cell produces a delayed clock signal upon which one of the differential quadrature clock signals is based.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0008]
[0009]
[0010]
[0011]
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
DETAILED DESCRIPTION
[0020] In accordance with some embodiments, circuits and methods for phase interpolators (PIs) with nonlinearity cancellation and generating quadrature clock signals are provided. In some embodiments, PIs described herein generate clocks by summing up reference clocks weighted with different weights ω.sub.I and ω.sub.Q. For example, as shown in
[0021] These weights ω.sub.I and ω.sub.Q can be any suitable values between a negative maximum weight value -ω.sub.max and a positive maximum weight value ω.sub.max, in some embodiments. Any suitable ω.sub.max can be used in some embodiments. For example, if ω.sub.max is equal to 1, then weights ω.sub.I and ω.sub.Q can have values between -1 and +1. As another example, as shown in
[0022] In some embodiments, if the resultant clock only needs to be in the quadrant between the reference clocks (e.g., Quadrant 1 of
[0023] In some embodiments, for an N-bit PI, weights ω.sub.I[n] and coq[n] can vary sinusoidally with respect to a control code n from 0 to 2.sup.N-1 (i.e., 127 for N=7 bits). Such weights ω.sub.I[n] and coq[n] can be represented by the following equations:
Using weights ω.sub.I[n] and coq[n] that vary sinusoidally will result in a round-shape phasor constellation 110 for a 4-phase PI as shown in
[0024] Alternatively, in some embodiments, 4-phase linear weights can be used as represented by the following equations, in which
2.sup.n/ 4 :
An illustration of such linear weights is shown in
[0025] As yet another alternative, in some embodiments, 4-phase weights for an octagonal constellation can be used as represented by the following equations:
Using weights ω.sub.I[n] and coq[n] that vary based on these equations can result in an octagonal phasor constellation 114 for a 4-phase PI as shown in
[0026] Any other suitable number (e.g., three or more) of phase linear weights can be used in some embodiments.
[0027] Turning to
[0028] Programmable buffers 302, 304, 306, and 308 can be used to ensure that the clocks input to sub-PIs 310 and 312 stay within a desired amplitude (e.g., around 350-mVpp single-ended) over different operating frequencies (e.g., 3.5 GHz to 11 GHz) by providing higher current as needed. The programmable buffers can be controlled by any suitable controller (not shown), in some embodiments. Any suitable programmable buffers can be used for programmable buffers 302, 304, 306, and 308 in some embodiments. For example, the programmable buffers illustrated in
[0029] Sub-PIs 310 and 312 can receive the clock signals output by programmable buffers 302, 304, 306, and 308 and phase interpolate those signals based on PI codes input to each sub-PI. The PI code used for sub-PI 310 can be received from PI code 324. The PI code used for sub-PI 312 can be PI code 324 offset by half of the integral nonlinearity (INL) period of the sub-PI, so that the INL errors of sub-PIs 310 and 312 have opposite signs. More particularly, the PI code used for sub-PI 312 can be PI code 324 offset by half a quadrant, e.g., 2.sup.N-2/2 (i.e., 45 degrees) when used with a 4-phase PI code 324.
[0030] Any suitable PIs can be used as sub-PIs 310 and 312 in some embodiments. For example, in some embodiments, the PIs illustrated below in connection with
[0031] Amplitude limiters 314 and 316 can be used to equalize the sub-PIs′ output amplitudes in some embodiments. Any suitable circuits can be used as amplitude limiters 314 and 316 in some embodiments. For example, in some embodiments, amplitude limiters 314 and 316 can be implemented using CML-to-CMOS converters and CMOS-to-CML converters as shown. More particularly, for example, in some embodiments, each of amplitude limiters 14 and 316 can be implemented as shown in
[0032] Phase combiner 318 can be used to sum the outputs of amplitude limiters 314 and 316, in some embodiments. Summing the outputs from the two sub-PIs after limiting their outputs to the same amplitude can be used to cancel the major part of the INL errors, in some embodiments. Any suitable phase combiner can be used as phase combiner 318, in some embodiments. For example, in some embodiments, the phase combiner shown in
[0033] Finally, the CML-to-CMOS converter 320 converts the current-mode logic signals output by phase combiner 318 to CMOS PI clock signals 326 and amplifies the PI’s output to a rail-to-rail clock. Any suitable CML-to-CMOS converter can be used CML-to-CMOS converter 320 in some embodiments. For example, in some embodiments the CML-to-CMOS converter shown in
[0034] As mentioned above, multiplexers 330, 332, 334, and 336 can be used to switch the clocks being provided to buffers 302, 304, 306, and 308, respectively, in order to change the quadrant in which non-negative weights operating on CLK_I and CLK_Q can produce a resultant clock. Any suitable multiplexers can be used in some embodiments. For example, in some embodiments, transmission gates and suitable logic (for converting control signals to the multiplexers into suitable controls for the transmission gates) can be used to implement multiplexers 330, 332, 334, and 336.
[0035] Turning to
[0036] Multiplexers 402 and 404 can be used to switch the clocks being provided to slices 410 in order to change the quadrant in which non-negative weights operating on clocks input to the slices can produce a resultant clock. As shown in
[0037] Any suitable multiplexers can be used in some embodiments. For example, in some embodiments, transmission gates and suitable logic (for converting control signals to the multiplexers into suitable controls for the transmission gates) can be used to implement multiplexers 402 and 404.
[0038] Capacitors 406 can be used to AC couple the clocks input to sub-PI 400 to slices 410. Any suitable capacitors can be used as capacitors 406 in some embodiments.
[0039] Resistors 408 can be used to DC bias inputs V.sub.in,I and V.sub.in,Q to slices 410. Any suitable resistors can be used as resistors 408 in some embodiments.
[0040] Slices 410 can be used to apply weights to the clocks input to slices 410 at inputs V.sub.in,I and V.sub.in,Q. More particularly, the number of current sources (described below) connected to the I branch (V.sub.out,.sub.I) or the Q branch (V.sub.out,Q) controls the effective transconductance g.sub.m,.sub.I and g.sub.m,.sub.Q for clock weights ω.sub.I and ω.sub.Q.
[0041] Inputs V.sub.in,I and V.sub.in,Q for slices 410 are connected in parallel and outputs V.sub.out,I and V.sub.out,.sub.Q for slices 410 are connected in parallel. Any suitable number of slices can be provided in some embodiments. For example, in some embodiments, 2.sup.N-X slices can be provided, where N is the number of bits of sub-PI 400 and X is the number of bits used to control the multiplexers (where 2.sup.Xis the number of phases under multiplexing). As a more particular example, if the number of bits of sub-PI 400 is 7 and 2 bits are used to control multiplexers, 32 slices 410 can be provided and the 5 LSBs of the PI code corresponding to each sub-PI can be input to thermometer encoder 416 and each of its 32 outputs provided to a corresponding slice of the 32 slices 410.
[0042] Each slice 410 can include switches 422 and 424, a current source 426, differential pairs 428 and 430, and an inverter 432.
[0043] Switches 422 and 424 can be implemented in any suitable manner, such as using NMOS FETs. The switches can be controlled based upon the output of thermometer encoder 416 and inverter 432. As shown in
[0044] Current source 426 can be any suitable current source in some embodiments.
[0045] Differential pairs 428 and 430 can be implemented using any suitable components, such as NMOS FETs, in some embodiments.
[0046] Load resistor 412 can be any suitable resistor in some embodiments.
[0047] Capacitors 414 can be any suitable capacitor in some embodiments.
[0048] Thermometer encoder 416 can be any suitable thermometer encoder in some embodiments.
[0049] Turning to
[0050] Capacitors 506 can be used to AC couple the clocks input to sub-PI 500 to slices 510. Any suitable capacitors can be used as capacitors 506 in some embodiments.
[0051] Resistors 508 can be used to DC bias inputs V.sub.I and V.sub.Q to slices 510. Any suitable resistors can be used as resistors 508 in some embodiments.
[0052] Each of banks 509 and 511 can include slices 510. The inputs to slices 510 of bank 509 can be connected in parallel to V.sub.I via the corresponding capacitors 506. Likewise, the inputs to slices 510 of bank 511 can be connected in parallel to V.sub.Q via the corresponding capacitors 506. The outputs for slices 510 of banks 509 and 511 can be connected in parallel as shown in
[0053] Slices 510 can be used to apply weights to the clocks input to slices 510.
[0054] Any suitable number of slices can be provided in some embodiments. For example, in some embodiments, 2.sup.N-2 slices can be provided, where N is the number of bits of sub-PI 500. As a more particular example, if the number of bits of sub-PI 500 is 7, 32 slices 510 can be provided, the PI code corresponding to each sub-PI can be input to decoder 516, a pair of signals SW.sub.I,L<n> and SW.sub.I,R<n> can be provided to each slice n 510 in bank 509, and a pair of signals SW.sub.Q,L<n> and SW.sub.Q,R<n> can be provided to each slice n 510 in bank 511, where n=0...31.
[0055] Each slice 510 can include switches 522 and 524, a current source 526, and differential pairs 528 and 530.
[0056] Switches 522 and 524 can be implemented in any suitable manner, such as using NMOS FETs.
[0057] Current source 526 can be any suitable current source in some embodiments.
[0058] Differential pairs 528 and 530 can be implemented using any suitable components, such as NMOS FETs, in some embodiments.
[0059] Load resistor 512 can be any suitable resistor in some embodiments.
[0060] Capacitors 514 can be any suitable capacitor in some embodiments.
[0061] Decoder 516 can be any suitable decoder in some embodiments. For example, decoder 516 can be implemented to provide thermometer-encoded outputs for SW.sub.I,L<n>, SW.sub.I,R<n>, SW.sub.Q,L<n>, and SW.sub.Q,R<n> as shown in the following table. As illustrated, based on the input bits to the decoder, outputs for SW.sub.I,L<n>, SW.sub.I,R<n>, SW.sub.Q,L<n>, and SW.sub.Q,R<n> are provided and a quadrant selected.
TABLE-US-00001 Input bits SW.sub.I,L<31:0> SW.sub.I,R<31:0> SW.sub.Q,L<31:0> SW.sub.Q,R<31:0> Quadrant 1 7′b0000000 32′hFFFFFFFF 32′h00000000 32′h00000000 32′h00000000 7′b0000001 32′hFFFFFFFE 32′h00000000 32′h00000001 32′h00000000 7′b0000010 32′hFFFFFFFC 32′h00000000 32′h00000003 32′h00000000 7′b0000011 32′hFFFFFFF8 32′h00000000 32′h00000007 32′h00000000 7′b0000100 32′hFFFFFFF0 32′h00000000 32′h0000000F 32′h00000000 7′b0000101 32′hFFFFFFE0 32′h00000000 32′h0000001F 32′h00000000 7′b0000110 32′hFFFFFFC0 32′h00000000 32′h0000003F 32′h00000000 7′b0000111 32′hFFFFFF80 32′h00000000 32′h0000007F 32′h00000000 ... ... ... ... ... Quadrant 2 7′b0100000 32′h00000000 32′h00000000 32′hFFFFFFFF 32′h00000000 7′b0100001 32′h00000000 32′h00000001 32′hFFFFFFFE 32′h00000000 7′b0100010 32′h00000000 32′h00000003 32′hFFFFFFFC 32′h00000000 7′b0100011 32′h00000000 32′h00000007 32′hFFFFFFF8 32′h00000000 7′b0100100 32′h00000000 32′h0000000F 32′hFFFFFFF0 32′h00000000 7′b0100101 32′h00000000 32′h0000001F 32′hFFFFFFE0 32′h00000000 7′b0100110 32′h00000000 32′h0000003F 32′hFFFFFFC0 32′h00000000 7′b0100111 32′h00000000 32′h0000007F 32′hFFFFFF80 32′h00000000 ... ... ... ... ... Quadrant 3 7′b1000000 32′h00000000 32′hFFFFFFFF 32′h00000000 32′h00000000 7′b1000001 32′h00000000 32′hFFFFFFFE 32′h00000000 32′h00000001 7′b1000010 32′h00000000 32′hFFFFFFFC 32′h00000000 32′h00000003 7′b1000011 32′h00000000 32′hFFFFFFF8 32′h00000000 32′h00000007 7′b1000100 32′h00000000 32′hFFFFFFF0 32′h00000000 32′h0000000F
TABLE-US-00002 Input bits SW.sub.I,L<31:0> SW.sub.I,R<31:0> SW.sub.Q,L<31:0> SW.sub.Q,R<31:0> 7′b1000101 32′h00000000 32′hFFFFFFE0 32′h00000000 32′h0000001F 7′b1000110 32′h00000000 32′hFFFFFFC0 32′h00000000 32′h0000003F 7′b1000111 32′h00000000 32′hFFFFFF80 32′h00000000 32′h0000007F ... ... ... ... ... Quadrant 4 7′b1100000 32′h00000000 32′h00000000 32′h00000000 32′hFFFFFFFF 7′b1100001 32′h00000001 32′h00000000 32′h00000000 32′hFFFFFFFE 7′b1100010 32′h00000003 32′h00000000 32′h00000000 32′hFFFFFFFC 7′b1100011 32′h00000007 32′h00000000 32′h00000000 32′hFFFFFFF8 7′b1100100 32′h0000000F 32′h00000000 32′h00000000 32′hFFFFFFF0 7′b1100101 32′h0000001F 32′h00000000 32′h00000000 32′hFFFFFFE0 7′b1100110 32′h0000003F 32′h00000000 32′h00000000 32′hFFFFFFC0 7′b1100111 32′h0000007F 32′h00000000 32′h00000000 32′hFFFFFF80 ... ... ... ... ...
[0062] Turning to
[0063] Delta QDLL 900 can generate quadrature clocks from the delay difference of two parallel delay paths (an I path and a Q path, shown as separated by the dashed line in
[0064] As shown, delta QDLL 900 includes differential inverters 902, 904, 906, 908, 910, and 912, switched load capacitor arrays 914, 916, 918, and 920, differential varactors 922 and 924, buffers 926 and 928, passive mixers 930, and an operational transconductance amplifier 932.
[0065] Coarse-delay tuning cells 934, 936, 938, and 940 are provided in both paths for band selection in some embodiments. Although two coarse-delay tuning cells are shown in each path, any suitable number of cells, including none, can be provided on one or more of the paths in accordance with some embodiments.
[0066] As shown: cell 934 includes differential inverter 902 and switched load capacitor array 914; cell 936 includes differential inverter 904 and switched load capacitor array 916; cell 938 includes differential inverter 906 and switched load capacitor array 918; and cell 940 includes differential inverter 908 and switched load capacitor array 920.
[0067] Differential inverters 902, 904, 906, and 908 can be any suitable differential inverters in some embodiments.
[0068] Switched load capacitor arrays 914, 916, 918, and 920 can be formed from any suitable switched capacitors in some embodiments. For example, in some embodiments, the switches can be implemented using NMOS FETs that are controlled by any suitable controller (not shown). Any suitable number of slices, such as three, can be provided in switched load capacitor arrays 914, 916, 918, and 920, in some embodiments.
[0069] Varactor-based delay cells 942 and 944 are provided in the Q branch for fine delay-difference tuning in some embodiments.
[0070] Differential inverters 910 and 912 can be any suitable differential inverters in some embodiments.
[0071] Differential varactors 922 and 924 can be any suitable varactors in some embodiments.
[0072] Buffers 926 and 928 can be provided to drive the mixers and subsequent load like PI 400 in some embodiments.
[0073] An analog quadrature tuning loop extracts the delay difference error with passive mixers and minimizes it thanks to its negative feedback configuration and its loop gain. As shown, this loop includes a passive mixer 930, an operational transconductance amplifier 932, and varactor-based delay cells 942 and 944.
[0074] Passive mixers 930 can be any suitable differential passive mixers in some embodiments. For example, in some embodiments, passive mixers can be implemented using the passive mixers of
[0075] Operational transconductance amplifier 932 can be any suitable operational transconductance amplifier in some embodiments. For example, in some embodiments, operational transconductance amplifier 932 can be implemented using the operational transconductance amplifier of
[0076] As noted above, in some embodiments, delta QDLL 900 can be used to generate 4-phase clocks to be provided to PI 100. An illustration of this is shown in
[0077] Although the invention has been described and illustrated in the foregoing illustrative embodiments, it is understood that the present disclosure has been made only by way of example, and that numerous changes in the details of implementation of the invention can be made without departing from the spirit and scope of the invention, which is limited only by the claims that follow. Features of the disclosed embodiments can be combined and rearranged in various ways.