In short: A DAC turns a digital code into an analog voltage or current, and the architecture you pick — binary-weighted, R-2R, thermometer, or current-steering — is a trade among area, matching, glitch energy, and speed, with INL/DNL the yardsticks that decide whether it is actually monotonic and linear.
Every mixed-signal chip that talks to the real world needs to convert numbers back into something continuous: an audio waveform, a bias for a PLL, a reference for a servo loop, or a wideband RF carrier. The digital-to-analog converter (DAC) does that, and the architecture behind it quietly sets the limits on resolution, bandwidth, and distortion. In interviews and in silicon, the same four families keep coming up. This article walks through each, with the numbers and the gotchas that separate a working design from a non-monotonic one.
Binary-weighted: elegant on paper, brutal in matching
The most direct idea is to give each bit a weight that is a power of two. An N-bit current-steering version uses currents of I, 2I, 4I, … up to 2N-1I; a charge-redistribution version does the same with binary-scaled capacitors. Sum the weights whose bits are high, and you get an output proportional to the code.
The trouble is dynamic range in the elements. For a 12-bit converter the MSB element is 2048 times the LSB. To keep the MSB accurate to better than half an LSB, the MSB must match to roughly 1 part in 4096 — about 0.024%. Random mismatch in MOS devices scales as 1/√(WL) (the Pelgrom law), so you pay with enormous device area, and the ratio between the largest and smallest device makes layout and matching nearly impossible at high resolution.
Key fact: The hardest code transition in a binary-weighted DAC is mid-scale, 0111…1 → 1000…0. Every lower bit switches off while the MSB switches on. If the MSB is even slightly small, the output dips at the transition — a DNL error that can go below −1 LSB and make the converter non-monotonic.
R-2R ladder: two resistor values, any resolution
The R-2R ladder sidesteps the wide element ratio. It uses only two resistor values, R and 2R, arranged so that at every node the impedance looking into the ladder is R. Current halves at each rung, so a bit's contribution is binary-scaled even though every resistor is nearly the same size. That is a huge matching win: you match R to 2R locally, not an MSB to a far-away LSB.
R-2R is the workhorse of general-purpose and precision DACs — Analog Devices and TI parts like the classic multiplying DACs are ladders at heart. The catch is that it is still fundamentally binary, so DNL at the major carry depends on ladder trimming, and the output node sees code-dependent switching. Laser- or fuse-trimmed thin-film ladders reach 16-bit INL in production, but the ladder alone does not guarantee monotonicity.
Thermometer coding: monotonic by construction
Instead of weighting elements, use 2N−1 identical unit elements and turn on as many as the code demands. Code 5 lights five units; code 6 lights six. Because increasing the code only ever adds a unit and never removes others, the output can only go up — the DAC is guaranteed monotonic regardless of mismatch, and DNL is bounded by a single unit's error.
The price is exponential element count: a 10-bit thermometer DAC needs 1023 units plus a decoder, which is why pure thermometer coding is reserved for low-to-mid resolution. The practical answer is segmentation: thermometer-code the upper bits (where monotonicity and glitch matter) and binary-weight the lower bits (where area matters). A common 14-bit layout might be 6 bits thermometer + 8 bits binary.
| Architecture | Element spread | Monotonic? | Area | Best for |
|---|---|---|---|---|
| Binary-weighted | 1 : 2N-1 | Not guaranteed | Small | Low resolution |
| R-2R ladder | 1 : 2 | Trim-dependent | Medium | Precision, DC |
| Thermometer | 1 : 1 | Guaranteed | Large (2N) | Low-res, low-glitch |
| Current-steering (segmented) | mixed | Yes in MSBs | Medium | High-speed RF/comms |
Current-steering: the high-speed choice
For GSPS DACs feeding transmitters or direct-RF synthesis, current-steering with a segmented, thermometer-coded MSB array is the standard. Unit current sources are never switched off; a differential pair simply redirects each source to the positive or negative output. Because the sources stay in steady state, settling is fast and glitch energy is small. Analog Devices' AD9xxx family and TI's DAC38xx are built this way, reaching sample rates of several GSPS.
Key fact: Glitch impulse area — measured in pV·s — matters more than static linearity at high speed. Thermometer segmentation in the MSBs keeps simultaneous-switching glitches small, and careful clock-feedthrough and timing-skew control (verified in Cadence Spectre transient and with PVT corners) is what actually sets SFDR.
INL and DNL: the metrics that decide it
DNL (differential nonlinearity) is the error in each individual step size, in LSBs: ideally every code is one LSB wide. A DNL of exactly −1 LSB means a code has zero width (it never appears); worse than −1 LSB means the output went backwards — the converter is non-monotonic, fatal in a control loop. INL (integral nonlinearity) is the accumulated deviation of the actual transfer curve from a straight line, essentially the running sum of DNL errors. INL caps distortion and harmonic content; DNL caps monotonicity and spurious tones.
This is exactly why thermometer coding is prized: its DNL is bounded by one unit element, so monotonicity is free. It is also why a 16-bit R-2R ladder needs trimming — the untrimmed major-carry DNL would blow past ±1 LSB. In sign-off you characterize both over temperature and across Monte Carlo mismatch in Spectre or with a Siemens (Mentor) analog flow; a design that looks clean at nominal can fail DNL at a slow corner.
If you want the mirror image of all this — how comparators and sampling networks turn analog back into codes — read our companion piece on ADC architectures, and for the sampling theory underneath both, see sample-and-hold circuits. Teams building production data converters often pair this knowledge with hands-on layout mentoring from Avecas' analog design services.
Want to design and tape out a real DAC? CourseTron's analog and mixed-signal track takes you from INL/DNL theory to a segmented current-steering layout in Cadence Virtuoso. Explore the full course catalog and start building silicon-ready intuition.
FAQ
Why is a thermometer DAC always monotonic?
Because raising the code only switches on additional identical unit elements and never turns off ones already on. The output can therefore only increase or stay flat, so it is monotonic no matter how badly the units mismatch — mismatch hurts INL but never breaks monotonicity.
What is the difference between INL and DNL?
DNL measures how far each individual step deviates from one ideal LSB; INL is the cumulative deviation of the whole transfer curve from a straight line (roughly the running sum of DNL). DNL governs monotonicity and missing codes; INL governs overall linearity and distortion.
Why do high-speed DACs use current-steering instead of R-2R?
Current-steering keeps its unit sources permanently on and merely redirects them to a differential output, so there is no large-signal settling of the sources and glitch energy stays low. That gives the fast settling and high SFDR that GSPS transmitter and direct-RF DACs need, which a switched resistor ladder cannot match.
What does segmentation buy you?
Segmentation thermometer-codes the most significant bits (for guaranteed monotonicity and low glitch at the major carries) while binary-weighting the least significant bits (to save area and decoder complexity). It is the standard compromise in 12-to-16-bit converters.