Académique Documents
Professionnel Documents
Culture Documents
- Autumn 2013 -
Boris Murmann
Stanford University
murmann@stanford.edu
Table of Contents
Chapter 1 Introduction
Chapter 2 Sampling, Reconstruction, Quantization
Chapter 3 Spectral Performance Metrics
Chapter 4 Nyquist Rate DACs
Chapter 5 Sampling Circuits
Chapter 6 Voltage Comparators
Chapter 7 Flash ADCs
Chapter 8 SAR ADCs
Chapter 9 Pipeline ADCs
Chapter 10 Time Interleaving
Chapter 11 Oversampling ADCs and DACs
Chapter 12 Energy Limits in A/D Converters
(This page is intentionally left blank)
Introduction
Boris Murmann
Stanford University
murmann@stanford.edu
Copyright 2013 by Boris Murmann
Motivation (1)
This course
Signal
A/D
Conditioning
Analog
Digital
Media and
Processing
Transducers
Signal
D/A
Conditioning
Sensors, Actuators,
Antennas, Storage Media, ...
http://www.analog.com/library/analogDialogue/archives/39-06/data_conversion_handbook.html
Consumer electronics
Audio, TV, Video
Digital Cameras
Automotive control
Appliances
Toys
Communications
Mobile Phones
Personal Data Assistants
Wireless Transceivers
Routers, Modems
Instrumentation
Lab bench equipment
Semiconductor test equipment
Scientific equipment
Medical equipment
Example 2
Example 4
[Mehta, ISSCC2005]
-8
10
P/f s [J]
-10
10
-12
10 ISSCC & VLSI 2006-2013
ISSCC & VLSI 1998-2005
20 30 40 50 60 70 80 90 100 110
SNDR [dB]
Course Objective
Teaching assistant
Vaibhav Tripathi
Administrative support
Ann Guerra, Allen 207
Lecture videos are provided on the web, but please come to
class to keep the discussion intercative
Coursework web page
http://coursework.stanford.edu/homepage/F13/F13-EE-315B-01.html
Please visit the discussion forum regularly
Only enrolled students have full access
Preparation
Course prerequisites
EE214B or equivalent
Device physics and models
Transistor level analog circuits, elementary gain stages
Frequency response, feedback, noise
Prior exposure to Spice, Matlab
Basic signals and systems
Basic probability
Please talk to me if you are not sure whether you have the
required background
Assignments
Homework: (20%)
Handed out on Tue, due following Tue after lecture (1 pm)
Lowest HW score is dropped in final grade calculation
Midterm Project: (40%)
Transistor level design and simulation of a data converter
sub-block (no layout)
Prepare a project report in the format and style of an IEEE
journal paper
Final Exam (40%)
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
Course Topics
Boris Murmann
Stanford University
murmann@stanford.edu
Copyright 2013 by Boris Murmann
1
fs = = 1000kHz
Amplitude
Ts
fsig = 101kHz
Time
f
v sig ( t ) = cos ( 2 fin t ) v sig ( n ) = cos 2 in n
fs
n 101
t n Ts = = cos 2 n
fs 1000
1
fs = = 1000kHz
Amplitude
Ts
fsig = 899kHz
Time
1
fs = = 1000kHz
Amplitude
Ts
fsig = 1101kHz
Time
Consequence
Desired Parasitic
Signal Tone
Continuous Attenuation
Time
Discrete
Time
Filter Order
fs/fsig,max
Subsampling
1 n
Xd ( f ) = X f
Ts n = Ts
Spectrum
Amplitude Envelope
0.9
0.8
0.7
0.6
Tp sin( fTp )
abs(H(f))
0.5
Ts fTp
0.4
0.3
0.2
0.1
0
0 0.5 1 1.5 2 2.5 3
f/fs
f/fs
0.9
0.8
Tp=Ts
0.7
0.6
Tp sin( fTp ) abs(H(f))
0.5
Ts fTp
0.4
Tp=0.5Ts
0.3
0.2
0.1
0
0 0.5 1 1.5 2 2.5 3
f/fs
f/f s
Example
1
Spectrum of
Continuous Time 0.5
Pulse Train (Arbitrary
Example) 0
0 0.5 1 1.5 2 2.5 3
1
ZOH Transfer
Function 0.5
("Sinc Distortion")
0
0 0.5 1 1.5 2 2.5 3
1
f/fs
1
Also called
0.9
smoothing filter
Filter
0.8
Same situation
0.7
as with anti-alias
Spectrum
0.6 filter
0.5 A brick wall
0.4 filter would be
nice
0.3
Oversampling
0.2
helps reduce
0.1
filter order
0
0 0.5 1 1.5 2 2.5 3
f/fs
Summary
Next, look at
Transfer functions of quantizer and DAC
Impact of quantization error
Slope=1
Quantization error has
sawtooth shape
Bounded by /2, +/2
Ideally
x (input) Infinite input range and
Error eq=q-x infinite number of
quantization levels
eq (quantization error)
+/2 In practice
Finite input range and
finite number of
-/2 quantization levels
Output is a digital word
x (input) (not an analog voltage)
111
Example: B=3
110 23=8 distinct output codes
Digital Output
101
100 Diagram on the left shows
011 "straight-binary encoding"
010
001
See e.g. Analog Devices "MT-
000 009: Data Converter Codes" for
other encoding schemes
Analog Input
http://www.analog.com/en/content/0
,2886,760%255F788%255F91285,
eq (quantization error)
00.html
+/2
Quantization error grows out of
bounds beyond code boundaries
-/2 We define the full scale range
FSR (FSR) as the maximum input range
x (input)
that satisfies |eq| /2
Implies that FSR=2B
111
110
Digital Output 101
100
011
010
001
000
Analog Input
-FSR/2 0 +FSR/2
111
110
Digital Output
101
100
011
010
001
000
Analog Input
FSR/2 + /2 0 FSR/2 - /2
B. Murmann EE315B - Chapter 2 32
Unipolar Quantizer
Usually define origin where first code and straight line fit intersect
Otherwise, there would be a systematic offset
Usable range is reduced by /2 below zero
111
110
Digital Output
101
100
011
010
001
000
Analog Input
0 FSR - /2
0.4
0.2
e (t) []
0
q
-0.2
-0.4
0 50 100 150
Time [arbitrary units]
T/2
1 2
T T/ 2
eq2 = eq2 ( t )dt eq ( t ) = t eq2 =
T 12
0.4 0.4
0.2 0.2
eq(t) []
[Volts]
0 0
-0.2 -0.2
-0.4 -0.4
-0.6 -0.6
-0.8 -0.8
-1 -1
0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1
Time [arbitrary units] Time [arbitrary units]
100
80
Count
60
40
20
0
-0.6 -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 0.6
e /
q
+ / 2
eq
Mean eq =
deq = 0
/ 2
+ / 2
eq 2 2
Variance eq2 =
deq =
12
/ 2
100
Count
50
0
-0.6 -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 0.6
eq/
Mean=-0.000LSB, Var=0.629LSB2/12
500
400
300
Count
200
100
0
-0.6 -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 0.6
eq/
Amplitude fsig/fs=100/1000
Time
Analysis (2)
f
v sig ( n ) = cos 2 in n
fs
2 2
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.
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
"Understanding Data Converters," Texas Instruments
Application Report LAA013, 1995.
http://focus.ti.com/lit/an/slaa013/slaa013.pdf
Vin Vin
Offset
B. Murmann EE315B - Chapter 2 50
DAC Offset and Gain Error
In an ideal world, all ADC codes would have equal width; all
DAC output increments would have same size
DNL(k) is a vector that quantifies for each code k the deviation
of this width from the "average" width (step size)
DNL(k) is a measure of uniformity, it does not depend on gain
and offset errors
Scaling and shifting a transfer characteristic does not alter its
uniformity and hence DNL(k)
Let's look at an example
1 1
2 0.5
3 1
4 1.5
5 0
6 1.5
7 undefined
7.5V 2V
Wavg = = 0.9167V
6
W(k) Wavg
DNL(k) =
Wavg
Result
Impact of Noise
One difference between ADC and DAC is that DAC DNL can be
less than -1 LSB
How ?
Non-Monotonic DAC
Step(3) Stepavg
DNL(3) =
Stepavg
0.5V 1V
= = 1.5LSB
1V
Obviously INL(1) = 0
and INL(7) = 0
INL(0) is undefined
[Ishii, Custom
Integrated Circuits
Conference, 2005]
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
A more popular approach is histogram testing
Kester, p. 5.39
Histogram Example
Kester, p. 5.40
Kester, p. 5.42
Preferred over ramp or
triangular test signals
It is easier much easier
to generate a high
fidelity sinusoid
The histogram now
takes on a bathtub
shape, which can be
mathematically inverted
to find the DNL
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
It turns out that is not necessary to know the exact amplitude
and offset of the sine wave input
There exists some confusion about this
The code on the next slide does all the required math to undo
the bathtub shape
% converter model
DNL = +0.7 / -0.71 LSB, 0 missing codes (DNL<-0.9)
B = 6; % bits 1
0.2
0
t = 0:1/fs:C/fx;
-0.2
x = (range+1) * sin(2*pi*fx.*t); -30 -20 -10 0
code
10 20 30
hist(y, min(y):max(y));
dnl_inl_sin(y);
Boris Murmann
Stanford University
murmann@stanford.edu
Copyright 2013 by Boris Murmann
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"
Basic idea: Apply one or more tones at converter input
Expect same tone(s) at output, all other frequency components
represent nonidealities
Important to realize that both static (DNL, INL) and dynamic
errors contribute to frequency domain non-ideality
Basic idea
Apply a clean sinusoid
Compute ADC performance metrics based on output spectrum
www.tte.com, or
www.allenavionics.com
clear; 50
N = 100;
fs = 1000;
40
fx = 100;
DFT Magnitude
30
x = cos(2*pi*fx/fs*[0:N-1]);
s = abs(fft(x));
plot(s, 'linewidth', 2); 20
10
0
0 20 40 60 80 100
Bin #
x = FS*cos(2*pi*fx/fs*[0:N-1]); -100
s = abs(fft(x));
% remove redundant half of spectrum -150
s = s(1:end/2);
% normalize magnitudes to dBFS -200
% dbFS = dB relative to full-scale
s = 20*log10(2*s/N/FS); -250
% frequency vector
-300
f = [0:N/2-1]/N;
-350
plot(f, s, 'linewidth', 2); 0 0.1 0.2 0.3 0.4 0.5
xlabel('Frequency [f/fs]') Frequency [f/fs]
ylabel('DFT Magnitude [dBFS]')
0
Same as before, but
-10
now fx=101
-20
-60
-70
-80
-90
0 0.1 0.2 0.3 0.4 0.5
Frequency [f/fs]
Spectral Leakage
The DFT computes the
spectrum of the periodic
repetition of its input
A sequence that contains a non-
integer number of sine wave
cycles has discontinuities in its
periodic repetition
Discontinuity looks like a
high frequency signal
component
Power spreads across
spectrum
Two ways to deal with this
Ensure integer number of
periods
Windowing
0
N = 100;
cycles = 9; -50
of fs/N
-300
-350
0 0.1 0.2 0.3 0.4 0.5
Frequency [f/fs]
Windowing
Spectral leakage can be attenuated by windowing the time
samples prior to the DFT
Windows taper smoothly down to zero at the beginning and the
end of the observation window
Time domain samples are multiplied by window coefficients on a
sample-by-sample basis
Means convolution in frequency
Sine wave tone and other spectral components smear out
over several bins
Lots of window functions to chose from
Tradeoff: attenuation versus smearing
Example: Hann Window
N=64;
wvtool(hann(N))
0.8 0
Magnitude (dB)
Amplitude
0.6
-50
0.4
-100
0.2
0 -150
10 20 30 40 50 60 0 0.2 0.4 0.6 0.8
Samples Normalized Frequency ( rad/sample)
N = 100; 0
No window
fs = 1000;
Hann window
-20
fx = 101;
A = 1;
DFT Magnitude [dBFS]
-40
x = A*cos(2*pi*fx/fs*[0:N-1]); -60
s = abs(fft(x));
x1 = x.*hann(N); -80
s1 = abs(fft(x1));
-100
-120
-140
0 0.1 0.2 0.3 0.4 0.5
f/fs
Example
N = 2048;
Now that we've cycles = 67;
"calibrated" our test fs = 1000;
system, let's look at fx = fs*cycles/N;
some spectra that LSB = 2/2^10;
involve nonidealities
%generate signal, quantize (mid-tread) and take FFT
First look at x = cos(2*pi*fx/fs*[0:N-1]);
quantization noise x = round(x/LSB)*LSB;
introduced by an s = abs(fft(x));
% calculate SNR
sigbin = 1 + cycles;
noise = [s(1:sigbin-1), s(sigbin+1:end)];
snr = 10*log10( s(sigbin)^2/sum(noise.^2) );
-20
Spectrum looks fairly uniform
-100
-120
0 0.1 0.2 0.3 0.4 0.5
Frequency [f/fs]
SQNR
2048 point FFT, SNR=61.90dB
0
Signal Power
SQNR =
Quantization Noise Power
-20
2
1 VFS
DFT Magnitude [dBFS]
2 2 3 2N -40
= 2
= 2
1 VFS 2
-60
12 2N
= 61.9 dB
-120
0 0.1 0.2 0.3 0.4 0.5
Frequency [f/fs]
2048
Nfloor = 61.9 dBc 10log
-20
2
= 92 dBc
-60
-80
Depends on FFT size
Plot is useless if FFT -100
DFT plots are fairly meaningless unless you clearly specifiy the
underlying conditions
Most common annotation
Specify how many DFT points were used (N)
Less common options
Shift DFT noise floor by 10log10(N/2)dB
Normalize with respect to bin width in Hz and express noise
as power spectral density
"Noise power in 1 Hz bandwidth"
fx = fs64/2048 = fs/32
-20
nonlinearities
-40
Definition of SNR
Signal Power -60
SNR =
Total Noise Power
-80
Total noise power includes all
bins except DC, signal, and -100
Definition
2048 point FFT, SNR=55.9dB, SNDR=47.5dB
0
Signal Power
SNDR =
Noise and Distortion Power -20
-100
SNDR(dB)-1.76dB
ENOB =
6.02dB
-120
0 0.1 0.2 0.3 0.4
Frequency [f/fs]
SNR(dB)-1.76dB
SNRBits =
6.02dB
Dynamic Range
SNR
(dB)
FULL SCALE
0dB
DYNAMIC INPUT
RANGE Input Power
AMPLITUDE
[dB]
(dB)
MDS
-120
0 0.1 0.2 0.3 0.4
Frequency [f/fs]
Signal-to-distortion ratio
2048 point FFT, THD=-48.2dB
Signal Power 0
SDR =
Total Distortion Power
-20
DFT Magnitude [dBFS]
-60
-80
-100
-120
0 0.1 0.2 0.3 0.4
Frequency [f/fs]
Aliasing
-40
f1 = fx = 0.3125 fs
f2 = 2 f1 = 0.6250 fs 0.3750 fs -60
f3 = 3 f1 = 0.9375 fs 0.0625 fs
-80
f4 = 4 f1 = 1.2500 fs 0.2500 fs
f5 = 5 f1 = 1.5625 fs 0.4375 fs -100
-120
0 0.1 0.2 0.3 0.4 0.5
Frequency [f/fs]
f1 f2
Amplitude SECOND
ORDER
THIRD
PRODUCTS
ORDER
PRODUCTS
f2 - f1 f1 + f2
2f1 - f2 2f2 - f1
Frequency f
MTPR
-20 MTPR
Amplitude [dB]
-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]
Ideal
Quadratic bow
Cubic bow
Output
Input
4 2
20
3 3
B. Murmann 39
+
e e2 2
e =2
2
1 de = 6 SNR = 6.02 B 1.25 [dB]
0
3dB
Compare to ideal quantizer
+ /2
e2 2
e =
2
de = SNR = 6.02 B + 1.76 [dB]
/2
12
Bottom line: non-zero DNL across many codes can easily cost a
few dB in SNR
"DNL noise"
2
2 1 2 1 VFS 1
Vin,rms = V = = 1V 2
2 2 2 2
2
Vin,rms 1 1V 2
Pin = = = 10mW = 10dBm
R 2 50
For comparison:
-100
dBm
NPSD,Rsource = 174
Hz -120
0 0.1 0.2 0.3 0.4 0.5
Frequency [f/fs]
dBm dBm
NF = 10log(F) = 174 131.9 = 43.1dB
Hz Hz
Ouch!
fs
dBm
NF = 174 + Pin SQNR 10log 2
Hz 1 Hz
1 V 2
FS fs
2N 2
+ 10log
dBm 2 2 3
= 174 10log 2 10log
Hz R 2 1 Hz
Boris Murmann
Stanford University
murmann@stanford.edu
Copyright 2013 by Boris Murmann
Overview
VRE F xxxxx xxxxx
d0 d0 d1 d1 d2 d2
Simple, inherently
monotonic
Small area up to ~8 bits
See e.g. Pelgrom,
JSSC 12/1990
OUT
Unsuitable for high-
resolution, high-speed
designs
Inherently monotonic
Need large encoder
with 2B-1 outputs
Impractical for large
B (high resolution)
14 14
Output
13 13 13
12 12 12 12
11 11 11 11 11
10 10 10 10 10 10
9 9 9 9 9 9 9
8 8 8 8 8 8 8 8
7 7 7 7 7 7 7 7 7
6 6 6 6 6 6 6 6 6 6
5 5 5 5 5 5 5 5 5 5 5
4 4 4 4 4 4 4 4 4 4 4 4
3 3 3 3 3 3 3 3 3 3 3 3 3
2 2 2 2 2 2 2 2 2 2 2 2 2 2
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Input Code
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
Binary weighted
section with Bb bits
Thermometer section
with Bt = B-Bb bits
Typically Bt ~ 48
Reasonably small
encoder
Easier to achieve
monotonicity
Transition
Problem Limited
to LSB Section
( x )2
1
2 2
x
f(x) = e X=
2
0.4
0.3
f(x)
0.2
0.1
0
-3 -2 -1 0 1 2 3
x/X
Yield (1)
2
+C X
1 C
P ( C X +C ) =
2
e 2 dX = erf
2
C
1
0.8
C)
P(-X xX +X)
0.6
P(-C
0.4
0.2
0
0 0.5 1 1.5 2 2.5 3
X/
C
Example
Measurements show that the current in a production lot of
current sources follows a Gaussian distribution with = 0.1 mA
and = 10 mA
What fraction of current sources is within 3% (or 1%) of
the mean?
Relative matching ("coefficient of variation")
I 0.1mA
u = = stdev = = 1%
I 10mA
I = I1 I2 gmVt + I1
I g
m Vt +
I1 I1
1 W
= Cox A Vt A
2 L Vt = =
WL
WL
Example
W=500m, L=0.2m, gm/ID=10S/A, AVt=5mV-m, A=1%-m
2 2
S 5mV 1%
I = 10 + = ( 0.5%)2 + ( 0.1%)2 = 0.51%
A 10 10
1I
1 N
Ik I
Step(k) Stepavg N j =1 j Ik I I
DNL(k) = = N
=
Stepavg 1 I I
I
N j =1 j
I
stdev (DNL(k) ) = stdev = u
I
INL (1)
k
k N k
Ij I
N j=1 j
N Ij
j =1 j =1
= = k
1 N k N
I
N j =1 j
Ij + Ij
j =1 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
k
var (INL(k)) k 1 u2
N
k
INL (k) u k 1
N
INL (2)
6
N=64
N=128
INL (k)/u
0
0 20 40 60 80 100 120 140
k
N N/ 2 1 1
INL u 1 = u N u 2B
2 N 2 2
2
B log2 4 INL = 2 + 2log2 INL
u
u
u B
1% 8.6
0.5% 10.6
0.2% 13.3
0.1% 15.3
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
Good rule of thumb
For high target yield (>95%), the probability of "all codes
meet INL spec" is very close to "worst code meets INL spec"
2
DNL ( ) (
= 2B 1 1 u2 + 2B 1 u2 = 2B 1 u2
14 4244 3 1424 3
) ( )
0111... 1000... 8I 4I 2I I
Example
B = 12, u = 1% DNL = 0.64 LSB
Much worse than thermometer DAC
15
10
2 )22
u
D NL //
( DNL
0
0 2 4 6 8 10 12 14
DAC input code
code
-1
-2
500 1000 1500 2000 2500 3000 3500 4000
bin
code
2
INL [in LSB]
-1
500 1000 1500 2000 2500 3000 3500 4000
bin
code
-1
500 1000 1500 2000 2500 3000 3500 4000
code
bin
2
INL [in LSB]
-1
500 1000 1500 2000 2500 3000 3500 4000
bin
code
Peak DNL not at mid-scale!
Important to realize that this is just one single statistical
outcome
B. Murmann EE315B - Chapter 4 30
Multiple Simulation Runs (100)
Overlay Plot RMS DNL and INL
INL
Example: B=Bb+Bt=4+4=8
Same as in thermometer
DAC
DNL
Worst case occurs when
16I 16I 16I
LSB DAC turns off and
one more MSB DAC
element turns on
Essentially same DNL as
a binary weighted DAC 8I 4I 2I I
with Bb+1 bits
Binary
Thermometer Segmented
Weighted
INL 1
u 2B
(worst case) 2
DNL
u u 2Bb +1 1 u 2B 1
(worst case)
Number of
Switched 2B 1 Bb + 2Bt 1 B
Elements
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.
5 Ideal
0
1 1.5 2 2.5 3
10
early
fs [MHz] B t [ps]
1 12 << 488
20 16 << 1.5
1000 10 << 2
Implementation Example
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)
Make before break
Ensure uninterrupted current flow, so that tail current source
remains active
Low swing driver
Drive differential pair with low swing to minimize coupling
from control signals to output
Cascoded tail current source for high output impedance
Ensures that overall impedance at output nodes is code
independent (necessary for good INL)
D Q
MN1
INV1
INV2
DB QB
MN2
INV6 INV3
CLK
100MHz
1GHz
+
2N1 C 8C 4C 2C C C VOUT
VRE F
2B C B
bi
Vout = B
Vref i
2 C + Cp i =1 2
[Manganaro et al., "A dual 10-b 200-MSPS pipelined D/A converter with DLL-based
clock synthesizer," IEEE JSSC 11/2004]
(fclk=200MHz)
Boris Murmann
Stanford University
murmann@stanford.edu
Copyright 2013 by Boris Murmann
Recap
time
Continuous Time Signal
T/H Signal
("Sampled Data Signal")
Clock
Pedestal Error
= RC
(
Vout (t) = VFS 1 e t / )
B. Murmann EE315B - Chapter 5 9
B N
N 1 VFS
VFS e
2 2B 6 >4.9
10 >7.6
Ts / 2
N=
(
ln 2 2B ) 14 >10.4
18 >13.2
= atan()
W V
ID(triode) = Cox VGS Vt DS VDS
L 2
1
dI
1
D(triode)
RON =
dVDS Cox
W
VDS 0 ( V Vt )
L GS
1
RON =
W
Cox ( 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
K 2
ID K ( VGS Vt ) VDS VDS
2
dVout K 2
C = K ( Vout Vt )( Vin Vout ) ( Vin Vout )
dt 2
Result
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
()
Tf
Must make fall time of sampling clock (Tf) much faster than
maximum dVin/dt
2
3 0.5
HD3 2100 106 100 1012 = 79dB
8 1.8
CDS
Example:
A. Annema, et al., Analog circuits in ultra-deep-submicron CMOS, IEEE J. Solid-State Circuits, pp. 132-143, Jan. 2005.
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)
2 2
v out 1
= 4kTR
f 1 + sRC
2
1 kT
var [ Vout (n)] = 2
v out,tot = 4kTR df =
0
1 + j2f RC C
1 1
Cv out 2 = kT
2 2
kT
v out 2 =
C
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 C [pF] R []
8 0.003 246,057
10 0.052 12,582
12 0.834 665
14 13.3 36
16 213 1.99
18 3,416 0.11
Analysis
Consider sine wave input signal
Assume t is random with zero mean and standard deviation t
Analysis
dV 2 dV 2
2
E { }
Vin2 E
in
dt t = E dt E t
in
2
{ }
d
2
1 2
E A cos [ 2 fin t ] 2t ( 2 A fin ) 2t
dt 2
1
1
= 2 =
1
2
1.E+10
1.E+09
fin [Hz]
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
SNR [dB]
jitter [dB]
aperture
Data: http://www.stanford.edu/~murmann/adcsurvey.html
Example:
1V supply, 20ps rise time
100mV noise on the supply Jittered
corresponds to about 2ps Jitter Output
of jitter Free Clock
Clock
In addition, there is thermal
amplitude noise (kT/C) that
also translates into jitter
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 El-
Chammas, TCAS1, May 2009
Useful for systems with simple signal constellations, such as NRZ
Gradual decay in
autocorrelation
Slow
signal
Sharp decay in
Fast autocorrelation
signal
= = [ ]
B. Murmann EE315B - Chapter 5 40
Example
0
5
-10
-20 4
-30
h(t) [V/ns]
S21 [dB]
3
-40
fs/2
-50 2
-60
1
-70
-80 0
0 5 10 15 20 4.4 4.6 4.8 5 5.2
f [GHz] Time [ns]
B. Murmann EE315B - Chapter 5 41
Example
0.5
0.1
0
0.08
w''() [1/ps2]
-0.5
w()
0.06 -1
-1.5
0.04
-2
0.02
-2.5
0 -3
-1 -0.5 0 0.5 1 -0.5 0 0.5
[ns] [ns]
0 2.8 10 1 1
= =
= 2.3 10
0 0.12
1
= 20 log = 46.8 (Better!)
300
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
[Aaron Buchwald]
Can back calculate jitter noise by comparing
variance at zero crossing with variance near peak
(which is set by thermal and quantization noise)
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.
Pedestal Error
L HOLD
VO
VIN
V
V
t
toff
Col
Vout = Vin ( Vin + Vt L ) = Vin (1 + ) + Vos
Col + C
Col Col
= Vos = ( Vt L )
Col + C Col + C
Channel charge
H cannot change
VIN + VT
instantaneously
Surface t
Potential Qch Resulting surface
S potential decays via
L charge flow to source
t < to
VO and drain
V IN Charge divides
S V
V
t > to t between source and
drain depending on
1 1 impedances loading
(1-)Q
2Qchch Q
2 Qch
ch
these nodes
Tf
RonC2
| | |Vos|
TtFf TtfF
1 Qch 1 T
V = s = N RC
2 C 2fs 2
V L2
N
1 L2 fs
R =
W Qch
Cox ( V Vt )
L GS
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
Q1 = 0.5Qch1 + Qol1
S
L =L
W =0.5W Q2 Qch2 + 2Qol2 0.5Qch1 + Qol1
1 2
1
Q1 Q2 0
+
VO2 VO1 = (1 + 1 ) VI1 + VOS1
VI2 C
CH VO2 = (1 + 2 ) VI2 + VOS2
+ +
VOD = 1 + 1 2 VID + ( 1 2 ) VIC + ( VOS1 VOS2 ) 1 + 1 2 VID
2 2
+ V + VOS2 1 + 2 V + VOS2
VOC = 1 2 VID + 1 + 1 2 VIC + OS1 1+ VIC + OS1
4 2 2 2 2
CMOS Switch
1 1
Qchn + Qchp C V Vtp
Vo 2 2 = ox VIN H L + tn
C C 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
VO
+
VIN CCH
1 1
R
W W
nCox ( VGSn Vtn ) pCox VGSp Vtp
L n L p
( )
Analysis
1 1
R
W W
(
nCox ( VGSn Vtn ) pCox VGSp Vtp
L n L p
)
1
R
W W W W
nCox ( VDD Vtn ) nCox pCox v in pCox Vtp
L n L L L p
n p
1 W W
R if n = p
W L n L p
(
nCox VDD Vtn Vtp
L n
)
R []
40
20
0
0 0.5 1 1.5
Vin [V]
Design
Size P/N ratio to minimize change in R over input range
Size P and N simultaneously to meet distortion specs
PMOS brings limited benefit unless the input signal range is
large or centered near VDD
Outline
+ +
VDD VDD VGS=VDD=const.
Cboot - Cboot
-
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
Waveforms
A. Abo, "Design for Reliability of Low-voltage, Switched-capacitor Circuits," PhD Thesis, UC Berkeley, 1999.
Switch
Limitations
1
R
W Cpar
Vin Vtn [ Vin ]
Cboot
nCox VDD
L n Cboot + Cpar Cboot + Cpar 1424 3
Backgate effect
Dessouky and Kaiser, "Input switch configuration suitable for rail-to-rail operation of
switched opamp circuits," Electronics Letters, Jan. 1999.
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
The charge can be processed
Q X = CVin Q2 in two ways
Open-loop
Charge injected by M2
(Signal independent) Closed-loop (charge
redistribution)
B. Murmann EE315B - Chapter 5 77
Q X = CVin Q2
1 2
QX C Q2
VX = = Vin
Vin C + Cp C + Cp C + Cp
M1
C
Vx (no term due to signal
1e dependent charge!)
1 Cpar
M2 1e
2
Remaining drawback
Cpar (and buffer input capacitance) is usually weakly nonlinear
and will introduce some harmonic distortion
Q X1 = Q x2
Charge Conservation:
CVin Q2 = Cf Vout
C Q2
Vout = Vin +
Cf Cf
Analysis (2)
( ) ( )
C Vinp + Vinm + 2Q = ( C + Cf ) Vxp + Vxm Cf Vop + Vop ( )
Q Cf C
Vxc = + V oc V ic
C + Cf C + C f C + Cf
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
Analysis (1)
During 1 During 2
C C
V
C C
V
V V
V V
V V
C C
V
C C
0 = Vxc
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]
Capacitors
Ideal Capacitor
Symbol
Typical Integrated
Circuit Capacitor
Cf
1 2
Cs Gm
CL
x xd o od
2
x n o o
gm v x for gm v x < ID
io =
ID sign ( v x ) else
Vofinal
t=0
0
-Vistep
(
v o (t) = Vofinal 1 e t / )
(ignoring feedforward zero)
Dynamic Static
Error d(t) Error 0
0.8
out o,ideal
out,ideal
0.6
V o/V
V /V
0.4
0.2
0
0 2 4 6 8 10
t/
dynamic (t) =
v o (t) Vofinal Vofinal 1 e
=
(t /
)
Vofinal
= e t /
Vofinal Vofinal
ts
N= = ln ( d )
dynamic N
1% 4.6
0.1% 6.9
0.01% 9.2
Time Constant
Cf
=
C f + Cs + C x
1
R= CLtot = CL + (1 ) Cf
gm
1 CLtot
=
gm
(
v o (t) = Vofinal 1 e t / )
Slewing
The amplifier can deliver a maximum current of ID
If |io|max > ID, slewing occurs
Vofinal
io max = CLtot > ID
Vofinal gm 1
CLeff >I >
1 CLtot D ID Vofinal
gm
(
v o (t) = Voslew + Volin 1 e (t tslew )/ )
ID
v o (t) = t = SR t
CLtot
ID Volin ID
= Volin =
CLtot CLtot
Using the above result, we can now calculate the dynamic error
during the final linear settling portion
d (t) =
v o (t) Vfinal Voslew + Volin 1 e
=
(
( t t slew ) /
)
Vofinal
Vfinal Vofinal
Volin ( t t slew ) /
d (t) = e
Vofinal
Cf
1 2
Cs Gm
CL
q2x = kT ( Cs + Cf )
4kTRon f
4kTRon1f 4kT
f
Gm
2
4kT C 2
Amplifier noise referred to vo Na = f 1 + s H( j)
Gm Cf
2
Cs
1 + 2
Na Cf Na Cs
= >> 1 = 1+ >> 1
N1 GmRon1 C 2 N2 GmRon2 Cf
s
Cf
1
R
Gm
4kTGm f
2
v o2 1 1
= 4kT R
f R j CLtot
2
1 R 1 kT
v o2 = 4kT f df =
0
R 1 + j RCLtot CLtot
1 2
q2x = kT ( Cs + Cf )
2 q2x Cs + C f kT Cs 2 1 kT
v o,1 = = kT = 1 + v o,2
C2f C2 C Cf
CLtot
f f
2 kT Cs 1 kT
v o,tot = 1 + +
Cf Cf CLtot
DRsingle
V 2
o DRdiff
( 2V )
o
=2
V o2
kT kT kT
2
C C C
Yes, theres a 3dB win in DR, but it comes at twice the power
dissipation (due to two half circuits)
Can get the same DR/power in a single ended circuit by
doubling all cap sizes and gm
SC Noise Simulation
There are at least three ways to simulate noise in switched
capacitor circuits
Basic .ac/.noise Spice simulations
Simulate noise in each clock phase separately
Activate 1 switches, run .noise and integrate noise
charge at relevant node over all frequencies and refer to
output
Activate 2 switches, run .noise and integrate noise over
all frequencies at the output
Sum integrated noise from the two phases
This is analogous to the way we carried out the hand
analysis
vic
Cfp
Clp
cf
cl
voc
vocs
vdd
p1
Csm
cs
Csp
cs
p1
Cfm
Clm
cf
cl
vic
vic
fs = 100 MHz, = 2, = 1
Cs = Cf = 100 fF, CL = 500 fF, Cpar 0
-15
10
PSD [V2/Hz]
-20
10
-25
10 2 4 6 8 10 12
10 10 10 10 10 10
Frequency [Hz]
-4
x 10
6
Integral [uVrms]
4 406Vrms
2
0 2 4 6 8 10 12
10 10 10 10 10 10
Frequency [Hz]
PSD [V2/Hz]
-20
10
-25
10 2 4 6 8 10 12
10 10 10 10 10 10
Frequency [Hz]
-4
x 10
4
Integral [uVrms]
266Vrms
2
0 2 4 6 8 10 12
10 10 10 10 10 10
Frequency [Hz]
2
v out,tot = ( 406Vrms )2 + ( 266Vrms )2 = 485Vrms
B. Murmann EE315B - Chapter 5 121
4.75ns
1 10
Maxacfreq 10 = N fs
2RonC
Maxacfreq 15GHz
Numsidebands = = 150
fs 100MHz
Boris Murmann
Stanford University
murmann@stanford.edu
Copyright 2013 by Boris Murmann
Recap
2B-1
Dout
Vin
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
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
Implementation options to be looked at
Multi-stage amplification
E.g. cascade of resistively loaded differential pairs
Regenerative latch using positive feedback
E.g. cross coupled inverters
gm u 1
In each stage: u = const. A 0 = gmR = 0 = = u
Cgs 0 RC A 0
Vistep Av 1
Vout (s) = Vin (s)A(s) = N u = A v = AN
s 0
(1+ s A )
u v
1/N u
i
t
t 1/N
1/N N 1 A
Vout (t) = Vistep A v 1 e u A v u v
i=0 i!
A(t)
10
8
d(N=3)
Step response A(t) 6 10(1-e-1)
4 N=1
N=3
N=5
2
Av*(1-e-1)
0
0 5 10 15
Time t/u
(
A( d ) = A v 1 e1 ) d (numerically)
50
Av=10
Av=100
40 Av=1000
Delay time d/u
30
20
10
0
2 4 6 8 10 12 14
N (Number of stages)
Using a single stage is a non-starter
The optimum number of stages show a shallow minimum
12
Numerical result
0 0 1 2 3 4 5
10 10 10 10 10 10
Av (Total gain)
Nopt ln(A v )
5
Numerical result
A0,opt (Optimum gain per stage)
4.5 e
4
3.5
2.5
1.5
1 0 1 2 3 4 5
10 10 10 10 10 10
Av (Total gain)
Nopt Nopt
Nopt ln(A v ) e A v = A 0,opt A 0,opt e
Intuition
Load resistors (in a cascade of open-loop amplifiers) shunt
current away from load capacitance; this slows down
amplification
Analysis using integrator stages
g N
v o1 = m vin = u vin v oN = u
vin
sC s sN
Vistep N tN
Vout (s) = u
N
Vout (t) = Vistep N
u
s s N!
10 10
8 8
Step response A(t)
6 6
4 4
Conceptual Circuit
Inverter
Transconductance
t=0
[Figueiredo]
/
/
1: Set up initial condition (vOD0)
2: Enable positive feedback
I4 I7
vid vip vop vod
vdm vp vp vdm
vic ideal_balun vim vom ideal_balun voc
vcm vm vm vcm
p2!
M0 M4
10u/0.18u 10u/0.18u
p1!
vom vim
p1!
vip vop
C0
M1 M3 cl
C3 5u/0.18u 5u/0.18u
cl
vid
vic
p1!
p1
vdd
V0 V2 V5 p1b
p2!
p1e
vdc:vdd vdc:vic vdc:vid CL=100 fF p1eb p2!
p2
p2b
p2e
clock_gen
Transient Response
Nodes vOP and vON for differential inputs of 1mV, 1V, 1nV and 1pV
2 goes high
=
/ 600ps 600ps
= = = = 43
ln 10
6 2.3
=
/ ln
10
Amplification A(t)
6
4
N=3 (with R)
N=3 (integ)
2
Latch
Av*(1-e-1)
0
0 5 10 15
t/ t/
Time
Latch Gain
A(d) d/
10 2.3
100 4.6
1,000 6.9
10,000 9.2
Class-AB
Input pair has constant bias, but latch draws current only
while making a decision
Fully dynamic
Draws (significant) current only while making a decision
Original paper:
[Kobayashi, JSSC, April 1993]
1 1 10
, Example: 0.3 0.9 = 30
2 2 100
Minimize, if possible
1
2VOS = 2VOS1 + 2VOS2
A 2v
1
VOS = ( 3mV )2 + 2
( 30mV )2 = 4.2mV
10
[http://www.elecdesign.com/Articles/Index.cfm?ArticleID=3956]
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
1 2
Comparator
input
Preamp
[Razavi, p. 183]
output
Metastability (1)
35
30
25
20
treg/
= ln
15
10
0 -15 -10 -5 0
10 10 10 10
v
vOD0/V/VDD
Metastability (3)
Assume that the maximum available time is tmax
The minum latch input we can regenerate is then
, =
/
2
10
1
=
MTF [days]
0
10
fs=10GHz fs=100MHz
-2
10
/
/
= =
1 V
2 2 2
-5
10
-10
Pmeta 10
-15
10
-20
10
10 20 30 40 50 60 70 80
[ps]
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
6ps
Boris Murmann
Stanford University
murmann@stanford.edu
Copyright 2013 by Boris Murmann
Data: http://www.stanford.edu/~murmann/adcsurvey.html
10
Flash
10 Folding
Two-Step
Pipeline
8 SAR
10 Other
[Hz]
1000fs Jitter
rms
in,hf
100fs Jitter
f
rms
6
10
4
10
20 30 40 50 60 70 80 90 100 110 120
SNDR [dB]
hf
0
1996 1998 2000 2002 2004 2006 2008
Year
B. Murmann EE315B - Chapter 7 4
Modern Flash ADC Architecture
Vadc
CLK
Vin Vadc
Wallace Encoder
T/H Dout
Fast
Speed limited only by comparator
decision
High complexity, large input capacitance
Resolution tends to limited to 6 bits Usually implemented as a fully
differential circuit
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.
e.g. due to
timing offset
between two
comparators
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
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.
Offset
AVT 1 1V
3 < = 2.8mV
WL 4 2 26
Huge!
2 2 2
3 AVT 3 4mV m 2 18.4m
WL > = = 18.4m W > = 102m
2.8mV 2.8mV 0.18m
R2/R1=1.3
DNL/
[Bult & Buchwald, JSSC 12/1997]
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.
Vlo Vhi Vlo Vhi
Out
on the previous slide has a t
relatively low temperature
dependence
Input-referred
Offset Offset = 0
t
Ideally, the trim-DAC must bring the offset well within one LSB
of the flash ADC
The required trim-DAC resolution can become unacceptably
large if near minimum-size transistors (with large Vt mismatch)
in the latest technology are used
A clever workaround is to utilize the error correction capability of
the Wallace tree encoder (ones counter)
+
1
Vref1 - Vref1 (eff)
+
2
Vref2 - Vref2 (eff)
+
Vref3 3
- Vref3 (eff)
+
0
Vref1 - Vref1 (eff)
+
1
Vref2 - Vref2 (eff)
+
Vref3 3
- Vref3 (eff)
90mW 900mW
Wallace Encoder
Paulus et al., "A 4GS/s 6b flash ADC in 0.13um CMOS," VLSI Circuits Symposium, 2004
Idea: Have multiple input pairs and use the one you like
[Chen, VLSI 2013]
Details
[Park & Flynn, "A 3.5 GS/s 5-b Flash ADC in 90 nm CMOS," CICC 2006]
[Park & Flynn, "A 3.5 GS/s 5-b Flash ADC in 90 nm CMOS," CICC 2006]
Measured Results
[Park & Flynn, "A 3.5 GS/s 5-b Flash ADC in 90 nm CMOS," CICC 2006]
Even with calibration, flash ADCs tend to hit a wall beyond 6 bits
of resolution
Large calibration range
Large input capacitance
Complex encoder
Several techniques have been developed to ease the pain and
potentially allow going beyond 6 bits (at the cost of some speed)
Interpolation
Folding, folding & interpolation
Subranging
Interpolation
Idea
Interpolation between preamp outputs
Reduces number of preamps
Reduced input capacitance
Reduced area, power dissipation
Same number of latches
Important side-benefit
Decreased sensitivity to preamp offset
Improved DNL
Differential Implementation
VA + VB
=0 VA = VB
2
Resistors produce
additional levels
Define interpolation factor
as ratio ratio of latches
and preamps
The example shown on
this slide has M=8
MSB
VIN
ADC
Digital
Output
LSB
ADC
Folding Circuit
Simplest Variant
Folding circuit
Folder Output
0.5
Folder Output
-0.5
0 0.5 1 1.5 2 2.5 3 3.5 4
Lowdown
0.1
0
the folds, but only the
-0.05
zero-crossings!
-0.1
0 0.5 1 1.5 2 2.5 3 3.5 4
Vin /
Interpolation
Subranging
Boris Murmann
Stanford University
murmann@stanford.edu
Copyright 2013 by Boris Murmann
Dout
D/A
B. Murmann 2
Successive Approximation Register ADC
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.
Classical Implementation
See e.g. [McCreary, JSSC 12/1975]
C1A = C1B = C C2 = 2C C3 = 4C CB = 2B 1C
(
Q = Vin Ctotal = (Vx Vref ) 16C + Vx 16C + Cp )
1 Ctotal
Vx = Vref Vin
2 Ctotal + Cp
(
Q = Vin Ctotal = (Vx Vref ) 8C + Vx 24C + Cp )
1 Ctotal
Vx = Vref Vin
4 Ctotal + Cp
Capacitor mismatch
Use self calibration to obtain precision beyond raw
technology matching [Lee, JSSC 12/84]
Minimum capacitor size, e.g. Cmin=10fF 216Cmin = 655pF
Solution: Implement "two-stage" or "multi-stage" capacitor
network to reduce array size [Yee, JSSC 8/79]
Typically mandates some form of calibration
Ultimately, even with calibration, there is still a lower bound
based on kT/C in the sampling phase
E.g. 16-bit resolution, Ctotal ~ 100pF required
How to drive such an ADC at high speeds?
12
SAR ADC Papers at ISSCC and VLSI Symposium
10
8
Count
0
1996 1998 2000 2002 2004 2006 2008 2010 2012 2014
Year
B. Murmann
13
13
Asynchronous Timing
Key insight: Do not have to switch entire MSB cap for first DAC transition
Total energy savings of 37%
0(t) t
tdecision
Input bk
-1 x +1 - -
b0 b1 b2
Register
1 2-1 2-2
Output x
k=0 1 2 3
1
x
0
x
-1
x bk
- - -
1 -1 -2
b0 b1 b2 b3
Register
1 -1 -2 -3
Output x
< >
k=0 1 2 3 4
1
x x Error /2
0
Note that
-1
k=0 1 2 3 4
1
Tolerable
Error
x
/2
-1
+. > +
x
= .
- -
1 2-1 -ok
= <
b0 b1 b2
Register
1 2-1 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.
Normal Operation
k=0 1 2 3
1
+o1
x
+o0 -o1 x
-o0
-1
k=0 1 2 3
1
x
+o0 x
+o1
0
-o1
-o0
-1
1 2-1 2-2
b0 b1 b2 b3
Register
1 2-1 2-2 c
= + = = +.
= = .
x
k=0 1 2 3 4
1
x x
0 Characteristic
crossing
-1
k=0 1 2 3 4
1
x x
0
-1
bk
x
- - -
1 2-1 2-1
b0 b1 b1R b2
Register
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.
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
k=0 1 2 2R 3
1
x x
0
-1
k=0 1 2 2R 3
1
x x
0
-1
,
=
-LSB +LSB
vod0,min
2
= ln = ln ln
,
50
40
thard/
30
20
, , ()
P 2 e =2 e
2 e
-10
10
Pmeta
-15
10
-20
10
4 5 6 7 8 9
[ps]
Incredibly steep tradeoff fast comparator is key
B. Murmann EE315B - Chapter 8 42
Comparator Reset
Fast reset is just as as important as fast regeneration
The design below ping-pongs between two comparators to
increase the available reset time
Boris Murmann
Stanford University
murmann@stanford.edu
Copyright 2013 by Boris Murmann
Outline
Background
History and state-of the art performance
Derivation from SAR architecture
Pipeline ADC basics
Ideal block diagram and operation, impact of block
nonidealities
Ways to deal with nonidealities
Redundancy, calibration
CMOS implementation details
Stage scaling, MDAC design
Architectural options
OTA sharing, SHA-less front-end
Research topics
Data: http://www.stanford.edu/~murmann/adcsurvey.html
10
Flash
10 Folding
Two-Step
Pipeline
8 SAR
10 Other
[Hz]
1000fs Jitter
rms
in,hf
100fs Jitter
f
rms
6
10
4
10
20 30 40 50 60 70 80 90 100 110 120
SNDR [dB]
hf
x bk
- - -
1 -1 -2
b0 b1 b2 b3
Register
1 -1 -2 -3
Output x
x -2 bk
- - -
b0 b1 b2 b3
Register
1 -1 -2 -3
Output x
x bk
- - -
b0 b1 b2 b3
Register
1 -1 -2 -3
Output x
x
- - -
b0 b1 b2 b3
1 -1 -2 -3
Output x
Vin
SHA Stage 1 Stage n-1 Stage n
Vin1 Vres1
G11
G Each stage contains a T/H
- (not shown)
ADC DAC
D1
V
SHA Stage 1 Stage 2 Stage 3
Latency
Stage Analysis
Ignore timing/clock delays for simplicity
1 1 2
LSB =
2 2 2B
D = Vin + q Vres = G q
Sub-ADC
Decision
Levels
Pipeline Decomposition
in res
1
qb
out b
G qb
Dout = Vin + q 1 +
Gd Gd
With Gd=G
Canonical Extension
G q 2 G2 q( n 1) G( n 1) qn
Dout = Vin + q1 1 1 + 1 + ... + n 2 1 + n 1
Gd 1 Gd 1 Gd 2 Gd( n 1)
G
dj
G dj
j =1 j =1
First stage has most stringent precision requirements
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 22
General Result Ideal Pipeline ADC
With ideal DACs and ideal digital weights (Gdj=Gj)
qn n 1
Dout = Vin + n 1 BADC = Bn + log 2G j
j =1
G j
j =1
Questions
+1
G/2B
Vres 2G/2B 2
-G/2B
-1
-1 0 +1
qb
Vin
qb
Dout = Vin + Grows out of LSB bounds for G>2B
G
B. Murmann EE315B - Chapter 9 25
qb
b
q
B B
Overrange!
res
qb
in
Any error in sub-ADC decision levels will overload backend ADC and
thereby deteriorate ADC transfer function
Amplifier Offset
Push
G + qn
Dout = Vin + q1 1 1 + ... + n 1
Gd 1
G dj
j =1
Note
Even if all Gdj are perfectly adjusted to reflect the analog gains, the ADC will have non-
zero 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 non-
monotonicity (see [Markus, 2005]).
In case this cannot be tolerated
Add redundant bits to ADC backend (after combining all bits, final result can be truncated back)
Calibrate analog gain terms
Db = Vres + qb
Step1:
Db( 1) = G [Vin + 0.25] + (qb
1)
[Chuang 2002]
Alternative Schemes
[Murmann 2003]
1 1
Dout = D1 + D2 + D3
4 16
8 Wires
???
6 Wires
Dout[5:0]
Stage Implementation
1: Q = Vin kCs
Vres =
kCs
Vin
mCs
Vrefp +
( k m ) Cs V
refn
Cf Cf Cf
= G ( Vin Vdac )
1 1 1
Ntot kT + + + ...
C1 4C2 16C3
C1 C2 C3
Vin Gm Gm Gm
1 1 1
Ntot kT + + + ...
C1 4C2 16C3
C1 C2 C3
Vin Gm Gm Gm
1 1 1
Ntot kT + + + ...
C1 4C2 16C3
[Cline 1996]
Shallow Optimum
[Chiu 2004]
C C/2 C/4
Vin Gm Gm Gm
[Cline 1996]
[Ishii 2005]
[Chiu 2004]
Examples
Bits 10 10 12 14
[Abo 1999]
Cs C
1+
Cf C
[Brooks 1994]
Comparator Examples
Vin
[Chiu 2004]
[Mehr 2000]
[Ishii 2005]
~0.5V
(1Vpp,diff)
fT 1 1 f
fCLK ,max = 2 0.5 0.6 = T
5 3 10 80
NMOS fT
Technology fCLK,max = fT/80
(at moderate VGS-Vt ~150mV)
[Ishii 2005]
Make switch RC ~ 10 times
faster than OTA
Avoids speed degradation
Minimizes switch noise
contribution
See e.g. [Schreier 2005]
Avoids stability issues due to
poles in feedback network
Three choices for switches
Single N or P device
Transmission gate
Bootstrapped NMOS
For high swing nodes that
require constant Ron
Front-End SHA
Minimize S1P
Jitter! S1N
[Ishii 2005]
g m11 + g m 31
N1 = 1 + 2...4
g m1
Cs
g m 61
N2 = 1 + 2
Cc g m51
2 1 kT kT
Vod = 2 N1 + 2( N2 + 1)
Cc CLtot
ignore in first
Stage 1 Stage 2 cut design
Cf
= CLtot = CL + (1 ) Cf + Cparasitic
Cf + Cs + Cgs1
2 1 kT kT
Vod =4 +6
Cc CLtot
2 kT CLtot
Vod = 18 Cc =
CLtot 3
Cs2
Cs1=C1P+C2P
Cs1 / 2 1 2 kT
= Vod ,1 = 18
Cs1 + Cgs1 3 Cs 2 + Cs1 / 3
1C 18 kT
CLtot = Cs 2 + 1 s1 Vid2 ,1 = 2
3 2 2 Cs 2 + Cs1 / 3
SHA Noise
Cs 0 1
=
Cs 0 + Cgs1 2
Cs1
1C
CLtot = Cs1 + 1 s 0
2 2
2 2 kT kT kT
Vod ,0 = Vid ,0 = 18 + 16
Cs1 + Cs 0 / 4 Cs 0 Cs1
kT 1 2
Vid2 ,0 = 16 = ( 280Vrms ) Cs1 = 1.66 pF
Cs1 2
9 kT 1 2
Vid2 ,1 = = ( 280Vrms ) Cs 2 = 0.38 pF
2 Cs 2 + Cs1 / 3 4
Capacitor Sizes
Cs0 1.66pF
Cs1 1.66pF
Cs2 0.38pF
/2
Cs3 190fF
/2
Cs4 85fF
Cs5 42.fF (minimum) /2
Cs10 42.fF (minimum)
[Honda 2007]
[Min 2003]
[Kurose 2006]
Sampler
(MDAC)
[Chiu 2004]
[Mehr 2000]
Pipelined SAR
x
- - -
b0 b1 b2 b3
1 -1 -2 -3
Output x
x -
Register
b0 b1 b2 b3
-1 -2 -3
1
Output x
1 C
Vo1 = 1 + 5 Vo 2
Vo1 C6
(
Vo 2 = Vip Vref ) CC4
3
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
Sub-optimal power efficiency
Cannot scale stages like in a pipeline ADC
Noise and accuracy requirements decrease from MSB to LSB
cycle, but invested circuit energy per cycle is (usually) constant
Boris Murmann
Stanford University
murmann@stanford.edu
Copyright 2013 by Boris Murmann
Time-Interleaved ADC
[Ken Poulton]
M
Sampling
clocks of each
ADC
70
TI SAR
TI Pipeline
60
TI Flash
Other
50
SNDRHF [dB]
40
30
20
10 8 9 10 11
10 10 10 10
Sampling Rate [Hz]
B. Murmann, "ADC Performance Survey 1997-2013," [Online]. Available: http://www.stanford.edu/~murmann/adcsurvey.html
Feasible
Solutions Secondary factors
dominate the power
(e.g. flash resistor ladder)
0
o0
G0 ADC0
Ts+1
o1
G1 ADC1
x(t) y[n]
(N-1)Ts+N-1
oN-1
GN-1 ADCN-1
Timing Skew
Gain Offset
[Ken Poulton]
[Gustavsson, p.262]
OS/FS
[Ken Poulton]
[Gustavsson, p.266]
Gain
[Ken Poulton]
[Gustavsson, p.267]
y0[n]
ADC0 Correction ~y0[n]
Digital Backend
x(t) Detection
Background Calibration
8-bit Interleave 0
C Calibration
Calibration
Decoder
Logic
DAC
G2(0)
6
63
comp
G1(0)
Flash
other
Coarse
interleave
(not shown) nonlinearity
compensation
[Verma, ISSCC 2013] in G2(0)
Clock Generator
All traces and all transistors have mismatch, which can easily
result in ~10ps total timing skew for a complex clock tree
Global CML master clock times the sampling instants; local phase
gating for each ADC
Skew ~0.5ps (!)
Encoder
Control Bits
Auxiliary ADC
MUX
...
1
t
2
t
3
t
CAL
t
1
3
Period of CAL is e.g. 17/8 period of 1 - 8
B. Murmann EE315B - Chapter 10 27
Hierarchical Interleaving
Examples (1)
8 Interleaved SARs,
each running at
1.1GS/s
8.8GS/s, 50mW
Examples (2)
[El-Chammas & Murmann, VLSI 2010]
Examples (4)
Boris Murmann
Stanford University
murmann@stanford.edu
Copyright 2013 by Boris Murmann
Overview
Sampling theorem
fs > 2fsig ,max
Anti-Alias Filtering
Ne(f)
2/12
fB fs/2
f B 2 2
f s / 2 12 12
fs 2 fB M = 2 1MHz 216
131GHz
Noise Shaping
Y ( z ) = E ( z ) + A ( z ) X ( z ) A ( z )Y ( z )
1 A(z)
= E (z) + X (z)
1+ A ( z ) 1+ A ( z )
= E ( z ) HE ( z ) + X ( z ) H X ( z )
123 123
Noise Signal
Transfer Transfer
Function Function
1 A(z)
Y (z) = E (z) + X (z)
1+ A ( z ) 1+ A ( z )
1424 3 1424 3
Noise Signal
Transfer Transfer
Function Function
Objective
Want to make STF unity in the signal frequency band
Want to make NTF "small" in the signal frequency band
If the frequency band of interest is around DC (0fB) we
achieve this by making |A(z)| >>1 at low frequencies
Means that NTF is <<1
Mans that STF 1
v ( k ) = u ( k 1) + v ( k 1) V ( z ) = z 1U ( z ) + z 1V ( z )
V (z) z 1 1
= 1
= z = e j T
U (z) 1 z z 1
E(z)
X(z) z-1 Y(z)
+ +
- 1-z-1
DAC
1
1
Y (z) = E (z)
1 1 (
+ X ( z ) z 1 = E ( z ) 1 z 1 + X ( z ) z 1 )
1+ 1+
z 1 z 1
He ( z ) = 1 z 1
e j T / 2 e j T / 2
( )
He ( j ) = 1 e j T = 2e j T / 2
2
T T
j T T j
= 2e 2
j sin = 2 sin e
2
2 2
f
He ( f ) = 2 sin ( fT ) = 2 sin
fs
fB 2
2 2 f
Pqnoise = 2 sin
12 fs fs
df
0
fB 2
2 2 f
12 fs
2 df
fs
0
3
2 2 2fB 2 2 1
=
12 3 fs 12 3 M 3
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)
8-bit increase in resolution (48dB SQNR improvement)
would necessitate M60
Not all that bad!
M SQNR improvement
16 31dB (~5 bits)
256 67dB (~11 bits)
1024 85dB (~14 bits)
1 A(z)
Y (z) = E (z) + X ( z ) DAC ( z )
1+ A ( z ) 1+ A ( z )
Solutions
Trimming or calibration
Measure DAC levels during test or at power-up
Apply correction values to each level using auxiliary DAC
Dynamic Element Matching Algorithms
Shuffle DAC unit elements to obtain fairly precise "average"
output levels
Two ways
Data independent shuffling
Data dependent shuffling
Data dependent shuffling algorithms allow to push most of
the DAC "noise" outside the signal band
See e.g. [Carley, JSSC 4/1989], [Galton, TCAS II 10/1997],
[Vleugels, JSSC 12/2001]
Single bit DAC
Carley, L.R., "A noise-shaping coder topology for 15+ bit converters,"
IEEE JSSC, vol.24, no.2, pp.267-273, Apr. 1989.
1-bit
code
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
[Schreier, p. 39]
f/fs
[Schreier, p. 40]
[M=256]
0.5
Input x(n) 0
-0.5
0 200 400 600 800 1000
Quantization error e(n)
0.5
-0.5
0 200 400 600 800 1000
Sample index n
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
x
fk = k DC + 0.5 fs
X/
fB 2L
2 2 f
Pqnoise = 2 sin
12 fs fs
df
0
fB 2L
2 2 f
12 fs
2
fs
df
0
2L +1
2 2L 2fB
12 2L + 1 fs
2L +1
2 2L 1
12 2L + 1 M
SQNR [dB]
-1 -1
-1 -1
E(z)
X(z) z z Y(z)
+ a1 + a2 +
- 1-z - 1-z
2
a a z 2
HX (z ) = 1 2 HE (z ) =
(1 z )
1
D (z) D (z)
2 a = a2 = 1 and b = 2
(
D( z ) = 1 z 1 ) ( )
+ a2bz 1 1 z 1 + a1a2 z 2 = 1 e.g. for 1
a1 = 0.5,a2 = 2 and b = 1
[Schreier, p.70]
Compared to first
order modulator,
SQNR is in "better"
agreement with
simple linear model
-20
-30 O
-40
O
O
1st order Improved idle tone
O
-50
X O performance
-60 O
X
-70
-80 X
1 L0 ( z )
He ( z ) = Hx ( z ) =
1 L1( z ) 1 L1( z )
Hx ( z ) 1
L0 ( z ) = L1( z ) = 1
He ( z ) He ( z )
Stability
Having more than two integrators in a feedback loop means that
the loop can be unstable (criterion = BIBO)
From the diagram of the previous slide, it is clear that the
stability of the loop mostly depends on L1(z), and therefore the
characteristics of the NTF
How about the nonlinear transfer characteristic of the quantizer?
Unfortunately, there is no crisp mathematical result that
would address this question for all possible configurations
One important, and general aspect of having a nonlinearity
in the loop is that the stability becomes dependent on the
signal (and also L0)!
In practice, designers rely on a combination of stability analyses
using the linear model (!), established heuristics, and time
domain simulations of the nonlinear model
[Norsworthy, pp.156]
Max. Input [/2]
M=40, L=6
max[He()] max[He()]
1 A( z )
He ( z ) = Hx ( z ) = 1 in band of interest
1 + A( z ) 1 + A( z )
[Schreier, p. 115]
mag = 1.459
0
-20
He [dB]
-40
-60
-80
-100 -3 -2 -1
10 10 10
Frequency [f/f s]
Transfer function:
0.7505 z^-1 - 1.982 z^-2 + 1.766 z^-3 - 0.5301 z^-4
---------------------------------------------------
1 - 3.998 z^-1 + 5.995 z^-2 - 3.998 z^-3 + z^-4
% Check realizability
a = impulse(A);
a(1)
ans = 0
Commercial Example
Analog + Digital
x y DELAY
In Out
e
DIGITAL
x y 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
1
z-1
1
z-1
1
z-1
2-1 Cascade
t/Ts Qs QI
n-1 CsVi(n-1) CIVo(n-1)
n-1/2 0 CIVo(n-1/2) = CIVo(n-1) + CsVi(n-1)
n CsVi(n) CIVo(n) = CIVo(n-1) + CsVi(n-1)
n+1/2
Vo ( z ) Cs z 1
=
Vi ( z ) CI 1 z 1
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
n CsVi(n) CIVo(n)[1+1/A] = CIVo(n-1)[1+1/A] +
CsVi(n-1) - CsVo(n)/A
n+1/2
1 1 C
CIVo ( z ) 1 + = z 1CIVo ( z ) 1 + + z 1CsVi ( z ) s Vo ( z )
A A A
1 C
z 1 1 1 + s
Vo ( z ) Cs A CI g z 1
=
Vi ( z ) CI 1 Cs 1 1 [1 ] z 1
1 1 z
A CI
Vo ( z ) = [1 ] z 1Vo ( z ) + g z 1Vi ( z )
Required DC Gain
Good practice to make OTA gain at least a few times larger than
oversampling ratio
2 kT kT 1 kT 1
v in,tot = + + x = gm 2Ron
Cs Cs 1 + 1 Cs 1 + x
{
1 1444 x424444 3 [Schreier, TCAS1, 2005]
2 2
v in,tot1 v in,tot2
PSD(f) PSD(f)
f f
fs/2 fs/2
Y(z) Y(z)
N1(z)
= z 2
N2(z)
= 2 1 z 1 z 1( )
B. Murmann EE315B - Chapter 11 73
In-Band Noise
PSD(f)
PSD(f)
Digital filter
f f
fs/2 fb fs/2
+ f
+
PSD(f) fb fs/2
PSD(f)
fs / 2
OSR =
f
fb f
fs/2 fb fs/2
PSD(f) PSD(f)
+
f f
fs/2 fs/2
2 1 2 2 1
vin,tot1 v in,tot2
OSR 3 OSR3
2 2 1 2 2 1
v in,tot = vin,tot1 + vin,tot2
OSR 3 OSR3
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. Solid-
State 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
fS fN
Analog Modulator 1-Bit Digital
Input Output
11.3 (2nd-Order) 11.3 44.1 (16 Bits)
MHz MHz kHz
Quantization
Signal Noise
Noise
Filter Requirements
1 N 1
y( n ) = x (n i )
N i =0
Frequency domain
f
N sin N j f ( N 1)
1 1 z 1 fs e fs
H( z ) = H( ) =
N 1 z 1 N f
fs
Zeros at multiples of fs/N
Make N=M1 to attenuate alias components!
-10
-20
-30
-40
-50
-60 K=1
K=2
-70
K=3
-80
-90
-100
0 f B fN fs1 2f s1 3f s1
M1 M1 M1
Frequency
[Norsworthy, p.30]
[Norsworthy, p.31]
[Norsworthy, p.31]
Numerator Section:
X Y X + Y
1 z -1
Delay
Denominator Section:
X 1 Y X + Y
1 z -1
Delay
0
Passband Ripple
-10 = 0.01 dB
-20
-70
-80
-90
-100
0 20 40 60 80 100 120 140 160 180 200
FREQUENCY (kHz)
Droop Correction
0.6
0.5
0.4
0.3 Droop-Correction
0.2 Filter
First Halfband
0.1 Filter
0.0
-0.1
Second
-0.2
Third-Order Halfband
-0.3 Sinc Filter Filter
-0.4
-0.5
-0.6
0 2 4 6 8 10 12 14 16 18 20 22
FREQUENCY (kHz)
43 multiplications and
SINC FILTER
INTEGRATORS 20 20 20 20 20 20 Modulator 84 additions per output
Output
sample
CLK (11.3 MHz)
Processor
Input
Virtual Addr.
Logic
Can use serial
7
Addr
7 arithmetic to minimize
8
7 hardware area
Data RAM
Addr
PROCESSOR
(128 x 22)
Coefficient/
Since output rate is
R/W
Control ROM
(256 x 22)
usually fairly low
Dout Din
22 13 Ctrl.
22
TS
yH (t)
Time
b1 b2 b3 bN Time
Magnitude
Baseband Signal SpectralImage
Spectral Images
Bands (Dirac Reconstruction)
|X*(f)|
|P Z (f)|
|YH (f)|
Oversampling
fB fN 2 fN (a) (M-2) fN (M-1) fN M fN
fB (b) fS = M f N
Frequency
Image Bands
Spectral Images
Nyquist-rate
Input
fB fS =fN 2 fN (M-2) fN (M-1) fN M fN
After
Zero
Insertion
fB fN 2 fN (M-2) fN (M-1) fN fS =M fN
Interpolation (2)
Why is this a good idea?
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 N N N N S N
Digital M
Lowpass
Filter
fB fS =M fN
Interpolator
Output
fB fS =M fN
DIGITA L ANALOG
Digital Analog
Digital 16 Digital 16 1 Analog
Noise Reconstruction
Input Interpolator M f Output
fN N Shaper M fN Filter
Spectra
Spectral Images
Digital
Input
fN 2 fN (M-2) fN (M-1) fN M fN
Analog
Output
Frequency
16 + + 18 + 19 1
X(z) z1 z1 Y(z) To 1-bit D/A Interface
+ +
18
Clipper
+
[Su &Wooley, JSSC 12/94]
2
ANALOG
a1 a2 ... an
ANALOG
Weighted
Current
Sources
a a ... a 128
1 2
Current-to-Voltage
Conversion
I
out
Analog
I out + Output
1 2 3 n
A OUT ( z ) = a1 z + a2 z + a3 z + + an z DIN ( z )
H (z)
Linear if H(z) is independent of DIN(z)
B. Murmann EE315B - Chapter 11 99
Measurement Results
40
60
80
100
120
140
160
1k 10k 100k 1M
Frequency (Hz)
Boris Murmann
Stanford University
murmann@stanford.edu
Copyright 2013 by Boris Murmann
-8
10
P/f s [J]
-10
10
-12
10
ISSCC & VLSI 1998-2005
20 30 40 50 60 70 80 90 100 110
SNDR [dB]
-8
10
P/f s [J]
-10
10
-12
10 ISSCC & VLSI 2006-2013
ISSCC & VLSI 1998-2005
20 30 40 50 60 70 80 90 100 110
SNDR [dB]
Questions
2
1 VFS
2 2
SNR = Pmin = CVFS fs VDD VDD = VFS
kT
C
Pmin
Emin = = 8kT SNR
fs
[Hosticka, Proc. IEEE 1985; Vittoz, ISCAS 1990]
-8
10
Energy [J]
-10
10
-12 4x/6dB
10
20 30 40 50 60 70 80 90 100 110
SNDR [dB]
-8
10
Energy [J]
-10
10
-12 4x/6dB
10
20 30 40 50 60 70 80 90 100 110
SNDR [dB]
Normalized Plot
8
10
ISSCC & VLSI 2006-2013
ISSCC & VLSI 1998-2005
6
10
EADC/Emin
4
10
2
10
~10,000 ~100
100x in 8 years ~2x in 8 years
0
10
20 30 40 50 60 70 80 90 100 110
SNDR [dB]
There are (at least) two widely used ADC figures of merit (FOM)
used in literature
Walden FOM
Power
Energy increases 2x per bit (ENOB) FOM = ENOB
2 fsnyq
Empirical
Schreier FOM
Energy increases 4x per bit (DR)
Thermal
BW
Ignores distortion FOM = DR(dB) + 10log
P
FOM Lines
-6
10
-8
10
Energy [J]
-10
10
10
-14 Walden FOM = 10fJ/conv-step
Schreier FOM = 170dB
20 30 40 50 60 70 80 90 100 110
SNDR [dB]
Best to use thermal FOM for designs with SNDR > 60dB
-8
10
P/f s [J]
-10
10
Flash
Pipeline
SAR
-12
10
Other
20 30 40 50 60 70 80 90 100
SNDR [dB]
Flash ADC
Ecomp Eenc
(
Eenc 5 2B B Egate )
Matching-Limited Comparator
A 2VT C
2VOS = A 2VT c Offset
WL Cox
A 2VT Cox Required
Cc = + Cc min capacitance
Cc Cc 2VOS
1 Vinpp Confidence
3 VOS = interval
Simple Dynamic Latch 4 2B
Assuming Ccmin = 5fF 3dB penalty
for wires, clocking, etc. SNR[dB] + 3
B accounts for
6 DNL noise
2
VDD
Ecomp 144 2 Cox A VT 2 + Cc min VDD
2B 2 2
2B 1 ( )
1424 3 Vinpp
Matching
Energy
250 8 9 139 80
130 4 14 54 10
65 3 17 37 3
32 1.5 43 23 1.5
Comparison to State-of-the-Art
-6
10
Flash ISSCC & VLSI 1997-2012
Eflash65nm
-8
10 Ecomp65nm
Emin
-10 [6]
10
P/f snyq [J]
[5]
[2] [3] [4]
10
-12 [1]
-14
10
-16
10
15 20 25 30 35 40
[1] Van der Plas, ISSCC 2006
SNDR [dB]
[4] Daly, ISSCC 2008
[2] El-Chammas, VLSI 2010 [5] Chen, VLSI 2008
[3] Verbruggen, VLSI 2008 [6] Geelen, ISSCC 2001 (!)
B. Murmann EE315B - Chapter 12 16
Impact of Scaling
-6
10
Flash ISSCC & VLSI 1997-2012
Eflash250nm
-8
Eflash130nm
10 Eflash65nm
Eflash32nm
P/f snyq [J]
Emin
-10
10
-12
10
-14
10
15 20 25 30 35 40
SNDR [dB]
SC Delta-Sigma Modulator
Ci 2 1 2
= = Ceff = Ci (1 ) + CL = Ci + CL Ci
Ci 3 3 3
Ci +
2
B. Murmann EE315B - Chapter 12 18
SC Integrator Constraints
2
1 Vinpp
2 2 Thermal noise
SNR
kT 1 sets Ceff
4
Ceff OSR
Ceff T /2 Ts / 2
= = s Settling time
gm 1 ln SNR ( )
ln sets gm
d
gm
P = VDD gm sets power
gm
ID
VDD
Settling
penalty
Number
6474of 8 2 }
VDD 1 1
Eint DT = 64
{ kT SNR ln ( SNR )
V V
gm
14inpp DD
Excess noise 24 3
ID
Finite Supply {
utilization Transconductor
efficiency
E 200kT SNR
-8
10 [7]
P/f snyq [J]
[6]
[4] [5]
-10 [3]
10 [1] [2] DT ISSCC & VLSI 1997-2012
CT ISSCC & VLSI 1997-2012
First Integrator
EintCT
-12
10 EintDT
Emin
Overall Picture
-6
10
-8
10
Flash
Pipeline
SAR
P/f s [J]
-10
10 Other
E
flash32nm,cal
E
pipe
-12
10 E
sar
E
CT
E
min
-14
10
20 30 40 50 60 70 80 90 100 110
SNDR [dB]
As shown previously:
2
1 VDD 1
E
VDD Vinpp gm
ID
20
gm/ID [S/A]
15
10
0
-0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 0.6
VGS-Vt [V]
120 180nm
100 90nm
80
fT [GHz]
60
40
20
0
-0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 0.6
VGS-Vt [V]
30 Example
180nm
90nm fT = 30GHz
25 45nm 90nm: gm/ID = 18S/A
180nm: gm/ID = 9S/A
gm/ID [S/A]
5
0 20 40 60 80 100
fT [GHz]
-8
10
P/f snyq [J]
-10
10
-12
10 ISSCC & VLSI 1997-2013
90nm and below
20 30 40 50 60 70 80 90 100 110
SNDR [dB]
4
10
2
10
0
10 4 5 6 7 8 9 10
10 10 10 10 10 10 10
f s [Hz]
Analysis
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
Conclusions (2)
At low resolutions, scaling will continue to help lower ADC
energy
Scaling will especially help improve the efficiency of GS/s A/D
converters
This is badly needed for high-speed data links
(electrical and optical)
For non-incremental improvements, we must explore new ideas
in signal processing that tackle ADC inefficiency at the system
level
Compressed sensing
Finite innovation rate sampling
Other ideas?
Analog Recon-
Filter struction