T3: Fundamentals of Data Converters: Yun Chiu University of Texas at Dallas Richardson, TX Feb 19, 2023
T3: Fundamentals of Data Converters: Yun Chiu University of Texas at Dallas Richardson, TX Feb 19, 2023
Video
Yun Chiu
([email protected])
University of Texas at Dallas
Richardson, TX
A/D
...
Digitizing
Analogizing
D/A
...
Analog World Digital World
Data converters bridge analog (physical) world and digital (virtual) world
Y. Chiu T3: Fundamentals of Data Converters 3 of 109
Anti-Aliasing
S/H Quantization
Filter
Reconstruction/
S/H D/A
Smoothing Filter
QUANTIZATION
bN-1 bN-1
A/D D/A
...
...
b0 b0
Analog input Digital output Digital input Analog output
Division Multiplication
VFS / 8 ( 2 Δ ) / 8
2
2 N 8 49.9
2N
SQNR = = = 1.5 × 2 10 62.0
σε 2 Δ2
12 12 74.0
14 86.0
SQNR = 6.02 × N +1.76 [dB] … …
SAMPLING
0 T 2T 3T 4T t =1
Sample rate: f fss=1/T
T T 0 1 2 3 4 n
1
X ( jω ) = X ( jΩ ) ⊗ ∑ δ ( Ω - kΩ s )
∞ ∞
x ( t ) ∫ x ( t ) e dt = X ( jΩ ) x ( n) ∑ x (n) z = X ( jω )
FT ZT
-jΩt
T
-n
k
-∞
n=-∞ z=e jω
impulse train
X ( jΩ ) X ( jΩ ) ⊗ ∑ δ ( Ω - kΩ s ) Ref. [2]
X ( jω )
k
-ΩN ΩN
Ω Ω fs =
ω
∑ δ (Ω - kΩ )
k
s =
Ω ω
-2Ωs -Ωs 0 Ωs 2Ωs -4π -2π 0 2π 4π
Ω
-2Ωs -Ωs 0 Ωs 2Ωs
No aliasing if fs,min ≥ 2fN Nyquist-rate sampling
Y. Chiu T3: Fundamentals of Data Converters 10 of 109
PERFORMANCE MEASUREMENT OF
DATA CONVERTERS
Y. Chiu T3: Fundamentals of Data Converters 14 of 109
VFS-Δ VFS-Δ
VFS VFS
2 2
1
VFS-Δ
LSB
0
Δi - Δ
INL DNLi = -1
VFS
Δ -2
0 200 400 600 800 1000
INL
2 DNL+1 i 2
INLi = ∑ DNL j 1
j=0
LSB
0
-1
Din -2
000 001 010 011 100 101 110 111 0 200 400 600 800 1000
Code
111 Δi - Δ 111
DNLi =
110 Δ 110
How to
101 101 measure this?
100 100
011 011
010 010
Can DNL < -1?
001 001
000 Vin 000 Vin
0 VFS/2 VFS 0 VFS/2 VFS
ADC static errors also include gain, offset, nonlinearity (DNL and INL), but
Watch out for missing code and nonmonotonicity!
Count
DNLi
Δi - Δ
=
n0 n1 n2 n3 n4 n5 n6 n7 Δ
ni - ni n3>Δ
Δ Δ Δ Δ Δ Δ Δ Δ ≈
ni
000 001 010 011 100 101 110 111 000 001 010 011 100 101 110 111
Vin Vin
0 VFS 0 VFS
Apply a linear ramp to ADC input and collect the output code histogram
Ball-casting problem: # of balls collected proportional to bin size (DNL)
Missing codes DNL = -1
Nonmonotonic codes all lumped together, very misleading!
Linear ramp is difficult to generate in practice use filtered sinewave instead
(but needs to correct the bowl-shaped density curve) Ref. [4]
Y. Chiu T3: Fundamentals of Data Converters 22 of 109
0 SQNR = 61.93 dB
N = 10 bits
ENOB = 9.995 bits fs = 8192, fin = 779
-20
8192 samples, only [0, fs/2] shown
-40 Normalized to the amplitude of Vin
Effective # of bits (sinusoidal):
dB
-60
-80
SQNR -1.76 dB
ENOB =
-100
6.02 dB
-120
0 500 1000 1500 2000 2500 3000 3500 4000
Frequency
0 fs = 8192 0
fs = 8192
fin = 256 fin = 2048
-20 -20
-40 -40
dB
dB
-60 -60
-80 -80
-100 -100
-120 -120
0 500 1000 1500 2000 2500 3000 3500 4000 0 500 1000 1500 2000 2500 3000 3500 4000
Frequency Frequency
0 fs = 8192 0
fs = 8192
fin = 779.3 fin = 779.3
-20 -20
dB
-60 -60
-80 -80
-100 -100
-120 -120
0 500 1000 1500 2000 2500 3000 3500 4000 0 500 1000 1500 2000 2500 3000 3500 4000
Frequency Frequency
-60
HD3 Effective # of bits (sinusoidal):
Noise -80 HD9
Floor SNDR - 1.76 dB
(NSD) -100 ENOB =
[V/√Hz] 6.02 dB
-120
0 500 1000 1500 2000 2500 3000 3500 4000
Frequency
A
t
SFDR Time domain Ф
Freq. domain
HD3
Error sequence
f t
0 fs/2
Encoder
5Δ Vj
Do ref. taps (Vj)
…
…
…
…
…
Throughput = fs
2Δ
1 Complexity ~2N
Δ V1 Rarely used for more
0
than 6-8 bits
Do 0
2N 2N-1
resistors comparators
Thermometer
0 1 code
111
1-of-n code
1 0
110
T2B encoder
…
…
…
…
1 1
010
1 1
001
…
0 boundary det.
Majority voting
1 0
100
Gray code
0 1
011
1 0
010
…
V
Do = in
735
÷ 125
= [
1,0,1]b
r 110
Vin LSB QN (Remainder)
∆ Do ( Quotient )
N=3
FS = 1000 1 0 1
Δ = FS/8 500 ) 735 250 ) 235 125 ) 235
= 125 500 0 125
Vin = 735 235 235 110
Bit cycles
Vi
b0 1 comparator
VDAC 1 DAC
DAC Do Some digital logic
...
...
bN-1
Sampling
Bit
VDAC 0
cycle
DAC Do
...
...
0.5V 1
MSB
bN-1
VX = Vi – 0.5V;
if VX > 0, MSB = 1, keep current VX VX;
otherwise, MSB = 0, restore VX VX + 0.5V;
Sampling
Bit
VDAC 0
cycle
DAC Do
...
...
0.5V+ 1 0
MSB MSB-1
0.25V bN-1
VX = VX – 0.25V;
if VX > 0, MSB-1 = 1, keep current VX VX;
otherwise, MSB-1 = 0, restore VX VX + 0.25V;
Sampling
Bit
VDAC 0
cycle
DAC Do ...
...
...
0.5V+ 1 0 1
MSB MSB-1 MSB-2
0.125V bN-1
VX = VX – 0.125V;
if VX > 0, MSB-2 = 1, keep current VX VX;
otherwise, MSB-2 = 0, restore VX VX + 0.125V;
V
Do = in
735
÷ 125
= [
1,0,1]b
r 440
/4
Vin LSB
∆ Do ( Quotient )
QN (Remainder)
N=3
FS = 1000
1 0 1
Δ = FS/8 500 ) 735 500 ) 470 500 ) 940
= 125 500 0 500
Vin = 735 235×2 470×2 440
Always use the same divisor but amplify the remainder / residue
1-b VFS/2
VFS/2 DAC 0 VFS/2 VFS VX
0
V
bj Vo = 2 ⋅ VX - b j ⋅ FS
2
Φ1
2N Cu N-1 V
VR = Vo ⋅ ∑ bi ⋅ 2i NR
N Cp + ( 2N+1 - 1) Cu i=0 2
2 Cu +
b3 b2 b1 b
A
0
BW DAC:
1 Vo
σ
Co σDNL ( max ) ≈ 2N R
R
0
Vo 2N σR
σINL ( max ) ≈
2 R
Φ
I-steering I-steering dj
Sj Sj
cell j-1 cell j
j = 1:2N-1
Φ
dj-1 dj-1 dj dj dj
Binary-to-Thermometer Decoder I
b1 ... bN High-speed
…
Vo
M M-bit UE
M leading
digital input buffer
input to termination
M resistor
2 0
0 Di 2N-1
UE BW
σINL σDNL
Architecture # of switching elements
[LSB] [LSB]
BW 0.32 0.64 12 (=N)
UE 0.32 0.01 4095 (≈2N)
SM 0.32 0.057 259 (≈2M+L)
DATA CONVERTER
CIRCUIT BUILDING BLOCKS
Y. Chiu T3: Fundamentals of Data Converters 48 of 109
Residue Amplifier (RA): closed-loop vs. open-loop, static vs. dynamic amplifiers
Reference and Biasing: BGR, current mirror, on-chip / off-chip bypass
Clocking Circuits: jitter critical for high-speed ADC and DAC (power consumption)
Digital Logics: combinatory, sequential, memory, I/O, etc.
Input and Reference Buffers: peripheral, critical, and power hungry (but often not
included in the converter core)
COMPARATOR
Vi Vm- Vo-
Vo+
Vo
Vo-
VSS
VSS
Preamp Latch
10mV 1V 4.6
gm CL Vo ( t ) 1mV 1V 6.9
Vo ( t ) = Vo ( t = 0 ) ⋅ exp t ⋅ or t = ⋅ ln
CL gm V
o ( t = 0 ) 100μV 1V 9.2
T/2 Do
δ δ
g ...
Φ
Vo ( t ) = APrA ⋅ Vi ( 0 ) ⋅ t ⋅ m Error Rate =
1 LSB
CL
δ
j
APrA=10× Curve Vi(t=0) t/(CL/gm)
1 2 3 4 Vos
δ
Vo + 10mV 2.3
Vo-
1mV 4.6 j-1
Vos
100μV 6.9 ... Vos 1 LSB
Vi
10μV 9.2 ... Vth,j-1 Vth,j Vth,j+1 ...
Comparator fails to produce valid logic output for tiny inputs metastability
No decision is often worse than a wrong decision! (conversion may halt!)
Y. Chiu T3: Fundamentals of Data Converters 54 of 109
Φ Φ
Φ Φ Φ Φ Φ Φ
Φ
Vo + Vo- Vo+ Vo- Vo + Vo -
Φ Φ Φ
Third, stack the two together for current reuse (to save power)
Then, replace the crowbar by conspicuous PMOS reset (high) switches
Lastly, completely reset ALL internal nodes to remove memory
Φ Φ Φ Φ
MOS SAMPLE-AND-HOLD
ΔQ 1 Qch
Vi C S Vo Charge Inj.: ΔV = ≈ Ф
CS 2 CS
1 μQ Zi
1 L 2
Tracking BW: TBW ≈ = 2 ch Cgs Cgd
Vout
R on = R onCS L CS
W
μCox ( VDD − Vth − Vi ) μQch Vin Qch CS
L
Performance TBW μQch C 2μ
Accuracy tacq ≈ 2 ⋅2 S =
metrics: ΔV L CS Qch L2 ΔQ ( Zi ,CS ,tr /f ...)
0.1% (10b) ≥ 7τ
0.01% (13b) ≥ 9τ
Ф
Vth(Vi) Фe Ф
0
Switch on Switch off
δt 80
SNR [dB]
Track Hold t 60
40
A 2ω 2σ t 2
δV ( t ) =
2
2 20 A2 A 2ω 2σ t 2 1
SNR = = 2 2
2 2 ωσ
t
Assuming sinewave 0
Cyclostationary error 10
6
10
7
10
8
10
9
Sampling
network: Vi C S Vo Vi 2
SNDR = 2 2
A ω 2
R = RS + R on VN2 + σ t + VDISTO 2
2
2
kT/C ∞ 1 kT
VN = ∫
2
noise: 4kTR ⋅ df = Noise Jitter Distortion
0 1+ j2π ⋅ f ⋅ RCS CS
large R
Noise CS 100pF 1pF 10fF
small R
PSD
kT
6.4μV 64μV 640μV
CS
0 f T = 300K
fs 2fs
Constant gate overdrive VGS = VDD Ron independent of Vin to the first order
(body effect, charge sharing) larger tracking BW, better linearity
Y. Chiu T3: Fundamentals of Data Converters 64 of 109
REDUNDANCY
(NO MULTI-STEP ADC WORKS WITHOUT IT!)
11 11
10 10
10 10 “02” is a
01 01 01 02
01 01 redundant code
00 Vi 00 Vi
0 VFS/2 VFS 0 VFS/2 VFS
Nearly Zero Tolerance (< 1 LSB) on comparator offset!!
Architectural Redundancy introduced by over-/under-range comparators
Y. Chiu T3: Fundamentals of Data Converters 66 of 109
Vi Vi Vi
Vi Vi Vi
-VR Φ2
0 Decoder -VR -VR/4 VR/4 VR
VR
C1 + C2 C
Vo
= ⋅ Vi + (1- b ) 2 ⋅ VR
C1 C1 Vo = 2 ⋅ Vi + (1- b ) ⋅ VR
6
VR -VR/2
6 CMP’s b Φ1 C4
A Vo -VR -5VR/8 -3VR/8 -VR/8 VR/8 3VR/8 5VR/8 VR
-VR Φ2
Φ1e
Φ2
0 Decoder
VR
Φ2 Vo = 4 ⋅ Vi + ( 3 - b ) ⋅ VR
overflow redundancy
VR/2 VR/2
-VR/2 -VR/2
underflow redundancy
Vi Vi
-VR VR1 VR2 VR3 VR4 VR5 VR6 VR -VR VR1 VR2 VR3 VR4 VR5 VR6 VR
T
b1=2 1 0
z-½
Φ1 Φ2 Φ1 Φ2
b2=0 0 0
z-1 z-½
-1
b3=1 0 1
sample i+1
z-1 z-1 z-½ b4=2 1 0
sample i b5=1 0 1
z-1 z-1 z-1
Do 1 0 1 0 0 1
MSB LSB
...
...
1011 1011
1/4 3/8 1010 1010
1001 1001
Vin
Vin
0 1000 bN-1 0 1000
0 0111
0 0111
0110 0110
0101 0101
4 bits 0100 w/o redundancy 5 bits 0100
resolved 0011
0010
resolved 0011
0010
0001 w/ redundancy 0001
-VFS 0000 -VFS 0000
MSB LSB MSB LSB
bit cycle bit cycle
Vin
Vin
0 1000 1000 1000
0 0 0
0111 1 0111 1 0111
0110 0110 0110
0101 0101 0101
0100 0100 0100
0011 0011 0011
0010 0010 0010
0001 0001 0001
-VFS 0000 -VFS 0000 -VFS 0000
MSB LSB MSB LSB MSB LSB
bit cycle bit cycle bit cycle
Vin
Vin
0 0 1000
0
1000
0 1
1000
0111 0111 0111
0110 0110 0110
0101 0101 0101
0100 0100 0100
0011 0011 0011
0010 0010 0010
0001 0001 0001
-VFS 0000 -VFS 0000 -VFS 0000
MSB LSB MSB LSB MSB LSB
bit cycle bit cycle bit cycle
Vin
Vin
1000 1000 1000
0111 0111 0111
0110 0110 0110
0101 0101 0101
0100 0100 0100
0011 0011 0011
0010 0010 0010
Ref. [8] 0001 Ref. [9] 0001 Ref. [10] 0001
-FS 0000 -FS 0000 -FS 0000
MSB LSB MSB LSB MSB LSB
bit cycle bit cycle bit cycle
C j+1
= radix < 2 SAR
Cj
logic
CN-1 C1 C0 C0
e.g., in a uniform radix SAR D = { bj }
Do
VR
… C0·radix2 C0·radix C0 Φ1 Φ1 Φ1 Φ1
C2 C1 C0 Vi
Cj
∑ w ⋅b
N-1
Do ≈∑ b0 Do = W=
Do
⋅ b j VDAC
j j
j=0 ∑ C j
j
DAC Do
...
...
N-1
e.g., uniform radix 1.8
= ∑ wj ⋅bj VDAC(final)≈Vi
j=0 bN-1 b4=1 1∙1.84
b3=0 0∙1.83
b2=1 1∙1.82
N-1 b2 = 1
∑Q DAC = VR ∑ C j ⋅ b j b1 = 1 b1=1 1∙1.81
j=0 b0 = 0 b0=0 0∙1.80
N-1
= Vi ∑ C j + Noise … C0·radix2 C0·radix C0 Do 15.5
j=0
C2 C1 C0
Digital
ADC
Post-Processing
Analog Input Digital Output Refs. [11-27]
Digital
DAC
Pre-Processing
Digital Output Analog Input
Many analog errors in data converters, e.g., offset, gain error, nonlinearity,
can be corrected digitally, which is widely termed Digital Calibration
Digital calibration (aka digital enhancement, digital assistance, self-healing) is
an opportunity and gift presented by the Moore’s law!
Y. Chiu T3: Fundamentals of Data Converters 81 of 109
nonmonotonic V1 V2
codes
Do(V3) = Do(V4)
Uncorrectable!
missing decision levels Do(V3) = Do(V4)
0 V3 V4
Vi
Decision Vector Do reveals more info about input than Scalar Decision Do
A.l.a Do is unique (even Do is not), a LUT can in theory be found to recover the
input faithfully (i.e., mapping from A D must be unique, thus, reversible)
Y. Chiu T3: Fundamentals of Data Converters 82 of 109
Vi Vi
0 0
-VR/2 -VR/2
0
-VR -VR/4 VR/4 VR -VR -VR/4 VR/4 VR -VR Vi VR
Vi Vi
0 0
-VR/2 -VR/2
0
-VR -VR/4 VR/4 VR -VR -VR/4 VR/4 VR -VR Vi VR
Static nonlinearities (e.g., INL and DNL), dynamic errors (e.g., RA settling
errors [25]), and even memory errors [26] can also be calibrated
typically, α indicates inter-stage residue gain error while β indicates DAC capacitor mismatch errors
… Cj+1 Cj … SAR
logic
= wj+1·∑C = wj·∑C CN-1 C1 C0 C0
D = { bj }
Do
Key cal. eqn.:
VR
Cj
N-1 N-1
Do ≈∑ ⋅ b j = ∑ w j ⋅ b j
Φ1 Φ1 Φ1 Φ1
j=0 ∑ C j
j=0
Vi Ref. [9]
α = 2n Injection zone
Backend VR/2
n n+k ideally T=+1
A/D D/A ADC
bits bits
b
residue V2
... 0 ...
T=-1
2-k
path -VR/
2 Injection zone
T α-1
-VR Ref. [18]
D1 2-k ˆ
D V1
2
Small dither added to the residue
∫ LMS
path, then subtracted out in the
Digital Processing
digital domain (after correction)
Converge@ 2 ⋅T = 0
D
In steady state, analog gain (α) and digital gain inverse (α-1) cancel exactly
2-k ≤ ¼ to avoid overflow, DAC adds 2 bits or more to accommodate dither
Y. Chiu T3: Fundamentals of Data Converters 89 of 109
In steady state, analog gain (α) and digital gain inverse (α-1) cancel exactly
Arbitrary dither amplitude a.l.a. no overflow occurs
Y. Chiu T3: Fundamentals of Data Converters 90 of 109
1
SAR T
Vin
2 ADC
LMS ∫
bj = 0
2 bj = 1
+VR
bj = 0 1
-VR
Digital
Vin Processing
redundancy
-VFS V2 V1 Vin Converge@ Do ⋅T = 0 Ref. [28]
bit cycle
Dither forces ADC traverse TWO redundant conversion paths randomly
In steady state, accurate {wj} is identified s.t. Do is indep. of T
Y. Chiu T3: Fundamentals of Data Converters 91 of 109
FIGURE-OF-MERIT (FOM)
WALDEN, SCHREIER AND ALPHA FOMS
···
Analog Input Digital Output
ERBW: effective resolution BW (ΔΣ ADC)
fs
P Joule BW
FoMW = FoMS SNDR + 10log10
= [dB]
fs ⋅ 2ENOB Conversion Step P
Ref. [29] Ref. [30]
Schreier FoM:
Implicitly assumes Noise- or Matching-limited ADC of Scenario A
The dimension of FoMS is dB Schreier FoM naturally measures SNDR, or
Performance, not just # of effective quantization steps
Walden FoM:
Implicitly assumes Nyquist-rate ADC of Scenario B
The dimension of FoMW is Joule/Conversion-Step Walden FoM naturally measures
Energy Efficiency
2.E+02
FOMS,hf [dB]
160
150
2.E+01
140
ISSCC 2022
VLSI 2022
2.E+00 ISSCC 1997-2021
130
VLSI 1997-2021
Envelope
ENOB missing!
ISSCC2023
120 ENOB missing!
2.E-01 1.E+02 1.E+04 1.E+06 1.E+08 1.E+10 1.E+12
1.E+04 1.E+05 1.E+06 1.E+07 1.E+08 1.E+09 1.E+10 1.E+11
fsnyq [Hz]
fsnyq [Hz]
Ref. [31]
A complete FoM vs. Performance rendering requires a 3D plot
Y. Chiu T3: Fundamentals of Data Converters 96 of 109
The common part between the two seemingly distinct FoMs is striking!
P
Efficiency × Performance = ENOB
× BW ⋅ αENOB
= Power
BW ⋅ α
Performance vs. Efficiency plot gives more info when comparing designs
Given Power, Performance and Efficiency trade hyperbolically - Alpha law
1E+14
[log scale]
1E+13
α= 2-4
Best efficiency
1E+12
1E+11
1E+10
1E+09
1E-18 1E-17 1E-16 [log1E-15
scale] 1E-14 1E-13 1E-12
1.E+12
100W
1.E+11
10W
1.E+10 α=3
1W
1.E+09
100mW
1.E+08
10mW
1.E+07
1μW 10μW 100μW 1mW
1.E+06
1.E-18 1.E-17 1.E-16 1.E-15 1.E-14 1.E-13 1.E-12 1.E-11 1.E-10 1.E-09
Efficiency [J/Precision]
1.E+16
α=2 1.E+16
α=3 1.E+16
α= 4
1.E+15
Walden 1.E+15 1.E+15
Schreier
1.E+14 1.E+14 1.E+14
Performance [Hz∙Precision]
Performance [Hz∙Precision]
Performance [Hz∙Precision]
1.E+13 1.E+13 1.E+13
1.E+12
100W
1.E+11
10W
1.E+10 α=3
1W
1.E+09
100mW
1.E+08
10mW
1.E+07
1μW 10μW 100μW 1mW
1.E+06
1.E-18 1.E-17 1.E-16 1.E-15 1.E-14 1.E-13 1.E-12 1.E-11 1.E-10 1.E-09
Efficiency [J/Precision]
1.E+12
100W
1.E+11
10W
1.E+10 α=3
1W
1.E+09
100mW
1.E+08
10mW
1.E+07
1μW 10μW 100μW 1mW
1.E+06
1.E-18 1.E-17 1.E-16 1.E-15 1.E-14 1.E-13 1.E-12 1.E-11 1.E-10 1.E-09
Efficiency [J/Precision]
1.E+12
100W
1.E+11
10W
1.E+10 α=3
1W
1.E+09
100mW
1.E+08
10mW
1.E+07
1μW 10μW 100μW 1mW
1.E+06
1.E-18 1.E-17 1.E-16 1.E-15 1.E-14 1.E-13 1.E-12 1.E-11 1.E-10 1.E-09
Efficiency [J/Precision]
1.E+12
100W
1.E+11
10W
1.E+10 α=3
1W
1.E+09
100mW
1.E+08
10mW
1.E+07
1μW 10μW 100μW 1mW
1.E+06
1.E-18 1.E-17 1.E-16 1.E-15 1.E-14 1.E-13 1.E-12 1.E-11 1.E-10 1.E-09
Efficiency [J/Precision]