A METHOD OF SEGMENTING DIGITAL-TO-ANALOG CONVERTERS K Ola Andersson1, Niklas U Andersson1,2, Mark Vesterbacka1, and J Jacob Wikner2 1Dept. of E.E., Linköping University, SE-581 83 Linköping, Sweden Infineon Technologies Wireless Solutions Sweden AB, Linköping, Sweden {olaa, niklasa, markv}@isy.liu.se, jacob.j.wikner@infineon.com 2 ABSTRACT b1 w1 Segmented architectures are often used in digital-toanalog converters (DACs). Here we propose a DAC structure based on recursive decomposition of an N -bit binary DAC into two ( N – 1 )-bit DACs and one 1-bit DAC. A DAC model that includes matching errors has been simulated. The simulation results indicate that by using four layers of decomposition it is possible to achieve similar performance as when using seven bits of traditional segmentation. 0 0 I. INTRODUCTION bN wN ref. 0 X NM LSBs switches M MSBs binary-to-thermometer encoder Figure 1: A common strategy for digital-to-analog conversion. analog weights delay In this work we study the digital-to-analog converter (DAC). So called flash DACs [1] operate by switching weighted analog sources, e.g., voltage or current sources, to a summing node, where the output is formed, as illustrated in Fig. 1. Segmented architectures are commonly used in design of high-performance converters [2, 3]. The binary coded input is divided into two or more segments, some of which are encoded to thermometer code. An N -bit DAC with the M most significant bits (MSBs) thermometer coded and the N – M least significant bits (LSBs) binary coded is shown in Fig. 2. This case is used as a reference in this work and is referred to as M -bit segmentation. Glitches occur in the transition between two codes, and contribute to the distortion in the DAC output [2, 3]. These glitches are partly caused by skew between the signals controlling the switches. For example, in a binary weighted DAC with the consecutive input codes (1) X (n) = [ 0, 1, 1, …, 1, 1 ] and (2) X (n + 1) = [ 1, 0, 0, …, 0, 0 ] , we may for a short period of time in the transition between codes have an erroneous code controlling the switches, e.g., (3) X = [ 1, 1, 1, …, 1, 1 ] , causing a major glitch in the output, as illustrated in Fig. 3. In a first order model we assume the glitch magnitude to be proportional to the total number of switched unit output bj wj Figure 2: DAC using M -bit segmentation. weights in the transition between the codes [3]. As a simple measure of the glitch at an input code X we use the total number of switched unit weights between the codes X and X – 1 , i.e., S( X ) = ∑ aj – bj j ⋅ wj , (4) output level Glitch in 4−bit binary weighted DAC 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 n update instant Figure 3: Illustration of a major glitch in a 4-bit binary coded DAC caused by skew in the digital signals. The desired transition is from 7 to 8. where the different a j and b j are the individual bits of X and X – 1 , respectively. The factor w j is the weight of bit j , e.g., w j = 2 j for a binary coded input and w j = 1 for a thermometer coded input. Commonly used measures for the static linearity of a DAC are the differential nonlinearity (DNL) and the integral nonlinearity (INL) [4]. The DNL for an input code X is defined as the deviation from an ideal step in the transition between the codes X – 1 and X , i.e., Y (X ) – Y (X – 1) DNL(X ) = -------------------------------------- – 1 , (5) K where Y (X ) and Y (X – 1) are the settled output levels for the input codes X and X – 1 , respectively, and K is the gain of the converter. The INL for an input code is defined as the deviation of the actual output, Y (X ) , from the nominal output, Y nom(X ) , i.e., Y (X ) – Y nom(X ) INL(X ) = ------------------------------------(6) K The nominal output of the DAC is given by Y nom(X ) = K ⋅ X + m , (7) where the gain K and the offset m are found by adaptation (least square method) of a best-fit straight line with respect to the actual outputs for the different input codes. An alternative definition sometimes used is to express the nominal output with a straight line between the outputs for the minimum and maximum input code. The measure S(X ) defined in (4) is related to the DNL of the converter. Due to matching errors in the components, there will be errors in the analog weights. If each unit weight is regarded as a stochastic variable with expectation value K and variance σ 2 , then DNL(X ) is a stochastic variable with expectation value 0 and variance S(X ) ⋅ σ 2 ⁄ K 2 . The traditional approach to obtain good glitch properties and high static linearity is to use a segmented converter structure, as discussed earlier. The more bits that are thermometer coded, the better performance is obtained at the expense of an exponentially increasing hardware cost for the thermometer encoder. In this work, we propose an alternative method to the conventional segmentation approach. It is based on recursive decomposition of an N -bit binary DAC into two ( N – 1 )-bit DACs and one 1-bit DAC. The hardware cost grows exponentially for each level of decomposition also for this case, but since it has different glitch properties it is an interesting design alternative to the conventional segmented converter. The proposed approach is presented in Sec. II, simulation results for comparisons with common segmentation are presented in Sec. III, and the work is concluded in Sec. V. II. PROPOSED APPROACH In this section we present the decomposition method. We start by describing the digital control logic used, and continue with a qualitative discussion on the benefits of the method, compared with traditional segmentation. The control logic for the simplest form of the decomposition is shown in Fig. 4, where multiplexers are used to realize the desired function. An N -bit binary coded input, X , is decomposed into two ( N – 1 )-bit binary coded outputs, X 1 and X 2 and one 1-bit output X 0 . X 0 is the MSB of X and X1 = XL ∨ X0 (8) and X2 = XL ∧ X0 . (9) X L is the N – 1 LSBs of X , and the operators ‘∨’ and ‘∧’ in (8) and (9) denote the OR and AND operations between X 0 and the individual bits of X L , respectively. If X 0 , X 1 , and X 2 are used as inputs to three DACs whose outputs are summed into one combined output, the operation of an N -bit DAC is obtained. By decomposing the signal we have reduced the glitch in the transition between X = [ 0, 1, 1, …, 1, 1 ] = 2 N – 1 – 1 (10) and N–1 X = [ 1, 0, 0, …, 0, 0 ] = 2 , (11) since S(2 N – 1) = 2 N – 1 in the binary coded case, whereas S(2 N – 1) = 1 using 1-layer decomposition. A reduction of this glitch is also obtained by using 2-bit segmentation. However, the improvement is not as large 0 XL 2N11 XL X0 10 %. The standard deviation could, of course, be much lower in a well designed converter. A X2 X1 Figure 4: Control logic for 1-layer decomposition implemented with multiplexers. as when 1-layer decomposition is used, since S(2 N – 1) = 2 N – 1 – 1 using 2-bit segmentation. The decomposition can be repeated for X 1 and X 2 , resulting in four ( N – 2 ) bit binary coded DACs and three 1-bit DACs. This is what we refer to as 2-layer decomposition, which further reduces the glitches. Decomposing these four binary weighted DACs results in 3-layer decomposition, etc. In the general case with M -layer decomposition there are 2 M ( N – M )-bit binary coded DACs and 2 M – 1 1-bit DACs. In Fig. 5(a) we plot S(X ) for a 14-bit binary weighted DAC. The values of S(X ) using 2-bit and 3-bit segmentation are plotted in Fig. 5(b) and (d), respectively, and the values of S(X ) using 1-layer and 2-layer decomposition are plotted in Fig. 5(c) and (e), respectively. The maximum value of S(X ) is the same for M -layer decomposition and ( M + 1 )-bit segmentation. Due to the different hardware structure, it is not trivial to conclude what degree of decomposition that corresponds to a given degree of segmentation. However, there are N different levels of segmentation and N different levels of decomposition. Moreover, 1-bit segmentation and 0-layer decomposition both correspond to binary code, and N -bit segmentation and ( N – 1 )-layer decomposition both correspond to thermometer code. Therefore, we use a DAC with ( M + 1 )-bit segmentation as a reference when investigating the properties of a DAC with M -layer decomposition. III. SIMULATION RESULTS Pairwise comparisons between DACs with ( M + 1 )-bit segmentation and DACs with M -layer decomposition are presented in this section. The influence of stochastic matching errors are considered, and to make a fair comparison we use the same stochastic outcome of the matching errors for both types of DACs. In Fig. 6 we illustrate how the unit weights, which are represented with circles, are assigned to the two different DAC types. The assignments of unit weights for 5-bit DACs with 2-layer decomposition and 3-bit segmentation are indicated in the left and right parts of the figure, respectively. In the simulation we consider 14-bit converters, and the standard deviation of the Gaussian distributed unit weights is chosen to Influence on DNL and INL Simulated values of DNL and INL for a 2-bit segmented DAC are shown in Fig. 7(a) and (c), respectively. The DNL and INL for the DAC using 1-layer decomposition having the same matching errors in the unit weights as the 2-bit segmented converter are shown in Fig. 7(b) and (d), respectively. We note that the variation of the INL for codes around the DC level (which is indicated with dashed line in Fig. 7(a)-(d)) is less for the DACs utilizing decomposition than for the segmented DACs. This is not true for all stochastic outcomes of the matching errors, but for most. This is an important property for inputs that have most of their values around the DC level, such as sinusoids with low amplitude or Gaussian distributed signals. This is further discussed in the following section. B Influence on SNDR DAC specifications are often expressed in terms of the effective number of bits (ENOB) or, equivalently, the signal-to-noise-and-distortion ratio (SNDR). The output from a DAC at update instant n is expressed as Y (n) = Y nom(n) + e(n) , (12) where the nominal output Y nom(n) = K ⋅ X (n) + m (13) and e(n) is the error caused by mismatch for the input code X (n) . The SNDR is defined as P signal SNDR = --------------, (14) P error where P signal is the signal power and P error is the power of the error signal e(n) . The expression given in (14) can be expressed in terms of the variances of Y nom(n) and e(n) , i.e., Var(Y (n)) SNDR = ----------------------- , (15) Var(e(n)) where Var(Y (n)) and Var(e(n)) denote the variances of Y (n) and e(n) , respectively. For the simulations presented in this section we have chosen the gain K and the offset m of the DAC to yield the nominal DAC output as a best-fit straight line with respect to the data points given by the signal used in the simulations. Hence, the gain and offset are different for different input signals. This is in order to minimize the correlation between e(n) and X (n) . For a qualitative discussion we assume that e(n) = INL(X (n)) (which is not completely true, since the nominal transfer characteristics differ between the two cases). We concluded earlier that the variations of INL for Binary coded 16000 14000 12000 S(X) 10000 8000 6000 4000 2000 0 0 2000 4000 6000 8000 10000 12000 14000 16000 Input code (a) 1−layer decomposition 16000 16000 14000 14000 12000 12000 10000 10000 S(X) S(X) 2−bit segmentation 8000 8000 6000 6000 4000 4000 2000 2000 0 0 2000 4000 6000 0 0 8000 10000 12000 14000 16000 Input code 2000 4000 (b) 16000 14000 14000 12000 12000 10000 10000 S(X) S(X) 2−layer decomposition 16000 8000 6000 6000 4000 4000 2000 2000 0 0 2000 4000 6000 8000 10000 12000 14000 16000 Input code 8000 10000 12000 14000 16000 Input code (c) 3−bit segmentation 8000 6000 0 0 2000 4000 6000 8000 10000 12000 14000 16000 Input code (d) (e) Figure 5: S(X ) for 14-bit DAC using (a) binary code, (b) 2-bit segmentation, (c) 1-layer decomposition, (d) 3-bit segmentation, and (e) 2-layer decomposition. input codes close to the DC level was less for the DAC using M -layer decomposition than for the DAC using ( M + 1 )-bit segmentation. Hence, if the input has most of its codes around the DC level, then Var(e(n)) is likely to be smaller for the DAC using M -layer decomposition than for the DAC using ( M + 1 )-bit segmentation. Sinusoids are often used as test signals for data converters. However, the actual signals used in many applications are not sinusoids. For example discrete multi-tone (DMT) signals may be used. DMT signals have approximately Gaussian distribution. In the simulations presented here, we consider two different inputs, whose respective histograms are shown in Fig. 8. The histogram in Fig. 8(a) is for a full-scale sinusoid, and the histogram in Fig. 8(b) is for a Gaussian distributed signal with a standard deviation σ = 2.06 ⋅ 10 3 . Both signals consist of 2 16 samples. First we consider the sinusoidal input. The SNDR is simulated for 1000 different outcomes of the matching errors. For each outcome we simulate both the segmented and the decomposed DAC with unit weights assigned as in Fig. 6. The mean SNDR is plotted vs. the number of layers of decomposition for both types of DACs in Fig. 9. We observe that the mean SNDR is higher for the DACs using decomposition than for the corresponding segmented DACs. The same analysis is performed for the Gaussian distributed input. The mean SNDR is plotted vs. the number of layers of decomposition for both types of DACs in DNL for a 2−bit segmented 14−bit DAC thermometer bit no. 7 6 binary coded DAC no. 4 4 thermometer bit no. 6 thermometer bit no. 5 2 DNL 1−bit DAC no. 3 0 −2 −4 binary coded DAC no. 3 −6 thermometer bit no. 4 −8 1−bit DAC no. 2 5000 thermometer bit no. 3 10000 Input code 15000 (a) binary coded DAC no. 2 DNL for a 14−bit DAC with 1−layer decomposition thermometer bit no. 2 6 1−bit DAC no. 1 4 2 binary coded DAC no. 1 binary coded LSBs DNL thermometer bit no. 1 0 −2 −4 Figure 6: Assignment of unit weights for the two DAC types. −8 5000 10000 Input code 15000 (b) INL for a 2−bit segmented 14−bit DAC 8 6 4 2 INL Fig. 10. Here we find that the mean SNDR is better for the DAC using decomposition than for the corresponding segmented DAC. We also see that the DACs with 4-layer decomposition has roughly the same mean SNDR as the DACs with 7-bit segmentation. Just looking at the mean SNDR is not sufficient to conclude which type of solution is the best, we also need to consider the statistical distribution of the values. We define the yield of the converters as the relative number of converters having an SNDR higher than a required SNDR. The yield is plotted as a function of the required SNDR for DACs with 7-bit segmentation (dashed) and 4-layer decomposition (solid) in Fig. 11. We see that the two curves practically coincides and conclude that the same SNDR can be achieved using 4-layer decomposition as with 7-bit segmentation (for the input used). −6 0 −2 −4 −6 −8 0 5000 10000 Input code 15000 (c) INL for a 14−bit DAC with 1−layer decomposition 8 6 IV. SUGGESTIONS FOR FURTHER WORK 2 INL The simulations presented in this work only considered static errors caused by mismatch between components. The limiting factor for high-speed DACs is generally the dynamic behavior of the circuit. Therefore, it is interesting to investigate, e.g., the settling behavior of the different types of DACs through modeling or circuit implementations. In order to make a fair comparison between the segmented and decomposed DACs, it is also necessary to define and evaluate a proper measure of the hardware cost (e.g., chip area or power consumption). 4 0 −2 −4 −6 −8 0 5000 10000 Input code 15000 (d) Figure 7: DNL and INL for DACs with 2-bit segmentation ((a) and (c)) and 1-layer decomposition ((b) and (d)). Histogram for sinusoidal input SNDR vs. no. of layers of decomposition 61 6000 60 5000 59 SNDR [dB] No. of samples 7000 4000 3000 segmented decomposed 58 57 2000 56 1000 0 0 5000 10000 Input code 15000 1 2 3 4 5 6 M (a) Figure 10: Mean SNDR plotted for M -layer decomposition and ( M + 1 )-bit segmentation plotted vs. M for Gaussian distributed input. Histogram for Gaussian distributed input 6000 No. of samples 5000 Yield vs. SNDR 4000 100 3000 80 2000 0 0 5000 10000 Input code Yield [%] 1000 15000 (b) Figure 8: Histograms for (a) the sinusoid and (b) the Gaussian distributed signal used as inputs for the SNDR simulations. segmented decomposed 67 20 4−layer decomposition 7−bit segmentation 0 50 55 60 SNDR requirement [dB] 65 regarding the dynamic properties are required to draw any conclusion of the efficiency of the proposed architecture for high-speed DACs. 66.5 SNDR [dB] 40 Figure 11: Yield as a function of SNDR for DACs with 7-bit segmentation (dashed) and 4layer decomposition (solid). SNDR vs. no. of layers of decomposition 67.5 60 66 65.5 65 REFERENCES 64.5 [1] 64 63.5 1 2 3 4 5 6 M Figure 9: Mean SNDR plotted for M -layer decomposition and ( M + 1 )-bit segmentation plotted vs. M for sinusoidal input. [2] [3] V. CONCLUSIONS An alternative to the commonly used segmented DAC architecture was proposed. Simulation results indicate that the proposed approach has a potential of improving the performance of the converters, since it is less sensitive to static errors caused by mismatch. Further investigations [4] J.W. Bruce, “Nyquist-rate digital-to-analog converter architectures,” IEEE Potentials, vol. 20, no. 3, pp. 24-28, Aug.-Sept. 2001. D.A. Johns and K. Martin, Analog Integrated Circuit Design, John Wiley & Sons, New York, NY, USA, 1997, ISBN 0-471-14448-7. C.-H. Lin and K. Bult, “A 10-b, 500-MSample/s CMOS DAC in 0.6 mm2,” IEEE J. Solid-State Circuits, vol. 33, no. 12, pp. 1948-58, Dec. 1998. M. Gustavsson, J.J. Wikner, and N. Tan, CMOS Dataconverters for Communications, Kluwer Academic Publishers, Boston, MA, USA, 2000, ISBN 0-7923-7780-X.