376
EE315B VLSI Data Conversion Circuits - Autumn 2013 - Boris Murmann Stanford University [email protected] 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

EE315B VLSI Data Conversion Circuits

Embed Size (px)

Citation preview

EE315B

VLSI Data Conversion Circuits

- Autumn 2013 -

Boris Murmann

Stanford University

[email protected]

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)

B. Murmann 1EE315B - Chapter 1

Introduction

Boris Murmann

Stanford University

[email protected]

Copyright © 2013 by Boris Murmann

B. Murmann 2EE315B - Chapter 1

Motivation (1)

Digital

Processing

A/D

D/A

Signal

Conditioning

Signal

Conditioning

Analog

Media and

Transducers

Sensors, Actuators,

Antennas, Storage Media, ...

This course

B. Murmann 3EE315B - Chapter 1

Motivation (2)

• Benefits of digital signal processing

– Reduced sensitivity to "analog" noise

– Enhanced functionality and flexibility

– Amenable to automated design & test

– Direct benefit from the scaling of VLSI technology

– "Arbitrary" precision

• Issues

– Data converters are difficult to design

• Especially due to ever-increasing performance requirements

– Data converters often present a performance bottleneck

• Speed, resolution or power dissipation of the A/D or D/A

converter can limit overall system performance

B. Murmann 4

A/D Converter ca. 1954

http://www.analog.com/library/analogDialogue/archives/39-06/data_conversion_handbook.html

EE315B - Chapter 1

B. Murmann 5EE315B - Chapter 1

Data Converter Applications (1)

• Consumer electronics

– Audio, TV, Video

– Digital Cameras

– Automotive control

– Appliances

– Toys

• Communications

– Mobile Phones

– Personal Data Assistants

– Wireless Transceivers

– Routers, Modems

B. Murmann 6EE315B - Chapter 1

Data Converter Applications (2)

• Computing and Control

– Storage media

– Sound Cards

– Data acquisition cards

• Instrumentation

– Lab bench equipment

– Semiconductor test equipment

– Scientific equipment

– Medical equipment

B. Murmann 7EE315B - Chapter 1

Example 1

• High performance digital

oscilloscopes rely on extremely

high performance ADCs

• Example

– 20 GSample/s, 8-bit ADC

– 10 W Power dissipation

[Poulton, ISSCC 2003]

B. Murmann 8

Example 2

• Schvan, ISSCC 2008

• Time interleaved architecture using 160 (!) SAR ADCs for

optical networks

EE315B - Chapter 1

B. Murmann 9EE315B - Chapter 1

Example 3

• A typical cell phone contains:

– 4 Rx ADCs

– 4 Tx DACs

– 3 Auxiliary ADCs

– 8 Auxiliary DACs

• A total of 19 data converters!

Dual Standard, I/Q

Audio, Tx/Rx power

control, Battery charge

control, display, ...

B. Murmann 10EE315B - Chapter 1

Example 4

• Low-cost, single chip solutions require embedded data

conversion

• Example: 802.11g Wireless LAN chip

– 2x 11-bit DAC, 176 MSamples/s

– 2x 9-bit ADC, 80 MSamples/s

[Mehta, ISSCC2005]

B. Murmann 11

Trend Toward Lower ADC Energy

EE315B - Chapter 1

B. Murmann, "ADC Performance Survey 1997-2013," [Online]. Available: http://www.stanford.edu/~murmann/adcsurvey.html

20 30 40 50 60 70 80 90 100 110

10-12

10-10

10-8

10-6

SNDR [dB]

P/fs [J]

ISSCC & VLSI 2006-2013

ISSCC & VLSI 1998-2005

B. Murmann 12EE315B - Chapter 1

Course Objective

• Acquire a thorough understanding of the basic principles and

challenges in data converter design

– Focus on concepts that are unlikely to expire within the next

decade

– Preparation for further study of state-of-the-art "fine-tuned"

realizations

• 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 13EE315B - Chapter 1

Staff and Website

• 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

B. Murmann 14EE315B - Chapter 1

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

B. Murmann 15

Analog Circuit Sequence

EE315B - Chapter 1

B. Murmann 16EE315B - Chapter 1

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%)

B. Murmann 17EE315B - Chapter 1

Honor Code

• Please remember you are bound by the honor code

– I will trust you not to cheat

– I will try not to tempt you

• But if you are found cheating it is very serious

– There is a formal hearing

– You can be thrown out of Stanford

• Save yourself and me a huge hassle and be honest

• For more info

– http://www.stanford.edu/dept/vpsa/judicialaffairs/guiding/pdf/

honorcode.pdf

B. Murmann 18EE315B - Chapter 1

Tools and Technology

• 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 19EE315B - Chapter 1

Reference Books

• M. Pelgrom, Analog-to-Digital Conversion, Springer, 2010

• Gustavsson, Wikner, Tan, CMOS Data Converters for

Communications, Kluwer, 2000

• A. Rodríguez-Vázquez, F. Medeiro, and E. Janssens, CMOS Telecom

Data Converters, Kluwer Academic Publishers, 2003

• W. Kester, The Data Conversion Handbook, Newnes, 2005http://www.analog.com/library/analogdialogue/archives/39-06/data_conversion_handbook.html

• B. Razavi, Data Conversion System Design, IEEE Press, 1995

• R. Schreier, G. Temes, Understanding Delta-Sigma Data Converters,

Wiley-IEEE Press, 2004

• R. v. d. Plassche, CMOS Integrated Analog-to-Digital and Digital-to-

Analog Converters, 2nd ed., Kluwer, 2003

• J. G. Proakis, and D. G. Manolakis, Digital Signal Processing,

Prentice Hall, 1995

B. Murmann 20EE315B - Chapter 1

Course Topics

• Ideal sampling, reconstruction and quantization

• Sampling circuits

• Voltage comparators

• Nyquist-rate ADCs and DACs

• Oversampled ADCs and DACs

• Data converter performance trends and limits

• Data converter testing, simulation techniques

B. Murmann 1EE315B - Chapter 2

Sampling, Reconstruction, Quantization

Boris Murmann

Stanford University

[email protected]

Copyright © 2013 by Boris Murmann

B. Murmann 2EE315B - Chapter 2

The Data Conversion Problem

• Real world signals

– Continuous time, continuous amplitude

• Digital abstraction

– Discrete time, discrete amplitude

• Two problems

– How to discretize in time and amplitude

• A/D conversion

– How to "undescretize" in time and amplitude

• D/A conversion

B. Murmann 3EE315B - Chapter 2

Overview

• We'll fist look at these building blocks from a functional, "black

box" perspective

– Refine later and look at implementations

B. Murmann 4EE315B - Chapter 2

Uniform Sampling and Quantization

• Most common way of performing A/D

conversion

– Sample signal uniformly in time

– Quantize signal uniformly in

amplitude

• 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 5EE315B - Chapter 2

Aliasing Example (1)

11000

101

ss

sig

f kHzT

f kHz

= =

=

( ) ( )2sig inv t cos f t= π ⋅ ⋅ ( ) 2

1012

1000

insig

s

fv n cos n

f

cos n

= π ⋅ ⋅

= π ⋅ ⋅

s

s

nt n T

f→ ⋅ =

Time

Amplitude

B. Murmann 6EE315B - Chapter 2

Aliasing Example (2)

11000

899

ss

sig

f kHzT

f kHz

= =

=

( )899 899 101

2 2 1 21000 1000 1000

sigv n cos n cos n cos n

= π ⋅ ⋅ = π ⋅ − ⋅ = π ⋅ ⋅

Time

Amplitude

B. Murmann 7EE315B - Chapter 2

Aliasing Example (3)

11000

1101

ss

sig

f kHzT

f kHz

= =

=

( )1101 1101 101

2 2 1 21000 1000 1000

sigv n cos n cos n cos n

= π ⋅ ⋅ = π ⋅ − ⋅ = π ⋅ ⋅

Time

Amplitude

B. Murmann 8EE315B - Chapter 2

Consequence

• The frequencies fsig and N·fs ± fsig (N integer), are

indistinguishable in the discrete time domain

B. Murmann 9EE315B - Chapter 2

Sampling Theorem

• In order to prevent aliasing, we need

2

ssig,max

ff <

• The sampling rate fs=2·fsig,max is called the Nyquist rate

• Two possibilities

– Sample fast enough to cover all spectral components,

including "parasitic" ones outside band of interest

– Limit fsig,max through filtering

B. Murmann 10EE315B - Chapter 2

Brick Wall Anti-Alias Filter

B. Murmann 11EE315B - Chapter 2

Practical Anti-Alias Filter

• Need to sample faster than Nyquist rate to get good attenuation

– "Oversampling"

Continuous

Time

Discrete

Time

0 fs

... f

Desired

Signal

0 0.5 f/fs

fs/2B f

s-B

Parasitic

Tone

B/fs

Attenuation

B. Murmann 12EE315B - Chapter 2

How much Oversampling?

• Can tradeoff sampling speed against filter order

• In high speed converters, making fs/fsig,max>10 is usually

impossible or too costly

– Means that we need fairly high order filters

Alias Rejection

fs/fsig,max

Filter Order

[v.d. Plassche, p.41]

B. Murmann 13EE315B - Chapter 2

Classes of Sampling

• Nyquist-rate sampling (fs > 2·fsig,max)

– Nyquist data converters

– In practice always slightly oversampled

• Oversampling (fs >> 2·fsig,max)

– Oversampled data converters

– Anti-alias filtering is often trivial

– Oversampling also helps reduce "quantization noise"

• More later

• Undersampling, subsampling (fs < 2·fsig,max)

– Exploit aliasing to mix RF/IF signals down to baseband

– See e.g. Pekau & Haslett, JSSC 11/2005

B. Murmann 14EE315B - Chapter 2

Subsampling

• Aliasing is "non-destructive" if signal is band limited around some

carrier frequency

• Downfolding of noise is a severe issue in practical subsampling mixers

– Typically achieve noise figure no better than 20 dB (!)

B. Murmann 15EE315B - Chapter 2

The Reconstruction Problem

• As long as we sample fast

enough, x(n) contains all

information about x(t)

– fs > 2·fsig,max

• How to reconstruct x(t) from x(n)?

• Ideal interpolation formula

s

n

x(t ) x(n ) g( t nT )∞

=−∞

= ⋅ −∑

s

s

sin( f t )g( t )

f t

π

=

π

• Very hard to build an analog

circuit that does this…

B. Murmann 16EE315B - Chapter 2

Zero-Order Hold Reconstruction

• The most practical way of

reconstructing the continuous

time signal is to simply "hold" the

discrete time values

– Either for full period Ts or a

fraction thereof

– Other schemes exist, e.g.

“partial-order hold”

• See [Jha, TCAS II, 11/2008]

• What does this do to the signal

spectrum?

• We'll analyze this in two steps

– First look at infinitely narrow

reconstruction pulses

B. Murmann 17EE315B - Chapter 2

Dirac Pulses

• xd(t) is zero between pulses

– Note that x(n) is undefined at

these times

d s

n

x ( t ) x( t ) ( t nT )∞

=−∞

= ⋅ δ −∑

1d

s sn

nX (f ) X f

T T

=−∞

= −

• Multiplication in time means

convolution in frequency

– Resulting spectrum

B. Murmann 18EE315B - Chapter 2

Spectrum

• Spectrum of Dirac signal contains replicas of Vin(f) at integer

multiples of the sampling frequency

B. Murmann 19EE315B - Chapter 2

Finite Hold Pulse

• Consider the general case with a

rectangular pulse 0 < Tp ≤ Ts

• The time domain signal on the left

follows from convolving the Dirac

sequence with a rectangular unit pulse

• Spectrum follows from multiplication with

Fourier transform of the pulse

pj fTpp p

p

sin( fT )H (f ) T e

fT

− ππ

= ⋅

π

pj fTp pp

s p sn

T sin( fT ) nX (f ) e X f

T fT T

− π

=−∞

π = ⋅ −

π ∑

Amplitude Envelope

B. Murmann 20EE315B - Chapter 2

Envelope with Hold Pulse Tp=T

s

0 0.5 1 1.5 2 2.5 30

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

f/fs

abs(H(f))

f/fs

p p

s p

T sin( fT )

T fT

π

π

B. Murmann 21EE315B - Chapter 2

Envelope with Hold Pulse Tp=0.5·T

s

0 0.5 1 1.5 2 2.5 30

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

f/fs

abs(H(f))

f/fs

p p

s p

T sin( fT )

T fT

π

π

Tp=Ts

Tp=0.5·Ts

B. Murmann 22EE315B - Chapter 2

Example

Spectrum of Continuous Time

Pulse Train (Arbitrary Example)

ZOH Transfer Function

("Sinc Distortion")

ZOH output, Spectrum of

Staircase Approximation

0 0.5 1 1.5 2 2.5 30

0.5

1

0 0.5 1 1.5 2 2.5 30

0.5

1

0 0.5 1 1.5 2 2.5 30

0.5

1

f/fs

original spectrum

B. Murmann 23EE315B - Chapter 2

Reconstruction Filter

• Also called

smoothing filter

• Same situation

as with anti-alias

filter

– A brick wall

filter would be

nice

– Oversampling

helps reduce

filter order

0 0.5 1 1.5 2 2.5 30

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

f/fs

Spectrum

Filter

B. Murmann 24EE315B - Chapter 2

Summary

• Must obey sampling theorem fs > 2·fsig,max,

– Usually dictates anti-aliasing filter

• If sampling theorem is met, continuous time signal can be

recovered from discrete time sequence without loss of

information

• A zero order hold in conjunction with a smoothing filter is the

most common way to reconstruct

– May need to add pre- or post-emphasis to cancel droop due

to sinc envelope

• Oversampling helps reduce order of anti-aliasing and

reconstruction filters

B. Murmann 25EE315B - Chapter 2

Recap

• Next, look at

– Transfer functions of quantizer and DAC

– Impact of quantization error

B. Murmann 26EE315B - Chapter 2

Quantization of an Analog Signal

• Quantization step ∆

• Quantization error has sawtooth shape

– Bounded by –∆/2, +∆/2

• 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)

+∆/2

-∆/2

x (input)

eq (

qu

an

tiza

tio

n e

rro

r)

Error eq=q-x

x (input)

Vq

(quantized o

utp

ut)

Transfer Function

Slope=1

B. Murmann 27EE315B - Chapter 2

Conceptual Model of a Quantizer

• Encoding block determines how quantized levels are mapped

into digital codes

• Note that this model is not meant to represent an actual

hardware implementation

– Its purpose is to show that quantization and encoding are

conceptually separate operations

– Changing the encoding of a quantizer has no interesting

implications on its function or performance

B. Murmann 28EE315B - Chapter 2

+∆/2

-∆/2

x (input)

eq (

qu

an

tiza

tio

n e

rro

r)

Encoding Example for a B-Bit Quantizer

• Example: B=3

– 23=8 distinct output codes

– Diagram on the left shows

"straight-binary encoding"

– See e.g. Analog Devices "MT-

009: Data Converter Codes" for

other encoding schemes• http://www.analog.com/en/content/0

,2886,760%255F788%255F91285,

00.html

• Quantization error grows out of

bounds beyond code boundaries

• We define the full scale range

(FSR) as the maximum input range

that satisfies |eq| ≤ ∆/2

– Implies that FSR=2B·∆

000

001

010

011

100

101

110

111

Analog Input

Dig

ita

l O

utp

ut

FSR

B. Murmann 29EE315B - Chapter 2

Nomenclature

• Overloading - Occurs when an input outside

the FSR is applied

• Transition level – Input value at the

transition between two codes. By standard

convention, the transition level T(k) lies

between codes k-1 and k

• Code width – The difference between

adjacent transition levels. By standard

convention, the code width W(k)=T(k+1)-T(k)

– Note that the code width of the first and

last code (000 and 111 on previous slide)

is undefined

• LSB size (or width) – synonymous with

code width ∆ [IEEE Standard 1241-2000]

B. Murmann 30EE315B - Chapter 2

Implementation Specific Technicalities

• So far, we avoided specifying the absolute location of the code

range with respect to "zero" input

• The zero input location depends on the particular

implementation of the quantizer

– Bipolar input, mid-rise or mid-tread quantizer

– Unipolar input

• The next slide shows the case with

– Bipolar input

• The quantizer accepts positive and negative inputs– Represents the common case of a differential circuit

– Mid-rise characteristic

• The center of the transfer function (zero), coincides with a

transition level

B. Murmann 31EE315B - Chapter 2

Bipolar Mid-Rise Quantizer

• Nothing new here…

000001010011

100101110111

Analog Input

Dig

ita

l O

utp

ut

0-FSR/2 +FSR/2

B. Murmann 32EE315B - Chapter 2

Bipolar Mid-Tread Quantizer

• In theory, less sensitive to infinitesimal disturbance around zero

– In practice, offsets larger than ∆/2 (due to device mismatch) often make this argument irrelevant

• Asymmetric full-scale range, unless we use odd number of codes

000001010011

100101110111

Analog Input

Dig

ita

l O

utp

ut

0 FSR/2 - ∆/2FSR/2 + ∆/2

B. Murmann 33EE315B - Chapter 2

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

000001010011

100101110111

Analog Input

Dig

ita

l O

utp

ut

0 FSR - ∆/2

B. Murmann 34EE315B - Chapter 2

Effect of Quantization Error on Signal

• Two aspects

– How much noise power does quantization add to samples?

– How is this noise power distributed in frequency?

• Quantization error is a deterministic function of the signal

– Should be able answer above questions using a

deterministic analysis

– But, unfortunately, such an analysis strongly depends on the

chosen signal and can be very complex

• 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 35EE315B - Chapter 2

Ramp Input

• Applying a ramp signal (periodic sawtooth) at the input of the

quantizer gives the following time domain waveform for eq

• What is the average power of this waveform?

• Integrate over one period

2

2 2

2

1T /

q q

T /

e e (t )dtT

= ∫ qe (t ) tT

∆= ⋅

22

12qe

∆∴ =

0 50 100 150

-0.4

-0.2

0

0.2

0.4

0.6

Time [arbitrary units]

eq(t

) [ ∆

]

B. Murmann 36EE315B - Chapter 2

Sine Wave Input

• Integration is not straightforward…

0 0.2 0.4 0.6 0.8 1-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

Time [arbitrary units]

[Vo

lts]

0 0.2 0.4 0.6 0.8 1-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

Time [arbitrary units]

eq(t

) [ ∆

]

Vin

Vq

B. Murmann 37EE315B - Chapter 2

Quantization Error Histogram

• Sinusoidal input signal with fsig=101Hz, sampled at fs=1000Hz

• 8-bit quantizer

-0.6 -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 0.60

20

40

60

80

100

120

Mean=0.000LSB, Var=1.034LSB2/12

eq/∆

Count

• Distribution is "almost" uniform

• Can approximate average power by integrating uniform

distribution

B. Murmann 38EE315B - Chapter 2

Statistical Model of Quantization Error

• Assumption: eq(x) has a uniform probability density

• This approximation holds reasonably well in practice when

– Signal spans large number of quantization steps

– Signal is "sufficiently active"

– Quantizer does not overload

22 22

212

/q

q q

/

ee de

+∆

−∆

∆= =

∆∫

2

2

0

/q

q q

/

ee de

+∆

−∆

= =∆

∫Mean

Variance

B. Murmann 39EE315B - Chapter 2

Reality Check (1)

• Input sequence consists of 1000 samples drawn from Gaussian

distribution, 4σ=FSR

-0.6 -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 0.60

50

100

150

Mean=-0.004LSB, Var=1.038LSB2/12

eq/∆

Count

• Error power close to that of uniform approximation

B. Murmann 40EE315B - Chapter 2

Reality Check (2)

• Another sine wave example, but now fsig/fs=100/1000

• What's going on here?

-0.6 -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 0.60

100

200

300

400

500

Mean=-0.000LSB, Var=0.629LSB2/12

eq/∆

Count

B. Murmann 41EE315B - Chapter 2

Analysis (1)

• Sampled signal is repetitive and has only a few distinct values

– This also means that the quantizer generates only a few

distinct values of eq; not a uniform distribution

Time

Amplitude

fsig/fs=100/1000

B. Murmann 42EE315B - Chapter 2

Analysis (2)

( ) insig

s

fv n cos 2 n

f

= π ⋅ ⋅

• Signal repeats every m samples, where m is the smallest integer that satisfies

in

s

fm integer

f⋅ =

101m integer m 1000

1000

100m integer m 10

1000

⋅ = ⇒ =

⋅ = ⇒ =

• This means that eq(n) has at best 10 distinct values, even if we

take many more samples

B. Murmann 43EE315B - Chapter 2

Signal-to-Quantization-Noise Ratio

• Assuming uniform distribution of eq and a full-scale sinusoidal

input, we have

2B

sig 2B

2qnoise

1 2

2 2PSQNR 1.5 2 6.02B 1.76 dB

P

12

∆ = = = × = +∆

B (Number of Bits) SQNR

8 50 dB

12 74 dB

16 98 dB

20 122 dB

B. Murmann 44EE315B - Chapter 2

Quantization Noise Spectrum (1)

[Y. Tsividis, ICASSP 2004]

• How is the quantization noise power distributed in frequency?

– First think about applying a sine wave to a quantizer, without

sampling (output is continuous time)

+ many more harmonics

• Quantization results in an "infinite" number of harmonics

B. Murmann 45EE315B - Chapter 2

Quantization Noise Spectrum (2)

[Y. Tsividis, ICASSP 2004]

• Now sample the signal at the output

– All harmonics (an "infinite" number of them) will alias into

band from 0 to fs/2

– Quantization noise spectrum becomes "white"

• Interchanging sampling and quantization won’t change this

situation

B. Murmann 46EE315B - Chapter 2

Quantization Noise Spectrum (3)

• Can show that the quantization noise power is indeed distributed (approximately) uniformly in frequency

– Again, this is provided that the quantization error is "sufficiently random"

• 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.

22

12sf

∆⋅

B. Murmann 47EE315B - Chapter 2

Ideal DAC

• Essentially a digitally controlled voltage, current or charge source

– Example below is for unipolar DAC

• Ideal DAC does not introduce quantization error!

B. Murmann 48EE315B - Chapter 2

Static Nonidealities

• Static deviations of transfer characteristics from ideality

– Offset

– Gain error

– Differential Nonlinearity (DNL)

– Integral Nonlinearity (INL)

• 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

B. Murmann 49EE315B - Chapter 2

Offset and Gain Error

• Conceptually simple, but lots of (uninteresting) subtleties in how

exactly these errors should be defined

– Unipolar versus bipolar, endpoint versus midpoint

specification

– Definition in presence of nonlinearities

• General idea (neglecting staircase nature of transfer functions):

B. Murmann 50EE315B - Chapter 2

ADC Offset and Gain Error

• Definitions based on bottom and top endpoints of transfer characteristic

– ½ LSB before first transition and ½ LSB after last transition

– Offset is the deviation of bottom endpoint from its ideal location

– Gain error is the deviation of top endpoint from its ideal location with

offset removed

• Both quantities are measured in LSB or as percentage of full-scale range

Dout

Vin

Ideal

Offset

Dout

Vin

Ideal

Gain Error

B. Murmann 51EE315B - Chapter 2

DAC Offset and Gain Error

• Same idea, except that endpoints are directly defined by analog

output values at minimum and maximum digital input

• Also note that errors are specified along the vertical axis

B. Murmann 52EE315B - Chapter 2

Comments on Offset and Gain Errors

• 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

• Generally, it is non-trivial to build a converter with very good gain/offset

specifications

– Nevertheless, since gain and offset affect all codes uniformly, these

errors tend to be easy to correct

• E.g. using a digital pre- or post-processing operation

– Also, many applications are insensitive to a certain level of gain and

offset errors

• E.g. audio signals, communication-type signals, ...

• More interesting aspect: linearity

– DNL and INL

B. Murmann 53EE315B - Chapter 2

Differential Nonlinearity (DNL)

• 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

B. Murmann 54EE315B - Chapter 2

ADC DNL Example (1)

Code (k) W [V]

0 undefined

1 1

2 0.5

3 1

4 1.5

5 0

6 1.5

7 undefined

B. Murmann 55EE315B - Chapter 2

ADC DNL Example (2)

• What is the average code width?

– ADC with perfect uniformity would divide the range between

first and last transition into 6 equal pieces

– Hence calculate average code width (i.e. LSB size) as

avg

7.5V 2VW 0.9167V

6

= =

• Now calculate DNL(k) for each code k using

avg

avg

W(k) WDNL(k)

W

=

B. Murmann 56EE315B - Chapter 2

Result

• Positive/negative DNL implies wide/narrow code, respectively

• DNL = -1 LSB implies missing code

• Impossible to have DNL < -1 LSB for an ADC

– But possible to have DNL > +1 LSB

• Can show that sum over all DNL(k) is equal to zero

Code (k) DNL [LSB]

1 0.09

2 -0.45

3 0.09

4 0.64

5 -1.00

6 0.64

B. Murmann 57EE315B - Chapter 2

A Typical ADC DNL Plot

• People speak about DNL often only in terms of min/max number across all codes

– E.g. DNL = +0.63/-0.91 LSB

• Might argue in some cases that any code with DNL < -0.9 LSB is essentially a missing code

– Why ?

[Ahmed, JSSC 12/2005]

B. Murmann 58EE315B - Chapter 2

Impact of Noise

• In essentially all moderate to high-resolution ADCs, the transition

levels carry noise that is somewhat comparable to the size of an LSB

– Noise "smears out" DNL, can hide missing codes

• Especially for converters whose input referred (thermal) noise is

larger than an LSB, DNL is a "fairly useless" metric

[W. Kester, "ADC Input Noise: The

Good, The Bad, and The Ugly. Is

No Noise Good Noise?" Analogue

Dialogue, Feb. 2006]

B. Murmann 59EE315B - Chapter 2

DAC DNL

• Same idea applies

– Find output increments for each digital code

– Find increment that divides range into equal steps

– Calculate DNL for each code k using

avg

avg

Step(k) StepDNL(k)

Step

=

• One difference between ADC and DAC is that DAC DNL can be

less than -1 LSB

– How ?

B. Murmann 60EE315B - Chapter 2

Non-Monotonic DAC

• In a DAC, DNL < -1LSB implies non-monotinicity

• How about a non-monotonic ADC?

avg

avg

Step(3) StepDNL(3)

Step

0.5V 1V1.5LSB

1V

=

− −

= = −

B. Murmann 61EE315B - Chapter 2

Non-Monotonic ADC

• Code 2 has two transition levels ⇒ W(2) is ill defined

– DNL is ill-defined!

• Not a very big issue, because a non-monotonic ADC is usually

not what we'll design for in practice…

B. Murmann 62EE315B - Chapter 2

Integral Nonlinearity (INL)

• 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

– Just as with DNL, the INL of a converter is by definition independent of gain and offset errors

B. Murmann 63EE315B - Chapter 2

ADC INL Example (1)

• "Straight line" reference

is uniform staircase

between first and last

transition

• INL for each code is

uniform

avg

T(k) T (k)INL(k)

W

=

• Obviously INL(1) = 0

and INL(7) = 0

• INL(0) is undefined

B. Murmann 64EE315B - Chapter 2

ADC INL Example (2)

• Can show thatk 1

i 1

INL(k) DNL(i)−

=

=∑

• Means that once we computed DNL, we can easily find INL

using a cumulative sum operation on the DNL vector

• Using DNL values from last lecture, we find

Code (k) DNL [LSB] INL [LSB]

1 0.09 0

2 -0.45 0.09

3 0.09 -0.36

4 0.64 -0.27

5 -1.00 0.36

6 0.64 -0.64

7 undefined 0

B. Murmann 65EE315B - Chapter 2

Result

B. Murmann 66EE315B - Chapter 2

A Typical ADC DNL/INL Plot

• DNL/INL signature often reveals architectural details

– E.g. major transitions

– We'll see more examples in the context of DACs

• Since INL is a cumulative measure, it turns out to be less

sensitive than DNL to thermal noise "smearing"

[Ishii, Custom

Integrated Circuits

Conference, 2005]

B. Murmann 67EE315B - Chapter 2

DAC INL

• Same idea applies

– Find ideal output values that lie on a straight line between

endpoints

– Calculate INL for each code k using

out outuniform

avg

V (k) V (k)INL(k)

Step

=

• Interesting property related to DAC INL

– If for all codes |INL| < 0.5 LSB, it

follows that all |DNL| < 1 LSB

– A sufficient (but not necessary)

condition for monotonicity

B. Murmann 68

How to Measure DNL/INL in the Lab?

• 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

EE315B - Chapter 2

B. Murmann 69EE315B - Chapter 2

Basic Histogram Test Setup

Kester, p. 5.39

B. Murmann 70

Histogram Example

EE315B - Chapter 2

Kester, p. 5.40

B. Murmann 71

Sinusoidal Input

• 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

EE315B - Chapter 2

Kester, p. 5.42

B. Murmann 72EE315B - Chapter 2

Correction for Sinusoidal pdf

• 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

B. Murmann 73EE315B - Chapter 2

DNL/INL Code

function [dnl,inl] = dnl_inl_sin(y);

%DNL_INL_SIN

% dnl and inl ADC output

% input y contains the ADC output

% vector obtained from quantizing a

% sinusoid

% Boris Murmann, Aug 2002

% Bernhard Boser, Sept 2002

% histogram boundaries

minbin=min(y);

maxbin=max(y);

% histogram

h = hist(y, minbin:maxbin);

% cumulative histogram

ch = cumsum(h);

% transition levels

T = -cos(pi*ch/sum(h));

% linearized histogram

hlin = T(2:end) - T(1:end-1);

% truncate at least first and last

% bin, more if input did not clip ADC

trunc=2;

hlin_trunc = hlin(1+trunc:end-trunc);

% calculate lsb size and dnl

lsb= sum(hlin_trunc) / (length(hlin_trunc));

dnl= [0 hlin_trunc/lsb-1];

misscodes = length(find(dnl<-0.9));

% calculate inl

inl= cumsum(dnl);

B. Murmann 74EE315B - Chapter 2

DNL/INL Code Test

% converter model

B = 6; % bits

range = 2^(B-1) - 1;

% thresholds (ideal converter)

th = -range:range; % ideal thresholds

th(20) = th(20)+0.7; % error

fs = 1e6;

fx = 494e3 + pi; % try fs/10!

C = round(100 * 2^B / (fs / fx));

t = 0:1/fs:C/fx;

x = (range+1) * sin(2*pi*fx.*t);

y = adc(x, th) - 2^(B-1);

hist(y, min(y):max(y));

dnl_inl_sin(y);

-30 -20 -10 0 10 20 30-1

-0.5

0

0.5

1

code

DN

L [

LS

B]

DNL = +0.7 / -0.71 LSB, 0 missing codes (DNL<-0.9)

-30 -20 -10 0 10 20 30-0.2

0

0.2

0.4

0.6

0.8

code

INL [

LS

B]

INL = +0.76 / -0.063 LSB

B. Murmann 75EE315B - Chapter 2

Limitations of ADC Histogram Testing

• Cannot detect non-monotonicity

– The histogram does not capture in which order the codes occurred

• Cannot detect erratic dynamics

– E.g. 123, 123, …, 123, 0, 124, 124, …

– Must look directly at ADC output to detect these

• Similarly, random noise is not detected and improves DNL

– E.g. 9, 9, 9, 10, 9, 9, 9, 10, 9, 10, 10, 10, …

• Reference

– B. Ginetti and P. Jespers, “Reliability of Code Density Test for High Resolution ADCs,” Electronics Letters, pp. 2231-2233, Nov. 1991

B. Murmann 76EE315B - Chapter 2

Hiding DNL Problems in the Noise

• INL suggests that there

may be missing codes

• But, DNL is "smeared

out" by noise and does

not show this

• Always look at both

DNL/INL

• INL usually does not lie

[Source: David Robertson, Analog Devices]

B. Murmann 1EE315B - Chapter 3

Spectral Performance Metrics

Boris Murmann

Stanford University

[email protected]

Copyright © 2013 by Boris Murmann

B. Murmann 2EE315B - Chapter 3

Dynamic Performance Metrics

• 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

B. Murmann 3EE315B - Chapter 3

Alphabet Soup of Spectral Metrics

• SNR - Signal-to-noise ratio

• SNDR (SINAD) - Signal-to-(noise+distortion) ratio

• ENOB - Effective number of bits

• DR - Dynamic range

• SFDR - Spurious free dynamic range

• HD – Harmonic distortion

• THD - Total harmonic distortion

• ERBW - Effective Resolution Bandwidth

• IMD - Intermodulation distortion

• MTPR - Multi-tone power ratio

B. Murmann 4EE315B - Chapter 3

DAC Tone Test/Simulation Setup

B. Murmann 5EE315B - Chapter 3

Typical DAC Output Spectrum

[Hendriks, "Specifying Communications DACs, IEEE Spectrum, July 1997]

B. Murmann 6

ADC Tone Test/Simulation Setup

• Basic idea

– Apply a clean sinusoid

– Compute ADC performance metrics based on output spectrum

EE315B - Chapter 3

B. Murmann 7

Aside: How to Make a Clean

Sinusoid in the Lab?

EE315B - Chapter 3

0 ... f

Amplitude

BP Filter

fin

...

2fin

3fin

4fin

Signal generator harmonics

www.tte.com, or

www.allenavionics.com

B. Murmann 8EE315B - Chapter 3

Discrete Fourier Transform Basics

• Bin k represents frequency content at k·fs/N [Hz]

• DFT frequency resolution

– Proportional to 1/(N·Ts) in [Hz/bin]

– N·Ts is total time spent gathering samples

• A DFT with N=2integer can be found using a computationally

efficient algorithm

– FFT = Fast Fourier Transform

• DFT takes a block of N time domain samples (spaced Ts=1/fs)

and yields a set of N frequency bins

N 1j2 kn/N

n 0

X(k) x(n)e−

− π

=

= ∑

B. Murmann 9EE315B - Chapter 3

Matlab Example

clear;

N = 100;

fs = 1000;

fx = 100;

x = cos(2*pi*fx/fs*[0:N-1]);

s = abs(fft(x));

plot(s, 'linewidth', 2);

0 20 40 60 80 1000

10

20

30

40

50

Bin #

DF

T M

ag

nitu

de

B. Murmann 10EE315B - Chapter 3

Normalized Plot with Frequency Axis

N = 100;

fs = 1000;

fx = 100;

FS = 1; % full-scale amplitude

x = FS*cos(2*pi*fx/fs*[0:N-1]);

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);

% frequency vector

f = [0:N/2-1]/N;

plot(f, s, 'linewidth', 2);

xlabel('Frequency [f/fs]')

ylabel('DFT Magnitude [dBFS]')

0 0.1 0.2 0.3 0.4 0.5-350

-300

-250

-200

-150

-100

-50

0

Frequency [f/fs]

DF

T M

ag

nitu

de

[d

BF

S]

B. Murmann 11EE315B - Chapter 3

Another Example

0 0.1 0.2 0.3 0.4 0.5-90

-80

-70

-60

-50

-40

-30

-20

-10

0

Frequency [f/fs]

DF

T M

ag

nitu

de

[d

BF

S]

• Same as before, but

now fx=101

• This doesn't look the

spectrum of a

sinusoid…

• What's going on?

B. Murmann 12EE315B - Chapter 3

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

B. Murmann 13EE315B - Chapter 3

Integer Number of Cycles

N = 100;

cycles = 9;

fs = 1000;

fx = fs*cycles/N;

• Usable test

frequencies are

limited to a multiple

of fs/N

0 0.1 0.2 0.3 0.4 0.5-350

-300

-250

-200

-150

-100

-50

0

Frequency [f/fs]

DF

T M

ag

nitu

de

[d

BF

S]

B. Murmann 14EE315B - Chapter 3

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

B. Murmann 15EE315B - Chapter 3

Hann Window

10 20 30 40 50 600

0.2

0.4

0.6

0.8

1

Samples

Am

plit

ude

Time domain

0 0.2 0.4 0.6 0.8-150

-100

-50

0

50

Normalized Frequency (×π rad/sample)M

agnitu

de (

dB

)

Frequency domain

N=64;

wvtool(hann(N))

B. Murmann 16EE315B - Chapter 3

Spectrum with Window

N = 100;

fs = 1000;

fx = 101;

A = 1;

x = A*cos(2*pi*fx/fs*[0:N-1]);

s = abs(fft(x));

x1 = x.*hann(N);

s1 = abs(fft(x1));

0 0.1 0.2 0.3 0.4 0.5-140

-120

-100

-80

-60

-40

-20

0

f/fs

DF

T M

ag

nitu

de

[d

BF

S]

No window

Hann window

B. Murmann 17EE315B - Chapter 3

Integer Cycles versus Windowing

• Integer number of cycles

– Test signal falls into single DFT bin

– Requires careful choice of signal frequency

– Ideal for simulations

– In lab measurements, can lock sampling and signal frequency generators (PLL)

• "Coherent sampling"

• Windowing

– No restrictions on signal frequency

– Signal and harmonics distributed over several DFT bins

• Beware of smeared out nonidealities…

– Requires more samples for given accuracy

• More info

– http://www.maxim-ic.com/appnotes.cfm/appnote_number/1040

B. Murmann 18EE315B - Chapter 3

Example

• Now that we've

"calibrated" our test

system, let's look at

some spectra that

involve nonidealities

• First look at

quantization noise

introduced by an

ideal quantizer

N = 2048;

cycles = 67;

fs = 1000;

fx = fs*cycles/N;

LSB = 2/2^10;

%generate signal, quantize (mid-tread) and take FFT

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 19EE315B - Chapter 3

Spectrum with Quantization Noise

• Spectrum looks fairly uniform

• Signal-to-quantization noise

ratio is given by power in

signal bin, divided by sum of

all noise bins

0 0.1 0.2 0.3 0.4 0.5-120

-100

-80

-60

-40

-20

0

Frequency [f/fs]

DF

T M

ag

nitu

de

[d

BF

S]

2048 point FFT, SNR=61.90dB

B. Murmann 20

SQNR

0 0.1 0.2 0.3 0.4 0.5-120

-100

-80

-60

-40

-20

0

Frequency [f/fs]

DF

T M

ag

nitu

de

[d

BF

S]

2048 point FFT, SNR=61.90dB

2

FS

2N

2

FS

N

Signal PowerSQNR

Quantization Noise Power

V1

32 22

2V1

12 2

6.02 N 1.76 [dB]

6.02 10 1.76 [dB]

61.9 dB

=

= = ⋅

= ⋅ +

= ⋅ +

=

EE315B - Chapter 3

B. Murmann 21

0 0.1 0.2 0.3 0.4 0.5-120

-100

-80

-60

-40

-20

0

Frequency [f/fs]

DF

T M

ag

nitu

de

[d

BF

S]

2048 point FFT, SNR=61.90dB

FFT Noise Floor

• Depends on FFT size

• Plot is “useless” if FFT

size is not specified

floor

2048N 61.9 dBc 10log

2

61.9 dBc 30.1 dB

92 dBc

= − −

= − −

= −

EE315B - Chapter 3

B. Murmann 22EE315B - Chapter 3

DFT Plot Annotation

• 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"

B. Murmann 23EE315B - Chapter 3

Periodic Quantization Noise

• Same as before, but cycles =

64 (instead of 67)

• fx = fs⋅64/2048 = fs/32

• Quantization noise is highly

deterministic and periodic

• For more random and "white"

quantizion noise, it is best to

make N and cycles mutually

prime

– GCD(N,cycles)=1

0 0.1 0.2 0.3 0.4 0.5-120

-100

-80

-60

-40

-20

0

Frequency [f/fs]D

FT

Ma

gn

itu

de

[d

BF

S]

2048 point FFT, SNR=65.09dB

B. Murmann 24EE315B - Chapter 3

Typical ADC Output Spectrum

• Fairly uniform noise floor due

to additional electronic noise

• Harmonics due to

nonlinearities

• Definition of SNR

Signal Power

Total Noise PowerSNR =

• Total noise power includes all

bins except DC, signal, and

2nd through 7th harmonic

– Both quantization noise

and electronic noise affect

SNR

0 0.1 0.2 0.3 0.4-120

-100

-80

-60

-40

-20

0

Frequency [f/fs]

DF

T M

ag

nitu

de

[d

BF

S]

2048 point FFT, SNR=55.99dB

B. Murmann 25EE315B - Chapter 3

SNDR and ENOB

• Definition

Signal Power

Noise and Distortion PowerSNDR =

• Noise and distortion power

includes all bins except DC

and signal

• Effective number of bits

SNDR(dB)-1.76dB

6.02dBENOB =

0 0.1 0.2 0.3 0.4-120

-100

-80

-60

-40

-20

0

Frequency [f/fs]

DF

T M

ag

nitu

de

[d

BF

S]

2048 point FFT, SNR=55.9dB, SNDR=47.5dB

B. Murmann 26EE315B - Chapter 3

Effective Number of Bits

• Is a 10-Bit converter with 47.5dB SNDR really a 10-bit

converter?

47.5dB 1.76dBENOB 7.6

6.02dB

= =

• We get ideal ENOB only for zero electronic noise, perfect

transfer function with zero INL, ...

• Low electronic noise is costly

– Cutting thermal noise down by 2x, can cost 4x in power

dissipation

• Rule of thumb for good power efficiency: ENOB < B-1

– B is the "number of wires" coming out of the ADC or the so

called "stated resolution"

B. Murmann 27EE315B - Chapter 3

Survey Data

R. H. Walden, "Analog-to-digital converter survey and analysis," IEEE J. on

Selected Areas in Communications, pp. 539-50, April 1999

SNR(dB)-1.76dBSNRBits

6.02dB=

B. Murmann 28

Dynamic Range

peak

Maximum Signal PowerDR SNR

Minimum Detectable Signal= ≥

PEAK SNR OVERLOAD

FULL SCALE

INPUTAMPLITUDE

(dB)

DYNAMICRANGE

0dB

SNR(dB)

Input Power

[dB]MDS

EE315B - Chapter 3

B. Murmann 29EE315B - Chapter 3

SFDR

• Definition of "Spurious Free

Dynamic Range"

Signal PowerSFDR

Largest Spurious Power=

• Largest spur is often (but not

necessarily) a harmonic of the

input tone

0 0.1 0.2 0.3 0.4-120

-100

-80

-60

-40

-20

0

Frequency [f/fs]

DF

T M

ag

nitu

de

[d

BF

S]

2048 point FFT, SFDR=48.3dB

B. Murmann 30EE315B - Chapter 3

SDR and THD

• Signal-to-distortion ratio

Signal PowerSDR

Total Distortion Power=

• By convention, total distortion

power consists of 2nd through 7th

harmonic

• Is there a 6th and 7th harmonic in

the plot to the right?

0 0.1 0.2 0.3 0.4-120

-100

-80

-60

-40

-20

0

Frequency [f/fs]

DF

T M

ag

nitu

de

[d

BF

S]

2048 point FFT, THD=-48.2dB

Total Distortion Power 1THD

Signal Power SDR= =

• Total harmonic distortion

B. Murmann 31EE315B - Chapter 3

Lowering the Noise Floor

• Increasing the FFT size let's

us lower the noise floor and

reveal low level harmonics

0 0.1 0.2 0.3 0.4-120

-100

-80

-60

-40

-20

0

Frequency [f/fs]

DF

T M

ag

nitu

de

[d

BF

S]

65536 point FFT, THD=-48.3dB

B. Murmann 32EE315B - Chapter 3

Aliasing

• Harmonics can appear at

"arbitrary" frequencies

due to aliasing

f1 = fx = 0.3125 fs

f2 = 2 f1 = 0.6250 fs 0.3750 fs

f3 = 3 f1 = 0.9375 fs 0.0625 fs

f4 = 4 f1 = 1.2500 fs 0.2500 fs

f5 = 5 f1 = 1.5625 fs 0.4375 fs

0 0.1 0.2 0.3 0.4 0.5-120

-100

-80

-60

-40

-20

0

Frequency [f/fs]

DF

T M

ag

nitu

de

[d

BF

S]

65536 point FFT, THD=-48.3dB

B. Murmann 33EE315B - Chapter 3

Intermodulation Distortion

• IMD is important in multi-channel communication systems

– Third order products are generally difficult to filter out

Frequency f

f1

f2 - f1

f2

2f1 - f2 2f2 - f1f1 + f2

SECOND

ORDER

PRODUCTSTHIRD

ORDER

PRODUCTSAmplitude

B. Murmann 34EE315B - Chapter 3

MTPR

• Useful metric in multi-tone transmission systems

– E.g. OFDM

-120

-100

-80

-60

-40

-20

0

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)

MTPR

Frequency [Hz]

Am

pli

tud

e [

dB

]

B. Murmann 35EE315B - Chapter 3

Frequency Dependence (1)

• All of the above discussed metrics generally depend on frequency

– Sampling frequency and input frequency

[Analog Devices, AD9203 Datasheet ]

B. Murmann 36EE315B - Chapter 3

Frequency Dependence (2)

[Texas Instruments, ADS5541 Datasheet ]

B. Murmann 37EE315B - Chapter 3

ERBW

• Defined as the input frequency at which the SNDR of a

converter has dropped by 3dB

– Equivalent to a 0.5-bit loss in ENOB

• ERBW > fs/2 is not uncommon, especially in converters

designed for sub-sampling applications

• ERBW is only a useful metric when the SNDR is relatively flat

initially and gracefully degrades at high frequencies

B. Murmann 38EE315B - Chapter 3

Relationship Between INL and

Harmonic Distortion (1)

• The INL of an ADC often takes on a quadratic or cubic “bow”

– Meaning that the transfer function can be approximated by x+a2x

2 or x+a3x3

• The resulting harmonic distortion usually sets the low frequency SFDR

Input

Output

Ideal

Quadratic bow

Cubic bow

B. Murmann 39

Relationship Between INL and

Harmonic Distortion (2)

• The expression below provides an analytical relationship between the peak INL due a cubic bow and the resulting HD3

• The result provides a reasonable bound even if the INL is not perfectly cubic

– Rule of thumb: HD ≅ -20log(2B/INL)

– E.g. 1 LSB INL at 10 bits HD ≅ -60 dB

Example of a cubic INL

[Lee, JSSC 12/2007]

≅ 204

3 3

2

B. Murmann 40EE315B - Chapter 3

SNR Degradation due to DNL (1)

• For an ideal quantizer we assumed uniform quatization error

over ±∆/2

• Let's add uniform DNL over ± 0.5 LSB and repeat math...

[Source: Ion Opris]

B. Murmann 41EE315B - Chapter 3

SNR Degradation due to DNL (2)

• Integrate triangular pdf

• Compare to ideal quantizer

• Bottom line: non-zero DNL across many codes can easily cost a

few dB in SNR

– "DNL noise"

2 22

0

e ee 2 1 de

6

+∆∆

= − = ∆ ∆ ∫

/2 2 22

/2

ee de

12

+∆

−∆

∆= =

∆∫

SNR 6.02 B 1.25 [dB]⇒ = ⋅ −

SNR 6.02 B 1.76 [dB]⇒ = ⋅ +

3dB

B. Murmann 42

Noise Figure of an ADC

22 2 2FSin,rms

2 2in,rms

in

V1 1 1ˆV V 1V

2 2 2 2

V 1 1VP 10mW 10dBm

R 2 50

= = =

= = = =Ω

EE315B - Chapter 3

B. Murmann 43

Quantization Noise in 1Hz

s

PSD in

f

2N P SQNR 10log1 Hz

100MHz10dBm 61.9dB 10log

1Hz

dBm131.9

Hz

= − −

= − −

= −

sourcePSD,R

dBmN 174

Hz= −

For comparison:

0 0.1 0.2 0.3 0.4 0.5-120

-100

-80

-60

-40

-20

0

Frequency [f/fs]D

FT

Ma

gn

itu

de

[d

BF

S]

2048 point FFT, SNR=61.90dB

EE315B - Chapter 3

B. Murmann 44

Spot Noise Figure (1)

Total Noise at ADC Input Noise due to ADCF

Noise due to Source Resistor Noise due to Source Resistor

dBm dBmNF 10log(F) 174 131.9 43.1dB

Hz Hz

= ≅

= = − =

• Ouch!

EE315B - Chapter 3

B. Murmann 45

Spot Noise Figure (2)

• Improve NF by increasing R (need a transformer),

resolution (N) and fs

s

in

2

FS s

2N

fdBm 2NF 174 P SQNR 10logHz 1 Hz

V1 fdBm 32 2 2174 10log 10log 2 10logHz R 2 1 Hz

= + − −

= + − −

EE315B - Chapter 3

B. Murmann 46

Real World Example

Analog Devices, Tutorial MT-006

EE315B - Chapter 3

B. Murmann 1EE315B - Chapter 4

Nyquist Rate DACs

Boris Murmann

Stanford University

[email protected]

Copyright © 2013 by Boris Murmann

B. Murmann 2EE315B - Chapter 4

Overview

• D/A conversion is typically accomplished through the division or

multiplication of a reference voltage, current or charge

• Basic configurations

– Thermometer

– Binary weighted

– Segmented

• Implementation choices

– Resistive, capacitive, current steering

– Nyquist rate, oversampling, PWM

– …

• Our discussion will focus mainly on high-speed current steering

B. Murmann 3EE315B - Chapter 4

Resistor String DAC

• Simple, inherently

monotonic

• Small area up to ~8 bits

• See e.g. Pelgrom,

JSSC 12/1990

• Unsuitable for high-

resolution, high-speed

designs

OUT

VREF

d0 d0 d1 d1 d2 d2

xxxxx

LSB

xxxxx

MSB

B. Murmann 4EE315B - Chapter 4

Thermometer DAC Using Switched Currents

• Inherently monotonic

• Need large encoder

with 2B-1 outputs

– Impractical for large

B (high resolution)

B. Murmann 5

Thermometer DAC Principle

1 1

2

1

2

1

2

1

2

1

2

3 3

4

3

4

5

3

4

5

6

1

2

1

2

1

2

1

2

3

4

5

6

7

3

4

5

6

7

8

3

4

5

6

7

8

9

3

4

5

6

7

8

9

10

1

2

1

2

1

2

1

2

3

4

5

6

7

8

9

10

11

3

4

5

6

7

8

9

10

11

12

3

4

5

6

7

8

9

10

11

12

13

3

4

5

6

7

8

9

10

11

12

13

14

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

1 2 3 4 5 6 7 8 9 10 11 12 13 14 150

Output

Input Code

EE315B - Chapter 4

B. Murmann 6EE315B - Chapter 4

Binary Weighted DAC

• 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

B. Murmann 7

Binary Weighted DAC Principle

MSB Transition

Problem

EE315B - Chapter 4

B. Murmann 8EE315B - Chapter 4

Implementation of Weighted Elements

B. Murmann 9EE315B - Chapter 4

Segmented DAC

• Binary weighted

section with Bb bits

• Thermometer section

with Bt = B-Bb bits

• Typically Bt ~ 4…8

• Reasonably small

encoder

• Easier to achieve

monotonicity

B. Murmann 10

Segmented DAC (2-2)

Transition

Problem Limited

to LSB Section

EE315B - Chapter 4

B. Murmann 11

Static Errors (1)

• DNL and INL due to unit element mismatch

• Systematic Errors

– Contact and wiring resistance (IR drop)

– Edge effects in unit element arrays

– Process gradients

– Finite current source output resistance

• Systematic errors can be mitigated by proper layout and switching sequence design

– See e.g. [Lin, JSSC 12/98], [Van der Plas, JSSC 12/99]

EE315B - Chapter 4

B. Murmann 12EE315B - Chapter 4

Static Errors (2)

• In the best possible scenario, we are then limited by “random” errors, which are due to material roughness, randomness in etching, etc.

• The distribution of random errors is usually well approximated by a Gaussian PDF (central limit theorem)

• 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 high-performance CMOS current-steering digital-to-analog converters," IEEE Trans. CAD of ICs and Syst. pp. 377-394, Apr. 2002.

B. Murmann 13EE315B - Chapter 4

Gaussian Distribution

( )2

2

x

21

f(x) e2

−µ−

σ=

πσ

-3 -2 -1 0 1 2 30

0.1

0.2

0.3

0.4

x/σ

f(x)

xX

− µ=

σ

X

B. Murmann 14EE315B - Chapter 4

Yield (1)

( )

2XC

2

C

1 CP C X C e dX erf

2 2

+−

− ≤ ≤ + = =

π ∫

0 0.5 1 1.5 2 2.5 30

0.2

0.4

0.6

0.8

1

X/σ

P(-

X ≤

x ≤

+X

)

C

P(-

C ≤

X ≤

C)

B. Murmann 15EE315B - Chapter 4

Yield (2)

C P(-C ≤ X ≤ C) [%]

0.2000 15.8519

0.4000 31.0843

0.6000 45.1494

0.8000 57.6289

1.0000 68.2689

1.2000 76.9861

1.4000 83.8487

1.6000 89.0401

1.8000 92.8139

2.0000 95.4500

C P(-C ≤ X ≤ C) [%]

2.2000 97.2193

2.4000 98.3605

2.6000 99.0678

2.8000 99.4890

3.0000 99.7300

3.2000 99.8626

3.4000 99.9326

3.6000 99.9682

3.8000 99.9855

4.0000 99.9937

B. Murmann 16EE315B - Chapter 4

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")

u

I 0.1mAstdev 1%

I 10mA

σ ∆ σ = = = = µ

• Fraction of current sources within 3%

– C = 3 99.73%

• Fraction of current sources within 1%

– C = 1 68.27%

B. Murmann 17EE315B - Chapter 4

Mismatch in MOS Current Sources

1 2 m t 1I I I g V I

∆β∆ = − ≅ − ∆ +

β

mt

1 1

gIV

I I

∆ ∆β≅ − ∆ +

β

( ) ( )1

2 22 2

I

I

S 5mV 1%10 0.5% 0.1% 0.51%

A 10 10∆

σ = ⋅ + = + =

• Example

– W=500µm, L=0.2µm, gm/ID=10S/A, AVt=5mV-µm, Aβ=1%-µm

t

t

V

V

A A

WL WL

β∆ ∆β

β

σ = σ =

ox

1 WC

2 Lβ = µ

B. Murmann 18EE315B - Chapter 4

DNL of Thermometer DAC

• Standard deviation of DNL for each code is simply equal to

relative matching (σu) of unit elements

• 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?

( )

N

k javg j 1 k

Navg

jj 1

u

1I I

NStep(k) Step I I IDNL(k)

Step I I1I

N

Istdev DNL(k) stdev

I

=

=

−− − ∆

= = ≅ =

∆ = = σ

B. Murmann 19EE315B - Chapter 4

DNL Yield Example (1)

• First cut solution

– For 99.73% yield, need C = 3

– σDNL = σu = 1%

– 3 σDNL = 3%

– DNL specification for a yield of 99.73% is ±0.03 LSB

• Independent of target resolution (?)

• Not quite right

– Must keep in mind that a converter will meet specs only if all

codes meet DNL spec, i.e. DNL(k) < DNLspec for all k

– A converter with more codes is less likely to have all codes

meet the specification

– Let's see if this is significant

B. Murmann 20EE315B - Chapter 4

DNL Yield Example (2)

• 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…

• Can calculate modified confidence intervals using Matlab

– For N=63, C = sqrt(2)*erfinv(0.99731/63) = 4.09

– For N=4095, C = sqrt(2)*erfinv(0.99731/4095) = 4.97

• Refined result for 99.97% yield

– N=63: DNL spec should be ±0.0409 LSB

– N=4095: DNL spec should be ±0.0497 LSB

B. Murmann 21EE315B - Chapter 4

DNL Yield Example (3)

• Getting a more accurate yield estimate for the preceding

example wasn't all that hard

– Unfortunately things won't always be that simple

• E.g. in a segmented DAC, DNL(k) are no longer independent

• The "typical" DAC designer tends to rely on simulations rather

than trying to formulate "exact" yield equations

– Get rough estimate using simple (often optimistic)

expressions

– Run "Monte Carlo" simulations in Matlab to find actual yield

or to center specs

– Still important to have a qualitative feel for what may cause

discrepancies

B. Murmann 22EE315B - Chapter 4

INL (1)

out out,uniform

avg

k N k

j j jj 1 j 1 j 1

N k N

j j jj 1 j 1 j k 1

I (k) I (k)INL(k)

Step

kI I N I

Nk

1I I I

N

A Nk

A B

= = =

= = = +

=

= = −

+

⋅= −

+

∑ ∑ ∑

∑ ∑ ∑

( ) 2 2A N A Xvar INL(k) var k N var N var

A B A B Y

⋅ = − = = + +

B. Murmann 23EE315B - Chapter 4

INL (1)

• For a quotient of random variables

( )2 2 2

X X Y

2 2Y X YX Y

cov X,YXvar 2

Y

µ σ σ ≅ + − µ µ µµ µ

[Dennis E. Blumenfeld, Operations Research Calculations Handbook, Online:

http://www.engnetbase.com/ejournals/books/book_summary/toc.asp?id=701]

• After identifying the means (µ), variances (σ2) and covariance

(cov) needed in the above approximation, it follows that

( ) 2

u

kvar INL(k) k 1

N

≅ − σ

INL u

k(k) k 1

N

σ ≅ σ −

B. Murmann 24EE315B - Chapter 4

INL (2)

• Standard deviation of INL is maximum at mid-scale (k=N/2)

B

INL u u u

N N / 2 1 11 N 2

2 N 2 2

σ ≅ σ − = σ ≅ σ

• For a more elaborate derivation of this result see

[Kuboki et al., IEEE Trans. Circuits & Systems, 6/1982]

0 20 40 60 80 100 120 1400

2

4

6

k

σIN

L(k)/σu

N=64

N=128

B. Murmann 25EE315B - Chapter 4

Achievable Resolution

• Example: σINL= 0.1 LSB (at mid-scale code)

2

INL INL2 2

u u

B log 4 2 2log σ σ ≅ = + σ σ

σu

B

1% 8.6

0.5% 10.6

0.2% 13.3

0.1% 15.3

B. Murmann 26EE315B - Chapter 4

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"

B. Murmann 27EE315B - Chapter 4

DNL/INL of Binary Weighted DAC

• INL same as for thermometer DAC

– Why?

• DNL is not same for all codes, but depends on transition

• Consider worst case: 0111 … 1000 …

– Turning on MSB and turning off all LSBs

( ) ( ) ( )2 B 1 2 B 1 2 B 2

DNL u u u

0111... 1000...

2 1 2 2 1− −

σ = − σ + σ = − σ

1442443 14243

• Example

– B = 12, σu = 1% σDNL = 0.64 LSB

– Much worse than thermometer DAC

I2I4I8I

B. Murmann 28EE315B - Chapter 4

σDNL

(4-bit Example)

0 2 4 6 8 10 12 140

5

10

15

DAC input code

( σDNL /

σε )2

code

σDNL2/σ

u2

B. Murmann 29EE315B - Chapter 4

Simulation Example

500 1000 1500 2000 2500 3000 3500 4000-2

-1

0

1

2

bin

DN

L

[in L

SB

]

DNL and INL of 12 Bit converter (from converter decision thresholds)

-1 / +0.1 LSB, avg=-9.3e-005, std.dev=0.035, range=1.4

500 1000 1500 2000 2500 3000 3500 4000-1

0

1

2

bin

INL

[in L

SB

]

-0.8 / +0.8 LSB, avg=-1.1e-013, std.dev=0.37, range=1.6

code

code

-1.3

B. Murmann 30EE315B - Chapter 4

Another Random Run

• Peak DNL not at mid-scale!

– Important to realize that this is just one single statistical

outcome…

500 1000 1500 2000 2500 3000 3500 4000-1

0

1

2

bin

DN

L

[in L

SB

]

DNL and INL of 12 Bit converter (from converter decision thresholds)

-0.9 / +0.4 LSB, avg=-7.5e-005, std.dev=0.039, range=1.3

500 1000 1500 2000 2500 3000 3500 4000-1

0

1

2

bin

INL

[in L

SB

]

-0.7 / +0.7 LSB, avg=3.3e-014, std.dev=0.33, range=1.3

code

code

B. Murmann 31EE315B - Chapter 4

Multiple Simulation Runs (100)

Overlay Plot RMS DNL and INL

[Lin & Bult, JSSC 12/1998]

B. Murmann 32EE315B - Chapter 4

DNL/INL of Segmented DAC

• INL

– Same as in thermometer

DAC

• 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 bitsI2I4I8I

16I 16I 16I

Example: B=Bb+Bt=4+4=8

B. Murmann 33EE315B - Chapter 4

Comparison

Thermometer SegmentedBinary

Weighted

σINL

(worst case)

σDNL

(worst case)

Number of

Switched

Elements

B

u

12

2≅ σ

bB 1

u 2 1+

≅ σ −u≅ σ

B

u2 1≅ σ −

B2 1−

tB

bB 2 1+ − B

B. Murmann 34EE315B - Chapter 4

Example (B=12, σu=1%)

DAC ArchitectureσINL

(worst)

σDNL

(worst)

Number of

Switched

Elements

Thermometer

Binary Weighted

Segmented (Bb=7, Bt=5)

0.32

0.32

0.32

0.01

0.64

0.16

4095

12

38

B. Murmann 35EE315B - Chapter 4

Dynamic DAC Errors (1)

• Finite settling time and slewing

– Finite RC time constant

– Signal dependent slewing

• Feedthrough

– Coupling from switch signals to DAC output

– Clock feedthrough

• Glitches due to timing errors

– Current sources won’t switch simultaneously

• Dynamic DAC errors are generally hard to model!

B. Murmann 36EE315B - Chapter 4

Dynamic DAC Errors (2)

• 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 37EE315B - Chapter 4

Glitch Impulse (1)

• DAC output waveform depends on timing

– Consider binary weighted DAC transition 0111… 1000…

1 1.5 2 2.5 30

5

10ideal

1 1.5 2 2.5 30

5

10

early

1 1.5 2 2.5 30

5

10

Time

late

Ideal

LSBs early, MSB late

LSBs late, MSB early

B. Murmann 38EE315B - Chapter 4

Glitch Impulse (2)

• Worst case glitch impulse (area): ∝∆t 2B-1

• LSB area: ∝T

• Need ∆t 2B-1 << T which implies ∆t << T/2B-1

fs

[MHz] B ∆t [ps]

1

20

1000

12

16

10

<< 488

<< 1.5

<< 2

B. Murmann 39EE315B - Chapter 4

Commercial Example

B. Murmann 40EE315B - Chapter 4

Implementation Example

[T. Miki, Y. Nakamura, M. Nakaya, S. Asai, Y. Akasaka, and Y. Horiba, “An 80-MHz 8-

bit CMOS D/A Converter,” IEEE J. of Solid-State Circuits, pp. 983-988, Dec. 1986.]

B. Murmann 41EE315B - Chapter 4

Mitigating IR Drop

B. Murmann 42EE315B - Chapter 4

Basic Differential Pair Switch

B. Murmann 43EE315B - Chapter 4

Commonly Used Techniques

• 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)

B. Murmann 44EE315B - Chapter 4

Example Current Cell Implementation

[Barkin & Wooley, JSSC 4/2004]

B. Murmann 45EE315B - Chapter 4

Constant Clock Load Latch

Mercer, US patent ,7,023,255 4/4/2006

DB

D

CLK

Q

QB

MN1

MN2

MN3

MN4

INV1INV2

INV3

INV4INV5

INV6

INV7

CLKB

Capacitive load seen at CLK the same for all possible cases,H-L, L-H, H-H or L-L

B. Murmann 46EE315B - Chapter 4

High Performance DAC Examples (1)

1GHz

100MHz

[Van den Bosch, JSSC 3/2001]

B. Murmann 47EE315B - Chapter 4

High Performance DAC Examples (2)

[Schafferer, ISSCC 2004]

B. Murmann 48EE315B - Chapter 4

High Performance DAC Examples (3)

[Schafferer, ISSCC 2004]

B. Murmann 49

High Performance DAC Examples (4)

EE315B - Chapter 4

[Lin, ISSCC 2009]

B. Murmann 50EE315B - Chapter 4

Binary Weighted Charge Redistribution DAC

• Can redistribute charge onto OTA + feedback capacitor to

mitigate gain error due to Cp

(msb)

8C 4C

(lsb)

VOUT

+

VREF

C2N–1C 2C C

b1 bN–3 bN–2 bN–1 bN

CP (top plate parasitic)

1

2

2 2

B Bi

out refB iip

bCV V

C C=

= ⋅

+

B. Murmann 51EE315B - Chapter 4

Charge-based Pipeline DAC (1)

[Manganaro et al., "A dual 10-b 200-MSPS pipelined D/A converter with DLL-based

clock synthesizer," IEEE JSSC 11/2004]

B. Murmann 52EE315B - Chapter 4

Charge-based Pipeline DAC (2)

(fclk=200MHz)

B. Murmann 1EE315B - Chapter 5

Sampling Circuits

Boris Murmann

Stanford University

[email protected]

Copyright © 2013 by Boris Murmann

B. Murmann 2EE315B - Chapter 5

Recap

• How to build circuits that "sample"?

• Ideal Dirac sampling is impractical

– Need a switch that opens, closes and acquires signal within

an infinitely small time

• Practical solution

– "Track and hold"

B. Murmann 3

Outline

• Elementary track-and-hold circuit and its nonidealities

• First order improvements to elementary track-and-hold

• Advanced techniques

– Clock bootstrapping

– Bottom plate sampling

• Settling and noise analysis in charge-redistribution

track-and-hold circuit

• Noise simulation example

EE315B - Chapter 5

B. Murmann 4

Ideal Track-and-Hold Circuit

EE315B - Chapter 5

B. Murmann 5EE315B - Chapter 5

Signal Nomenclature

Continuous Time Signal

T/H Signal

("Sampled Data Signal")

Clock

Discrete Time Signal

time

B. Murmann 6

Circuit with MOS Switch

“Pedestal Error”

EE315B - Chapter 5

B. Murmann 7

Nonidealities

• Finite acquisition time

• Tracking nonlinearity

• Signal dependent hold instant

• Thermal noise

• Clock jitter

• Hold mode feedthrough and leakage

• Charge injection and clock feedthrough

EE315B - Chapter 5

B. Murmann 8

Finite Acquisition Time

• Consider various input signal scenarios

1. Input is a sampled data signal, i.e. the

output of another switched capacitor stage

2. Input is a slowly varying continuous time

signal, e.g. the input of an oversampling

ADC

3. Input is a rapidly varying continuous time

signal, e.g. the input of a Nyquist or sub-

sampling ADC

EE315B - Chapter 5

B. Murmann 9

Finite Acquisition Time – Case 1

• For simplicity, neglect finite rise time of the input signal

• Consider worst case – the output is required to settle from 0 to

the full-scale voltage of the system (VFS)

EE315B - Chapter 5

First order MOS switch model

( )t /

out FSV (t) V 1 e− τ

⇒ = −

RCτ =

B. Murmann 10

Finite Acquisition Time – Case 1

• Typically think about settling error in terms of the number of settling

time constants (N) required for ½ LSB settling in a B-bit system

EE315B - Chapter 5

B N

6 >4.9

10 >7.6

14 >10.4

18 >13.2

sT

/Ns 2

out,err FS FS

TV V e V e

2

− τ−

= − = −

N FSFS B

V1V e

2 2

− ≤

( )BsT / 2

N ln 2 2= ≥ ⋅

τ

B. Murmann 11

Finite Acquisition Time – Case 2 & 3

• Consider a sinusoidal input around “0”, and “0” also as the initial

condition for Vout (for notational simplicity)

EE315B - Chapter 5

in

t

out2 2 2 2

initial transient steady-state response

V (t) Acos( t )

Acos( ) Acos( t )V (t) e

1 1

atan( )

τ

= ω + φ

φ − θ ω + φ − θ= − +

+ ω τ + ω τ

θ = ωτ

144424443 144424443

B. Murmann 12

Finite Acquisition Time – Case 2 & 3

• At t=Ts/2, the error in the held signal consists of two parts

• Residual error due to initial exponentially decaying initial

transient term

– In order to minimize this error, we need to chose N

appropriately, as calculated for the step input scenario

• Error due to magnitude attenuation and phase shift in the steady

state term

– This error depends only on the RC time constant and the

input frequency; it cannot be reduced by extending the

length of the track phase

– How significant is the error due to the steady-state term?

EE315B - Chapter 5

B. Murmann 13

Finite Acquisition Time – Case 2 & 3

• As an example, let’s compute the percent amplitude error for the

N values derived previously (½ LSB, B-bit settling to a step)

EE315B - Chapter 5

B N Aerr (fin = fs/20) Aerr (fin = fs/2)

6 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%

( )

( )

2

err2 2 2

s inin

s

AA

1 1 1 1A 1 1 1

A1 T / 2 f

1 2 f 1N N f

−+ ωτ

= = − = − = −+ ωτ π+ π +

B. Murmann 14

Summary – Finite Acquisition Time

• Precise settling to an input step is accomplished within 5…13

RC time constants (depending on precision)

• Precise tracking of a high-frequency continuous time input

signal tends to impose more stringent requirements

– Number to remember: ~1% attenuation error at Nyquist

(fin=fs/2) for N ~10

• In applications where attenuation is tolerable, the RC time

constant requirements then tend to follow from the distortion

specs

– The larger the attenuation, the larger the instantaneous

voltage drop across the (weakly nonlinear) MOSFET

undesired harmonics

– Let’s look at that next…

EE315B - Chapter 5

B. Murmann 15

Voltage Dependence of Switch

• Two problems

– RON is modulated by Vin (assuming e.g. φ=VDD=const.)

– Transistor turn off is signal dependent, occurs when φ=Vin+Vt

( )

( )

DS

DSD(triode) ox GS t DS

1

D(triode)ON

DS V 0 ox GS t

ON

ox in t

VWI C V V V

L 2

dI 1R

WdVC V V

L

1R

WC V V

L

= µ − −

≅ = µ −

=µ φ − −

EE315B - Chapter 5

B. Murmann 16

Track Mode Nonlinearity

• Output tracks well when input voltage is low

– Gets distorted when voltage is high due to increase in RON

EE315B - Chapter 5

[Razavi, Data Conversion System Design, p.16]

B. Murmann 17

Analysis

• "All" we need to do is solve the above differential equation…

• Can use Volterra Series analysis

– General method that allows us to calculate the frequency

domain response of nonlinear circuits with memory

– See e.g. Stanford EE214

• Luckily someone has already done this for us

– See [Yu, TCAS II, 2/1999]

( )

( )( ) ( )

2

D GS t DS DS

2outout t in out in out

KI K V V V V

2

dV KC K V V V V V V

dt 2

≅ − −

= φ − − − − −

EE315B - Chapter 5

B. Murmann 18

Result

• VGS is the "quiescent point" value of the gate-source voltage; i.e.

in the zero crossing of the sine input

• For low distortion

– Make amplitude smaller than VGS-Vt

• Low swing bad for SNR

– Make 1/τ much larger than ω (input frequency)

• Big switch may cost lots of power to drive, comes with large

parasitic capacitances

3

2 2

in

GS t GS t s

Amplitude of third harmonicHD

Amplitude of fundamental

f1 A 1 A

4 V V 4 V V f N

=

π≅ ⋅ωτ = ⋅

− −

EE315B - Chapter 5

B. Murmann 19

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/22

3

1 0.2 1HD 42dB

4 0.45 2 10

π ≅ ⋅ = −

EE315B - Chapter 5

• Not all that great…

B. Murmann 20

Signal Dependent Sampling Instant (1)

• Must make fall time of sampling clock (Tf) much faster than

maximum dVin/dt

[Razavi, Data Conversion System Design, p.17]

EE315B - Chapter 5

(φ)

Tf

B. Murmann 21

Signal Dependent Sampling Instant (2)

• Distortion analysis result (see Yu, TCAS II, 2/1999]

EE315B - Chapter 5

3

2

f

CK

Amplitude of third harmonicHD

Amplitude of fundamental

3 AT

8 V

=

≅ ω

• Example: VCK = 1.8V, A = 0.5V, Tf = 100ps, ω = 2π100MHz

2

6 12

3

3 0.5HD 2 100 10 100 10 79dB

8 1.8

≅ ⋅ π ⋅ ⋅ ⋅ = −

B. Murmann 22

Hold Mode Feedthrough

• Want to make Rout as small as possible

• Consider using a “T-switch” when hold-mode

feedthrough is a problem (for low-speed

applications)

• Consider using half circuit cross coupling for

high-speed applications

CDS

[Razavi, Data Conversion System Design, p.17]

EE315B - Chapter 5

B. Murmann 23

Hold Mode Leakage

EE315B - Chapter 5

Example:

B. Murmann 24

Gate Leakage Data

• In 65nm CMOS, gate capacitance droop rate is ~1V/µs (!)

• Issue is solved with high-k dielectrics in post-65nm technologies

EE315B - Chapter 5

A. Annema, et al., “Analog circuits in ultra-deep-submicron CMOS,” IEEE J. Solid-State Circuits, pp. 132-143, Jan. 2005.

B. Murmann 25

Thermal Noise (1)

• 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 26

Thermal Noise (2)

• Sample values Vout(n) correspond to instantaneous values of the

track mode noise process

• From Parseval's theorem, we know that the time domain power

(or variance) of this process is equal to its power spectral

density integrated over all frequencies– 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

22

outv 1

4kTRf 1 sRC

= ⋅∆ +

[ ]2

2out out,tot

0

1 kTvar V (n) v 4kTR df

1 j2 f RC C

= = ⋅ =

+ π ⋅∫

EE315B - Chapter 5

B. Murmann 27

Alternative Derivation

• The equipartition theorem says that each “degree of freedom"

(typically a quadratic energy variable) of a system in thermal

equilibrium holds an average energy of kT/2

• In our system, the degree of freedom is the energy stored on the

capacitor

2

out

2

out

1 1Cv kT

2 2

kTv

C

=

=

EE315B - Chapter 5

B. Murmann 28

Implications of kT/C Noise

• Example: suppose we make the kT/C noise equal to the

quantization noise of a B-bit ADC

22 B

FS

BFS

VkT 2, C 12kT

C 12 V2

∆= ∆ = ⇒ =

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

• For a given B, both C and R (via N on slide 19) are fully determined

• Example numbers for VFS=1V and fs=100MHz:

EE315B - Chapter 5

B. Murmann 29

Commercial Example

EE315B - Chapter 5

B. Murmann 30

How to Estimate Thermal Noise

in the Lab?

• One option is to look at the measured SNR and back-calculate

the thermal component by subtraction of quantization noise and

DNL noise

• Another (potentially better) option is to take a code histogram

with “grounded input”

EE315B - Chapter 5

S. Ruscak and L. Singer, “Using Histogram

Techniques to Measure A/D Converter Noise”

http://www.analog.com/library/analogDialogue/

archives/29-2/cnvtrnoise.html

B. Murmann 31

Sampling Jitter

• In any sampling circuit, electronic noise causes random timing

variations in the actual sampling clock edge

– Adds "noise" to samples, especially if dVin/dt is large

∆Vin = Change in V in during ∆t

∆t = Sampling jitter

• Analysis

– Consider sine wave input signal

– Assume ∆t is random with zero mean and standard deviation σt

inin

dVV t

dt∆ ≅ ⋅ ∆

EE315B - Chapter 5

B. Murmann 32

Analysis

EE315B - Chapter 5

[ ] ( )

2 2

2 2 2in inin

222 2

in t in t

dV dVE V E t E E t

dt dt

d 1E Acos 2 f t 2 A f

dt 2

∆ ≅ ⋅ ∆ = ⋅ ∆

≅ π ⋅ ⋅ ⋅ σ ≅ π ⋅ ⋅ ⋅ σ

=

12

12

⋅ =

1

B. Murmann 33

Result

EE315B - Chapter 5

1.E+05

1.E+06

1.E+07

1.E+08

1.E+09

1.E+10

1.E+11

10 20 30 40 50 60 70 80 90 100 110 120

f in[H

z]

SNRaperture [dB]

σt= 0.1ps

σt= 1ps

σt= 10ps

SNRjitter [dB]

B. Murmann 34

ADC Performance Survey (ISSCC & VLSI 97-12)

Data: http://www.stanford.edu/~murmann/adcsurvey.html

EE315B - Chapter 5

B. Murmann 35EE315B - Chapter 5

Why is it Hard to Achieve Low Jitter?

• Inverters have little to no

supply rejection

• Example:

– 1V supply, 20ps rise time

– 100mV noise on the supply

corresponds to about 2ps

of jitter

• In addition, there is thermal

amplitude noise (kT/C) that

also translates into jitter

Noisy VDD

Jitter

Free

Clock

Jittered

Output

Clock

B. Murmann 36

How Well Can We Do?

• In today’s optimized designs, jitter numbers as low as 50 fsrms have

been achieved, see e.g. Ali, JSSC 8/2006

– However, several hundred psrms are more common, especially

in noisy SoC environments

EE315B - Chapter 5

• Differential signaling can help (particularly at the chip boundary),

but comes with diminishing returns due to reduced amplitude

and signal slope (relative to inverters)

B. Murmann 37

Significance of Jitter

• In light of the above reasoning, sampling jitter has become one

of the main showstoppers for further improvements in the ADC

speed-resolution product

• Example

– fin = 10GHz, σt = 300ps SNRjitter = 34.5dB (ouch!)

• What saves us in many application is that the signal is not a

sinusoid, but instead spread in some way across frequency

• Proper analysis for applications that push the boundaries must

therefore take the signal properties into account

– Reference: Da Dalt, TCAS1, 9/2002

EE315B - Chapter 5

B. Murmann 38

Generalized Calculation

• Da Dalt showed that in general, the jitter SNR can be computed

using the curvature of the signal’s autocorrelation function

= −′′ 0

0 =

1

• 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

EE315B - Chapter 5

B. Murmann 39

Intuition

Slow

signal

Fast

signal

Sharp decay in

autocorrelation

Gradual decay in

autocorrelation

EE315B - Chapter 5

B. Murmann 40

Example: High-Speed Link

• Rx is the autocorrelation function of the input signal (assumed to

be white and stationary in this example)

• Ry is the autocorrelation function of the signal at the sampler

Channel

h(t)TX RX

“White” Info

Source

= ∗ ℎ ∗ ℎ −

= ∗ ℎ ∗ ℎ − =

⋅ [ℎ ∗ ℎ − ]

EE315B - Chapter 5

B. Murmann 41

Example

0 5 10 15 20-80

-70

-60

-50

-40

-30

-20

-10

0

f [GHz]

S21 [dB

]

4.4 4.6 4.8 5 5.20

1

2

3

4

5

Time [ns]

h(t

) [V

/ns]

Chanel Frequency Response Chanel Impulse Response

fs/2

EE315B - Chapter 5

B. Murmann 42

Example

Convolved Impulse Response Second Derivative

-1 -0.5 0 0.5 10

0.02

0.04

0.06

0.08

0.1

0.12

τ [ns]

w(τ)

-0.5 0 0.5-3

-2.5

-2

-1.5

-1

-0.5

0

0.5

1

x 10-5

τ [ns]

w''(τ)

[1

/ps2]

EE315B - Chapter 5

B. Murmann 43

Example

• Another way to think about this is to compute the sinusoid

frequency that causes the same jitter noise

= − 0

0=

2.8 ⋅ 10

0.12

1

= 2.3 ⋅ 10

1

, =1

2 = 2.4

(Better!)

• Bottom line: the fact that the signal is wideband and filtered by

the channel helps, but the jitter spec will still be “non-trivial”

EE315B - Chapter 5

= 20 log1

⋅ 300= 46.8

B. Murmann 44

How to Measure/Quantify the Sampling

Jitter of an ADC in the Lab?

• Use sinusoids as a test signal

• Method 1: Leverage the known proportionalities and extract jitter

estimate using an amplitude and frequency sweep

– RMS jitter is noise proportional to input frequency

– RMS is noise proportional to input amplitude

– This works well when jitter is the dominant issue, and not masked

by other nonidealities (like thermal noise)

• Method 2: Leverage the fact that jitter causes cyclostationary noise

– Jitter causes almost no noise near peaks of sinusoid, but lots of

noise near zero crossing

– “Noise beat” at twice the signal frequency

EE315B - Chapter 5

B. Murmann 45

Jitter Noise Beat

EE315B - Chapter 5

[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)

B. Murmann 46

Jitter Estimation Based on Spectrum

• 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.

After removal of harmonics:

Spectrum of squared sequence

contains a tone proportional to jitter

EE315B - Chapter 5

B. Murmann 47

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);

EE315B - Chapter 5

B. Murmann 48

Charge Injection and Clock Feedthrough

• Analyze two extreme cases

– Very large Tf (“slow gating”)

– Very small Tf (“fast gating”)

EE315B - Chapter 5

“Pedestal Error”

B. Murmann 49

Slow Gating

• All channel charge has disappeared by toff without introducing

error; it is absorbed by the input source

t

φ

φL

φH

HOLD

VIN

VO

VIN

VIN + VT

toff

ýV

t

∆V

EE315B - Chapter 5

B. Murmann 50

Slow Gating Model for t > toff

• Example: C=1pF, φL=0V, Vt=0.45V, W=20µm, Col’=0.1fF/µm, Col=2fF

( ) ( )

out in out

olout in in t L in os

ol

V V V

CV V V V V 1 V

C C

= − ∆

= − + − φ = + ε ++

EE315B - Chapter 5

( )ol olos t L

ol ol

C CV V

C C C Cε = − = − − φ

+ +

Gain Error Offset Error

os0.2% V 0.9mVε = − = −

B. Murmann 51

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

φ

Qch

Qch12

Qch12

t < to

t > to

Ε Ε

ΨS

ΨS

t

φ

φL

φH

V IN

VO

VIN + VT

ýV

t

Surface

Potential

∆V

αQch(1-α)Qch

EE315B - Chapter 5

B. Murmann 52

Charge Split Ratio Data

2

f

on

T

R C

G. Wegmann et al., "Charge injection in analog MOS switches," IEEE J. Solid-

State Circuits, pp. 1091-1097, June 1987.

Y. Ding and R. Harjani, "A universal analytic charge injection model," Proc.

ISCAS, pp. 144-147, May 2000.

EE315B - Chapter 5

B. Murmann 53

Interpretation

• RonC2 and Tf are usually comparable, or at least not more than

an order of magnitude apart

– This brings us into the range of 0.1…1 on the chart by

Wegmann

• This means that the charge split will in practice have some

dependence on the impedances seen on the two sides of the

transistor

• Remember: Slightly more charge will go to the side with lower

impedance

EE315B - Chapter 5

B. Murmann 54

Fast Gating Model for t > toff

• Example: C=1pF, φH-φL=1.8V, Vt=0.45V, W=20µm, LCox=2fF/µm

Col’=0.1fF/µm, Col=2fF

( ) ( )ox ol oxos H L H t

ol

WLC C WLC1 1V V

2 C C C 2 Cε = = − φ − φ − φ −

+

EE315B - Chapter 5

os2% V 30.6mVε = + = −

Assuming 50/50

charge split

( )

( )

[ ]

out in out in os

ol chout in H L

ol

ch ox H in t

V V V V 1 V

C Q1V V

C C 2 C

Q WLC V V

= − ∆ = + ε +

= − φ − φ ++

= − φ − −

B. Murmann 55

Transition Fast/Slow Gating

• |ε| and |Vos| decrease as the fall time of φ (Tf) increases and

approach the limit case of slow gating

• Unfortunately, high-speed switched capacitor circuits tend to

operate in fast gating regime

tF

|ε| |Vos|

tF

EE315B - Chapter 5

Tf Tf

Fast gating Slow gating Fast gating Slow gating

B. Murmann 56

Impact of Technology Scaling

ch s

s

Q T1 1V N RC

2 C 2f 2∆ ≅ = = ⋅

( )

2

chox GS t

1 LR

W QC V V

L

≅ =µ

µ −

2

s

V LN

f

∆≅

µ

• Charge injection error to speed ratio benefits from shorter

channels and increases in mobility (e.g. due to strain)

EE315B - Chapter 5

B. Murmann 57

Outline

• Elementary track-and-hold circuit and its nonidealities

• First order improvements to elementary track-and-hold

• Advanced techniques

– Clock bootstrapping

– Bottom plate sampling

• Settling and noise analysis in charge-redistribution

track-and-hold circuit

• Noise simulation example

EE315B - Chapter 5

B. Murmann 58

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

EE315B - Chapter 5

B. Murmann 59

Charge Cancellation

• Cancellation is never perfect, since channel charge of M1 will not exactly split 50/50

– E.g. if Rs is very small, most of M1’s channel charge will flow toward the input voltage source

• Not a precision technique, just an attempt to do a partial clean-up

S

1

1 2

L =L

W =0.5W

1 ch1 ol1

2 ch2 ol2 ch1 ol1

1 2

Q 0.5Q Q

Q Q 2Q 0.5Q Q

Q Q 0

∆ = +

∆ ≅ + ≅ +

∆ − ∆ ≅

EE315B - Chapter 5

[Eichenberger and Guggenbűhl, JSSC 8/89]

B. Murmann 60

Differential Sampling (1)

φ

VI1 CH

+

VO1

VI2 CH

+

VO2

ID I1 I2 OD O1 O2

O1 O2I1 I2IC OC

V V V V V V

V VV VV V

2 2

= − = −

++

= =

( )

( )

O1 1 I1 OS1

O2 2 I2 OS2

V 1 V V

V 1 V V

= + ε +

= + ε +

( ) ( )1 2 1 2OD ID 1 2 IC OS1 OS2 ID

OS1 OS2 OS1 OS21 2 1 2 1 2OC ID IC IC

V 1 V V V V 1 V2 2

V V V VV V 1 V 1 V

4 2 2 2 2

ε + ε ε + ε = + + ε − ε + − ≅ +

+ +ε − ε ε + ε ε + ε = + + + ≅ + +

EE315B - Chapter 5

C

C

B. Murmann 61

Differential Sampling (2)

• Assuming good matching between the two half circuits, we have

– Small residual offset in VOD

– Good rejection of coupling noise, supply noise, …

– Small common-mode to differential-mode gain

• Unfortunately, VOD has essentially same gain error as the basic

single ended half circuit

• This also means that there will be nonlinear terms

– Out simplistic analysis assumed that the channel charge is

linearly related to Vin

– This is true only to first order (consider e.g. backgate effect)

• Expect to see nonlinear distortion along with gain error

EE315B - Chapter 5

B. Murmann 62

CMOS Switch

• Charges fully cancel e.g. for VIN = (φH-φL)/2 = VDD/2, and Vtn=|Vtp|,

but there is still signal dependent residual injection

φ

VIN

φ

CH

+

VO

( )

( )

chn n n ox H IN tn

chp p p ox IN L tp

Q W L C V V

Q W L C V V

≅ − φ − −

≅ − φ −

EE315B - Chapter 5

chn chp tn tpox H Lo IN

1 1Q Q V VC2 2V V

C C 2 2

+ −φ − φ ∆ ≅ = − +

• Assuming fast gating, 50/50 charge split and WnLn = WpLp

B. Murmann 63

On Resistance of CMOS Switch

• At least in principle, adding a PMOS can also help with the

problem of signal dependent Ron in track mode

– For increasing VIN, NMOS resistance goes up, PMOS

resistance goes down

EE315B - Chapter 5

( ) ( )n ox GSn tn p ox GSp tpn p

1 1R

W WC V V C V V

L L

≅ µ − µ −

φ

VIN

φ

CH

+

VO

C

B. Murmann 64

Analysis

• Independent of Vin too good to be true!

• Missing factors

– Backgate effect

– Short channel effects

( ) ( )

( )

( )

n ox GSn tn p ox GSp tpn p

n ox DD tn n ox p ox in p ox tpn n p p

n pn p

n ox DD tn tpn

1 1R

W WC V V C V V

L L

1R

W W W WC V V C C v C V

L L L L

1 W WR if

W L LC V V V

L

≅ µ − µ −

≅ µ − − µ − µ − µ

≅ µ = µ µ − −

EE315B - Chapter 5

B. Murmann 65

Real CMOS Switch

• 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

EE315B - Chapter 5

0 0.5 1 1.50

20

40

60

80

100

Vin

[V]

R [Ω

]

NMOS

PMOS

NMOS || PMOS

B. Murmann 66

Outline

• Elementary track-and-hold circuit and its nonidealities

• First order improvements to elementary track-and-hold

• Advanced techniques

– Clock bootstrapping

– Bottom plate sampling

• Settling and noise analysis in charge-redistribution

track-and-hold circuit

• Noise simulation example

EE315B - Chapter 5

B. Murmann 67

Clock Bootstrapping

• 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

EE315B - Chapter 5

A. Abo, "Design for Reliability of Low-voltage, Switched-capacitor Circuits," PhD Thesis, UC Berkeley, 1999.

+

VDD

-

+

VDD

-

Vin

VGS=VDD=const.Cboot Cboot

B. Murmann 68

Waveforms

EE315B - Chapter 5

A. Abo, "Design for Reliability of Low-voltage, Switched-capacitor Circuits," PhD Thesis, UC Berkeley, 1999.

B. Murmann 69

Circuit Implementation

Switch

A. Abo et al., “A 1.5-V, 10-bit, 14.3-MS/s CMOS Pipeline Analog-to-

Digital Converter,” IEEE J. Solid-State Circuits, pp. 599, May 1999

EE315B - Chapter 5

B. Murmann 70

Limitations

• Efficacy of bootstrap circuit is

reduced by

– Backgate effect

– Parasitic capacitance

between at top plate of C3

[ ]parbootn ox DD in tn in

boot par boot parnBackgate effect

1R

CCWC V V V V

L C C C C

µ − − + +

14243

EE315B - Chapter 5

Cpar

B. Murmann 71

Alternative Implementation

• Less complex, but Cpar tends to be larger due to two parasitic

well capacitances

EE315B - Chapter 5

Dessouky and Kaiser, "Input switch configuration suitable for rail-to-rail operation of

switched opamp circuits," Electronics Letters, Jan. 1999.

B. Murmann 72

Performance of Bootstrapped Samplers

• Bootstrapped “top plate” sampling (as opposed to “bottom plate”

– more later) tends to work very well up to ~10bit resolution

• Example

EE315B - Chapter 5

[Louwsma, JSSC 4/2008]

B. Murmann 73

High-Speed Example without Bootstrap

• For lower resolution applications, it can be OK to drop the

bootstrap circuit

EE315B - Chapter 5

[Choi and Abidi, JSSC 12/2001]

B. Murmann 74

Bottom Plate Sampling

• What if we want to do much better, e.g. 16 bits?

• 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. 586–589.

– K.-L. Lee and R. G. Meyer, “Low-Distortion Switched-

Capacitor Filter Design Techniques,” IEEE J. Solid-State

Circuits, pp. 1103-1113, Dec. 1985.

• First look at single ended half circuit for simplicity

EE315B - Chapter 5

B. Murmann 75

Bottom Plate Sampling Analysis (1)

• Turn M2 off "slightly" before M1

– Typically a few hundred ps

delay between falling edges

of φe and φ

• During turn off, M2 injects charge

( )2 ox H tn

1Q WLC V

2∆ ≅ φ −

• To first order, the charge injected

by M2 is signal independent

• Voltage across C

2C in

QV V

C

∆= +

∆Q2

EE315B - Chapter 5

B. Murmann 76

Bottom Plate Sampling Analysis (2)

• Next, turn off M1

• M1 will inject signal dependent

charge onto the series

combination of C and the

parasitic capacitance at its

bottom plate (Cpar)

• Looks like, this is not much

different from the conventional

top-plate sampling?

– But wait…

EE315B - Chapter 5

( )1 ox H in tn

1Q WLC V V

2∆ ≅ φ − −

B. Murmann 77

Bottom Plate Sampling Analysis (3)

• 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

in two ways

– Open-loop

– Closed-loop (charge

redistribution)

EE315B - Chapter 5

X in 2Q CV Q= − − ∆

Charge injected by M2

(Signal independent)

B. Murmann 78

Open-Loop Charge Processing

• Remaining drawback

– Cpar (and buffer input capacitance) is usually weakly nonlinear

and will introduce some harmonic distortion

φ1

Vin

φ1

φ1e

M1

C

Cpar

φ2

φ1e

φ2

Vx

M2

EE315B - Chapter 5

X in 2

X 2X in

p p p

Q CV Q

Q QCV V

C C C C C C

= − − ∆

∆= = − −

+ + +

(no term due to signal

dependent charge!)

B. Murmann 79

Closed-Loop Charge Processing

• Amplifier forces voltage at node X to “zero”

– Means that charge at node X must redistribute onto

feedback capacitor Cf

EE315B - Chapter 5

B. Murmann 80

Charge Conservation Analysis

• Offset term due to signal independent injection from M2 can be

easily removed using a differential architecture

X1 in 2 fQ CV Q 0 C= − − ∆ + ⋅Charge at node X during φ1:

Charge at node X during φ2: X2 f outQ C V= −

Charge Conservation: X1 x2

in 2 f out

Q Q

CV Q C V

=

− − ∆ = −

2

out in

f f

QCV V

C C

∆∴ = +

EE315B - Chapter 5

B. Murmann 81EE315B - Chapter 5

Clock Generation

[A. Abo, "Design for Reliability of Low-voltage, Switched-capacitor Circuits," PhD Thesis, UC Berkeley, 1999]

B. Murmann 82

Fully Differential Circuit

EE315B - Chapter 5

B. Murmann 83EE315B - Chapter 5

Analysis (1)

1m inp

1p inm

Q CV Q

Q CV Q

= − + ∆

= − + ∆

( )

( )

2m xm f op xm

2p xp f om xp

Q CV C V V

Q CV C V V

= − −

= − −

1m 2m

1p 2p

1) Q Q

2) Q Q

=

=

xm xpV V= op om

oc

V VV

2

+

=

B. Murmann 84EE315B - Chapter 5

Analysis (2)

• Subtracting 1) and 2) yields

( )op om inp inm

f

CV V V V

C− = −

• Adding 1) and 2) yields

( ) ( )( ) ( )inp inm f xp xm f op op

fxc oc ic

f f f

C V V 2 Q C C V V C V V

CQ CV V V

C C C C C C

− + + ∆ = + + − +

∆= + −

+ + +

• Variations in Vic show up as common mode variations at the

amplifier input

– Need amplifier with good CMRR

B. Murmann 85EE315B - Chapter 5

T/H with Common Mode Cancellation

• Shorting switch allows to re-distribute only differential charge on sampling capacitors

• Common mode at OPAMP input becomes independent of common mode at circuit input terminals (IN+/IN-)

• Original idea: Yen & Gray, JSSC 12/1982

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 86EE315B - Chapter 5

Analysis (1)

• Charge conservation at Vip,Vim and Vfloat

C

V

V

C

V

C

C

C

V

During 1 During 2

V

V

C

V

C

V

V

C

( ) ( ) ( )ip im float xp float xm

ic float xc

float ic xc

V V C V V C V V C

V V V

V V V

+ ⋅ = − ⋅ + − ⋅

= −

= +

B. Murmann 87EE315B - Chapter 5

Analysis (2)

• Common mode charge conservation at amplifier inputs

( ) ( )

[ ]( )

ic oc f float xc oc xc f

ic ic xc xc xc f

xc

V C V C V V C V V C

V C V V V C V C

0 V

− ⋅ − ⋅ = − − ⋅ − − ⋅

− ⋅ = − + − ⋅ + ⋅

=

• Amplifier input common mode (Vxc) is independent of

– Input common mode (Vic)

– Output common mode (Voc)

B. Murmann 88EE315B - Chapter 5

Flip-Around T/H

• Sampling caps are "flipped around" OTA and used as feedback

capacitors during φ2

• Main advantage: improved feedback factor (lower noise, higher speed)

• Main disadvantage: OTA is subjected to input common mode variations

[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 89

Sampling Network Design Considerations

• M1- switches only needed to set common mode; M1 is actual sampling switch

– Make M1 larger than M1-

• Ideally turn off M1- before M1

– In practice, usually OK to turn off simultaneously

• In track mode, the total path resistance is R(M3) plus bottom plate switch resistance

– Since R(M3) is signal dependent, make its resistance small compared to that of bottom plate network

φ1-

φ1

φ1+

φ2

φ1-

φ1-

φ1φ1+

φ1+

[Lin, Kim and Gray, JSSC 4/1991]

M1-

M1-

M1

EE315B - Chapter 5

B. Murmann 90

Schematic Entry and Layout of M1

• Use antiparallel devices to implement M1

– Needed in simulation to guarantee circuit symmetry

• E.g. BSIM model is not necessarily perfectly symmetric with

respect to drain/source!

– Needed in layout to ensure symmetry in presence of

drain/source asymmetry due to processing artifacts

EE315B - Chapter 5

B. Murmann 91

What Ultimately Limits Linearity?

• Track mode nonlinearity due to R=f(Vin)

– Mitigate using clock bootstrapping and proper partitioning of

total path resistance

– Eventually, bootstrapping falls apart high frequencies, due to

parasitics capacitances inside the bootstrap circuit

• Mismatch in half-circuit charge injection due to R=f(Vin)

– Bottom plate switches in the two half circuits see input

dependent impedance; this creates input dependent charge

injection mismatch

– Bootstrapping helps; ultimately limited by backgate effect

– This effect is often fairly independent of frequency

(somewhat dependent on realization of top plate switch)

• In high performance designs, can achieve ~80-100dB linearity

up to a few hundreds of MHz

EE315B - Chapter 5

B. Murmann 92

Capacitors

• Typically 1-2 fF/µm2 (10-20 fF/µm2 for advanced structures)

– For 1 fF/µm2, a 10 pF capacitor occupies ~100µm x 100µm

• Both MIM and VPP capacitors have good electrical properties

– Mostly worry about parasitic caps

– Series and parallel resistances are often not a concern

EE315B - Chapter 5

[Ng, Trans. Electron Dev., 7/2005]

Metal-Insulator-Metal (MIM) Vertical Parallel Plate (VPP)

[Aparicio, JSSC 3/2002]

B. Murmann 93

Plate Parasitics

• Node n1 is usually the "physical" top plate of the capacitor

– Makes nomenclature very confusing, since this plate is

typically used as the "electrical" bottom plate in a sampling

circuit (in the context of "bottom plate sampling")

• Typical values for a MIM capacitor

– α=1%, β=10%

Ideal Capacitor

Typical Integrated

Circuit Capacitor

EE315B - Chapter 5

Symbol

B. Murmann 94

Proper Connection of Capacitors

• “Fat plate” is oriented away from virtual ground nodes to avoid

reduction of feedback factor and reduce potential noise coupling

EE315B - Chapter 5

B. Murmann 95

Outline

• Elementary track-and-hold circuit and its nonidealities

• First order improvements to elementary track-and-hold

• Advanced techniques

– Clock bootstrapping

– Bottom plate sampling

• Settling and noise analysis in charge-redistribution

track-and-hold circuit

• Noise simulation example

EE315B - Chapter 5

B. Murmann 96

Settling and Noise Analysis

Cf

CsGm

CL

φ1 φ2

EE315B - Chapter 5

B. Murmann 97

First Order Amplifier Model

x o

o od

n

2

o

x xd

( )m x m x D

o

D x

g v for g v Ii

I sign v else

<=

EE315B - Chapter 5

Piecewise linear half-circuit

B. Murmann 98

Linear Settling (Small Input Step)

• Important parameter: Return factor or "feedback factor" β

f

f s x

C

C C Cβ =

+ +

( )t /

o ofinalv (t) V 1 e− τ

= −

→Vofinalt=00

-Vistep

(ignoring feedforward zero)

EE315B - Chapter 5

B. Murmann 99EE315B - Chapter 5

0 2 4 6 8 100

0.2

0.4

0.6

0.8

1

t/τ

Vout/Vout,ideal

Waveform Detail

Dynamic

Error εd(t)

Static

Error ε0

Vo/V

o,ideal

B. Murmann 100

Static Settling Error

• Ideal output voltage for t→∞

sofinal,ideal istep

f

CV V

C= ⋅

• Actual output voltage (from detailed analysis)

s 0ofinal istep 0 m o vo

f 0

C TV V T g r a

C 1 T= ⋅ ⋅ = β ⋅ = β ⋅

+

• Define static settling error

ofinal ofinal,ideal0

ofinal,ideal

T1

V V 1 11 T

V 1 1 T T

−−

+ε = = = − ≅ −

+

EE315B - Chapter 5

• Example: T0=1000 0.1% static settling error

B. Murmann 101

Dynamic Settling Error

( )t /ofinal ofinal t /o ofinal

dynamicofinal ofinal

V 1 e Vv (t) V(t) e

V V

− τ

− τ

− −−

ε = = = −

( )sd

tN ln= = − ε

τ

εdynamic N

1% 4.6

0.1% 6.9

0.01% 9.2

EE315B - Chapter 5

B. Murmann 102

Time Constant

Ltot

m

C1

gτ = ⋅

β

( )Ltot L fC C 1 C= + −β

EE315B - Chapter 5

f

f s x

C

C C Cβ =

+ +

m

1R

g=β

B. Murmann 103

Transconductor Current

• During linear settling, the current delivered by the transconductor is

t /o ofinalo Ltot Ltot

dv (t) Vi C C e

dt

− τ

≅ − = −

τ

( )t /

o ofinalv (t) V 1 e− τ

= −

→Vofinalt=00

-Vistep

• Peak current occurs at t=0

ofinalo Ltotmax

Vi C=

τ

EE315B - Chapter 5

B. Murmann 104

Slewing

• The amplifier can deliver a maximum current of ID

– If |io|max > ID, slewing occurs

ofinalo Ltot Dmax

Vi C I= >

τ

ofinal mLeff D

Ltot D ofinal

m

V g 1C I

C1 I V

g

> ⇒ >β

⋅β

• Example: β=0.5, Vofinal=0.5V gm/ID > 4 S/A will result in slewing

• Very hard to avoid slewing, unless

− We are willing to bias at very low gm/ID (power inefficient)

− Feedback factor is small (large closed-loop gain, CS/Cf)

− Output voltage swing is small

EE315B - Chapter 5

B. Murmann 105

Output Waveform with Initial Slewing

• Continuous derivative in the transition slewinglinear requires

Do

Ltot

Iv (t) t SR t

C= = ⋅

( )slew(t t )/o oslew olinv (t) V V 1 e

− −∆ τ= ∆ + ∆ −

olinD

Ltot

VI

C

∆=

τ

Dolin

Ltot

IV

C

τ ⋅∆ =

EE315B - Chapter 5

B. Murmann 106

Dynamic Error with Slewing

oslew ofinal olinV V V∆ = − ∆ ( ) Ltotslew ofinal olin

D

Ct V V

I∆ = − ∆ ⋅

• Using the above result, we can now calculate the dynamic error

during the final linear settling portion

( )( )slewt t /

slew o oslew olinFor t t : v (t) V V 1 e

− −∆ τ> ∆ = ∆ + ∆ −

( )( )

( )

slew

slew

t t /

oslew olin ofinalo final

d

final ofinal

t t /olind

ofinal

V V 1 e Vv (t) V

(t)V V

V(t) e

V

− −∆ τ

− −∆ τ

∆ + ∆ − −−

ε = =

∆ε = −

EE315B - Chapter 5

B. Murmann 107

Noise Analysis

EE315B - Chapter 5

Cf

CsGm

CL

φ1 φ2

Noise due to switches Noise due to amplifier and switches

B. Murmann 108

Tracking Phase (φ1)

V

C

C

X

• Variable of interest is total integrated

"noise charge" at node X, qx2

• Cumbersome to compute using

standard analysis

– Find transfer function from each

noise source (3 resistors) to qx

– Integrate magnitude squared

expressions from zero to infinity

and add

• Much easier

– Use equipartition theorem

EE315B - Chapter 5

B. Murmann 109

Tracking Phase Noise Charge

V

C

C

X

• Energy stored at node X is

2 2

x x

eff s f

q q1 1

2 C 2 C C=

+

• Apply equipartition theorem

( )

2

x

s f

2

x s f

q1 1kT

2 C C 2

q kT C C

=

+

= +

• Note that any additional parasitic

capacitance at node X will

increase the sampled noise

charge!

EE315B - Chapter 5

B. Murmann 110

Redistribution Phase Noise

• In a proper design, Ron1 and Ron2 will be much smaller than

1/βGm, else the switches would significantly affect the dynamics,

which would be very wasteful

– It is much easier to design switches with low on-resistance

than an amplifier with very large Gm

EE315B - Chapter 5

on14kTR f∆

on4kTR f∆

m

4kTf

G

γα ∆

α>1 excess noise factor

m

1R

G≅β

B. Murmann 111

Output Referred Noise Comparison

• Ron1 noise referred to vo

EE315B - Chapter 5

2

2s1 on1

f

CN 4kTR f H( j )

C

= ∆ ⋅ ⋅ ω

2

2sa

m f

C4kTN f 1 H( j )

G C

γ= α ∆ ⋅ + ⋅ ω

2

s

fa

21 m on1

s

f

C1

CN1

N G RC

C

+

αγ = >>

• Amplifier noise referred to vo

• Ron2 noise referred to vo

2

2 on2N 4kTR f H( j )= ∆ ⋅ ω

2

a s

2 m on2 f

N C1 1

N G R C

αγ= + >>

• Amplifier noise dominates over noise due to Ron1, Ron2

B. Murmann 112

Total Integrated Amplifier Noise

EE315B - Chapter 5

m4kT G fα ⋅ γ ⋅ ∆

m

1R

G≅β

22

o

Ltot

2

2

o

Ltot Ltot0

v 1 14kT R

f R j C

1 R 1 kTv 4kT f df

R 1 j RC C

= α ⋅ γ ⋅∆ β ω

= α ⋅ γ ⋅ ∆ ⋅ = αγβ + ω β∫

B. Murmann 113

Adding up the Noise Contributions

EE315B - Chapter 5

φ1 φ2

( )2

x s fq kT C C= +

22 s f sxo,1 2 2

f ff f

C C Cq kTv kT 1

C CC C

+= = = +

2o,2

Ltot

1 kTv

C≅ αγ

β

2 so,tot

f f Ltot

CkT 1 kTv 1

C C C

= + + αγ

β

B. Murmann 114EE315B - Chapter 5

Noise in Differential Circuits

• In differential circuits, the noise power is doubled (because there

are two half circuits contributing to the noise)

• But, the signal power increases by 4x

– Looks like a 3dB win?

( )2

2 2oo o

single diff

ˆ2Vˆ ˆV VDR DR 2

kT kT kT2

C C C

∝ ∝ =

• Yes, there’s 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

B. Murmann 115

Outline

• Elementary track-and-hold circuit and its nonidealities

• First order improvements to elementary track-and-hold

• Advanced techniques

– Clock bootstrapping

– Bottom plate sampling

• Settling and noise analysis in charge-redistribution

track-and-hold circuit

• Noise simulation example

EE315B - Chapter 5

B. Murmann 116

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

EE315B - Chapter 5

B. Murmann 117

SC Noise Simulation

• Periodic Steady State Simulation

– First run PSS analysis to find the periodic operating point

• Analogous to .op for .ac/noise

– Next run PNOISE analysis

• Computes total noise, taking all clock phases, noise

aliasing, noise correlations, etc. into account

• Transient Noise

– Direct simulation of all noise sources using a transient

simulation

– Most physical way of simulating noise

EE315B - Chapter 5

B. Murmann 118

Example T/H Circuit

• OTA Gm chosen such than (Ts/2) / τOTA = 10

• Switches sized 5 times faster, i.e. N = 5∙10 = 50

voc

vdd

p1

vocs

p1

vic

vic

vic

vic

cs

Csp

cf

Cfp

cl

Clp

cf

Cfm

cl

Clm

cs

Csm

fs = 100 MHz, α = 2, γ = 1

Cs = Cf = 100 fF, CL = 500 fF, Cpar ≅ 0

EE315B - Chapter 5

B. Murmann 119

.Noise Simulation (f1)

• *** Compute noise charge at node X and refer to output via Cf

• en vno 0 vcvs vol =( cs*v(x,s) + cf*v(x,f) )/cf

• .ac dec 100 100 1000Gig

• .noise v(vno) vdummy

(showing half circuit for simplicity)

EE315B - Chapter 5

B. Murmann 120

102

104

106

108

1010

1012

10-25

10-20

10-15

PS

D [V2/H

z]

Frequency [Hz]

102

104

106

108

1010

1012

0

2

4

6x 10

-4

Inte

gra

l [u

Vrm

s]

Frequency [Hz]

.Noise Simulation (φ1)

406µVrms

EE315B - Chapter 5

B. Murmann 121

102

104

106

108

1010

1012

10-25

10-20

10-15

PS

D [V2/H

z]

Frequency [Hz]

102

104

106

108

1010

1012

0

2

4x 10

-4

Inte

gra

l [u

Vrm

s]

Frequency [Hz]

.Noise Simulation (φ2)

( ) ( )2 22

out,totv 406 Vrms 266 Vrms 485 Vrms= µ + µ = µ

266µVrms

EE315B - Chapter 5

B. Murmann 122

PSS Simulation Setup

Under “options” set “maxacfreq” to

the highest frequency from which

you expect noise to fold down

Set “tstab” if your circuit needs time

to reach steady state

(e.g. clock bootstrap circuits)

EE315B - Chapter 5

B. Murmann 123

PSS Waveforms (Clocks)

4.75ns

EE315B - Chapter 5

B. Murmann 124

PNOISE Simulation Setup

Numsidebands ≅ fmax/fs, where fmax is the

maximum frequency from which you expect

significant noise folding

“timedomain” means simulator computes

spectrum of discrete time noise samples at

the specified sampling instant

Sampling instant (4.75ns in this example)

EE315B - Chapter 5

B. Murmann 125

How to Chose Parameters

• Maxacfreq must be set commensurate with the speed

of the switches

– Common pitfall: Use nice 1mΩ switches must

consider noise from “DC to daylight”

• In our example

s

on

1 10Maxacfreq 10 N f

2 R C

Maxacfreq 3 50 100MHz 15GHz

≅ ⋅ = ⋅ ⋅

π π

≅ ⋅ ⋅ =

EE315B - Chapter 5

B. Murmann 126

How to Chose Parameters

• In traditional PSS/PNOISE simulators (such as

SpectreRF), simulation time increases rapidly for large

values of Numsidebands

• Berkeley Design Automation (BDA) Analog FastSPICE

(AFS) automatically includes an infinite number of

sidebands at significantly reduced simulation times

s

Maxacfreq 15GHzNumsidebands 150

f 100MHz≅ = =

EE315B - Chapter 5

B. Murmann 127

PNOISE Result (SpectreRF)

Integrated NoiseSampled Noise PSD

EE315B - Chapter 5

B. Murmann 128

Transient Noise Using BDA AFS

• Simulated 1000 samples

• Only one critical setting: noisefmax = 15 GHz

EE315B - Chapter 5

B. Murmann 129

Comparison

• Very good agreement between hand calculation and all three

simulation approaches

Methodφ1 Noise

[µVrms]

φ2 Noise

[µVrms]

Total

[µVrms]Comment

Calculation 406 245 474 Neglected switch noise during φ2

smaller value than .NOISE

.NOISE 406 266 485

PNOISE - - 475 Somewhat smaller than .NOISE

due to finite Maxacfreq and

Numsidebands

TRAN

NOISE

- - 477 Somewhat smaller than .NOISE

due to statistical fluctuations (can

use more samples)

EE315B - Chapter 5

B. Murmann 130

Advantages of TRAN NOISE

• Takes advantage of rapid advancements in very fast,

spice-accurate transient simulators (such as BDA AFS)

– Can handle much larger circuits compared to

PSS/PNOISE (PSS tends to have convergence issues

for large circuits)

• Intuitive inspection of waveforms

• No need to combine noises manually

– Compared to .ac/.noise simulation flow

• Applicable also to non-periodic circuits

EE315B - Chapter 5

B. Murmann 131

Further Reading on Noise

• 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.

• SC integrator noise analysis– R. Schreier, J. Silva, J. Steensgaard, and G.C. Temes, "Design-

oriented estimation of thermal noise in switched-capacitor circuits," IEEE TCAS1, vol.52, no.11, pp. 2358-2368, Nov. 2005.

• Total integrated noise expressions for more complex OTAs (two-stage, etc.)– A. Dastgheib and B. Murmann, “Calculation of Total Integrated Noise in

Analog Circuits,” IEEE TCAS1, vol. 55, no. 10, pp. 2988-2993, Oct. 2008.

• Transient noise simulation example for a complete ADC– Lennart Mathe and David C. Lee, "Analog-to-Digital Converter

Performance Signoff with Analog FastSPICE Transient Noise at Qualcomm," Berkeley Design Automation, www.berkeley-da.com.

EE315B - Chapter 5

B. Murmann 132

Summary – Sampling Circuits

• Three predominant implementation styles

– Purely passive

– Source follower T/H, up to ~9-10bit accuracy

– Charge redistribution or flip-around architecture

• In a typical, properly designed circuit only the most fundamental

issues are significant

– Jitter, kT/C noise

• Charge injection is not a problem if properly handled

– E.g., use bottom plate sampling

EE315B - Chapter 5

B. Murmann 1EE315B - Chapter 6

Voltage Comparators

Boris Murmann

Stanford University

[email protected]

Copyright © 2013 by Boris Murmann

B. Murmann 2EE315B - Chapter 6

Recap

• Ultimately, building a quantizer requires circuit elements that

"make decisions"

• The most widely used "decision circuit" is a voltage comparator

B. Murmann 3EE315B - Chapter 6

Preview - Flash ADC

Dout

Vin

2B-1 Decision Levels

2B-1

B. Murmann 4EE315B - Chapter 6

Ideal Voltage Comparator

• 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 5EE315B - Chapter 6

How to Implement High 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

B. Murmann 6

Input Signal Scenarios

EE315B - Chapter 6

Sampled Data Input

Continuous Time Input

Our focus

φ2

B. Murmann 7EE315B - Chapter 6

Cascade of Open-Loop Amplifiers

• What is the best choice for a given gain requirement?

– Single stage with lots of voltage gain (OTA)?

– Only a few stages with moderate gain?

– Lots of stages with low gain?

mu

gs

gconst.

Cω = ≅In each stage:

u0 m

0

A g Rω

= =

ω

u0

0

1

RC A

ω

ω = =

B. Murmann 8EE315B - Chapter 6

Step Response (1)

• When the input is a sampled data signal, we want to achieve the

fastest possible amplification in response to an input step

( )istep v

out in N1/N

u v

V AV (s) V (s)A(s)

s1 s A

= =

+ ⋅ τ

1/Nu v

i

t1/NN 1

A u vout istep v

i 0

t

AV (t) V A 1 e

i!

− −

τ ⋅

=

τ ⋅ = −

u

u

1τ =

ω

N

v 0A A=

A(t)

B. Murmann 9EE315B - Chapter 6

0 5 10 150

2

4

6

8

10

Time t/τu

Ste

p r

esp

on

se

A(t

)

N=1

N=3

N=5

Av*(1-e-1)

Step Response (2)

• Three stage amplifier wins! (for Av=10)

τd(N=3)

10(1-e-1)

B. Murmann 10EE315B - Chapter 6

Delay versus Number of Stages

• Using a single stage is a non-starter

• The optimum number of stages show a shallow minimum

( )1d v dA( ) A 1 e (numerically)−

τ = − ⇒ τ

2 4 6 8 10 12 140

10

20

30

40

50

N (Number of stages)

De

lay tim

e τ

d/ τu

Av=10

Av=100

Av=1000

B. Murmann 11EE315B - Chapter 6

Optimum Number of Stages

opt vN ln(A )≅

100

101

102

103

104

105

0

2

4

6

8

10

12

Av (Total gain)

Op

tim

um

nu

mb

er

of sta

ge

s

Numerical result

ln(Av)

B. Murmann 12EE315B - Chapter 6

Optimum Gain per Stage

opt vN ln(A )≅opt optN N

v 0,opt 0,opte A A A e≅ = ⇒ ≅

100

101

102

103

104

105

1

1.5

2

2.5

3

3.5

4

4.5

5

Av (Total gain)

A0,opt (

Op

tim

um

ga

in p

er

sta

ge

)

Numerical result

e

B. Murmann 13EE315B - Chapter 6

Cascade of "Integrators" (1)

• Intuition

– Load resistors (in a cascade of open-loop amplifiers) shunt current away from load capacitance; this slows down amplification

• Analysis using integrator stages

N

u umo1 in in oN inN

gv v v v v

sC s s

ω ω

= = =

B. Murmann 14EE315B - Chapter 6

Cascade of Integrators (2)

N Nistep Nu

out out istep uN

V tV (s) V (t) V

s N!s

ω

= = ⋅ω

0 5 10 150

2

4

6

8

10

Time t/τu

Ste

p r

esp

on

se

A(t

)

N=1 (with R)

N=1 (integ)

Av*(1-e

-1)

0 5 10 150

2

4

6

8

10

Time t/τu

Ste

p r

esp

on

se

A(t

)

N=3 (with R)

N=3 (integ)

Av*(1-e

-1)

B. Murmann 15EE315B - Chapter 6

Cascade of Integrators (3)

• Cascade of integrators achieves faster amplification than

cascade of resistively loaded stages

• Delay time

[ ]1/N out d

d u d dinstep

V ( )(N! A( )) A( )

V

τ

τ = τ ⋅ τ τ =

• Optimum number of stages approximately given by

[ ]opt dN 1.1ln A( ) 0.79= τ + [Wu, JSSC 12/1988]

• Effective gain per stage is still relatively close to e=2.7183…

B. Murmann 16EE315B - Chapter 6

Regenerative Sense Amplifier (Latch)

Conceptual Circuit

φ1: Set up initial condition (vOD0)

φ2: Enable positive feedback

Inverter

Transconductance

t=0

⋅ /

/

[Figueiredo]

B. Murmann 17

Simulation Example

EE315B - Chapter 6

vid

vop

vom

p2!

vod vip

vim vic

vid

p1!

vic

voc

vop

vim vom

vip

V5

vdc:vid

V2

vdc:vic

V0

vdc:vdd

vm

vp

vcm

vdm

I4

ideal_balun vm

vp

vcm

vdm

I7

ideal_balun

p2

! p

2!

10u/0.18u M4

10u/0.18u M0

M3 5u/0.18u

M1 5u/0.18u

cl C0

cl C3

p1!

p1!

vd

d

clock_gen p2e p2b

p2 p1eb

p1e p1b

p1

CL=100 fF

B. Murmann 18

Transient Response

EE315B - Chapter 6

Nodes vOP and vON for differential inputs of 1mV, 1µV, 1nV and 1pV

φ2 goes high

B. Murmann 19

Transient Response

EE315B - Chapter 6

Differential Mode Common Mode

B. Murmann 20

Transient Response (Log Scale)

EE315B - Chapter 6

= ⋅ /

= ⋅ /

= −

ln

=600ps

ln 10 =

600ps

6 ⋅ 2.3= 43

B. Murmann 21EE315B - Chapter 6

Comparison

• Latch is much faster than cascade of amplifiers/integrators

0 5 10 150

2

4

6

8

10

Time t/τ

Am

plif

ica

tio

n A

(t)

N=3 (with R)

N=3 (integ)

Latch

Av*(1-e-1)

t/τ

B. Murmann 22EE315B - Chapter 6

Latch Gain

A(τd) τ

d/τ

10 2.3

100 4.6

1,000 6.9

10,000 9.2

B. Murmann 23EE315B - Chapter 6

"The" Architecture

• Why bother using pre-amplification (Av)?

• Pre-amplification may be used for several reasons

– Lower offset (latch offset tends to be large)

– Lower thermal noise

– Attenuation of "kickback noise”

– Separate input from output

– Common mode rejection

B. Murmann 24

Basic Topology Examples (1)

• Class-A (constant current)

EE315B - Chapter 6

Figure from [Figueiredo, TCAS2, July 2006]

B. Murmann 25

Basic Topology Examples (2)

• Class-AB

– Input pair has constant bias, but latch draws current only

while making a decision

EE315B - Chapter 6

Figure from [Figueiredo, TCAS2, July 2006]

B. Murmann 26

Basic Topology Examples (3)

• Fully dynamic

– Draws (significant) current only while making a decision

EE315B - Chapter 6

Figure from [Figueiredo, TCAS2, July 2006]

Original paper:

[Kobayashi, JSSC, April 1993]

B. Murmann 27

Offset in Latches

• Static offset (VOS) due to transistor mismatch (primarily Vt)

• Dynamic offset due to load capacitor mismatch

– For an analysis see Nikoozadeh, TCAS II, Dec. 2006

EE315B - Chapter 6

VOS,static

CLP CLN

vOP vON Inverter switching voltage: VS

Initial common mode: VOC0

Load capacitor mismatch: ∆CL

, ≅1

2

Δ

− Example:

1

2

10

1000.3 − 0.9 = 30

Minimize, if possible

B. Murmann 28EE315B - Chapter 6

Input Referred Offset with Preamplification

• Example: σVOS1=3mV, σVOS2=30mV, Av=10

2 2 2

VOS VOS1 VOS22

v

1

Aσ = σ + σ

( ) ( )2 2

VOS 2

13mV 30mV 4.2mV

10σ = + =

B. Murmann 29

Dealing With Offset

• Options depend strongly on the application context

• May use an ADC architecture that inherently tolerates offset

– More later

• May use a relatively coarse tuning mechanism

– E.g. tune offset to lie within ½ LSB at the 6-bit level

• May have to apply precision techniques

– Autozeroing, etc. (see EE315A), for high-end instrumentation

• Simply use large transistors

– Usually not power efficient

EE315B - Chapter 6

B. Murmann 30

Example: Coarse Offset Tuning

• The circuit below uses capacitve imbalance to tune the offset

– An example of using a "bug" as a feature

– See e.g. Van der Plas, ISSCC 2006

• Watch out for PSRR degradation due to circuit imbalance

EE315B - Chapter 6

B. Murmann 31EE315B - Chapter 6

Example: Precision Comparator

• Used in the AD7671, 16-bit, 1-MS/s successive approximation ADC

• Uses cascaded output series offset cancellation (see EE315A)

[http://www.elecdesign.com/Articles/Index.cfm?ArticleID=3956]

B. Murmann 32

Electronic Noise in Latch Comparators

• 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

EE315B - Chapter 6

B. Murmann 33

Kickback

EE315B - Chapter 6

Figure from [Figueiredo, TCAS2, July 2006]

E.g. Flash ADC

resistor ladder

B. Murmann 34

Kickback Mitigation Techniques

EE315B - Chapter 6

Figures from [Figueiredo, TCAS2, July 2006]

Neutralization Neutralization and Switch Isolation

B. Murmann 35

Kickback Mitigation Techniques

EE315B - Chapter 6

[Sundstrom, MIXDES 2007]

Extra switches act

similar to cascodes

B. Murmann 36

Other Design Considerations

• Input capacitance and linearity of input capacitance

– Consider e.g. loading of the input network in a flash ADC

• 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?

EE315B - Chapter 6

B. Murmann 37

Overdrive Recovery Test

• The test is passed when the latch output changes polarity in

case 1, but not in case 2

EE315B - Chapter 6

[Razavi, p. 183]

Comparator

input

Preamp

output

Latch

activation

1 2

B. Murmann 38

10-15

10-10

10-5

100

0

5

10

15

20

25

30

35

v /V

t reg/τ

Metastability (1)

• The plot below shows the time needed to regenerate a given

differential latch input to full logic swing

EE315B - Chapter 6

= ln

vOD0/VDD

B. Murmann 39

Metastability (2)

• What if the input is so small that we run out of time?

• This is called a metastable state, i.e. at the end of the clock

cycle there is no clear logic decision

• The following logic gates will go into an erratic state that is hard

to predict, and so we classify this outcome as an error

• In the following analysis we will try to estimate the probability at

which metastable states will occur

• Application requirements vary widely

– Error correction coding in certain communication sytems can

absorb probabilities of up to 10-3

– High-speed wireline links (without coding) or instrumentation

equipment may require probabilities better than 10-18

EE315B - Chapter 6

B. Murmann 40EE315B - Chapter 6

Metastability (3)

• Assume that the maximum available time is tmax

• The minum latch input we can regenerate is then

, =

/

• In case, we have a preamp, we can do slightly better

, =1

/

• Now assume that the input is uniformly distributed over some

range, and compute the probabily of seeing a metastable state

PDF

+vID0,max-vID0,max

+vID0,min-vID0,min

=,

,

=

,

/

B. Murmann 41

Mean Time to Failure

• In some applications it makes sense to think about metastability

in terms of the mean time between metastable events

– Mean time to failure (MTF)

EE315B - Chapter 6

10-18

10-16

10-14

10-12

10-10

10-2

100

102

Pmeta

MT

F [d

ays] =

1

fs=10GHz fs=100MHz

B. Murmann 42

Example: Flash ADC

• In a flash ADC, there is always (exactly) one comparator that

sees an input within ± ∆/2

• The probability of seeing a metastable state within the array is

therefore found using vID0,max = ∆/2

EE315B - Chapter 6

=Δ2

/

=12V2

/

• The graph on the next slide plots an example

– Sampling rate fs = 1GHz, tmax ≅ 1/2fs = 500ps

– B = 6, Av =1, VFS = VDD

B. Murmann 43

Example: Flash ADC

• The curve is incredibly steep in the region of Pmeta < 10-5

• Very strong incentive to minimize τ as much as possible

– Ultimitaley bounded by Cgg/gm = 1/ωT

EE315B - Chapter 6

10 20 30 40 50 60 70 80

10-20

10-15

10-10

10-5

100

Pmeta

τ [ps]

B. Murmann 44

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

EE315B - Chapter 6

B. Murmann 45EE315B - Chapter 6

Comparator Examples (1)

• Mehr & Dalton, JSSC 7/1999

B. Murmann 46EE315B - Chapter 6

Comparator Examples (2)

• Mehr & Dalton, JSSC 7/1999

B. Murmann 47EE315B - Chapter 6

Comparator Examples (3)

• Schinkel, ISSCC 2007: "Double tail sense amplifier"

B. Murmann 48EE315B - Chapter 6

Comparator Examples (4)

• Miyahara, ASSCC 2009

B. Murmann 49EE315B - Chapter 6

Comparator Examples (5)

• Lee, JSSC, April 2011

B. Murmann 50EE315B - Chapter 6

Comparator Examples (6)

• Tripathi, ESSCIRC 2013

τ ≅ 6ps

B. Murmann 51EE315B - Chapter 6

Selected References (1)

1. Y. S. Yee, L. M. Terman and L. G. Heller, “A 1mV MOS Comparator,” IEEE J. of Solid-State Circuits, vol. SC-13, pp. 294-297, June 1978.

2. A. Yukawa, “A CMOS 8-Bit High-Speed A/D Converter IC,” IEEE J. of Solid-State Circuits, vol. SC-20, pp. 775-779, June 1985.

3. B. J. McCarroll, C. G. Sodini, and H.-S. Lee, “A High-Speed CMOS Comparator for Use in an ADC,” IEEE J. of Solid-State Circuits, vol. 23, pp. 159-165, Feb. 1988.

4. J.-T. Wu and B. A. Wooley, “A 100-MHz Pipelined CMOS Comparator,” IEEE J. Solid-State Circuits, vol. 23, pp. 1379-1385, Dec. 1988.

5. B. Razavi and B. A. Wooley, “A 12-b 5-MSample/s Two-Step CMOS A/D Converter,” IEEE J. Solid-State Circuits, vol. 27, pp. 1667-1678, Dec. 1992.

6. B. Razavi and B. A. Wooley, “Design Techniques for High-Speed, High-Resolution Comparators,” IEEE J. Solid-State Circuits, vol. 27, pp. 1916-1926, Dec. 1992.

9. 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 read-channel 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. C-24, no.6, pp. 604-616, June 1975.

B. Murmann 52EE315B - Chapter 6

Selected References (2)

9. H. J. M. Veendrick, “The Behavior of Flip-Flops Used as Synchronizers and Prediction of Their Failure Rate,” IEEE J. Solid-State Circuits, April 1980.

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 1EE315B - Chapter 7

Flash ADCs

Boris Murmann

Stanford University

[email protected]

Copyright © 2013 by Boris Murmann

B. Murmann 2EE315B - Chapter 7

Nyquist ADC Architectures

• 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

– 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

SPEED

B. Murmann 3EE315B - Chapter 7

ADC Survey (ISSCC & VLSI 1997-2013)

Data: http://www.stanford.edu/~murmann/adcsurvey.html

20 30 40 50 60 70 80 90 100 110 12010

4

106

108

1010

SNDRhf

[dB]

f in,hf [

Hz]

Flash

Folding

Two-Step

Pipeline

∆Σ

SAR

Other

1000fsrms

Jitter

100fsrms

Jitter

B. Murmann 4

Flash ADC Speed

0

1

2

3

4

5

6

7

1996 1998 2000 2002 2004 2006 2008

Year

Clo

ck S

peed

[G

Hz]

Flash ADCs

Microprocessors

EE315B - Chapter 7

B. Murmann 5EE315B - Chapter 7

Modern Flash ADC Architecture

• Fast

– Speed limited only by comparator

decision

• High complexity, large input capacitance

– Resolution tends to limited to 6 bits

T/H

Wallace E

nco

der

Dout

CLK

Vin

Vadc

Vadc

Usually implemented as a fully

differential circuit

B. Murmann 6

Why Use a T/H?

• One reason: Timing offsets between comparators may cause

“bubbles” in the thermometer code

EE315B - Chapter 7

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.

Fast

moving

input

Single bubble

Double

bubble

B. Murmann 7EE315B - Chapter 7

Bubble Problem in a “Poor Man’s” Encoder

• Correct output: 1000, actual output: 1110 (!)

e.g. due to

timing offset

between two

comparators

B. Murmann 8EE315B - Chapter 7

Bubble Tolerant Encoder

• Protects against single bubbles

• Reference: C. W. Mangelsdorf, “A 400-MHz Flash Converter with Error

Correction,” IEEE J. Solid-State Circuits, pp. 184-191, Feb. 1990.

B. Murmann 9

Modern Solution: Wallace Encoder

• Simply a “ones adder”

• F. Kaess, et al., “New encoding

scheme for high-speed flash

ADCs,” ISCAS 1997, pp. 5–8

• Complexity used to be an issue in

older technology; not a problem in

sub-100nm CMOS

• Number of adders needed for

N bits:

EE315B - Chapter 7

B. Murmann 10

Alternative (or Additional) Solution

• Still want to use a T/H, even if bubbles are not a problem

– Simplified comparator design

– Well-behaved input impedance

– T/H need not be all that complex

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

Source follower T/H

B. Murmann 11EE315B - Chapter 7

How about Metastability?

• Different gates interpret metastable output X differently

• Correct output: 0111 or 1000, actual output: 1111 (!)

• Again, a simple encoder does not handle this very well

B. Murmann 12EE315B - Chapter 7

Solution 1: Wallace Encoder

• Similar reasoning as with bubbles

• Error due to metastable input is bounded by 1LSB

B. Murmann 13EE315B - Chapter 7

Solution 2: Latch Pipelining

• Use additional latches to create extra gain before generating decoder signals

• Usually too power hungry and area inefficient

B. Murmann 14EE315B - Chapter 7

Solution 2: Gray Encoding

• Each Ti affects only one Gi

– Avoids disagreement

of interpretation by

multiple gates

Thermometer Code Gray Binary

T1 T2 T3 T4 T5 T6 T7 G3 G2 G1 B3 B2 B1

0 0 0 0 0 0 0 0 0 0 0 0 0

1 0 0 0 0 0 0 0 0 1 0 0 1

1 1 0 0 0 0 0 0 1 1 0 1 0

1 1 1 0 0 0 0 0 1 0 0 1 1

1 1 1 1 0 0 0 1 1 0 1 0 0

1 1 1 1 1 0 0 1 1 1 1 0 1

1 1 1 1 1 1 0 1 0 1 1 1 0

1 1 1 1 1 1 1 1 0 0 1 1 1

G3 G2 G1

B. Murmann 15EE315B - Chapter 7

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.

B. Murmann 16EE315B - Chapter 7

Offset

• Typically want offset of each comparator <1/4LSB with high probability (“3 sigma”)

– If we budget half of the input referred offset for the latch, the other half for the pre-amp, this means pre-amp offset must be <1/4LSB / sqrt(2)

13 3

4 2 2

VTVOS B

A FSR

WLσ = <

6

2 2 22

1 13 2 8

4 2 2

3 3 4 18 418 4 102

2 8 2 8 0 18

VT

VT

A V. mV

WL

A mV m . mWL . m W m

. mV . mV . m

< =

⋅ µ µ > = = µ ⇒ > = µ µ

Huge!

• E.g. 6-bit flash ADC, FSR=1V

B. Murmann 17EE315B - Chapter 7

Re-cap of Options

• Simply use large devices

– For each extra bit, need to increase width by 4x, also need

to double number of comparators

– Assuming constant current density, this means each

additional bit costs 8x in power!

• Dynamic offset cancellation (autozeroing, etc.)

– Tends to cost speed

• More commonly used

– Offset averaging

– Offset calibration

– Incorporation of redundant comparators

B. Murmann 18EE315B - Chapter 7

Offset Averaging (1)

[Kattmann & Barrow, ISSCC 1991]

R2/R1=1.3

B. Murmann 19EE315B - Chapter 7

Offset Averaging (2)

[Bult & Buchwald, JSSC 12/1997]

[Scholtens & Vertregt, JSSC 12/2002]

σDNL/σ

B. Murmann 20EE315B - Chapter 7

6-bit Flash ADC with Averaging

[Choi & Abidi, JSSC 12/2001]

Averaging networks designed to

reduce input referred offset by 3x

B. Murmann 21EE315B - Chapter 7

Offset Calibration Using Global DAC

S. Sutardja, "360 Mb/s (400 MHz) 1.1 W 0.35μm CMOS PRML read channels with 6

burst 8-20× over-sampling digital servo," ISSCC Dig. Techn. Papers, Feb. 1999.

B. Murmann 22

Calibration Using one DAC per Comparator

CAL

Vlo Vhi

DcalnCAL

Vlo Vhi

Dcalp

MUX/Encoder

124888

VinpVrefn

φ

Vinn Vrefp

φ φ

Voutn Voutp

[M. El-Chammas, VLSI 2010]

(Reset switches not shown)

EE315B - Chapter 7

B. Murmann 23

Offset Calibration at Start-Up

• Output oscillates between one

and zero as the input-referred

offset converges to zero

• Start-up calibration is

reasonably stable at flash

ADC resolutions

• The correction circuit shown

on the previous slide has a

relatively low temperature

dependence

EE315B - Chapter 7

In-

Ref+

Ref-

In+

Out

Ou

tIn

pu

t-re

ferr

ed

Off

set

AVG

Control Bits

Offset = 0

INC/

DEC

t

t

B. Murmann 24

Tuning Range Issue (1)

• 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 Vtmismatch)

in the latest technology are used

• A clever workaround is to utilize the error correction capability of

the Wallace tree encoder (ones counter)

EE315B - Chapter 7

B. Murmann 25

Tuning Range Issue (2)

0

1

2

3

Vref0

Vref1

Vref2

Vref3

+

+

+

+

-

-

-

-

Vref3

(eff)

Vref2

(eff)

Vref1

(eff)

Vref0

(eff)

[Verma, ISSCC 2013]

EE315B - Chapter 7

B. Murmann 26

Ones Counting is Equivalent to Reordering

2

0

1

3

Vref0

Vref1

Vref2

Vref3

+

+

+

+

-

-

-

-

Vref3

(eff)

Vref2

(eff)

Vref1

(eff)

Vref0

(eff)

[Verma, ISSCC 2013]

Reduced tuning range

EE315B - Chapter 7

B. Murmann 27

Comparator Redundancy (1)

• Interesting idea: Do not worry about offsets at all, just provide

enough levels that properly add up on average

EE315B - Chapter 7

90mW 900mW

Paulus et al., "A 4GS/s 6b flash ADC in 0.13um CMOS," VLSI Circuits Symposium, 2004

Wallace Encoder

B. Murmann 28EE315B - Chapter 7

Comparator Redundancy (2)

• Another idea: Build a "sea of imprecise comparators", then determine which ones to use…

C. Donovan, M. P Flynn, "A 'digital' 6-bit ADC in 0.25-μm CMOS," IEEE J.

Solid-State Circuits, pp. 432-437, March 2002.

B. Murmann 29

Differential Pair Redundancy

[Chen, VLSI 2013]

• Idea: Have multiple input pairs and use the one you like

EE315B - Chapter 7

B. Murmann 30

Details

EE315B - Chapter 7

B. Murmann 31

Performance Comparison

[Chen, VLSI 2013]

EE315B - Chapter 7

B. Murmann 32EE315B - Chapter 7

Calibration Using Reference String

[Park & Flynn, "A 3.5 GS/s 5-b Flash ADC in 90 nm CMOS," CICC 2006]

B. Murmann 33

Details

EE315B - Chapter 7

[Park & Flynn, "A 3.5 GS/s 5-b Flash ADC in 90 nm CMOS," CICC 2006]

B. Murmann 34EE315B - Chapter 7

Measured Results

[Park & Flynn, "A 3.5 GS/s 5-b Flash ADC in 90 nm CMOS," CICC 2006]

B. Murmann 35EE315B - Chapter 7

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

• 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

B. Murmann 36EE315B - Chapter 7

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

B. Murmann 37EE315B - Chapter 7

Concept

[van de Plassche, p.118]

B. Murmann 38EE315B - Chapter 7

Differential Implementation

BA

BAVV0

2

VV−=⇔=

+

B. Murmann 39EE315B - Chapter 7

Higher Order Interpolation

• Resistors produce additional levels

• Define interpolation factor as ratio ratio of latches and preamps

• The example shown on this slide has M=8

[H. Kimura et al, “A 10-b 300-MHz

Interpolated-Parallel A/D Converter,”

IEEE J. of Solid-State Circuits, pp.

438-446, April 1993.

B. Murmann 40EE315B - Chapter 7

Potential Issues with Interpolation

• Must ensure that "linear range" of adjacent preamplifiers

overlaps

– Sets upper bound on preamp gain

• Resistor string reduces signal path bandwidth

– Sets upper bound on interpolation factor, typically around 4

• For interpolation factors >2, amplifier nonlinearity can limit the

precision of zero crossings

– See e.g. Van de Plassche, p.121

B. Murmann 41EE315B - Chapter 7

Folding

• Main idea: Re-use comparator several times across

the full scale range

LSB

ADC

MSB

ADC

Folding Circuit

VIN

Digital

Output

B. Murmann 42

Simplest Variant

EE315B - Chapter 7

[Verbruggen, JSSC, March 2009]

Folding circuit

B. Murmann 43EE315B - Chapter 7

Creating Multiple Folds

• Parameter K sets output common mode

B. Murmann 44EE315B - Chapter 7

Folder Output

0 0.5 1 1.5 2 2.5 3 3.5 4-0.5

0

0.5

Fold

er

Outp

ut

0 0.5 1 1.5 2 2.5 3 3.5 4-0.1

-0.05

0

0.05

0.1

Err

or

Vin / ∆

Ideal Folder

CMOS Folder

Accurate only at

zero-crossings

Lowdown

Most folding ADCs

do not actually use

the folds, but only the

zero-crossings!

B. Murmann 45EE315B - Chapter 7

Multiple Folds Using Only Zero Crossings

• Way too complex, need

one folder per decision

in the fine ADC

• Idea

– Use interpolation to

eliminate some of

the folders

B. Murmann 46EE315B - Chapter 7

Interpolation

• Same idea as discussed previously

B. Murmann 47EE315B - Chapter 7

Complete Folding & Interpolating ADC

• 3-bit coarse ADC

• 3-bit fine ADC

– 2 folders with 4x

interpolation

8 levels

• We have therefore

built a 6-bit ADC

with only 16

comparators

(instead of 63)

B. Murmann 48

8-bit, 70 MS/s Folding and Interpolating ADC

EE315B - Chapter 7

[B. Nauta and G. Venes, JSSC. Dec. 1985]

B. Murmann 49EE315B - Chapter 7

8-bit, 1.6 GS/s Folding and Interpolating ADC

[Taft et al., JSSC 12/2004]

B. Murmann 50

8b, 10GS/s Folding and Interpolating ADC

[Landolt, PRIME 2012]

For Rohde & Schwarz Scope

0.25um SiGe BiCMOS

9 Watts

EE315B - Chapter 7

B. Murmann 51EE315B - Chapter 7

Performance

B. Murmann 52

Subranging

EE315B - Chapter 7

4-bit Flash ADC 2+2-bit Subranging ADC

B. Murmann 53

8-bit, 1 GS/s Subranging ADC

EE315B - Chapter 7

[Chung, VLSI 2011]

Coarse ADC selects tap range for fine ADC

B. Murmann 54

Summary ― Flash ADCs & Extensions

• Today, flash ADC design boils down to an effective offset

management approach

– Calibration and/or redundancy

• Extensions such as averaging, folding, interpolation and

subranging can be used to alleviate the tradeoffs

– But these techniques haven’t been popular in recent years

– The reason may be the strong competition from pipelined

and time interleaved architectures

– More later…

EE315B - Chapter 7

B. Murmann 55EE315B - Chapter 7

Selected References (1)

Flash ADCs, Offset Averaging

1. K. Kattmann and J. Barrow, "A Technique for Reducing Differential Non-Linearity

Errors in Flash A/D Converters," ISSCC Digest of Technical Papers, pp. 170-171,

Feb. 1991.

2. K. Bult and A. Buchwald, "An embedded 240-mW 10-b 50-MS/s CMOS ADC in 1-

mm2," IEEE J. of Solid-State Ckts., pp. 1887-1895, Dec. 1997.

3. 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.

4. C. S. Scholtens and M. Vertregt, “A 6-b 1.6-Gsample/s Flash ADC in 0.18-µm CMOS

Using Averaging Termination,” IEEE J. of Solid-State Ckts., vol. 37, pp. 1599-1609,

Dec. 2002.

5. X. Jiang, M-C. F. Chang, "A 1-GHz signal bandwidth 6-bit CMOS ADC with power-

efficient averaging," IEEE J. of Solid-State Circuits, pp. 532- 535, Feb. 2005.

Folding and Interpolating A/D Converters

6. R.C. Taft et al., "A 1.8-V 1.6-GSample/s 8-b self-calibrating folding ADC with 7.26

ENOB at Nyquist frequency," IEEE J. Solid-State Ckts., pp. 2107-2115 Dec. 2004.

7. B. Nauta and A. G. W. Venes, “A 70-MS/s 110-mW 8-b CMOS Folding and

Interpolating A/D Converter,” IEEE J. of Solid-State Circuits, pp. 1302-1308, Dec.

1995.

B. Murmann 56EE315B - Chapter 7

Selected References (2)

8. M. P. Flynn and B. Sheahan, “A 400-MSample/s, 6-b CMOS Folding and Interpolating ADC,” IEEE J. of Solid-State Circuits, pp. 1932-1938, Dec. 1998.

9. H. Pan, M. Segami, M. Choi, J. Cao, F. Hatori and A. Abidi, “A 3.3V, 12b, 50MSample/s A/D converter in 0.6mm CMOS with over 80dB SFDR,” ISSCC Digest of Technical Papers, pp. 40-41, Feb. 2000.

10. M.-J. Choe, B.-S. Song and K. Bacrania, “A 13b 40MSample/s CMOS pipelined folding ADC with background offset trimming,” ISSCC Digest of Technical Papers, pp. 36-37, Feb. 2000.

11. G. Hoogzaad and R. Roovers, “A 65-mW, 10-bit, 40-Msample/s BiCMOS Nyquist ADC in 0.8 mm2,” IEEE J. Solid-State Circuits, pp. 1796-1802, Dec. 1999.

12. K. Nagaraj, F. Chen, T. Le and T. R. Viswanathan, “Efficient 6-bit A/D converter using a 1-bit folding front end,” IEEE J. Solid-State Circuits, pp. 1056-1062, Aug. 1999.

13. M.-J. Choe and B.-S. Song, “An 8b 100MSample/s CMOS pipelined folding ADC,” VLSI Symposium Digest of Technical Papers, pp. 81-82, Jun. 1999.

14. K. Bult and A. Buchwald, “An embedded 240-mW 10-b 50-MS/s CMOS ADC in 1 mm2,” IEEE J. Solid-State Circuits, vol. 32, pp. 1887-1895, Dec. 1997.

15. P. Vorenkamp and R. Roovers, “A 12-b, 60-MSample/s cascaded folding and interpolating ADC,” IEEE J. Solid-State Circuits, vol. 32, pp. 1876-1886, Dec. 1997.

16. A. G. W. Venes and R. J. van de Plassche, “An 80-MHz, 8-b CMOS folding A/D converter with distributed track-and-hold preprocessing,” IEEE J. Solid-State Circuits, vol. 31, pp. 1846-1853, Dec. 1996.

B. Murmann 57EE315B - Chapter 7

Selected References (3)

17. M. P. Flynn and D. J. Allstot, “CMOS folding A/D converters with current-mode

interpolation,” IEEE J. Solid-State Circuits, vol. 31, pp. 1248-1257, Dec. 1996.

18. R. Roovers and M. S. J. Steyaert, “A 175 Ms/s, 6 b, 160 mW, 3.3 V CMOS A/D

converter,” IEEE J. Solid-State Circuits, vol. 31, pp. 938-944, Jul. 1996.

19. W. T. Colleran and A. A. Abidi, “A 10-b, 75-MHz two-stage pipelined bipolar A/D

converter,” IEEE J. Solid-State Circuits, vol. 28, pp. 1187-1199, Dec. 1993.

20. J. van Valburg and R. J. van de Plassche, “An 8-b 650-MHz folding ADC,” IEEE J.

Solid-State Circuits, vol. 27, pp. 1662-1666, Dec. 1992.

21. R. J. van de Plassche and P. Baltus, “An 8-bit 100-MHz full-Nyquist analog-to-digital

converter,” IEEE J. Solid-State Circuits, vol. 23, pp. 1334-1344, Dec. 1988.

22. R. E. J. Van de Grift, I. W. J. M. Rutten and M. van der Veen, “An 8-bit video ADC

incorporating folding and interpolation techniques,” IEEE J. Solid-State Circuits, vol.

SC-22, pp. 944-953, Dec. 1987.

23. R. E. J. van de Grift and R. J. van de Plassche, “A monolithic 8-bit video A/D

converter,” IEEE J. Solid-State Circuits, vol. SC-19, pp. 374-378, Jun. 1984.

24. R.C. Taft, et al., "A 1.8V 1.0GS/s 10b self-calibrating unified-folding-interpolating

ADC with 9.1 ENOB at Nyquist frequency," ISSCC Digest of Technical Papers,

pp.78-79, 79a, Feb. 2009.

B. Murmann 1EE315B - Chapter 8

SAR ADCs

Boris Murmann

Stanford University

[email protected]

Copyright © 2013 by Boris Murmann

B. Murmann 2

Similarity Between Non-Flash ADC

Architectures

• Most ADC architectures (other than flash) are based on minimizing

the error between input and a D/A signal approximation

– SAR ADC uses comparator to sense ε

– Sigma-delta ADC minimizes ε via integration and feedback

– Pipeline uses distributed DAC

D/A

MinimizeΣ

Vinε

Dout

-

wjwang
高亮度
wjwang
高亮度
wjwang
高亮度

B. Murmann 3EE315B - Chapter 8

Successive Approximation Register ADC

• Binary search over DAC output

• High accuracy achievable (16+ Bits)

– Relies on highly accurate comparator

• Moderate speed (1+ MHz)

B. Murmann 4EE315B - Chapter 8

High Performance Example

B. Murmann 5EE315B - Chapter 8

Low Power Example

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.

B. Murmann 6EE315B - Chapter 8

Classical Implementation

• See e.g. [McCreary, JSSC 12/1975]

1 1A BC C C= = 2 2C C= 3 4C C=1

2B

BC C−

=

B

B

Bottom plate sampling

B. Murmann 7EE315B - Chapter 8

Sampling Phase (5-bit Example)

• Total charge at node Vx

after opening Sx

32in in totalQ V C V C= − ⋅ = − ⋅

B. Murmann 8EE315B - Chapter 8

Bit5 Test (MSB)

• Vx<0 ⇒ V

in>0.5V

ref⇒ Bit5=1

• Vx>0 ⇒ V

in<0.5V

ref⇒ Bit5=0

( ) ( )16 16in total x ref x pQ V C V V C V C C= − ⋅ = − ⋅ + ⋅ +

1

2

totalx ref in

total p

CV V V

C C

∴ = − ⋅

+

B. Murmann 9EE315B - Chapter 8

Bit4 Test (Assuming Bit5=0)

• Vx<0 ⇒ V

in>0.25V

ref⇒ Bit4=1

• Vx>0 ⇒ V

in<0.25V

ref⇒ Bit4=0

( ) ( )8 24in total x ref x pQ V C V V C V C C= − ⋅ = − ⋅ + ⋅ +

1

4

totalx ref in

total p

CV V V

C C

∴ = − ⋅

+

B. Murmann 10EE315B - Chapter 8

Challenges at High Resolution

• 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?

B. Murmann 11

Recent Publication Trend

EE315B - Chapter 8

1996 1998 2000 2002 2004 2006 2008 2010 2012 20140

2

4

6

8

10

12

Year

Count

SAR ADC Papers at ISSCC and VLSI Symposium

B. Murmann 12

Recent Innovations in SAR ADCs

• Mostly focused on low-to-moderate resolution!

• Use of extremely small unit capacitors (<1fF)

– E.g. [Shikata, VLSI 2011]

• Energy efficient switching techniques

– E.g. [Liu, VLSI 2010]

• Asynchronous operation

– E.g. [Chen, CICC 2006]

• Incomplete DAC settling enabled by redundancy

– E.g. [Liu, VLSI 2010] 100 MS/s, ~ 9.5 ENOB

• SAR ADC pipelining

– E.g. [Lee, VLSI 2010] 50MS/s, ~10.5 ENOB

• Massive time interleaving

– E.g. [Doris, ISSCC 2011] 2.6 GS/s, ~ 8 ENOB

EE315B - Chapter 8

B. Murmann 13

Small Metal Fringe Capacitors

• Want to minimize unit caps as much as possible for low-to-

moderate resolution SAR ADCs

13

[Shikata, VLSI 2011]

0.5fF unit capacitors

B. Murmann 14

Asynchronous Timing

• Key insight: At most one of the SAR decisions can be close to

metastability; all others will be very fast

• Asynchronous timing exploits this by allocating the most time to

the “hardest” decision

[Chen & Brodersen, JSSC 12/2006]

EE315B - Chapter 8

B. Murmann 15

Energy Efficient Switching (1)

[Liu, JSSC 4/2010]

• Conventional switching scheme is

wasteful in terms of energy

[Liu, JSSC 4/2010]

EE315B - Chapter 8

B. Murmann 16

Energy Efficient Switching (2)

• Total of 81% switching energy reduction

• Caveat: Need comparator with good common-rejection

Top plate sampling

First decision “free”

[Liu, JSSC 4/2010]

EE315B - Chapter 8

B. Murmann 17

Constant Common Mode CDAC

[Kull, ISSCC 2013]

EE315B - Chapter 8

B. Murmann 18

Energy Efficient Switching (3)

• Key insight: Do not have to switch entire MSB cap for first DAC transition

• Total energy savings of 37%

[Ginsburg, ISCAS 2005]

MSB cap split into two

EE315B - Chapter 8

B. Murmann 19

Resistive DAC

• Multi-bit/cycle architecture yielding 8 bits at 400 MS/s

[Wei, ISSCC 2011]

EE315B - Chapter 8

B. Murmann 20

DAC Settling Errors

1

Σ

b2

ΣInput

-1 ≤ x ≤ +1

Register

bk

b0 b1

- -

Output x

2-1

2-1 2-21

Σ

ε0(t) ttdecision

(conceptual model)

EE315B - Chapter 8

B. Murmann 21

0

1

-1

k=0 2 3

x

x

1

Error in First Decision

EE315B - Chapter 8

B. Murmann 22

Redundancy (Radix < 2)

1

Σ Σ

b3

Σ

x

Register

bk

b0 b1 b2

- - -

Output x

β-1

β-2

β-1

β-2

β-3

1

Σ

< >

EE315B - Chapter 8

B. Murmann 23

0

1

-1

k=0 2 3

xx

1 4

Error in First Decision (β = 22/3)

Error ≤ ∆/2

Note that

EE315B - Chapter 8

B. Murmann 24

0

1

-1

k=0 2 3

x

1 4

Tolerable

Error

Tolerable Error (β = 22/3)

∆/2

EE315B - Chapter 8

B. Murmann 25

First Hardware Implementation

Z. Boyacigiller, B. Weir, and P. Bradshaw, “An error-correcting 14b/20µs CMOS A/D

converter,” in ISSCC Dig. Techn. Papers, Feb. 1981, pp. 62–63.

EE315B - Chapter 8

B. Murmann 26

Other Ways to Introduce Redundancy

• Radix = 2, but extra comparators

– T. C. Verster, “A Method to Increase the Accuracy of Fast-

Serial-Parallel Analog-to-Digital Converters,” IEEE Trans. on

Electronic Computers, vol. EC-13, no. 4, pp. 471–473, Aug.

1964.

• Radix = 2, but extra cycles

– V. Giannini et al., “An 820μW 9b 40MS/s Noise-Tolerant

Dynamic-SAR ADC in 90nm Digital CMOS,” in ISSCC Dig.

Techn. Papers, Feb. 2008, pp. 238–239.

– C.-C. Liu et al., “A 10b 100MS/s 1.13mW SAR ADC with

binary-scaled error compensation,” in ISSCC Dig. Techn.

Papers, 2010, pp. 386–387.

EE315B - Chapter 8

B. Murmann 27

SAR ADC with Redundant Comparator

1

Σ

b2

Σ

x

Registerb0 b1

- -

x

2-1

2-1

2-2

1

Σ

Σ

Σ

-ok

+ok

= +. > + −. ≤ −

= < −

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. 1–4.

EE315B - Chapter 8

B. Murmann 28

Normal Operation

0

1

-1

k=0 2 3

xx

1

+o0

-o0

+o1

-o1

EE315B - Chapter 8

B. Murmann 29

Error in First Decision

0

1

-1

k=0 2 3

xx

1

+o0

-o0

+o1

-o1

EE315B - Chapter 8

B. Murmann 30

SAR ADC with Redundant Step

V. Giannini et al., “An 820μW 9b 40MS/s Noise-Tolerant Dynamic-SAR ADC in 90nm Digital

CMOS,” in ISSCC Dig. Techn. Papers, Feb. 2008, pp. 238–239.

1

ΣΣx

Register

bk

b0 b1

- -

x

2-1

2-1

1

Σ

Σ

b2

-

2-2

2-2 c

b3

= ≠

+− = = +. = = −.

EE315B - Chapter 8

B. Murmann 31

0

1

-1

k=0 2 3

xx

1 4

Normal Operation

Characteristic

crossing

EE315B - Chapter 8

B. Murmann 32

0

1

-1

k=0 2 3

xx

1 4

Error in First Decision

EE315B - Chapter 8

B. Murmann 33

Redundant Step – Alternate Method

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. 386–387.

1

ΣΣx

Register

bk

b0 b1

- -

x

2-1

2-1

1

Σ

Σ

b1R

-

2-1

2-1

b2

2-2

EE315B - Chapter 8

B. Murmann 34

Extra Levels

• The addition of the redundant step provides extra levels that help

counter errors in previous decisions

b2

+0.125

-0.125

b1R

+ b2

+0.25+0.125 = 0.375

+0.25-0.125 = +0.125

-0.25+0.125 = -0.125

-0.25-0.125 = -0.375

EE315B - Chapter 8

B. Murmann 35

0

1

-1

k=0 2 2R

xx

1 3

Normal Operation

EE315B - Chapter 8

B. Murmann 36

0

1

-1

k=0 2 2R

xx

1 3

Error in First Decision

EE315B - Chapter 8

B. Murmann 37

Potential Speed Benefit of Using

Redundancy

• Benefit is clearly significant at high resolution

– However, one must carefully evaluate if redundancy helps

significantly at low resolutions (e.g. 6-8 bits)

T. Ogawa et al., IEICE Trans. on Fundamentals of

Electronics, Communications and Computer Sciences,

Feb. 2010.

EE315B - Chapter 8

B. Murmann 38

Metastability in an Asynchronous SAR

[Chen, JSSC 12/2006]

Worst case input is near ±1/6 VFS

EE315B - Chapter 8

B. Murmann 39

Example: 8-bit SAR (1)

• There are seven “easy” decisions, and one “hard” decision

• It can be shown that the sum of the easy decisions will take anywhere between 25-33τ, depending on the input

• For the hard decision, the input is within ±1LSB, and we can assume that it is uniformly distributed

PDF

+LSB-LSB

±vod0,min

=,

= ln

,

= ln

⋅ ≅ ln

2

EE315B - Chapter 8

B. Murmann 40

Example: 8-bit SAR (2)

Number of time constants to be allocated for the hard

decision, given a desired metastability rate (B=8)

10-20

10-15

10-10

10-5

10

20

30

40

50

60

Pmeta

t hard/τ

EE315B - Chapter 8

B. Murmann 41

Example: 8-bit SAR (3)

• Continue using the following assumptions (design and technology

dependent)

– Total cycle time Ts = 1ns (1GS/s)

– Sampling window = Ts/8

– Sum of DAC settling times = Ts/3

– Sum of logic delays = Ts/6

• The time available for regeneration is treg,tot = (3/8)Ts = 375ps

• The metastability rate estimate as a function of τ is

P ≅ 2e

= 2e,

≅ 2e,( …)

EE315B - Chapter 8

B. Murmann 42

Example: 8-bit SAR (4)

• Incredibly steep tradeoff fast comparator is key

4 5 6 7 8 9

10-20

10-15

10-10

10-5

100

Pmeta

τ [ps]

teasy

=33τ

teasy

=25τ

EE315B - Chapter 8

B. Murmann 43

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

[Kull, ISSCC 2013]

EE315B - Chapter 8

B. Murmann 44

Aside: Counter/Single-Slope ADC

• One of the oldest ADC architectures

• Simply measure time it takes for a ramp to reach input voltage

• Ramp can be generated using a counter + DAC or current

source+capacitor

• Slow, because counter range increases exponentially with bit-

resolution

[Harpe, ASSCC 2010]

EE315B - Chapter 8

B. Murmann 1

Pipeline ADCs

Boris Murmann

Stanford University

[email protected]

Copyright © 2013 by Boris Murmann

EE315B - Chapter 9

B. Murmann 2

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

EE315B - Chapter 9

B. Murmann 3

Pipeline ADCs – An Old Idea (1956)

B.D. Smith, “An Unusual Electronic Analog-Digital Conversion Method,” IRE Transactions on

Instrumentation, vol. PGI-5, pp. 155-160, June 1956.

EE315B - Chapter 9

B. Murmann 4

Today’s Pipeline ADC Performance Range

Data: http://www.stanford.edu/~murmann/adcsurvey.html

20 30 40 50 60 70 80 90 100 110 12010

4

106

108

1010

SNDRhf

[dB]

f in,hf [

Hz]

Flash

Folding

Two-Step

Pipeline

∆Σ

SAR

Other

1000fsrms

Jitter

100fsrms

Jitter

EE315B - Chapter 9

B. Murmann 5

SAR ADC

1

Σ Σ

b3

Σ

x

Register

bk

b0 b1 b2

- - -

Output x

β-1

β-2

β-1

β-2

β-3

1

Σ

EE315B - Chapter 9

B. Murmann 6

SAR Pipeline (1)

Σ Σ

b3

Σ

x

Register

bk

b0 b1 b2

- - -

Output x

β-1

β-2

β-31

Σ

β-2ββ

EE315B - Chapter 9

B. Murmann 7

SAR Pipeline (2)

Σ Σ

b3

Σ

x

Register

bk

b0 b1 b2

- - -

Output x

β-1

β-2

β-31

Σ

ββ

EE315B - Chapter 9

B. Murmann 8

SAR Pipeline (3)

Σ Σ

b3

Σ

x

b0 b1 b2

- - -

Output x

β-1

β-2

β-3

1

Σ

ββ

EE315B - Chapter 9

B. Murmann 9

Observation

• Pipeline and SAR ADCs are mathematically equivalent

(considering ideal components)

• Therefore, not surprisingly, all variants of redundancy can also

be incorporated in a pipeline ADC

– It is just less obvious, and usually explained quite differently

– More later…

EE315B - Chapter 9

B. Murmann 10

General Pipeline ADC Block Diagram

ADC DAC

-

D1

Vres1

Vin1

Stage 1 Stage n-1 Stage nSHA

Vin

G1

Align & Combine BitsD

out

G1

Each stage contains a T/H

(not shown)

EE315B - Chapter 9

B. Murmann 11

Concurrent Stage Operation

Stage 1 Stage 2 Stage 3SHA

V

Align & Combine BitsD

ACQUIRE

BUFFER

ACQUIRE

CONVERTACQUIRE

CONVERT

ACQUIRE

CONVERT

CLK

• Stages operate on the input signal like a shift register

• New output data every clock cycle, but each stage introduces ½ clock cycle latency

EE315B - Chapter 9

B. Murmann 12

Pipelining – An Old Idea

EE315B - Chapter 9

B. Murmann 13

Data Alignment

• Digital shift register aligns sub-conversion results in time

• Digital output is taken as weighted sum of stage bits

EE315B - Chapter 9

B. Murmann 14

Latency

[Analog Devices, AD9226 Data Sheet]

EE315B - Chapter 9

B. Murmann 15

Pipeline ADC Characteristics

• Number of components grows linearly with resolution

– Unlike flash ADC, where components ~ 2B

• Pipeline ADC trades latency for conversion speed

– Throughput limited by speed of one stage

• Enables high-speed operation

– Latency can be an issue in some applications

• E.g. in feedback control loops

• Pipelining only possible with good analog "memory elements"

– Calls for implementation in CMOS using switched-capacitor

circuits

EE315B - Chapter 9

B. Murmann 16

Stage Analysis

• Ignore timing/clock delays for simplicity

[ ]res in dacV G V V= ⋅ −

inD Q(V )=

EE315B - Chapter 9

B. Murmann 17

Unity Gain Quantizer Model

BLSB

2

2

2

1

2

1±=±

EE315B - Chapter 9

B. Murmann 18

Stage Model with Ideal DAC

• Residue of pipeline stage (Vres) is equal to (-gain) times sub-

ADC quantization error

in qD V= + εres qV G= − ⋅ ε

EE315B - Chapter 9

B. Murmann 19

"Residue Plot" (2-bit Sub-ADC)

-3/4, -1/4, 1/4, 3/4

Sub-ADC

Decision

Levels

EE315B - Chapter 9

B. Murmann 20

Pipeline Decomposition

• Often convenient to look at pipeline as single stage plus

backend ADC

EE315B - Chapter 9

B. Murmann 21

Resulting Model

1qb

out in qd d

GD V

G G

ε = + ε − +

resin

1

bout

q

qb

With Gd=G

EE315B - Chapter 9

B. Murmann 22

Canonical Extension

• 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]

2 1 11 21 2 1

1 1 2 1

1 1

1 1 1q q(n ) ( n ) qn

out in q n nd d d d(n )

dj dj

j j

GG GD V ...

G G G GG G

− −

− −

= =

ε ε ε = + ε − + − + + − + ∏ ∏

EE315B - Chapter 9

B. Murmann 23

General Result – Ideal Pipeline ADC

• With ideal DACs and ideal digital weights (Gdj=Gj)

1

211

1

nqn

out in ADC n jnj

jj

D V B B log G

G

=

=

ε

= + ⇒ = +∑∏

• The only error in Dout is that of last quantizer, divided by

aggregate gain

• Aggregate ADC resolution is independent of sub-ADC

resolutions in stage 1...n-1 (!)

• Makes sense to define "effective" resolution of jth stage as

Rj=log2(Gj)

EE315B - Chapter 9

B. Murmann 24

Questions

• How to pick stage gain G for a given sub-ADC resolution?

• Impact and compensation of nonidealities?

– Sub-ADC errors

– Amplifier offset

– Amplifier gain error

– Sub-DAC error

• Begin to explore these questions using a simple example

– First stage with 2-bit sub-ADC, followed by 2-bit backend

EE315B - Chapter 9

B. Murmann 25

Upper Bound for Stage Gain

0 +1

Vin

-1

Vres

Σ

-

D

Vres

Vin

G1 G

Σ

εq

-1/2B … 1/2B

G/2B

-G/2B

εqb

Σ

εqb

Db

+1

-1

22G/2B

qbout inD V

G

ε

= + Grows out of ±½ LSB bounds for G>2B

EE315B - Chapter 9

B. Murmann 26

Issue with G=2B

in

res

resin

1

q

B B

qb

qb

b

Overrange!

• Any error in sub-ADC decision levels will overload backend ADC and thereby deteriorate ADC transfer function

EE315B - Chapter 9

B. Murmann 27

Idea #1: G slightly less than 2B

• Effective stage resolution can be non-integer (R=log2G)

– E.g. R = log23.2 = 1.68 bits

• See e.g. [Karanicolas 1993]

EE315B - Chapter 9

B. Murmann 28

Idea #2: G < 2B, but Power of Two

• Effective stage resolution is an integer

– E.g. R = log22 = 1 = B-1

– Digital hardware requires only a few adders, no need to

implement fractional weights (see appendix)

• See e.g. [Mehr 2000]

EE315B - Chapter 9

B. Murmann 29

Idea #3: G=2B, Extended Backend Range

• No redundancy in stage with errors

• Extra decision levels in succeeding stage used to bring

residue "back into the box"

• See e.g. [Opris 1998]

EE315B - Chapter 9

B. Murmann 30

Variant of Idea #2: "1.5-bit stage"

• Sub-ADC decision levels placed to minimize comparator count

• Can accommodate errors up to ±¼

• B = log2(2+1) = 1.589 (sub-ADC resolution)

• R = log22 = 1 (effective stage resolution)

• See e.g. [Lewis 1992]

EE315B - Chapter 9

B. Murmann 31

Summary on Sub-ADC Redundancy

• We can tolerate sub-ADC errors as long as

– The residue stays "inside the box", or

– Another stage downstream returns the residue "into the box"

before it reaches last quantizer

• This result applies to any stage in an n-stage pipeline

– Can always decompose pipeline into single stage + backend

ADC

• In literature, sub-ADC redundancy schemes are often called

"digital correction" – a misnomer in my opinion

• There is no explicit error correction!

– Sub-ADC errors are absorbed in the same way as their

inherent quantization error

• As long as there is no overranging…

EE315B - Chapter 9

B. Murmann 32

Amplifier Offset

• Amplifier offset can be referred toward stage input and results in

– Global offset

• Usually no problem, unless "absolute ADC accuracy" is required

– Sub-ADC offset

• Easily accommodated through redundancy

Push

EE315B - Chapter 9

B. Murmann 33

Gain Errors

• Want to make Gd1 = G1+∆

11 1

1

1

1qn

out in q nd

dj

j

GD V ...

GG

=

ε + ∆= + ε − + +

EE315B - Chapter 9

B. Murmann 34

Digital Gain Calibration (1)

• Error in analog gain is not a problem as long as "digital gain term" is adjusted appropriately

• 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 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

EE315B - Chapter 9

B. Murmann 35

Digital Gain Calibration (2)

[ ]res in dac

b res qb

V G V V

D V

= ⋅ −

= + ε

EE315B - Chapter 9

B. Murmann 36

Digital Gain Calibration (3)

• Can minimize impact of quantization error using

– Averaging (thermal noise dither)

– Extra backend resolution

Step1: [ ]

[ ]

1 1

2 2

0 25

0 25

( ) ( )inb qb

( ) ( )inb qb

D G V .

D G V .

= ⋅ + + ε

= ⋅ − + εStep2:

1 2 1 20 5

( ) ( ) ( ) ( )b b qb qbD D . G− = ⋅ + ε − ε

EE315B - Chapter 9

B. Murmann 37

DAC Calibration

• Essentially same concept as gain calibration

– Step through DAC codes and use backend to measure errors

• Store coefficients for each DAC transition in a look-up table

EE315B - Chapter 9

B. Murmann 38

Recursive Stage Calibration

• First few stages have most stringent accuracy requirements

– Errors of later stages are attenuated by aggregate gain

• Commonly used algorithm [Karanicolas 1993]

– Take ADC offline

– Measure least significant stage that needs calibration first

– Move to next significant stage and continue toward stage 1

EE315B - Chapter 9

B. Murmann 39

Calibration Hardware Example

[Chuang 2002]

EE315B - Chapter 9

B. Murmann 40

Alternative Schemes

• Other foreground calibration schemes

– Calibrate ADC starting from first stage [Singer 2000]

– Connect stages in a circular loop [Soenen 1995]

• 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

EE315B - Chapter 9

B. Murmann 41

Nonlinearity Compensation with

Background Calibration

[Murmann 2003]

EE315B - Chapter 9

B. Murmann 42

Combining the Bits (1)

• Example1: Three 2-bit stages, no redundancy

1 2 3

1 1

4 16outD D D D= + +

EE315B - Chapter 9

B. Murmann 43

Combining the Bits (2)

• Only bit shifts

• No arithmetic circuits needed

D1

XX

D2

XX

D3

XX

------------

Dout

DDDDDD

EE315B - Chapter 9

B. Murmann 44

Combining the Bits (3)

Stage 2Vin Stage 3Stage 1

Dout[5:0]

B1=3

R1=2

B2=3

R2=2

B3=2

“8 Wires“

“6 Wires“

???

• Example2: Three 2-bit stages, one bit redundancy in stages 1

and 2 (6-bit aggregate ADC resolution)

EE315B - Chapter 9

B. Murmann 45

Combining the Bits (4)

• Bits overlap

• Need adders (Still, no

good reason for calling

this "digital correction"...)

D1

XXX

D2

XXX

D3

XX

------------

Dout

DDDDDD

1 2 3

1 1

4 16outD D D D= + +

EE315B - Chapter 9

B. Murmann 46

Combining the Bits (5)

• For fractional weights (e.g. radix <2), there is no need to

implement complex multipliers

• Can still use simple bit shifts; push actual multiplication into low-

resolution output

– E.g. a 1x10 bit multiplication needs only one adder…

• See e.g. [Karanicolas 1993]

EE315B - Chapter 9

B. Murmann 47

Outline

• Background

– History and state-of the art performance

– General idea of multi-step A/D conversion

• 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

EE315B - Chapter 9

B. Murmann 48

Stage Implementation

Flash ADC "MDAC"

Switched-

Capacitor

Circuit

EE315B - Chapter 9

B. Murmann 49

Generic Circuit

( )

( )

( )

in s

res f refp s refn s

ss sres in refp refn

f f f

in dac

1: Q V kC

2 : Q V C V mC V k m C

k m CkC mCV V V V

C C C

G V V

φ = ⋅

φ = ⋅ + ⋅ + ⋅ −

−∴− = − +

= ⋅ −

Q

EE315B - Chapter 9

B. Murmann 50

Endless List of Design Parameters

• Stage resolution, stage scaling factor

• Stage redundancy

• Thermal noise/quantization noise ratio

• OTA architecture

– OTA sharing?

• Switch topologies

• Comparator architecture

• Front-end SHA vs. SHA-less design

• Calibration approach (if needed)

• Time interleaving?

• Technology and technology options (e.g. capacitors)

A very complex optimization problem!

EE315B - Chapter 9

B. Murmann 51

Thermal Noise Considerations

• Total input referred noise

– Thermal noise + quantization noise

– Costly to make thermal noise smaller than quantization noise

• Example: VFS=1V, 10-bit ADC

– Nquant=LSB2/12=(1V/210)2/12=(280µVrms)2

– Design for total input referred thermal noise ~280µVrms or

larger, if SNR target allows

• Total input referred thermal noise is the sum of noise in all

stages

– How should we distribute the total thermal noise budget

among the stages?

– Let's look at an example…

EE315B - Chapter 9

B. Murmann 52

Stage Scaling (1)

• Example: Pipeline using 1-bit (effective) stages (G=2)

• Total input referred noise power

tot

1 2 3

1 1 1N kT ...

C 4C 16C

∝ + + +

EE315B - Chapter 9

B. Murmann 53

Stage Scaling (2)

C1/2

C1

Gm

C2/2

C2

Gm

C3/2

C3

GmVin

• If we make all caps the same size, backend stages contribute

very little noise

• Wasteful, because Power ~ Gm ~ C

tot

1 2 3

1 1 1N kT ...

C 4C 16C

∝ + + +

EE315B - Chapter 9

B. Murmann 54

Stage Scaling (3)

• How about scaling caps down by 22=4x per stage?

– Same amount of noise from every stage

– All stages contribute significant noise

– Noise from first few stages must be reduced

– Power ~ Gm ~ C goes up!

C1/2

C1

Gm

C2/2

C2

Gm

C3/2

C3

GmVin

1 2 3

1 1 1

4 16totN kT ...

C C C

∝ + + +

EE315B - Chapter 9

B. Murmann 55

Stage Scaling (4)

• Optimum capacitior scaling lies approximately midway between

these two extremes

[Cline 1996]

EE315B - Chapter 9

B. Murmann 56

Shallow Optimum

[Chiu 2004]

Capacitor scaling factor = 2Rx x=1 ⇒ scaling exactly by stage gain

EE315B - Chapter 9

B. Murmann 57

Practical Approach to Stage Scaling

• Start by assuming caps are scaled precisely by stage gain

– E.g. for 1-bit effective stages:

C/2

C

Gm

C/4

C/2

Gm

C/8

C/4

GmVin

• Refine using first pass circuit information & Excel spreadsheet

– Use estimates of OTA power, parasitics, minimum feasible

sampling capacitance etc.

• Or, buy a circuit optimization tool…

EE315B - Chapter 9

B. Murmann 58

Stage Scaling Examples (1)

[Cline 1996]

EE315B - Chapter 9

B. Murmann 59

Stage Scaling Examples (2)

[Ishii 2005]

EE315B - Chapter 9

B. Murmann 60

How Many Bits Per Stage?

• Low per-stage resolution (e.g. 1-bit effective)

– Need many stages

+ OTAs have small closed loop gain, large feedback factor

• High speed

• High per-stage resolution (e.g. 3-bit effective)

+ Fewer stages

– OTAs can be power hungry, especially at high speed

– Significant loading from flash-ADC

• Qualitative conclusion

– Use low per-stage resolution for very high speed designs

– Try higher resolution stages when power efficiency is most

important constraint

EE315B - Chapter 9

B. Murmann 61

Power Tradeoff is Fairly Flat!

η = parasitic cap at output/total

sampling cap in each stage

(junctions, wires, switches, …)

[Chiu 2004]

• ADC power varies by only ~2x across different stage resolutions!

EE315B - Chapter 9

B. Murmann 62

Examples

• Low power is possible for a wide range of architectures!

Reference [Yoshioka, 2007] [Jeon, 2007] [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

EE315B - Chapter 9

B. Murmann 63

Re-Cap

• Choosing the "optimum" per-stage resolution and stage scaling

scheme is a non-trivial task

– But – optima are shallow!

• Quality of transistor level design and optimization is at least as

important (if not more important than) architectural

optimization…

• Next, look at circuit design details

– Assume we're trying to build a 10-bit pipeline

• Recent technology, feature size ~0.18µm or smaller

• Moderate to high-speed ~100MS/s

• 1-bit effective/stage, using "1.5-bit" stage topology

• Dedicated front-end SHA

EE315B - Chapter 9

B. Murmann 64

1.5-Bit Stage Implementation

• Cf is used as sampling cap during acquisition phase, as feedback cap in redistribution phase

– Helps improve feedback factor (max. 1/3 → max. 1/2)

[Abo 1999] ([Lewis 1992])

EE315B - Chapter 9

B. Murmann 65

Residue Plot

[Abo 1999]

EE315B - Chapter 9

B. Murmann 66

Stage 1 Matching Requirements

s

f

C C1

C C

∆∝ ≅ +

• Error in residue transition must be accurate to within a fraction of 9-bit backend LSB

– Typically want ∆C/C ~0.1% or better

EE315B - Chapter 9

B. Murmann 67

Capacitor Matching

• 0.1% "easily" achievable in current technologies

– Even with metal sandwich caps, see e.g. [Verma 2006]

• Beware of metal density related issues, "copper dishing"

– For MIMCap matching data see e.g. [Diaz 2003]

• What if we needed much higher resolution than 10 bits?

– Digital calibration

– Multi-bit first stage

• Each extra bit resolved in the first stage alleviates precision

requirements on residue transition by 2x

• For fixed capacitor matching, can show that each (effective) bit

moved into the first stage– Improves DNL by 2x

– Improves INL by sqrt(2)x

• Multi-bit examples: [Singer 1996] [Kelly 2001] [Lee 2007]

EE315B - Chapter 9

B. Murmann 68

Typical Reference Generator

[Brooks 1994]

External decoupling caps provide dynamic currents

⇒ Low power reference buffer

EE315B - Chapter 9

B. Murmann 69

Comparators

• Can tolerate large offsets and large noise with appropriate

redundancy

• Consume negligible power in a good design

– 50-100µW or less per comparator

• Lots of implementation options

– Resistive/capacitive reference generation

– Different pre-amp/latch topologies

– …

EE315B - Chapter 9

B. Murmann 70

Comparator Examples

[Chiu 2004]

[Mehr 2000]

Vin

EE315B - Chapter 9

B. Murmann 71

OTA Design Considerations

• Static amplifier error = 1/(DC Loop Gain)

– E.g. for 0.1% accuracy in first stage of 10-bit ADC, need loop gain > 60dB

• Dynamic settling error

– Typically want to settle outputs to ~1/8 LSB accuracy within 1/2 clock cycle

• Thermal noise

– Size capacitors to satisfy kT/C noise requirement

• Start by picking an OTA topology that will deliver sufficient gain

– Or think about ways to compensate finite gain error…

• General references on OTA design

– [Boser 2005], [Murmann, EE315A]

EE315B - Chapter 9

B. Murmann 72

Two-Stage Folded Cascode OTA

• Works down to VDD=1V with reasonable output swing

• Gain ~ (gmro)3 ~ 103 = 60dB

• Use gain boosting to achieve larger gain

[Ishii 2005]

1V

~0.5V

(1Vpp,diff)

EE315B - Chapter 9

B. Murmann 73

How Fast Can We Go? (1)

• Non-dominant pole in two-stage amplifier hard to move past fT/5

• For 73 degrees phase margin (optimum for fast settling), loop

crossover frequency is 1/3 of non-dominant pole frequency

• Settling linearly to 0.1% precision takes 7 loop time constants;

typically budget ~10 time constants

• 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

1 12 0 5 0 6

5 3 10 80

T TCLK,max

f ff . .= ⋅ π ⋅ ⋅ =

EE315B - Chapter 9

B. Murmann 74

How Fast Can We Go? (2)

• Sampling speeds of 200-300MHz are "easily" achievable in today's technologies

– fT is no longer a showstopper

– Speed ultimately constrained by power, power efficiency and/or clock jitter

TechnologyNMOS fT

(at moderate VGS-Vt ~150mV)fCLK,max = fT/80

0.35um 10GHz 125 MHz

0.18um 30GHz 375 MHz

90nm 90GHz 1.125GHz (?)

EE315B - Chapter 9

B. Murmann 75

Switches

• 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

[Ishii 2005]

EE315B - Chapter 9

B. Murmann 76

Front-End SHA

[Ishii 2005]

Minimize

Jitter!

Need constant RON here to

minimize signal dependent

charge injection from S1N, S1P

S1P

S1N

EE315B - Chapter 9

B. Murmann 77

Total Integrated OTA Noise (1)

2

1 2

12 2 1od

c Ltot

kT kTV N ( N )

C C= ⋅ γ ⋅ + γ ⋅ +

β

1

f

f s gs

C

C C Cβ =

+ +

11 311

1

612

51

1 2 4

1 2

m m

m

m

m

g gN ...

g

gN

g

+

= + ≅

= + ≅

( )1Ltot L f parasiticC C C C= + −β +

Stage 1 Stage 2

Cs

Cf

Cc

ignore in first

cut design

EE315B - Chapter 9

B. Murmann 78

Total Integrated OTA Noise (2)

• Assuming γ=1, N1=N2=2

2 14 6od

c Ltot

kT kTV

C C= ⋅ +

β

• OTA noise partitioning problem

– How should we split noise between stage1 and stage2 terms?

• In this design example we'll use a 2/3, 1/3 split

– This is yet another design/optimization parameter

• With this assumption, we have

218od

Ltot

kTV

C=

3

Ltotc

CC =

β

EE315B - Chapter 9

B. Murmann 79

Stage 1 Noise

1

1 1

2 1

3

s

s gs

C /

C Cβ = ≅

+

Cs1=C1P+C2P

Cs2

12

11

3 2

sLtot s

CC C

= + −

2

1

2 1

183

od,s s

kTV

C C /=

+

2

1 22 1

18

32id ,

s s

kTV

C C /=

+

EE315B - Chapter 9

B. Murmann 80

SHA Noise

0

0 1

1

2

s

s gs

C

C Cβ = ≅

+

Cs0

Cs1

01

11

2 2

sLtot s

CC C

= + −

2 2

0 0

1 0 0 1

18 164

od, id ,s s s s

kT kT kTV V

C C / C C= = + ≅

+

From sample phase (φ1)

Design choice: Cs0 = Cs1

EE315B - Chapter 9

B. Murmann 81

Noise Budgeting

• Total input referred noise budget, assuming VFS,diff=1V

– Nthermal = Nquant=LSB2/12=(1V/210)2/12=(280µVrms)2

• Reasonable "first cut" partitioning of input referred noise

– SHA → 1/2

– Stage 1 → 1/4

– All remaining stages → 1/4

( )22

1 2

2 1

9 1280 0 38

2 3 4id , s

s s

kTV Vrms C . pF

C C /= = µ ⇒ =

+

( )22

0 1

1

116 280 1 66

2id , s

s

kTV Vrms C . pF

C= = µ ⇒ =

EE315B - Chapter 9

B. Murmann 82

Capacitor Sizes

• Now refine these numbers using simulation and Excel spreadsheet

– Iterate over assumptions/design choices to optimize design

Cs0

1.66pF

Cs1

1.66pF

Cs2

0.38pF

Cs3

190fF

Cs4

85fF

Cs5

42.fF (minimum)

… …

Cs10

42.fF (minimum)

/2

/2

/2

EE315B - Chapter 9

B. Murmann 83

Reality Check

[Honda 2007]

• Not too far off from a practical design…

EE315B - Chapter 9

B. Murmann 84

Amplifier Sharing (1)

• Limited power savings

because amplifiers have

different specs

[Min 2003]

EE315B - Chapter 9

B. Murmann 85

Amplifier Sharing (2)

• Sharing of amplifiers is most efficiently done in a pair of

converters that process I/Q signals

[Kurose 2006]

EE315B - Chapter 9

B. Murmann 86

SHA-Less Architectures (1)

• Motivation

– SHA can burn up to 1/3 of total ADC power

• Removing front-end SHA creates acquisition timing mismatch

issue between first stage MDAC & Flash

Sampler

(MDAC)

[Chiu 2004]

EE315B - Chapter 9

B. Murmann 87

SHA-Less Architectures (2)

• 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]

EE315B - Chapter 9

B. Murmann 88

Pipelined SAR

EE315B - Chapter 9

[Lee, JSSC, April 2011]

B. Murmann 89

Pipeline Cyclic ADC (1)

Σ Σ

b3

Σ

x

b0 b1 b2

- - -

Output x

β-1

β-2

β-3

1

Σ

ββ

EE315B - Chapter 9

B. Murmann 90

Pipeline Cyclic ADC (2)

b3

Σx

b0 b1 b2

-

Output x

β-1

β-2

β-31

Σ

β

Register

EE315B - Chapter 9

B. Murmann 91

Implementation Example

[Erdogan et al. JSSC 12/99]

φ1

φ2

( ) 42

3

o ip ref

CV V V

C= ±

51 2

6

1o o

CV V

C

= +

Vo2

Vo1

EE315B - Chapter 9

B. Murmann 92

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

EE315B - Chapter 9

B. Murmann 93

Selected References (1)

• General– S. Kawahito, "Low-Power Design of Pipeline A/D Converters," Proc. CICC, pp.

505-512, Sep. 2006.

• Redundancy & Calibration– S. H. Lewis et al., "A 10-b 20-Msample/s analog-to-digital converter," IEEE

JSSC, pp. 351-358, Mar. 1992.

– A. N. Karanicolas et al. "A 15-b 1-Msample/s digitally self-calibrated pipeline ADC," IEEE J. Of Solid-State Circuits, pp. 1207-1215, Dec. 1993.

– E. G. Soenen et al., "An architecture and an algorithm for fully digital correction of monolithic pipelined ADCs," IEEE TCAS II, pp. 143-153, Mar. 1995.

– I. E. Opris et al., "A single-ended 12-bit 20 MSample/s self-calibrating pipeline A/D converter," IEEE JSSC, pp. 1898-1903, Dec. 1998.

– L. Singer et al., "A 12 b 65 MSample/s CMOS ADC with 82 dB SFDR at 120 MHz," ISSCC Dig. Techn. Papers, pp. 38-39, Feb. 2000.

– I. Mehr et al., "A 55-mW, 10-bit, 40-Msample/s Nyquist-rate CMOS ADC," IEEE JSSC, pp. 318-325, Mar. 2000.

– J. Ming et al., "An 8-bit 80-Msample/s pipelined analog-to-digital converter with background calibration," IEEE JSSC, pp. 1489-1497, Oct. 2001.

– S.-Y. Chuang et al., "A Digitally Self-Calibrating 14-bit 10-MHz CMOS Pipelined A/D Converter," IEEE JSSC, pp. 674-683, Jun. 2002.

– J. Markus et al., "On the monotonicity and linearity of ideal radix-based A/D converters," IEEE Trans. Instr. and Measurement, pp. 2454-2457, Dec. 2005.

EE315B - Chapter 9

B. Murmann 94

Selected References (2)

• 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.

EE315B - Chapter 9

B. Murmann 95

Selected References (3)

– P. Bogner et al., "A 14b 100MS/s digitally self-calibrated pipelined ADC in 0.13um CMOS," ISSCC Dig. Techn. Papers, pp. 832-833, Feb. 2006.

– D. Kurose et al., "55-mW 200-MSPS 10-bit Pipeline ADCs for Wireless Receivers," IEEE JSSC, pp. 1589-1595, Jul. 2006.

– S. Bardsley et al., "A 100-dB SFDR 80-MSPS 14-Bit 0.35um BiCMOS Pipeline ADC," IEEE JSSC, pp. 2144-2153, Sep. 2006.

– A. M. A. Ali et al, "A 14-bit 125 MS/s IF/RF Sampling Pipelined ADC With 100 dB SFDR and 50 fs Jitter," IEEE JSSC, pp. 1846-1855, Aug. 2006.

– S. K. Gupta, "A 1-GS/s 11-bit ADC With 55-dB SNDR, 250-mW Power Realized by a High Bandwidth Scalable Time-Interleaved Architecture," IEEE JSSC, 2650-2657, Dec. 2006.

– M. Yoshioka et al., "A 0.8V 10b 80MS/s 6.5mW Pipelined ADC with Regulated Overdrive Voltage Biasing," ISSCC Dig. Techn. Papers, pp. 452-453, Feb. 2007.

– Y.-D. Jeon et al., "A 4.7mW 0.32mm2 10b 30MS/s Pipelined ADC Without a Front-End S/H in 90nm CMOS," ISSCC Dig. Techn. Papers, pp. 456-457, Feb. 2007.

– K.-H. Lee et al., "Calibration-free 14b 70MS/s 0.13um CMOS pipeline A/D converters based on highmatching 3D symmetric capacitors," Electronics Letters, pp. 35-36, Mar. 15, 2007.

– K. Honda et al., "A Low-Power Low-Voltage 10-bit 100-MSample/s Pipeline A/D Converter Using Capacitance Coupling Techniques," IEEE JSSC, pp. 757-765, Apr. 2007.

EE315B - Chapter 9

B. Murmann 96

Selected References (4)

• Per-Stage Resolution and Stage Scaling

– D. W. Cline, "Noise, Speed, and Power Tradeoffs in Pipelined Analog to Digital Converters", PhD Dissertation, UC Berkeley, November, 1995, http://kabuki.eecs.berkeley.edu/~cline/thesis/thesis.pdf.

– D. W. Cline et al., "A power optimized 13-b 5 MSamples/s pipelined analog-to-digital converter in 1.2um CMOS," IEEE JSSC, Mar. 1996

– Y. Chiu, "High-Performance Pipeline A/D Converter Design in Deep-Submicron CMOS," PhD Dissertation, UC Berkeley, 2004.

– H. Ishii et al., "A 1.0 V 40mW 10b 100MS/s pipeline ADC in 90nm CMOS," Proc. CICC, pp. 395-398, Sep. 2005.

• OTA Design, Noise

– B. E. Boser, "Analog Circuit Design with Submicron Transistors," Presentation at IEEE Santa Clara Valley, May 19, 2005, http://www.ewh.ieee.org/r6/scv/ssc/May1905.htm

– R. Schreier et al., "Design-oriented estimation of thermal noise in switched-capacitor circuits," IEEE TCAS I, pp. 2358-2368, Nov. 2005.

– 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.

EE315B - Chapter 9

B. Murmann 97

Selected References (5)

• Capacitor Matching Data

– C. H. Diaz et al., "CMOS technology for MS/RF SoC," IEEE Trans. Electron Devices, pp. 557-566, Mar. 2003.

– A. Verma et al., "Frequency-Based Measurement of Mismatches Between Small Capacitors," Proc. CICC, pp. 481-484, Sep. 2006.

– V. Tripathi and B. Murmann, "Mismatch Characterization of Small Metal Fringe Capacitors," CICC 2013.

• Reference Generator

– T. L. Brooks et al., "A low-power differential CMOS bandgap reference," ISSCC Dig. Techn. Papers, pp. 248-249, Feb. 1994.

EE315B - Chapter 9

B. Murmann 1EE315B - Chapter 10

Time Interleaving

Boris Murmann

Stanford University

[email protected]

Copyright © 2013 by Boris Murmann

B. Murmann 2

Time-Interleaved ADC

[W. Black and D. Hodges, JSSC, Dec. 1980]

[Ken Poulton]

M

M times increased throughput!

EE315B - Chapter 10

B. Murmann 3EE315B - Chapter 10

Typical Timing

• Each ADC samples for 1/Mth of the period

• Still need very high “acquisition bandwidth” in each ADC slice

– No free lunch…

Sampling

clocks of each

ADC

B. Murmann 4

Why Time Interleaving?

108

109

1010

1011

10

20

30

40

50

60

70

Sampling Rate [Hz]

SN

DRHF [dB

]

TI SAR

TI Pipeline

TI Flash

Other

B. Murmann, "ADC Performance Survey 1997-2013," [Online]. Available: http://www.stanford.edu/~murmann/adcsurvey.html

EE315B - Chapter 10

B. Murmann 5

How Many Channels?

• A complex optimization problem!

– Luckily, first order analyses show that the optimum is shallow

Feasible

Solutions

[El-Chammas, PhD Thesis, Stanford University, 2010]

Secondary factors

dominate the power

(e.g. flash resistor ladder)

Shallow power minimum

EE315B - Chapter 10

B. Murmann 6

τ0

x(t) y[n]

ADC0

Ts+τ1

ADC1

(N-1)Ts+τN-1

ADCN-1

G0

G1

GN-1

o0

o1

oN-1

Time Interleaving Errors

OffsetTiming Skew

Gain

EE315B - Chapter 10

B. Murmann 7

Offset Errors

Signal independent noise pattern

[Ken Poulton]

EE315B - Chapter 10

B. Murmann 8EE315B - Chapter 10

Impact of Offset Errors

• E.g. FS=1V, σOS

=1mV ⇒ ENOB~9bits!

σOS/FS

[Gustavsson, p.262]

B. Murmann 9

Gain Errors

Very similar to amplitude modulation

[Ken Poulton]

EE315B - Chapter 10

B. Murmann 10EE315B - Chapter 10

Impact of Gain Errors

• E.g. σGain

=0.1% ⇒ ENOB~10bits

σGain

[Gustavsson, p.266]

B. Murmann 11

Timing Errors

• Can be analyzed like jitter, using curvature of signal

autocorrelation (see earlier discussion)

– Only difference is that a factor of N/N-1 shows up, since only

N-1 channels are skewed

– See [El-Chammas & Murmann, IEEE TCAS 5/2009]

Very similar to PM, jitter

[Ken Poulton]

EE315B - Chapter 10

B. Murmann 12EE315B - Chapter 10

Impact of Timing Errors

• Above chart is for M=4 channels

• E.g. fin=100MHz, phase skew=3ps ⇒ ENOB~9bits!

[Gustavsson, p.267]

B. Murmann 13

Compensation of Interleaving Errors

• Gain and offset

– Several relatively “simple” techniques exist

– Can compensate in analog and/or digital domain

• 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 14

Digital Detection and Correction

Correction

Correction

Detection

ADC0

ADC1

y0[n]

y1[n]

y0[n]

y1[n]

x(t)

~

~

Sub-ADC

output

Digitally corrected

sub-ADC output

Dig

ital B

ackend

EE315B - Chapter 10

B. Murmann 15

Digital Detection and Analog Correction

EE315B - Chapter 10

B. Murmann 16

Foreground vs. Background

Calibration

Foreground Calibration

Background Calibration

EE315B - Chapter 10

B. Murmann 17

Example: Fully Digital Gain Error

Background Cal

• A similar approach can be used for digital offset

compensation

[Tsai, TCAS1, 2/2009]

EE315B - Chapter 10

B. Murmann 18

Example: Foreground Analog Gain &

Offset Cal

G1(0)

6

µC

Ca

lib

rati

on

Lo

gic

8-bit

Calibration

DAC

63comp

Interleave 0

gain

cntrl

otherinterleave

(not shown)

De

co

de

r

G2(0)

5-bit

Coarse

nonlinearity

compensation

in G2(0)

offsetcntrl

comp offsetcntrl

vga

[Verma, ISSCC 2013]

Flash

EE315B - Chapter 10

B. Murmann 19

Sources of Timing Skew

• All traces and all transistors have mismatch, which can easily result in ~10ps total timing skew for a complex clock tree

Clo

ck G

en

era

tor

[A. Agarwal, CICC 2008]

EE315B - Chapter 10

B. Murmann 20

Minimizing Skew by Design

• Global CML master clock times the sampling instants; local phase

gating for each ADC

• Skew ~0.5ps (!)

[Louwsma, JSSC 4/2008]

EE315B - Chapter 10

B. Murmann 21

Hiding the Timing Skew Using a Global T/H

• Typically not feasible in ultra-high-speed converters

• Successfully used in moderately high-speed designs

– S. Gupta et al., “A 1-GS/s 11-bit ADC With 55-dB SNDR, 250-mW Power Realized by a High Bandwidth Scalable Time-Interleaved Architecture “, JSSC 12/2006.

– B. Setterberg et al., “A 14b 2.5GS/s 8-Way-Interleaved Pipelined ADC with Background Calibration and Digital Dynamic Linearity Correction,” ISSCC 2013.

EE315B - Chapter 10

B. Murmann 22

Global Bottom Plate Sampling

• Big issue: parasitics

at node X

[Gustavsson, TCAS1, 9/2000]

X

EE315B - Chapter 10

B. Murmann 23

Better: Local Re-Timing & Fine Tuning

[Kull, VLSI 2013]

3.5ps tuning range, 250fs steps

EE315B - Chapter 10

B. Murmann 24

Typical Delay Cell

• Causes a penalty in supply induced jitter manageable if delay range is small

K. Poulton et al., “A 4GSample/s 8b ADC in 0.35um CMOS”, ISSCC 2002

EE315B - Chapter 10

B. Murmann 25

Delay Control via Varactor DAC

Encoder

Control Bits

EE315B - Chapter 10

B. Murmann 26

Measuring the Skew Using Aux ADC

Auxiliary ADC

…...

……

..

MUX

[El-Chammas, VLSI 2010]

EE315B - Chapter 10

B. Murmann 27

Clocking the Aux ADC

1

1

2

3

CAL

t

t

t

t

2 3

Period of φCAL is e.g. 17/8 period of φ1 - φ8

EE315B - Chapter 10

B. Murmann 28

“Blind” Estimation of the Skew

• Assuming well-behaved input signal statistics, it also possible to detect the skew “blindly”

• Key idea: pairwise signal correlations along the array must be equal, unless there is skew

[Haftbaradaran, CICC 2007]

EE315B - Chapter 10

B. Murmann 29

System-Level Absorption of Skew

• Split equalizer into M paths and adapt coefficients separately

• For complex equalizers typically found in ADC-based links, one must carefully evaluate if the power overhead is justifiable

• Can also combine this idea with analog time skew control

[Tsai, TCAS1, 2/2009]

EE315B - Chapter 10

B. Murmann 30

Hierarchical Interleaving

[Doris, JSSC 12/2011]

EE315B - Chapter 10

B. Murmann 31

Quadrature Clocking

• Hierarchical interleaving with 4x split in first rank

• Drive the samplers directly with QVCO signal

– Low jitter, small phase skew (need only small tuning range, if any)

[Doris, JSSC 12/2011]

EE315B - Chapter 10

B. Murmann 32

[Greshishchev, ISSCC 2010]

Examples (1)

• 160 SAR ADCs interleaved to resolve 6 bits at 40GS/s (!)

EE315B - Chapter 10

B. Murmann 33

Examples (2)

[Kull, VLSI 2013]

8 Interleaved SARs,

each running at

1.1GS/s

8.8GS/s, 50mW

EE315B - Chapter 10

B. Murmann 34

Examples (2)

[El-Chammas & Murmann, VLSI 2010]

8x Interleaved 5-bit Flash

12GS/s, 81mW

65nm CMOS

EE315B - Chapter 10

B. Murmann 35

Examples (3)

• 14b, 2.5 GS/s ADC, 80-dB linear up to 1 GHz input

• Employs 2 million logic gates for digital correction

• Power dissipation = 24 Watts

[Setterberg, ISSCC 2013]

EE315B - Chapter 10

B. Murmann 36

Examples (4)

• 128 single slope ADCs interleaved to resolve 7 bits at 1GS/s

• Power efficient (~26mW)

[Danesh, VLSI 2011]

EE315B - Chapter 10

B. Murmann 1EE315B - Chapter 11

Oversampling ADCs and DACs

Boris Murmann

Stanford University

[email protected]

Copyright © 2013 by Boris Murmann

B. Murmann 2

Overview

• Oversampling A/D conversion

• Decimation filters

• Oversampling D/A conversion

EE315B - Chapter 11

B. Murmann 3EE315B - Chapter 11

Recap

• Sampling theorem

2s sig,maxf f>

• One good reason for sampling faster ("oversampling")

– Can use lower order anti-alias filter

B. Murmann 4EE315B - Chapter 11

Anti-Alias Filtering

B. Murmann 5EE315B - Chapter 11

Quantization Noise

• Recall that the "noise" introduced by quantizer is evenly

distributed across all frequencies

– Provided that quantization error sequence is "sufficiently

random"

• Idea: Let's filter out the noise beyond f=fB!

fs/2

Ne(f)

∆2/12

fB

B. Murmann 6EE315B - Chapter 11

Digital Noise Filter (1)

• Total quantization noise at digital output is reduced proportional

to "oversampling ratio" M=(fs/2)/f

B

122/f

f 2

s

B∆⋅

12

2∆

B. Murmann 7EE315B - Chapter 11

Digital Noise Filter (2)

• Increasing M by 2x, means 3-dB reduction in quantization noise

power, and thus 1/2 bit increase in resolution

– "1/2 bit per octave"

• 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

162 2 1 2

131

s Bf f M MHz

GHz

≥ ⋅ ⋅ = ⋅ ⋅

B. Murmann 8EE315B - Chapter 11

Noise Shaping

• Idea: "Somehow" build an ADC that has most of its quantization

noise at high frequencies

• Key: Feedback

B. Murmann 9EE315B - Chapter 11

Noise Shaping Using Feedback (1)

( ) ( ) ( ) ( ) ( ) ( )

( )( )

( )( )

( )

( ) ( ) ( ) ( )

1

1 1

E X

Noise SignalTransfer TransferFunction Function

Y z E z A z X z A z Y z

A zE z X z

A z A z

E z H z X z H z

= + −

= +

+ +

= +

123 123

B. Murmann 10EE315B - Chapter 11

Noise Shaping Using Feedback (2)

• 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 (0…fB) we

achieve this by making |A(z)| >>1 at low frequencies

– Means that NTF is <<1

– Mans that STF ≅ 1

( ) ( )( )

( )( )

( )1

1 1

Noise SignalTransfer TransferFunction Function

A zY z E z X z

A z A z= +

+ +

14243 14243

B. Murmann 11EE315B - Chapter 11

Discrete Time Integrator

• "Infinite gain" at DC (ω=0, z=1)

( ) ( ) ( )1 1v k u k v k= − + − ( ) ( ) ( )1 1V z z U z z V z

− −

= +

( )

( )

1

1

1

11

V z z

U z zz

= =

−−

j Tz e

ω

=

B. Murmann 12EE315B - Chapter 11

First Order “Delta-Sigma” Modulator

• Output is equal to delayed input plus filtered quantization noise

+

E(z)

X(z) Y(z)

DAC

+z-1

1-z-1

-

( ) ( ) ( ) ( ) ( ) ( )1 1

1

1 11

1 11 1

1 1

zY z E z X z E z z X z z

z z

− −−= + = − +

+ +

− −

B. Murmann 13EE315B - Chapter 11

NTF Frequency Domain Analysis

• "First order noise Shaping"

• Quantization noise is attenuated at low frequencies, amplified at

high frequencies

11

eH (z) z−= −

( )

( )

2 22

2 2

1 22

2 22 2

2 2

j T / j T /j T j T /

e

T Tj j

es

e eH ( j ) e e

T Te j sin sin e

fH (f ) sin fT sin

f

ω − ω

− ω − ω

ω ω −π

− −

−ω = − =

ω ω = =

= π = π

B. Murmann 14EE315B - Chapter 11

In-Band Quantization Noise (1)

• Question: If we had an ideal digital lowpass, what would be the

achieved SQNR as a function of oversampling ratio?

• Can integrate shaped quantization noise spectrum up to fB

and

compare to full-scale signal

22

0

22

0

32 2 2 2

3

22

12

22

12

2 1

12 3 12 3

B

B

f

qnoises s

f

s s

B

s

fP sin df

f f

fdf

f f

f

f M

∆= ⋅ ⋅ π

∆≅ ⋅ ⋅ π

∆ π ∆ π≅ ⋅ = ⋅

B. Murmann 15EE315B - Chapter 11

In-Band Quantization Noise (2)

• Assuming a full-scale sinusoidal signal, we have

( )

( )

[ ]

2

23

2 2 2

3 Due to noise shaping &digital filter

2 11

2 23

1 5 2 11

12 3

1 76 6 02 5 2 30 (for large B)

B

sig B

qnoise

PSQNR . M

P

M

. . B . log(M ) dB

− ∆ ≅ = = × − × ×∆ π π

≅ + − +

14243

• Each 2x increase in M results in 8x SQNR improvement

– 9dB (1.5bits) per octave oversampling

B. Murmann 16EE315B - Chapter 11

SQNR Improvement

M SQNR improvement

16 31dB (~5 bits)

256 67dB (~11 bits)

1024 85dB (~14 bits)

• 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 M≅60

• Not all that bad!

B. Murmann 17EE315B - Chapter 11

DAC Requirements

• DAC error is indistinguishable from signal

– Means that DAC must be precise to within target resolution

• For the previous example, this means that we need an 8-bit

DAC whose output levels have 16-bit precision…

( ) ( )( )

( ) ( )( )

( )1

1 1DAC

A zY z E z X z z

A z A z = + − ε + +

B. Murmann 18EE315B - Chapter 11

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

B. Murmann 19

Data Independent Shuffling (1)

EE315B - Chapter 11

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 20

Data Independent Shuffling (2)

EE315B - Chapter 11

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 21

Data Dependent Shuffling (1)

• Select elements such that

each one is used (on

average) the same number

of times

• DAC errors quickly sum to

zero; errors are pushed to

high frequencies

EE315B - Chapter 11

Code 3

Code 4

Code 2R.T. Baird, and T.S. Fiez, "Improved ΔΣ

DAC linearity using data weighted

averaging ," IEEE ISCAS, pp.13-16,

May 1995.

B. Murmann 22

Data Dependent Shuffling (2)

EE315B - Chapter 11

B. Murmann 23EE315B - Chapter 11

Single-Bit DAC

• A single bit DAC has only two output levels

• Even if these two levels are imprecise, the errors will only affect

gain and offset of the DAC and modulator

– Tolerable in many applications

B. Murmann 24EE315B - Chapter 11

Modulator with Single-Bit Quantizer (1)

• Model

• Expected SQNR (from slide 15 with B=1)

[ ]

2

3

2 2 2

3

1

92 2

1 2

12 3

3 4 30

sig

qnoise

PSQNR M

P

M

. log(M ) dB

∆ ≅ = = ×

∆ π π⋅

= − +

• E.g. M=128 ⇒ SQNR=60dB

1-bit

code

B. Murmann 25EE315B - Chapter 11

Modulator with Single-Bit Quantizer (2)

• Not all that great in terms of achievable SQNR, but sufficient for

some applications

– E.g. digital voltmeter

• See [van de Plassche, pp. 469]

[Schreier, p. 31]

• Implementation example

B. Murmann 26EE315B - Chapter 11

Simulated Response

B. Murmann 27EE315B - Chapter 11

Spectrum

• Looks like there is some noise shaping, but SQNR=55dB is

lower than the expected 60dB

[Schreier, p. 39]

f/fs

B. Murmann 28EE315B - Chapter 11

Amplitude and Frequency Dependence

• Erratic dependence on amplitude and frequency

– Simple linear model fails to predict this behavior

• Issue: Quantization error sequence is not "sufficiently random",

as assumed in the beginning of this discussion

[Schreier, p. 40]

[M=256]

B. Murmann 29EE315B - Chapter 11

Quantization Error in 1st Order Modulator

• A complicated, but deterministic function of the input

0 200 400 600 800 1000

-0.5

0

0.5

Inp

ut x(n

)

0 200 400 600 800 1000

-0.5

0

0.5

Sample index n

Qu

an

tiza

tio

n e

rro

r e

(n)

B. Murmann 30

Aside: Quantizer Gain

• Another issue is that the gain of the single bit quantizer is ill-

defined, but we assumed it to be unity in our analysis

• The actual quantizer gain can be found from simulations, and

then plugged back into the linear model for better agreement

(and stability analysis using root locus, etc.)

• 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.

EE315B - Chapter 11

B. Murmann 31EE315B - Chapter 11

Tones

• Since the quantization error is correlated with the input, the shaped quantization noise contains spurious tones, some of which lie in the signal band

• The linear model cannot predict these tones

• It is generally difficult to predict tonal behavior for arbitrary inputs, even with a nonlinear model

– Analytical results exist for DC and sine inputs, see e.g.

• R.M. Gray "Spectral analysis of quantization noise in a single-loop sigma-delta modulator with DC input," IEEE Trans. Comm., pp. 588-599, June 1989.

• R.M. Gray et al., Quantization noise in single-loop sigma-delta modulation with sinusoidal inputs," IEEE Trans. Comm., pp. 956-968, Sept 1989.

• Interesting and intuitive to look at DC input as a worst case

B. Murmann 32EE315B - Chapter 11

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 1000⋅T, and hence contains a low

frequency, in-band component

B. Murmann 33EE315B - Chapter 11

DC Input (2)

• For a DC input, the modulator output consists of discrete tones

("idle tones") with power and frequency given by

0 5DC

k s

xf k . f

= + ∆

where k is an integer, and <r> represents the fractional part of r

(r modulo 1)

• Strongest tones occur for small k, due to reciprocal dependence

• 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)

( )2

k

k

sin f TP

k

∆ π=

π

B. Murmann 34EE315B - Chapter 11

MSE due to Idle Tones

X/∆

B. Murmann 35EE315B - Chapter 11

Idle Tone Considerations

• Idle tones are known to be a significant issue in audio applications

– The human ear can detect tones ~20dB below the

thermal/quantization noise floor

• 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.

– Overdesign by making quantization noise much smaller than

electronic noise from integrators

• Noisy integrator(s) help randomize quantization error sequence

– Higher order modulators

• Naturally produce "more random" quantization error sequences

B. Murmann 36EE315B - Chapter 11

Higher Order Modulators

• Motivation: better SQNR for a given oversampling ratio, plus

improved idle tone performance as a side benefit

• Commonly used architectures

– Single quantizer loop with higher order filtering

• Essentially a logical extension to the first order noise shaping

concept discussed previously

– Cascaded, multi-stage modulators

• Contain a separate quantizer in each stage

B. Murmann 37EE315B - Chapter 11

Higher Order Noise Shaping

• Lth order noise transfer function

( )11L

EH (z) z−= −

B. Murmann 38EE315B - Chapter 11

In-Band Quantization Noise

• For an Lth order modulator, every doubling of M results in an

increase in SQNR of 6L+3dB (L+0.5bits)

22

0

22

0

2 12 2

2 12 2

22

12

22

12

2

12 2 1

1

12 2 1

B

B

Lf

qnoises s

Lf

s s

LLB

s

LL

fP sin df

f f

fdf

f f

f

L f

L M

+

+

∆= ⋅ ⋅ π

∆≅ ⋅ ⋅ π

∆ π≅ ⋅

+

∆ π ≅ ⋅

+

B. Murmann 39EE315B - Chapter 11

SQNR with Single Bit Quantizer

SQ

NR

[d

B]

B. Murmann 40

Building a Second-Order Modulator (1)

• General idea: Start with a first order modulator and replace

quantizer by another first order loop

EE315B - Chapter 11

-1

-1

-1

-1

B. Murmann 41

Building a Second-Order Modulator (2)

• More general structure

EE315B - Chapter 11

+X(z) Y(z)z

1-z-+

E(z)

+z

1-z-

b

a1 a2

( )( )

( )( )

( )

( ) ( )

21

2

1 2

21 21 1 1 2

2 1 2

1 2

1

1 and 21 1 1 e.g. for

0 5 2 and 1

X E

za a zH z H z

D z D z

a a bD(z ) z a bz z a a z

a . ,a b

− − − −

−= =

= = == − + − + =

= = =

B. Murmann 42EE315B - Chapter 11

Boser-Wooley Modulator (1)

• a1=0.5 and b=1, but a

2=0.5 (instead of 2)

• Since the integrator is followed by a single-bit quantizer, a2

can be scaled to reduce swing requirements in second integrator

[Boser & Wooley, JSSC 12/1988]

(Single-bit)

B. Murmann 43EE315B - Chapter 11

Boser-Wooley Modulator (2)

B. Murmann 44EE315B - Chapter 11

Performance of 2nd Order Modulator

• Compared to first

order modulator,

SQNR is in "better"

agreement with

simple linear model

[Schreier, p.70]

O

O

O

O

O

OX

X

X

X

X

X

-120

-110

-100

-90

-80

-70

-60

-50

-40

-30

-20

Oversampling Ratio

8 16 32 64 128 256 512 1024

1st order

2nd order

• Improved idle tone

performance

B. Murmann 45EE315B - Chapter 11

Single Quantizer Modulators with Order >2

1

1

1e

H (z)L ( z )

=

0

11x

L (z)H (z)

L ( z )=

0x

e

H (z)L ( z )

H (z )= 1

11

e

L (z)H (z )

= −

• Most general (mathematical) filter decomposition

B. Murmann 46

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

EE315B - Chapter 11

B. Murmann 47EE315B - Chapter 11

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)

– …

B. Murmann 48EE315B - Chapter 11

The Cost of Stability (Single-bit)

• Higher out of band gain means higher attenuation in the signal

band and hence better SQNR

– Unfortunately modulator becomes "less stable"

Ma

x.

Inp

ut

[∆/2

]

[Norsworthy, pp.156]

M=40, L=6

max[He(ω)]max[H

e(ω)]

B. Murmann 49EE315B - Chapter 11

Achievable SQNR

• Diminishing return for order greater 5-6

B. Murmann 50EE315B - Chapter 11

Topology Example: Single Feedback Loop

1

1e

H (z)A(z )

=

+

1 in band of interest1

x

A(z )H (z )

A(z )= ≅

+

B. Murmann 51

Topology Example: CIFB Architecture

• “Cascade of Integrators with Feedback”

• All zeros of NTF lie at DC for this structure, i.e. HE(z) = (1-z-1)N

• Can create complex conjugate zeros by adding feedback paths

around pairs of integrators (cascade of resonators, CRFB

structure)

EE315B - Chapter 11

[Schreier, p. 115]

B. Murmann 52EE315B - Chapter 11

Typical Design Procedure

• "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

– Determine loop-filter transfer function and evaluate

performance and stability using simulations

– Determine implementation-specific coefficients

– Scale coefficients to restrict integrator outputs to stay within

available range (“dynamic range scaling")

• Delta-Sigma Toolbox for MATLAB (by Richard Schreier)

– http://www.mathworks.com/matlabcentral/fileexchange

– Look under "Controls" and find "Delsig" toolbox

B. Murmann 53EE315B - Chapter 11

"Cookbook" NTF Design Example (1)

% design parameters

L=4; % order

M=64; % oversampling ratio

% stop-band attenuation; reduce if needed to make max(|He(w)|<1.5)

Rstop = 80;

[b,a] = cheby2(L, Rstop, 1/M, 'high');

% normalize to make He(z->inf)=1; needed for realizability

% makes first sample of impulse response of He equal to 1

% makes first sample of impulse response of A equal to 0

% (must have at least one delay around quantizer)

b = b/b(1);

% check Lee's rule; want max(|He(w)|<1.5 )

NTF = filt(b, a, 1)

[mag] = bode(NTF, pi)

B. Murmann 54EE315B - Chapter 11

"Cookbook" NTF Design Example (2)

Transfer function:

1 - 3.998 z^-1 + 5.995 z^-2 - 3.998 z^-3 + z^-4

------------------------------------------------------

1 - 3.247 z^-1 + 4.013 z^-2 - 2.231 z^-3 + 0.4699 z^-4

mag = 1.459

10-3

10-2

10-1

-100

-80

-60

-40

-20

0

Frequency [f/fs]

He [d

B]

B. Murmann 55EE315B - Chapter 11

"Cookbook" NTF Design Example (3)

% Loop filter transfer function

A = inv(NTF) - filt(1,1,1)

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

B. Murmann 56EE315B - Chapter 11

Commercial Example

B. Murmann 57EE315B - Chapter 11

Cascaded Modulators

• 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

Σx

e

y DELAY

x y

+

DIGITALDIFFERENCE

Σ∆

Σ∆

DigitalOut

AnalogIn

B. Murmann 58EE315B - Chapter 11

Second Order (1-1) Cascade

• Second order noise shaping using two first order loops!

Y(z) = z–1Y1(z) – (1 – z–1)Y

2(z)

= z–2X(z) + z–1(1 – z–1)E1(z) – z–1(1 – z–1)E

1(z) – (1 – z–1)2E

2(z)

Y(z) = z–2X(z) – (1 – z–1)2E2(z)

Y1(z) = z–1X(z) + (1 – z–1)E

1(z)

Y2(z) = z–1E

1(z) + (1 – z–1)E

2(z)

B. Murmann 59EE315B - Chapter 11

Properties

• Order of overall noise shaping is equal to sum of modulator

orders

• No stability issues

• Improved idle tone performance

– Input of second stage is "noise like"

– Remaining quantization error from second stage is very

close to white noise

• Cancellation of first stage quantization noise depends on

matching between analog and digital signal paths

– Hard to suppress first stage quantization error by more than

40dB

– Mismatch will affect idle tone performance

B. Murmann 60EE315B - Chapter 11

1-1-1 Cascaded Modulator (MASH)

1

z-1

1

z-1

1

z-1

B. Murmann 61EE315B - Chapter 11

Mismatch Sensitivity

B. Murmann 62EE315B - Chapter 11

2-1 Cascade

B. Murmann 63EE315B - Chapter 11

Mismatch Sensitivity

B. Murmann 64EE315B - Chapter 11

Circuit Level Considerations

• Finite OTA gain

– Integrator leak

– Dead zones

– Nonlinearity

• Electronic noise

• OTA dynamic settling error, nonlinearity due to slewing

• Capacitor voltage coefficients

• Comparator hysteresis

– Usually not a problem; simulations show that up to a few % hysteresis can be tolerated

• Unwanted mixing effects

– E.g. if Vref

contains fs/2, out of band noise will be mixed down

into signal band

B. Murmann 65EE315B - Chapter 11

Integrator Analysis (1)

t/Ts Qs QI

n-1 Cs·V

i(n-1) C

I·V

o(n-1)

n-1/2 0 CI·V

o(n-1/2) = C

I·V

o(n-1) + C

s·V

i(n-1)

n Cs·V

i(n) C

I·V

o(n) = C

I·V

o(n-1) + C

s·V

i(n-1)

n+1/2 … …

B. Murmann 66EE315B - Chapter 11

Integrator Analysis (1)

• Assuming that Vo

is sampled during φ1, we have

1 1

1

1

1 1

1

I o I o s i

I o I o s i

o s

i I

CV (n ) CV (n ) C V (n )

CV (z) z CV (z ) z C V (z )

V (z ) C z

V (z ) C z

− −

= − + −

= +

∴ =

• Unfortunately, this ideal expression holds only for infinite

amplifier gain

– Let's look at impact of finite gain

B. Murmann 67EE315B - Chapter 11

Finite Gain (1)

t/Ts Qs QI

n-1 Cs·V

i(n-1) C

I·V

o(n-1)·[1+1/A]

n-1/2 Cs·V

o(n-1/2)/A C

I·V

o(n-1/2)·[1+1/A] = C

I·V

o(n-1)·[1+1/A] +

Cs·V

i(n-1) - C

s·V

o(n-1/2)/A

n Cs·V

i(n) C

I·V

o(n)·[1+1/A] = C

I·V

o(n-1)·[1+1/A] +

Cs·V

i(n-1) - C

s·V

o(n)/A

n+1/2 … …

A

B. Murmann 68EE315B - Chapter 11

Finite Gain (2)

• Again, assuming that Vo

is sampled during φ1, we have

[ ]

[ ]

1 1

1

1

11

1 1

1 11 1

11 1

1 1 11 1

1

sI o I o s i o

s

Io s

i I s

I

o o i

CCV (z) z CV (z ) z C V (z) V (z )

A A A

Cz

A CV (z) C g z

V (z) C C zz

A C

V (z ) z V (z ) g z V (z )

− −

− −

+ = + + −

− + ⋅ ∴ ≅ =

− − α ⋅− −

= − α ⋅ + ⋅

• Finite gain results in "leaky integrator"

– Some fraction of previous output is lost in new cycle

B. Murmann 69EE315B - Chapter 11

Frequency Domain View

• Limited gain at low frequencies (ω→0, z →1)

[ ]0 1 1 1z

g gH H(z) A

=

= = = ∝

− − α α

• But noise shaping relies on high integrator gain at low frequencies…

B. Murmann 70EE315B - Chapter 11

Required DC Gain

• Good practice to make OTA gain at least a few times larger than

oversampling ratio

[Boser & Wooley, JSSC 12/1988]

B. Murmann 71

Integrator Noise

• Noise splits into an input referred and output referred component

– The two noise components are correlated

– Luckily, only the input referred component is relevant

• We’ll see that output noise is first-order shaped by the modulator

EE315B - Chapter 11

[Schreier, TCAS1, 2005]

B. Murmann 72

Integrator’s Input Referred Noise

EE315B - Chapter 11

2in,tot

s s s

kT kT 1 kT 1v

1C C C 1 x1

x

= + + αγ+

+

14444244443

m onx g 2R= ⋅

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.

[Schreier, TCAS1, 2005]φ1

φ2

B. Murmann 73

Second-Order ∆Σ Modulator

PSD(f)

fs/2

f

2in,tot1v

PSD(f)

fs/2

f

2in,tot2v

( )1 1Y(z)2 1 z z

N2(z)

− −

= −2Y(z)

zN1(z)

=

EE315B - Chapter 11

B. Murmann 74

In-Band Noise

PSD(f)

fs/2

f

PSD(f)

fs/2

f

+

fs/2

ffb

Digital filter

PSD(f)

fs/2

f

PSD(f)

fs/2

f

+

s

b

f / 2OSR

f=

fb

fb

EE315B - Chapter 11

B. Murmann 75

In-Band Noise

PSD(f)

fs/2

f

PSD(f)

fs/2

f

+

2in,tot1

1v

OSR⋅

22in,tot2 3

1v

3 OSR

π

22 2 2in,tot in,tot1 in,tot2 3

1 1v v v

OSR 3 OSR

π= ⋅ + ⋅

Total in-band thermal noise at modulator input:

EE315B - Chapter 11

B. Murmann 76EE315B - Chapter 11

Example of a Continuous Time Modulator

[Mitteregger, ISSCC 2006]

• 4-stage amplifier with feedforward compensation

– Impractical for SC circuits

– Great for CT delta-sigma modulators

B. Murmann 77EE315B - Chapter 11

Multi-Mode Modulator

[Ouzounov, ISSCC 2007]

• Delta-sigma ADCs are

more amenable to BW

and DR reconfiguration

– Very hard to

reconfigure pipelined

ADCs

• Great for flexible, multi-

standard wireless

receivers

B. Murmann 78EE315B - Chapter 11

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

B. Murmann 79EE315B - Chapter 11

Example

• Filter must attenuate spectral components around ± N·fN,

– Otherwise they will alias onto signal after re-sampling

Decimation Filter (M = 256)

Σ∆ Modulator

(2nd-Order)

Analog Input

Digital Output (16 Bits)

fN

44.1 kHz

11.3 MHz

1-Bit

11.3 MHz

fS

FrequencyFrequencyFrequency

Signal

Noise

Quantization Noise

B. Murmann 80EE315B - Chapter 11

Filter Requirements

• Pass band 0…20kHz, transition band 20…24.1kHz (∆f=4.1kHz),

stop band 24.1kHz…5.65MHz

• A digital FIR filter that meets these requirements would require

more than fs/∆f = 11.3MHz/4.1kHz ≅ 2800 coefficients

– Impractical!

B. Murmann 81EE315B - Chapter 11

Multi-Step Decimation

• Key idea: Don’t try to decimate down to fN

in one step

– Perform a gradual reduction of sampling rate + some filtering

– E.g. Two-step decimation

• Example: M1=64, f

s/M

1=176.4kHz

B. Murmann 82EE315B - Chapter 11

Sinc Filter (1)

• A popular, low complexity choice for stage 1 is the so-called sinc-filter

• From a time domain perspective, this filter simply computes the average of several samples

( )1

0

1N

i

y(n ) x n iN

=

= −∑

• Frequency domain

1

1 1

1

NzH(z )

N z

=

( )11

s

fj N

s f

s

fsin N

fH( ) e

fN

f

− π −

π

ω =π

• Zeros at multiples of fs/N

– Make N=M1

to attenuate alias components!

B. Murmann 83EE315B - Chapter 11

Cascade of K Sinc Filters

• Higher order means better rejection

– But also more in-band droop

• Can show that for Lth order noise shaping, an (L+1)th order sinc filter is the best choice

-100

-90

-80

-70

-60

-50

-40

-30

-20

-10

0

Frequency

0 2fs1

M1

fs1

M1

fN

fB

3fs1

M1

K=1

K=2

K=3

B. Murmann 84EE315B - Chapter 11

Sinc Filter Performance

• Only about 0.14 dB increase in baseband noise for decimation to an intermediate oversampling ratio of 4

• If droop is undesired, it can be corrected downstream, using a separate post-emphasis filter

Noise penalty relative to "brick wall" filter Droop

[Norsworthy, p.30]

[Norsworthy, p.31]

B. Murmann 85EE315B - Chapter 11

Sinc Filter Performance (2)

• In addition to suppressing quantization noise, the filter must attenuate out-of-band signals present at the modulator input

– Worst case freqeuncy is fs/M

1-fB

– E.g. 50dB for sinc3, and intermediate oversampling of 4x

– Any additional desired rejection must come from analog filter at modulator input

[Norsworthy, p.31]

B. Murmann 86EE315B - Chapter 11

Sinc Filter Implementation

X Y1 – z-1

Numerator Section:

X Y1 – z-1

Denominator Section:

1

X Y+

Delay

X Y+

Delay

B. Murmann 87EE315B - Chapter 11

Complete Filter Implementation

THIRD- ORDER

SINC FILTER

FIRST HALFBAND

FILTER (R=18)

SECOND HALFBAND

FILTER (R=110)

DROOP CORRECTION

FILTER (R=8)176.4

kHz88.2 kHz

44.1 kHz

OUT

44.1 kHz

IN

11.3 MHz

M = 22

M = 641

M = 23

1 20 22 22 16

Third-Order

Sinc Filter

200180160140120100806040200

-100

-90

-80

-70

-60

-50

-40

-30

-20

-10

0

FREQUENCY (kHz)

First

Halfband

Filter

Second

Halfband

Filter

Passband Ripple

= ± 0.01 dB

[Brandt & Wooley, JSSC 6/1994]

B. Murmann 88EE315B - Chapter 11

Droop Correction

2220181614121086420

-0.6

-0.5

-0.4

-0.3

-0.2

-0.1

0.0

0.1

0.2

0.3

0.4

0.5

0.6

FREQUENCY (kHz)

First Halfband

Filter

Second

Halfband

Filter

Droop-Correction

Filter

Third-Order

Sinc Filter

B. Murmann 89EE315B - Chapter 11

Implementation

• 43 multiplications and

84 additions per output

sample

• Can use serial

arithmetic to minimize

hardware area

– Since output rate is

usually fairly low

2020 2020 2020

Dout

Data RAM

22-Bit Arithmetic Unit (AU)

Coefficient/ Control ROM

7

7

CLK (11.3 MHz)

Addr

Addr

Ctrl.13

Din

Filter Output

(128 x 22)

22

(256 x 22)R/W

7

8

22

Σ∆ Modulator Output

PROCESSOR

SINC FILTER INTEGRATORS

Virtual Addr. Logic

Processor Input

B. Murmann 90EE315B - Chapter 11

D/A Conversion Revisited

LowpassFilter

N-Bit Digital lnput Word x(kT)

Digital-to-Analog InterfaceAnalog

b1

b2

b3

bN

• • •

Output

y(t)

yH(t)

Time

y(t)

Time

TS

Zero-OrderHold

x*(t) yH

(t)

B. Murmann 91EE315B - Chapter 11

Frequency Spectra

Spectral Images

fS 2fSfS/20 3fS

fS 2fSfS/20 3fS

Frequency

fS 2fSfS/20 3fS

|YH(f)|

|PZ(f)|

|X*(f)|

Baseband SignalMagnitude

Spectral Image Bands (Dirac Reconstruction)

B. Murmann 92EE315B - Chapter 11

Oversampling

• Oversampling greatly reduces reconstruction filter requirements

• How to create oversampled DAC input from a Nyquist rate signal?

|X(f)|

Magnitude

Frequency

|XM

(f)|

M fN

(M-1) fN

(M-2) fN

2 fN

fN

fS = M f

N

Spectral Images

Analog Filter

Analog Filter

fB

fB

(a)

(b)

Spectral Image Bands

B. Murmann 93EE315B - Chapter 11

Interpolation (1)

• Can increase the sampling rate of a discrete time signal by a

factor of M, by inserting M-1 zero-valued samples between the

actual Nyquist rate samples ("zero stuffing")

– Causes an M-fold periodic repetition of the baseband

spectrum

Nyquist-rate

After

Input

Zero

Spectral Images

Insertion …

fS

=M fN

(M-1) fN

(M-2) fN

2 fN

fN

M fN

(M-1) fN

(M-2) fN

2 fN

fS

=fN

fB

fB

Spectral Image Bands

B. Murmann 94EE315B - Chapter 11

Interpolation (2)

Digital

Interpolator

Lowpass

Output

Filter

S NNNNN

M

fB

fB

B

fS

=M fN

fS

=M fN

• 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. Murmann 95EE315B - Chapter 11

Example

• Digital noise shaper is essentially a digital sigma-delta loop

– Shapes "truncation noise" that results from truncating 16-bit

word to a 1-bit output

Digital

InputfN

16

M fN

M fN

Digital

Interpolator

Digital

Noise

Shaper

Reconstruction

Filter

Analog

ANALOGDIGITAL

1-bit D/A Interface

Analog

Output

16 1

B. Murmann 96EE315B - Chapter 11

Spectra

Digital

Interpolator

Noise

Analog

Input

Output

Shaper

Output

M fN

(M-1) fN

(M-2) fN

2 fN

fN

M fN

M fN

Output

Spectral Images

Quantization Noise

Baseband Signal

Frequency

Truncation Noise

B. Murmann 97EE315B - Chapter 11

Example

• Clipper prevents second integrator from overflowing

– Digital "wrap around" would cause large errors

Y(z) = z – 2

X(z) + (1 – z –1

) 2

E(z)

Σ z–1X(z) Y(z)

Σ

2

Σ z–1

+ +

116

E(z)

+

+

+

Clipper

18 19

18

To 1-bit D/A Interface

[Su &Wooley, JSSC 12/94]

B. Murmann 98EE315B - Chapter 11

Semi-Digital Reconstruction (1)

• Attractive alternative to fully analog reconstruction filter

– Build FIR filter with weighted analog outputs

z– 1

z– 1

a1

Σ

a2

an

DigitalInput

n -Bit Shift Register

Analog Output, AOUT

HFIR

(z) = a1 z

–1 + a

2 z

–2 + ... + a

n z

–n

DIGITAL

ANALOG

1D

IN

. . .

z– 1

. . .

[Su &Wooley, JSSC 12/94]

B. Murmann 99EE315B - Chapter 11

Semi-Digital Reconstruction (2)

• Linear if H(z) is independent of DIN

(z)

+AnalogOutput

DigitalInput 128-Bit Shift Register

a1

Current-to-VoltageConversion

WeightedCurrentSources

DIGITAL

ANALOG

Iout

Iout

a2

a128

. . .

AOUT

z( ) a1z

1–a

2z

2–a

3z

3–… a

nz

n –

+ + + + DIN

z( )=

H (z)

B. Murmann 100EE315B - Chapter 11

Measurement Results

1k 10k 100k 1M–160

–140

–120

–100

–80

–60

–40

–20

Frequency (Hz)

Po

we

r S

pe

ctr

um

(d

B)

Noise Shaper Output

Analog Output

0

Reconstruction Filter Output

B. Murmann 1EE315B - Chapter 12

Energy Limits in A/D Converters

Boris Murmann

Stanford University

[email protected]

Copyright © 2013 by Boris Murmann

B. Murmann 2

ADC Landscape in 2005

B. Murmann, "ADC Performance Survey 1997-2013," [Online]. Available: http://www.stanford.edu/~murmann/adcsurvey.html

20 30 40 50 60 70 80 90 100 110

10-12

10-10

10-8

10-6

SNDR [dB]

P/fs [J]

ISSCC & VLSI 1998-2005

EE315B - Chapter 12

B. Murmann 3

ADC Landscape in 2013

B. Murmann, "ADC Performance Survey 1997-2013," [Online]. Available: http://www.stanford.edu/~murmann/adcsurvey.html

20 30 40 50 60 70 80 90 100 110

10-12

10-10

10-8

10-6

SNDR [dB]

P/fs [J]

ISSCC & VLSI 2006-2013

ISSCC & VLSI 1998-2005

EE315B - Chapter 12

B. Murmann 4

Questions

• How much more improvement can we hope for? What is the

fundamental energy limit?

• Will certain architectures continue to improve faster than others?

Are there any architecture-specific limits?

• Will CMOS process technology scaling play a significant role in

future improvements?

• How does absolute conversion speed affect energy

consumption and the projected limits?

EE315B - Chapter 12

B. Murmann 5

Fundamental Limit

2

FSV1

2 2SNR

kT

C

=

min FS s DDP CV f V= ⋅

DD FSV V=

[Hosticka, Proc. IEEE 1985; Vittoz, ISCAS 1990]

min

min

s

PE 8kT SNR

f= = ⋅

EE315B - Chapter 12

B. Murmann 6

20 30 40 50 60 70 80 90 100 110

10-14

10-12

10-10

10-8

10-6

SNDR [dB]

Energ

y [J]

ISSCC & VLSI 1998-2005

Emin

ADC Landscape in 2005

4x/6dB

EE315B - Chapter 12

B. Murmann 7

20 30 40 50 60 70 80 90 100 110

10-14

10-12

10-10

10-8

10-6

SNDR [dB]

Energ

y [J]

ISSCC & VLSI 2006-2013

ISSCC & VLSI 1998-2005

Emin

ADC Landscape in 2013

4x/6dB

EE315B - Chapter 12

B. Murmann 8

20 30 40 50 60 70 80 90 100 110

100

102

104

106

108

SNDR [dB]

EADC/E

min

ISSCC & VLSI 2006-2013

ISSCC & VLSI 1998-2005

Normalized Plot

~10,000

↓100x in 8 years

~100

↓~2x in 8 years

EE315B - Chapter 12

B. Murmann 9

Aside: Figure of Merit Considerations

• There are (at least) two widely used ADC figures of merit (FOM)

used in literature

• Walden FOM

– Energy increases 2x per bit (ENOB)

– Empirical

• Schreier FOM

– Energy increases 4x per bit (DR)

– Thermal

– Ignores distortion

ENOBsnyq

PowerFOM

2 f=

BWFOM DR(dB) 10log

P

= +

EE315B - Chapter 12

B. Murmann 10

FOM Lines

• Best to use thermal FOM for designs with SNDR > 60dB

20 30 40 50 60 70 80 90 100 110

10-14

10-12

10-10

10-8

10-6

SNDR [dB]

Energ

y [J]

ISSCC & VLSI 1998-2005

ISSCC & VLSI 2006-2013

Emin

Walden FOM = 10fJ/conv-step

Schreier FOM = 170dB

EE315B - Chapter 12

B. Murmann 11

Energy by Architecture

EE315B - Chapter 12

20 30 40 50 60 70 80 90 100

10-12

10-10

10-8

10-6

SNDR [dB]

P/fs [J]

Flash

Pipeline

SAR

∆Σ

Other

B. Murmann 12

Flash ADC

EencEcomp

EE315B - Chapter 12

B. Murmann 13

Encoder

• Assume a Wallace encoder (“ones counter”)

• Uses ~2B–B full adders, equivalent to ~ 5∙(2B–B) gates

( )B

enc gateE 5 2 B E≅ ⋅ − ⋅

EE315B - Chapter 12

B. Murmann 14

Matching-Limited Comparator

Simple Dynamic Latch

2

2 2 cVT

VOS VT

ox

CAA

WL Cσ ≅ =

2

VT ox

c cmin2

VOS

A CC C= +

σ

( )2

2B 2 2 BDDcomp ox VT cmin DD2

inpp

VE 144 2 C A C V 2 1

V

≅ ⋅ ⋅ ⋅ + ⋅ −

14243

SNR[dB] 3B

6

+≅

CcCc

Assuming Ccmin = 5fF

for wires, clocking, etc.

inpp

VOS B

V13

4 2σ =

Matching

Energy

3dB penalty

accounts for

“DNL noise”

Offset

Required

capacitance

Confidence

interval

EE315B - Chapter 12

B. Murmann 15

Typical Process Parameters

Process

[nm]

AVT

[mV-µm]

Cox

[fF/µm2]AVT

2Cox /kT Egate [fJ]

250 8 9 139 80

130 4 14 54 10

65 3 17 37 3

32 1.5 43 23 1.5

EE315B - Chapter 12

B. Murmann 16

15 20 25 30 35 40

10-16

10-14

10-12

10-10

10-8

10-6

SNDR [dB]

P/fsnyq [J]

Flash ISSCC & VLSI 1997-2012

Eflash65nm

Ecomp65nm

Emin

Comparison to State-of-the-Art

[4] Daly, ISSCC 2008

[5] Chen, VLSI 2008

[6] Geelen, ISSCC 2001 (!)

[6]

[1]

[5]

[1] Van der Plas, ISSCC 2006

[2] El-Chammas, VLSI 2010

[3] Verbruggen, VLSI 2008

[3] [4][2]

EE315B - Chapter 12

B. Murmann 17

Impact of Scaling

15 20 25 30 35 4010

-14

10-12

10-10

10-8

10-6

SNDR [dB]

P/fsnyq [J]

Flash ISSCC & VLSI 1997-2012

Eflash250nm

Eflash130nm

Eflash65nm

Eflash32nm

Emin

EE315B - Chapter 12

B. Murmann 18

SC Delta-Sigma Modulator

Assumptions

Closed-loop gain = ½

Infinite transistor fT (Cgs=0)

Thermal noise factor (γ)

equals 1

Bias device has same

noise as amplifier device

Linear settling only

(no slewing)

i

i

i

C 2

C 3C

2

β = =

+

( )eff i L i L i

1 2C C 1 C C C C

3 3= −β + = + ≅

1C /2

C

2

Model of first

integrator

EE315B - Chapter 12

B. Murmann 19

SC Integrator Constraints

2

inpp

eff

V1

2 2SNR

kT 14C OSR

Thermal noise

sets Ceff

( )eff s s

m

d

C T / 2 T / 2

g 1 ln SNRln

τ = = ≅β

ε

Settling time

sets gm

gm

sets powerm

DD

m

D

gP V

g

I

=

EE315B - Chapter 12

B. Murmann 20

Pulling It All Together

Excess noise

Finite β

( )

2

DDintDT

minpp DD

D

V 1 1E 64 kT SNR ln SNR

gV V

I

= ⋅ ⋅ ⋅ ⋅ ⋅ ⋅

64748

14243

Settling

“Number of τ”

Supply

utilization

VDD

penalty

Transconductor

efficiency

• For settling with ~10 time constants and VDD=1V,

gm/ID=1/(1.5kT/q), Vinpp=0.5V, we have

E ≅ 200kT · SNR

EE315B - Chapter 12

B. Murmann 21

60 65 70 75 80 85 90 95 100 105 110

10-12

10-10

10-8

10-6

SNDR [dB]

P/fsnyq [J]

DT∆Σ ISSCC & VLSI 1997-2012

CT∆Σ ISSCC & VLSI 1997-2012

First Integrator

EintCT

EintDT

Emin

Comparison to State-of-the-Art

[6]

[5] Chae, ISSCC 2008

[6] Pena Perez, ISSCC 2011

[7] Park, VLSI 2008

[8] Brewer, ISSCC 2005

[3]

[7]

[1] [2]

[1] Kauffman, ISSCC 2011

[2] Witte, ISSCC 2012

[3] Shettigar, ISSCC 2012

[4] Gealow, VLSI 2011

[5]

[8]

[4]

EE315B - Chapter 12

B. Murmann 22

Overall Picture

EE315B - Chapter 12

20 30 40 50 60 70 80 90 100 11010

-14

10-12

10-10

10-8

10-6

SNDR [dB]

P/fs [J]

Flash

Pipeline

SAR

∆Σ

Other

Eflash32nm,cal

Epipe

Esar

ECT∆Σ

Emin

B. Murmann 23

Discussion

• Today’s designs are very close to the predicted limits

• The limit lines at high resolution are set by fundamental thermal

noise and architectural circuit overhead

– Technology scaling won’t help much

• Sometimes it is even argued that technology scaling will

deteriorate efficiency, due to low VDD

– Let’s have a closer look at this…

EE315B - Chapter 12

B. Murmann 24

A Closer Look at the Impact of

Technology Scaling

• Low VDD hurts, but this is not the only factor

• Designers have worked hard to maintain (if not improve)

Vinpp/VDD in low-voltage designs

• How about gm/ID?

2

DD

DD inpp m

D

V1 1E

V V g

I

∝ ⋅ ⋅

As shown previously:

EE315B - Chapter 12

B. Murmann 25

-0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 0.60

5

10

15

20

25

30

VGS

-Vt [V]

gm

/ID [

S/A

]

180nm

90nm

gm

/ID

Considerations (1)

• Largest value occurs in weak inversion ~(1.5⋅kT/q)-1

• Range of gm/ID does not scale (much) with technology

EE315B - Chapter 12

B. Murmann 26

-0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 0.60

20

40

60

80

100

120

VGS

-Vt [V]

f T [

GH

z]

180nm

90nm

gm

/ID

Considerations (2)

• fT is small in weak inversion region

• Must look at gm/ID for given fT requirement to compare technologies

EE315B - Chapter 12

B. Murmann 27

0 20 40 60 80 1005

10

15

20

25

30

gm

/ID [S

/A]

fT [GHz]

180nm

90nm

45nm

gm

/ID

Considerations (3)

• Example

– fT = 30GHz

– 90nm: gm/ID = 18S/A

– 180nm: gm/ID = 9S/A

• For a given fT, 90nm device

takes less current to produce

same gm

– Helps mitigate, if not

eliminate penalty due to

lower VDD (!)

EE315B - Chapter 12

B. Murmann 28

ADC Energy for 90nm and Below

EE315B - Chapter 12

20 30 40 50 60 70 80 90 100 110

10-12

10-10

10-8

10-6

SNDR [dB]

P/fsnyq [J]

ISSCC & VLSI 1997-2013

90nm and below

B. Murmann 29

104

105

106

107

108

109

1010

100

102

104

106

fs [Hz]

FO

MW

[fJ

/conv-s

tep]

2006-2013

1998-2005

Efficiency versus Absolute Speed

=

· 2≅

EE315B - Chapter 12

B. Murmann 30

Analysis

1

=3

2

∝ = ·

Energy efficiency reduces with larger

gate overdrive

But, large gate overdrive is needed for

high transistor fT

fT is usually chosen as a multiple of the

sampling rate

EE315B - Chapter 12

B. Murmann 31

Conclusions (1)

• No matter how you look at it, today’s 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

• At high resolution, we seem to be stuck at E/Emin

~100

– The factor 100 is due to architectural complexity and inefficiency: excess noise, signal < supply, non-noise limited circuitry, class-A biasing, …

• This will be very hard to change

– Scaling won’t help (much)

– Some of the recent data points already use class-B-like amplification

– Can we somehow recycle charge?

EE315B - Chapter 12

B. Murmann 32

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?

EE315B - Chapter 12

B. Murmann 33

Example: Finite Innovation Rate

Sampling of Ultrasound Signals

Analog

Filter

Recon-

struction

High BW Low BW after filtering

~100x reduction in sampling rate

[Inspired by theoretical work of Prof. Yonina Eldar]

EE315B - Chapter 12