Ee315b Reader 2013 Stanford Dataconverters
Ee315b Reader 2013 Stanford Dataconverters
Ee315b Reader 2013 Stanford Dataconverters
Table of Contents
Chapter 1
Chapter 2
Chapter 3
Chapter 4
Chapter 5
Chapter 6
Chapter 7
Chapter 8
Chapter 9
Chapter 10
Chapter 11
Chapter 12
Introduction
Sampling, Reconstruction, Quantization
Spectral Performance Metrics
Nyquist Rate DACs
Sampling Circuits
Voltage Comparators
Flash ADCs
SAR ADCs
Pipeline ADCs
Time Interleaving
Oversampling ADCs and DACs
Energy Limits in A/D Converters
Introduction
Boris Murmann
Stanford University
murmann@stanford.edu
Copyright 2013 by Boris Murmann
B. Murmann
EE315B - Chapter 1
Motivation (1)
This course
Analog
Media and
Transducers
Signal
Conditioning
A/D
Digital
Processing
Signal
Conditioning
D/A
Sensors, Actuators,
Antennas, Storage Media, ...
B. Murmann
EE315B - Chapter 1
Motivation (2)
Issues
Data converters are difficult to design
Especially due to ever-increasing performance requirements
B. Murmann
EE315B - Chapter 1
http://www.analog.com/library/analogDialogue/archives/39-06/data_conversion_handbook.html
B. Murmann
EE315B - Chapter 1
Consumer electronics
Audio, TV, Video
Digital Cameras
Automotive control
Appliances
Toys
Communications
Mobile Phones
Personal Data Assistants
Wireless Transceivers
Routers, Modems
EE315B - Chapter 1
B. Murmann
Instrumentation
Lab bench equipment
Semiconductor test equipment
Scientific equipment
Medical equipment
B. Murmann
EE315B - Chapter 1
Example 1
Example
20 GSample/s, 8-bit ADC
10 W Power dissipation
B. Murmann
EE315B - Chapter 1
Example 2
B. Murmann
EE315B - Chapter 1
Example 3
EE315B - Chapter 1
B. Murmann
Example 4
[Mehta, ISSCC2005]
B. Murmann
EE315B - Chapter 1
10
10
-8
P/f s [J]
10
-10
10
-12
10
30
40
50
60
70
SNDR [dB]
80
90
100
110
EE315B - Chapter 1
11
Course Objective
Strategy
Acquire breadth via a complete system walkthrough and a
survey of existing architectures
Acquire depth through a midterm project that entails design
and thorough characterization of a specific circuit example in
modern technology
B. Murmann
EE315B - Chapter 1
12
Teaching assistant
Vaibhav Tripathi
Administrative support
Ann Guerra, Allen 207
EE315B - Chapter 1
B. Murmann
13
Preparation
Course prerequisites
EE214B or equivalent
Device physics and models
Transistor level analog circuits, elementary gain stages
Frequency response, feedback, noise
Please talk to me if you are not sure whether you have the
required background
B. Murmann
EE315B - Chapter 1
14
B. Murmann
EE315B - Chapter 1
15
Assignments
Homework: (20%)
Handed out on Tue, due following Tue after lecture (1 pm)
Lowest HW score is dropped in final grade calculation
B. Murmann
EE315B - Chapter 1
16
Honor Code
B. Murmann
EE315B - Chapter 1
17
Primary tools
Cadence Virtuoso Schematic Editor
Cadence Virtuoso Analog Design Environment
Cadence SpectreRF simulator
You can use your own tools/setups at own risk
Getting started
Read tutorials and setup info provided in the CAD section of the
course website
EE315A/B Technology
0.18-m CMOS
BSIM3v3 models provided under /usr/class/ee315b/models
B. Murmann
EE315B - Chapter 1
18
Reference Books
R. v. d. Plassche, CMOS Integrated Analog-to-Digital and Digital-toAnalog Converters, 2nd ed., Kluwer, 2003
B. Murmann
19
Course Topics
Sampling circuits
Voltage comparators
B. Murmann
EE315B - Chapter 1
20
Boris Murmann
Stanford University
murmann@stanford.edu
Copyright 2013 by Boris Murmann
EE315B - Chapter 2
B. Murmann
Digital abstraction
Discrete time, discrete amplitude
Two problems
How to discretize in time and amplitude
A/D conversion
EE315B - Chapter 2
Overview
B. Murmann
EE315B - Chapter 2
Key questions
How much "noise" is added due
to amplitude quantization?
How can we reconstruct the
signal back into analog form?
How fast do we need to sample?
Must avoid "aliasing"
B. Murmann
EE315B - Chapter 2
Amplitude
fs =
1
= 1000kHz
Ts
fsig = 101kHz
Time
f
v sig ( n ) = cos 2 in n
fs
n
fs
101
= cos 2
n
1000
EE315B - Chapter 2
B. Murmann
Amplitude
fs =
1
= 1000kHz
Ts
fsig = 899kHz
Time
899
101
899
v sig ( n ) = cos 2
n = cos 2
1 n = cos 2
n
1000
1000
1000
B. Murmann
EE315B - Chapter 2
Amplitude
fs =
1
= 1000kHz
Ts
fsig = 1101kHz
Time
1101
101
1101
v sig ( n ) = cos 2
n = cos 2
1 n = cos 2
n
1000
1000
1000
B. Murmann
EE315B - Chapter 2
Consequence
B. Murmann
EE315B - Chapter 2
Sampling Theorem
fs
2
Two possibilities
Sample fast enough to cover all spectral components,
including "parasitic" ones outside band of interest
Limit fsig,max through filtering
B. Murmann
EE315B - Chapter 2
B. Murmann
EE315B - Chapter 2
10
Parasitic
Tone
Attenuation
Continuous
Time
0
fs/2
B/fs
0.5
fs-B
fs
...
Discrete
Time
f/fs
B. Murmann
EE315B - Chapter 2
11
Alias
Rejection
Filter Order
fs/fsig,max
B. Murmann
EE315B - Chapter 2
12
Classes of Sampling
B. Murmann
EE315B - Chapter 2
13
Subsampling
B. Murmann
EE315B - Chapter 2
14
x( t ) =
x( n ) g( t nTs )
n =
g(t ) =
B. Murmann
sin( fs t )
fs t
EE315B - Chapter 2
15
B. Murmann
EE315B - Chapter 2
16
Dirac Pulses
xd ( t ) = x( t )
( t nTs )
n =
B. Murmann
1
Ts
n
X f
Ts
n =
EE315B - Chapter 2
17
Spectrum
B. Murmann
EE315B - Chapter 2
18
Hp (f ) = Tp
Xp (f ) =
fTp
Tp sin( fTp )
Ts
fTp
jfTp
jfTp
n
Xf
Ts
n =
Amplitude Envelope
EE315B - Chapter 2
B. Murmann
19
Ts
0.4
fTp
abs(H(f))
Tp sin( fTp )
0.3
0.2
0.1
0
0
0.5
1.5
f/fs
2.5
f/fs
B. Murmann
EE315B - Chapter 2
20
Tp=Ts
0.7
0.6
0.5
Ts
0.4
fTp
abs(H(f))
Tp sin( fTp )
Tp=0.5Ts
0.3
0.2
0.1
0
0
0.5
1.5
2.5
f/fs
f/f
s
EE315B - Chapter 2
B. Murmann
21
Example
1
Spectrum of
Continuous Time
Pulse Train (Arbitrary
Example)
0.5
0
0
0.5
1.5
2.5
0.5
1.5
2.5
2.5
ZOH Transfer
Function
("Sinc Distortion")
0.5
0
1
ZOH output,
Spectrum of
Staircase
Approximation
original spectrum
0.5
0
0
0.5
1.5
f/fs
B. Murmann
EE315B - Chapter 2
22
Reconstruction Filter
1
Also called
smoothing filter
Same situation
as with anti-alias
filter
A brick wall
filter would be
nice
Oversampling
helps reduce
filter order
0.9
Filter
0.8
Spectrum
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0
0.5
1.5
2.5
f/fs
B. Murmann
EE315B - Chapter 2
23
Summary
B. Murmann
EE315B - Chapter 2
24
Recap
Next, look at
Transfer functions of quantizer and DAC
Impact of quantization error
EE315B - Chapter 2
B. Murmann
25
Transfer Function
Slope=1
Quantization step
Ideally
Infinite input range and
infinite number of
quantization levels
In practice
Finite input range and
finite number of
quantization levels
Output is a digital word
(not an analog voltage)
eq (quantization error)
x (input)
Error eq=q-x
+/2
-/2
x (input)
B. Murmann
EE315B - Chapter 2
26
B. Murmann
27
111
110
101
100
011
010
001
000
Analog Input
eq (quantization error)
Digital Output
+/2
http://www.analog.com/en/content/0
,2886,760%255F788%255F91285,
00.html
-/2
FSR
x (input)
B. Murmann
Example: B=3
23=8 distinct output codes
Diagram on the left shows
"straight-binary encoding"
See e.g. Analog Devices "MT009: Data Converter Codes" for
other encoding schemes
EE315B - Chapter 2
Nomenclature
EE315B - Chapter 2
B. Murmann
29
Mid-rise characteristic
The center of the transfer function (zero), coincides with a
transition level
B. Murmann
EE315B - Chapter 2
30
Digital Output
111
110
101
100
011
010
001
000
Analog Input
-FSR/2
+FSR/2
EE315B - Chapter 2
B. Murmann
31
Digital Output
111
110
101
100
011
010
001
000
Analog Input
FSR/2 + /2
B. Murmann
0 FSR/2 - /2
EE315B - Chapter 2
32
Unipolar Quantizer
Usually define origin where first code and straight line fit intersect
Otherwise, there would be a systematic offset
Digital Output
111
110
101
100
011
010
001
000
0
B. Murmann
Analog Input
FSR - /2
EE315B - Chapter 2
33
Two aspects
How much noise power does quantization add to samples?
How is this noise power distributed in frequency?
Strategy
Build basic intuition using simple deterministic signals
Next, abandon idea of deterministic representation and
revert to a "general" statistical model (to be used with
caution!)
B. Murmann
EE315B - Chapter 2
34
Ramp Input
0.2
0
e (t) []
0.4
-0.2
-0.4
0
50
100
Time [arbitrary units]
150
T/2
1
=
eq2 ( t )dt
T T/ 2
eq ( t ) =
t
T
eq2
2
=
12
EE315B - Chapter 2
B. Murmann
35
1
Vin
V
0.8
0.6
0.6
0.4
0.4
0.2
0.2
eq(t) []
[Volts]
0.8
-0.2
-0.2
-0.4
-0.4
-0.6
-0.6
-0.8
-0.8
-1
0
0.2
0.4
0.6
Time [arbitrary units]
0.8
-1
0
0.2
0.4
0.6
Time [arbitrary units]
0.8
B. Murmann
EE315B - Chapter 2
36
Count
80
60
40
20
0
-0.6 -0.5 -0.4 -0.3 -0.2 -0.1
B. Murmann
EE315B - Chapter 2
37
Mean
eq =
/ 2
Variance
eq2 =
+ / 2
/ 2
B. Murmann
EE315B - Chapter 2
eq
deq = 0
eq 2
deq =
2
12
38
Count
100
50
0
-0.6 -0.5 -0.4 -0.3 -0.2 -0.1
B. Murmann
39
Count
400
300
200
100
0
-0.6 -0.5 -0.4 -0.3 -0.2 -0.1
B. Murmann
EE315B - Chapter 2
40
Amplitude
Analysis (1)
fsig/fs=100/1000
Time
EE315B - Chapter 2
B. Murmann
41
Analysis (2)
f
v sig ( n ) = cos 2 in n
fs
fin
= integer
fs
101
= integer
1000
m = 1000
100
= integer
1000
m = 10
B. Murmann
EE315B - Chapter 2
42
Signal-to-Quantization-Noise Ratio
SQNR =
B. Murmann
Psig
Pqnoise
1 2B
2 2
2
12
B (Number of Bits)
SQNR
50 dB
12
74 dB
16
98 dB
20
122 dB
EE315B - Chapter 2
43
B. Murmann
EE315B - Chapter 2
44
EE315B - Chapter 2
B. Murmann
45
12 fs
References
W. R. Bennett, "Spectra of quantized signals," Bell Syst. Tech. J., pp. 446-72,
July 1948.
B. Widrow, "A study of rough amplitude quantization by means of Nyquist
sampling theory," IRE Trans. Circuit Theory, vol. CT-3, pp. 266-76, 1956.
A. Sripad and D. A. Snyder, "A necessary and sufficient condition for
quantization errors to be uniform and white," IEEE Trans. Acoustics, Speech,
and Signal Processing, pp. 442-448, Oct 1977.
B. Murmann
EE315B - Chapter 2
46
Ideal DAC
B. Murmann
EE315B - Chapter 2
47
Static Nonidealities
Useful references
Analog Devices MT-010: The Importance of Data Converter
Static Specifications
http://www.analog.com/en/content/0,2886,761%255F795%255F91286,00.html
B. Murmann
EE315B - Chapter 2
48
EE315B - Chapter 2
B. Murmann
49
Dout
Ideal
Vin
Ideal
Vin
Offset
B. Murmann
EE315B - Chapter 2
50
Also note that errors are specified along the vertical axis
B. Murmann
EE315B - Chapter 2
51
Definitions on the previous slides are the ones typically used in industry
IEEE Standard suggest somewhat more sophisticated definitions
based on least square curve fitting
Technically more suitable metric when the transfer characteristics are
significantly non-uniform or nonlinear
B. Murmann
EE315B - Chapter 2
52
In an ideal world, all ADC codes would have equal width; all
DAC output increments would have same size
B. Murmann
EE315B - Chapter 2
53
B. Murmann
EE315B - Chapter 2
Code (k)
W [V]
undefined
0.5
1.5
1.5
undefined
54
Wavg =
7.5V 2V
= 0.9167V
6
DNL(k) =
W(k) Wavg
Wavg
EE315B - Chapter 2
B. Murmann
55
Result
Code (k)
DNL [LSB]
0.09
-0.45
0.09
0.64
-1.00
0.64
B. Murmann
EE315B - Chapter 2
56
Might argue in some cases that any code with DNL < -0.9 LSB
is essentially a missing code
Why ?
B. Murmann
EE315B - Chapter 2
57
Impact of Noise
B. Murmann
EE315B - Chapter 2
58
DAC DNL
DNL(k) =
Step(k) Stepavg
Stepavg
One difference between ADC and DAC is that DAC DNL can be
less than -1 LSB
How ?
B. Murmann
EE315B - Chapter 2
59
Non-Monotonic DAC
DNL(3) =
Step(3) Stepavg
Stepavg
0.5V 1V
= 1.5LSB
1V
B. Murmann
EE315B - Chapter 2
60
Non-Monotonic ADC
B. Murmann
EE315B - Chapter 2
61
General idea
For each "relevant point" of the transfer characteristic,
quantify distance from a straight line drawn through the
endpoints
An alternative, less common definition uses a least square fit
line as a reference
B. Murmann
EE315B - Chapter 2
62
Obviously INL(1) = 0
and INL(7) = 0
INL(0) is undefined
EE315B - Chapter 2
B. Murmann
63
k 1
INL(k) = DNL(i)
i =1
B. Murmann
Code (k)
DNL [LSB]
INL [LSB]
0.09
-0.45
0.09
0.09
-0.36
0.64
-0.27
-1.00
0.36
0.64
-0.64
undefined
EE315B - Chapter 2
64
Result
B. Murmann
EE315B - Chapter 2
65
[Ishii, Custom
Integrated Circuits
Conference, 2005]
B. Murmann
EE315B - Chapter 2
66
DAC INL
B. Murmann
EE315B - Chapter 2
67
DAC
Apply all input codes, measure output with a precision
voltmeter
ADC
A little more tricky
One option is to build a servo loop that finds the code
transitions
See e.g. Kester, page 5.36
B. Murmann
EE315B - Chapter 2
68
Kester, p. 5.39
B. Murmann
EE315B - Chapter 2
69
Histogram Example
Kester, p. 5.40
B. Murmann
EE315B - Chapter 2
70
Sinusoidal Input
Kester, p. 5.42
B. Murmann
EE315B - Chapter 2
71
References
M. V. Bossche, J. Schoukens, and J. Renneboog, Dynamic
Testing and Diagnostics of A/D Converters, IEEE TCAS,
Aug. 1986
IEEE Standard 1057
Kester, Section 5.4
The code on the next slide does all the required math to undo
the bathtub shape
B. Murmann
EE315B - Chapter 2
72
DNL/INL Code
function [dnl,inl] = dnl_inl_sin(y);
% transition levels
%DNL_INL_SIN
T = -cos(pi*ch/sum(h));
% linearized histogram
% sinusoid
% truncate at least first and last
% Boris Murmann, Aug 2002
trunc=2;
hlin_trunc = hlin(1+trunc:end-trunc);
% histogram boundaries
minbin=min(y);
maxbin=max(y);
dnl= [0 hlin_trunc/lsb-1];
h = hist(y, minbin:maxbin);
misscodes = length(find(dnl<-0.9));
% cumulative histogram
% calculate inl
ch = cumsum(h);
inl= cumsum(dnl);
EE315B - Chapter 2
B. Murmann
73
% bits
range = 2^(B-1) - 1;
th = -range:range;
% ideal thresholds
DNL [LSB]
0.5
-0.5
0
code
10
20
30
10
20
30
0.8
% try fs/10!
t = 0:1/fs:C/fx;
x = (range+1) * sin(2*pi*fx.*t);
0.6
INL [LSB]
-10
fs = 1e6;
fx = 494e3 + pi;
-20
0.4
0.2
0
-0.2
-30
-20
-10
0
code
hist(y, min(y):max(y));
dnl_inl_sin(y);
B. Murmann
EE315B - Chapter 2
74
Reference
B. Ginetti and P. Jespers, Reliability of Code Density Test
for High Resolution ADCs, Electronics Letters, pp. 22312233, Nov. 1991
B. Murmann
EE315B - Chapter 2
75
B. Murmann
EE315B - Chapter 2
76
Boris Murmann
Stanford University
murmann@stanford.edu
Copyright 2013 by Boris Murmann
B. Murmann
EE315B - Chapter 3
Time domain
Glitch impulse, aperture uncertainty, settling time,
We'll look at these later, in the context of specific circuits
Frequency domain
Performance metrics follow from looking at converter or
building block output spectrum
"Spectral performance metrics"
B. Murmann
EE315B - Chapter 3
DR - Dynamic range
HD Harmonic distortion
B. Murmann
EE315B - Chapter 3
B. Murmann
EE315B - Chapter 3
B. Murmann
EE315B - Chapter 3
Basic idea
Apply a clean sinusoid
Compute ADC performance metrics based on output spectrum
B. Murmann
EE315B - Chapter 3
fin
2fin
3fin
4fin
...
...
www.tte.com, or
www.allenavionics.com
EE315B - Chapter 3
B. Murmann
X(k) =
x(n)e j2kn/N
n=0
B. Murmann
EE315B - Chapter 3
Matlab Example
clear;
N
50
= 100;
fs = 1000;
40
x = cos(2*pi*fx/fs*[0:N-1]);
s = abs(fft(x));
plot(s, 'linewidth', 2);
DFT Magnitude
fx = 100;
30
20
10
0
0
20
40
60
80
100
Bin #
B. Murmann
EE315B - Chapter 3
= 100;
fs = 1000;
fx = 100;
FS = 1; % full-scale amplitude
s = abs(fft(x));
% remove redundant half of spectrum
s = s(1:end/2);
% normalize magnitudes to dBFS
% dbFS = dB relative to full-scale
s = 20*log10(2*s/N/FS);
x = FS*cos(2*pi*fx/fs*[0:N-1]);
-50
-100
-150
-200
-250
% frequency vector
f = [0:N/2-1]/N;
-300
-350
0
xlabel('Frequency [f/fs]')
0.1
0.2
0.3
Frequency [f/fs]
0.4
0.5
B. Murmann
EE315B - Chapter 3
10
Another Example
0
-10
DFT Magnitude [dBFS]
-20
-30
-40
-50
-60
-70
-80
-90
0
0.1
0.2
0.3
Frequency [f/fs]
EE315B - Chapter 3
B. Murmann
0.4
0.5
11
Spectral Leakage
B. Murmann
EE315B - Chapter 3
12
= 100;
-50
DFT Magnitude [dBFS]
cycles = 9;
fs = 1000;
fx = fs*cycles/N;
Usable test
frequencies are
limited to a multiple
of fs/N
-100
-150
-200
-250
-300
-350
0
0.1
0.2
0.3
Frequency [f/fs]
0.4
0.5
EE315B - Chapter 3
B. Murmann
13
Windowing
B. Murmann
EE315B - Chapter 3
14
Hann Window
N=64;
wvtool(hann(N))
Time domain
Frequency domain
50
1
0
Magnitude (dB)
Amplitude
0.8
0.6
0.4
-50
-100
0.2
10
20
30
40
Samples
50
-150
60
0.2
0.4
0.6
0.8
EE315B - Chapter 3
B. Murmann
15
= 100;
No window
Hann window
fs = 1000;
-20
= 1;
x = A*cos(2*pi*fx/fs*[0:N-1]);
s
= abs(fft(x));
x1 = x.*hann(N);
s1 = abs(fft(x1));
fx = 101;
-40
-60
-80
-100
-120
-140
0
0.1
0.2
0.3
0.4
0.5
f/fs
B. Murmann
EE315B - Chapter 3
16
Windowing
No restrictions on signal frequency
Signal and harmonics distributed over several DFT bins
Beware of smeared out nonidealities
More info
http://www.maxim-ic.com/appnotes.cfm/appnote_number/1040
EE315B - Chapter 3
B. Murmann
17
Example
= 2048;
cycles = 67;
fs = 1000;
fx = fs*cycles/N;
LSB = 2/2^10;
First look at
quantization noise
introduced by an
ideal quantizer
x = cos(2*pi*fx/fs*[0:N-1]);
x = round(x/LSB)*LSB;
s
= abs(fft(x));
s = s(1:end/2)/N*2;
% calculate SNR
sigbin = 1 + cycles;
noise = [s(1:sigbin-1), s(sigbin+1:end)];
snr = 10*log10( s(sigbin)^2/sum(noise.^2) );
B. Murmann
EE315B - Chapter 3
18
Signal-to-quantization noise
ratio is given by power in
signal bin, divided by sum of
all noise bins
-20
-40
-60
-80
-100
-120
0
0.1
0.2
0.3
Frequency [f/fs]
0.4
EE315B - Chapter 3
B. Murmann
0.5
19
SQNR
2048 point FFT, SNR=61.90dB
Signal Power
Quantization Noise Power
1 VFS
2 2
-20
1 VFS
12 2N
3 2N
2
2
SQNR =
-40
-60
-80
-100
= 61.9 dB
-120
0
B. Murmann
EE315B - Chapter 3
0.1
0.2
0.3
Frequency [f/fs]
0.4
0.5
20
-20
DFT Magnitude [dBFS]
2048
Nfloor = 61.9 dBc 10log
-40
-60
-80
-100
-120
0
B. Murmann
0.1
0.2
0.3
Frequency [f/fs]
0.4
EE315B - Chapter 3
0.5
21
DFT plots are fairly meaningless unless you clearly specifiy the
underlying conditions
B. Murmann
EE315B - Chapter 3
22
fx = fs64/2048 = fs/32
-40
-60
-80
-100
-120
0
0.1
0.2
0.3
Frequency [f/fs]
0.4
EE315B - Chapter 3
B. Murmann
0.5
23
Harmonics due to
nonlinearities
Definition of SNR
SNR =
-20
Signal Power
Total Noise Power
B. Murmann
-40
-60
-80
-100
-120
0
EE315B - Chapter 3
0.1
0.2
0.3
0.4
Frequency [f/fs]
24
Signal Power
Noise and Distortion Power
SNDR(dB)-1.76dB
6.02dB
-20
DFT Magnitude [dBFS]
-40
-60
-80
-100
-120
0
0.1
0.2
0.3
0.4
Frequency [f/fs]
EE315B - Chapter 3
B. Murmann
25
47.5dB 1.76dB
= 7.6
6.02dB
B. Murmann
EE315B - Chapter 3
26
Survey Data
SNRBits =
SNR(dB)-1.76dB
6.02dB
EE315B - Chapter 3
B. Murmann
27
Dynamic Range
DR =
SNR
(dB)
PEAK SNR
OVERLOAD
FULL SCALE
0dB
DYNAMIC
RANGE
MDS
B. Murmann
EE315B - Chapter 3
INPUT
Input
Power
AMPLITUDE
[dB]
(dB)
28
SFDR
Definition of "Spurious Free
Dynamic Range"
SFDR =
Signal Power
Largest Spurious Power
-40
-60
-80
-100
-120
0
0.1
0.2
0.3
0.4
Frequency [f/fs]
EE315B - Chapter 3
B. Murmann
29
Signal-to-distortion ratio
Signal Power
SDR =
Total Distortion Power
B. Murmann
-20
-40
-60
-80
-100
-120
0
EE315B - Chapter 3
0.1
0.2
0.3
0.4
Frequency [f/fs]
30
-20
DFT Magnitude [dBFS]
-40
-60
-80
-100
-120
0
0.1
0.2
0.3
0.4
Frequency [f/fs]
EE315B - Chapter 3
B. Murmann
31
Aliasing
65536 point FFT, THD=-48.3dB
0
-20
DFT Magnitude [dBFS]
-40
-60
-80
-100
-120
0
B. Murmann
EE315B - Chapter 3
0.1
0.2
0.3
Frequency [f/fs]
0.4
0.5
32
Intermodulation Distortion
Amplitude
f1
f2
SECOND
ORDER
PRODUCTS
f2 - f1
THIRD
ORDER
PRODUCTS
2f1 - f2
2f2 - f1
f1 + f2
Frequency
B. Murmann
33
MTPR
Amplitude [dB]
MTPR
-20
-40
-60
-80
-100
-120
0.00E+00
4.00E+06
8.00E+06
1.20E+07
1.60E+07
2.00E+07
2.40E+07
2.80E+07
3.20E+07
Frequency(Hz)
Frequency [Hz]
B. Murmann
EE315B - Chapter 3
34
B. Murmann
EE315B - Chapter 3
35
B. Murmann
EE315B - Chapter 3
36
ERBW
EE315B - Chapter 3
B. Murmann
37
Output
Ideal
Quadratic bow
Cubic bow
Input
B. Murmann
EE315B - Chapter 3
38
20
2
3 3
4
B. Murmann
39
Let's add uniform DNL over 0.5 LSB and repeat math...
B. Murmann
EE315B - Chapter 3
40
e =2
2
e e2
2
1 de = 6
3dB
e2
2
e =
de =
12
/2
2
Bottom line: non-zero DNL across many codes can easily cost a
few dB in SNR
"DNL noise"
EE315B - Chapter 3
B. Murmann
41
2
Vin,rms
=
Pin =
B. Murmann
1 2 1 VFS
1
V =
= 1V 2
2
2 2
2
2
Vin,rms
1 1V 2
= 10mW = 10dBm
2 50
EE315B - Chapter 3
42
-20
100MHz
= 10dBm 61.9dB 10log
1Hz
= 131.9
dBm
Hz
NPSD
fs
-40
-60
-80
For comparison:
-100
NPSD,Rsource
dBm
= 174
Hz
-120
0
0.1
0.2
0.3
Frequency [f/fs]
EE315B - Chapter 3
B. Murmann
0.4
43
F=
NF = 10log(F) = 174
dBm
dBm
131.9
= 43.1dB
Hz
Hz
Ouch!
B. Murmann
EE315B - Chapter 3
44
0.5
dBm
+ Pin SQNR 10log 2
NF = 174
Hz
1 Hz
1 V 2
fs
FS
2
dBm
3
2 2
2N
= 174
+ 10log
10log
2
10log
Hz
R
2
1 Hz
EE315B - Chapter 3
45
EE315B - Chapter 3
46
Boris Murmann
Stanford University
murmann@stanford.edu
Copyright 2013 by Boris Murmann
B. Murmann
EE315B - Chapter 4
Overview
Basic configurations
Thermometer
Binary weighted
Segmented
Implementation choices
Resistive, capacitive, current steering
Nyquist rate, oversampling, PWM
B. Murmann
EE315B - Chapter 4
VRE F
MSB
LSB
xxxxx
xxxxx
d0
d0
d1
d1
d2
d2
Simple, inherently
monotonic
OUT
B. Murmann
EE315B - Chapter 4
B. Murmann
EE315B - Chapter 4
Inherently monotonic
Output
14
14
13
13
13
12
12
12
12
11
11
11
11
11
10
10
10
10
10
10
10
11
12
13
14
15
Input Code
B. Murmann
EE315B - Chapter 4
B. Murmann
EE315B - Chapter 4
No encoder needed
Monotonicity is not
guaranteed
Consider transition
100000. to
011111.
2B-1 source must
match sum of others
to within 1 LSB to
make transition
monotonic
MSB Transition
Problem
B. Murmann
EE315B - Chapter 4
B. Murmann
EE315B - Chapter 4
Segmented DAC
B. Murmann
Binary weighted
section with Bb bits
Thermometer section
with Bt = B-Bb bits
Typically Bt ~ 48
Reasonably small
encoder
Easier to achieve
monotonicity
EE315B - Chapter 4
B. Murmann
EE315B - Chapter 4
10
Systematic Errors
Contact and wiring resistance (IR drop)
Edge effects in unit element arrays
Process gradients
Finite current source output resistance
B. Murmann
EE315B - Chapter 4
11
References
C. Conroy et al., Statistical Design Techniques for D/A
Converters, IEEE J. Solid-State Ckts., pp. 1118-28, Aug. 1989.
P. Crippa, et al., "A statistical methodology for the design of highperformance CMOS current-steering digital-to-analog converters,"
IEEE Trans. CAD of ICs and Syst. pp. 377-394, Apr. 2002.
B. Murmann
EE315B - Chapter 4
12
Gaussian Distribution
f(x) =
1
2
( x )2
2 2
X=
0.4
f(x)
0.3
0.2
0.1
0
-3
-2
-1
0
x/X
EE315B - Chapter 4
B. Murmann
13
Yield (1)
2
P ( C X +C ) =
1
2
+C X
e 2
C
dX = erf
P(-C
C)
P(-X xX +X)
0.8
0.6
0.4
0.2
0
0
0.5
1.5
X/
2.5
B. Murmann
EE315B - Chapter 4
14
Yield (2)
C
P(-C X C) [%]
P(-C X C) [%]
0.2000
15.8519
2.2000
97.2193
0.4000
31.0843
2.4000
98.3605
0.6000
45.1494
2.6000
99.0678
0.8000
57.6289
2.8000
99.4890
1.0000
68.2689
3.0000
99.7300
1.2000
76.9861
3.2000
99.8626
1.4000
83.8487
3.4000
99.9326
1.6000
89.0401
3.6000
99.9682
1.8000
92.8139
3.8000
99.9855
2.0000
95.4500
4.0000
99.9937
EE315B - Chapter 4
B. Murmann
15
Example
I 0.1mA
= stdev =
= 1%
I 10mA
B. Murmann
EE315B - Chapter 4
16
g
I
m Vt +
I1
I1
1
W
Cox
2
L
Vt =
A Vt
WL
A
WL
Example
W=500m, L=0.2m, gm/ID=10S/A, AVt=5mV-m, A=1%-m
2
S 5mV 1%
I = 10
+
=
A 10 10
( 0.5%)2 + ( 0.1%)2
= 0.51%
EE315B - Chapter 4
B. Murmann
17
DNL(k) =
Step(k) Stepavg
Stepavg
Ik
=
1 N
I
N j =1 j
N
1
I
N j =1 j
Ik I I
=
I
I
I
stdev (DNL(k) ) = stdev = u
I
Example
Say we have unit elements with u = 1% and want 99.73% of
all converters to meet the spec
Which DNL specification value should go into the datasheet?
B. Murmann
EE315B - Chapter 4
18
B. Murmann
EE315B - Chapter 4
19
Let's say there are N codes, and assume that all DNL(k) values
are independent, then
P(all codes meet spec) = P(single code meets spec)N
P(all codes meet spec)1/N = P(single code meets spec)
Lets look at two examples N=63 (6 bits) and N=4095 (12 bits)
0.99731/63 = 0.99995708
0.99731/4095 = 0. 99999929929
B. Murmann
EE315B - Chapter 4
20
EE315B - Chapter 4
B. Murmann
21
INL (1)
INL(k) =
Ij
=
j =1
k N
I
N j=1 j
1 N
I
N j =1 j
N Ij
=
j =1
k
Ij +
j =1
Ij
j = k +1
A N
k
A +B
A N
A
X
var (INL(k) ) = var
k = N2 var
= N2 var
A +B
A +B
Y
B. Murmann
EE315B - Chapter 4
22
INL (1)
2X 2Y
cov ( X, Y )
2 + 2 2
X
Y
Y
X
var (INL(k)) k 1 u2
N
k
INL (k) u k 1
N
EE315B - Chapter 4
B. Murmann
23
INL (2)
6
INL (k)/u
N=64
N=128
4
20
40
60
80
100
120
140
N N/ 2 1
1
= u N u 2B
1
2
N 2
2
B. Murmann
EE315B - Chapter 4
24
Achievable Resolution
2
u
u
1%
8.6
0.5%
10.6
0.2%
13.3
0.1%
15.3
EE315B - Chapter 4
B. Murmann
25
INL Yield
Again, we should ask how many DACs will meet the spec for a
given INL (worst code)
It turns out that this is a very difficult math problem
Two solutions
Do the math
G. I. Radulov et al., "Brownian-Bridge-Based Statistical
Analysis of the DAC INL Caused by Current Mismatch," IEEE
TCAS II, pp. 146-150, Feb. 2007.
Yield simulations
B. Murmann
EE315B - Chapter 4
26
2
DNL
= 2B 1 1 u2 + 2B 1 u2 = 2B 1 u2
14
4244
3 1424
3
0111...
1000...
8I
4I
2I
Example
B = 12, u = 1% DNL = 0.64 LSB
Much worse than thermometer DAC
EE315B - Chapter 4
B. Murmann
27
2 )22
( DNL
D NL //
u
10
6
8
DAC input code
10
12
14
code
B. Murmann
EE315B - Chapter 4
28
Simulation Example
DNL and INL of 12 Bit converter (from converter decision thresholds)
DNL [in LSB]
2
-1 / +0.1 LSB, avg=-9.3e-005, std.dev=0.035, range=1.4
-1.3
1
0
-1
-2
500
1000
1500
2000
bin
code
2500
3000
3500
4000
2
-0.8 / +0.8 LSB, avg=-1.1e-013, std.dev=0.37, range=1.6
1
0
-1
500
1000
1500
2000
bin
code
2500
3000
3500
4000
EE315B - Chapter 4
B. Murmann
29
2
1
0
-1
500
1000
1500
2000
2500
3000
3500
4000
bin
code
2
1
0
-1
500
1000
1500
2000
2500
3000
3500
4000
bin
code
EE315B - Chapter 4
30
B. Murmann
31
INL
Same as in thermometer
DAC
Example: B=Bb+Bt=4+4=8
DNL
Worst case occurs when
LSB DAC turns off and
one more MSB DAC
element turns on
Essentially same DNL as
a binary weighted DAC
with Bb+1 bits
B. Murmann
16I
8I
EE315B - Chapter 4
16I
4I
16I
2I
32
Comparison
Thermometer
INL
(worst case)
DNL
(worst case)
Number of
Switched
Elements
Binary
Weighted
Segmented
1
u 2B
2
u 2Bb +1 1
u 2B 1
2B 1
Bb + 2Bt 1
EE315B - Chapter 4
B. Murmann
33
INL
DNL
(worst)
(worst)
Number of
Switched
Elements
Thermometer
0.32
0.01
4095
Binary Weighted
0.32
0.64
12
0.32
0.16
38
DAC Architecture
B. Murmann
EE315B - Chapter 4
34
Feedthrough
Coupling from switch signals to DAC output
Clock feedthrough
B. Murmann
EE315B - Chapter 4
35
References
Gustavsson, Chapter 12
M. Albiol, J.L. Gonzalez, E. Alarcon, "Mismatch and dynamic
modeling of current sources in current-steering CMOS D/A
converters," IEEE TCAS I, pp. 159-169, Jan. 2004
Doris, van Roermund, Leenaerts, Wide-Bandwidth High
Dynamic Range D/A Converters, Springer 2006.
T. Chen and G.G.E. Gielen, "The analysis and improvement
of a current-steering DAC's dynamic SFDR," IEEE Trans.
Ckts. Syst. I, pp. 3-15, Jan. 2006.
B. Murmann
EE315B - Chapter 4
36
ideal
10
Ideal
0
1
1.5
2.5
early
10
0
1
1.5
2.5
late
10
0
1
1.5
2
Time
2.5
EE315B - Chapter 4
B. Murmann
37
LSB area: T
B. Murmann
fs [MHz]
t [ps]
12
<< 488
20
16
<< 1.5
1000
10
<< 2
EE315B - Chapter 4
38
Commercial Example
B. Murmann
EE315B - Chapter 4
39
Implementation Example
[T. Miki, Y. Nakamura, M. Nakaya, S. Asai, Y. Akasaka, and Y. Horiba, An 80-MHz 8bit CMOS D/A Converter, IEEE J. of Solid-State Circuits, pp. 983-988, Dec. 1986.]
B. Murmann
EE315B - Chapter 4
40
Mitigating IR Drop
B. Murmann
EE315B - Chapter 4
41
B. Murmann
EE315B - Chapter 4
42
Retiming
Latches in (or close to) each current cell
Latch controlled by global clock to ensure that current cells
switch simultaneously (independent of decoder delays)
B. Murmann
EE315B - Chapter 4
43
B. Murmann
EE315B - Chapter 4
44
D
MN1
INV1
INV2
QB
DB
MN2
INV6
MN3
INV3
INV7
CLKB
INV5
MN4
INV4
CLK
Mercer, US patent ,7,023,255 4/4/2006
EE315B - Chapter 4
B. Murmann
45
B. Murmann
EE315B - Chapter 4
46
B. Murmann
EE315B - Chapter 4
47
B. Murmann
EE315B - Chapter 4
48
EE315B - Chapter 4
B. Murmann
49
+
2N1 C
8C
4C
2C
C VOUT
VRE F
b1
(msb)
bN3
bN2
Vout =
bN1
2B C
B
2 C + Cp
bN
(lsb)
Vref
bi
i
i =1 2
B. Murmann
EE315B - Chapter 4
50
[Manganaro et al., "A dual 10-b 200-MSPS pipelined D/A converter with DLL-based
clock synthesizer," IEEE JSSC 11/2004]
B. Murmann
EE315B - Chapter 4
51
(fclk=200MHz)
B. Murmann
EE315B - Chapter 4
52
Sampling Circuits
Boris Murmann
Stanford University
murmann@stanford.edu
Copyright 2013 by Boris Murmann
B. Murmann
EE315B - Chapter 5
Recap
Practical solution
"Track and hold"
B. Murmann
EE315B - Chapter 5
Outline
Advanced techniques
Clock bootstrapping
Bottom plate sampling
B. Murmann
EE315B - Chapter 5
B. Murmann
EE315B - Chapter 5
Signal Nomenclature
time
T/H Signal
("Sampled Data Signal")
Clock
B. Murmann
EE315B - Chapter 5
Pedestal Error
B. Murmann
EE315B - Chapter 5
Nonidealities
Tracking nonlinearity
Thermal noise
Clock jitter
EE315B - Chapter 5
B. Murmann
B. Murmann
EE315B - Chapter 5
= RC
EE315B - Chapter 5
B. Murmann
)
9
T
Vout,err s = VFSe
2
Ts
/
2
= VFSeN
VFS e
N=
B. Murmann
1 VFS
2 2B
Ts / 2
ln 2 2B
)
EE315B - Chapter 5
>4.9
10
>7.6
14
>10.4
18
>13.2
10
A cos( )
2 2
1 +4
144
2444
3
initial transient
A cos( t + )
14
+2444
2 2 3
144
steady-state response
= atan()
B. Murmann
EE315B - Chapter 5
11
B. Murmann
EE315B - Chapter 5
12
B. Murmann
1 + ( )
A
= 1
1
1 + ( )
= 1
T /2
1 + 2fin s
N
= 1
f
1 + in
N fs
4.9
0.052%
4.9%
10
7.6
0.021%
2.1%
14
10.4
0.011%
1.1%
18
13.2
0.007%
0.7%
EE315B - Chapter 5
13
B. Murmann
EE315B - Chapter 5
14
RON
dI
D(triode)
dVDS
RON =
V
W
VGS Vt DS VDS
L
2
Cox
VDS 0
=
Cox
W
( V Vt )
L GS
1
W
( Vin Vt )
L
Two problems
RON is modulated by Vin (assuming e.g. =VDD=const.)
Transistor turn off is signal dependent, occurs when =Vin+Vt
B. Murmann
EE315B - Chapter 5
15
B. Murmann
EE315B - Chapter 5
16
Analysis
ID K ( VGS Vt ) VDS
C
K 2
VDS
2
dVout
K
2
= K ( Vout Vt )( Vin Vout ) ( Vin Vout )
dt
2
EE315B - Chapter 5
B. Murmann
17
Result
HD3 =
fin
1
A
1
A
4 VGS Vt
4 VGS Vt fs N
EE315B - Chapter 5
18
Numerical Example
Parameters
VDD = VCK = 1.8V
Signal is centered about VDD/2 = 0.9V
VGS-Vt = 1.8V-0.9V-0.45V = 0.45V
A = 0.2V
N = 0.5Ts/ = 10
fin = fs/2
2
1 0.2 1
HD3
= 42dB
4 0.45 2 10
EE315B - Chapter 5
B. Murmann
19
Tf
Must make fall time of sampling clock (Tf) much faster than
maximum dVin/dt
B. Murmann
EE315B - Chapter 5
20
3 A
Tf
8 VCK
HD3
3 0.5
8 1.8
EE315B - Chapter 5
B. Murmann
21
CDS
B. Murmann
EE315B - Chapter 5
22
B. Murmann
EE315B - Chapter 5
23
A. Annema, et al., Analog circuits in ultra-deep-submicron CMOS, IEEE J. Solid-State Circuits, pp. 132-143, Jan. 2005.
B. Murmann
EE315B - Chapter 5
24
Questions
What is the noise variance of the Vout samples in hold mode?
What is the spectrum of the discrete time sequence
representing these samples?
Nearly white, provided that the number of settling time
constants (N) is large (see EE315A for a derivation)
EE315B - Chapter 5
B. Murmann
25
Further, given that the process is ergodic, this number must also be equal to the "ensemble" variance,
i.e. the variance of a sample taken at a particular time
2
v out
1
= 4kTR
1 + sRC
f
B. Murmann
2
v out,tot
1
kT
= 4kTR
df =
1 + j2f RC
C
0
EE315B - Chapter 5
26
Alternative Derivation
1
1
Cv out 2 = kT
2
2
v out 2 =
kT
C
EE315B - Chapter 5
B. Murmann
27
VFS
2B
2B
C = 12kT
V
FS
For a given B, both C and R (via N on slide 19) are fully determined
Example numbers for VFS=1V and fs=100MHz:
B
8
10
12
14
16
18
B. Murmann
C [pF]
0.003
0.052
0.834
13.3
213
3,416
EE315B - Chapter 5
R []
246,057
12,582
665
36
1.99
0.11
28
Commercial Example
B. Murmann
EE315B - Chapter 5
29
B. Murmann
EE315B - Chapter 5
30
Sampling Jitter
Vin
dVin
t
dt
t = Sampling jitter
Analysis
Consider sine wave input signal
Assume t is random with zero mean and standard deviation t
EE315B - Chapter 5
B. Murmann
31
Analysis
{ }
Vin2
dV 2
dV 2
2
2
in
in
E
t = E dt E t
dt
{ }
2
d
1
2
E A cos [ 2 fin t ] 2t ( 2 A fin ) 2t
2
dt
=
B. Murmann
1
2
1
2
EE315B - Chapter 5
1
32
Result
1.E+11
1.E+10
fin [Hz]
1.E+09
t = 0.1ps
1.E+08
t = 1ps
1.E+07
t = 10ps
1.E+06
1.E+05
10
20
30
40
50
60
70
80
90
100
110
120
SNR
[dB]
SNR
aperture
jitter [dB]
B. Murmann
EE315B - Chapter 5
33
B. Murmann
EE315B - Chapter 5
34
Noisy VDD
Jitter
Free
Clock
Jittered
Output
Clock
B. Murmann
EE315B - Chapter 5
35
B. Murmann
EE315B - Chapter 5
36
Significance of Jitter
Example
fin = 10GHz, t = 300ps SNRjitter = 34.5dB (ouch!)
EE315B - Chapter 5
B. Murmann
37
Generalized Calculation
=
1
=
0
0
Side note
In this result, the signal is assumed to be stationary
An extension for cyclostationary signals was provided by ElChammas, TCAS1, May 2009
Useful for systems with simple signal constellations, such as NRZ
B. Murmann
EE315B - Chapter 5
38
Intuition
Gradual decay in
autocorrelation
Slow
signal
Sharp decay in
autocorrelation
Fast
signal
EE315B - Chapter 5
B. Murmann
39
White Info
Source
TX
Channel
h(t)
RX
=
= = [ ]
B. Murmann
EE315B - Chapter 5
40
Example
Chanel Frequency Response
0
5
-10
-30
h(t) [V/ns]
S21 [dB]
-20
-40
fs/2
-50
3
2
-60
1
-70
-80
0
10
f [GHz]
15
20
0
4.4
4.6
4.8
Time [ns]
EE315B - Chapter 5
B. Murmann
5.2
41
Example
Convolved Impulse Response
Second Derivative
x 10
0.12
-5
1
0.5
0.1
0
w''() [1/ps2]
w()
0.08
0.06
0.04
-0.5
-1
-1.5
-2
0.02
0
-1
B. Murmann
-2.5
-0.5
0
[ns]
0.5
-3
-0.5
EE315B - Chapter 5
0
[ns]
0.5
42
Example
=
0
1
2.8 10 1
=
= 2.3 10
0.12
0
1
= 46.8
300
= 20 log
(Better!)
1
= 2.4
2
Bottom line: the fact that the signal is wideband and filtered by
the channel helps, but the jitter spec will still be non-trivial
B. Murmann
EE315B - Chapter 5
43
B. Murmann
EE315B - Chapter 5
44
B. Murmann
EE315B - Chapter 5
45
Reference
D.M. Hummels, W. Ahmed, W., F.H. Irons, "Measurement of random
sample time jitter for ADCs," Proc. ISCAS, pp.708-711, May 1995.
Spectrum of squared sequence
contains a tone proportional to jitter
B. Murmann
EE315B - Chapter 5
46
Matlab Code
% Jitter estimation technique proposed by Hummels, ISCAS 1995
% x is a vector that contains an integer number of cycles of a sampled sine wave
function [sigma_jitter_est, sigma_noise_est, fsin] = estimate_jitter(x, show_plot)
% take fft, remove DC, signal and harmonics
N = length(x);
s = fft(x);
[sigamp, sigbin]=max(abs(s));
A_est = sigamp/N*2;
cycles = sigbin-1;
fsin = cycles/N;
harmbins = 1 + abs([2:8]*cycles - N*round([2:8]*cycles/N));
sn=s;
sn(1)=eps;
sn(sigbin)=eps;
sn(N+2-sigbin)=eps;
sn(harmbins) =eps;
sn(N+2-harmbins)=eps;
% inverse fft, compute jitter and noise estimates
xinv = ifft(sn, 'symmetric');
s_inv = abs(fft(xinv.^2));
jitterbin = 1 + abs(2*cycles - N*round(2*cycles/N));
sigma_jitter_est = sqrt(2*2*s_inv(jitterbin)/N/(2*pi*fsin)^2/A_est^2);
sigma_noise_est = sqrt(s_inv(1)/N-2*s_inv(jitterbin)/N);
B. Murmann
EE315B - Chapter 5
47
Pedestal Error
B. Murmann
EE315B - Chapter 5
48
Slow Gating
H
VIN + V T
V IN
t
HOLD
L
VO
VIN
V
V
t
toff
B. Murmann
49
Col
( Vin + Vt L ) = Vin (1 + ) + Vos
Col + C
Col
Col + C
Vos =
Gain Error
Col
( Vt L )
Col + C
Offset Error
B. Murmann
Vos = 0.9mV
EE315B - Chapter 5
50
Fast Gating
Channel charge
cannot change
instantaneously
Resulting surface
potential decays via
charge flow to source
and drain
Charge divides
between source and
drain depending on
impedances loading
these nodes
H
VIN + VT
Surface
Potential
Qch
S
t < to
VO
V IN
V
V
t > to
(1-)Q
chch
2Q
B. Murmann
Q
ch
2 Qch
EE315B - Chapter 5
51
Tf
RonC2
G. Wegmann et al., "Charge injection in analog MOS switches," IEEE J. SolidState Circuits, pp. 1091-1097, June 1987.
Y. Ding and R. Harjani, "A universal analytic charge injection model," Proc.
ISCAS, pp. 144-147, May 2000.
B. Murmann
EE315B - Chapter 5
52
Interpretation
This means that the charge split will in practice have some
dependence on the impedances seen on the two sides of the
transistor
EE315B - Chapter 5
B. Murmann
53
Col
1Q
( H L ) + ch
Col + C
2 C
Assuming 50/50
charge split
1 WLCox
2
C
Vos =
Col
1 WLCox
( H L )
( H Vt )
Col + C
2
C
B. Murmann
Vos = 30.6mV
EE315B - Chapter 5
54
Slow gating
Fast gating
| |
Slow gating
|Vos|
TtFf
TtfF
EE315B - Chapter 5
B. Murmann
55
1 Qch
2 C
R
Cox
T
1
= s = N RC
2fs
2
W
( V Vt )
L GS
L2
Qch
L2
V
N
fs
B. Murmann
EE315B - Chapter 5
56
Outline
Advanced techniques
Clock bootstrapping
Bottom plate sampling
B. Murmann
EE315B - Chapter 5
57
Improvements
Charge cancelation
Try to cancel channel charge by injecting a charge packet
with opposite sign
Differential sampling
Use a differential circuit to suppress offset
CMOS switch
Try to balance the nonidealities of NMOS device with a
parallel PMOS
B. Murmann
EE315B - Chapter 5
58
Charge Cancellation
Q1 = 0.5Qch1 + Qol1
L =L
W =0.5W
1
Q1 Q2 0
EE315B - Chapter 5
B. Murmann
59
VO1
+
VI1
C
CH
VIC =
VO2
+
VI2
C
CH
VI1 + VI2
2
VO1 + VO2
2
+
+
VOD = 1 + 1 2 VID + ( 1 2 ) VIC + ( VOS1 VOS2 ) 1 + 1 2 VID
2
2
+ VOS2 1 + 2
+ VOS2
V
V
+
VOC = 1 2 VID + 1 + 1 2 VIC + OS1
VIC + OS1
1+
2
2
2
2
4
B. Murmann
EE315B - Chapter 5
60
EE315B - Chapter 5
B. Murmann
61
CMOS Switch
VO
+
VIN
CH
V Vtp
VIN H L + tn
2
2
Charges fully cancel e.g. for VIN = (H-L)/2 = VDD/2, and Vtn=|Vtp|,
but there is still signal dependent residual injection
B. Murmann
EE315B - Chapter 5
62
VO
+
VIN
CCH
W
W
nCox ( VGSn Vtn ) pCox VGSp Vtp
L n
L p
EE315B - Chapter 5
B. Murmann
63
Analysis
R
W
W
nCox ( VGSn Vtn ) pCox VGSp Vtp
L n
L p
W
W
W
W
nCox ( VDD Vtn ) nCox pCox v in pCox Vtp
L
L
L p
L n
n
p
1
W
nCox VDD Vtn Vtp
L n
W
W
if n = p
L n
L p
B. Murmann
EE315B - Chapter 5
64
R []
80
60
40
20
0
0
0.5
1
Vin [V]
1.5
Design
Size P/N ratio to minimize change in R over input range
Size P and N simultaneously to meet distortion specs
B. Murmann
EE315B - Chapter 5
65
Outline
Advanced techniques
Clock bootstrapping
Bottom plate sampling
B. Murmann
EE315B - Chapter 5
66
Clock Bootstrapping
+
VDD
-
+
VDD
-
Cboot
Cboot
VGS=VDD=const.
Vin
A. Abo, "Design for Reliability of Low-voltage, Switched-capacitor Circuits," PhD Thesis, UC Berkeley, 1999.
Phase 1
Cboot is precharged to VDD
Sampling switch is off
Phase 2
Sampling switch is on with VGS=VDD=const.
To first order, both Ron and channel charge are signal
independent
B. Murmann
EE315B - Chapter 5
67
Waveforms
A. Abo, "Design for Reliability of Low-voltage, Switched-capacitor Circuits," PhD Thesis, UC Berkeley, 1999.
B. Murmann
EE315B - Chapter 5
68
Circuit Implementation
Switch
A. Abo et al., A 1.5-V, 10-bit, 14.3-MS/s CMOS Pipeline Analog-toDigital Converter, IEEE J. Solid-State Circuits, pp. 599, May 1999
B. Murmann
EE315B - Chapter 5
69
Limitations
B. Murmann
Cpar
Cpar
Cboot
W
nCox
VDD
Vin Vtn [ Vin ]
1
424
3
Cboot + Cpar
L n Cboot + Cpar
Backgate effect
EE315B - Chapter 5
70
Alternative Implementation
Dessouky and Kaiser, "Input switch configuration suitable for rail-to-rail operation of
switched opamp circuits," Electronics Letters, Jan. 1999.
B. Murmann
71
Example
B. Murmann
EE315B - Chapter 5
72
B. Murmann
EE315B - Chapter 5
73
Basic idea
Sample signal at the "grounded" side of the capacitor to
achieve signal independent sampling
References
D. G. Haigh and B. Singh, A switching scheme for SC filters
which reduces the effect of parasitic capacitances
associated with switch control terminals, in Proc. IEEE Int.
Symp. Circuits and Systems, 1983, pp. 586589.
K.-L. Lee and R. G. Meyer, Low-Distortion SwitchedCapacitor Filter Design Techniques, IEEE J. Solid-State
Circuits, pp. 1103-1113, Dec. 1985.
B. Murmann
EE315B - Chapter 5
74
Q2
1
WLCox ( H Vtn )
2
Voltage across C
VC = Vin +
B. Murmann
Q 2
C
EE315B - Chapter 5
75
Q1
B. Murmann
1
WLCox ( H Vin Vtn )
2
EE315B - Chapter 5
76
Q X = CVin Q2
Charge injected by M2
(Signal independent)
Interesting observation
Even though M1 injects
some charge, the total
charge at node X cannot
change!
Idea
Process total charge at
node X instead of looking at
voltage across C
EE315B - Chapter 5
B. Murmann
77
VX =
M1
QX
Q2
C
= Vin
C + Cp
C + Cp C + Cp
Vx
1e
Cpar
M2
1e
Remaining drawback
Cpar (and buffer input capacitance) is usually weakly nonlinear
and will introduce some harmonic distortion
B. Murmann
EE315B - Chapter 5
78
B. Murmann
79
Q X1 = CVin Q2 + 0 Cf
Q X2 = Cf Vout
Q X1 = Q x2
Charge Conservation:
CVin Q2 = Cf Vout
Vout =
Q2
C
Vin +
Cf
Cf
B. Murmann
EE315B - Chapter 5
80
Clock Generation
B. Murmann
EE315B - Chapter 5
81
B. Murmann
EE315B - Chapter 5
82
Analysis (1)
Q1m = CVinp + Q
Q1p = CVinm + Q
1)
Q1m = Q2m
2)
Q1p = Q2p
Vxm = Vxp
Vop + Vom
2
= Voc
EE315B - Chapter 5
B. Murmann
83
Analysis (2)
C
( Vinp Vinm )
Cf
Cf
Q
C
+
V oc
V ic
C + Cf C + C f
C + Cf
B. Murmann
EE315B - Chapter 5
84
S.H. Lewis & P.R. Gray, "A Pipelined 5 MSample/s 9-bit Analog-to-Digital Converter", IEEE
J. Solid-State Circuits, pp. 954-961, Dec. 1987
B. Murmann
85
Analysis (1)
During 1
During 2
C
C
V
V
V
V
C
C
V
C
B. Murmann
EE315B - Chapter 5
86
Analysis (2)
B. Murmann
EE315B - Chapter 5
87
Flip-Around T/H
[W. Yang et al., "A 3-V 340-mW 14-b 75-MSample/s CMOS ADC With 85-dB SFDR at
Nyquist Input", IEEE J. Solid-State Circuits, pp. 1931-1936, Dec. 2001]
B. Murmann
EE315B - Chapter 5
88
M1-
1+
1
M1
1+
1-
11
1+
2
B. Murmann
EE315B - Chapter 5
89
EE315B - Chapter 5
90
B. Murmann
91
Capacitors
Metal-Insulator-Metal (MIM)
B. Murmann
EE315B - Chapter 5
92
Plate Parasitics
Ideal Capacitor
Symbol
Typical Integrated
Circuit Capacitor
B. Murmann
EE315B - Chapter 5
93
B. Murmann
EE315B - Chapter 5
94
Outline
Advanced techniques
Clock bootstrapping
Bottom plate sampling
B. Murmann
EE315B - Chapter 5
95
Cf
1
Cs
Gm
CL
B. Murmann
EE315B - Chapter 5
96
xd
od
2
x
gm v x
for
io =
ID sign ( v x )
gm v x < ID
else
EE315B - Chapter 5
B. Murmann
97
Vofinal
t=0
-Vistep
v o (t) = Vofinal 1 e t /
(ignoring feedforward zero)
B. Murmann
Cf
Cf + Cs + Cx
EE315B - Chapter 5
98
Waveform Detail
Static
Error 0
Dynamic
Error d(t)
1
V
V o/V
/V
out o,ideal
out,ideal
0.8
0.6
0.4
0.2
0
0
10
t/
EE315B - Chapter 5
B. Murmann
99
Cs T0
Cf 1 + T0
T0 = gmro = avo
Cs
Cf
Vofinal Vofinal,ideal
Vofinal,ideal
T
1
1
1
1
T
+
=
=
1
1+ T
T
B. Murmann
EE315B - Chapter 5
100
t /
Vofinal
v o (t) Vofinal Vofinal 1 e
dynamic (t) =
=
= e t /
Vofinal
Vofinal
N=
ts
= ln ( d )
dynamic
1%
4.6
0.1%
6.9
0.01%
9.2
EE315B - Chapter 5
B. Murmann
101
Time Constant
Cf
C f + Cs + C x
R=
1
gm
CLtot = CL + (1 ) Cf
B. Murmann
1 CLtot
gm
EE315B - Chapter 5
102
Transconductor Current
0
Vofinal
t=0
-Vistep
v o (t) = Vofinal 1 e t /
dv o (t)
V
= CLtot ofinal e t /
dt
Vofinal
EE315B - Chapter 5
B. Murmann
103
Slewing
CLeff
Vofinal
>I
1 CLtot D
gm
Vofinal
> ID
gm
1
>
Vofinal
ID
B. Murmann
EE315B - Chapter 5
104
v o (t) =
ID
t = SR t
CLtot
CLtot
Volin =
ID
CLtot
EE315B - Chapter 5
B. Murmann
105
CLtot
ID
Using the above result, we can now calculate the dynamic error
during the final linear settling portion
For t > t slew :
t t slew ) /
v o (t) = Voslew + Volin 1 e (
( t t slew ) /
Vofinal
v o (t) Vfinal Voslew + Volin 1 e
d (t) =
=
Vfinal
Vofinal
d (t) =
B. Murmann
Volin ( t t slew ) /
e
Vofinal
EE315B - Chapter 5
106
Noise Analysis
Cf
1
Cs
Gm
CL
EE315B - Chapter 5
B. Murmann
107
Much easier
Use equipartition theorem
C
V
B. Murmann
EE315B - Chapter 5
108
C
V
q2x = kT ( Cs + Cf )
EE315B - Chapter 5
B. Murmann
109
1
R
Gm
4kTRon1f
4kT
f
Gm
B. Murmann
EE315B - Chapter 5
110
C
2
N1 = 4kTRon1f s H( j)
Cf
N2 = 4kTRon2 f H( j)
Na =
C
4kT
2
f 1 + s H( j)
Gm
Cf
Cs
1 +
Cf
Na
=
>> 1
N1 GmRon1 C 2
s
Cf
Na
Cs
=
1+
>> 1
N2 GmRon2
Cf
B. Murmann
111
1
Gm
4kTGm f
v o2
1
1
= 4kT
R
f
R
j CLtot
v o2
B. Murmann
1
R
= 4kT
f
R
1 + j RCLtot
0
EE315B - Chapter 5
df =
1 kT
CLtot
112
1
q2x = kT ( Cs + Cf )
2
v o,1
=
Cs + C f
kT
=
C2
C2f
f
q2x
kT Cs
=
1 +
C
f
Cf
2
v o,tot
=
2
v o,2
1 kT
CLtot
kT Cs
1 kT
1 +
+
Cf
Cf
CLtot
EE315B - Chapter 5
B. Murmann
113
V 2
o
kT
C
DRdiff
2V )
(
kT
C
=2
V o2
kT
C
Yes, theres a 3dB win in DR, but it comes at twice the power
dissipation (due to two half circuits)
B. Murmann
EE315B - Chapter 5
114
Outline
Advanced techniques
Clock bootstrapping
Bottom plate sampling
B. Murmann
EE315B - Chapter 5
115
SC Noise Simulation
B. Murmann
EE315B - Chapter 5
116
SC Noise Simulation
Transient Noise
Direct simulation of all noise sources using a transient
simulation
Most physical way of simulating noise
EE315B - Chapter 5
B. Murmann
117
vic
vic
Cfm
cf
p1
cs
Csp
cs
Csm
p1
voc
vdd
vocs
Cfp
cf
vic
vic
fs = 100 MHz, = 2, = 1
Cs = Cf = 100 fF, CL = 500 fF, Cpar 0
B. Murmann
EE315B - Chapter 5
118
EE315B - Chapter 5
B. Murmann
119
PSD [V2/Hz]
-15
-20
-25
Integral [uVrms]
10
B. Murmann
x 10
10
10
10
Frequency [Hz]
10
10
10
12
-4
406Vrms
4
2
0 2
10
10
10
10
Frequency [Hz]
EE315B - Chapter 5
10
10
10
12
120
PSD [V2/Hz]
-15
-20
-25
Integral [uVrms]
10
x 10
10
10
10
Frequency [Hz]
10
10
10
12
-4
266Vrms
2
0 2
10
10
2
v out,tot
=
B. Murmann
10
10
Frequency [Hz]
10
10
( 406Vrms )2 + ( 266Vrms )2
10
12
= 485Vrms
EE315B - Chapter 5
121
B. Murmann
EE315B - Chapter 5
122
B. Murmann
EE315B - Chapter 5
123
B. Murmann
EE315B - Chapter 5
124
1
10
=
N fs
2RonC
EE315B - Chapter 5
B. Murmann
125
Numsidebands
B. Murmann
Maxacfreq 15GHz
=
= 150
fs
100MHz
EE315B - Chapter 5
126
Integrated Noise
EE315B - Chapter 5
B. Murmann
127
B. Murmann
EE315B - Chapter 5
128
Comparison
Method
Calculation
406
245
474
.NOISE
406
266
485
PNOISE
475
TRAN
NOISE
477
B. Murmann
EE315B - Chapter 5
129
B. Murmann
EE315B - Chapter 5
130
Basics
B. Murmann, "Thermal Noise in Track-and-Hold Circuits: Analysis and
Simulation Techniques," IEEE Solid-State Circuits Magazine, vol. 4, no.
2, pp. 46-54, June 2012.
B. Murmann
EE315B - Chapter 5
131
B. Murmann
EE315B - Chapter 5
132
Voltage Comparators
Boris Murmann
Stanford University
murmann@stanford.edu
Copyright 2013 by Boris Murmann
B. Murmann
EE315B - Chapter 6
Recap
B. Murmann
EE315B - Chapter 6
2B-1
Dout
Vin
2B-1 Decision Levels
B. Murmann
EE315B - Chapter 6
Function
Compare the instantaneous values of two analog voltages
(e.g. an input signal and a reference voltage) and generate a
digital 1 or 0 indicating the polarity of that difference
We essentially want to implement infinite gain
B. Murmann
EE315B - Chapter 6
Considerations
Amplification need not be linear
Amplification need not be continuous time if comparator is
used in a sampled data system
Clock signal will tell comparator when to make a decision
We will focus on this case, since it is the predominant scenario
EE315B - Chapter 6
B. Murmann
Our focus
B. Murmann
EE315B - Chapter 6
In each stage:
u =
gm
const.
Cgs
A 0 = gmR =
u
0
0 =
1
= u
RC A 0
B. Murmann
Vistep
s
Av
N
(1+ s A )
1/N
u =
1
u
A v = AN
0
1/N
1/N N 1 A
Vout (t) = Vistep A v 1 e u A v u v
i!
i=0
A(t)
B. Murmann
EE315B - Chapter 6
d(N=3)
10(1-e-1)
6
4
N=1
N=3
N=5
Av*(1-e-1)
0
0
10
15
Time t/u
B. Murmann
A( d ) = A v 1 e1
(numerically)
50
Av=10
Av=100
Av=1000
40
30
20
10
6
8
10
N (Number of stages)
12
14
B. Murmann
EE315B - Chapter 6
10
12
Numerical result
ln(Av)
10
8
6
4
2
0 0
10
10
10
10
Av (Total gain)
10
10
Nopt ln(A v )
EE315B - Chapter 6
B. Murmann
11
4
3.5
3
2.5
2
1.5
1 0
10
Nopt ln(A v )
B. Murmann
Numerical result
e
4.5
10
10
10
Av (Total gain)
Nopt
A v = A 0,opt
EE315B - Chapter 6
10
Nopt
10
A 0,opt e
12
Intuition
Load resistors (in a cascade of open-loop amplifiers) shunt
current away from load capacitance; this slows down
amplification
g
v o1 = m vin = u vin
sC
s
v oN =
N
u
sN
vin
EE315B - Chapter 6
B. Murmann
13
10
10
8
Step response A(t)
Vout (s) =
4
N=1 (with R)
N=1 (integ)
4
N=3 (with R)
N=3 (integ)
Av*(1-e-1)
0
0
B. Murmann
10
Time t/u
tN
N!
Av*(1-e-1)
15
0
0
EE315B - Chapter 6
10
Time t/u
15
14
Delay time
1/N
d = u [(N! A( d ))]
A( d ) =
Vout ( d )
Vinstep
EE315B - Chapter 6
B. Murmann
15
t=0
Inverter
Transconductance
[Figueiredo]
/
EE315B - Chapter 6
/
16
Simulation Example
I4
I7
vdm
vp
ideal_balun
vcm
vm
vic
vip
vop
vim
vom
vp
vdm
ideal_balun
vm
vcm
p2!
vid
M0
10u/0.18u
vod
voc
M4
10u/0.18u
p1!
vip
C3
cl
vid
vdc:vdd vdc:vic
M1
5u/0.18u
M3
5u/0.18u
C0
cl
V5
vdc:vid
B. Murmann
CL=100 fF
p2!
vic
V2
vop
p1
p1b
p1e
p1eb
p2
p2b
p2e
clock_gen
p1!
vdd
V0
vim
vom
p1!
p2!
EE315B - Chapter 6
17
Transient Response
Nodes vOP and vON for differential inputs of 1mV, 1V, 1nV and 1pV
2 goes high
B. Murmann
EE315B - Chapter 6
18
Transient Response
Differential Mode
Common Mode
EE315B - Chapter 6
B. Murmann
19
=
/
=
/
B. Murmann
600ps
600ps
=
=
= 43
ln 10
6 2.3
ln
EE315B - Chapter 6
20
Comparison
10
Amplification A(t)
4
N=3 (with R)
N=3 (integ)
Latch
Av*(1-e-1)
0
0
t/ t/
Time
10
15
EE315B - Chapter 6
B. Murmann
21
Latch Gain
B. Murmann
A(d)
d/
10
2.3
100
4.6
1,000
6.9
10,000
9.2
EE315B - Chapter 6
22
"The" Architecture
B. Murmann
EE315B - Chapter 6
23
EE315B - Chapter 6
24
Class-AB
Input pair has constant bias, but latch draws current only
while making a decision
B. Murmann
EE315B - Chapter 6
25
Fully dynamic
Draws (significant) current only while making a decision
Original paper:
[Kobayashi, JSSC, April 1993]
B. Murmann
EE315B - Chapter 6
26
Offset in Latches
vOP
vON
VOS,static
CLP
CLN
1
2
Example:
1 10
0.3 0.9 = 30
2 100
Minimize, if possible
EE315B - Chapter 6
B. Murmann
27
2VOS = 2VOS1 +
1
A 2v
2VOS2
B. Murmann
( 3mV )2 +
1
10
( 30mV )2
EE315B - Chapter 6
= 4.2mV
28
B. Murmann
EE315B - Chapter 6
29
B. Murmann
EE315B - Chapter 6
30
B. Murmann
EE315B - Chapter 6
31
Class-A topology
Integrate noise at regenerative node over all frequencies and
refer to the input kT/CL
See Opris, Electronics Letters, July 1997
Dynamic topology
Very hard to analyze due to the time variant behavior
See Nuzzo, IEEE TCAS1, July 2008
Fortunately, the end result is not too far from class-A-like
noise estimation in the decision point kT/CL
B. Murmann
EE315B - Chapter 6
32
Kickback
EE315B - Chapter 6
B. Murmann
33
B. Murmann
EE315B - Chapter 6
34
B. Murmann
EE315B - Chapter 6
35
Overdrive recovery
Consider a very large input, followed by a very small input of
opposite polarity
Metastability
What if the input is so small that the comparator cannot
decide in the given amount of time?
B. Murmann
EE315B - Chapter 6
36
Comparator
input
Preamp
output
[Razavi, p. 183]
B. Murmann
37
Metastability (1)
treg/
25
= ln
20
15
10
5
0 -15
10
10
-10
10
-5
10
vOD0/V/VDD
B. Murmann
EE315B - Chapter 6
38
Metastability (2)
The following logic gates will go into an erratic state that is hard
to predict, and so we classify this outcome as an error
EE315B - Chapter 6
B. Murmann
39
Metastability (3)
/
1
/
,
/
=
=
, ,
-vID0,max
+vID0,max
-vID0,min +vID0,min
B. Murmann
EE315B - Chapter 6
40
MTF [days]
10
=
1
10
fs=10GHz
fs=100MHz
-2
10
-18
10
-16
10
-14
10
-12
10
-10
10
Pmeta
EE315B - Chapter 6
B. Murmann
41
/
/
=
1 V
2 2
2
B. Murmann
EE315B - Chapter 6
42
10
-5
Pmeta
10
-10
10
-15
10
-20
10
10
20
30
40
50
[ps]
60
70
80
B. Murmann
EE315B - Chapter 6
43
Metastability Detectors?
Why not build a clever logic circuit that detects the metastable
state and overrides it with a valid logic state?
This sounds good, but is difficult to do in reality
Logic gates look like "low pass filters" compared to a latch
A latch provides the maximum possible gain per unit of time;
any gate delay added after the latch (that eats into the
regeneration time) is counterproductive
Most (if not all) metastability detector ideas
proposed in literature tend to create new
metastable states
Related article: R. Ginosar, "Fourteen ways to
fool your synchronizer," 2003
B. Murmann
EE315B - Chapter 6
44
B. Murmann
EE315B - Chapter 6
45
B. Murmann
EE315B - Chapter 6
46
EE315B - Chapter 6
B. Murmann
47
B. Murmann
EE315B - Chapter 6
48
EE315B - Chapter 6
B. Murmann
49
6ps
B. Murmann
EE315B - Chapter 6
50
M. Choi and A. A. Abidi, "A 6-b 1.3-GSample/s A/D converter in 0.35-m CMOS,"
IEEE J. Solid-State Circuits, pp. 1847-1858, Dec. 2001.
10. I. Mehr and D. Dalton, "A 500-MSample/s, 6-bit Nyquist-rate ADC for disk-drive readchannel applications," IEEE J. Solid-State Circuits, pp. 912-920, July 1999.
11. I. Mehr and L. Singer, A 55-mW, 10-bit, 40-MSample/s Nyquist-Rate CMOS ADC,
IEEE J. Solid-State Circuits, pp. 318-25, March 2000.
12. G.R. Couranz, and D.F. Wann, "Theoretical and Experimental Behavior of
Synchronizers Operating in the Metastable Region," IEEE Trans. Computers, vol. C24, no.6, pp. 604-616, June 1975.
B. Murmann
EE315B - Chapter 6
51
10. B. Zojer, et al., A 6-bit/200-MHz full Nyquist A/D converter, IEEE J. Solid-State
Circuits, vol. SC-20, pp. 780-786, June 1985.
11. K.-L.J. Wong and C.-K.K. Yang, "Offset compensation in comparators with minimum
input-referred supply noise," IEEE J. Solid-State Circuits, pp. 837-840, May 2004.
12. A. Graupner, "A Methodology for the Offset-Simulation of Comparators,"
http://www.designers-guide.org/Analysis/comparator.pdf.
13. D. Schinkel et al., "A Double-Tail Latch-Type Voltage Sense Amplifier with 18ps
Setup+Hold Time," ISSCC Dig. Techn. Papers, pp. 314-315, 2007.
14. P.P. Nuzzo, et al., "Noise Analysis of Regenerative Comparators for Reconfigurable
ADC Architectures, IEEE Trans. Circuits Syst. I, pp.1441-1454, July 2008.
15. B.S. Leibowitz, et al., "Characterization of Random Decision Errors in Clocked
Comparators," Proc. IEEE CICC, pp.691-694, Sep. 2008.
16. Analog Devices, "Find Those Elusive ADC Sparkle Codes and Metastable States"
http://www.analog.com/en/content/0,2886,760%255F788%255F91218,00.html
19. M. Miyahara and A. Matsuzawa, "A low-offset latched comparator using zero-static
power dynamic offset cancellation technique," ASSC, pp. 233-236, Nov. 2008.
20. P.M. Figueiredo, "Comparator Metastability in the Presence of Noise," IEEE TCAS1,
vol. 60, no. 5, pp.1286-1299, May 2013.
B. Murmann
EE315B - Chapter 6
52
Flash ADCs
Boris Murmann
Stanford University
murmann@stanford.edu
Copyright 2013 by Boris Murmann
EE315B - Chapter 7
B. Murmann
Nyquist rate
Word-at-a-time
Flash ADC
Instantaneous comparison with 2B-1 reference levels
Multi-step
E.g. pipeline ADCs
Coarse conversion, followed by fine conversion of residuum
Bit-at-a-time
E.g. successive approximation ADCs
Conversion via a binary search algorithm
SPEED
Level-at-a-time
E.g. single or dual slope ADCs
Input is converted by measuring the time it takes to
charge/discharge a capacitor from/to input voltage
B. Murmann
EE315B - Chapter 7
10
Flash
Folding
Two-Step
Pipeline
10
10
SAR
Other
1000fs
in,hf
[Hz]
100fs
10
10
rms
rms
Jitter
Jitter
20
30
40
50
60
70
80
SNDR [dB]
90
100
110
120
hf
EE315B - Chapter 7
B. Murmann
Flash ADCs
Microprocessors
5
4
3
2
1
0
1996
1998
2000
2002
2004
2006
2008
Year
B. Murmann
EE315B - Chapter 7
Vadc
Dout
T/H
Fast
Speed limited only by comparator
decision
High complexity, large input capacitance
Resolution tends to limited to 6 bits
B. Murmann
Wallace Encoder
CLK
Vin
EE315B - Chapter 7
Single bubble
Double
bubble
Fast
moving
input
K. Uyttenhove, M.S.J. Steyaert, "A 1.8-V 6-bit 1.3-GHz flash ADC in 0.25-m CMOS," JSSC, pp. 1115-1122, July 2003.
B. Murmann
EE315B - Chapter 7
e.g. due to
timing offset
between two
comparators
B. Murmann
EE315B - Chapter 7
B. Murmann
EE315B - Chapter 7
B. Murmann
EE315B - Chapter 7
Y. Tamba, and K. Yamakido, "A CMOS 6 b 500 MS/s ADC for a hard disk drive read channel, ISSCC 1999, pp. 324-325
B. Murmann
EE315B - Chapter 7
10
B. Murmann
EE315B - Chapter 7
11
B. Murmann
EE315B - Chapter 7
12
B. Murmann
13
Gray
T1
T2
T3
T4
T5
T6
T7
G3
G2
G1
B3
B2
B1
G3
B. Murmann
Binary
G2
G1
EE315B - Chapter 7
14
Efficient Implementation
Reference
C. Portmann and T. Meng, Power-Efficient Metastability Error
Reduction in CMOS Flash A/D Converters, IEEE J. Solid-State
Circuits, pp. 1132-40 , Aug. 1996.
EE315B - Chapter 7
B. Murmann
15
Offset
AVT
WL
<
1 FSR
4 2 2B
AVT
1 1V
<
= 2.8mV
WL 4 2 26
Huge!
2
2
2
A
3
18.4m
3 4mV m
2
VT
WL >
= 102m
= 18.4m W >
=
0.18m
2.8mV
2.8mV
B. Murmann
EE315B - Chapter 7
16
Re-cap of Options
B. Murmann
EE315B - Chapter 7
17
R2/R1=1.3
EE315B - Chapter 7
18
DNL/
EE315B - Chapter 7
19
B. Murmann
EE315B - Chapter 7
20
S. Sutardja, "360 Mb/s (400 MHz) 1.1 W 0.35m CMOS PRML read channels with 6
burst 8-20 over-sampling digital servo," ISSCC Dig. Techn. Papers, Feb. 1999.
EE315B - Chapter 7
B. Murmann
21
Voutn
Voutp
Dcalp
CAL
Vlo Vhi
Vrefn
MUX/Encoder
Vinp
Vinn
Vrefp
CAL
Dcaln
Vlo Vhi
B. Murmann
EE315B - Chapter 7
22
Out
RefIn-
INC/
DEC
Start-up calibration is
reasonably stable at flash
ADC resolutions
The correction circuit shown
on the previous slide has a
relatively low temperature
dependence
AVG
Control Bits
Out
Input-referred
Offset
In+
Ref+
Offset = 0
t
B. Murmann
EE315B - Chapter 7
23
Ideally, the trim-DAC must bring the offset well within one LSB
of the flash ADC
B. Murmann
EE315B - Chapter 7
24
+
Vref0
Vref0 (eff)
+
Vref1
Vref2
Vref2 (eff)
+
Vref3
Vref1 (eff)
3
Vref3 (eff)
EE315B - Chapter 7
B. Murmann
25
2
Vref0 (eff)
+
Vref1
Vref2
Vref3
Vref1 (eff)
1
Vref2 (eff)
3
Vref3 (eff)
EE315B - Chapter 7
26
900mW
Wallace Encoder
Paulus et al., "A 4GS/s 6b flash ADC in 0.13um CMOS," VLSI Circuits Symposium, 2004
B. Murmann
EE315B - Chapter 7
27
EE315B - Chapter 7
28
Idea: Have multiple input pairs and use the one you like
[Chen, VLSI 2013]
B. Murmann
EE315B - Chapter 7
29
Details
B. Murmann
EE315B - Chapter 7
30
Performance Comparison
[Chen, VLSI 2013]
B. Murmann
EE315B - Chapter 7
31
[Park & Flynn, "A 3.5 GS/s 5-b Flash ADC in 90 nm CMOS," CICC 2006]
B. Murmann
EE315B - Chapter 7
32
Details
[Park & Flynn, "A 3.5 GS/s 5-b Flash ADC in 90 nm CMOS," CICC 2006]
B. Murmann
EE315B - Chapter 7
33
Measured Results
[Park & Flynn, "A 3.5 GS/s 5-b Flash ADC in 90 nm CMOS," CICC 2006]
B. Murmann
EE315B - Chapter 7
34
Reducing Complexity
Even with calibration, flash ADCs tend to hit a wall beyond 6 bits
of resolution
Large calibration range
Large input capacitance
Complex encoder
EE315B - Chapter 7
B. Murmann
35
Interpolation
Idea
Interpolation between preamp outputs
Important side-benefit
Decreased sensitivity to preamp offset
Improved DNL
B. Murmann
EE315B - Chapter 7
36
Concept
B. Murmann
EE315B - Chapter 7
37
Differential Implementation
VA + VB
=0
2
B. Murmann
EE315B - Chapter 7
VA = VB
38
B. Murmann
EE315B - Chapter 7
39
B. Murmann
EE315B - Chapter 7
40
Folding
MSB
ADC
VIN
Digital
Output
LSB
ADC
Folding Circuit
B. Murmann
EE315B - Chapter 7
41
Simplest Variant
[Verbruggen, JSSC, March 2009]
Folding circuit
B. Murmann
EE315B - Chapter 7
42
B. Murmann
43
Folder Output
Folder Output
0.5
Accurate only at
zero-crossings
Ideal Folder
CMOS Folder
-0.5
0
0.5
1.5
2.5
3.5
Lowdown
0.1
Error
0.05
0
-0.05
-0.1
0
0.5
B. Murmann
1.5
2
Vin /
2.5
3.5
EE315B - Chapter 7
44
B. Murmann
Idea
Use interpolation to
eliminate some of
the folders
EE315B - Chapter 7
45
Interpolation
B. Murmann
EE315B - Chapter 7
46
B. Murmann
EE315B - Chapter 7
We have therefore
built a 6-bit ADC
with only 16
comparators
(instead of 63)
47
B. Murmann
EE315B - Chapter 7
48
B. Murmann
EE315B - Chapter 7
49
B. Murmann
EE315B - Chapter 7
50
Performance
EE315B - Chapter 7
B. Murmann
51
Subranging
4-bit Flash ADC
B. Murmann
EE315B - Chapter 7
52
EE315B - Chapter 7
53
B. Murmann
EE315B - Chapter 7
54
EE315B - Chapter 7
55
10.
11.
12.
13.
14.
15.
16.
B. Murmann
EE315B - Chapter 7
56
B. Murmann
EE315B - Chapter 7
57
SAR ADCs
Boris Murmann
Stanford University
murmann@stanford.edu
Copyright 2013 by Boris Murmann
EE315B - Chapter 8
B. Murmann
Vin
Minimize
D/A
Dout
B. Murmann
B. Murmann
EE315B - Chapter 8
B. Murmann
EE315B - Chapter 8
M.D. Scott, B.E. Boser, K.S.J. Pister, "An ultralow-energy ADC for Smart
Dust," IEEE J. Solid-State Circuits, pp. 1123 -1129, July 2003.
EE315B - Chapter 8
B. Murmann
Classical Implementation
C1A = C1B = C
B. Murmann
C2 = 2C
C3 = 4C
EE315B - Chapter 8
CB = 2B 1C
6
B. Murmann
EE315B - Chapter 8
Ctotal
1
Vx = Vref Vin
2
Ctotal + Cp
B. Murmann
EE315B - Chapter 8
Ctotal
1
Vx = Vref Vin
4
Ctotal + Cp
B. Murmann
EE315B - Chapter 8
Capacitor mismatch
Use self calibration to obtain precision beyond raw
technology matching [Lee, JSSC 12/84]
B. Murmann
EE315B - Chapter 8
10
Count
0
1996
1998
B. Murmann
2000
2002
2004
2006
Year
2008
2010
2012
EE315B - Chapter 8
2014
11
B. Murmann
EE315B - Chapter 8
12
Want to minimize unit caps as much as possible for low-tomoderate resolution SAR ADCs
0.5fF unit capacitors
13
13
B. Murmann
Asynchronous Timing
B. Murmann
EE315B - Chapter 8
14
EE315B - Chapter 8
B. Murmann
15
EE315B - Chapter 8
16
B. Murmann
EE315B - Chapter 8
17
Key insight: Do not have to switch entire MSB cap for first DAC transition
Total energy savings of 37%
B. Murmann
EE315B - Chapter 8
18
Resistive DAC
B. Murmann
19
0(t)
t
tdecision
bk
Input
-1 x +1
(conceptual model)
2-1
1
b0
1
b1
2-1
b2
2-2
B. Murmann
Register
EE315B - Chapter 8
Output x
20
k=0
x
0
x
-1
EE315B - Chapter 8
B. Murmann
21
bk
-1
1
b0
1
-2
b1
b2
-1
-2
b3
Register
-3
Output x
<
>
B. Murmann
EE315B - Chapter 8
22
k=0
x
0
Error /2
Note that
-1
EE315B - Chapter 8
B. Murmann
23
k=0
Tolerable
Error
x
/2
-1
B. Murmann
EE315B - Chapter 8
24
B. Murmann
EE315B - Chapter 8
25
B. Murmann
EE315B - Chapter 8
26
+. > +
= .
2-1
-ok
b0
1
b1
b2
2-1
Register
2-2
<
R. Vitek et al., A 0.015mm2 63fJ/conversion-step 10-bit 220MS/s SAR ADC with 1.5b/step
redundancy and digital metastability correction, in Proc. IEEE Custom Integrated Circuits
Conference, Sep. 2012, pp. 14.
EE315B - Chapter 8
B. Murmann
27
Normal Operation
1
k=0
+o1
x
+o0
-o1
0
-o0
-1
B. Murmann
EE315B - Chapter 8
28
+o0
+o1
0
-o1
-o0
-1
EE315B - Chapter 8
B. Murmann
29
2-1
1
b0
2-2
b1
b2
2-1
bk
b3
2-2
Register
= +
= = +.
= = .
B. Murmann
EE315B - Chapter 8
30
Normal Operation
1
k=0
x
0
Characteristic
crossing
-1
EE315B - Chapter 8
B. Murmann
31
k=0
x
0
-1
B. Murmann
EE315B - Chapter 8
32
2-1
1
b0
1
bk
-
2-1
b1
b1R
2-1
2-1
b2
Register
2-2
C.-C. Liu et al., A 10b 100MS/s 1.13mW SAR ADC with binary-scaled error compensation, in
ISSCC Dig. Techn. Papers, Feb. 2010, pp. 386387.
EE315B - Chapter 8
B. Murmann
33
Extra Levels
The addition of the redundant step provides extra levels that help
counter errors in previous decisions
b1R + b2
b2
+0.25+0.125 = 0.375
+0.125
+0.25-0.125 = +0.125
-0.125
-0.25+0.125 = -0.125
-0.25-0.125 = -0.375
B. Murmann
EE315B - Chapter 8
34
Normal Operation
1
k=0
2R
x
0
-1
EE315B - Chapter 8
B. Murmann
35
k=0
x
0
2R
-1
B. Murmann
EE315B - Chapter 8
36
B. Murmann
EE315B - Chapter 8
37
B. Murmann
EE315B - Chapter 8
38
=
-LSB
+LSB
vod0,min
2
= ln
= ln
ln
EE315B - Chapter 8
B. Murmann
39
50
thard/
40
30
20
10
-20
10
-15
-10
10
10
10
-5
P meta
B. Murmann
EE315B - Chapter 8
40
2 e
=2 e
2 e
, ()
EE315B - Chapter 8
B. Murmann
41
10
teasy=33
teasy=25
-5
10
Pmeta
-10
10
-15
10
-20
10
[ps]
B. Murmann
EE315B - Chapter 8
42
Comparator Reset
B. Murmann
EE315B - Chapter 8
43
B. Murmann
EE315B - Chapter 8
44
Pipeline ADCs
Boris Murmann
Stanford University
murmann@stanford.edu
Copyright 2013 by Boris Murmann
B. Murmann
EE315B - Chapter 9
Outline
Background
History and state-of the art performance
Derivation from SAR architecture
Architectural options
OTA sharing, SHA-less front-end
Research topics
B. Murmann
EE315B - Chapter 9
B. Murmann
10
Flash
Folding
Two-Step
Pipeline
10
10
SAR
Other
1000fs
in,hf
[Hz]
100fs
10
10
rms
rms
Jitter
Jitter
20
30
40
50
60
70
80
SNDR [dB]
90
100
110
120
hf
B. Murmann
EE315B - Chapter 9
SAR ADC
bk
-1
-2
b0
b1
b2
-1
b3
-2
Register
-3
Output x
EE315B - Chapter 9
B. Murmann
b0
1
-2
b1
b2
-1
-2
b3
Register
-3
Output x
B. Murmann
bk
EE315B - Chapter 9
b0
bk
b1
b2
-1
b3
-2
Register
-3
Output x
EE315B - Chapter 9
B. Murmann
b1
b0
1
b2
-1
-2
B. Murmann
EE315B - Chapter 9
b3
-3
Output x
Observation
EE315B - Chapter 9
B. Murmann
Stage 1
Stage n-1
Vin1
G11
G
ADC
Vres1
Stage n
DAC
D1
B. Murmann
EE315B - Chapter 9
10
V
SHA
Stage 1
Stage 2
Stage 3
ACQUIRE
CONVERT
ACQUIRE
CONVERT
BUFFER
ACQUIRE
CONVERT
ACQUIRE
New output data every clock cycle, but each stage introduces
clock cycle latency
B. Murmann
EE315B - Chapter 9
11
B. Murmann
EE315B - Chapter 9
12
Data Alignment
B. Murmann
EE315B - Chapter 9
13
Latency
B. Murmann
EE315B - Chapter 9
14
B. Murmann
EE315B - Chapter 9
15
Stage Analysis
Ignore timing/clock delays for simplicity
D = Q(Vin )
B. Murmann
EE315B - Chapter 9
16
B. Murmann
1
1 2
LSB =
2
2 2B
EE315B - Chapter 9
17
D = Vin + q
Vres = G q
Residue of pipeline stage (Vres) is equal to (-gain) times subADC quantization error
B. Murmann
EE315B - Chapter 9
18
Sub-ADC
Decision
Levels
B. Murmann
EE315B - Chapter 9
19
Pipeline Decomposition
B. Murmann
EE315B - Chapter 9
20
Resulting Model
res
in
1
qb
q
out
G
Dout = Vin + q 1
Gd
qb
+
Gd
With Gd=G
B. Murmann
EE315B - Chapter 9
21
Canonical Extension
q( n 1)
qn
G( n 1)
G q 2
G2
Dout = Vin + q1 1 1 +
1
+ n 1
1
+ ... + n 2
Gd( n 1)
Gd 1 Gd 1 Gd 2
G
G
dj
j =1
Note that above model assumes that all stages use same reference
voltage (same full scale range)
This is true for most designs, one exception is [Limotyrakis 2005]
B. Murmann
EE315B - Chapter 9
dj
j =1
22
qn
Dout = Vin + n 1
n 1
BADC = Bn + log 2G j
j =1
G j
j =1
EE315B - Chapter 9
23
Questions
B. Murmann
EE315B - Chapter 9
24
Vres
G1
G
qb
Db
q
B
{-1/2 1/2B}
+1
G/2B
Vres
2G/2B
-G/2B
-1
-1
Dout = Vin +
0
Vin
qb
G
+1
qb
B. Murmann
25
res
1
qb
b
q
B
Overrange!
res
qb
in
Any error in sub-ADC decision levels will overload backend ADC and
thereby deteriorate ADC transfer function
B. Murmann
EE315B - Chapter 9
26
B. Murmann
EE315B - Chapter 9
27
B. Murmann
EE315B - Chapter 9
28
B. Murmann
29
B. Murmann
EE315B - Chapter 9
30
B. Murmann
31
Amplifier Offset
Push
Sub-ADC offset
Easily accommodated through redundancy
B. Murmann
EE315B - Chapter 9
32
Gain Errors
qn
G +
Dout = Vin + q1 1 1
+ ... + n 1
Gd 1
dj
j =1
B. Murmann
33
Problem
Need to measure analog gain precisely
Example
Digital calibration of a 1-bit first stage with 1-bit redundancy
(R=1, B=2)
Note
Even if all Gdj are perfectly adjusted to reflect the analog gains, the ADC will have nonzero DNL and INL, bounded by 0.5LSB. This can be explained by the fact that the
residue transitions may not correspond to integer multiples of the backend-LSB. This
can cause non-uniformity in the ADC transfer function (DNL, INL) and also nonmonotonicity (see [Markus, 2005]).
In case this cannot be tolerated
B. Murmann
Add redundant bits to ADC backend (after combining all bits, final result can be truncated back)
Calibrate analog gain terms
EE315B - Chapter 9
34
EE315B - Chapter 9
B. Murmann
35
Step1:
Step2:
1)
Db( 1) = G [Vin + 0.25] + (qb
2)
Db( 2 ) = G [Vin 0.25] + (qb
1)
2)
Db( 1) Db( 2 ) = 0.5 G + (qb
(qb
B. Murmann
EE315B - Chapter 9
36
DAC Calibration
B. Murmann
EE315B - Chapter 9
37
B. Murmann
EE315B - Chapter 9
38
[Chuang 2002]
B. Murmann
EE315B - Chapter 9
39
Alternative Schemes
Background calibration
See e.g. [Ming 2001]
Makes sense primarily when calibration parameters are
expected to drift
Capacitor ratios do not drift!
Background calibration is justifiable e.g. when drift in OTA
open-loop gain is an issue
B. Murmann
EE315B - Chapter 9
40
[Murmann 2003]
B. Murmann
EE315B - Chapter 9
41
Dout = D1 +
B. Murmann
1
1
D2 +
D3
4
16
EE315B - Chapter 9
42
EE315B - Chapter 9
B. Murmann
43
Vin
B1=3
R1=2
B2=3
R2=2
Stage 1
Stage 2
B3=2
Stage 3
8 Wires
???
6 Wires
Dout[5:0]
B. Murmann
EE315B - Chapter 9
44
1
1
= D1 + D2 +
D3
4
16
B. Murmann
D1
XXX
D2
XXX
D3
XX
-----------Dout DDDDDD
Bits overlap
Need adders (Still, no
good reason for calling
this "digital correction"...)
EE315B - Chapter 9
45
Can still use simple bit shifts; push actual multiplication into lowresolution output
E.g. a 1x10 bit multiplication needs only one adder
B. Murmann
EE315B - Chapter 9
46
Outline
Background
History and state-of the art performance
General idea of multi-step A/D conversion
Architectural options
OTA sharing, SHA-less front-end
Research topics
EE315B - Chapter 9
B. Murmann
47
Stage Implementation
Flash ADC
"MDAC"
SwitchedCapacitor
Circuit
B. Murmann
EE315B - Chapter 9
48
Generic Circuit
1:
Q = Vin kCs
2 :
Vres =
( k m ) Cs V
kCs
mCs
Vin
Vrefp +
refn
Cf
Cf
Cf
= G ( Vin Vdac )
B. Murmann
EE315B - Chapter 9
49
Stage redundancy
OTA architecture
OTA sharing?
Switch topologies
Comparator architecture
Time interleaving?
B. Murmann
EE315B - Chapter 9
50
B. Murmann
EE315B - Chapter 9
51
1
1
Ntot kT +
+
+ ...
C1 4C2 16C3
B. Murmann
EE315B - Chapter 9
52
Vin
C2/2
C2
Gm
C3/2
C3
Gm
Gm
1
1
Ntot kT +
+
+ ...
C1 4C2 16C3
EE315B - Chapter 9
B. Murmann
53
Vin
C2/2
C2
Gm
C3/2
C3
Gm
Gm
1
1
Ntot kT +
+
+ ...
C1 4C2 16C3
B. Murmann
EE315B - Chapter 9
54
[Cline 1996]
EE315B - Chapter 9
B. Murmann
55
Shallow Optimum
[Chiu 2004]
B. Murmann
EE315B - Chapter 9
56
Vin
C/4
C/2
Gm
C/8
C/4
Gm
Gm
B. Murmann
EE315B - Chapter 9
57
[Cline 1996]
B. Murmann
EE315B - Chapter 9
58
EE315B - Chapter 9
B. Murmann
59
Qualitative conclusion
Use low per-stage resolution for very high speed designs
Try higher resolution stages when power efficiency is most
important constraint
B. Murmann
EE315B - Chapter 9
60
[Chiu 2004]
= parasitic cap at output/total
sampling cap in each stage
(junctions, wires, switches, )
B. Murmann
61
Examples
Reference
[Loloee 2002]
[Bogner 2006]
Technology
90nm
90nm
0.18um
0.13um
Bits
10
10
12
14
Bits/Stage
1-1-1-1-1-1-1-3
2-2-2-4
1-1-1-1-1-1-1-1-1-1-2
3-3-2-2-4
SNDR [dB]
~56
~54
~65
~64
Speed [MS/s]
80
30
80
100
Power [mW]
13.3
4.7
260
224
mW/MS/s
0.17
0.16
3.25
2.24
B. Murmann
EE315B - Chapter 9
62
Re-Cap
EE315B - Chapter 9
B. Murmann
63
B. Murmann
EE315B - Chapter 9
64
Residue Plot
[Abo 1999]
B. Murmann
EE315B - Chapter 9
65
Cs
C
1+
Cf
C
B. Murmann
EE315B - Chapter 9
66
Capacitor Matching
EE315B - Chapter 9
B. Murmann
67
B. Murmann
EE315B - Chapter 9
68
Comparators
EE315B - Chapter 9
B. Murmann
69
Comparator Examples
Vin
[Chiu 2004]
[Mehr 2000]
B. Murmann
EE315B - Chapter 9
70
Thermal noise
Size capacitors to satisfy kT/C noise requirement
EE315B - Chapter 9
B. Murmann
71
[Ishii 2005]
~0.5V
(1Vpp,diff)
B. Murmann
EE315B - Chapter 9
72
Ideally, we'd have 1/2 clock cycle to settle linearly, but there is
some time needed for slewing and non-overlap clock timing
Assume 60% of half cycle is available for linear settling
In summary
fCLK ,max =
fT 1
f
1
2 0.5 0.6 = T
5 3
10
80
EE315B - Chapter 9
B. Murmann
73
Technology
NMOS fT
(at moderate VGS-Vt ~150mV)
fCLK,max = fT/80
0.35um
10GHz
125 MHz
0.18um
30GHz
375 MHz
90nm
90GHz
1.125GHz (?)
B. Murmann
EE315B - Chapter 9
74
Switches
[Ishii 2005]
EE315B - Chapter 9
B. Murmann
75
Front-End SHA
Need constant RON here to
minimize signal dependent
charge injection from S1N, S1P
Minimize
Jitter!
S1P
S1N
[Ishii 2005]
B. Murmann
EE315B - Chapter 9
76
N1 = 1 +
g m11 + g m 31
2...4
g m1
N2 = 1 +
g m 61
2
g m51
Cs
Cc
1
kT
kT
2
Vod
= 2 N1
+ 2( N2 + 1)
Cc
CLtot
Stage 1
Cf
Cf + Cs + Cgs1
Stage 2
ignore in first
cut design
CLtot = CL + (1 ) Cf + Cparasitic
EE315B - Chapter 9
B. Murmann
77
B. Murmann
kT
CLtot
Cc =
EE315B - Chapter 9
CLtot
3
78
Stage 1 Noise
Cs2
Cs1=C1P+C2P
Cs1 / 2
1
Cs1 + Cgs1 3
2
Vod
,1 = 18
1C
CLtot = Cs 2 + 1 s1
3 2
Vid2 ,1 =
kT
Cs 2 + Cs1 / 3
kT
2 Cs 2 + Cs1 / 3
18
2
EE315B - Chapter 9
B. Murmann
79
SHA Noise
=
Cs 0
1
Cs 0 + Cgs1 2
Cs1
1C
CLtot = Cs1 + 1 s 0
2 2
Cs0
2
2
Vod
,0 = Vid ,0 = 18
B. Murmann
kT
kT
kT
+
16
Cs1 + Cs 0 / 4 Cs 0
Cs1
EE315B - Chapter 9
80
Noise Budgeting
kT 1
2
= ( 280Vrms ) Cs1 = 1.66 pF
Cs1 2
9
kT
1
2
= ( 280Vrms ) Cs 2 = 0.38 pF
2 Cs 2 + Cs1 / 3 4
EE315B - Chapter 9
B. Murmann
81
Capacitor Sizes
Cs0
1.66pF
Cs1
1.66pF
Cs2
0.38pF
Cs3
190fF
Cs4
85fF
Cs5
42.fF (minimum)
Cs10
42.fF (minimum)
/2
/2
/2
B. Murmann
EE315B - Chapter 9
82
Reality Check
[Honda 2007]
B. Murmann
EE315B - Chapter 9
83
B. Murmann
EE315B - Chapter 9
84
B. Murmann
EE315B - Chapter 9
85
Motivation
SHA can burn up to 1/3 of total ADC power
Sampler
(MDAC)
[Chiu 2004]
B. Murmann
EE315B - Chapter 9
86
Strategies
Use first stage with large redundancy; this can help absorb
fairly large skew errors
Try to match sampling sub-ADC/MDAC networks
Bandwidth and clock timing
[Mehr 2000]
B. Murmann
EE315B - Chapter 9
87
Pipelined SAR
B. Murmann
EE315B - Chapter 9
88
b1
b0
b2
-1
b3
-2
-3
Output x
EE315B - Chapter 9
B. Murmann
89
Register
b0
1
b1
b2
-1
-2
B. Murmann
EE315B - Chapter 9
b3
-3
Output x
90
Implementation Example
1
Vo1
C
Vo1 = 1 + 5 Vo 2
C6
Vo2
Vo 2 = Vip Vref
) CC4
3
EE315B - Chapter 9
B. Murmann
91
Discussion
Advantages
Area efficient
Typically only one or two switched capacitor stages plus
comparator
Easy to calibrate
Need to measure only one coefficient (capacitor ratio)
Disadvantages
Slow
Need many clock cycles for a single conversion
B. Murmann
EE315B - Chapter 9
92
General
S. Kawahito, "Low-Power Design of Pipeline A/D Converters," Proc. CICC, pp.
505-512, Sep. 2006.
B. Murmann
93
Implementation
T. Cho, "Low-Power Low-Voltage Analog-to-Digital Conversion Techniques
using Pipelined Architecures, PhD Dissertation, UC Berkeley, 1995,
http://kabuki.eecs.berkeley.edu/~tcho/Thesis1.pdf.
L. A. Singer at al., "A 14-bit 10-MHz calibration-free CMOS pipelined A/D
converter," VLSI Circuit Symposium, pp. 94-95, Jun. 1996.
A. Abo, "Design for Reliability of Low-voltage, Switched-capacitor Circuits,"
PhD Dissertation, UC Berkeley, 1999,
http://kabuki.eecs.berkeley.edu/~abo/abothesis.pdf.
D. Kelly et al., "A 3V 340mW 14b 75MSPS CMOS ADC with 85dB SFDR at
Nyquist," ISSCC Dig. Techn. Papers, pp. 134-135, Feb. 2001.
A. Loloee, et. al, A 12b 80-MSs Pipelined ADC Core with 190 mW
Consumption from 3 V in 0.18-um, Digital CMOS, Proc. ESSCIRC, pp.
467-469, 2002
B.-M. Min et al., "A 69-mW 10-bit 80-MSample/s Pipelined CMOS ADC,"
IEEE JSSC, pp. 2031-2039, Dec. 2003.
Y. Chiu, et al., "A 14-b 12-MS/s CMOS pipeline ADC with over 100-dB
SFDR, IEEE JSSC, pp. 2139-2151, Dec. 2004.
S. Limotyrakis et al., "A 150-MS/s 8-b 71-mW CMOS time-interleaved
ADC," IEEE JSSC, pp. 1057-1067, May 2005.
T. N. Andersen et al., "A Cost-Efficient High-Speed 12-bit Pipeline ADC in
0.18-um Digital CMOS," IEEE JSSC, pp. 1506-1513, Jul 2005.
B. Murmann
EE315B - Chapter 9
94
B. Murmann
95
B. Murmann
EE315B - Chapter 9
96
Reference Generator
T. L. Brooks et al., "A low-power differential CMOS bandgap reference,"
ISSCC Dig. Techn. Papers, pp. 248-249, Feb. 1994.
B. Murmann
EE315B - Chapter 9
97
Time Interleaving
Boris Murmann
Stanford University
murmann@stanford.edu
Copyright 2013 by Boris Murmann
EE315B - Chapter 10
B. Murmann
Time-Interleaved ADC
M times increased throughput!
[Ken Poulton]
B. Murmann
EE315B - Chapter 10
Typical Timing
Sampling
clocks of each
ADC
B. Murmann
SNDRHF [dB]
60
50
40
30
20
10 8
10
10
10
10
11
10
EE315B - Chapter 10
Feasible
Solutions
Secondary factors
dominate the power
(e.g. flash resistor ladder)
B. Murmann
ADC0
Ts+1
o1
x(t)
ADC1
G1
y[n]
(N-1)Ts+N-1
oN-1
GN-1
Gain
B. Murmann
ADCN-1
Offset
EE315B - Chapter 10
Timing Skew
Offset Errors
[Ken Poulton]
EE315B - Chapter 10
[Gustavsson, p.262]
OS/FS
B. Murmann
EE315B - Chapter 10
Gain Errors
[Ken Poulton]
EE315B - Chapter 10
[Gustavsson, p.266]
Gain
B. Murmann
EE315B - Chapter 10
10
Timing Errors
Very similar to PM, jitter
[Ken Poulton]
EE315B - Chapter 10
11
B. Murmann
EE315B - Chapter 10
12
Timing skew
Much more difficult to handle, fully digital compensation
often too complex for practical designs
Popular solutions
Measure errors in digital domain, compensate via
adjustable delay lines typically incur a jitter penalty
Measure errors in digital domain, compensate by
skewing equalizer taps
See overview paper by B. Razavi, CICC 2012
EE315B - Chapter 10
B. Murmann
13
ADC0
y0[n]
Detection
Correction
~y1[n]
y1[n]
Sub-ADC
output
B. Murmann
Digital Backend
x(t)
ADC1
~y0[n]
Correction
EE315B - Chapter 10
Digitally corrected
sub-ADC output
14
B. Murmann
EE315B - Chapter 10
15
Background Calibration
B. Murmann
EE315B - Chapter 10
16
EE315B - Chapter 10
17
comp
offset
cntrl
G2(0)
63
comp
C Calibration
Logic
Interleave 0
Decoder
5-bit
8-bit
Calibration
DAC
vga
offset
cntrl
G1(0)
Flash
other
interleave
(not shown)
[Verma, ISSCC 2013]
B. Murmann
EE315B - Chapter 10
Coarse
nonlinearity
compensation
in G2(0)
18
Clock Generator
All traces and all transistors have mismatch, which can easily
result in ~10ps total timing skew for a complex clock tree
[A. Agarwal, CICC 2008]
EE315B - Chapter 10
B. Murmann
19
Global CML master clock times the sampling instants; local phase
gating for each ADC
B. Murmann
EE315B - Chapter 10
20
B. Murmann
21
B. Murmann
EE315B - Chapter 10
22
B. Murmann
EE315B - Chapter 10
23
EE315B - Chapter 10
24
Encoder
Control Bits
EE315B - Chapter 10
B. Murmann
25
B. Murmann
MUX
...
..
EE315B - Chapter 10
26
t
2
t
3
CAL
3
EE315B - Chapter 10
27
B. Murmann
EE315B - Chapter 10
28
Can also combine this idea with analog time skew control
B. Murmann
EE315B - Chapter 10
29
Hierarchical Interleaving
EE315B - Chapter 10
30
Quadrature Clocking
B. Murmann
EE315B - Chapter 10
31
Examples (1)
B. Murmann
EE315B - Chapter 10
32
Examples (2)
[Kull, VLSI 2013]
8 Interleaved SARs,
each running at
1.1GS/s
8.8GS/s, 50mW
B. Murmann
EE315B - Chapter 10
33
Examples (2)
[El-Chammas & Murmann, VLSI 2010]
8x Interleaved 5-bit Flash
12GS/s, 81mW
65nm CMOS
B. Murmann
EE315B - Chapter 10
34
Examples (3)
EE315B - Chapter 10
35
Examples (4)
B. Murmann
EE315B - Chapter 10
36
Boris Murmann
Stanford University
murmann@stanford.edu
Copyright 2013 by Boris Murmann
B. Murmann
EE315B - Chapter 11
Overview
Decimation filters
B. Murmann
EE315B - Chapter 11
Recap
Sampling theorem
fs > 2fsig ,max
B. Murmann
EE315B - Chapter 11
Anti-Alias Filtering
B. Murmann
EE315B - Chapter 11
Quantization Noise
Ne(f)
2/12
fB
fs/2
B. Murmann
EE315B - Chapter 11
f B 2
f s / 2 12
2
12
B. Murmann
EE315B - Chapter 11
Is this useful?
Reality check
Want 16-bit ADC, fB=1MHz
Use oversampled 8-bit ADC with digital lowpass filter
8-bit increase in resolution necessitates oversampling by 16
octaves
fs 2 fB M = 2 1MHz 216
131GHz
B. Murmann
EE315B - Chapter 11
Noise Shaping
Key: Feedback
B. Murmann
EE315B - Chapter 11
Y ( z ) = E ( z ) + A ( z ) X ( z ) A ( z )Y ( z )
= E (z)
A(z)
1
+ X (z)
1+ A ( z )
1+ A ( z )
= E ( z ) HE ( z ) + X ( z ) H X ( z )
123
123
Noise
Transfer
Function
Signal
Transfer
Function
EE315B - Chapter 11
B. Murmann
A(z)
1
+ X (z)
1+ A ( z )
1+ A ( z )
1
424
3
1
424
3
Noise
Transfer
Function
Signal
Transfer
Function
Objective
Want to make STF unity in the signal frequency band
Want to make NTF "small" in the signal frequency band
B. Murmann
EE315B - Chapter 11
10
V ( z ) = z 1U ( z ) + z 1V ( z )
v ( k ) = u ( k 1) + v ( k 1)
z 1
V (z)
U (z)
1 z
1
z 1
z = e j T
EE315B - Chapter 11
B. Murmann
11
E(z)
X(z)
+
-
z-1
1-z-1
Y(z)
+
DAC
1
1
Y (z) = E (z)
+ X ( z ) z 1 = E ( z ) 1 z 1 + X ( z ) z 1
1
1
1+
1+
z 1
z 1
B. Murmann
EE315B - Chapter 11
12
e j T / 2 e j T / 2
He ( j ) = 1 e j T = 2e j T / 2
= 2e
T
2
T
j sin
2
T
= 2 sin
j
e
T
2
f
He ( f ) = 2 sin ( fT ) = 2 sin
fs
B. Murmann
13
fB
fB
f
2 2
2 sin
12 fs
fs
2 2
12 fs
df
f
2 df
fs
3
2 2 2fB
2 2 1
12 3 fs
12 3 M 3
B. Murmann
EE315B - Chapter 11
14
SQNR
Psig
Pqnoise
1 2 1
2
2
= 1.5 2B 1 2 3 M 3
=
2
2
2
1
4
1
24
3
Due to noise
12 3 M 3
shaping &
digital filter
[dB ]
(for large B)
EE315B - Chapter 11
B. Murmann
15
SQNR Improvement
Example revisited
Want 16-bit ADC, fB=1MHz
Use oversampled 8-bit ADC, first order noise shaping and
(ideal) digital lowpass filter
SQNR improvement compared to case without oversampling is
-5.2dB+30log(M)
B. Murmann
SQNR improvement
16
256
1024
EE315B - Chapter 11
16
DAC Requirements
Y (z) = E (z)
A(z)
1
+ X ( z ) DAC ( z )
1+ A ( z )
1+ A ( z )
B. Murmann
17
Solutions
Trimming or calibration
Measure DAC levels during test or at power-up
Apply correction values to each level using auxiliary DAC
B. Murmann
EE315B - Chapter 11
18
Carley, L.R., "A noise-shaping coder topology for 15+ bit converters,"
IEEE JSSC, vol.24, no.2, pp.267-273, Apr. 1989.
B. Murmann
EE315B - Chapter 11
19
B. Murmann
EE315B - Chapter 11
20
B. Murmann
EE315B - Chapter 11
Code 3
Code 4
Code 2
21
B. Murmann
EE315B - Chapter 11
22
Single-Bit DAC
Even if these two levels are imprecise, the errors will only affect
gain and offset of the DAC and modulator
Tolerable in many applications
EE315B - Chapter 11
B. Murmann
23
Model
1-bit
code
SQNR
Psig
Pqnoise
1
9
2 2
= 2 2
= 2 M3
2
1
3
12 3 M
= 3.4 + 30 log(M )
[dB ]
B. Murmann
EE315B - Chapter 11
24
Implementation example
[Schreier, p. 31]
Not all that great in terms of achievable SQNR, but sufficient for
some applications
E.g. digital voltmeter
See [van de Plassche, pp. 469]
B. Murmann
EE315B - Chapter 11
25
Simulated Response
B. Murmann
EE315B - Chapter 11
26
Spectrum
[Schreier, p. 39]
f/fs
B. Murmann
EE315B - Chapter 11
27
B. Murmann
EE315B - Chapter 11
28
Input x(n)
0.5
-0.5
0
200
400
600
800
1000
200
400
600
Sample index n
800
1000
0.5
-0.5
0
B. Murmann
EE315B - Chapter 11
29
Another issue is that the gain of the single bit quantizer is illdefined, but we assumed it to be unity in our analysis
References
Schreier, Sections 3.2 and 4.2
S. Ardalan, and J. Paulos, "An analysis of nonlinear behavior
in delta - sigma modulators," IEEE TCAS, vol.34, no.6, pp.
593-603, June 1987.
T. Ritoniemi, T. Karema, and H. Tenhunen, "Design of stable
high order 1-bit sigma-delta modulators," Proc. IEEE ISCAS,
pp. 3267-3270, May 1990.
B. Murmann
EE315B - Chapter 11
30
Tones
B. Murmann
EE315B - Chapter 11
31
DC Input (1)
E.g. x(n)=0
Modulator generates an alternating sequence of 1s and 0s
Single tone at fs/2; no low frequency component
E.g. x(n)=0.001/2
Compared to previous example, only one in 1000 outputs
will change
Output has period of 1000T, and hence contains a low
frequency, in-band component
B. Murmann
EE315B - Chapter 11
32
DC Input (2)
fk = k DC + 0.5 fs
The plot on the following slide shows the total mean square
error due to in-band idle tones as a function of DC input (M=16)
B. Murmann
EE315B - Chapter 11
33
X/
B. Murmann
EE315B - Chapter 11
34
If idle tones are an issue, there are several options for mitigating their
impact
Larger oversampling ratio
Multi-bit quantizer and DAC
Dither
Superimpose a pseudorandom signal at the quantizer input to "whiten"
quantization noise
See e.g. Chapter 3 of Delta-Sigma Data Converters by Norsworthy, Schreier & Temes.
EE315B - Chapter 11
35
B. Murmann
EE315B - Chapter 11
36
HE ( z ) = 1 z 1
EE315B - Chapter 11
B. Murmann
37
fB
fB
f
2 2
2 sin
12 fs
fs
2 2
12 fs
f
2
fs
2 2L 2fB
12 2L + 1 fs
2 2L 1
12 2L + 1 M
2L
df
2L
df
2L +1
2L +1
B. Murmann
EE315B - Chapter 11
38
SQNR [dB]
EE315B - Chapter 11
B. Murmann
39
-1
-1
B. Murmann
-1
-1
EE315B - Chapter 11
40
z
1-z
a1
a2
Y(z)
z
1-z
a a z 2
HX (z ) = 1 2
D (z)
D( z ) = 1 z 1
B. Murmann
(1 z )
(z ) =
1
HE
+ a2bz 1 1 z 1 + a1a2 z 2 = 1
D (z)
a = a2 = 1 and b = 2
e.g. for 1
a1 = 0.5,a2 = 2 and b = 1
EE315B - Chapter 11
41
B. Murmann
EE315B - Chapter 11
42
EE315B - Chapter 11
B. Murmann
43
Compared to first
order modulator,
SQNR is in "better"
agreement with
simple linear model
-20
O
-30
1st order
O
-40
O
O
-50
-60
X
-70
-80
2nd order
-90
-100
-110
-120
8
16
32
64
128
256
512
1024
Oversampling Ratio
B. Murmann
EE315B - Chapter 11
44
He ( z ) =
L0 ( z ) =
B. Murmann
1
1 L1( z )
Hx ( z ) =
Hx ( z )
He ( z )
L1( z ) = 1
L0 ( z )
1 L1( z )
1
He ( z )
EE315B - Chapter 11
45
Stability
B. Murmann
EE315B - Chapter 11
46
Stability Heuristics
Single-bit
First order modulator is stable (bounded integrator output)
with arbitrary inputs of less than /2 in magnitude
Second order modulator is known to be stable with arbitrary
inputs of less than /20 in magnitude, and for "reasonable",
slow varying inputs of magnitude <0.8/2, integrator outputs
are "likely" to stay within bounds
Lee's criterion: modulator is "likely" to be stable if
max[He()]<1.5
Multi-bit
A modulator with Nth order differentiation using an N+1 bit
quantizer is stable for arbitrary inputs with amplitude less
than half the quantizer input range (Schreier, p. 104)
EE315B - Chapter 11
B. Murmann
47
M=40, L=6
[Norsworthy, pp.156]
max[He()]
max[He()]
B. Murmann
EE315B - Chapter 11
48
Achievable SQNR
EE315B - Chapter 11
B. Murmann
49
He ( z ) =
B. Murmann
1
1 + A( z )
Hx ( z ) =
A( z )
1 in band of interest
1 + A( z )
EE315B - Chapter 11
50
[Schreier, p. 115]
All zeros of NTF lie at DC for this structure, i.e. HE(z) = (1-z-1)N
B. Murmann
EE315B - Chapter 11
51
"Cookbook design"
See e.g. Delta-Sigma Data Converters, by Norsworthy,
Schreier & Temes, Sections 4.4 and 5.6
Choose order based on desired SQNR and M
Design NTF using filter approximations (e.g. Chebyshev2)
Make sure to obey Lee's criterion
B. Murmann
EE315B - Chapter 11
52
% order
EE315B - Chapter 11
B. Murmann
53
He [dB]
-20
-40
-60
-80
-100
10
B. Murmann
-3
-2
10
Frequency [f/f s]
EE315B - Chapter 11
10
-1
54
B. Murmann
EE315B - Chapter 11
55
Commercial Example
B. Murmann
EE315B - Chapter 11
56
Cascaded Modulators
Analog
In
DELAY
Digital
Out
DIGITAL
DIFFERENCE
Concept
Cascade of two or more stable (low order) modulators
Quantization error of each stage is quantized by the
succeeding stages and subtracted in digital domain
B. Murmann
EE315B - Chapter 11
57
B. Murmann
EE315B - Chapter 11
58
Properties
No stability issues
EE315B - Chapter 11
B. Murmann
59
1
z-1
1
z-1
1
z-1
B. Murmann
EE315B - Chapter 11
60
Mismatch Sensitivity
B. Murmann
EE315B - Chapter 11
61
2-1 Cascade
B. Murmann
EE315B - Chapter 11
62
Mismatch Sensitivity
EE315B - Chapter 11
B. Murmann
63
Electronic noise
Comparator hysteresis
Usually not a problem; simulations show that up to a few %
hysteresis can be tolerated
B. Murmann
EE315B - Chapter 11
64
t/Ts
Qs
QI
n-1
CsVi(n-1)
CIVo(n-1)
n-1/2
CsVi(n)
n+1/2
EE315B - Chapter 11
B. Murmann
65
Vo ( z ) Cs z 1
=
Vi ( z ) CI 1 z 1
B. Murmann
EE315B - Chapter 11
66
t/Ts
Qs
QI
n-1
CsVi(n-1)
CIVo(n-1)[1+1/A]
n-1/2
CsVo(n-1/2)/A
CIVo(n-1/2)[1+1/A] = CIVo(n-1)[1+1/A] +
CsVi(n-1) - CsVo(n-1/2)/A
CsVi(n)
CIVo(n)[1+1/A] = CIVo(n-1)[1+1/A] +
CsVi(n-1) - CsVo(n)/A
n+1/2
B. Murmann
EE315B - Chapter 11
67
1
CIVo ( z ) 1 + = z 1CIVo ( z ) 1 + + z 1CsVi ( z ) s Vo ( z )
A
A
A
1 C
z 1 1 1 + s
A CI
Vo ( z ) Cs
g z 1
=
Vi ( z ) CI
1 Cs 1
1 [1 ] z 1
z
1 1
A CI
Vo ( z ) = [1 ] z 1Vo ( z ) + g z 1Vi ( z )
B. Murmann
EE315B - Chapter 11
68
H0 = H( z ) z =1 =
g
g
= A
1 [1 ]
B. Murmann
EE315B - Chapter 11
69
Required DC Gain
Good practice to make OTA gain at least a few times larger than
oversampling ratio
B. Murmann
EE315B - Chapter 11
70
Integrator Noise
EE315B - Chapter 11
B. Murmann
71
kT kT 1
kT 1
+
+
Cs Cs 1 + 1
Cs 1 + x
{
x424444
1444
3
1
x = gm 2Ron
[Schreier, TCAS1, 2005]
2
Analysis of phi2 noise:
Calculate noise charge left behind
at Y after switch has turned off.
Charges at X and Y are equal and
opposite, so calculating charge on
Cs accomplishes the task.
B. Murmann
EE315B - Chapter 11
72
Second-Order Modulator
2
v in,tot1
PSD(f)
PSD(f)
2
v in,tot2
fs/2
fs/2
Y(z)
= 2 1 z 1 z 1
N2(z)
Y(z)
= z 2
N1(z)
EE315B - Chapter 11
B. Murmann
73
In-Band Noise
PSD(f)
PSD(f)
Digital filter
f
f
fb
fs/2
+
fb
PSD(f)
fs/2
fs/2
f
PSD(f)
OSR =
f
fs / 2
fb
fs/2
B. Murmann
f
fb
EE315B - Chapter 11
fs/2
74
In-Band Noise
PSD(f)
PSD(f)
fs/2
2
vin,tot1
fs/2
1
OSR
2
v in,tot2
2 1
3 OSR3
B. Murmann
vin,tot1
1
2 1
2
+ vin,tot2
OSR
3 OSR3
EE315B - Chapter 11
75
B. Murmann
EE315B - Chapter 11
76
Multi-Mode Modulator
[Ouzounov, ISSCC 2007]
B. Murmann
EE315B - Chapter 11
77
Decimation Filters
References
J. Candy, "Decimation for Sigma-Delta Modulation," IEEE
Trans. Communications, pp. 72-76, Jan. 1986.
Chapters 1 and 13 of Delta-Sigma Data Converters, by
Norsworthy, Schreier, Temes.
B.P. Brandt and B.A. Wooley, "A low-power, area-efficient
digital filter for decimation and interpolation," IEEE J. SolidState Circuits, pp. 679-687, June 1994.
E. Hogenauer, "An economical class of digital filters for
decimation and interpolation," IEEE Trans. Acoustics,
Speech and Signal Processing, pp. 155-162, Apr 1981.
Objectives
Remove out-of band quantization noise
Re-sample at lower frequency
Ideally at Nyquist rate
B. Murmann
EE315B - Chapter 11
78
Example
Decimation Filter (M = 256)
fS
Analog
Input
11.3
MHz
Modulator
1-Bit
(2nd-Order)
11.3
MHz
fN
44.1
kHz
Digital
Output
(16 Bits)
Quantization
Noise
Signal
Noise
Frequency
Frequency
Frequency
B. Murmann
EE315B - Chapter 11
79
Filter Requirements
B. Murmann
EE315B - Chapter 11
80
Multi-Step Decimation
EE315B - Chapter 11
B. Murmann
81
Frequency domain
N
H( z ) =
1 1 z
N 1 z 1
1 N 1
x (n i )
N i =0
f
sin N
fs
1
H( ) =
f
N
fs
j f ( N 1)
e fs
B. Murmann
EE315B - Chapter 11
82
-60
K=2
-70
K=3
-80
-90
-100
0 f B fN
fs1
M1
2f s1
M1
3f s1
M1
Frequency
Can show that for Lth order noise shaping, an (L+1)th order sinc
filter is the best choice
B. Murmann
EE315B - Chapter 11
83
Droop
[Norsworthy, p.30]
[Norsworthy, p.31]
B. Murmann
EE315B - Chapter 11
84
[Norsworthy, p.31]
EE315B - Chapter 11
B. Murmann
85
1 z -1
Delay
Denominator Section:
X
1
1 z -1
Y
Delay
B. Murmann
EE315B - Chapter 11
86
1
IN
11.3
MHz
20
176.4
kHz
FIRST
HALFBAND
FILTER
(R=18)
M 1 = 64
22
88.2
kHz
SECOND
DROOP
22
16
HALFBAND
CORRECTION
FILTER
FILTER
44.1
(R=8)
(R=110)
kHz
M2 = 2
OUT
44.1
kHz
M3 = 2
0
Passband Ripple
= 0.01 dB
-10
-20
-30
-40
Second
Halfband
Filter
-50
-60
First
Halfband
Filter
Third-Order
Sinc Filter
-70
-80
-90
-100
0
20
40
60
80
100
120
140
160
180
200
FREQUENCY (kHz)
EE315B - Chapter 11
B. Murmann
87
Droop Correction
0.6
0.5
0.4
0.3
Droop-Correction
Filter
0.2
First Halfband
Filter
0.1
0.0
-0.1
-0.2
Second
Halfband
Filter
Third-Order
Sinc Filter
-0.3
-0.4
-0.5
-0.6
0
10
12
14
16
18
20
22
FREQUENCY (kHz)
B. Murmann
EE315B - Chapter 11
88
Implementation
SINC FILTER
INTEGRATORS
20
20
20
20
20
43 multiplications and
84 additions per output
sample
Modulator
Output
20
Virtual Addr.
Logic
7
7
Addr
8
7
Data RAM
Addr
(128 x 22)
PROCESSOR
Coefficient/
Control ROM
R/W
Dout
(256 x 22)
Din
22
13
22
Ctrl.
Filter
Output
EE315B - Chapter 11
B. Murmann
89
b2
b3
y(t)
Time
bN
Digital-to-Analog Interface
B. Murmann
x*(t)
Zero-Order
Hold
EE315B - Chapter 11
90
Frequency Spectra
Magnitude
SpectralImage
Images
Spectral
Bands (Dirac Reconstruction)
Baseband Signal
|X*(f)|
fS/2
fS
2fS
3fS
fS/2
fS
2fS
3fS
fS/2
fS
2fS
3fS
|P Z (f)|
|YH (f)|
Frequency
EE315B - Chapter 11
B. Murmann
91
Oversampling
Magnitude
Spectral
Image
Bands
Spectral
Images
Analog Filter
|X(f)|
fB
fN
2 fN
(a)
(M-2) fN (M-1) fN
M fN
Analog Filter
|XM (f)|
fB
(b)
fS = M f N
Frequency
B. Murmann
EE315B - Chapter 11
92
Interpolation (1)
Nyquist-rate
Input
fB fS =fN
2 fN
After
Zero
Insertion
(M-2) fN (M-1) fN
M fN
fB
fN
2 fN
(M-2) fN (M-1) fN fS =M fN
EE315B - Chapter 11
B. Murmann
93
Interpolation (2)
Can remove images and get wide transition band to play with
Simple reconstruction filter
Possibility of noise shaping
Build a high resolution DAC using a low resolution D/A interface
B
Digital M
Lowpass
Filter
fB
fS =M fN
fB
fS =M fN
Interpolator
Output
B. Murmann
EE315B - Chapter 11
94
Example
DIGITA L
Digital 16
Input
fN
Digital
Digital
16
Interpolator M f
ANALOG
Analog
Reconstruction
Noise
N
Shaper M fN
Analog
Output
Filter
B. Murmann
95
Spectra
Spectral Images
Digital
Input
fN
Interpolator
Output
Noise
Shaper
Output
2 fN
(M-2) fN (M-1) fN
M fN
Baseband Signal
Truncation Noise
Quantization
Noise
M fN
M fN
Analog
Output
Frequency
B. Murmann
EE315B - Chapter 11
96
Example
E(z)
16 +
X(z)
18
19
z1
z1
Y(z)
+
18
Clipper
+
EE315B - Chapter 11
B. Murmann
97
z 1
z 1
...
z 1
DIGITA L
ANALOG
a1
a2
...
an
B. Murmann
EE315B - Chapter 11
98
DIGITA L
ANALOG
Weighted
Current
Sources
a
a
1
...
2
a 128
Current-to-Voltage
Conversion
I
out
I out
A OUT ( z ) =
a1 z
+ a2 z
+ a3 z
Analog
Output
+ + an z
DIN ( z )
H (z)
B. Murmann
99
Measurement Results
Reconstruction Filter
Output
0
Noise Shaper Output
Analog Output
20
40
60
80
100
120
140
160
1k
10k
100k
1M
Frequency (Hz)
B. Murmann
EE315B - Chapter 11
100
Boris Murmann
Stanford University
murmann@stanford.edu
Copyright 2013 by Boris Murmann
EE315B - Chapter 12
B. Murmann
10
-8
P/f s [J]
10
-10
10
-12
10
30
40
50
60
70
SNDR [dB]
80
90
100
110
EE315B - Chapter 12
10
-8
P/f s [J]
10
-10
10
-12
10
30
40
50
60
70
SNDR [dB]
80
90
100
110
EE315B - Chapter 12
Questions
B. Murmann
EE315B - Chapter 12
Fundamental Limit
1 VFS
2 2
SNR =
kT
C
Emin =
VDD = VFS
Pmin
= 8kT SNR
fs
B. Murmann
10
-8
Energy [J]
10
-10
10
4x/6dB
-12
10
-14
10
20
B. Murmann
30
40
50
60
70
SNDR [dB]
EE315B - Chapter 12
80
90
100
110
10
-8
Energy [J]
10
-10
10
4x/6dB
-12
10
-14
10
20
30
40
50
60
70
SNDR [dB]
80
90
100
EE315B - Chapter 12
B. Murmann
110
Normalized Plot
8
10
EADC/Emin
10
10
10
~10,000
100x in 8 years
~100
~2x in 8 years
10
20
B. Murmann
30
40
50
60
70
SNDR [dB]
EE315B - Chapter 12
80
90
100
110
There are (at least) two widely used ADC figures of merit (FOM)
used in literature
Walden FOM
Energy increases 2x per bit (ENOB)
Empirical
FOM =
Power
ENOB
fsnyq
Schreier FOM
Energy increases 4x per bit (DR)
Thermal
BW
Ignores distortion
FOM = DR(dB) + 10log
EE315B - Chapter 12
B. Murmann
FOM Lines
10
Energy [J]
10
10
10
10
-6
-8
-10
-12
-14
20
30
40
50
60
70
SNDR [dB]
80
90
100
110
Best to use thermal FOM for designs with SNDR > 60dB
B. Murmann
EE315B - Chapter 12
10
Energy by Architecture
10
P/f s [J]
10
10
10
-6
-8
-10
Flash
Pipeline
SAR
Other
-12
20
B. Murmann
30
40
50
60
SNDR [dB]
EE315B - Chapter 12
70
80
90
100
11
Flash ADC
Ecomp
B. Murmann
Eenc
EE315B - Chapter 12
12
Encoder
Assume a Wallace encoder (ones counter)
Uses ~2BB full adders, equivalent to ~ 5(2BB) gates
Eenc 5 2B B Egate
EE315B - Chapter 12
B. Murmann
13
Matching-Limited Comparator
Cc
Cc
C
A 2VT
= A 2VT c
WL
Cox
Offset
Cc =
A 2VT Cox
+ Cc min
2VOS
Required
capacitance
3 VOS =
Ecomp
2VOS
1 Vinpp
4 2B
Confidence
interval
3dB penalty
accounts for
DNL noise
SNR[dB] + 3
6
VDD
2B
2
2
2B 1
144 2 Cox A VT 2 + Cc min VDD
1
4
24
3
Vinpp
Matching
Energy
B. Murmann
EE315B - Chapter 12
14
AVT
[mV-m]
Cox
[fF/m2]
AVT2Cox /kT
Egate [fJ]
250
139
80
130
14
54
10
65
17
37
32
1.5
43
23
1.5
EE315B - Chapter 12
B. Murmann
15
Comparison to State-of-the-Art
-6
10
-8
10
-10
Emin
[6]
10
[2]
[1]
-12
10
[5]
[4]
[3]
-14
10
-16
10
15
20
25
30
SNDR [dB]
EE315B - Chapter 12
35
40
Impact of Scaling
-6
10
-8
10
Eflash65nm
Eflash32nm
Emin
-10
10
-12
10
-14
10
15
20
25
30
35
40
SNDR [dB]
EE315B - Chapter 12
B. Murmann
17
SC Delta-Sigma Modulator
Assumptions
Model of first
integrator
Closed-loop gain =
C
C /2
Ci
Ci +
B. Murmann
Ci
2
2
3
Ceff = Ci (1 ) + CL =
EE315B - Chapter 12
1
2
Ci + CL Ci
3
3
18
SC Integrator Constraints
2
1 Vinpp
2 2
SNR
kT 1
4
Ceff OSR
Thermal noise
sets Ceff
Ceff
T /2
Ts / 2
= s
gm
1 ln SNR
ln
d
P = VDD
Settling time
sets gm
gm
gm sets power
gm
ID
EE315B - Chapter 12
B. Murmann
19
Eint DT = 64
{ kT SNR ln
Excess noise
Finite
VDD
penalty
2 }
VDD
1
1
SNR
V V
gm
DD
1
4inpp
24
3
ID
{
Supply
utilization Transconductor
efficiency
E 200kT SNR
B. Murmann
EE315B - Chapter 12
20
Comparison to State-of-the-Art
-6
10
[8]
-8
[7]
10
-10
10
[1]
[2]
[4] [5]
[3]
[6]
DT ISSCC & VLSI 1997-2012
CT ISSCC & VLSI 1997-2012
First Integrator
EintCT
-12
EintDT
10
Emin
60
65
70
75
80
85
90
SNDR [dB]
95
100
105
EE315B - Chapter 12
B. Murmann
110
21
Overall Picture
10
P/f s [J]
10
10
-6
-8
Flash
Pipeline
SAR
-10
Other
E
flash32nm,cal
10
-12
E
E
E
10
-14
20
B. Murmann
30
40
50
60
70
SNDR [dB]
EE315B - Chapter 12
80
90
pipe
sar
CT
min
100
110
22
Discussion
EE315B - Chapter 12
B. Murmann
23
1 VDD
1
E
VDD Vinpp gm
ID
B. Murmann
EE315B - Chapter 12
24
gm/ID [S/A]
25
20
15
10
5
0
-0.2
-0.1
0.1
0.2
0.3
VGS-Vt [V]
0.4
0.5
0.6
B. Murmann
25
fT [GHz]
100
180nm
90nm
80
60
40
20
0
-0.2
-0.1
0.1
0.2
0.3
VGS-Vt [V]
0.4
0.5
0.6
EE315B - Chapter 12
26
gm/ID [S/A]
25
20
Example
fT = 30GHz
90nm: gm/ID = 18S/A
180nm: gm/ID = 9S/A
15
10
5
0
20
40
60
fT [GHz]
80
100
EE315B - Chapter 12
B. Murmann
27
10
10
10
-6
-8
-10
-12
20
B. Murmann
40
50
60
70
SNDR [dB]
EE315B - Chapter 12
80
90
100
110
28
2
FOM W [fJ/conv-step]
2006-2013
1998-2005
10
10
10 4
10
10
10
10
10
10
10
10
f s [Hz]
EE315B - Chapter 12
B. Murmann
29
Analysis
1
=
3
2
=
B. Murmann
EE315B - Chapter 12
30
Conclusions (1)
No matter how you look at it, todays ADCs are extremely well
optimized
The main trend is that the thermal knee shifts very rapidly toward
lower resolutions
Thanks to process scaling and creative design
B. Murmann
EE315B - Chapter 12
31
Conclusions (2)
B. Murmann
EE315B - Chapter 12
32
High BW
Analog
Filter
Reconstruction
EE315B - Chapter 12
33