Dynamic Element Matching Tutorial

87
Practical Dynamic Element Matching Techniques for 3-level Unit Elements KHIEM NGUYEN Analog Devices Inc., Wilmington MA

Transcript of Dynamic Element Matching Tutorial

Page 1: Dynamic Element Matching Tutorial

Practical Dynamic Element Matching Techniques for

3-level Unit Elements

KHIEM NGUYENAnalog Devices Inc., Wilmington MA

Page 2: Dynamic Element Matching Tutorial

Outline• Brief background

• Motivations and Applications• 3-level vs. 2-level unit element: advantages and challenges• What problems DEM does and does not solve

• Practical dynamic element matching (DEM) techniques• 2-level DEM review• 3-level DEM• Limitations of each technique• Solution spaces

• Higher-order DEM• Issues in 2nd-order DEM• Solutions

• Application specific concept of DEM

• Q and A

Page 3: Dynamic Element Matching Tutorial

Applications of 3-level unit elements In cabin ANC

Active Noise Cancelling (ANC)

Safety radar

Page 4: Dynamic Element Matching Tutorial

What is Dynamic Element Matching?

•A technique to achieve perfect matching of analog elements over time.

Page 5: Dynamic Element Matching Tutorial

Euclid's 5th definition for plane geometry

“Through a pair of points in space, there exists one and only one straight line”

Page 6: Dynamic Element Matching Tutorial

What it means in the converter world ….

• Can achieve “perfect linearity” if the circuit output has only 2 states

Digital In

Analog out

1

-1

Page 7: Dynamic Element Matching Tutorial

Year 1995 …..

The “Perfect DAC” !

Page 8: Dynamic Element Matching Tutorial

Why multi-bit ?

• Drawback of single-bit• High out-of-band noise Requires stringent post-analog filter costly,

bulky• Limited usable input range with high-order noise shapers Challenging to

improve dynamic range• Stringent bandwidth and slew rate requirements for reconstruction amplifier Challenging to reduce power consumption

• Multi-bit• Solves all the above but introduces linearity issue due to element mismatch Mismatch shaping is the remedy

• Each element is 2-level

• Why 3-level element ?

Page 9: Dynamic Element Matching Tutorial

Current steering DAC cell comparison

• 3-level element properties+ Power efficient+ Best noise performance: No noise contribution in the “zero” state.- Needs a new dynamic element matching logic- Needs a low power solution for ISI problem - Drain voltage modulation degrades THD

I/2

I/2

n

n

p

p

OUT {I,0-I}+-

z

z

b) 3-level element architecture

I/2I/2

I/2 I/2

b0 b1b1b0

+-OUT {I,0,-I}

a) 2-level element architecture

-1

1

b1

b0

Digital input

p0 0

n

Digital input

z = p NOR n

Page 10: Dynamic Element Matching Tutorial

Example 1: High performance Σ∆ audio DAC

S2

S1

HOLD

+

+

-

-OUT

ni

pi

pi

nizi

zi

HOLD

HOLDVref

S3

C1

C2

R3

R2

ni

pi

pi

nizi

zi ni

pi

pi

nizi

zi

8 cells 4 cells 4 cells

+

-

16x DAC 4x DAC 1x DAC

Process 0.18µm CMOS

Supply 1.8 V

Full scale differential output 0.9 Vrms

Digital power consumption 0.4 mW / channel

Analog power consumption 0.7 mW / channel

OSR 64

Clock frequency 3.072 MHz

SNR (A-weighted) 108 dB

THD+N -97 dB

Page 11: Dynamic Element Matching Tutorial

Example 2: High performance Σ∆ audio ADC

In+

In-

+-

-

S1

S2

3-levelCT-DAC

-

+

C1

C2

+

+

-

-

cm

C3

C4

+

+

-

-

R7

R8

C5

C6

S4

S3

FlashADC

16

4 bit3-levelDEM

Therm-to-3-level encoder

R1

R2

A3 A1 A2

neg[7:0]

pos[7:0] Top 8 bits

Bottom 8 bits

Process 0.18µm CMOS

Supply 3.3 V

Digital power consumption

0.4 mW / channel

Analog power consumption

2 mW / channel

OSR 128

Clock frequency 6.144 MHz

SNR (A-weighted) 111 dB

THD+N -97 dB

Page 12: Dynamic Element Matching Tutorial

3-level element in Σ∆ ADC

• Additional advantages:• Minimum noise contribution from current steering DAC at low level signal

(below -60dB full scale)• Equivalent to a current noise from a large resistor R, 𝑖𝑖𝑁𝑁 = 4𝑘𝑘𝑘𝑘/𝑅𝑅

• I-DAC current noise is not the dominant source anymore• Dominant noise sources : input R and amplifier

• For the same SNR target : Larger allowable R Smaller integration capacitor size Silicon area saving

• Less switching activity at low level Less spectral leakage due to ISI

• Cautions• Signal dependent switching activity A source of harmonic distortions• Slight noise modulation due to signal amplitude

Page 13: Dynamic Element Matching Tutorial

DEM: What it does and does not solve• Solves

• Cell-to-cell static mismatch (born or due to aging) • Between the +1s’ and the -1s’

• 1/f noise of cells

• Does not solve• Magnitude error between “+1” and “-1” of a single cell

• Circuit design technique exists as remedy for this issue• Cell-to-cell mismatch due to switching dynamics

Page 14: Dynamic Element Matching Tutorial

Recap• Brief background

• Motivations and Applications• 3-level vs. 2-level unit element: advantages and challenges• What problems DEM does and does not solve

• Practical dynamic element matching (DEM) techniques• 2-level DEM review• 3-level DEM• Limitations of each technique• Solution spaces

• Higher-order DEM• Issues in 2nd-order DEM• Solutions

• Application specific concepts of DEM

• Q and A

Page 15: Dynamic Element Matching Tutorial

Review: Noise shaping concept

• High precision multi-level analog quantity is “difficult” to reconstruct

• Noise shaping: Trade off frequency band usage for word-width• 16b @ 44.1kHz 1b at 5.6488MHz

freq

Mag

48kfreq

Mag

2.8224MHz

Shaped quantizationnoise (out-of-band)

Page 16: Dynamic Element Matching Tutorial

1-bit versus multi-bit DAC

1-bit Advantages Linear – no matching issue

1-bit problems Large step size jitter sensitivity Tonal quantization noise can cause

“idle tones” (quantizer can’t be dithered properly)

High-order loops become unstable with large inputs

Multi-bit advantagesTone-free quantization noise

(can be dithered)Lower-order loops can often be

used (easier stability)Small steps (low jitter

sensitivity, less filtering required)

Multi-bit problemsMatching; DAC element errors

cause distortion + noise

Page 17: Dynamic Element Matching Tutorial

Multi-bit with element mismatch

freq

Mag

Harmonics

In

Out

Page 18: Dynamic Element Matching Tutorial

Example of multi-bit audio DAC

Analog Output

8b @ 6.144MHz

ModulatorM1

Extended-noise-shaped

splitter

3-leveldata shuffler

3-leveldata shuffler

3-leveldata shuffler

3-level1x DAC

ISI-freeI-to-V

outputstage

3-level4x DAC

3-level16x DAC

IN

24b128Fs

8

3

3

4

24 bit @ 6.144MHz

AnalogDigital

Page 19: Dynamic Element Matching Tutorial

The essence of DEM• Linearizing the transfer function

• Making each element appears as average value Reconstructed values are “perfectly” linear in the band of interest

• Requirements• Use thermometer coded data (uniformly weighted elements)

• Must have multiple ways (redundancy) to reconstruct any value

• Have an “out-of-band” region to push shaped mismatch errors to. i.e., oversampling ratio larger than 1 (practical OSR >= 16)

Page 20: Dynamic Element Matching Tutorial

Multi-bit transfer functionAll elements are used no mismatch error

All elements are used no mismatch error

1-1 In

Out

Actual elements

Average value

Page 21: Dynamic Element Matching Tutorial

Spectral contents with and without DEM

No DEM

Random Selection DEM

Noise shaped DEM

Frequency

Amplitude

OUR GOAL

Page 22: Dynamic Element Matching Tutorial

Approaches to 2-level unit element DEM

1. Data directed 2. Rotational 3. Tree structure 4. Vector quantization 5. Real-time

Page 23: Dynamic Element Matching Tutorial

1. Data directed shuffling

• Consider a 2-bit thermometer code DAC• Cell A = 1 + e1• Cell B = 1 + e2

• Goal: Make the cumulative error approach zero.

• Done by alternating use of OUT1 and OUT2 when A ≠ B

AB Out Instantaneous error (ei)

00 -(2+e1+e2) 0

01 -e1 + e2 -e1+e2

10 e1 – e2 e1-e2

11 2+e1+e2 0

Data A DataB

Data AData B

OUT0

OUT1

Swap/No-Swap

Swapper cell

REG

2 + eA + eB

eB - eA

eA- eB Input code

Actual output

-2 - eA - eB

1100

(10)

(01)

Page 24: Dynamic Element Matching Tutorial

How to make a multi-bit shuffler

• Butterfly network works as “usage” correlator• Every input can reach every output• Decision to swap is made by swapper cell

From

The

rmom

Dec

ode

To U

nit-

elem

ent D

AC

Page 25: Dynamic Element Matching Tutorial

Spectral view of mismatch shaping

. . . . . .

+

+

+

If addition is perfect, the original modulator spectrum is recovered!

++

Spectrum of a single thermometer-encoded bit: Input + harmonics + shaped mismatch

Page 26: Dynamic Element Matching Tutorial

2. Rotational DEM• Example: Digital in = 1, element selection in 4 clock cycles

1 + e1

1 + e2

1 + e3

1 + e4

1 + e1

1 + e2

1 + e3

1 + e4

1 + e1

1 + e2

1 + e3

1 + e4

1 + e1

1 + e2

1 + e3

1 + e4

E(1) = -e1 + e2 + e3 +e4 E(2) = e1 - e2 + e3 +e4 E(3) = e1 + e2 - e3 +e4 E(4) = e1 + e2 + e3 - e4

Pointer(1)

Pointer(2)

Pointer(3)

Pointer(4)

Cumulative error after 4 cycles = 2(e1 + e2 + e3 + e4) (e1+e2+e3+e4) : all elements are used equally cumulative error = zero!

Page 27: Dynamic Element Matching Tutorial

3. Tree structure DEM

4b

3b 2b 1b

BINARY

DEM algorithm Start with N-bit binary wordDivide by 2 ( shift left by 1) If LSB = 1, use Σ∆ modulator to decide which

sub-word to receive the LSB Update modulator

ObservationDifference between 2 words is a noise shaped

sequence Gain mismatch is high-passedNote:Needs headroom to not overflowWorks fine for first–order shaping, what

happens if input is EVEN for a while!

MSB

LSB

Page 28: Dynamic Element Matching Tutorial

4. Vector quantization• Generalized version of all DEM algorithms Excellent model to study DEMs• Hardware intensive

sort () D > 0, V = top D elements ON

DAC input D ∈ {0,..,N}min()

element selector

V =

u0

uN-1

u2

.

.

.

ui ∈ {0,1}

delay

-1

u0

uN-1

Example of a 1st-order DEM (using the error feedback Σ∆ structure)

Page 29: Dynamic Element Matching Tutorial

Element selection logic

• Rank N input vectors with least used first• Turn on (assert “1”) D output elements in output vector V• Feedback the elements of V to the corresponding integrators (or

loops)• Can apply the use of a dithering vector to the input of the sorting

routine to cure idle tone behavior

Page 30: Dynamic Element Matching Tutorial

5. Real-time DEM

• Use all elements in every modulator clock cycle• Advantage:

• Very simple logic• Drawbacks:

• Need a fast clock (2N times) for an N-bit DAC• Cannot go beyond 1st-order shaping

Page 31: Dynamic Element Matching Tutorial

Recap• Brief background

• Motivations and Applications• 3-level vs. 2-level unit element: advantages and challenges• What problems DEM does and does not solve

• Practical dynamic element matching (DEM) techniques• 2-level DEM review• 3-level DEM• Limitations of each technique• Solution spaces

• Higher-order DEM• Issues in 2nd-order DEM• Solutions

• Application specific concepts of DEM

• Q and A

Page 32: Dynamic Element Matching Tutorial

Approaches to 3-level unit-element DEM

1. Data directed shuffling2. Rotational 3. Tree structure 4. Vector quantization

Page 33: Dynamic Element Matching Tutorial

Encoding style for 3-level data• Best to treat data as positive and negative thermometer codes

separately• Results in simplest logic manipulation and decoding logic in the

current steering cells• Truth table

Positive thermometer

code

Negative thermometer

code

Analog value

1 0 +1

0 1 -1

0 0 0

1 1 Unused

Page 34: Dynamic Element Matching Tutorial

Approach #1: Data directed shuffling

levelsoutputNforNNcellsof 1,2

log4

# +

=

INA_PINA_N

INB_PINB_N

OUTA_POUTA_N

OUTB_POUTB_N

INA_PINA_N

INB_PINB_N

OUTA_POUTA_N

OUTB_POUTB_N

INA_PINA_N

INB_PINB_N

OUTA_POUTA_N

OUTB_POUTB_N

INA_PINA_N

INB_PINB_N

OUTA_POUTA_N

OUTB_POUTB_N

INA_PINA_N

INB_PINB_N

OUTA_POUTA_N

OUTB_POUTB_N

INA_PINA_N

INB_PINB_N

OUTA_POUTA_N

OUTB_POUTB_N

INA_PINA_N

INB_PINB_N

OUTA_POUTA_N

OUTB_POUTB_N

INA_PINA_N

INB_PINB_N

OUTA_POUTA_N

OUTB_POUTB_N

INA_PINA_N

INB_PINB_N

OUTA_POUTA_N

OUTB_POUTB_N

INA_PINA_N

INB_PINB_N

OUTA_POUTA_N

OUTB_POUTB_N

INA_PINA_N

INB_PINB_N

OUTA_POUTA_N

OUTB_POUTB_N

INA_PINA_N

INB_PINB_N

OUTA_POUTA_N

OUTB_POUTB_N

IN_P[7]IN_N[7]

IN_P[6]IN_N[6]

IN_P[5]IN_N[5]

IN_P[4]IN_N[4]

IN_P[3]IN_N[3]

IN_P[2]IN_N[2]

IN_P[1]IN_N[1]

IN_P[0]IN_N[0]

Bina

ry to

ther

mom

eter

enc

oder

ININ

4

OUT_P[7]OUT_N[7]

OUT_P[6]OUT_N[6]

OUT_P[1]OUT_N[1]

OUT_P[0]OUT_N[0]

OUT_P[3]OUT_N[3]

OUT_P[2]OUT_N[2]

OUT_P[5]OUT_N[5]

OUT_P[4]OUT_N[4]

Butterfly network serves as the usage correlator

A 4-bit example

Page 35: Dynamic Element Matching Tutorial

3-level mismatch error analysis• eA and eB: individual error of

element A and B

• Error delivered: Ideal - Actual

• Goal: Select elements so that the long term average of each output level approaches its ideal value

• A 2b state machine to keep track of cumulative error

−−

∈0

2/)(2/)(

AB

BA

eeee

Transfer function of a DAC formed by a pair of analog elements A and B

-1 - (eA + eB)/2 = ideal

ideal = 1 + (eA + eB)/2

2 + eA + eB

1 + eA

1 + eBInput

Actual output

-1 - eA

-2 - eA - eB

-1 - eB

1 2-1-2

Page 36: Dynamic Element Matching Tutorial

Cell implementation

OUTA_POUTA_N

OUTB_POUTB_N

INA_PINA_N

INB_PINB_N

INA

INB

OUTA

OUTB

INA, INB, OUTA, OUTB are 2b quantities

Value Code (PN)+1 10-1 010 00

unused 11

♦ Output value = OUTA + OUTB, ♦ Simple modification of thermometer code

A and B always have the same sign♦ Input can be rerouted to either output♦ Needs a state machine

{ }2..,0,..2−∈

Page 37: Dynamic Element Matching Tutorial

State diagram• Cumulative error:

“00” : zero“01” : “10” :

• Apply the DEM rules to reroute data and keep cumulative error at zero

• The shuffler cell operates similarly to the generalized DEM model

00

0110

INA = 1 orINB = -1

INB = 1 or INA = -1

INA = -1 orINB = 1

INB = -1 or INA = 1

INA = 0, INB = 0 orINA = 1, INB = 1 orINA = -1, INB = -1

INA = 0, INB = 0 orINA = 1, INB = 1 orINA = -1, INB = -1

INA = 0, INB = 0 orINA = 1, INB = 1 orINA = -1, INB = -1

2/)( AB ee −2/)( BA ee −

Page 38: Dynamic Element Matching Tutorial

Idle tones in first-order data-direct shuffling• Reasons:

• Each shuffling cell is a 1st-order noise shaper (can create large inband tones)• With gain mismatch between cells, these result in idle tones

• At low level (below -60dBFS), input has a tendency to travel through only a certain path due to the construct of the butterfly network

• At low level input, some cells in the network become “starve” in activity• Can be detected by sweeping the input amplitude with small DC range

• Remedy• Precede the shuffler network with a randomizer• Ensure that each cell will have equal amount of data activity over time• Mismatch shaping effectiveness is slightly degraded but still can perform very

well with high OSR (>=64)

Page 39: Dynamic Element Matching Tutorial

Measured result ADAU1361 at -0.5dbFS

-150

+0

-140

-130

-120

-110

-100

-90

-80

-70

-60

-50

-40

-30

-20

-10

dBr A

2k 20k4k 6k 8k 10k 12k 14k 16k 18kHz

THD + N = -97dB

dBFS

Freq in Hz

Page 40: Dynamic Element Matching Tutorial

Measured result ADAU1361 at -60dbFS

2k 20k4k 6k 8k 10k 12k 14k 16k 18kHz

-150

+0

-140

-130

-120

-110

-100

-90

-80

-70

-60

-50

-40

-30

-20

-10

dBr A

Dynamic range (A-weighted) = 108dB

dBFS

Freq in Hz

Page 41: Dynamic Element Matching Tutorial

Approach #2a: Dual-pointer Rotational DEM

• Use 2 separate pointers: one for positive and one for negative thermometer data

• Use the same encoding scheme previously shown

negative pointer

Positive data Negative data

positive pointer

Page 42: Dynamic Element Matching Tutorial

Rules for rotational DEM• Rules of DEM

• For positive data, only positive pointer moves forward. Vice versa for negative data

• Both pointers move in the same direction

• Pointers wrap around in a circular manner

• Observations• If a pointer wraps arounds,

the respective cumulative error is equal zero

• If both pointers are at the same location, the cumulative error is equal to zero

negative pointer

Pointer advancementdirection

positive pointer

Pointer wraps around

Page 43: Dynamic Element Matching Tutorial

Examplepositive outnegative out

data = 0positive pointer negative pointer

data = 1

positive pointer

negative pointer data = 2

positive pointer

negative pointer

data = -2

positive pointer

negative pointer

data =-3

positive pointer

negative pointer

data =3

positive pointer

negative pointer

Cycle 0 Cycle 1 Cycle 2Cycle 4

Cycle 5 Cycle 6

data = -4

positive pointer

negative pointer

Cycle 7

Page 44: Dynamic Element Matching Tutorial

Implementation of dual pointer DEM

Signedbinary data

2N-1 positivethermometer inputs

Signed shuffledthermometer outputs

Barrel shifter

Barrel shifter

shift

shift

2N-1 negativethermometer inputs

DEM decision logic (dual counters)

CLK

positive pointer

negative pointer

.

.

.

.

.

.

.

.

.

.

.

.

Page 45: Dynamic Element Matching Tutorial

Implementation of dual pointer DEM with sign-magnitude data

Signedbinary data

2N-1

thermometer inputsSigned shuffledthermometer outputs

Barrel shifter

shift

DEM decision logic

CLK

positive pointer

negative pointer

.

.

.

.

.

.

• Area efficient single barrel implementation

• Only 1 pointer is active and used at a time

• Barrel shift control is dependent on sign

• Barrel shifter only takes in magnitude

• Sign bit is used as a decoding

Page 46: Dynamic Element Matching Tutorial

Idle tones in dual pointer DEM

• Reasons:• Similar to those found in 2-level single pointer DEM• Static born-mismatch pattern shows up at low input level

• Remedy• Observe that when both pointers are at the same location, the cumulative

error is zero• Both pointers can be repositioned to a randomly chosen location• Static mismatch error pattern will be broken up

• A slight degradation to the SNR due to the introduction of the randomness into the first-order single-bit noise-shaped sequences

• Mismatch shaping effectiveness is still very good with high OSR (>=64)

Page 47: Dynamic Element Matching Tutorial

Example: With idle tone remedypositive outnegative out

data = 0positive pointer negative pointer

data = 1

positive pointer

negative pointer data = 2

positive pointer

negative pointer

data = -2

positive pointer

negative pointer

data =-3

positive pointer

negative pointer

data =3

positive pointer

negative pointer

Cycle 0 Cycle 1 Cycle 2Cycle 4

Cycle 5 Cycle 6

data = -4

positive pointer

negative pointer

data =3

old positive pointer old negative pointer

Cycle 7 Cycle 8

new positive pointer new negative pointer

When positive and negative pointers are equal, randomize the position of both pointers.

Page 48: Dynamic Element Matching Tutorial

Measured result ADAU1966 at -0.5dbFSdB

FS

Freq in Hz

THD+N = -100dB

Page 49: Dynamic Element Matching Tutorial

Measured result ADAU1966 at -0.5dbFS

THD + N = -97dB

dBFS

Freq in Hz

Dynamic range (A-weighted) = 120dB

Page 50: Dynamic Element Matching Tutorial

Approach #2b: Single-pointer rotational DEM

• One pointer that moves forward when data is positive and backward when data is negative

• Possible remedy for idle tone• Set up a reference point• Keep track of wrapping around the reference point• After wrapping around (single or multiple times)

and ending at the reference point, reposition pointer to a new randomly chosen reference point.

• Repeat the entire procedure

Bi-directional pointer

Negative data

Positive data

Page 51: Dynamic Element Matching Tutorial

Approach #3: Tree structure DEM

• Use the tree structure to split the word until the last 2MSBs

• Decode the leaf cells to get the {+1,0,-1} • Remedy for idle tone

• If data is even for a while, consider add 1 to one branch and subtract 1 in the other branch. This increases the data activity.

• Watch out for headroom issue in the digital words

• Note: that each bit is still a 1st-order noise shaped sequence which has the fundamental component and shaped noise.

4b

3b 2b

BINARY

MSB

LSB

Example of a 4b implementation

{1,0,-1}

{1,0,-1}

Page 52: Dynamic Element Matching Tutorial

Other possible solutions to tree-structure DEM• Applicable when input word width is large for any straight

implementations of DEM• Consider noise shaped segmentation principle

• Only one component in the sub-level has the signal fundamental. Easier to derive solution for idle tones.

• May be done recursively• A and B can then be followed by a butterfly, rotational or tree-structure

shuffler

1st-order modulator

M2

8IN

A

B

Fundamental and shaped noise

Only shaped noise5

4

Page 53: Dynamic Element Matching Tutorial

Approach #4: Vector quantization

• A slight change in the ESL to accommodate 3-level data• Rank N input vectors with least used first• Assert {-1,0,1} in D output elements in output vector V• Feedback the elements of V to the corresponding integrators (or loops)• Can apply the use of a dithering vector to the input of the sorting routine to

cure idle tone behavior

sort ()

DAC input D ∈ {0,..,N}min()

element selector

V =

u0

uN-1

u2

.

.

.

ui ∈ {-1,0,1}

delay

-1

u0

uN-1

Page 54: Dynamic Element Matching Tutorial

Approach #5: Real-time DEM• Direct concept can be re-used

• Requires fast clock• Switching loss due to logics may become significant to not be considered for

low power implementation

Page 55: Dynamic Element Matching Tutorial

Recap• Brief background

• Motivations and Applications• 3-level vs. 2-level unit element: advantages and challenges• What problems DEM does and does not solve

• Practical dynamic element matching (DEM) techniques• 2-level DEM review• 3-level DEM• Limitations of each technique• Solution spaces

• Higher-order DEM• Issues in 2nd-order DEM• Solutions

• Application specific concepts of DEM

• Q and A

Page 56: Dynamic Element Matching Tutorial

Why need 2nd-order DEM• 1st-order DEM

• Effective when OSR >= 64x• At lower OSR

• Shaped mismatch noise degrades SNR.• DEM tones appear inband. • Over-clocking DEM (2x) may offer small improvement (not enough). Switching

dynamics become a source of noise.

• Solution: 2nd-order shaping

• Issues with 2nd-order:• Ineffective for low input amplitude.• Area intensive especially with number levels >8.

Page 57: Dynamic Element Matching Tutorial

Approaches to 2nd-order DEM• Data directed : Cannot produce second-order mismatch shaping

effectively• When inputs are both 11 or 00, mismatch shaper cells get “overloaded”

• Rotational: Can produce a second-order, but extremely hardware intensive, tends to revert to first-order shaping

• Tree-structure: Can produce second-order shaping but tends to revert back to first-order in real life use case (signal conditions)

• Vector quantization: Very hardware intensive due to realization of sorter and element selector

• Hardware implementation at size = 2-bit (4 elements) is affordable

Page 58: Dynamic Element Matching Tutorial

Design challenges and solutions

• Full implementation of vector quantization is extremely hardware intensive

• Solution: Segmentation (or tree structure)• Break it down to smaller chunks where realization is affordable

Page 59: Dynamic Element Matching Tutorial

2nd-order DEM for 3-level unit elements

• Each leaf cell needs 2 bits:

• At one level higher in the tree, minimum size = 3 bits• Will need 4 cells to represent {+3,…, -4}

−+

111101

000

forforfor

1, 0 -1in

1, 0 -1

out

signed3b

signed 2b

Operations:1) OUT[1:0] = IN >> 22) RESIDUE = 2 LSBs of IN3) Use a 2nd-order NS loop to

decide how to distribute the residue to the outputs

Page 60: Dynamic Element Matching Tutorial

Block diagram of a 3-bit, 2nd-order DEM

1

1

1 −

− zz

1

1

1 −

− zz

2

1

1

1 −

− zz

1

1

1 −

− zz

2

Vectorquantizer

2 LSBsx[3]

x[1]

x[2]

x[0]

feedback[0]

feedback[3]

IN >> 2

OUT[3]

OUT[2]

OUT[1]

OUT[0]

Signed3b Signed

2b

{+1,0,-1}

{+1,0,-1}

Feedback is ONLY produced when there is an instantaneous error made

Page 61: Dynamic Element Matching Tutorial

Block diagram of a 5-bit, 2nd-order DEM

5b

3b

3b

3b

3b

Signed binary

1, 0 -1

1, 0 -1

1, 0 -1

OUT{16,….,-16}

LAYER 1

LAYER 2

A

B

C

D

IN {+/-16}

1. A + B + C + D = IN.2. The spectral difference

between every pair in layer 1 must show a 2nd-order highpass function

• DAC-to-DAC gain error will be 2nd-order shaped.

3. The spectral difference between any pair of unit elements in layer 2 must also show a 2nd-order highpass function

• Element mismatch will be 2nd-order shaped.

1, 0 -1

Page 62: Dynamic Element Matching Tutorial

Simulation result

40dB/dec

IdealWith 0.3% rms mismatch Input = -60dBFS at 100kHzFclk = 64MHzSNR is severely degraded !

Page 63: Dynamic Element Matching Tutorial

Closer look at the integrator outputs at low input level

Page 64: Dynamic Element Matching Tutorial

The cause: low data activity

• Very large dynamic range integrator required• Clipping makes the matter worse

1

1

1 −

− zz

1

1

1 −

− zz

2 Vectorquantizer

Page 65: Dynamic Element Matching Tutorial

Design challenges and solutions

• Full implementation of vector quantization is extremely hardware intensive

• Solution: Segmentation (or tree structure)• Break it down to smaller chunks where realization is affordable

• Inadequate data activity: cause large growth in integrator word widths

• Solution: Trade off a small thermal noise performance: Dynamics enhancement

Page 66: Dynamic Element Matching Tutorial

Dynamics enhancement (DE)

• Increases the data activities while maintaining the digital valueunchanged.

• Add +1 and -1 to digital input when possible

• Trades off thermal noise for mismatch • Goal: keep # of ON cells as low as possible

• Reduces the integrator output swing tremendously. Very hardware efficient.

Page 67: Dynamic Element Matching Tutorial

Dynamics enhancement (DE)

• If 2LSB = “00”, start counting• If count exceeds a designated number “wait_time”

• Check if signal(s) are in safe range• Add +1 and -1 to the branches. Reset wait_time.

• Parameters to adjust• Wait_time: affects integrators word width• Amount of +1/-1 added, restricted by thermal noise performance• Choice of where to direct +1 and -1 to.

Page 68: Dynamic Element Matching Tutorial

Combining 2nd-order DEM and dynamics enhancement

5b

Signed binary3 MSBs

2nd-orderDEM

Σ∆ mods (4)

{1,0,-1}

{4,..0,..-4}

signed binary

Dynamics enhancement

3b

Page 69: Dynamic Element Matching Tutorial

Simulation: With dynamics enhancement

Input: 106.5dB

Output: 106.4dB

Input = -60dBFS at 100kHzFclk = 64MHzMismatch: 0.3% rms

Page 70: Dynamic Element Matching Tutorial

Integrator outputs with DE

LAYER 1

LAYER 2

Much smaller dynamic range needed !

Page 71: Dynamic Element Matching Tutorial

Number of DAC cells used at -60-dB input

Average ~ 5 cells on (31% of total)

Average 1 cells on

WITHOUT dynamics enhancement WITH dynamics enhancement

Page 72: Dynamic Element Matching Tutorial

Layout of a Multibit Continuous Time Σ∆ ADC”

A CT sigma delta 3rd-order modulator with 2nd-order DEM

DEM

Page 73: Dynamic Element Matching Tutorial

Recap• Brief background

• Motivations and Applications• 3-level vs. 2-level unit element: advantages and challenges• What problems DEM does and does not solve

• Practical dynamic element matching (DEM) techniques• 2-level DEM review• 3-level DEM• Limitations of each technique• Solution spaces

• Higher-order DEM• Issues in 2nd-order DEM• Solutions

• Application specific concept of DEM

• Q and A

Page 74: Dynamic Element Matching Tutorial

Problem definition

• Reduce power consumption in the 3-level unit element DAC

• In particular, when the input is small (-60dB) , only 1 or 2 cells are used, the rest of the cells are not used but still burn power.

• Goal: to turn off those unused cells without degrading performance.

• Note: Dynamically turning off cells will cause degradation due to power consumption constraints and other dynamic effects.

Page 75: Dynamic Element Matching Tutorial

Variable-length DEM

• Group size changes according to the envelop of the input signal • Depends on the input data amplitude, the full group, half-group or quarter-

group of the elements is used to create the signal• The switch over to smaller group sizes is done at the time when the

CUMMULATIVE ERROR is zero DOES NOT interfere with the DEM activities• Once the smaller group is selected, the unused elements (outside of the

smaller group) will be turn off to save power• With small group of elements, there is LESS mismatch error Smaller shaped

mismatch error in output.• With less elements, the dynamics of the DEM is more the DEM becomes

more effective!

Page 76: Dynamic Element Matching Tutorial

Variable-length DEM• Example of a 16 units 3-level thermometer-code DAC.

16 element

16 elements8 elements

4 elements

Rotation rings of DEM

If envelop is < ½ full scale (FS)If envelop is < 1/4 FS& cumulative error = 0& cumulative error = 0

Page 77: Dynamic Element Matching Tutorial

Example: Application in audio DAC

InterpolationFilter

Sigma-deltamodulator

VariableLengthDEM

3-levelUnit elementMulti-bit DAC

I-to-V

DEM length info

Fs128xFs

128xFs

Fs

• Peak detector is used at the interpolation filter input• Hysteresis is needed to avoid chatting (in and out of variable length mode)

Page 78: Dynamic Element Matching Tutorial

Simulation case• 2nd order sigma delta , 128x OSR, 6b output• Input frequency = 1kHz• Analog elements have 0.2% rms mismatch error• Amplitude changes from full scale to -60dB FS

• Demonstrate the switching from full-size group to quarter-size group

• Demonstrate the improvements in SNR • Demonstrate the ability to turn off the unused elements

to save power

Page 79: Dynamic Element Matching Tutorial

Simulation result: No Variable-length

Time (in sample)

Input signal

Full scale -60dB Full scale

Peak detector output

Number of elements used= 32

Time (in sample)

Time (in sample)

Page 80: Dynamic Element Matching Tutorial

No Variable-length: FFT of the -60dB input

Frequency (Hz)

Amplitude (dB)

Tones due to large number of Elements -> had to wait for long time to apply remedy.

Page 81: Dynamic Element Matching Tutorial

Simulation: With Variable-length DEM

Time (in sample)

Input signal

Full scale -60dB Full scale

Peak detector output

Number of elementsused

Time (in sample)

Time (in sample)

ONLY 8 elements used (can turn OFF 24 elements completely) 16 elements

32 elements used

Page 82: Dynamic Element Matching Tutorial

With Variable-length: FFT of the -60dB input

Frequency (Hz)

Amplitude (dB) Very clean inband noise floor

Page 83: Dynamic Element Matching Tutorial

Performance compared to 2nd order DEM @ -60dBFS, 0.25% rms mismatch

• Performs comparably to a properly done 2nd-order DEM (Both @ 103dB SNR) • Much lower hardware requirement

1st-order VLDEM Enhanced 2nd-order DEM

Page 84: Dynamic Element Matching Tutorial

Notes

• Optimized power consumption for DAC at low input level• Very effective first order DEM for the sub segment(s)• Very effective for DEM idle tone remedy• Trade off the gain accuracy across signal amplitude range (there is NO

distortion because there is no switching back and forth between smaller DACs and the large DAC , on the fly).

• Suitable for applications that require high AC linearity and not DC accuracy

Page 85: Dynamic Element Matching Tutorial

Recap• Brief background

• Motivations and Applications• 3-level vs. 2-level unit element: advantages and challenges• What problems DEM does and does not solve

• Practical dynamic element matching (DEM) techniques• 2-level DEM review• 3-level DEM• Limitations of each technique• Solution spaces

• Higher-order DEM• Issues in 2nd-order DEM• Solutions

• Application specific concepts of DEM

• Q and A

Page 86: Dynamic Element Matching Tutorial

References• Richard Schreier et al., “Delta-Sigma Data Converter”, IEEE press 1977• Tom Kwan and Bob Adams, “ A stereo multibit DAC with asynchronous master clock interface”, JSSC Dec 1996.• Khiem Nguyen et al., “A 108dB SNR, 1.1mW Oversampling DAC with Three-level DEM technique”, ISSCC 2008• A. Bandyopadhyad , K Nguyen, “A 120dB SNR 21.5mW CT SD DAC”, ISSCC 2011• I. Fujimori et al., “A Multibit Delta–Sigma Audio DAC with 120-dB Dynamic Range”, JSSC vol. 38, no. 8, Aug 2000• I. Galton et al., “Why Dynamic-Element-Matching DACs Work”, Trans on Circuits and Systems II, vol. 57, no. 2, pg. 69-

74, Feb 20• I. Galton et al., “Simplified Logic for First-Order and Second-Order Mismatch-Shaping Digital-to-Analog Converters”,

Trans on Circuits and Systems II, vol. 48, no. 11, pg. 1014-1027, Nov 2001• P. Rombouts et al., “A Study of Dynamic Element-Matching Techniques for 3-Level Unit Elements”, Trans on Circuits and

Systems II, vol. 47, no. 11, pg. 1077-1087, Nov 2000• A. Bandyopadhyad , K Nguyen, “A 96dB SNR 600kHz CT SD ADC”, Symposium on VLSI Circuits Digest of Technical Papers

2014• E. Folgman et al., “A Dynamic Element Matching Technique for Reduced-Distortion Multibit Quantization in Delta–

Sigma ADCs”, Trans on Circuits and Systems II, vol. 48, no. 2, pg. 158-170, Feb 2001• R. Wang et al., “Split-set data weighted averaging”, Electronic Letters, 16th February 2006 Vol. 42 No. 4.

Page 87: Dynamic Element Matching Tutorial

References• Anas Hamoui and K. Martin, “Linearity enhancement of multi-bit SD modulators using pseudo data weighted

averaging”, ISCAS 2002, pg 285-288.