Chapter 5 - DACs
Chapter 5 - DACs
EECS 6611
Overview
• Why first DACs?
• Simpler Architecture than ADCs → Not easier to design (almost the opposite)
• Not as many architectures → Pretty much one architecture with some variance.
• Not as many performance regimes
• In terms of non-idealities:
• Basic ones are very easy to describe, More advanced ones are very hard to describe
• ADCs have DACs in them, so…
1
1/20/2025
Thermometer DAC
Guaranteed to be monotonic
2
1/20/2025
No encoder needed
3
1/20/2025
Segmented DAC
• Something in between
• Combine the best of both worlds.
4
1/20/2025
• Systematic Errors
• Contact and wiring resistance (IR drop)
• Finite current source output resistance
• Process gradients
• Edge effects in unit element arrays
10
5
1/20/2025
Gaussian Distribution
• There are maybe 10s of different random variations
• Assuming they all are random (Gaussian) We combine all of them.
• This is nice to know, but in the end, I want to know how many of these DACs are going to “work”
• So, we need to integrate the density
11
Yield
C : confidence interval
EECS6611 - Hossein Kassiri 12
12
6
1/20/2025
Example
• Measurements show that the current in a production of a lot of current sources follows a Gaussian distribution
with σ = 0.1 mA and μ = 10 mA
• What fraction of current sources is within ±3% (or ± 0.3%) of the mean?
• “Coefficient of variation”
13
Ideal step
• Example
Each step is independent of other steps.
• Say we have unit elements with σu = 1% and want 99.73% of all converters to
meet the spec.
14
7
1/20/2025
15
• Lets look at two examples N=64 (~6 bits) and N=4096 (~12 bits)
• 0.99731/64 = 0.999995311…
• 0.99731/4096 = 0. 99999992674682…
16
8
1/20/2025
• 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
17
INL
correlated
EECS6611 - Hossein Kassiri 18
18
9
1/20/2025
INL
• For a quotient of random variables
19
INL
20
10
1/20/2025
Achievable Resolution
21
• Example
• B = 12, σu = 1% → σDNL = 0.64 LSB !!!
• Much worse than thermometer DAC (0.03LSB to 0.05LSB)
• Btw, this was the worst-case code.
22
11
1/20/2025
23
Simulation Example
A random MATLAB run
- Gaussian distribution for all the elements
- Arrange the elements in binary weighted DAC
24
12
1/20/2025
25
Looks familiar?
26
13
1/20/2025
• DNL
• Worst case occurs when LSB DAC turns off and
one more MSB DAC element turns on
27
Comparison
Worst case
28
14
1/20/2025
29
• Systematic errors and correlations are usually also important, but can be mitigated by
proper layout and switching sequence design
• See e.g. [Lin, JSSC 12/98], [Van der Plas, JSSC 12/99]
30
15
1/20/2025
• Feedthrough
• Coupling from switch signals to DAC output
• Clock feedthrough
• References
• Gustavsson, Chapter 12
• 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, Jan.
2006.
31
Glitch Impulse
• DAC output waveform depends on timing
• Consider binary weighted DAC transition 0111… →1000…
32
16
1/20/2025
Glitch Impulse
• Worst case glitch impulse (area): ∝ Δt 2B-1
• 2B-1 is the MSB value
33
Commercial Example
34
17
1/20/2025
35
Circuit Examples
[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.]
36
18
1/20/2025
Circuit Examples
37
38
19
1/20/2025
• Latch controlled by global clock to ensure that current cells switch simultaneously (independent of decoder
delays)
39
40
20
1/20/2025
41
42
21
1/20/2025
• Mostly used for auxiliary functions, or as a building block within an A/D converter
43
• Can redistribute charge onto OTA + feedback capacitor to mitigate gain error due to C p
• Will discuss this in more detail later.
44
22