====== EE658: VLSI Data Conversion Circuits, Jan.-May 2008 ====== These lectures are available on the web for the benefit of students at IIT Madras and elsewhere. Copyrights to these rest solely with the instructor and IIT Madras. Copying them, publishing them, rehosting them on other servers, or using them for any sort of commercial gain is prohibited. **Instructor : Shanthi Pavan** Familiarity with basic electronics and signal processing (Fourier Transform etc.) is assumed. At IIT Madras, the prerequisite courses are Analog Circuits, Networks and Systems and Analog and Digital Signal Processing. Much of the learning is this design course is done through the simulation assignments. You can use the CAD tools available with the Institute to do the assignments. Information about software downloads, intsallation and transistor model files can be found [[http://www.ee.iitm.ac.in/~nagendra/cadinfo.html|here]]. For all assignments use the ** 0.18um TSMC CMOS model parameters and a supply voltage of 1.8 V **. ====== Textbook(s) and References ====== Listed below are some references. There is also a host of information available on the WWW - especially in application notes of [[http://www.analog.com|Analog Devices]]. - CMOS Data Converters for Communication - M. Gustavsson, J. Wikner, and N. Tan. Kluwer Academic Publishers, 2000.[[http://ieeexplore.ieee.org/iel5/101/20555/00950061.pdf|Here]] is a link to the review of the book. - Principles of Data Conversion System Design - Behzad Razavi. - The IEEE Journal of Solid State Circuits (JSSC) is the best place to look for information on state of the art data converter implementations. Within the IIT Campus, it can be accessed online through [[http://ieeexplore.ieee.org|IEEEXplore]] ====== Course Reader ====== Listed below are links to papers you can read to gain further intuition, or reinforce your knowledge gained in the lectures. - [[http://ieeexplore.ieee.org/iel5/4/22574/01051512.pdf?tp=&isnumber=22574&arnumber=1051512&punumber=4|Time interleaved converter arrays]] W.C.Black and D.A. Hodges, IEEE Journal of Solid-State Circuits, December 1980. - [[http://ieeexplore.ieee.org/iel4/4/16453/00760369.pdf?tp=&arnumber=760369&isnumber=16453|A 1.5-V, 10-bit, 14.3-MS/s CMOS pipeline analog-to-digital converter]] A. Abo and P. Gray, IEEE Journal of Solid-State Circuits, May 1999.(Look at Fig.7 and the corresponding description for a slight variant of the bootstrap switch done in class.) - Chapter 12 in Design of Analog CMOS Integrated Circuits - Behzad Razavi, Tata McGraw Hill Publishers, for a good introduction to switched-capacitor circuits. - [[http://www.maxim-ic.com/appnotes.cfm/appnote_number/641|ADC and DAC]] glossary from Maxim. ===== Some Flash ADC Papers ===== - K. Nagaraj, D. A. Martin, M. Wolfe, R. Chattopadhyay, S. Pavan, J. Cancio, and T. R. Viswanathan, "A dual-mode 700-Msamples/s 6-bit 200-Msamples/s 7-bit a/d converter in a 0.25-µm digital CMOS process," IEEE Journal of Solid-State Circuits, vol. 35, pp. 1760 - 1768, December 2000. Discusses bootstrapped sample and hold, interleaved S/H, preamplifiers with offset correction. - C. W. Mangelsdorf, "A 400-MHz input flash converter with error correction," IEEE Journal of Solid-State Circuits, vol. 25, pp. 184 - 191, February 1990. Discusses latch design, error correction using majority encoding. - V. Srinivas, S. Pavan, A. Lachhwani and N. Sasidhar, " A Distortion Compensating Flash Analog to Digital Conversion Technique,” IEEE Journal of Solid State Circuits. September 2006. ([[http://ieeexplore.ieee.org/iel5/4/35458/01683888.pdf?tp=&arnumber=1683888&isnumber=35458|paper]]) - J. Lin and B. Haroun, "An embedded 0.8 V/480 µW 6B/22 MHz flash ADC in 0.13-µm digital CMOS Process using a nonlinear double interpolation technique," IEEE Journal of Solid-State Circuits, vol. 37, pp. 1610 - 1617, December 2002. - M. Choi and A. A. Abidi, "A 6-b 1.3-Gsample/s A/D converter in 0.35-µm CMOS," IEEE Journal of Solid-State Circuits, vol. 36, pp. 1847 - 1858, December 2001. - R. Sarpeshkar, J. Wyatt and N. Lu, "Mismatch sensitivity of a simultaneously latched CMOS sense amplifier", IEEE Journal of Solid State Circuits, 1991. ([[http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=90096|paper]]) - analysis of dynamic mismatch in a latch. ===== Papers on Current Steering DACs ===== - Douglas Mercer; "A study of error sources in current steering digital-to-analog converters", 2004 IEEE Custom Integrated Circuits Conference, May 2004. - Chi-Hung Lin, Klaas Bult; "A 10-b, 500-MSample/s CMOS DAC in 0.6 mm2", IEEE Journal of Solid-State Circuits, vol. 33, pp. 1948 - 1958, December 1998. An extremely well designed DAC which holds its performance up to the nyquist frequency. - Bernd Schafferer, Richard Adams; "A 3V CMOS 400mW 14b 1.4GS/s DAC for multi-carrier applications", IEEE International Solid-State Circuits Conference, vol. XVII, pp. 360 - 361, February 2004. ===== Reading on Delta-Sigma Modulators ===== - Delta-Sigma Data Converters: Theory, Design, and Simulation - by Steven R. Norsworthy, Richard Schreier, Gabor C. Temes (the Yellow Bible of Delta-Sigma Converters) - Understanding Delta-Sigma Data Converters - by Richard Schreier, Gabor C. Temes (the Green Bible of Delta-Sigma Converters) - Theory, Practice, and Fundamental Performance Limits of High-Speed Data Conversion Using Continuous-Time Delta-Sigma Modulators. PhD Dissertation, James A Cherry {{ee658_2008:cherry-thesis.pdf| Thesis}}.Excellent discussion of continuous-time delta-sigma conversion.A must read for anybody serious about CTDSMs. - S. Pavan and N. Krishnapura, "Oversampling Analog-to-Digital Converters", Full Day Tutorial at the International Conference on VLSI Design, January 4-8, Hyderabad, India. ([[http://www.ee.iitm.ac.in/~nagendra/videolectures/doku.php?id=200801vlsiconf:start|Lecture and notes]]) - S. Pavan, N. Krishnapura, R. Pandarinathan and P. Sankar, "A Power Optimized Continuous-time Delta-Sigma Modulator for Audio Applications," //IEEE Journal of Solid State Circuits//, February 2008.[[http://ieeexplore.ieee.org/iel5/4/4444554/04444576.pdf?isnumber=4444554&prod=JNL&arnumber=4444576&arSt=351&ared=360&arAuthor=Pavan%2C+S.%3B+Krishnapura%2C+N.%3B+Pandarinathan%2C+R.%3B+Sankar%2C+P.|(paper)]]Detailed discussion of the case study in class. ====== Assignment Submission Information ====== Assignments must be submitted by Email to **ee658.iitm@gmail.com** ONLY, as a single PDF file attachment. The file **must** be named according to roll number in the following manner - if your roll number is EE07B007, and you are submitting assignment one, call your file ee07b007_01.pdf **Plagiarism** (euphemistically excessive collaboration, really copying) is a serious offence. By submitting assignments you are implicitly agreeing that you have been honest in doing your assignment. If I find out that you have plagiarized, you will accept the penalty I deem fit. ====== Assignments ====== - {{ee658_2008:tutorial1.pdf|Problem Set 1}} - Due on 1st February 2008. - {{ee658_2008:tutorial2.pdf|Problem Set 2}} - Due on 11th February 2008. - {{ee658_2008:y.mat.gz|Gzipped version of y.mat in Problem Set 2 - unzip it using gunzip, and load into Matlab using "load y.mat"}} - {{ee658_2008:tutorial3.pdf|Problem Set 3}} - Due on 22nd February 2008. - {{ee658_2008:tutorial4_1.pdf|Problem Set 4}} - Due on 3rd March 2008. - {{ee658_2008:tutorial5.pdf|Problem Set 5}} - Due on 2nd April 2008. - {{ee658_2008:flash.mat.gz|Gzipped version of flash.mat in Problem Set 5 - unzip it using gunzip, and load into Matlab using "load flash.mat"}} - {{ee658_2008:tutorial6.pdf|Problem Set 6}} - Due on 9th April 2008. - {{ee658_2008:tutorial7.pdf|Problem Set 7}} - Due on 21st April 2008. ====== Recorded Lectures ====== Thanks go to the TAs for painstakingly editing the lectures. You can download the [[http://www.ee.iitm.ac.in/~nagendra/shanthi_lectures/EE658/2008-ee658-shanthipavan.tgz|entire set of lectures]](1.4GB). The archive contains directories for each day's lecture. It also has an index file ''2008-ee658-shanthipavan.html'' from which you can access the lectures. - [[http://www.ee.iitm.ac.in/~nagendra/shanthi_lectures/EE658/EE658_Lecture_01/EE658_Lecture_01.html|Lecture 1 - Course overview and introduction.]] - [[http://www.ee.iitm.ac.in/~nagendra/shanthi_lectures/EE658/EE658_Lecture_02/EE658_Lecture_02.html|Lecture 2 - Sampling, Spectral properties of sampled signals, Oversampling and its implications on anti-alias filter design.]] - [[http://www.ee.iitm.ac.in/~nagendra/shanthi_lectures/EE658/EE658_Lecture_03/EE658_Lecture_03(2).html|Lecture 3 - Time Interleaved Sampling, Analysis of a Ping-Pong Sampling system.]] - [[http://www.ee.iitm.ac.in/~nagendra/shanthi_lectures/EE658/EE658_Lecture_04/EE658_Lecture_04(2).html|Lecture 4 - Ping-pong Sample and Holds continued, Analysis of Offset and Gain Errors in Time-Interleaved Sample and Holds.]] - [[http://www.ee.iitm.ac.in/~nagendra/shanthi_lectures/EE658/EE658_Lecture_05/EE658_Lecture_05(2).html|Lecture 5 - Sampling Circuits (NMOS, PMOS and CMOS Switches), Distortion due to the Sampling Switch.]] - [[http://www.ee.iitm.ac.in/~nagendra/shanthi_lectures/EE658/EE658_Lecture_06/EE658_Lecture_06(2).html|Lecture 6 - Thermal Noise in Sample and Holds, Charge Injection in a Sampling Switch.]] - [[http://www.ee.iitm.ac.in/~nagendra/shanthi_lectures/EE658/EE658_Lecture_07/EE658_Lecture_07(2).html|Lecture 7 - Bottom Plate Sampling, The Gate Bootstrapped Switch.]] - [[http://www.ee.iitm.ac.in/~nagendra/shanthi_lectures/EE658/EE658_Lecture_08/EE658_Lecture_08.html|Lecture 8 - The Gate Bootstrapped Switch (continued), the Nakagome Charge-Pump.]] - [[http://www.ee.iitm.ac.in/~nagendra/shanthi_lectures/EE658/EE658_Lecture_09/EE658_lecture_09.html|Lecture 9 - Characterizing a Sample-and-Hold, Correct choice of input frequency, Discrete Fourier Series Refresher.]] - [[http://www.ee.iitm.ac.in/~nagendra/shanthi_lectures/EE658/EE658_Lecture_10/EE658_Lecture_10.html|Lecture 10 - FFT Leakage and the Rectangular Window.]] - [[http://www.ee.iitm.ac.in/~nagendra/shanthi_lectures/EE658/EE658_Lecture_11/EE658_Lecture_11.html|Lecture 11 - FFT Leakage (contd), Spectral Windows, the Hann Window]] - [[http://www.ee.iitm.ac.in/~nagendra/shanthi_lectures/EE658/EE658_lecture_12/EE658_lecture_12.html|Lecture 12 - Spectral Windows (contd), the Blackman Window, Introduction to Switch Capacitor Amplifiers]] - [[http://www.ee.iitm.ac.in/~nagendra/shanthi_lectures/EE658/EE658_Lecture_13/EE658_Lecture_13.html|Lecture 13 - Switch Capacitor Circuits, Parasitic Insensitive SC Amplifiers]] - [[http://www.ee.iitm.ac.in/~nagendra/shanthi_lectures/EE658/EE658_Lecture_14/EE658_Lecture_14.html|Lecture 14 - Nonidealities in SC Amplifiers - Finite Opamp Gain and DC Offset.]], [[http://www.ee.iitm.ac.in/~nagendra/shanthi_lectures/EE658/EE658_lecture_14a/EE658_lecture_14a.html|Lecture 14 - Part 2 - Finite Opamp Gain-Bandwidth Product.]] - [[http://www.ee.iitm.ac.in/~nagendra/shanthi_lectures/EE658/EE658_Lecture_15/EE658_Lecture_15.html|Lecture 15 - Introduction to Fully Differential Operation.]] - [[http://www.ee.iitm.ac.in/~nagendra/shanthi_lectures/EE658/EE658_Lecture_16/EE658_Lecture_16.html|Lecture 16 - Fully-differential operation (contd), motivation for common-mode feedback.]] - [[http://www.ee.iitm.ac.in/~nagendra/shanthi_lectures/EE658/EE658_Lecture_17/EE658_Lecture_17.html|Lecture 17 - Fully Differential SC-circuits, the "Flip-Around" Sample and Hold, DC Negative Feedback in SC Circuits.]] - [[http://www.ee.iitm.ac.in/~nagendra/shanthi_lectures/EE658/EE658_Lecture_18/EE658_Lecture_18.html|Lecture 18 - ADC Terminology, Offset and Gain Error, Differential Nonlinearity (DNL).]] - [[http://www.ee.iitm.ac.in/~nagendra/shanthi_lectures/EE658/EE658_Lecture_19/EE658_Lecture_19.html|Lecture 19 -Integral Nonlinearity (INL), Dynamic Characterization of ADCs, SQNR, Quantization Noise Spectrum.]] - [[http://www.ee.iitm.ac.in/~nagendra/shanthi_lectures/EE658/EE658_Lecture_20/EE658_Lecture_20.html|Lecture 20 - Quantization Noise Spectrum (contd), SFDR, Flash A/D Converter Basics.]] - [[http://www.ee.iitm.ac.in/~nagendra/shanthi_lectures/EE658/EE658_Lecture_21/EE658_Lecture_21.html|Lecture 21 - Flash A/D Converter Basics, the Regenerative Latch.]] - [[http://www.ee.iitm.ac.in/~nagendra/shanthi_lectures/EE658/EE658_Lecture_22/EE658_Lecture_22.html|Lecture 22 - The Regenerative Latch (contd).]] - [[http://www.ee.iitm.ac.in/~nagendra/shanthi_lectures/EE658/EE658_Lecture_23/EE658_Lecture_23.html|Lecture 23 - Motivation to use a Preamp, Preamp Offset Correction (Autozeroing).]] - [[http://www.ee.iitm.ac.in/~nagendra/shanthi_lectures/EE658/EE658_Lecture_24/EE658_Lecture_24.html|Lecture 24 - Autozeroing a Differential Preamp, Subtracting References from the Input.]] - [[http://www.ee.iitm.ac.in/~nagendra/shanthi_lectures/EE658/EE658_Lecture_25/EE658_Lecture_25.html|Lecture 25 - Coupling Capacitor Considerations in an Autozeroed Preamp.]] - [[http://www.ee.iitm.ac.in/~nagendra/shanthi_lectures/EE658/EE658_Lecture_26/EE658_Lecture_26.html|Lecture 26 - Transistor Level Preamp Design.]] - [[http://www.ee.iitm.ac.in/~nagendra/shanthi_lectures/EE658/EE658_Lecture_27/EE658_Lecture_27.html|Lecture 27 - Necessity of an up-front sample and hold for good dynamic performance. Timing issues in a flash ADC.]] - [[http://www.ee.iitm.ac.in/~nagendra/shanthi_lectures/EE658/EE658_Lecture_28/EE658_Lecture_28.html|Lecture 28 - Bubble Correction Logic in a Flash ADC, Comparator Metastability, Case Study.(VERY POOR AUDIO QUALITY !)]] - [[http://www.ee.iitm.ac.in/~nagendra/shanthi_lectures/EE658/EE658_Lecture_29/EE658_Lecture_29.html|Lecture 29 - Flash ADC Case Study (Continued).]] - [[http://www.ee.iitm.ac.in/~nagendra/shanthi_lectures/EE658/EE658_Lecture_30/EE658_Lecture_30.html|Lecture 30 - D/A Converter Basics, INL/DNL, DAC Spectra and Pulse Shapes.]] - [[http://www.ee.iitm.ac.in/~nagendra/shanthi_lectures/EE658/EE658_Lecture_31/EE658_Lecture_31.html|Lecture 31 - NRZ vs RZ DACs, DAC Architectures.]] - [[http://www.ee.iitm.ac.in/~nagendra/shanthi_lectures/EE658/EE658_Lecture_32/EE658_Lecture_32.html|Lecture 32 - Binary Weighted versus Thermometer DACs.]] - [[http://www.ee.iitm.ac.in/~nagendra/shanthi_lectures/EE658/EE658_Lecture_33/EE658_Lecture_33.html|Lecture 33 - Binary vs Thermometer DACs (Contd), Current Steering DACs.]] - [[http://www.ee.iitm.ac.in/~nagendra/shanthi_lectures/EE658/EE658_Lecture_34/EE658_Lecture_34.html|Lecture 34 - Current Steering DACs (contd) .]] - [[http://www.ee.iitm.ac.in/~nagendra/shanthi_lectures/EE658/EE658_Lecture_35/EE658_Lecture_35.html|Lecture 35 - Current Cell Design in a Current Steering DAC.]] - [[http://www.ee.iitm.ac.in/~nagendra/shanthi_lectures/EE658/EE658_Lecture_36/EE658_Lecture_36.html|Lecture 36 - Current Cell Design (contd), Layout Considerations in Current Steering DACs.]] - [[http://www.ee.iitm.ac.in/~nagendra/shanthi_lectures/EE658/EE658_Lecture_37/EE658_Lecture_37.html|Lecture 37 - Oversampled Approaches to Data Convresion, Benefits of Oversampling.]] - [[http://www.ee.iitm.ac.in/~nagendra/shanthi_lectures/EE658/EE658_Lecture_38/EE658_Lecture_38.html|Lecture 38 - Oversampling with Noise Shaping, Signal and Noise Transfer Functions, First and Second Order Delta-Sigma Converters.]] - [[http://www.ee.iitm.ac.in/~nagendra/shanthi_lectures/EE658/EE658_Lecture_39/EE658_Lecture_39.html|Lecture 39 - Signal Dependent Stability of DSMs, the Describing Function Method.]] - [[http://www.ee.iitm.ac.in/~nagendra/shanthi_lectures/EE658/EE658_Lecture_40/EE658_Lecture_40.html|Lecture 40 - Stability in DSMs (continued).]] - [[http://www.ee.iitm.ac.in/~nagendra/shanthi_lectures/EE658/EE658_Lecture_41/EE658_Lecture_41.html|Lecture 41 - Maximum Stable Amplitude of DSMs and Relation to Out of Band Gain, Systematic NTF Design.]] - [[http://www.ee.iitm.ac.in/~nagendra/shanthi_lectures/EE658/EE658_Lecture_42/EE658_Lecture_42.html|Lecture 42 - Systematic NTF Design (contd), the Bode Sensitivity Integral and its Implications on NTF Design.]] - [[http://www.ee.iitm.ac.in/~nagendra/shanthi_lectures/EE658/EE658_Lecture_43/EE658_Lecture_43.html|Lecture 43 - Estimating the Maximum Stable Amplitude from simulation, Computation of in-band SNR, Windowing revisited.]] - [[http://www.ee.iitm.ac.in/~nagendra/shanthi_lectures/EE658/EE658_Lecture_44/EE658_Lecture_44.html|Lecture 44 - Introduction to Continuous-time Delta Sigma Modulators (CTDSM).]] - [[http://www.ee.iitm.ac.in/~nagendra/shanthi_lectures/EE658/EE658_Lecture_45/EE658_Lecture_45.html|Lecture 45 - CTDSM basics (contd), time-scaling of CTDSMs.]] - [[http://www.ee.iitm.ac.in/~nagendra/shanthi_lectures/EE658/EE658_Lecture_46/EE658_Lecture_46.html|Lecture 46 - The inherent anti-aliasing property of CTDSMs.]] - [[http://www.ee.iitm.ac.in/~nagendra/shanthi_lectures/EE658/EE658_Lecture_47/EE658_Lecture_47.html|Lecture 47 - Excess Loop Delay in CTDSMs.]] - [[http://www.ee.iitm.ac.in/~nagendra/shanthi_lectures/EE658/EE658_Lecture_48/EE658_Lecture_48.html|Lecture 48 - Time-constant changes in CTDSMs, Influence of opamp nonidealities.]] - [[http://www.ee.iitm.ac.in/~nagendra/shanthi_lectures/EE658/EE658_Lecture_49/EE658_Lecture_49.html|Lecture 49 - Effect of opamp nonidealities (contd) - finite gain bandwidth, Effect of ADC and DAC nonidealities.]] - [[http://www.ee.iitm.ac.in/~nagendra/shanthi_lectures/EE658/EE658_Lecture_50/EE658_Lecture_50.html|Lecture 50 - Effect of DAC element mismatch (contd), Dynamic Element Matching (Randomization).]] - [[http://www.ee.iitm.ac.in/~nagendra/shanthi_lectures/EE658/EE658_Lecture_51/EE658_Lecture_51.html|Lecture 51 - Dynamic Element Matching by Data Weighted Averaging.]] - [[http://www.ee.iitm.ac.in/~nagendra/shanthi_lectures/EE658/EE658_Lecture_52/EE658_Lecture_52.html|Lecture 52 - Effect of Clock jitter in CTDSMs.]] - [[http://www.ee.iitm.ac.in/~nagendra/shanthi_lectures/EE658/EE658_Lecture_53/EE658_Lecture_53.html|Lecture 53 - Finding Loopfilter Coefficients in Higher Order CTDSMs.]] - [[http://www.ee.iitm.ac.in/~nagendra/shanthi_lectures/EE658/EE658_Lecture_54/EE658_Lecture_54.html|Lecture 54 - Dynamic Range Scaling of the Loop Filter.]]