D/A Converters • D/A architecture examples – Unit element – Binary weighted • Static performance – Component matching – Architectures • Unit element • Binary weighted • Segmented – Dynamic element matching • Dynamic performance – Glitches • DAC examples EECS 247 Lecture 15: Data Converters © 2005 H.K. Page 27 D/A Converters • Comprises voltage, charge, or current based elements • Examples for above three categories: – Resistor string – Charge redistribution – Current source type EECS 247 Lecture 15: Data Converters © 2005 H.K. Page 28 R-String DAC Vref R R 2B Rs, all Rs equal R R à Generates 2B equally spaced voltage sources R R R R EECS 247 Lecture 15: Data Converters © 2005 H.K. Page 29 R-String DAC Example Vref Example: Input code 101 à Vout= 5Vref/8 τsettling = =(3R||5R) x C =0.23 x 8RC EECS 247 Lecture 15: Data Converters 7Vref/8 6Vref/8 5Vref/8 4Vref/8 3Vref/8 Vout = 5Vref /8 C 2Vref/8 Vref/8 R © 2005 H.K. Page 30 R-String DAC • Advantages: Vref – Simple, fast for <8-10bits – Inherently monotonic – Compatible with purely digital technologies • Disadvantages: – 2B resistors & ~22B switches for B bits à High element count & large area for B >10bits – High settling time for B > 10: τmax = 0.25 x 2B RC C Ref: M. Pelgrom, “A 10-b 50-MHz CMOS D/A Converter with 75-W Buffer,” JSSC, Dec. 1990, pp. 1347 EECS 247 Lecture 15: Data Converters © 2005 H.K. Page 31 R-String DAC Including Interpolation Resistor string DAC + Resistor string interpolator increases resolution w/o drastic increase in complexity e.g. 6bit DACà 3bit +3bit Vref Vout Considerations: q Interpolation string loading of main R-string q Large R values à less loading but lower speed q Can use buffers EECS 247 Lecture 15: Data Converters © 2005 H.K. Page 32 R-String DAC Including Interpolation Vref Use buffers, issues: à Buffer offset à Speed EECS 247 Lecture 15: Data Converters © 2005 H.K. Page 33 Serial Charge Redistribution DAC • • Nominally C1=C2 Operation sequence: – Discharge C1 & C2à S3& S4 closed – For each bit in succession beginning with LSB, b1: • S1 open- if bi=1 C1 precharge to VREF if bi=0 discharged to GND • S2 & S3 & S4 open- S1 closed- Charge sharing C1 & C2 à ½ of precharge on C1 +½ of charge previously stored on C2à C2 EECS 247 Lecture 15: Data Converters © 2005 H.K. Page 34 Serial Charge Redistribution DAC Example: Input Code 101 b1 b2 • • • b3 Example input code 101à output (1/8 +0/8 +4/8 )VREF =5/8 VREF Very small area N redistribution cycles for N-bit conversion à quite slow EECS 247 Lecture 15: Data Converters © 2005 H.K. Page 35 Parallel Charge Scaling DAC reset Vout 2(B-1) C 8C 4C 2C C bB-1 (msb) b3 b2 b1 b0 (lsb) C Vref B −1 Vout = ∑ bi 2 i C i =0 2B C Vref • E.g. “Binary weighted” • B+1 capacitors & switches (Cs built of unit elements à 2B cap units) EECS 247 Lecture 15: Data Converters © 2005 H.K. Page 36 Charge Scaling DAC Example: 4Bit DAC- Input Code 1011 a- Reset phase reset 8C 4C 2C b3 b2 b1 b- Charge phase Vout C C 8C 4C b3 b2 Vout 2C C b1 b0 (lsb) b0 (lsb) C Vref Vout = Vref 20 C + 21 C + 23C 11 Vref = Vref 24 C 16 EECS 247 Lecture 15: Data Converters © 2005 H.K. Page 37 Charge Scaling DAC reset CP Vout 2(B-1) C 8C 4C 2C C C B −1 ∑b 2 C i bB-1 (msb) b3 b2 b1 b0 (lsb) Vout = i =0 i 2 B C + CP Vref Vref • • • Monotonicity depends on element matching Sensitive to parasitic capacitor @ outputà gain error Large area of caps for high DAC resolution (10bit DAC ratio 1:512) EECS 247 Lecture 15: Data Converters © 2005 H.K. Page 38 Charge Scaling DAC CI reset CP 2(B-1) C 8C 4C 2C C bB-1 (msb) b3 b2 b1 b0 (lsb) Vout + Vref B −1 Vout = • bi 2i C ∑ i =0 CI Vref Opamp helps eliminate the parasitic capacitor effect – Issue: opamp offset & speed EECS 247 Lecture 15: Data Converters © 2005 H.K. Page 39 Charge Scaling DAC Utilizing Split Array reset 8/7C + C C 2C 4C b0 b1 b2 C 2C 4C b3 b4 b5 Vout - Vref Cs e r i e s = • ∑ a l l LSB array C ∑ all MSB array C C Split arrayà reduce the total area of the capacitors required – E.g. 10bit regular binary array requires 513 unit Cs while split array (5&5) needs 64 unit Cs – Issue: Sensitive to parasitic C EECS 247 Lecture 15: Data Converters © 2005 H.K. Page 40 Resistor Ladder (MSB) & Binary Weighted Charge Scaling (LSB) Segmented DAC • Example: 12bit DAC – – 6-bit MSB DACà R string 6-bit LSB DAC à binary weighted charge redistribution Complexity much lower than full R • reset ... ... ... . Vout 32 C 16C 8C b5 b4 b3 4C 2C b2 b1 C C b0 string – Full R stringà 4096 resistors – Segmented à 64 R + 7 Cs (64 unit caps) 6bit resistor ladder 6-bit binary weighted charge redistribution DAC Switch Network EECS 247 Lecture 15: Data Converters © 2005 H.K. Page 41 Current Source DAC Unit Element …………… Iref …………… • • • • • Iout Iref Iref Iref “Unit elements ” Monotonicity does not depend on element matching 2B-1 current sources & switches Suited for both MOS and BJT techologies Output resistance of current source à gain error EECS 247 Lecture 15: Data Converters © 2005 H.K. Page 42 Current Source DAC Unit Element R …………… Vout + Iref …………… • Iref Iref Iref Output resistance of current source à gain error problem à Use transresistance amplifier- output of current source held @ virtual ground – error due to current source output resistance elliminated EECS 247 Lecture 15: Data Converters © 2005 H.K. Page 43 Current Source DAC Binary Weighted …………… 2B-1 Iref …………… Iout 4 Iref 2Iref Iref • “Binary weighted” • Monotonicity depends on element matching • B current sources & switches (2B-1 unit elements) EECS 247 Lecture 15: Data Converters © 2005 H.K. Page 44 Static DAC INL / DNL Errors • Component matching • Systematic errors – – – – Contact resistance Edge effects in capacitor arrays Process gradient Finite current source output resistance • Random errors – Lithography – Often Gaussian distribution (central limit theorem) *Ref: C. Conroy et al, “Statistical Design Techniques for D/A Converters,” JSSC Aug. 1989, pp. 1118-28. EECS 247 Lecture 15: Data Converters © 2005 H.K. Page 45 Probability density p(x) Gaussian Distribution 0.4 0.35 0.3 0.25 0.2 0.15 0.1 0.05 0 ( x−µ ) 2 p( x ) = 1 2πσ − e 2σ -3 -2 -1 0 1 2 3 x /σ 2 where standard d e v i a t i o n : σ = E( X 2 ) − µ 2 EECS 247 Lecture 15: Data Converters © 2005 H.K. Page 46 P (− X ≤ x ≤ + X ) = = 1 +X − 2π −X ∫ e x2 2 dx Probability density p(x) Yield P(-X ≤ x ≤ +X) X = erf 2 0.4 0.3 0.2 0.1 0 1 0.8 0.6 0.4 0.2 0 95.4 68.3 38.3 0 0.5 1 1.5 2 2.5 3 X EECS 247 Lecture 15: Data Converters © 2005 H.K. Page 47 Yield X/σ 0.2000 0.4000 0.6000 0.8000 1.0000 1.2000 1.4000 1.6000 1.8000 2.0000 P(-X ≤ x ≤ X) [%] 15.8519 31.0843 45.1494 57.6289 68.2689 76.9861 83.8487 89.0401 92.8139 95.4500 EECS 247 Lecture 15: Data Converters X/σ 2.2000 2.4000 2.6000 2.8000 3.0000 3.2000 3.4000 3.6000 3.8000 4.0000 P(-X ≤ x ≤ X) [%] 97.2193 98.3605 99.0678 99.4890 99.7300 99.8626 99.9326 99.9682 99.9855 99.9937 © 2005 H.K. Page 48 Example • Measurements show that the offset voltage of a batch of operational amplifiers follows a Gaussian distribution with σ = 2mV and µ = 0. • Fraction of opamps with |Vos| < X = 6mV: – X/σ = 3 à 99.73 % yield (we’d still test before shipping!) • Fraction of opamps with |Vos| < X = 400µV: – X/σ = 0.2 à 15.85 % yield EECS 247 Lecture 15: Data Converters © 2005 H.K. Page 49 Component Mismatch Example: Two side-by-side Resistors No. of resistors 400 300 ∆R 200 R 100 Large # of devices measured 0 996 1000 1004 1008 1012 & curved à typically if 988 992 sample size large shape R[ Ω ] is Gaussian E.g. Let us assume in this example 1000 Rs measured & 68.5% within +-4OHM or +-0.4% of average à 1σ for resistorsà 0.4% EECS 247 Lecture 15: Data Converters © 2005 H.K. Page 50 Component Mismatch Probability density p(x) Two side-by-side Resistors R= 0.4 R1 + R2 2 0.35 0.3 R ∆R 0.2 R 0.15 0.1 0.05 0 −3σ −2σ dR = R1 − R2 σ d2R ∝ 0.25 −σ 0 σ 2σ For typical technologies & geometries 1σ for resistorsà 0.02 το 5% 1 Area 3σ dR R In the case of resistors σ is a function of area EECS 247 Lecture 15: Data Converters © 2005 H.K. Page 51 DNL Unit Element DAC E.g. Resistor string DAC: Vref ∆ = Rn o m I ref Iref ∆i = Ri I ref DNLi = = ∆ n o m − ∆i ∆nom Ri − R nom Rn o m = dRnom Rnom ≈ d Rn o m Ri ∆i = Ri I ref σ DNL = σ dRi Ri DNL of unit element DAC is independent of resolution! EECS 247 Lecture 15: Data Converters © 2005 H.K. Page 52 DNL Unit Element DAC E.g. Resistor string DAC: Example: If σdR/R = 0.4%, what DNL spec goes into the datasheet so that 99.9% of all converters meet the spec? σ DNL = σ d R i Ri DNL of unit element DAC is independent of resolution! Note similar results for all unit-element based DACs EECS 247 Lecture 15: Data Converters © 2005 H.K. Page 53 Yield X/σ 0.2000 0.4000 0.6000 0.8000 1.0000 1.2000 1.4000 1.6000 1.8000 2.0000 P(-X ≤ x ≤ X) [%] 15.8519 31.0843 45.1494 57.6289 68.2689 76.9861 83.8487 89.0401 92.8139 95.4500 EECS 247 Lecture 15: Data Converters X/σ 2.2000 2.4000 2.6000 2.8000 3.0000 3.2000 3.4000 3.6000 3.8000 4.0000 P(-X ≤ x ≤ X) [%] 97.2193 98.3605 99.0678 99.4890 99.7300 99.8626 99.9326 99.9682 99.9855 99.9937 © 2005 H.K. Page 54 DNL Unit Element DAC Example: If σdR/R = 0.4%, what DNL spec goes into the datasheet so that 99.9% of all converters meet the spec? E.g. Resistor string DAC: σ DNL = σ d R i Ri Answer: From table: for 99.9% à X/σ = 3.3 σDNL = σdR/R = 0.4% 3.3 σDNL = 1.3% àDNL= +/- 0.013 LSB EECS 247 Lecture 15: Data Converters © 2005 H.K. Page 55 DAC INL Analysis Output [LSB] N B E n A n N=2B-1 Input [LSB] A=n-E Ideal n B=N-n+E N-n Variance n.σε2 (N-n).σε2 E = A-n r =n/N N=A+B = A-r(A+B) = A (1-r) -B.r à Variance of E: σE2 =(1-r)2 .σΑ2 + r 2 .σB2 =N.r .(1-r).σε2 EECS 247 Lecture 15: Data Converters © 2005 H.K. Page 56 DAC INL n σ E 2 = n 1 − ×σ ε 2 N To find m a x . v a r i a n c e : → n=N/2 • dσ E 2 dn =0 Error is maximum at mid-scale (N/2): σ INL = 1 2B − 1 σ ε 2 with N = 2 B − 1 • INL depends on DAC resolution and element matching σε • While σDNL = σε Ref: Kuboki et al, TCAS, 6/1982 EECS 247 Lecture 15: Data Converters © 2005 H.K. Page 57 Untrimmed DAC INL Example: σ INL ≅ 1 B 2 −1 σε 2 σ B ≅ 2 + 2 log2 INL σε EECS 247 Lecture 15: Data Converters Assume the following requirement: σINL = 0.1 LSB Then: σε = 1% σε = 0.5% σε = 0.2% σε = 0.1% à à à à B = 8.6 B = 10.6 B = 13.3 B = 15.3 © 2005 H.K. Page 58 Simulation Example 12 Bit converter DNL and INL DNL [LSB] 2 1 -0.04 / +0.03 LSB σε B 0 -1 500 1000 1500 2000 2500 3000 3500 4000 bin 1 Computed INL: σINL = 0.3 LSB (midscale) 2 INL LSB] = 1% = 12 -0.2 / +0.8 LSB 0 -1 500 1000 1500 2000 2500 3000 3500 4000 bin EECS 247 Lecture 15: Data Converters © 2005 H.K. Page 59 INL for Binary Weighted DAC • INL same as for unit element DAC • DNL depends on transition Iout – Example: 0 to 1 àσDNL2 = σ(dΙ/Ι) 2 1 to 2 à σDNL2 = 3σ(dΙ/Ι) 2 • Consider MSB transition: 0111 … à 1000 … EECS 247 Lecture 15: Data Converters 2B-1 Iref …………… 4 Iref 2Iref Iref © 2005 H.K. Page 60 MOS Device Matching Effects Id = Id1 + Id 2 2 Id1 dId Id1 − Id 2 = Id Id Id2 dId dW L dVth = + W Id VGS −Vth L • Current matching depends on: - Device W/L ratio matching à Larger device area less mismatch effect - Threshold voltage matching à Larger gate-overdrive less threshold voltage mismatch effect EECS 247 Lecture 15: Data Converters © 2005 H.K. Page 61 Current-Switched DACs in CMOS Iout Iref d Id Id = dW L W L + Switch Array d Vth …… VG S −Vth 256 •Advantages: Can be very fast Small area for < 9-10bits 128 64 ………..…..1 Example: 8bit Binary Weighted •Disadvantages: Accuracy depends on device W/L & Vth matching EECS 247 Lecture 15: Data Converters © 2005 H.K. Page 62 Binary Weighted DAC DNL • Worst-case transition occurs at mid-scale: 15 ( ) ( ) σDNL2/ σε2 2 σ DNL = 2B−1 − 1 σε2 + 2B−1 σε2 10 144244 3 14243 0111... 1000... ≅ 2Bσε2 σ DNLmax = 2B / 2σε 5 σ I N Lmax ≅ • 0 2 4 6 8 10 12 14 1 2 2B − 1 σ ε ≅ 1 2 σ DNLmax Example: B = 12, σε = 1% DAC input code EECS 247 Lecture 15: Data Converters à σDNL = 0.64 LSB à σINL = 0.32 LSB © 2005 H.K. Page 63 “Another” Random Run … DNL and INL of 12 Bit converter DNL [LSB] 2 -1 / +0.1 LSB, 1 Now (by chance) worst DNL is mid-scale. 0 -1 -2 500 1000 1500 2000 2500 3000 3500 4000 bin Statistical result! INL [LSB] 2 -0.8 / +0.8 LSB 1 0 -1 500 1000 1500 2000 2500 3000 3500 4000 bin EECS 247 Lecture 15: Data Converters © 2005 H.K. Page 64 Unit Element versus Binary Weighted DAC Unit Element DAC Binary Weighted DAC σ D N L = σε σ DNL ≅ 2 B 2σ σ INL ≅ 2 B 2 −1 σ INL ≅ 2 B 2 −1 σ ε ε = 2σ INL σε Number of switched elements: S=B S = 2B Key point: Significant difference in performance and complexity! EECS 247 Lecture 15: Data Converters © 2005 H.K. Page 65 Unit Element versus Binary Weighted DAC Example: B=10 Unit Element DAC Binary Weighted DAC σ DNL = σ ε σ DNL ≅ 2 2σ ε = 3 2σ ε σ INL ≅ 2 B 2 B −1 σ ε = 16σ ε σ INL ≅ 2 B 2 −1 σ ε = 16σ ε Number of switched elements: S = 2B = 1024 S = B = 10 Significant difference in performance and complexity! EECS 247 Lecture 15: Data Converters © 2005 H.K. Page 66 DAC INL/DNL Summary • DAC architecture has significant impact on DNL • INL is independent of DAC architecture and requires element matching commensurate with overall DAC precision • Results are for uncorrelated random element variations • Systematic errors and correlations are usually also important Ref: Kuboki, S.; Kato, K.; Miyakawa, N.; Matsubara, K. Nonlinearity analysis of resistor string A/D converters. IEEE Transactions on Circuits and Systems, vol.CAS-29, (no.6), June 1982. p.383-9. EECS 247 Lecture 15: Data Converters © 2005 H.K. Page 67