Summary Last Lecture - inst.eecs.berkeley.eduee247/fa06/lectures/L23_3_f06.pdf · dac) dac + + -...

37
EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 1 EE247 Lecture 23 ADC Converters – Techniques to reduce flash ADC complexity • Interpolating (continued) • Folding • Multi-Step ADCs – Two-Step flash – Pipelined ADCs EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 2 Summary Last Lecture ADC Converters – Comparator design (continued) Comparator architecture examples – Techniques to reduce flash ADC complexity Interpolating (to be continued)

Transcript of Summary Last Lecture - inst.eecs.berkeley.eduee247/fa06/lectures/L23_3_f06.pdf · dac) dac + + -...

Page 1: Summary Last Lecture - inst.eecs.berkeley.eduee247/fa06/lectures/L23_3_f06.pdf · dac) dac + + - +--+-+

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 1

EE247Lecture 23

ADC Converters– Techniques to reduce flash ADC

complexity• Interpolating (continued)• Folding• Multi-Step ADCs

– Two-Step flash– Pipelined ADCs

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 2

Summary Last Lecture

ADC Converters– Comparator design (continued)

• Comparator architecture examples

– Techniques to reduce flash ADC complexity• Interpolating (to be continued)

Page 2: Summary Last Lecture - inst.eecs.berkeley.eduee247/fa06/lectures/L23_3_f06.pdf · dac) dac + + - +--+-+

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 3

Interpolation• Idea

– Reduce number of preamps & instead interpolate between preamp outputs

• Reduced number of preamps– Reduced input capacitance– Reduced area, power dissipation

• Same number of latches (2B-1)

• Important “side-benefit”– Decreased sensitivity to preamp offset

Improved DNL

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 4

Preamp Output

Zero crossings (to be detected by latches) at Vin =

Vref1 = 1 ΔVref2 = 2 Δ

0 0.5 1 1.5 2 2.5 3-0.6

-0.4

-0.2

0

0.2

0.4

0.6

Vin /Δ

Pre

amp

Out

put

A2A1

VinA2

A1

Vref1 Vref2

Vref1

Vref2

Page 3: Summary Last Lecture - inst.eecs.berkeley.eduee247/fa06/lectures/L23_3_f06.pdf · dac) dac + + - +--+-+

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 5

Differential Preamp OutputDifferential output crossings @ Vin =

Vref1 = 1 ΔVref2 = 2 Δ

Note: Additional crossing ofA1&-A2 (A2&-A1)

A1+A2 cross zero at:

Vref12 = 0.5*(1+2) Δ=1.5Δ

0 0.5 1 1.5 2 2.5 3-0.5

0

0.5

Pre

amp

Out

put

0 0.5 1 1.5 2 2.5 3

A 1+A

2

A2-A2A1-A1

A1+A2

Vin / Δ

-0.5

0

0.5

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 6

Interpolation in Flash ADCHalf as many reference voltages and preamps Interpolation factor:x2

Example: For 10bit straight FlashADC need 2B=1024 preamps compared 2B-1=512 for x2 interpolation

Possible to accomplish higher interpolation factor

Interpolation at the output of preamps

Vin

A1

A2

Compare A2& -A1Comparator output is sign of A1+A2

Page 4: Summary Last Lecture - inst.eecs.berkeley.eduee247/fa06/lectures/L23_3_f06.pdf · dac) dac + + - +--+-+

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 7

Interpolation in Flash ADCPreamp Output Interpolation

Interpolate between two consecutive output via impedance Z

Choices of Z:1. Resistors (Kimura)2. Capacitors (Kusumoto)3. Current mode (Roovers)

Vin

A1

A2

Z

Z

Z

Vo1

Vo2

Vo1.5 = (Vo

1+Vo2)/2

Ref: H. Kimura et al, “A 10-b 300-MHz Interpolated-Parallel A/D Converter,” JSSC, pp. 438-446, April 1993K. Kusumoto et al, "A 10-b 20-MHz 30-mW pipelined interpolating CMOS ADC," JSSC, pp.1200 -1206, December 1993. R. Roovers et al, "A 175 Ms/s, 6 b, 160 mW, 3.3 V CMOS A/D converter," JSSC, pp. 938 - 944, July 1996.

Z

...

...

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 8

Higher Order Resistive Interpolation

Ref: H. Kimura et al, “A 10-b 300-MHz Interpolated-Parallel A/D Converter,”JSSC April 1993, pp. 438-446

• Resistors produce additional levels

• With 4 resistors per side, the “interpolation factor”M=8(M ratio of latches/preamps)

Page 5: Summary Last Lecture - inst.eecs.berkeley.eduee247/fa06/lectures/L23_3_f06.pdf · dac) dac + + - +--+-+

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 9

DNL Improvement• Preamp offset distributed over

M resistively interpolated voltages:

Impact on DNL divided by M

• Latch offset divided by gain of preamp

Use “large” preamp gainNext: Investigate how large preamp gain can be

Ref: H. Kimura et al, “A 10-b 300-MHz Interpolated-Parallel A/D Converter,”JSSC April 1993, pp. 438-446

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 10

Preamp Input RangeIf linear region of preamp transfer curve do not overlap

Dead-zone in the interpolated transfer curve! Results in error

Linear consecutive preamp input ranges must overlapi.e. range > Δ

Sets upper bound on preamp gain <VDD / Δ

0 0.5 1 1.5 2 2.5 3

A2-A2A1-A1

0 0.5 1 1.5 2 2.5 3-0.5

0

0.5 A1+A2

Pre

amp

Out

put

A 1+A

2

Vin / Δ

Linear region of transfer curve not overlapping

-0.5

0

0.5

Page 6: Summary Last Lecture - inst.eecs.berkeley.eduee247/fa06/lectures/L23_3_f06.pdf · dac) dac + + - +--+-+

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 11

Interpolated-Parallel ADC

Ref: H. Kimura et al, “A 10-b 300-MHz Interpolated-Parallel A/D Converter,” JSSC April 1993, pp. 438-446

10-bit overall resolution:7-bit flash (127

preamps and 128 resistors) & x8 interpolation

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 12

Measured Performance

Ref: H. Kimura et al, “A 10-b 300-MHz Interpolated-Parallel A/D Converter,” JSSC April 1993, pp. 438-446

(7+3)

Low inputcapacitance

Page 7: Summary Last Lecture - inst.eecs.berkeley.eduee247/fa06/lectures/L23_3_f06.pdf · dac) dac + + - +--+-+

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 13

Interpolation Summary• Consecutive preamp transfer curve need to have overlap

Limits gain of preamp to ~VDD/Δ

• The added impedance at the output of the preamp typically reduces the bandwidth and affects the maximum achievable frequencies

• DNL due to preamp offset reduces by interpolation factor M

• Interpolation reduces # of preamps and thus reduces input C-however, the # of required latches the same as “straight” Flash

Use folding to reduce the # of latches

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 14

Folding Converter

• Two ADCs operating in parallel– MSB ADC– Folder + LSB ADC

• Significantly fewer comparators than flash • Fast• Typically, nonidealities in folder limit resolution to ~10Bits

LOGICLSB

ADC

MSBADC

Folding Circuit

VIN

DigitalOutput

Page 8: Summary Last Lecture - inst.eecs.berkeley.eduee247/fa06/lectures/L23_3_f06.pdf · dac) dac + + - +--+-+

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 15

Example: Folding Factor of 4

Vin

VFSVFS/2

Vout

00

01

10

11

ToLSB

Quantizer

MSBbits

• Folding factornumber of folds

• Folder maps input to smaller range

• MSB ADC determines which fold input is in

• LSB ADC determines position within fold

• Logic circuit combines LSB and MSB results

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 16

Example: Folding Factor of 4

Vin

VFSVFS/2

Vout

00

01

10

11• How are folds generated?

• Note: Sign change every other fold + reference shift

Fold 1 Vout=+ VinFold 2 Vout= - Vin + VFS/2Fold 3 Vout=+ Vin - VFS/2Fold 4 Vout= - Vin + VFS

1 32 4

Page 9: Summary Last Lecture - inst.eecs.berkeley.eduee247/fa06/lectures/L23_3_f06.pdf · dac) dac + + - +--+-+

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 17

Generating Foldsvia Source-Couple Pairs

M1 M2

IS

Vref1M3 M4

IS

Vref2 M5 M6

IS

Vref3M7 M8

IS

Vref4

R1 R2

VDD

-Vo+

Vin

Vref1 < Vref2 < Vref3 < Vref4As Vin changes, only one of M1, M3, M5, M7 is on depending on the input level

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 18

CMOS Folder Output

CMOS folder transfer curve max. min. portions:

RoundedAccurate at

zero-crossings

In fact, most folding ADCs do not use the folds, but only the zero-crossings!

0 0.5 1 1.5 2 2.5 3 3.5 4-0.5

0

0.5

Fold

er O

utpu

t

0 0.5 1 1.5 2 2.5 3 3.5 4-0.1

-0.05

0

0.05

0.1

Erro

r (Id

eal-R

eal)

Vin /Δ

Ideal Folder

CMOS Folder

Page 10: Summary Last Lecture - inst.eecs.berkeley.eduee247/fa06/lectures/L23_3_f06.pdf · dac) dac + + - +--+-+

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 19

Parallel Folders Using Only Zero-Crossings

Vref + 3/4 * Δ

Comparator

Folder 3

Folder 2

Folder 1

Folder 4

LogicVref + 2/4 * Δ

Vref + 1/4 * Δ

Vref + 0/4 * Δ

Vin

LSB bits

(to be combined with MSB bits)

Comparator

Comparator

Comparator

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 20

Parallel Folder Outputs

• 4 folders with 4 folds each

• 16 zero crossings• 4 LSB bits

• Higher resolution• More folders

Large complexity• Interpolation

0 1 2 3 4 5

-0.4

-0.2

0

0.2

0.4

Vin /Δ

Fold

er O

utpu

t

F1F2F3F4

Page 11: Summary Last Lecture - inst.eecs.berkeley.eduee247/fa06/lectures/L23_3_f06.pdf · dac) dac + + - +--+-+

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 21

Folding & Interpolation

FineFlashADC

ENCODER

Vref + 3/4 * Δ

Folder 3

Folder 2

Folder 1

Folder 4

Vref + 2/4 * Δ

Vref + 1/4 * Δ

Vref + 0/4 * Δ

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 22

Folder / Interpolator OutputExample:4 Folders + 4 Resistive Interpolator per Stage

0 1 2 3 5-0.5

-0.4

-0.3

-0.2

-0.1

0

0.1

0.2

0.3

0.4

0.5

Vin / Δ

Fold

er /

Inte

rpol

ator

Out

put F1

F2I1I2I3

1.5 1.6 1.7 1.8

-0.02

0

0.02

0.04

4

Note: Output of two folders + corresponding interpolator only shown

Page 12: Summary Last Lecture - inst.eecs.berkeley.eduee247/fa06/lectures/L23_3_f06.pdf · dac) dac + + - +--+-+

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 23

Folder / Interpolator OutputExample:2 Folders + 8 Resistive Interpolator per Stage

Non-linear distortionInterpolate only between closely spaced folds to avoid nonlinear distortion

1.5 1.6 1.7 1.8 1.9 2 2.1-0.06

-0.04

-0.02

0

0.02

0.04

0.06

0 1 2 3 4 5-0.5

-0.4

-0.3

-0.2

-0.1

0

0.1

0.2

0.3

0.4

0.5

Fold

er /

Inte

rpol

ator

Out

put F1

F2I1I2I3

Vin / Δ

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 24

A 70-MS/s 110-mW 8-b CMOS Folding and Interpolating A/D Converter

Ref: B. Nauta and G. Venes, JSSC Dec 1985, pp. 1302-8

Page 13: Summary Last Lecture - inst.eecs.berkeley.eduee247/fa06/lectures/L23_3_f06.pdf · dac) dac + + - +--+-+

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 25

A 70-MS/s 110-mW 8-b CMOS Folding and Interpolating A/D Converter

Note: Total of 40 comparators compared to 28-1= 255 for straight flash

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 26

A 70-MS/s 110-mW 8-b CMOS Folding and Interpolating A/D Converter

Ref: B. Nauta and G. Venes, JSSC Dec 1985, pp. 1302-8

Page 14: Summary Last Lecture - inst.eecs.berkeley.eduee247/fa06/lectures/L23_3_f06.pdf · dac) dac + + - +--+-+

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 27

Time Interleaved Converters• Example:

– 4 ADCs operating in parallel at sampling frequency fs

– Each ADC converts on one of the 4 possible clock phases

– Overall sampling frequency= 4fs

– Note T/H has to operate at 4fs!

• Extremely fast:Typically, limited by speed of T/H

• Accuracy limited by mismatch in individual ADCs (timing, offset, gain, …)

T/H

4fsADC

fs

ADC

ADC

ADC

Out

put C

ombi

ner

VIN

Dig

ital O

utpu

tfs+T/4

fs+2T/4

fs+3T/4

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 28

Two-Step (2+2) Example

• Using only one ADC: output contains large quantization error

• "Missing voltage" or "residue" ( -εq1)

• Idea: Use second ADC to quantize and add -εq1

0 1 2 300

01

10

11

0 1 2 3-1

-0.5

0

0.5

1

[LS

B]

ADC Input [LSB]

Vin

+Dout = Vin + εq1

2-bit ADC 2-bit ADC

???

ε q1

D out

Vin

Page 15: Summary Last Lecture - inst.eecs.berkeley.eduee247/fa06/lectures/L23_3_f06.pdf · dac) dac + + - +--+-+

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 29

Two Stage Example

• Use DAC to compute missing voltage• Add quantized representation of missing voltage• Why does this help? How about εq2 ?

Vin “Coarse“

+

Dout= Vin + εq1

2-bit ADC 2-bit ADC

“Fine“+-

2-bit DAC-εq1

-εq1+εq2

-εq1+εq2

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 30

Two Step (2+2) Flash ADC

Vin Vin Vin

4-bit Straight Flash ADC Ideal 2-step Flash ADC

Page 16: Summary Last Lecture - inst.eecs.berkeley.eduee247/fa06/lectures/L23_3_f06.pdf · dac) dac + + - +--+-+

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 31

Two Stage Example

• Fine ADC is re-used 22 times• Fine ADC's full scale range needs to span only 1 LSB of coarse

quantizer

221

22

2 222 ⋅== refref

q

VVε

00 01 10 11

Vref1/22

−εq1

00

01

10

11

First ADC“Coarse“

Second ADC“Fine“VinVref1

Vref2

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 32

Two-Stage (2+2) ADC Transfer Function

Dout

VinVref1

0000000100100011010001010110011110001001101010111100110111101111

CoarseBits(MSB)

FineBits(LSB)

Page 17: Summary Last Lecture - inst.eecs.berkeley.eduee247/fa06/lectures/L23_3_f06.pdf · dac) dac + + - +--+-+

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 33

Residue or Multi-Step Type ADCIssues

• Operation:– Coarse ADC determines MSBs– DAC converts the coarse ADC output to analog- Residue is found by

subtracting (Vin-VDAC)– Fine ADC converts the residue and determines the LSBs– Bits are combined in digital domain

• Issue: 1. Fine ADC has to have precision in the order of overall ADC 1/2LSB 2. Speed penalty Need at least 1 clock cycle per extra series stage to resolve

one sample

(optional)coarse ADC

(B1-Bit)Vin

Residue

DAC(B2-Bit)

Fine ADC(K-Bit)

Bit

Com

bine

r

(B1+

B2)

-Bit

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 34

Solution to Issue (1)

• Accuracy needed for fine ADC relaxed by introducing inter-stage gain

– Example: By adding gain of x(G=2B1=4) prior to fine ADC in (2+2)bit case, precision required for fine ADC is reduced to 2-bit only!

– Additional advantage- coarse and fine ADC can be identical stages

Vin “Coarse“

+

Dout= Vin + εq1

2-bit ADC 2-bit ADC

“Fine“+-

2-bit DAC-εq1

-εq1+εq2

-εq1+εq2

G=2B1

Page 18: Summary Last Lecture - inst.eecs.berkeley.eduee247/fa06/lectures/L23_3_f06.pdf · dac) dac + + - +--+-+

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 35

Solution to Issue (2)

• Conversion time significantly decreased by employing T/H between stages– All stages busy at all times operation concurrent– During one clock cycle coarse & fine ADCs operate concurrently:

• First stage samples/converts/generates residue of input signal sample # n• While 2nd samples/converts residue associated with sample # n-1

Vin “Coarse“

+

Dout= Vin + εq1

2-bit ADC

2-bit ADC

“Fine“+-

2-bit DAC-εq1

-εq1+εq2

T/H+(G=2B1)

T/H

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 36

Pipelined A/D Converters

• Ideal operation• Errors and correction

– Redundancy– Digital calibration

• Implementation – Practical circuits– Stage scaling

Page 19: Summary Last Lecture - inst.eecs.berkeley.eduee247/fa06/lectures/L23_3_f06.pdf · dac) dac + + - +--+-+

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 37

Pipeline ADCBlock Diagram

• Idea: Cascade several low resolution stages to obtain high overall resolution (e.g. 10bit ADC can be built with series of 10 ADCs each 1-bit only!)

• Each stage performs coarse A/D conversion and computes its quantization error, or "residue“

• All stages operate concurrently

Align and Combine Data

Stage 1B1 Bits

Stage 2B2 Bits

Digital output(B1 + B2 + ... + Bk) Bits

Vin

MSB... ...LSB

Stage k Bk Bits

Vres1 Vres2

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 38

Pipeline ADCCharacteristics

• Number of components (stages) grows linearly with resolution

• Pipelining– Trading latency for conversion speed– Latency may be an issue in e.g. control systems– Throughput limited by speed of one stage → Fast

• Versatile: 8...16bits, 1...200MS/s

• Many analog circuit non-idealities can be corrected digitally

Page 20: Summary Last Lecture - inst.eecs.berkeley.eduee247/fa06/lectures/L23_3_f06.pdf · dac) dac + + - +--+-+

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 39

Pipeline ADC Concurrent Stage Operation

• Stages operate on the input signal like a shift register• New output data every clock cycle, but each stage

introduces at least ½ clock cycle latency

Align and Combine Data

Stage 1B1 Bits

Stage 2B2 Bits

Digital output(B1 + B2 + ... + Bk) Bits

VinStage kBk Bits

φ1φ2

acquireconvert

convertacquire

...

...

CLKφ1

φ2

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 40

Pipeline ADCLatency

[Analog Devices, AD 9226 Data Sheet]

Note: One conversion per clock cycle & 7 clock cycle latency

Page 21: Summary Last Lecture - inst.eecs.berkeley.eduee247/fa06/lectures/L23_3_f06.pdf · dac) dac + + - +--+-+

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 41

Pipeline ADCData Alignment

• Digital shift register aligns sub-conversion results in time

Stage 2B2 Bits

VinStage kBk Bits

φ1φ2

acquireconvert

convertacquire

...

...

+ +Dout

CLK CLK CLK

Stage 1B1 Bits

CLKφ1

φ2

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 42

Cascading More Stages

• LSB of last stage becomes very small • Impractical to generate several Vref• All stages need to have full precision

VinADC

+-DACADC

B3 bitsB2 bitsB1 bits

Vref Vref /2B1 Vref /2(B1+B2) Vref /2(B1+B2+B3)

Page 22: Summary Last Lecture - inst.eecs.berkeley.eduee247/fa06/lectures/L23_3_f06.pdf · dac) dac + + - +--+-+

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 43

Pipeline ADC Inter-Stage Gain Elements

• Practical pipelines by adding inter-stage gain use single Vref• Precision requirements decrease down the pipe

– Advantageous for noise, matching (later)

Vin ADCB3 bitsB2 bitsB1 bits

Vref

2B1

+-DACADC

Vref Vref Vref

2B22B3

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 44

Complete Pipeline StageVin +

-B-bitDAC

B-bitADC

D

-GVres

Vin0

0

Vref

−εq1

“ResiduePlot“

E.g.:B=2

G=22 =4

Vres

Vref

Page 23: Summary Last Lecture - inst.eecs.berkeley.eduee247/fa06/lectures/L23_3_f06.pdf · dac) dac + + - +--+-+

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 45

Pipeline ADCErrors

• We cannot build perfect ADCs, DACs and gain elements

• How can we tolerate/correct errors?• Let's first look at sub-ADC errors• Assumptions:

– Ideal DAC, ideal gain elements, only nonideality due to sub-ADC comparator offset

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 46

Pipeline ADC Model

1 q2 2out in,ADC q1

d1 d1 d 2

q( n 1) ( n 1) qnn 2 n 1

d( n 1)dj djj 1 j 1

G GD V 1 1

G G GG

.. . 1GG G

εε

ε ε− −− −

= =

⎛ ⎞ ⎛ ⎞= + − + − +⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎜ ⎟

⎝ ⎠ ⎝ ⎠⎛ ⎞⎜ ⎟+ − +⎜ ⎟⎝ ⎠∏ ∏

ΣΣ

εq1

- G1

Σ

ΣΣ

εq2

- G2

Σ

ΣΣ

εq(n-1)

- Gn-1

Σ

Vin,ADC

Dout 1/Gd1 1/Gd2

Vres1 Vres2 Vres(n-1)

Σ

1/Gd(n-1)

εqnD1 D2 D(n-1)Dn

Page 24: Summary Last Lecture - inst.eecs.berkeley.eduee247/fa06/lectures/L23_3_f06.pdf · dac) dac + + - +--+-+

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 47

Pipeline ADC Model

• If the "Analog" and "Digital" gain/loss is precisely matched:

⎟⎟

⎜⎜

⎛×= ∏

=

1

12log20..

n

jj

B GRD n

∏−

=

+= 1

1

, n

jj

qnADCinout

GVD

ε

jn

jnADC GBB ∑

=+=

1

12log

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 48

Pipeline ADCObservations

• The aggregate ADC resolution is independent of sub-ADC resolution

• Effective stage resolution Bj=log2(Gj)

• Overall conversion error does not (directly)depend on sub-ADC errors!

• Only error term in Dout contains quantization error associated with the last stage

• So why do we care about sub-ADC errors?Go back to two stage example

Page 25: Summary Last Lecture - inst.eecs.berkeley.eduee247/fa06/lectures/L23_3_f06.pdf · dac) dac + + - +--+-+

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 49

Pipeline ADCSub-ADC Errors

∏−

=

+= 1

1

, n

jj

qnADCinout

GVD

ε

1

2, G

VD qADCinout

ε+=

Grows outside ½ LSB bounds

Vin,ADCADCB1 bits

Vref Vref

Vres1

V εq2Vin0

0

Vref

Vres1

ref

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 50

Pipeline ADCSub-ADC Errors

Ideal 2-Stage Pipelined ADC 2-Stage Pipelined ADC with Coarse ADC Comp. Offset

Vin VinVinVin

Page 26: Summary Last Lecture - inst.eecs.berkeley.eduee247/fa06/lectures/L23_3_f06.pdf · dac) dac + + - +--+-+

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 51

Pipeline ADC1st-Stage Comparator Offset

First stage ADC Levels:(Levels normalized to LSB)Ideal comparator threshold: -1, 0, +1Comparator threshold including offset: -1, 0.3, +1

Problem: Vres1 exceeds 2nd pipeline stage overload range

Missing Code!

Overall ADC Transfer Curve

Vres1

Vres2

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 52

Pipeline ADC Three Ways to Deal with Errors

• All involve "sub-ADC redundancy“

• Redundancy in stage that produces errors– Choose gain for 2nd stage < 2B1

– Higher resolution sub-ADC

• Redundancy in succeeding stage(s)

Page 27: Summary Last Lecture - inst.eecs.berkeley.eduee247/fa06/lectures/L23_3_f06.pdf · dac) dac + + - +--+-+

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 53

(1) Inter-Stage Gain Following 1st stage < 2B1

• Choose G1 slightly less than 2B1

• Effective stage resolution becomes non-integer B1eff=log2G1

Ref: A. Karanicolas et. al., JSSC 12/1993

VinVref0

0

Vref

Vres1

Vin,ADCADCB1 bits

Vref Vref

εq2

Vres1

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 54

Correction Through Redundancy

“enlarged” residuum still within input range of next stage

Overall ADC Transfer Curve

Vres1

Vres2

If G1=2 instead of 4 Only 1Bit resolution from first stage (3-Bit total) No overall error!

Page 28: Summary Last Lecture - inst.eecs.berkeley.eduee247/fa06/lectures/L23_3_f06.pdf · dac) dac + + - +--+-+

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 55

(2) Higher Resolution Sub-ADC

• Keep G1=2B1 (e.g. keep G1=4)

• Add extra decision levels in sub-ADC (e.g. add 1 extra bit to 1st

stage)

• E.g. B1=B1eff+1

Ref: Singer et. al., VSLI1996

Vin

Vref00

Vref

Vres1

Vin,ADCADCB1 bits

Vref Vref

εq2

Vres1

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 56

(3) Over-Range AccommodationThrough Increase in Following Stage Resolution

• No redundancy in stage with errors

• Add extra decision levels in succeeding stage

Ref: Opris et. al., JSSC 12/1998

Vin

Vref00

Vref

Vres1

Vin,ADCADCB1 bits

Vref Vref

εq2

Vres1

Page 29: Summary Last Lecture - inst.eecs.berkeley.eduee247/fa06/lectures/L23_3_f06.pdf · dac) dac + + - +--+-+

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 57

Redundancy• The preceding analysis applies to any stage

in an an n-stage pipeline• Can always perceive a multi-stage pipelined

ADC as a single stage + backend ADCVin

B4 bitsB3 bitsB2 bitsB1 bits

VinB2+B3+B4 bitsB1 bits

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 58

Redundancy• In literature, sub-ADC redundancy schemes

are often called "digital correction" – a misnomer!

• No error correction takes place• We can tolerate sub-ADC errors as long as:

– The residues stay "within the box", or– Another stage downstream "returns the residue to

within the box" before it reaches last quantizer• Let's calculate tolerable errors for popular

"1.5 bits/stage" topology

Page 30: Summary Last Lecture - inst.eecs.berkeley.eduee247/fa06/lectures/L23_3_f06.pdf · dac) dac + + - +--+-+

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 59

1.5 Bits/Stage Example

• Comparators placed strategically to minimize overhead

• G=2

• Beff=log2G=log22=1

• B=log2(2+1)=1.589...

Ref: Lewis et. al., JSSC 3/1992

Vin

Vref00

Vref

Vres1

Vref/8

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 60

3-Stage 1.5-bps Pipelined ADC

• All three stagesComparator with

offset

• Overall transfer curve

No missing codesSome DNL error

Ref: S. Lewis et al, “A 10-b 20-MS/s Analog-to-Digital Converter,” J. Solid-State Circ., pp. 351-8, March 1992

Overall Transfer Curve

Vres1

Vres2

Vres3

Page 31: Summary Last Lecture - inst.eecs.berkeley.eduee247/fa06/lectures/L23_3_f06.pdf · dac) dac + + - +--+-+

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 61

Inter-Stage Amplifier Offset

• Input referred converter offset – usually no problem• Equivalent sub-ADC offset - accommodated through

adequate redundancy

+

ADC DAC-

D

VresVin G+

Vos +

-Vos

+

Vos

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 62

Gain Stage Errors

1, 1

1

2 ( 1) ( 1)22 1

1 2 ( 1)

1 1

1

1 ... 1

out in ADC qd

q q n n qnn n

d d d ndj dj

j j

GD VG

GGG G G

G G

δεδ

ε ε ε− −− −

= =

⎛ ⎞+= + −⎜ ⎟+⎝ ⎠⎛ ⎞⎛ ⎞

+ − + + − +⎜ ⎟⎜ ⎟ ⎜ ⎟⎝ ⎠ ⎝ ⎠∏ ∏

ΣΣ

εq1

- G1+δ

Σ

ΣΣ

εq2

- G2

Σ

ΣΣ

εq(n-1)

- Gn-1

Σ

Vin,ADC

Dout 1/(Gd1+δ ) 1/Gd2

Vres1 Vres2 Vres(n-1)

Σ

1/Gd(n-1)

εqnD1 D2 D(n-1)Dn

Small amount of gain error can be tolerated

Page 32: Summary Last Lecture - inst.eecs.berkeley.eduee247/fa06/lectures/L23_3_f06.pdf · dac) dac + + - +--+-+

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 63

Interstage Gain Error

1 0.5 0 0.5 11

0

1First Stage Residue (Gain Error)

Vin

Vre

s

1 0.5 0 0.5 11

0

1Converter Transfer Function (Gain Error)

Vin

Dou

t1 0.5 0 0.5 1

0.2

0

0.2Transfer Function Error(Gain Error)

Vin

Dou

t(ide

al) -

Dou

t

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 64

Gain Errors

• Gain error can be compensated in digital domain – "Digital Calibration"

• Problem: Need to measure/calibrate digital correction coefficient

• Example: Calibrate 1-bit first stage

• Objective: Measure G in digital domain

Page 33: Summary Last Lecture - inst.eecs.berkeley.eduee247/fa06/lectures/L23_3_f06.pdf · dac) dac + + - +--+-+

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 65

ADC Model

( )DACinres VVGV −⋅=1

2/)1(0)0(

refDAC

DAC

VDVDV

====

2

VrefG Vin⎛ ⎞⎜ ⎟⋅ −⎝ ⎠

inG V⋅

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 66

Calibration – Step 1

Vin= const.+

-1-bitDAC

1-bitADC

D

GVres1

(1)

BackendDback

(1)

MUX

“1“

Vref

( )( )

storeVVV

GD

VVGV

ref

refinback

refinres

→−

⋅=

−⋅=

2/

2/

)1(

)1(1

Page 34: Summary Last Lecture - inst.eecs.berkeley.eduee247/fa06/lectures/L23_3_f06.pdf · dac) dac + + - +--+-+

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 67

Calibration – Step 2

Vin= const.+

-1-bitDAC

1-bitADC

D

GVres1

(2)

BackendDback

(2)

MUX

“0“

Vref

( )( ) store

VVGD

VGV

ref

inback

inres

→−⋅=

−⋅=0

0)2(

)2(1

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 68

Calibration – Evaluate

( )

( )

GDD

VVGD

VVV

GD

backback

ref

inback

ref

refinback

⋅=−

−−−−−−−−−−−−−−−−−

−⋅=−

−⋅=

21

0

2/

)2()1(

)2(

)1(

Page 35: Summary Last Lecture - inst.eecs.berkeley.eduee247/fa06/lectures/L23_3_f06.pdf · dac) dac + + - +--+-+

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 69

Accuracy Bootstrapping

• Highest sensitivity to gain errors in front-end stages

∏∏−

=

−−

=

− +⎟⎟⎠

⎞⎜⎜⎝

⎛−++⎟⎟

⎞⎜⎜⎝

⎛−+⎟⎟

⎞⎜⎜⎝

⎛−+= 1

1

)1(

)1(2

1

)1(

2

2

1

2

1

11, 1...11 n

jdj

qn

nd

nn

jdj

nq

dd

q

dqADCinout

GGG

GGG

GGGVD

εεεε

ΣΣ

εq1

- G1

Σ

ΣΣ

εq2

- G2

Σ

ΣΣ

εq(n-1)

- Gn-1

Σ

Vin,ADC

Dout 1/Gd1 1/Gd2

Vres1 Vres2 Vres(n-1)

Σ

1/Gd(n-1)

εqnD1 D2 D(n-1)Dn

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 70

"Accuracy Bootstrapping"

VinBn bitsStage 3Stage 2Stage 1 Stage k

“Sufficiently Accurate“Direction of Calibration

Ref:

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

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

L. Singer et al., "A 12 b 65 MSample/s CMOS ADC with 82 dB SFDR at 120 MHz," ISSCC 2000, Digest of Tech. Papers., pp. 38-9

→ Calibration in opposite direction...

Page 36: Summary Last Lecture - inst.eecs.berkeley.eduee247/fa06/lectures/L23_3_f06.pdf · dac) dac + + - +--+-+

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 71

DAC Errors

• Can be corrected digitally as well• Same calibration concept as gain errors

Vin +-

B1-bitDAC

D

GVres1

Dback

B1-bitADC +

Dout+ 1/G

εDAC

-+

Backend

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 72

DAC Calibration – Step 1

• εDAC(0) equivalent to offset - ignore

+-

B1-bitDAC

D

GVres1

Dback

B1-bitADC +

Dout 1/G

εDAC(0)

BackendVin= const.

MUX

“0“

+

Page 37: Summary Last Lecture - inst.eecs.berkeley.eduee247/fa06/lectures/L23_3_f06.pdf · dac) dac + + - +--+-+

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 73

DAC Calibration – Step 2...2B1

• Stepping through DAC codes 1...2B1-1 yields all incremental correction values

+-

B1-bitDAC

D

GVres1

Dback

B1-bitADC +

Dout+ 1/G

εDAC(1...2B1-1)

-

BackendVin= const.

MUX

1...2B1-1

+

Cal. Register

EECS 247 Lecture 23: Data Converters © 2006 H.K. Page 74

Calibration Hardware

• Digital is "free" and easier to build than precise analog circuits...Ref: E. G. Soenen et al., "An architecture and an algorithm for fully digital correction of

monolithic pipelined ADCs," TCAS II, pp. 143-153, March 1995