Design of a 10 Bit TSMC 0.25µm CMOS Digital to Analog Converter J. Huynh, B. Ngo, M. Pham, and L. He San Jose State University Department of Electrical Engineering San Jose, CA lhe@email.sjsu.edu Abstract The goal of this project is to implement a 10-bit segmented current steering TSMC 0.25µm CMOS digital to analog converter. Binary coded 10-bit data was input to the converter. The converter will convert all combinations of ten bits from digital form into correspondent “staircase” voltage levels. A low pass filter placed after the output terminal of the converter is necessary to make the voltage level smooth. I. Introduction High resolution digital analog converters (DACs) are highly demanded in today’s wireless communication applications. In data communication systems, when signals are transmitted from one system to another system, they are often handled in a digital manner. However, the natural state of signals, such as voltage and current appears in analog form [1]. Therefore, a digital to analog converter (DAC) is needed to convert digital signals into analog signals. The performance of a digital to analog converter depends heavily on the circuit architecture. The analog signals should be recovered at the end of the receiver of the data communication system. In this work, several digital to analog architectures for DAC designs were discussed. Those architectures included resistor string, R-2R ladder networks, charge scaling, current steering, and segmented current steering. Most of them could not avoid glitches because of the change of more than one digital input bit at a sampling time or can be suffered by noise problems since resistors are noise sources. Therefore, the DAC output does not result in the expected value. Furthermore, the DAC chip is big in term of area because passive components have large area and their static characteristics are not good since more differential nonlinearity (DNL) errors occur at higher resolution. This DAC project is designed to resolve the glitch energy, minimize the use of passive components, and improve static characteristics. After studying the advantages of segmented current steering 0-7695-2301-3/05 $20.00 (c) 2005 IEEE architecture, the architecture was employed for this high resolution DAC. The goal of this project is to implement a 10-bit segmented current steering TSMC 0.25µm CMOS digital to analog converter. The operation of the 10-bit DAC was briefly described. Binary coded 10-bit data was input to the converter. The converter will convert all combinations of ten bits from digital form into correspondent “staircase” voltage levels. A low pass filter placed after the output terminal of the converter is necessary to make the voltage level smooth. The strengths and drawbacks of each architecture are evaluated by criteria such as integral nonlinearity (INL), differential nonlinearity (DNL), monotonicity, and chip area [1]. II. Circuit Design In this project, the proposed 10-bit digital to analog converter was designed, analyzed, implemented, simulated, and layout in a 0.25-µm CMOS technology. The power consumption of this 10-bit converter was reduced by half compared to the 10-bit converter which was done by Park, Cho, and Yoon [2]. Segmented current steering architecture will be employed to design this project which is a 10-bit segmented current steering CMOS digital to analog converter. The 10-bit converter consists of three digital to analog converters. The first one is an 8-bit thermometer coded DAC. Eight inputs of this DAC are 8 most significant bits (MSBs) of the 10-bit DAC. An 8-bit thermometer coded DAC is compared. The second and the third DAC are two 1- bit binary weighted DACs. In the matrix array of the 8-bit DAC, there are 16 rows. The first row of this matrix has 15 current sources with switches. There is a 4-bit binary to thermometer decoder controlling switches. D latch circuits synchronize data clocks. Each output of the decoder works as a controlling signal for the current source switch. Four least significant bits of the 8-bit DAC are used as inputs to the decoder to control 15 current switches in the first row. All correct currents of those 15 current sources, which correspond to an input combination, are added up. This total current will be multiplied with the load resistor to produce the correct output voltage. Four most significant bits of the 8-bit DAC are used as inputs to the decoder to control 15 rows of the matrix array. Inputs of 16 current switches are connected together and controlled by the correct output of the decoder. In the same fashion, all correct currents will be added up and multiplied with the load resistor to produce correct voltage outputs. Note that a maximum number of current sources switching on in the first row are 15 currents. This number is equivalent to the digital input 00001111. Since this is a number 15 in decimal, the thermometer code should be 111111111111111. Each number 1 represents of one LSB current. For example, if 16 current sources are needed, then the thermometer code should be 1111111111111111 and the binary inputs of an 8-bit DAC should be 0001000. Then all 15 current switches in the first row are off. All 16 current sources in the second row are on since the 4 MSB binary to thermometer decoder is triggered by the input 0001000. The operation of the 8-bit DAC works in this manner. a) Design of a Current Source Block A current source block contains a D latch circuit that determines whether to turn on a current switch or turn off a current switch based on the signal R from the output of the decoder. The external clock is synchronized by the D latch. The analog part of a current source block consists of a cascoded current source and a differential switch. The current source is biased with a cascoded biasing current scheme [3]. PMOS devices are employed in the current source because they reduce cross-talk. A current source also includes buffers to drive a differential switch. To reduce charge injection and capacitive feed-through, dummy switches with their drains and sources shorted are placed in series with a differential switch [4]. When switch turns off, half the channel charge is injected toward a dummy switch. Therefore, the size of a dummy switch is one-half that of the desired switch. A clock, which is inverted the clock of a differential switch, is applied to the dummy switch to induce a channel. When the dummy switch is off, it will inject half of its charge in both directions. Since the drain and source are shorted and a differential switch is on, the charge from the dummy switch will be injected onto the low impedance source. As a result, charge injection of the dummy switch will not affect the value of the voltage on load capacitor. b) Design of the Two-Stage Operational Amplifier The purpose of two stage operational amplifier in the biasing current scheme is to provide a negative feedback loop to stabilize the biasing current. When the voltage drop across resistor 61.8K attempts to go up, then this voltage drop will feed into the negative terminal of the two stage op-amp. Therefore, the voltage at the output of the op-amp goes down. As a result, the voltage drop across the resistor will go down. Therefore, the biasing current will be stable. However, its gain is reduced because of the small mobility of PMOS device. Based on the specifications of the op-amp and the formulas [5], transistor sizes are calculated. In order to avoid system offset, the transistor sizes are chosen to satisfy the condition: W L N2 W L N0 2 W L P1 W L P0 c) Design of the Bandgap Reference Voltage Circuit The bandgap reference voltage is used to provide the temperature invariant voltage for an integrated circuit. As temperature increasing, VBE is dropped by 2mV per degree C; however, thermal voltage is increased by 0.085mV per degree C. Therefore, the bandgap reference voltage is constant with temperature variation. The basic bandgap equation is Vref Vbe + KVPTAT Vbe is the forward biased voltage of a diode. It is a negative temperature dependent term. d) Design of Different Cascoded Current Sources This cascoded current cell provides 1LSB current for a 10-bit DAC. It has the same transistor size as the size of a biasing current transistor. With L=300nm, it is suffered from current mismatch. However, it has small area. The width of this cascoded current source will be W = 5µm for the initial design. However, after running simulation, mismatch error is big. Therefore, the width is changed to 20µm according to the change of the width of the biasing current transistor. e) Design the Analog Output Voltage of the 10Bit DAC The cascoded current source limits its output voltage [6], but it has high output impedance which can improve signal free dynamic range. In addition, the saturation region of each cascoded device must be preserved. The TSMC 0.25-µm CMOS process allows the use of 2.5V supply rail to rail. Realizing these limitations, one output step voltage is designed for 1.5mV. A 10-bit DAC will decode 210 combinations and produce ( 210-1) or 1023 output voltage steps. Therefore, the full scale voltage (VFS) of the output is VFS = 1023x1.5mV/step = 1.5345V. With power supply 2.5 V and such full scale voltage, the remaining voltage is .96655V. This amount of the voltage guarantees the saturation of a cascoded device. The value of the load resistance at the output of DAC is calculated by R VLSB 1.5m ILSB 20uA A low pass filter is needed after the output of a 10 bit DAC. The function of low pass filter is to filter out noises at high frequencies. a) Design of a Low Pass Filter A low pass filter is needed after the output of a 10 bit DAC. The function of low pass filter is to filter out noises at high frequencies. Figure 2 shows a low pass filter with the 3dB bandwidth is 2.1GHz. 75Ohm Figure 1 showed the op-amp in biasing circuit [2]. Figure 2. A low pass filter b) Design of a 4-Bit Binary to Thermometer Decoder Figure 1. The use of an op-amp in biasing circuit III. Static Characteristics and Dynamic Characteristics of the DAC Static characteristics include integral nonlinearity (INL), differential nonlinearity (DNL), dynamic range, and signal to noise ratio (SNR). Dynamic characteristics are gain error and conversion rate. Integral nonlinearity (INL) is defined as the maximum difference between the actual output values and a reference straight line drawn through the first and last output values [5]. Differential nonlinearity (DNL) is defined as the difference between the actual increment height of a transition and an ideal increment height [5]. Dynamic range (DR) is the ratio of the full scale range to the smallest difference that can be resolved The thermometer decoder helps the high resolution converter getting rid of potential glitches and then improves nonlinearity. For this purpose, the 4-bit binary to thermometer decoder is designed. In thermometer code, one bit is changed at a given time. Switch controlling have benefited from this property of thermometer code. Four inputs of the decoder are binary, but outputs are thermometer codes. In other words, this is a code converter. Studying the above table, it is seen that there is one bit changing when the output changes from one state to another state. Boolean algebraic equations are obtained using Karnaugh-map simplification. In CMOS digital circuit design, it is not convenient to design an AND or OR logic. Therefore, DeMorgan’s Law is used for the decoder implementation. All Boolean algebraic equations of the decoder will be complemented by DeMorgan’s Law. Three logics NAND, NOR, and NOT are used to implement the decoder. Although there are 4 inputs, there are only 15 outputs. The first combination 0000 produces no output. The frequency of the decoder is about 80MHz. This frequency should be higher than the speed of the DAC in order to handle input data. c) Design of a D Latch Circuit Each pair of current switches in a cascoded current cell is driven by a D latch circuit. The function of the D latch is to synchronize the external clock [7]. For example, at a given time, three switches are on simultaneously. Output of the D latch will force those three switches closing at the same time. Implementing the D latch includes transmission gates and inverters. The operation of level-sensitive D latch is controlled by the clock signal CK. A value of CK = 1 accepts the input D into the circuit. Switching the control to a value of CK = 0 allows the circuit to hold the value. When CK = 1, NMOS transistor of transmission gate will act as a closed switch, while PMOS transistor of transmission gate is open. The value of the input data D enters the circuit and is available at the outputs Q and QB. Because the output change in response to a change in input D, the latch is said to be transparent. The hold operation occurs when CK = 0. The latch circuit will form a feedback loop between the inverters. This loop is a bi-stable circuit to store either 1 or 0 [8]. A number of inverters and buffers are used in this project. Buffers are implemented by two inverters. They are tested at high frequency. The purpose of buffers is to drive loads. The function of inverter is inversion. All transistors of logic gates are sized based on the dimensions of this inverter. d) Designs of Inverters and Buffers A number of inverters and buffers are used in this project. Buffers are implemented by two inverters. They are tested at high frequency. The purpose of buffers is to drive loads. The function of inverter is inversion. Figure 3 shows the basic inverter. Its size is standard. All transistors of logic gates are sized based on the dimensions of this inverter. e) Clock Issues In order to avoid interconnect-induced clock skew, the H-tree structure for clock distribution lines is employed. The H-tree pattern is one that replicates the shape of a letter “H” in the interconnect patterning. If an input signal is applied to the center of the “H” and the outputs are taken at the tips, then every path length is the same. This means that the delay between the input and each output is identical. The clock driver is placed in the center of the DAC and nested H-trees are used to distribute the signal to various points on the chip. If the receivers are placed at the tips of H-tree line, then all received signals are in phase [8]. We described the operation of the 10 bit segmented current steering digital to analog converter as well as its architecture. The “segmented current steering” architecture used for this project is slightly modified compared to “standard segmented current steering” architecture. The difference between the architecture of this project and the segmented current steering architecture is that decoding circuit is not used for each current source block. The key advantage of segmented current steering architecture is that nonlinearity is improved for high resolution applications. The bandgap circuit is designed with a fixed voltage of 1.196V. Cascoded current sources and differential switches are main parts for the DAC. Area of the DAC is big due to the matrix array. A 4-bit binary to thermometer decoder plays an important role in switch controlling. D latch synchronizes clock. Monotonicity of the DAC is guaranteed by current steering architecture. To prepare for testing characteristics, definitions for static and dynamic characteristics are discussed. Clock skew is reduced using H-tree structure. With these design ideas, circuit implementations will be presented in the next chapter. IV. Project Implementation Performance Results Figure 3. A standard inverter Designed for this work and This section describes implementations and simulation results for sub-circuits in the 10 bit DAC. Circuit simulation is performed after the implementation of a sub-circuit in the DAC. The design tool employed for creating circuits is the Cadence IC Design program. The partition of a single DAC is used for the purpose of debugging. It is easier to run simulation for a single sub-circuit and see whether correct result or wrong result. If errors occur, then they are found and debugged quickly. After performing functionally, all sub-circuits are integrated into a single DAC. If sub-circuits of the DAC work properly, then the DAC possibly works. This test methodology saved time when this project was in progress. Based on design ideas stated before, circuits for analog part and digital part are implemented. Each circuit is tested using SpectreS circuit simulator in Cadence IC Design program. Plots or graphs for the desired outputs are obtained after the termination of simulation. Extracted data from the output log of the SpectreS simulator will be entered MatLab program to calculate and plot characteristics of the DAC. The performance results are from pre-layout tests. Circuit simulator is set up to run at room temperature. 10 bit DAC is 50f. Each digital input is set 20ns for the delay time (equal half a period of the previous input). In addition, each input has 100ps for rise time and 100ps for fall time. Performance results of the 10 bit DAC are met specifications as expected. However, due to the excess of account quota, the simulation result shows up to 2.5µs instead of 20.48µs. Output data from the SpectreS Output Log of the project are extracted after simulation. With the aid of the MatLab program, the transfer curve of the 10-bit DAC is drawn. Note that inputs are translated from digital combinations into decimal numbers for the purpose of convenience. In addition, the MatLab program is used to draw the plot for gain error calculation, integral nonlinearity (INL), and differential nonlinearity characteristics for the 10-bit DAC. One of static conversion errors of the DAC is gain error. Gain error is defined as the difference between the ideal slope and the actual slope measured at the rightmost jump. From the worst case for gain error plot, the worst case of the gain error for the 10-bit DAC at 0.002V is about 1.3LSB. This gain error can be represented of the integral nonlinearity. The gain error is measured at the high resolution. From this plot, it is shown that the thermometer coded DAC helps to improve the integral nonlinearity at the high value of resolution. For this project, gain error does not depend on the operational amplifier since the current steering architecture is employed. Integral nonlinearity error of the 10-bit DAC is one of the DAC characteristics. It measures vertically the difference between the actual resolution characteristic and the ideal resolution characteristic. Differential nonlinearity (DNL) error of the 10-bit DAC is another characteristic of the DAC. It measures the difference between two adjacent steps with the ideal voltage step. a) Test Bench for the 10 Bit DAC Figure 4. The completed 10 bit segmented current steering TSMC 0.25µm CMOS D/A converter The test bench includes the biasing current circuit, the 10 bit DAC, the low pass filter, and the bandgap circuit. The period of the clock is 20ns which is equivalent to 50MHz. Data period is doubled the clock period. The clock needs to have a big buffer in order to drive big loads. The function of the low pass filter is to filter out noises at high frequencies and it also makes the output of the DAC smooth. An output load of the Figure 5. Test bench for the 10 bit DAC This test bench includes the biasing current circuit, the 10 bit DAC, the low pass filter, and the bandgap circuit. The period of the clock is 20ns which is equivalent to 50MHz. Data period is doubled the clock period. The clock needs to have a big buffer in order to drive big loads. The function of the low pass filter is to filter out noises at high frequencies and it also makes the output of the DAC smooth. An output load of the 10 bit DAC is 50f. Each digital input is set 20ns for the delay time (equal half a period of the previous input). In addition, each input has 100ps for rise time and 100ps for fall time. Performance results of the 10 bit DAC are met specifications as expected. However, due to the excess of account quota, the simulation result shows up to 2.5µs instead of 20.48µs. V. Conclusions Design of a 10-bit segmented current steering TSMC 0.25-µm CMOS digital to analog converter (DAC) was done in this project. The DAC performed well following the specifications. Each output step voltage is about 1.5mV within +/-2 LSB tolerance. The characteristics of the DAC are also tested and their results meet the specifications within a certain amount of tolerance. The power consumption of the DAC is about 52mW. The 1 LSB cascoded current cell conducts 20µA as expected. The 8-bit DAC, which contains the current source matrix arrays, was constructed and tested. This is the main part of the DAC. The analog part of the DAC is the cascoded current biasing circuit which creates and biases currents for the current source cells. The two stage operational amplifier and the 1.196V reference voltage circuit were designed to give the reference voltage for the DAC. The layout of the DAC was also done on ahead of schedule. The post extraction simulation of each current source block determines whether the current source has a correct result or not. The layout for the analog part was completed except for the bandgap circuit. VI. References [1] Alan B. Grebene, Bipolar and MOS Analog Integrated Circuit Design. Wiley-Interscience. 1984. [2]. S.Y. Park, H. H. Cho, and K. H. Yoon, “A 3.3V-110MHz 10-Bit CMOS Current Mode DAC,” CATS, 2001. [3] T. Miki, Y. Nakamura, M. Nakamura, Y. Akasaka, and Y. Horiba, “An 80MHz 8 bit CMOS D/A Converter,” IEEE J. Solid-State Circuits, pp.983-998, Dec.1986. [4] Jacob R. Baker, Harry W. Li, and David E. Boyce, CMOS Circuit Design, Layout, and Simulation. IEEE, Press. Prentice-Hall, 1998. [5] Phillip E. Allen and Douglas R. Holberg, CMOS Analog Circuit Design. Second Edition. Prentice-Hall, 2002. [6] Ki-Hong Ryu, “A 3.3V 12-Bit High Speed Current Cell Matrix CMOS DAC,” JKPS, pp.127-131, July 2001. [7] Thomas L. Floyd, Digital Fundamentals. Third Edition. Merrill. 1986. [8] J.P. Uyemura, CMOS Logic Circuit Design. Kluwer Academic Publishers, 2002.