P Practical Dynamic Element Matching Techniques For 3-Level Unit Elements
P Practical Dynamic Element Matching Techniques For 3-Level Unit Elements
• Q and A
Applications of 3--level unit
elements
In cabin ANC
Safety radar
Active Noise
Cancelling (ANC)
What is Dynamic Element Matching?
only 2 states
Year 1995 …..
-
HOLD S3 OUT Analog power consumption 0.7 mW / channel
S2 + OSR 64
+ -
C2 Clock frequency 3.072 MHz
Vref ni zi pi ni zi pi ni zi pi HOLD
SNR (A-weighted) 108 dB
R3 THD+N -97 dB
Therm-to-3-level
encoder
3-level element in 6' 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, = /
• 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
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
• Q and A
Review: Noise shaping concept
• High precision multi-level analog quantity is “difficult” to reconstruct
Mag Mag
Shaped quantization
noise (out-of-band)
Multi-bit advantages
1-bit Advantages
Tone-free quantization noise
z Linear – no matching issue (can be dithered)
1-bit problems Lower-order loops can often be
z Large step size Æ jitter sensitivity used (easier stability)
z Tonal quantization noise can cause Small steps (low jitter
䇾idle tones䇿 (quantizer can䇻t be sensitivity, less filtering
dithered properly) required)
z High-order loops become unstable Multi-bit problems
with large inputs Matching; DAC element errors
cause distortion + noise
Multi-bit with element mismatch
Out
Mag
In
Harmonics
freq
Example of multi-bit audio DAC
3-level 3-level
data shuffler 1x DAC
24 bit @ 6.144MHz 3
Extended- ISI-free
IN Modulator
8 3 3-level 3-level I-to-V Analog
noise-shaped data shuffler
M1 4x DAC output Output
24b splitter
stage
128Fs
4
3-level 3-level
data shuffler 16x DAC
8b @ 6.144MHz Analog
Digital
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)
• Have an “out-of-band” region to push shaped mismatch errors to. i.e., oversampling
ratio larger than 1 (practical OSR >= 16)
Multi-bit transfer function
All elements are used
Æ no mismatch error
Out
Average value
Actual elements
-1 1 In
Amplitude
No DEM
Frequency
OUR GOAL
Noise shaped DEM
Approaches to 2-level unit element DEM
1. Data directed
2. Rotational
3. Tree structure
4. Vector quantization
5. Real-time
1. Data directed shuffling Actual output
2 + eA + e B
• Consider a 2-bit thermometer code DAC
• Cell A = 1 + e1 (10)
• Cell B = 1 + e2 e A- e B
Input code
00 11
eB - eA
AB Out Instantaneous (01)
error (ei)
00 -(2+e1+e2) 0
-2 - eA - eB
01 -e1 + e2 -e1+e2
Data A OUT0
10 e1 – e2 e1-e2
Data B OUT1
11 2+e1+e2 0
Swap/No-Swap
REG
• Goal: Make the cumulative error approach
zero. Data A
• Done by alternating use of OUT1 and OUT2 DataB
Swapper cell
How to make a multi-bit shuffler
To Unit-element DAC
• Butterfly network works as “usage” correlator
• Every input can reach every output
• Decision to swap is made by swapper cell
Spectral view of mismatch shaping
Spectrum of a single
thermometer-encoded
bit: Input + harmonics
+ shaped mismatch
+
......
++
1 + e1 Pointer(2) 1 + e1 1 + e1 1 + e1
1 + e2 1 + e2 1 + e2 1 + e2
Pointer(3)
1 + e3 1 + e3 1 + e3 1 + e3
Pointer(4)
Pointer(1) 1 + e4 1 + e4 1 + e4 1 + e4
Observation
z Difference
between 2 words is a noise shaped
sequence Æ Gain mismatch is high-passed
LSB Note:
z Needs headroom to not overflow
z Works fine for first–order shaping, what
happens if input is EVEN for a while!
4. Vector quantization
• Generalized version of all DEM algorithms Æ Excellent model to study DEMs
• Hardware intensive
uN-1
uN-1
DAC input D {0,..,N} V=
.
.
min() .
u2
u0
sort () D > 0, V = top D elements ON
u0 ui {0,1}
element selector
-1
delay
• Q and A
Approaches to 3-level unit-element DEM
1. Data directed shuffling
2. Rotational
3. Tree structure
4. Vector quantization
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 Negative Analog value
thermometer thermometer
code code
1 0 +1
0 1 -1
0 0 0
1 1 Unused
Approach #1: Data directed shuffling
IN_P[7] INA_P OUTA_P INA_P OUTA_P INA_P OUTA_P OUT_P[7]
IN_N[7] INA_N OUTA_N INA_N OUTA_N INA_N OUTA_N OUT_N[7]
Binary to thermometer encoder
-10
-20
-30
-40
-50
-60
d
B -70
dBFS
r
-80
A
-90
-120
-130
-140
-150
2k 4k 6k 8k 10k 12k 14k 16k 18k 20k
Hz
Freq in Hz
Measured result ADAU1361 at -60dbFS
+0
-10
-20
-30
-40
-50
-60
d
B -70
dBFS
r
-80
A
-90
-100
Dynamic range (A-weighted) = 108dB
-110
-120
-130
-140
-150
2k 4k 6k 8k 10k 12k 14k 16k 18k 20k
Hz
Freq in Hz
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
positive pointer
positive pointer
negative pointer
positive pointer
positive pointer
positive pointer
negative pointer
negative pointer
positive pointer
negative pointer
Cycle 5 Cycle 7
Cycle 6
Implementation of dual pointer DEM
Barrel
. shifter .
2N-1 positive
. .
thermometer inputs . .
shift
Signed
binary data positive pointer
DEM decision logic Signed shuffled
(dual counters) thermometer outputs
CLK
negative pointer
shift
. .
. .
2N-1 negative
thermometer inputs
. Barrel .
shifter
Implementation of dual pointer DEM with
sign-magnitude data
• Area efficient single barrel
implementation
. Barrel
shifter
. • Only 1 pointer is active and
2N-1
thermometer inputs
.
.
.
.
Signed shuffled
thermometer outputs used at a time
shift
Signed
• Barrel shift control is
positive pointer
binary data DEM decision
logic
dependent on sign
CLK
negative pointer
• Barrel shifter only takes in
magnitude
• Sign bit is used as a decoding
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)
Example: With idle tone remedy
negative out positive out
positive pointer
positive pointer
negative pointer
positive pointer
positive pointer
positive pointer
negative pointer
negative pointer When positive and
new negative pointer new positive pointer negative pointers
positive pointer are equal,
randomize the
old negative pointer old positive pointer position of both
negative pointer
pointers.
data =-3 data = -4 data =3
data =3
Cycle 7 Cycle 8
Cycle 5 Cycle 6
Measured result ADAU1966 at -0.5dbFS
dBFS
THD+N = -100dB
Freq in Hz
Measured result ADAU1966 at -0.5dbFS
dBFS
THD
THD + N = -97dB
-9
97dB
Freq in Hz
Approach #2b: Single-pointer rotational DEM
• One pointer that moves forward when data is
positive and backward when data is negative
Positive data
• Possible remedy for idle tone
• Set up a reference point
Bi-directional pointer • Keep track of wrapping around the reference point
Negative data • 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
Approach #3: Tree structure DEM
3b 2b
BINARY
• Use the tree structure to split the word until
4b
{1,0,-1} the last 2MSBs
MSB • 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
LSB
increases the data activity.
{1,0,-1} • Watch out for headroom issue in the digital
words
Example of a 4b implementation • Note: that each bit is still a 1st-order noise
shaped sequence which has the
fundamental component and shaped noise.
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
8 5
IN B Only shaped noise
1st-order 4
modulator A Fundamental and shaped noise
M2
Approach #4: Vector quantization
uN-1
uN-1
DAC input D {0,..,N}
D V= .
.
min() .
u2
element selector u0
sort () u0 ui {-1,0,1}
-1
delay
• Q and A
Why need nd
2 -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.
Operations:
signed 1) OUT[1:0] = IN >> 2
2b out
1, 0 -1 2) RESIDUE = 2 LSBs of IN
in 3) Use a 2nd-order NS loop to
signed decide how to distribute the
3b 1, 0 -1
residue to the outputs
Block diagram of a 3-bit, 2nd-order DEM
IN
Signed
>> 2
Signed
3b 2 LSBs 2b
x[3]
z 1 z 1 OUT[3]
1 z 1 1 z 1 2
x[2]
feedback[3] OUT[2]
x[1]
Vector OUT[1]
quantizer
z 1 z 1 x[0]
OUT[0]
1 z 1 1 z 1 {+1,0,-1}
2
feedback[0]
{+1,0,-1}
Ideal
With 0.3% rms mismatch
Input = -60dBFS at 100kHz
Fclk = 64MHz
40dB/dec SNR is severely degraded !
Closer look at the integrator outputs at low input level
The cause: low data activity
z 1 z 1
1 z 1 1 z 1 2 Vector
quantizer
• 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.
Combining nd
2 -order DEM and dynamics
enhancement
3b signed binary
{4,..0,..-4}
Signed binary
3 MSBs
5b
{1,0,-1}
2nd-order
Dynamics
DEM
enhancement
6' mods (4)
Simulation: With dynamics enhancement
Input: 106.5dB
LAYER 1
LAYER 2
Number of DAC cells used at -60-dB input
DEM
• Q and A
Problem definition
16 elements
8 elements
4 elements
If envelop is < 1/4 FS If envelop is < ½ full scale (FS)
16 element
& cumulative error = 0 & cumulative error = 0
Input signal
Amplitude (dB)
Frequency (Hz)
Simulation: With Variable-length DEM
Full scale -60dB Full scale
Input signal
32 elements used
Number of elements
used
Time (in sample)
16 elements
ONLY 8 elements used (can turn OFF 24 elements completely)
With Variable-length: FFT of the -60dB input
Frequency (Hz)
Performance compared to 2nd order DEM @ -60dBFS, 0.25% rms
mismatch
Enhanced 2nd-
1st-order VLDEM
order DEM
• Q and A
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.
References
• Anas Hamoui and K. Martin, “Linearity enhancement of multi-bit SD modulators using pseudo data weighted
averaging”, ISCAS 2002, pg 285-288.