Latched Comparator - EECS Instructional Support …ee247/fa05/lectures/L21_f05.pdfComparator Example...
Transcript of Latched Comparator - EECS Instructional Support …ee247/fa05/lectures/L21_f05.pdfComparator Example...
EECS 247 Lecture 21: Data Converters © 2005 H.K. Page 1
EE247Lecture 21
ADC Converters (continued)– Comparator architecture examples– Flash ADC sources of error
• Sparkle code• Meta-stability
– Techniques to reduce flash ADC complexity• Interpolating• Folding
– Pipelined ADCs
EECS 247 Lecture 21: Data Converters © 2005 H.K. Page 2
Latched Comparator
• Clock rate fs• Resolution• Overload recovery• Input capacitance (and linearity!)• Power dissipation• Common-mode rejection• Kickback noise• …
Av LatchVi+
Vi-
Do+
Do-
fs
Preamp
EECS 247 Lecture 21: Data Converters © 2005 H.K. Page 3
Comparators Overdrive Recovery
U amplification after time ta
During reset amplifier settles exponentially to its zero input condition with τ0=RC
Assume Vm maximum input normalized to 1/2lsb (=1)
Linear model for a single-pole amplifier:
Example: Worst case input/output waveforms
Limit output voltage swing by1. Passive clamp2. Active restore3. Low gain/stage
EECS 247 Lecture 21: Data Converters © 2005 H.K. Page 4
Comparators Overdrive RecoveryLimiting Output
ClampAdds parasitic capacitance
Active RestoreAfter outputs are latched Activate φR &
equalize output nodes
EECS 247 Lecture 21: Data Converters © 2005 H.K. Page 5
CMOS Comparator Example
Ref: A. Yukawa, “A CMOS 8-Bit High-Speed A/D Converter IC,” JSSC June 1985, pp. 775-9
•Flash ADC: 8bits, +-1/2LSB INL @ fs=15MHz (Vref=3.8V, LSB~15mV)•No offset cancellation
EECS 247 Lecture 21: Data Converters © 2005 H.K. Page 6
Flash ADCComparator with Auto-Zero
Ref: I. Mehr and D. Dalton, “A 500-Msample/s, 6-Bit Nyquist-Rate ADC for Disk-Drive Read-Channel Applications,” JSSC July 1999, pp. 912-20.
EECS 247 Lecture 21: Data Converters © 2005 H.K. Page 7
Ref: I. Mehr and D. Dalton, “A 500-Msample/s, 6-Bit Nyquist-Rate ADC for Disk-Drive Read-Channel Applications,” JSSC July 1999, pp. 912-20.
Voffset
( )C C
Re f Re f Offset
V VV V V
+ −
+ −
− =− −
Flash ADCComparator with Auto-Zero
EECS 247 Lecture 21: Data Converters © 2005 H.K. Page 8
Ref: I. Mehr and D. Dalton, “A 500-Msample/s, 6-Bit Nyquist-Rate ADC for Disk-Drive Read-Channel Applications,” JSSC July 1999, pp. 912-20.
Voffset
Vo
( ) ( )[ ]( )
( ) ( )
Offseto P1 P2 In In C C
C C
Re f Re fo P1 P2 In In
VV A A V V V V
Substi tut ing for from prev ious cyc le:V V
V VV A A V V
Note: Offse t is cancelled & dif ference be tweeninput & re ference established
+ − + −
+ −
+ −+ −
− −−= ∗ − −
−
−= ∗ −⎡ − ⎤⎣ ⎦
Flash ADCComparator with Auto-Zero
EECS 247 Lecture 21: Data Converters © 2005 H.K. Page 9
Auto-Zero Implementation
Ref:I. Mehr and L. Singer, “A 55-mW, 10-bit, 40-Msample/s Nyquist-Rate CMOS ADC,” JSSC March 2000, pp. 318-25
EECS 247 Lecture 21: Data Converters © 2005 H.K. Page 10
Comparator Example• Used in a pipelined ADC with digital correction
no offset cancellation required
• Note: Differential reference
• M7, M8 operate in triode region
• Preamp gain ~10
•Input buffers suppress kick-back
• φ1 high Cs charged to VR & φ2B is also high current diverted to latch
• φ2 high Cs connected to S/Hout & comparator input (VR-S/Hout), current sent to preamp comparator operates
Ref: S. Lewis, et al., “A Pipelined 5-Msample/s 9-bit Analog-to-Digital Converter” IEEE JSSC ,NO. 6, Dec. 1987
EECS 247 Lecture 21: Data Converters © 2005 H.K. Page 11
Comparator Example
Ref: T. B. Cho and P. R. Gray, "A 10 b, 20 Msample/s, 35 mW pipeline A/D converter," IEEE Journal of Solid-State Circuits, vol. 30, pp. 166 - 172, March 1995
• Application: Pipelined ADC with low resolution/stage
• Variation on Yukawa latch used without preamp
• Good for low resolution & low accuracy ADCs
• During reset φ is low• φ high Comparison ….
Vo1
EECS 247 Lecture 21: Data Converters © 2005 H.K. Page 12
Comparator Example (continued)
Ref: T. B. Cho and P. R. Gray, "A 10 b, 20 Msample/s, 35 mW pipeline A/D converter," IEEE Journal of Solid-State Circuits, vol. 30, pp. 166 - 172, March 1995
Vo1
G1 G2
( ) ( )
( ) ( )
( ) ( )
Cox V V V VG W WI1 th R th1 1 11L
Cox V V V VG W WI2 th R th2 1 11L
Cox V V V VG W WI1 I2 R R1 11L
μ
μ
μ
− −= × −⎡ ⎤−⎣ ⎦
− −= × −⎡ ⎤+⎣ ⎦
− −→Δ = × −⎡ ⎤− +⎣ ⎦
Vo1 Vo2
• M1, M2, M11, M12 operate in triode mode
• M11 & M12 added to control comparator threshold
• To 1st order, for W1= W2 & W11=W12Vth
latch = W11/W1 x VR
where VR = VR+ - VR-Eliminates need for resistive divider
EECS 247 Lecture 21: Data Converters © 2005 H.K. Page 13
Bipolar Comparator Example
•Used in 8bit 400Ms/s & 6bit 2Gb/s flash ADC
•Signal amplification during φ1 high, latch operates when φ1 low
•Input buffers suppress kick-back & input current
•Separate ground and supply buses for front-end preamp kick-back noise reduction
Ref: Y. Akazawa, et al., "A 400MSPS 8b flash AD conversion LSI," IEEE International Solid-State Circuits Conference, vol. XXX, pp. 98 - 99, February 1987
Ref: T. Wakimoto, et al, "Si bipolar 2GS/s 6b flash A/D conversion LSI," IEEE International Solid-State Circuits Conference, vol. XXXI, pp. 232 - 233, February 1988
Preamp Latched Comparator
EECS 247 Lecture 21: Data Converters © 2005 H.K. Page 14
Flash Converter Sources of Error
• Comparator input:– Offset– Nonlinear input capacitance– Kickback noise (disturbs
reference)– Signal dependent sampling
time
• Comparator output:– Sparkle codes (… 111101000
…)– Metastability
R/2
R
R
R
R/2
R
Enc
oder Digital
Output
VINVREF fs
.....
EECS 247 Lecture 21: Data Converters © 2005 H.K. Page 15
Typical Flash Output Encoder
0
0
1
1
1
0
1
0
0
Binary Output (negative)
Thermometer to Binary encoder ROM
VDD
• Thermometer code 1-of-n decoding
• Final encoding NOR ROM
b3b2b1b0
b3 b2 b1 b0Output 0 1 1 1
EECS 247 Lecture 21: Data Converters © 2005 H.K. Page 16
Sparkle Codes
Correct Output:1000
Erroneous Output:0000
0
1
0
1
1
1
0
1
0
Erroneous 0 (comparator offset?)
VDD
b3b2b1b0
EECS 247 Lecture 21: Data Converters © 2005 H.K. Page 17
Sparkle Tolerant Encoder
Protects against a single sparkle.
Ref: C. Mangelsdorf et al, “A 400-MHz Flash Converter with Error Correction,” JSSC February 1990, pp. 997-1002
0
0
1
0
1
0
1
0
0
0
EECS 247 Lecture 21: Data Converters © 2005 H.K. Page 18
Meta-StabilityDifferent gates interpret metastable output X differently
Correct output: 1000
Erroneous output: 0000
Solutions:–Latches (high power)–Gray encoding
Ref: C. Portmann and T. Meng, “Power-Efficient Metastability Error Reduction in CMOS Flash A/D Converters,” JSSC August 1996, pp. 1132-40
0
0
X
1
1
0
1
1
0
EECS 247 Lecture 21: Data Converters © 2005 H.K. Page 19
Gray Encoding
• Each Ti affects only one GiAvoids disagreement of interpretation by multiple gates
• Protects also against sparkles• Follow Gray encoder by (latch and) binary encoder
BinaryGrayThermometer Code
1110011111111
0111010111111
1011110011111
0010110001111
1100100000111
0101100000011
1001000000001
0000000000000
B1B2B3G1G2G3T7T6T5T4T3T2T1
43
622
75311
TGTTG
TTTTG
==
+=
EECS 247 Lecture 21: Data Converters © 2005 H.K. Page 20
Reducing Flash ADC Complexity
E.g. 10-bit “straight” flash– Input range: 0 … 1V– LSB = Δ: ~ 1mV – Comparators: 1023 with offset << LSB– Input capacitance: 1023 * 100fF = 102pF– Power: 1023 * 3mW = 3W
Techniques to reduce complexity & power dissipation :– Interpolation– Folding– Folding & Interpolation– Two-step, pipelining
EECS 247 Lecture 21: Data Converters © 2005 H.K. Page 21
Interpolation
• Idea– Interpolation between preamp outputs
• Reduces number of preamps– Reduced input capacitance– Reduced area, power dissipation
• Same number of latches• Important “side-benefit”
– Decreased sensitivity to preamp offsetimproved DNL
EECS 247 Lecture 21: Data Converters © 2005 H.K. Page 22
Preamp Output
Zero crossings (to be detected by latches) at Vin =
Vref1 = 1 ΔVref2 = 2 Δ
0 0.5 1 1.5 2 2.5 3
-0.5-0.4-0.3-0.2-0.1
00.10.20.30.40.5
Vin / Δ
Pre
amp
Out
put
A1A2
VinA1
A2
EECS 247 Lecture 21: Data Converters © 2005 H.K. Page 23
Simulink Model
2Y
1Vin
2*DeltaVref2
1*DeltaVref1
Vi
Preamp2
Preamp1
Vin
A2
A1
EECS 247 Lecture 21: Data Converters © 2005 H.K. Page 24
Differential Preamp Output
Zero crossings at Vin =
Vref1 = 1 ΔVref12 = 0.5*(1+2) ΔVref2 = 2 Δ
0 0.5 1 1.5 2 2.5 3
-0.4-0.2
00.20.40.6
Pre
amp
Out
put
0 0.5 1 1.5 2 2.5 3
-0.4-0.2
00.20.40.6
A 1+A
2
A1-A1A2-A2
A1+A2
Vin / Δ
EECS 247 Lecture 21: Data Converters © 2005 H.K. Page 25
Interpolation in Flash ADC
Half as many reference voltages and preamps Interpolation factor:x2
Possible to accomplish higher interpolation factor
Resistive interpolation
Vin
A1
A2
EECS 247 Lecture 21: Data Converters © 2005 H.K. Page 26
Resistive Interpolation
Ref: H. Kimura et al, “A 10-b 300-MHz Interpolated-Parallel A/D Converter,” JSSC April 1993, pp. 438-446
• Resistors produce additional levels
• With 4 resistors, the “interpolation factor” M=8(ratio of latches/preamps)
EECS 247 Lecture 21: Data Converters © 2005 H.K. Page 27
DNL Improvement• Preamp offset distributed over
M resistively interpolated voltages:
impact on DNL divided by M
• Latch offset divided by gain of preamp
use “large” preamp gain …
Ref: H. Kimura et al, “A 10-b 300-MHz Interpolated-Parallel A/D Converter,” JSSC April 1993, pp. 438-446
EECS 247 Lecture 21: Data Converters © 2005 H.K. Page 28
Preamp Input Range
Linear preamp input ranges must overlapi.e. range > Δ
Sets upper bound on preamp gain << VDD / Δ
0 0.5 1 1.5 2 2.5 3
-0.4-0.2
00.20.40.6
A1-A1A2-A2
0 0.5 1 1.5 2 2.5 3
-0.4-0.2
00.20.40.6
A1+A2
Pre
amp
Out
put
A 1+A
2
Vin / Δ
EECS 247 Lecture 21: Data Converters © 2005 H.K. Page 29
Interpolated-Parallel ADC
Ref: H. Kimura et al, “A 10-b 300-MHz Interpolated-Parallel A/D Converter,” JSSC April 1993, pp. 438-446
10-bit overall resolution:7-bit flash (127
comparators and 128 resistors) & x8 interpolation
EECS 247 Lecture 21: Data Converters © 2005 H.K. Page 30
Measured Performance
Ref: H. Kimura et al, “A 10-b 300-MHz Interpolated-Parallel A/D Converter,” JSSC April 1993, pp. 438-446
(7+3)
Low inputcapacitance
EECS 247 Lecture 21: Data Converters © 2005 H.K. Page 31
Folding Converter
• Significantly fewer comparators than flash ~2B/2+1
• Fast• Nonidealities in folder limit resolution to ~10Bits
LSBADC
MSBADC
Folding Circuit
VIN
DigitalOutput
EECS 247 Lecture 21: Data Converters © 2005 H.K. Page 32
Folding• Folder maps input to
smaller range
• MSB ADC determines which fold input is in
• LSB ADC determines position within fold
• Logic circuit combines LSB and MSB results
MSB ADC
LSBADC
Analog Input
0 0.5 1 1.5 2 2.5 3 3.5 4
0
0.4
0.8
1.2
Fold
er O
utpu
t
Normalized Input
EECS 247 Lecture 21: Data Converters © 2005 H.K. Page 33
Generating Folds
-0.5
0
0.5
A1
-0.5
0
0.5
A2
0 0.5 1 1.5 2 2.5 3 3.5 40
0.5
1
A1-
A2
0
0.5
1
A1-
A2
-0.5
0
0.5
A3
0 0.5 1 1.5 2 2.5 3 3.5 4-0.5
0
0.5
A1-
A2+
A3
Vin /ΔVin /Δ
EECS 247 Lecture 21: Data Converters © 2005 H.K. Page 34
Folding Circuit
M1 M2
I1
Vref1M3 M4
I2
Vref2 M5 M6
I3
Vref3M7 M8
I4
Vref4
R1 R2
VDD
-Vo+
Vin
EECS 247 Lecture 21: Data Converters © 2005 H.K. Page 35
CMOS Folder Output
Accurate only at zero-crossings
LowdownIn fact, most folding ADCs do not use the folds, but only the zero-crossings!
0 0.5 1 1.5 2 2.5 3 3.5 4-0.5
0
0.5Fo
lder
Out
put
0 0.5 1 1.5 2 2.5 3 3.5 4-0.1
-0.05
0
0.05
0.1
Erro
r
Vin /Δ
Ideal Folder
CMOS Folder
EECS 247 Lecture 21: Data Converters © 2005 H.K. Page 36
Parallel Folders
Vref + 3/4 * Δ
Fine FlashADC 4
Folder 3 Fine FlashADC 3
Folder 2 Fine FlashADC 2
Folder 1 Fine FlashADC 1
Folder 4
LogicVref + 2/4 * Δ
Vref + 1/4 * Δ
Vref + 0/4 * Δ
EECS 247 Lecture 21: Data Converters © 2005 H.K. Page 37
Parallel Folder Outputs
0 1 2 3 4 5-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
Vin / Δ
Fold
er O
utpu
t
F1F2F3F4 • 4 Folders with 4 folds
each• 16 Zero crossings• only 4 LSB bits
• Better resolution• More folders
Large complexity• Interpolation
EECS 247 Lecture 21: Data Converters © 2005 H.K. Page 38
Folding & Interpolation
FineFlashADC
ENCODER
Vref + 3/4 * Δ
Folder 3
Folder 2
Folder 1
Folder 4
Vref + 2/4 * Δ
Vref + 1/4 * Δ
Vref + 0/4 * Δ
EECS 247 Lecture 21: Data Converters © 2005 H.K. Page 39
Folder / Interpolator Output
0 1 2 3 5-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
Vin / Δ
Fold
er /
Inte
rpol
ator
Out
put F1
F2I1I2I3
1.5 1.6 1.7 1.8
-0.02
0
0.02
0.04
4
EECS 247 Lecture 21: Data Converters © 2005 H.K. Page 40
Folder / Interpolator Output
Interpolate only between closely spaced folds to avoid nonlinear distortion
1.5 1.6 1.7 1.8 1.9 2 2.1-0.06
-0.04
-0.02
0
0.02
0.04
0.06
0 1 2 3 4 5-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
Fold
er /
Inte
rpol
ator
Out
put F1
F2I1I2I3
Vin / Δ
EECS 247 Lecture 21: Data Converters © 2005 H.K. Page 41
A 70-MS/s 110-mW 8-b CMOS Folding and Interpolating A/D Converter
Ref: B. Nauta and G. Venes, JSSC Dec 1985, pp. 1302-8
EECS 247 Lecture 21: Data Converters © 2005 H.K. Page 42
A 70-MS/s 110-mW 8-b CMOS Folding and Interpolating A/D Converter
EECS 247 Lecture 21: Data Converters © 2005 H.K. Page 43
A 70-MS/s 110-mW 8-b CMOS Folding and Interpolating A/D Converter
EECS 247 Lecture 21: Data Converters © 2005 H.K. Page 44
Pipelined ADCs
EECS 247 Lecture 21: Data Converters © 2005 H.K. Page 45
Pipelined A/D Converters
• Ideal operation• Errors and correction
– Redundancy– Digital calibration
• Implementation – Practical circuits– Stage scaling
EECS 247 Lecture 21: Data Converters © 2005 H.K. Page 46
Block Diagram
• Idea: Cascade several low resolution stages to obtain high overall resolution
• Each stage performs coarse A/D conversion and computes its quantization error, or "residue"
Align and Combine Data
Stage 1B1 Bits
Stage 2B2 Bits
Digital output(B1 + B2 + ... + Bk) Bits
Vin
MSB... ...LSB
Stage k Bk Bits
Vres1 Vres2
EECS 247 Lecture 21: Data Converters © 2005 H.K. Page 47
Characteristics
• Number of components (stages) grows linearly with resolution
• Pipelining– Trading latency for conversion speed– Latency may be an issue in e.g. control systems– Throughput limited by speed of one stage → Fast
• Versatile: 8...16bits, 1...200MS/s• Many analog circuit non-idealities can
be corrected digitally
EECS 247 Lecture 21: Data Converters © 2005 H.K. Page 48
Concurrent Stage Operation
• Stages operate on the input signal like a shift register• New output data every clock cycle, but each stage
introduces at least ½ clock cycle latency
Align and Combine Data
Stage 1B1 Bits
Stage 2B2 Bits
Digital output(B1 + B2 + ... + Bk) Bits
VinStage kBk Bits
φ1φ2
acquireconvert
convertacquire
...
...
CLKφ1φ2
EECS 247 Lecture 21: Data Converters © 2005 H.K. Page 49
Data Alignment
• Digital shift register aligns sub-conversion results in time
Stage 2B2 Bits
VinStage kBk Bits
φ1φ2
acquireconvert
convertacquire
...
...
+ +Dout
CLK CLK CLK
Stage 1B1 Bits
CLKφ1φ2
EECS 247 Lecture 21: Data Converters © 2005 H.K. Page 50
Latency
[Analog Devices, AD 9226 Data Sheet]
EECS 247 Lecture 21: Data Converters © 2005 H.K. Page 51
Pipelined ADC Analysis
• Ignore timing and use simple static model
• Let's first look at "two-stage pipeline"– E.g.: Two cascaded 2-bit ADCs to get 4 bits of
total resolution
Stage 2B2 Bits
Vin Stage k Bk Bits
+Dout
Stage 1B1 Bits
+
Vres1 Vres2
EECS 247 Lecture 21: Data Converters © 2005 H.K. Page 52
Two Stage Example
• Using only one ADC: output contains large quantization error• "Missing voltage" or "residue" (-εq1)• Idea: Use second ADC to quantize and add -εq1
0 1 2 300
01
10
11
0 1 2 3-1
-0.5
0
0.5
1
[LS
B]
ADC Input Voltage [LSB]
Vin
+Dout = Vin + εq1
2-bit ADC 2-bit ADC
???
ε q1
D out
Vin
EECS 247 Lecture 21: Data Converters © 2005 H.K. Page 53
Two Stage Example
• Use DAC to compute missing voltage• Add quantized representation of missing voltage• Why does this help? How about εq2 ?
Vin “Coarse“
+
Dout= Vin + εq1
2-bit ADC 2-bit ADC
“Fine“+-
2-bit DAC-εq1
-εq1+εq2
-εq1+εq2
EECS 247 Lecture 21: Data Converters © 2005 H.K. Page 54
Two Stage Example
• Fine ADC is re-used 22 times• Fine ADC's full scale range needs to span only 1 LSB of coarse
quantizer
221
22
2 222 ⋅== refref
q
VVε
00 01 10 11
Vref1/22
−εq1
00
01
10
11
First ADC“Coarse“
Second ADC“Fine“VinVref1
Vref2