EE315B VLSI Data Conversion Circuits - Autumn 2011 Katelijn Vleugels Stanford University Table of Contents Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 Chapter 10 Chapter 11 Chapter 12 Chapter 13 Introduction Sampling, Quantization, Reconstruction Spectral Performance Metrics Nyquist Rate DACs Sampling Circuits Voltage Comparators Flash and Folding ADCs Pipeline ADCs Bit-at-a-Time ADCs, Time Interleaving Oversampling ADCs Oversampling DACs Limits on ADC Power Dissipation Data Converter Testing Introduction Katelijn Vleugels Stanford University Copyright © 2011 by Boris Murmann & Katelijn Vleugels B. Murmann EE315B - Chapter 1 1 Motivation (1) This course Analog Media and Transducers Signal Conditioning A/D Digital Processing Signal g Conditioning D/A Sensors, Actuators, Antennas, Storage Media, ... B. Murmann EE315B - Chapter 1 2 Motivation (2) • Benefits of digital signal processing – Reduced sensitivity y to "analog" g noise – Enhanced functionality and flexibility – Amenable to automated design & test – Direct benefit from the scaling of VLSI technology – "Arbitrary" precision • Issues – Data converters are difficult to design • Especially due to ever-increasing performance requirements – Data converters often present a performance bottleneck • Speed, resolution or power dissipation of the A/D or D/A converter can limit overall system performance EE315B - Chapter 1 B. Murmann 3 Data Converter Applications (1) • Consumer electronics – Audio, Audio TV TV, Video – Digital Cameras – Automotive control – Appliances – Toys • Communications – Mobile Phones – Personal P lD Data t A Assistants i t t – Wireless Transceivers – Routers, Modems B. Murmann EE315B - Chapter 1 4 Data Converter Applications (2) • Computing p g and Control – Storage media – Sound Cards – Data acquisition cards • Instrumentation – Lab bench equipment – Semiconductor test equipment – Scientific equipment – Medical equipment EE315B - Chapter 1 B. Murmann 5 A/D Converter Application Space 24 22 DVD Audio 20 1kW Res solution [bits s] 18 1W 16 Audio 14 12 DSL 1mW 10 8 GSM Base GSM Rx Motor Controls Video Ultrasound DTV DVC Teleph. Dig. Scope HDD 6 4 1µW Wireline Interface 2 1kHz B. Murmann 10kHz 100kHz 1MHz 10MHz Bandwidth EE315B - Chapter 1 100MHz 1GHz 10GHz 6 Example 1 [Poulton, ISSCC 2003] • High performance digital oscilloscopes rely on extremely high performance ADCs • Example – 20 GSample/s, 8-bit ADC – 10 W Power dissipation B. Murmann EE315B - Chapter 1 7 Example 2 • A typical cell phone contains: – 4 Rx ADCs Dual Standard, I/Q – 4 Tx DACs Audio, Tx/Rx power – 3 Auxiliary ADCs control, Battery – 8 Auxiliary DACs charge control display control, display, ... • A total of 19 data converters! B. Murmann EE315B - Chapter 1 8 Example 3 [Mehta, ISSCC2005] • Low-cost, single chip solutions require embedded data conversion • Example: 802.11g Wireless LAN chip – 2x 11-bit DAC, 176 MSamples/s – 2x 9 9-bit bit ADC, ADC 80 MSamples/s EE315B - Chapter 1 B. Murmann 9 Survey Data (ISSCC & VLSI 1997-2008) 10 10 P/fs [Joules] 10 10 10 http://www.stanford.edu/~murmann/adcsurvey.html -6 -7 -8 -9 FOM P fs 2ENOB 10 10 fJ conv-step -10 ENOB 10 100 -11 Flash Pipeline SAR Sigma-Delta Other -12 -13 20 B. Murmann 30 40 50 60 70 SNDR [dB] 80 90 EE315B - Chapter 1 100 SNDR[ dB ] 1.76 6.02 110 10 ADC Energy Trend Slope ~0.5x/2.1years log(P//f s [pJ]) 6 4 2 0 2008 2006 2004 2002 2000 1998 Year • 20 40 60 80 100 120 SNDR [dB] Reduction of ~30x 30x over past 10 years (!) B. Murmann EE315B - Chapter 1 B. Murmann B Murmann, "A/D A/D Converter Trends: Power Dissipation, Scaling and Digitally Assisted Architectures," Proc. IEEE Custom Integrated Circuits Conference (CICC), pp. 105-112, Sept. p 2008. 11 Course Objective • Acquire a thorough understanding of the basic principles and challenges in data converter design – Focus on concepts that are unlikely to expire within the next decade – Preparation p for further study y of state-of-the-art "fine-tuned" realizations • Strategy – Acquire breadth via a complete system walkthrough and a survey of existing architectures – Acquire depth through a midterm project that entails design and thorough characterization of a specific circuit example in modern technology B. Murmann EE315B - Chapter 1 12 Staff and Website • Teaching assistants – See web • Administrative support – Ann Guerra, CIS 207 • Lecture videos are provided on the web, but please come to class to keep the discussion intercative • Web W b page: http://ccnet.stanford.edu/ee315b htt // t t f d d / 315b – Check regularly, especially the "bulletin board" section – Only enrolled students can register for ccnet access • We synchronize the ccnet database with axess.stanford.edu manually, ~ once per day during first week of instruction EE315B - Chapter 1 B. Murmann 13 Preparation • Course prerequisites – EE214 or equivalent • Device physics and models • Transistor level analog circuits, elementary gain stages • Frequency response, response feedback, feedback noise – Prior exposure to Spice, Matlab – Basic signals and systems – Probablity • Please talk to me if you are not sure if you have the required background g B. Murmann EE315B - Chapter 1 14 Analog Circuit Sequence Fundamentals for upperlevel undergraduates and entry-level graduate students Analysis and design techniques for highhigh performance circuits in advanced Technologies Design of application and functionfunction specific mixed-signal/RF building blocks EE314 — RF Integrated Circuit Design EE114 — Fundamentals of Analog Integrated Circuit Design EE214 — Advanced Analog Integrated Circuit Design EE315A — VLSI Signal Conditioning Circuits EE315B — VLSI Data Conversion Circuits B. Murmann EE315B - Chapter 1 15 Assignments • Homework: (20%) ( %) – Handed out on Tue, due following Tue after lecture (1 pm) – Lowest HW score is dropped in final grade calculation • Midterm Project: (40%) – Transistor level design and simulation of a data converter sub-block (no layout) – Prepare a project report in the format and style of an IEEE journal paper • Final Exam (40%) B. Murmann EE315B - Chapter 1 16 Honor Code • Please remember yyou are bound by y the honor code – I will trust you not to cheat – I will try not to tempt you • But if you are found cheating it is very serious – There is a formal hearing – You can be thrown out of Stanford • Save yourself and me a huge hassle and be honest • For more info – http://www.stanford.edu/dept/vpsa/judicialaffairs/guiding/pdf/ honorcode.pdf B. Murmann EE315B - Chapter 1 17 Tools and Technology • Primary tools – Cadence Virtuoso Schematic Editor – Cadence Virtuoso Analog Design Environment – Cadence SpectreRF simulator – You can use your own tools/setups “at own risk“ • Getting started – Read tutorials and setup info provided in the CAD section of the course website • EE315A/B Technology – 0.18-m CMOS – BSIM3v3 models p provided under /usr/class/ee315b/models B. Murmann EE315B - Chapter 1 18 Reference Books • Gustavsson, Wikner, Tan, CMOS Data Converters for Communications, Kluwer, 2000. • A. Rodríguez-Vázquez, F. Medeiro, and E. Janssens, CMOS Telecom Data Converters,, Kluwer Academic Publishers,, 2003. • B. Razavi, Data Conversion System Design, IEEE Press, 1995. • R. Schreier, G. Temes, Understanding Delta-Sigma Data Converters, Wiley-IEEE Press, 2004. • R. v. d. Plassche, CMOS Integrated Analog-to-Digital and Digital-to-Analog Digital to Analog Converters, 2nd ed., Kluwer, 2003. • J. G. Proakis, D. G. Manolakis, Digital Signal Processing, Prentice Hall, 1995. EE315B - Chapter 1 B. Murmann 19 Course Topics • Id l sampling, Ideal li reconstruction t ti and d quantization ti ti • Sampling circuits • Voltage comparators • Nyquist-rate ADCs and DACs • Oversampled ADCs and DACs • Data converter performance trends and limits • Data converter testing B. Murmann EE315B - Chapter 1 20 Sampling, Quantization, Reconstruction Katelijn Vleugels Stanford University Copyright © 2011 by Boris Murmann & Katelijn Vleugels EE315B - Chapter 2 B. Murmann 1 The Data Conversion Problem • Real world signals g – Continuous time, continuous amplitude • Digital abstraction – Discrete Di t time, ti discrete di t amplitude lit d • Two problems – How to discretize in time and amplitude • A/D conversion – How to "undescretize" in time and amplitude • D/A conversion B. Murmann EE315B - Chapter 2 2 Overview • We'll fist look at these building blocks from a functional, "black box" perspective – Refine later and look at implementations p B. Murmann EE315B - Chapter 2 3 Uniform Sampling and Quantization • Most common way of performing A/D conversion – Sample signal uniformly in time – Quantize signal uniformly in amplitude lit d • Key questions – How fast do we need to sample? • Must avoid "aliasing“ – How much "noise" is added due to amplitude quantization? B. Murmann EE315B - Chapter 2 4 Aliasing Example (1) Am mplitude fs 1 1000kHz Ts fsig 101kHz kH Time f v sig n cos 2 in n fs v sig t cos 2 fin t t n Ts n fs 101 cos 2 n 1000 EE315B - Chapter 2 B. Murmann 5 Aliasing Example (2) Am mplitude fs 1 1000kHz Ts fsig 899kHz Time 899 101 899 v sig n cos 2 n cos 2 1 n cos 2 n 1000 1000 1000 B. Murmann EE315B - Chapter 2 6 Aliasing Example (3) Am mplitude fs 1 1000kHz Ts fsig 1101kHz Time 1101 101 1101 v sig n cos 2 n cos 2 1 n cos 2 n 1000 1000 1000 B. Murmann EE315B - Chapter 2 7 Consequence • The frequencies fsig and N·fs ± fsig (N integer), are indistinguishable in the discrete time domain B. Murmann EE315B - Chapter 2 8 Sampling Theorem • In order to prevent aliasing, we need fsig ,max fs 2 • The sampling rate fs=2·fsig,max is called the Nyquist rate • Two possibilities – Sample fast enough to cover all spectral components components, including "parasitic" ones outside band of interest – Limit fsig,max through filtering B. Murmann EE315B - Chapter 2 9 Brick Wall Anti-Alias Filter B. Murmann EE315B - Chapter 2 10 Practical Anti-Alias Filter Desired Signal Parasitic Tone Attenuation Continuous Time 0 B fs/2 0 B/fs 0.5 fs-B fs ... f Discrete Time • f/fs Need to sample faster than Nyquist rate to get good attenuation – "Oversampling" "O li " B. Murmann EE315B - Chapter 2 11 How much Oversampling? [v.d. Plassche, p.41] Alias Rejection Filter Order fs/fsig,max • Can tradeoff sampling speed against filter order • In high speed converters, making fs/fsig,max>10 is usually impossible or too costly – Means that we need fairly high order filters B. Murmann EE315B - Chapter 2 12 Classes of Sampling • Nyquist-rate sampling (fs > 2·fsig,max) – Nyquist data converters – In practice always slightly oversampled • Oversampling (fs >> 2·fsig,max) – Oversampled data converters – Anti-alias filtering is often trivial – Oversampling also helps reduce "quantization noise" • More later • Undersampling, subsampling (fs < 2·fsig,max) – Exploit aliasing to mix RF/IF signals down to baseband – See e.g. Pekau & Haslett, JSSC 11/2005 B. Murmann EE315B - Chapter 2 13 Subsampling • Aliasing is "non-destructive" non destructive if signal is band limited around some carrier frequency • Downfolding of noise is a severe issue in practical subsampling mixers – Typically achieve noise figure no better than 20 dB (!) B. Murmann EE315B - Chapter 2 14 Quantization of an Analog Signal Vq ((quantized ou utput) Transfer Function Slope=1 Slope 1 • Quantization step • Quantization Q ti ti error has h sawtooth shape – Bounded by –/2, +/2 • Ideally – Infinite input range and infinite number of quantization levels • In practice – Finite input range and fi it number finite b off quantization levels – Output is a digital word (not an analog voltage) eq (quantiz zation error) x (input) Error eq=q-x +/2 -/2 x (input) B. Murmann EE315B - Chapter 2 15 Conceptual Model of a Quantizer • Encoding block determines how quantized levels are mapped into digital codes • Note that this model is not meant to represent an actual hardware implementation – Its ts pu purpose pose is s to sshow o tthat at qua quantization t at o a and de encoding cod g a are e conceptually separate operations – Changing the encoding of a quantizer has no interesting implications p on its function or p performance B. Murmann EE315B - Chapter 2 16 Digital Outpu ut Encoding Example for a B-Bit Quantizer • 111 110 101 100 011 010 001 000 eq (quan ntization erro or) Analog Input Example: B=3 – 23=8 distinct output p codes – Diagram on the left shows "straight-binary encoding" – See e.g. Analog Devices "MT009: Data Converter Codes" for other encoding schemes • http://www.analog.com/en/content/0 ,2886,760%255F788%255F91285, 00.html +/2 • -/2 • FSR x ((input) p ) B. Murmann Quantization error grows out of bounds beyond code boundaries We define the full scale range (FSR) as the maximum input range that satisfies |eq| /2 – Implies that FSR=2B· EE315B - Chapter 2 17 Nomenclature • Overloading - Occurs when an input outside the FSR is applied • Transition level – Input value at the transition between two codes. By standard convention, the transition level T(k) lies between codes k-1 and k • Code width – The difference between adjacent transition levels. By standard convention, the code width W(k)=T(k+1)-T(k) – Note that the code width of the first and last code (000 and 111 on previous slide) is undefined • LSB size (or width) – synonymous with code width B. Murmann EE315B - Chapter 2 [IEEE Standard 1241-2000] 18 Implementation Specific Technicalities • So far, we avoided specifying the absolute location of the code range with respect to "zero" input • The zero input location depends on the particular implementation of the quantizer – Bipolar input input, mid mid-rise rise or mid mid-tread tread quantizer – Unipolar input • The next slide shows the case with – Bipolar input • The quantizer accepts positive and negative inputs – Represents the common case of a differential circuit – Mid-rise characteristic • The center of the transfer function (zero), coincides with a transition level EE315B - Chapter 2 B. Murmann 19 Digital O Output Bipolar Mid-Rise Quantizer 111 110 101 100 00 011 010 001 000 Analog Input -FSR/2 FSR/2 • 0 +FSR/2 Nothing new here… B. Murmann EE315B - Chapter 2 20 Bipolar Mid-Tread Quantizer In theory, less sensitive to infinitesimal disturbance around zero – In practice, offsets larger than /2 (due to device mismatch) often ft make k thi this argumentt irrelevant i l t • Asymmetric full-scale range, unless we use odd number of codes Digital Ou utput • 111 110 101 100 011 010 001 000 Analog Input FSR/2 + /2 0 FSR/2 - /2 EE315B - Chapter 2 B. Murmann 21 Unipolar Quantizer Usually define origin where first code and straight line fit intersect – Otherwise, there would be a systematic offset • Usable range is reduced by /2 below zero Digital Ou utput • 111 110 101 100 011 010 001 000 0 B. Murmann Analog Input FSR - /2 EE315B - Chapter 2 22 Effect of Quantization Error on Signal • Two aspects – How much noise power does quantization add to samples? – How is this noise power distributed in frequency? • Quantization error is a deterministic function of the signal – Should be able answer above questions using a deterministic analysis – But, unfortunately, such an analysis strongly depends on the chosen signal and can be very complex • Strategy – Build basic intuition using g simple p deterministic signals g – Next, abandon idea of deterministic representation and revert to a "general" statistical model (to be used with caution!)) EE315B - Chapter 2 B. Murmann 23 Ramp Input • Applying a ramp signal (periodic sawtooth) at the input of the quantizer gives the following time domain waveform for eq 0.6 eq(tt) [] 0.4 0.2 0 -0.2 -0.4 0 50 100 Time [arbitrary units] 150 • What is the average power of this waveform? • Integrate over one period T/2 eq2 B. Murmann 1 eq2 ( t )dt T T/ 2 eq ( t ) t T EE315B - Chapter 2 eq2 2 12 24 Sine Wave Input 1 1 V V 0.8 q 0.6 0.4 0.4 0.2 0.2 eq(t) [] 0.6 0 0 -0.2 -0.2 -0.4 -0.4 -0.6 -0.6 -0.8 -0.8 -1 0 • 02 0.2 0.4 0 4 06 0.6 Time [arbitrary units] 08 0.8 -1 0 1 02 0.2 04 0.4 06 0.6 Time [arbitrary units] 08 0.8 1 Integration is not straightforward… EE315B - Chapter 2 B. Murmann 25 Quantization Error Histogram • • Sinusoidal input signal with fsig=101Hz, sampled at fs=1000Hz 8-bit quantizer q Mean=0.000LSB, Var=1.034LSB2/12 120 100 80 Count [Volts] 0.8 in 60 40 20 0 -0.6 -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 eq/ • Distribution is "almost" uniform • Can approximate average power by integrating uniform distribution B. Murmann EE315B - Chapter 2 26 Statistical Model of Quantization Error • Assumption: eq(x) has a uniform probability density • This approximation holds reasonably well in practice when – Signal spans large number of quantization steps – Signal is "sufficiently active" – Quantizer Q ti does d nott overload l d / 2 Mean eq / 2 / 2 Variance eq2 / 2 eq deq 0 eq 2 2 deq 12 EE315B - Chapter 2 B. Murmann 27 Reality Check (1) • Input sequence consists of 1000 samples drawn from Gaussian distribution, 4=FSR Mean=-0.004LSB, Var=1.038LSB2/12 150 C Count 100 50 0 -0.6 -0.5 -0.4 -0.3 -0.2 -0.1 • 0 0.1 0.2 0.3 0.4 0.5 0.6 eq/ Error power close to that of uniform approximation B. Murmann EE315B - Chapter 2 28 Reality Check (2) • Another sine wave example, but now fsig/fs=100/1000 • What's going on here? Mean=-0.000LSB, Var=0.629LSB2/12 500 Count 400 300 200 100 0 -0.6 -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 eq/ EE315B - Chapter 2 B. Murmann 29 Amp plitude Analysis (1) fsig/fs=100/1000 Time • Sampled signal is repetitive and has only a few distinct values – This also means that the quantizer generates only a few distinct values of eq; not a uniform distribution B. Murmann EE315B - Chapter 2 30 Analysis (2) f v sig n cos 2 in n fs • Signal repeats every m samples, where m is the smallest integer that satisfies m • fin i integer fs m 101 integer g 1000 m 1000 m 100 integer 1000 m 10 This means that eq(n) has at best 10 distinct values, even if we take many more samples EE315B - Chapter 2 B. Murmann 31 Signal-to-Quantization-Noise Ratio • Assuming uniform distribution of eq and a full-scale sinusoidal input, p we have SQNR B. Murmann Psig Pqnoise 1 2B 2 2 12 2 2 1.5 1 5 22B 6.02B 6 02B 1.76 1 76 dB B (Number of Bits) SQNR 8 50 dB 12 74 dB 16 98 dB 20 122 dB EE315B - Chapter 2 32 Quantization Noise Spectrum (1) • How is the quantization noise power distributed in frequency? – First think about applying a sine wave to a quantizer, without sampling (output is continuous time) + many more harmonics [Y Tsividis, [Y. Tsividis ICASSP 2004] • Quantization results in an "infinite" number of harmonics B. Murmann EE315B - Chapter 2 33 Quantization Noise Spectrum (2) • Now sample the signal at the output – All harmonics (an "infinite" number of them) will alias into band from 0 to fs/2 – Quantization noise spectrum becomes "white" [Y. Tsividis, ICASSP 2004] • Interchanging sampling and quantization won’t change this situation B. Murmann EE315B - Chapter 2 34 Quantization Noise Spectrum (3) • Can show that the quantization noise power is indeed distributed (approximately) uniformly in frequency – Again, Again this is provided that the quantization error is "sufficiently random" 2 2 12 fs • References – W. R. Bennett, "Spectra of quantized signals," Bell Syst. Tech. J., pp. 446-72, July 1948. – B. B Widrow, Widrow "A A study of rough amplitude quantization by means of Nyquist sampling theory," IRE Trans. Circuit Theory, vol. CT-3, pp. 266-76, 1956. – A. Sripad and D. A. Snyder, "A necessary and sufficient condition for quantization errors to be uniform and white," IEEE Trans. Acoustics, Speech, and d Si Signall P Processing, i pp. 442 442-448, 448 O Octt 1977 1977. B. Murmann EE315B - Chapter 2 35 Recap B. Murmann EE315B - Chapter 2 36 Ideal DAC • Essentially a digitally controlled voltage, current or charge source – Example p below is for unipolar p DAC • Ideal DAC does not introduce quantization error! B. Murmann EE315B - Chapter 2 37 The Reconstruction Problem • As long as we sample fast enough, g , x(n) ( ) contains all information about x(t) – fs > 2·fsig,max • H How tto reconstruct t t x(t) (t) from f x(n)? ( )? • Ideal interpolation formula x(( t ) n g( t ) • B. Murmann x(( n ) g(( t nT Ts ) sin( fs t ) fs t Very hard to build an analog circuit that does this… EE315B - Chapter 2 38 Zero-Order Hold Reconstruction • The most practical way of reconstructing g the continuous time signal is to simply "hold" the discrete time values – Either for full p period Ts or a fraction thereof – Other schemes exist, e.g. “partial-order p hold” • See [Jha, TCAS II, 11/2008] B. Murmann • What does this do to the signal spectrum? • We'll analyze this in two steps – First look at infinitely narrow reconstruction pulses EE315B - Chapter 2 39 Dirac Pulses • xd(t) is zero between pulses – Note that x(n) is undefined at these times xd ( t ) x( t ) • n ( t nTs ) Multiplication in time means convolution l ti iin ffrequency – Resulting spectrum Xd ( f ) B. Murmann EE315B - Chapter 2 1 Ts n X f Ts n 40 Spectrum • Spectrum of Dirac signal contains replicas of Vin(f) at integer multiples p of the sampling p g frequency q y B. Murmann EE315B - Chapter 2 41 Finite Hold Pulse • Consider the general case with a rectangular pulse 0 < Tp Ts • The time domain signal on the left follows from convolving the Dirac sequence with a rectangular unit pulse • Spectrum follows from multiplication with Fourier transform of the pulse Hp (f ) Tp Xp (f ) sin( fTp ) fTp Tp sin(( fTp ) Ts fTp e e jfTp jfTp n X f Ts n Amplitude Envelope B. Murmann EE315B - Chapter 2 42 Envelope with Hold Pulse Tp=Ts 1 09 0.9 0.8 0.7 fTp Ts abs(H(f)) Tp sin( fTp ) 0.6 0.5 04 0.4 0.3 0.2 0.1 0 0 0.5 1 1.5 2 2.5 3 f/fs f/f s EE315B - Chapter 2 B. Murmann 43 Envelope with Hold Pulse Tp=0.5·Ts 1 09 0.9 0.8 Tp=Ts 0.7 Ts fTp abs(H(f)) Tp sin( fTp ) 0.6 0.5 04 0.4 Tp=0.5·Ts 0.3 0.2 0.1 0 0 0.5 1 1.5 f/fs 2 2.5 3 f/fs B. Murmann EE315B - Chapter 2 44 Example 1 Spectrum of Continuous Time Pulse Train (Arbitrary Example) 05 0.5 0 0 0.5 1 1.5 2 2.5 3 0 0.5 1 1.5 2 2.5 3 2 2.5 3 1 ZOH Transfer Function ("Sinc Distortion") 0.5 0 1 ZOH output, Spectrum of Staircase Approximation original spectrum 0.5 0 0 0.5 1 1.5 f/fs EE315B - Chapter 2 B. Murmann 45 Reconstruction Filter 1 09 0.9 0.7 Spectrum Also called smoothing hi filter fil • Same situation as with anti-alias filter – A brick wall filter would be nice – Oversampling helps p reduce filter order Filter 0.8 0.6 0.5 04 0.4 0.3 0.2 0.1 0 • 0 0.5 1 1.5 2 2.5 3 f/fs B. Murmann EE315B - Chapter 2 46 Summary • Must obey sampling theorem fs > 2·fsig,max, – Usuallyy dictates anti-aliasing g filter • If sampling theorem is met, continuous time signal can be recovered from discrete time sequence without loss of information • A zero order hold in conjunction with a smoothing filter is the most common way to reconstruct – May need to add pre- or post-emphasis to cancel droop due to sinc envelope • Oversampling helps reduce order of anti-aliasing anti aliasing and reconstruction filters B. Murmann EE315B - Chapter 2 47 Static Nonidealities • Static deviations of transfer characteristics from ideality – Offset – Gain error – Differential Nonlinearity (DNL) – Integral Nonlinearity (INL) • Useful references – Analog Devices MT-010: The Importance of Data Converter Static Specifications • http://www.analog.com/en/content/0,2886,761%255F795%255F91286,00.html http://www analog com/en/content/0 2886 761%255F795%255F91286 00 html – "Understanding Data Converters," Texas Instruments Application Report LAA013, 1995. • http://focus.ti.com/lit/an/slaa013/slaa013.pdf p p B. Murmann EE315B - Chapter 2 48 Offset and Gain Error • Conceptually simple, but lots of (uninteresting) subtleties in how exactly these errors should be defined – Unipolar versus bipolar, endpoint versus midpoint specification – Definition in p presence of nonlinearities • General idea (neglecting staircase nature of transfer functions): OUT OUT Ideal Ideal With offset With gain error IN IN EE315B - Chapter 2 B. Murmann 49 ADC Offset and Gain Error • Definitions based on bottom and top endpoints of transfer characteristic – ½ LSB before first transition and ½ LSB after last transition – Offset is the deviation of bottom endpoint from its ideal location – Gain error is the deviation of top endpoint from its ideal location with offset removed • Both quantities are measured in LSB or as percentage of full-scale range Gain Error Dout Dout Ideal Vin Ideal Vin Offset B. Murmann EE315B - Chapter 2 50 DAC Offset and Gain Error • Same idea, except that endpoints are directly defined by analog output p values at minimum and maximum digital g input p • Also note that errors are specified along the vertical axis B. Murmann EE315B - Chapter 2 51 Comments on Offset and Gain Errors • Definitions on the previous slides are the ones typically used in industry – IEEE Standard suggest somewhat more sophisticated definitions based on least square curve fitting • Technically more suitable metric when the transfer characteristics are significantly non-uniform or nonlinear • Generally, it is non-trivial Generally non trivial to build a converter with very good gain/offset specifications – Nevertheless, since gain and offset affect all codes uniformly, these errors tend to be easy y to correct • E.g. using a digital pre- or post-processing operation – Also, many applications are insensitive to a certain level of gain and offset errors • E.g. audio signals, communication-type signals, ... • More interesting aspect: linearity – DNL and INL B. Murmann EE315B - Chapter 2 52 Differential Nonlinearity (DNL) • In an ideal world,, all ADC codes would have equal q width;; all DAC output increments would have same size • DNL(k) is a vector that quantifies for each code k the deviation of this width from the "average" average width (step size) • DNL(k) is a measure of uniformity, it does not depend on gain and offset errors – Scaling and shifting a transfer characteristic does not alter its uniformity and hence DNL(k) • Let's Let s look at an example B. Murmann EE315B - Chapter 2 53 ADC DNL Example (1) B. Murmann EE315B - Chapter 2 Code (k) W [V] 0 undefined 1 1 2 0.5 3 1 4 1.5 5 0 6 15 1.5 7 undefined 54 ADC DNL Example (2) • What is the average code width? – ADC with perfect uniformity would divide the range between first and last transition into 6 equal pieces – Hence calculate average code width (i.e. LSB size) as Wavg • 7.5V 2V 0.9167V 6 N Now calculate l l t DNL(k) ffor each h code d k using i DNL(k) W(k) Wavgg Wavg EE315B - Chapter 2 B. Murmann 55 Result Code (k) DNL [LSB] 1 0 09 0.09 2 -0.45 3 0.09 4 0.64 5 -1.00 6 0 64 0.64 • Positive/negative DNL implies wide/narrow code, respectively • DNL = -1 1 LSB iimplies li missing i i code d • Impossible to have DNL < -1 LSB for an ADC – But possible to have DNL > +1 LSB • Can show that sum over all DNL(k) is equal to zero B. Murmann EE315B - Chapter 2 56 A Typical ADC DNL Plot [Ahmed, JSSC 12/2005] • People speak about DNL often only in terms of min/max number across all codes – E.g. E g DNL = +0 0.63/ 63/-0 0.91 91 LSB • Might argue in some cases that any code with DNL < -0.9 LSB is essentially a missing code – Why ? B. Murmann EE315B - Chapter 2 57 Impact of Noise [W. Kester, "ADC Input Noise: The Good, The Bad, and The Ugly. Is No Noise Good Noise?" Analogue Dialogue, Feb. 2006] • In essentially all moderate to high-resolution ADCs, the transition levels carry noise that is somewhat comparable to the size of an LSB – Noise "smears smears out" out DNL, DNL can hide missing codes • Especially for converters whose input referred (thermal) noise is larger than an LSB, DNL is a "fairly useless" metric B. Murmann EE315B - Chapter 2 58 DAC DNL • Same idea applies – Find output increments for each digital code – Find increment that divides range into equal steps – Calculate DNL for each code k using DNL(k) • St (k) Step Step(k) St avg Stepavg One difference between ADC and DAC is that DAC DNL can be less than -1 LSB – How ? B. Murmann EE315B - Chapter 2 59 Non-Monotonic DAC DNL(3) Step(3) Stepavg Stepavg 0.5V 1V 1.5LSB 1V • I a DAC, In DAC DNL < -1LSB 1LSB implies i li non-monotinicity ti i it • How about a non-monotonic ADC? B. Murmann EE315B - Chapter 2 60 Non-Monotonic ADC • Code 2 has two transition levels W(2) is ill defined – DNL is ill-defined! ill defined! • Not a very big issue, because a non-monotonic ADC is usually not what we'll design for in practice… B. Murmann EE315B - Chapter 2 61 Integral Nonlinearity (INL) • General idea – For each "relevant point" of the transfer characteristic, quantify distance from a straight line drawn through the endpoints • An alternative, less common definition uses a least square fit line as a reference – Just as with DNL, the INL of a converter is by definition independent of gain and offset errors B. Murmann EE315B - Chapter 2 62 ADC INL Example (1) • "Straight line" reference is uniform staircase between first and last transition • INL for each code is INL(k) T(k) Tuniform (k) Wavg • Obviously INL(1) = 0 and INL(7) ( )=0 • INL(0) is undefined EE315B - Chapter 2 B. Murmann 63 ADC INL Example (2) • Can show that k 1 INL(k) DNL(i) i 1 • Means that once we computed DNL, we can easily find INL using a cumulative sum operation on the DNL vector • Using DNL values from last lecture, we find B. Murmann Code (k) DNL [LSB] INL [LSB] 1 0.09 0 2 -0.45 0.09 3 0.09 -0.36 4 0.64 -0.27 5 -1.00 0.36 6 0.64 -0.64 7 undefined d fi d 0 EE315B - Chapter 2 64 Result B. Murmann EE315B - Chapter 2 65 A Typical ADC DNL/INL Plot [Ishii, Custom Integrated Circuits Conference 2005] Conference, • DNL/INL signature often reveals architectural details – E.g. E g major transitions – We'll see more examples in the context of DACs • Since INL is a cumulative measure, it turns out to be less sensitive than DNL to thermal noise "smearing" B. Murmann EE315B - Chapter 2 66 DAC INL • Same idea applies – Find ideal output values that lie on a straight line between endpoints – Calculate INL for each code k using INL(k) • Vout (k) Voutuniform (k) Stepavg Interesting property related to DAC INL – If for all codes |INL| < 0.5 LSB, it follows that all |DNL| < 1 LSB – A sufficient ff (but ( not necessary)) condition for monotonicity B. Murmann EE315B - Chapter 2 67 Spectral Performance Metrics Katelijn Vleugels Stanford University y Copyright © 2011 by Boris Murmann & Katelijn Vleugels B. Murmann EE315B - Chapter 3 1 Spectral Performance Metrics • Spectral performance metrics follow from looking at converter or b ildi bl building block k output t t spectrum t • Basic idea: – Apply pp y one or more tones at converter input p – Expect same tone(s) at output, all other frequency components represent non-idealities • Important to realize that both static and dynamic errors contribute to frequency domain non-ideality – Static: DNL,INL – Dynamic: glitch impulse, aperture uncertainty, settling time, … • We’ll look at these later, in the context of specific circuits B. Murmann EE315B - Chapter 3 2 Alphabet Soup of Spectral Metrics • SNR - Signal-to-noise ratio • SNDR (SINAD) - Signal-to-(noise+distortion) ratio • ENOB - Effective number of bits • DR - Dynamic range • SFDR - Spurious free dynamic range • THD - Total harmonic distortion • ERBW - Effective Resolution Bandwidth • IMD - Intermodulation I t d l ti distortion di t ti • MTPR - Multi-tone power ratio B. Murmann EE315B - Chapter 3 3 DAC Tone Test/Simulation B. Murmann EE315B - Chapter 3 4 Typical DAC Output Spectrum [Hendriks, "Specifying y g Communications DACs, IEEE Spectrum, July y 1997] B. Murmann EE315B - Chapter 3 5 ADC Tone Test/Simulation B. Murmann EE315B - Chapter 3 6 Discrete Fourier Transform Basics • DFT takes a block of N time domain samples (spaced Ts=1/fs) and yyields a set of N frequency q y bins X(k) N1 x(n)e j2kn/N n0 • Bin k represents frequency content at k·fs/N [Hz] • DFT frequency q y resolution – Proportional to 1/(N·Ts) in [Hz/bin] – N·Ts is total time spent gathering samples • A DFT with N=2integer can be found using a computationally efficient algorithm – FFT = Fast Fourier Transform EE315B - Chapter 3 B. Murmann 7 Matlab Example clear; N 50 = 100 100; fs = 1000; 40 x = cos(2*pi*fx/fs*[0:N-1]); s = abs(fft(x)); plot(s 'linewidth' plot(s, linewidth , 2); DF FT Magnitude e fx = 100; 30 20 10 0 0 20 40 60 80 100 Bin # B. Murmann EE315B - Chapter 3 8 Normalized Plot with Frequency Axis N = 100; fs = 1000; 0 fx = 100; FS = 1; % full-scale amplitude s = abs(fft(x)); b (ff ( )) % remove redundant half of spectrum s = s(1:end/2); % normalize magnitudes to dBFS % dbFS = dB relative to full-scale s = 20*log10(2*s/N/FS); DFT M Magnitude [dB BFS] x = FS*cos(2*pi*fx/fs*[0:N-1]); -50 -100 -150 -200 -250 % frequency vector -300 f = [0:N/2 [0:N/2-1]/N; 1]/N; -350 0 plot(f, s, 'linewidth', 2); 0.1 xlabel('Frequency [f/fs]') 0.2 0.3 Frequency [f/fs] 0.4 0.5 ylabel('DFT Magnitude [dBFS]') EE315B - Chapter 3 B. Murmann 9 Another Example 0 Same as before,, but now fx=101 • This doesn't look the spectrum of a sinusoid… • What's going on? -10 DFT M Magnitude [d dBFS] • -20 -30 -40 -50 -60 -70 -80 -90 0 B. Murmann EE315B - Chapter 3 0.1 0.2 0.3 Frequency [f/fs] 0.4 0.5 10 Spectral Leakage • DFT implicitly assumes that data repeats every N samples • A sequence that contains a noninteger number of sine wave cycles has discontinuities in its periodic repetition – Discontinuity looks like a high frequency signal component – Power spreads across spectrum • Two ways y to deal with this – Ensure integer number of periods – Windowing EE315B - Chapter 3 B. Murmann 11 Integer Number of Cycles 0 N = 100 100; -50 fs = 1000; fx = fs*cycles/N; • Usable test f frequencies i are limited to a multiple of fs/N DFT M Magnitude [dB BFS] cycles = 9; -100 -150 -200 -250 -300 -350 0 B. Murmann EE315B - Chapter 3 0.1 0.2 0.3 Frequency [f/fs] 0.4 0.5 12 Windowing • Spectral leakage can be attenuated by windowing the time samples prior to the DFT • Windows taper smoothly down to zero at the beginning and the end of the observation window • Time domain samples are multiplied by window coefficients on a sample-by-sample basis – Means convolution in frequency – Sine Si wave tone t and d other th spectral t l components t smear outt over several bins • Lots of window functions to chose from – Tradeoff: attenuation versus smearing • Example: Hann Window EE315B - Chapter 3 B. Murmann 13 Hann Window N=64; wvtool(hann(N)) Time domain Frequency domain 50 1 0 Magnitude (dB) Amplitu ude 0.8 0.6 0.4 -50 -100 0.2 0 B. Murmann 10 20 30 40 Samples 50 60 -150 0 0.2 0.4 0.6 0.8 Normalized Frequency ( rad/sample) EE315B - Chapter 3 14 Spectrum with Window N 0 = 100; No window Hann window f = 1000 fs 1000; -20 A = 1; x = A*cos(2*pi*fx/fs*[0:N-1]); s = abs(fft(x)); x1 = x x.*hann(N); *hann(N); s1 = abs(fft(x1)); DFT Magnitude [dBF FS] fx = 101; -40 -60 -80 -100 -120 -140 0 0.1 0.2 0.3 0.4 0.5 f/fs EE315B - Chapter 3 B. Murmann 15 Integer Cycles versus Windowing • Integer number of cycles – Test signal falls into single DFT bin – Requires R i careful f l choice h i off signal i l ffrequency – Ideal for simulations – In lab measurements, can lock sampling and signal f frequency generators t (PLL) • "Coherent sampling" • Windowing – No restrictions on signal frequency – Signal and harmonics distributed over several DFT bins • Beware of smeared out nonidealities… – Requires more samples for given accuracy • More info – http://www.maxim-ic.com/appnotes.cfm/appnote p pp pp _number/1040 B. Murmann EE315B - Chapter 3 16 Example • Now that we've "calibrated" calibrated our test system, let's look at some spectra that involve nonidealities N = 2048; cycles = 67; fs = 1000; fx = fs*cycles/N; LSB = 2/2^10; %generate signal, quantize (mid-tread) and take FFT • First look at quantization noise introduced by an ideal quantizer x = cos(2*pi*fx/fs*[0:N-1]); x = round(x/LSB)*LSB; s = abs(fft(x)); s = s(1:end/2)/N*2; % calculate SNR sigbin = 1 + cycles; noise = [s(1:sigbin-1), s(sigbin+1:end)]; snr = 10*log10( s(sigbin)^2/sum(noise.^2) ); B. Murmann EE315B - Chapter 3 17 Spectrum with Quantization Noise 2048 point FFT, SNR=61.90dB 0 • Spectrum looks fairly uniform • Signal-to-quantization noise ratio is given by power in signal bin, divided by sum of allll noise i bi bins DFT Ma agnitude [dB BFS] -20 -40 40 -60 -80 -100 100 -120 0 B. Murmann EE315B - Chapter 3 0.1 0.2 0.3 Frequency [f/fs] 0.4 0.5 18 SQNR 2048 point FFT, SNR=61.90dB Signal g Power Quantization Noise Power 1 VFS 2 2 2 1 VFS 12 2N 2 -20 DFT Ma agnitude [dBF FS] SQNR 0 3 2N 2 2 6.02 N 1.76 [dB] 6.02 10 1.76 [[dB]] -40 40 -60 -80 -100 100 61.9 dB -120 0 0.1 0.2 0.3 Frequency [f/fs] 0.4 EE315B - Chapter 3 B. Murmann 0.5 19 FFT Noise Floor 2048 point FFT, SNR=61.90dB 0 61.9 61 9 dB dBc 30 30.1 1 dB 92 dBc • Depends on FFT size • Plot is “useless” useless if FFT size is not specified -20 DFT Ma agnitude [dBFS] 2048 Nfloor 61.9 dBc 10log 2 -40 40 -60 -80 -100 100 -120 0 B. Murmann EE315B - Chapter 3 0.1 0.2 0.3 Frequency [f/fs] 0.4 0.5 20 DFT Plot Annotation • DFT p plots are fairly y meaningless g unless yyou clearly y specifiy p y the underlying conditions • Most common annotation – Specify S if how h many DFT points i t were used d (N) • Less common options – Shift DFT noise floor by y 10log g10((N/2)dB ) – Normalize with respect to bin width in Hz and express noise as power spectral density • "Noise Noise power in 1 Hz bandwidth" bandwidth EE315B - Chapter 3 B. Murmann 21 Periodic Quantization Noise Same as before, but cycles = 64 ((instead of 67)) • fx = fs64/2048 = fs/32 • Quantization noise is highly deterministic and periodic • 2048 point FFT, SNR=65.09dB 0 -20 For more random and "white" quantizion noise,, it is best to q make N and cycles mutually prime – GCD(N,cycles)=1 ( , y ) DFT Ma agnitude [dB BFS] • -40 -60 -80 -100 -120 0 B. Murmann EE315B - Chapter 3 0.1 0.2 0.3 Frequency [f/fs] 0.4 0.5 22 Typical ADC Output Spectrum Fairly uniform noise floor due to additional electronic noise • Harmonics due to nonlinearities • Definition of SNR SNR • 2048 point FFT, SNR=55.99dB 0 -20 Signal Power Total Noise Power Total noise power includes all bins except DC, signal, and 2nd through th h 7th harmonic h i – Both quantization noise and electronic noise affect SNR DFT M Magnitude [d dBFS] • -40 40 -60 -80 -100 -120 0 0.1 0.2 0.3 0.4 Frequency [f/fs] EE315B - Chapter 3 B. Murmann 23 SNDR and ENOB Definition SNDR • • Signal Power Noise and Distortion Power Noise and distortion power includes all bins except DC and signal Effective number of bits ENOB B. Murmann 2048 point FFT, SNR=55.9dB, SNDR=47.5dB 0 SNDR(dB) 1.76dB SNDR(dB)-1.76dB 6.02dB -20 DFT Magnitude [dBF FS] • -40 -60 -80 -100 -120 0 EE315B - Chapter 3 0.1 0.2 0.3 0.4 Frequency [f/fs] 24 Effective Number of Bits • Is a 10-Bit converter with 47.5dB SNDR really a 10-bit converter? ENOB 47.5dB 1.76dB 7.6 6.02dB • We gett ideal W id l ENOB only l ffor zero electronic l t i noise, i perfect f t transfer function with zero INL, ... • Low electronic noise is costly y – Cutting thermal noise down by 2x, can cost 4x in power dissipation • Rule of thumb for good power efficiency: ENOB < B-1 B1 – B is the "number of wires" coming out of the ADC or the so called "stated resolution" EE315B - Chapter 3 B. Murmann 25 Survey Data SNRBits SNR(dB)-1.76dB 6.02dB R. H. Walden, "Analog-to-digital converter survey and analysis," IEEE J. on Selected Areas in Communications, pp. 539-50, April 1999 B. Murmann EE315B - Chapter 3 26 Dynamic Range DR Maximum Signal Power SNRppeak Minimum Detectable Signal SNR (dB) OVERLOAD PEAK SNR FULL SCALE 0dB DYNAMIC RANGE INPUT Input Power AMPLITUDE [dB] (dB) MDS B. Murmann EE315B - Chapter 3 27 SFDR Definition of "Spurious Free Dynamic Range" Range SFDR • Signal Power Largest Spurious Power Largest spur is often (but not necessarily) a harmonic of the input tone 2048 point FFT, SFDR=48.3dB 0 -20 DFT M Magnitude [dBFS] • -40 40 -60 -80 -100 -120 0 B. Murmann EE315B - Chapter 3 0.1 0.2 0.3 0.4 Frequency [f/fs] 28 SDR and THD • Signal-to-distortion ratio 2048 point FFT, THD=-48.2dB 0 Signal Power SDR Total Distortion Power • Total harmonic distortion THD • Total Distortion Power 1 Signal Power SDR By convention, total distortion power consists of 2nd through 7th harmonic DFT M Magnitude [dB BFS] -20 B. Murmann -60 -80 -100 -120 0 Is there a 6th and 7th harmonic in the plot to the right? • -40 40 0.1 0.2 0.3 0.4 Frequency [f/fs] EE315B - Chapter 3 29 Lowering the Noise Floor 65536 point FFT, THD=-48.3dB 0 Increasing the FFT size let's us lower the noise floor and reveal low level harmonics -20 DFT M Magnitude [dBFS] • -40 40 -60 -80 -100 -120 0 B. Murmann EE315B - Chapter 3 0.1 0.2 0.3 0.4 Frequency [f/fs] 30 Aliasing 65536 point FFT, THD=-48.3dB Harmonics can appear at "arbitrary" frequencies due to aliasing 0 -20 DFT Ma agnitude [dB BFS] • f1 = fx = 0.3125 fs f2 = 2 f1 = 0.6250 fs 0.3750 fs f3 = 3 f1 = 0.9375 fs 0.0625 fs f4 = 4 f1 = 1.2500 fs 0.2500 fs f5 = 5 f1 = 1.5625 fs 0.4375 fs -40 40 -60 -80 -100 -120 0 0.1 0.2 0.3 Frequency [f/fs] EE315B - Chapter 3 B. Murmann 0.4 0.5 31 Intermodulation Distortion Am mplitude f1 f2 SECOND ORDER PRODUCTS f2 - f1 THIRD ORDER PRODUCTS 2f1 - f2 2f2 - f1 Frequency • f1 + f2 f IMD is important in multi-channel communication systems – Third order products are generally difficult to filter out B. Murmann EE315B - Chapter 3 32 MTPR Amplitu ude [dB] 0 MTPR -20 -40 -60 -80 -100 -120 120 0.00E+00 4.00E+06 8.00E+06 1.20E+07 1.60E+07 2.00E+07 2.40E+07 2.80E+07 3.20E+07 Frequency(Hz) Frequency [Hz] • Useful metric in multi-tone transmission systems – E.g. OFDM B. Murmann EE315B - Chapter 3 33 Frequency Dependence (1) • All of the above discussed metrics generally depend on frequency – Sampling p g frequency q y and input p frequency q y [[Analog g Devices,, AD9203 Datasheet ] B. Murmann EE315B - Chapter 3 34 Frequency Dependence (2) [T [Texas Instruments, I t t ADS5541 Datasheet D t h t] B. Murmann EE315B - Chapter 3 35 ERBW • Defined as the input p frequency q y at which the SNDR of a converter has dropped by 3dB – Equivalent to a 0.5-bit loss in ENOB • ERBW > fs/2 iis nott uncommon, especially i ll iin converters t designed for sub-sampling applications B. Murmann EE315B - Chapter 3 36 Relationship Between INL and SFDR • At low input frequencies, finite SFDR is mostly due to INL • Quadratic/cubic bow gives rise to second/third order harmonic • Rule of thumb: SFDR 20log(2B/INL) – E.g. 1 LSB INL, 10 bits SFDR 60dB Output Ideal Quadratic bow Cubic bow Input B. Murmann EE315B - Chapter 3 37 SNR Degradation due to DNL (1) [Source: Ion Opris] • For an ideal F id l quantizer ti we assumed d uniform if quatization ti ti error over /2 • Let's add uniform DNL over 0.5 LSB and repeat math... B. Murmann EE315B - Chapter 3 38 SNR Degradation due to DNL (2) • Integrate triangular pdf e 2 2 0 • e e2 2 1 de 6 SNR 6.02 B 1.25 [dB] 3dB dB Compare to ideal quantizer /2 e2 2 e de 12 /2 2 • SNR 6 6.02 02 B 1 1.76 76 [dB] Bottom line: non-zero DNL across many codes can easily cost a few dB in SNR – "DNL noise" B. Murmann EE315B - Chapter 3 39 Nyquist Rate DACs Katelijn Vleugels Stanford University Copyright © 2011 by Boris Murmann & Katelijn Vleugels B. Murmann EE315B - Chapter 4 1 Overview • D/A conversion is typically yp y accomplished p through g the division or multiplication of a reference voltage, current or charge • Architectures – Thermometer Th t – Binary weighted – Segmented • Static performance – Limited by component matching • Dynamic performance – Limited e.g. by timing errors, "glitches" B. Murmann EE315B - Chapter 4 2 Resistor String DAC VRE F MSB LSB xxxxx d0 d0 xxxxx d1 d1 d2 d2 OUT B. Murmann • Simple, p inherently y monotonic • Small area up to ~8 bits • See e.g. Pelgrom, JSSC 12/1990 • Unsuitable for highresolution, high-speed designs EE315B - Chapter 4 3 Thermometer DAC Using Switched Currents • Advantages – Monotonicity ensured by turning on equal-weighted current sources in succession – Fast: timing glitches proportional to step size do not degrade DNL • – Impractical for large B (ie high resolution)) due to large g area taken up by current sources – Requires large decoder with 2B1 outputs Binary-to-Thermometer Decoder B. Murmann Disadvantages EE315B - Chapter 4 4 Thermometer DAC Principle 15 Output 0 14 14 13 3 13 3 13 3 12 12 12 12 11 11 11 11 11 10 10 10 10 10 10 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 7 7 7 7 7 7 7 7 7 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Input Code B. Murmann EE315B - Chapter 4 5 Binary Weighted DAC • Advantages – Area-efficient – No decoder needed • Disadvantages – Monotonicity is not guaranteed: 2k-1 source must match sum of ( ) to within 1 LSB to 1-to-2(k-1) make transition monotonic – Timing glitches introduce DNL MSB transition is “worst case” B. Murmann EE315B - Chapter 4 6 Binary Weighted DAC Principle MSB Transition Problem B. Murmann EE315B - Chapter 4 7 Implementation of Weighted Elements B. Murmann EE315B - Chapter 4 8 Segmented DAC Thermometer MSB Section (+ Decoder) B. Murmann • Binary weighted section with Bb bits • Thermometer section with Bt = B-Bb bits • Typically Bt ~ 4…8 • Reasonably small decoder • Easier to achieve monotonicity EE315B - Chapter 4 9 Segmented DAC (2-2) Transition Problem Limited to LSB Section B. Murmann EE315B - Chapter 4 10 Static Errors (1) • DNL and INL due to unit element mismatch • Systematic Errors – Contact and wiring resistance (IR drop) – Edge effects in unit element arrays – Process gradients – Finite current source output resistance • Systematic errors can be mitigated by proper layout and switching sequence design – See e.g. [Lin, JSSC 12/98], [Van der Plas, JSSC 12/99] B. Murmann EE315B - Chapter 4 11 Mitigating IR Drop B. Murmann EE315B - Chapter 4 12 Static Errors (2) • In the best possible scenario, we are then limited by “random” errors, which hi h are d due tto material t i l roughness, h randomness d iin etching, t hi etc. t • The distribution of random errors is usually well approximated by a Gaussian PDF (central limit theorem) • References – C. Conroy et al., “Statistical Design Techniques for D/A Converters,” IEEE J. Solid-State Ckts., pp. 1118-28, Aug. 1989. – P. P Crippa, Crippa et al al., "A A statistical methodology for the design of highhigh performance CMOS current-steering digital-to-analog converters," IEEE Trans. CAD of ICs and Syst. pp. 377-394, Apr. 2002. EE315B - Chapter 4 B. Murmann 13 Gaussian Distribution f(x) 1 2 e x 2 2 2 X x 04 0.4 f(x) 0.3 0.2 0.1 0 -3 B. Murmann -2 -1 0 x/X EE315B - Chapter 4 1 2 3 14 Yield (1) P C X C 1 2 C X e 2 2 C C dX erf 2 1 P(-C C) P(-X ≤ xX ≤+X) 0.8 0.6 0.4 02 0.2 0 0 0.5 1 1.5 X/ 2 2.5 3 C EE315B - Chapter 4 B. Murmann 15 Yield (2) C P(-C X C) [%] C P(-C X C) [%] 0.2000 15.8519 2.2000 97.2193 0.4000 31.0843 2.4000 98.3605 0.6000 45.1494 2.6000 99.0678 0.8000 57.6289 2.8000 99.4890 1.0000 68.2689 3.0000 99.7300 1.2000 76.9861 3.2000 99.8626 1.4000 83.8487 3.4000 99.9326 1 6000 1.6000 89 0401 89.0401 3 6000 3.6000 99 9682 99.9682 1.8000 92.8139 3.8000 99.9855 2.0000 95.4500 4.0000 99.9937 B. Murmann EE315B - Chapter 4 16 Example • Measurements show that the current in a production lot of current sources follows a Gaussian distribution with = 0.1 mA and d = 10 mA A – What fraction of current sources is within 3% (or 1%) of the mean? • Relative matching ("coefficient of variation") u I 0.1mA stdev 1% I 10mA • Fraction of current sources within 3% – C = 3 99.73% • Fraction of current sources within 1% – C = 1 68.27% EE315B - Chapter 4 B. Murmann 17 Mismatch in MOS Current Sources V1 V2=V1 I1 VB • I2 Vt M1 I I1 I2 gm Vt I1 g I m Vt I1 I1 M2 1 W Cox 2 L Vt A Vt WL A WL Example – W=500m, L=0.2m, gm/ID=10S/A, AVt=5mV-m, A=1%-m 2 2 S 5mV 1% I 10 A 10 10 I 0.5%2 0.1%2 0.51% 1 B. Murmann EE315B - Chapter 4 18 DNL of Thermometer DAC DNL(k) Step(k) Stepavg Stepavg Ik 1 N I N j 1 j N 1 I N j 1 j Ik I I I I I stdev DNL(k) stdev u I • Standard deviation of DNL for each code is simply equal to relative matching (u) of unit elements • a pe Example – Say we have unit elements with u = 1% and want 99.73% of all converters to meet the spec – Which DNL specification value should go into the datasheet? B. Murmann EE315B - Chapter 4 19 DNL Yield Example (1) • First cut solution – For 99.73% yield, need C = 3 – DNL = u = 1% – 3 DNL = 3% – DNL specification for a yield of 99.73% is 0.03 LSB • Independent of target resolution (?) • Not quite right – Must keep in mind that a converter will meet specs only if all codes meet DNL spec, i.e. DNL(k) < DNLspec for all k – A converter with more codes is less likely to have all codes meet the specification – Let's see if this is significant B. Murmann EE315B - Chapter 4 20 DNL Yield Example (2) • Let's say there are N codes, and assume that all DNL(k) values are independent, then – P(all codes meet spec) = P(single code meets spec)N – P(all codes meet spec)1/N = P(single code meets spec) • Lets look at two examples N=63 (6 bits) and N=4095 (12 bits) – 0.99731/63 = 0.99995708… – 0.99731/4095 = 0. 99999929929… • Can calculate modified confidence intervals using Matlab – For N=63, C = sqrt(2)*erfinv(0.99731/63) = 4.09 – For N=4095, C = sqrt(2)*erfinv(0.99731/4095) = 4.97 • Refined R fi d result lt ffor 99 99.97% 97% yield i ld – N=63: DNL spec should be 0.0409 LSB – N=4095: DNL spec should be 0.0497 LSB B. Murmann EE315B - Chapter 4 21 DNL Yield Example (3) • Getting a more accurate yield estimate for the preceding example wasn't all that hard – Unfortunately things won't always be that simple • E.g. in a segmented DAC, DNL(k) are no longer independent • The "typical" typical DAC designer tends to rely on simulations rather than trying to formulate "exact" yield equations – Get rough estimate using simple (often optimistic) expressions – Run "Monte Carlo" simulations in Matlab to find actual yield or to center specs – Still important to have a qualitative feel for what may cause discrepancies B. Murmann EE315B - Chapter 4 22 INL of Thermometer DAC (1) INL(k) Iout (k) Iout,uniform (k) Stepavg k Ij j 1 k N I N j 1 j N 1 I N j 1 j k N Ij j 1 k k N j 1 j k 1 Ij Ij A N k A B A N A X var INL(k) var k N2 var N2 var A B A B Y B. Murmann EE315B - Chapter 4 23 INL of Thermometer DAC (2) • For a quotient of random variables 2 2 cov X, X Y 2 X var X 2X 2Y 2 X Y Y Y X Y [Dennis E E. Blumenfeld Blumenfeld, Operations Research Calculations Handbook Handbook, Online: http://www.engnetbase.com/ejournals/books/book_summary/toc.asp?id=701] • After identifying the means (), variances () and covariance ( ) needed in the abo (cov) above e appro approximation, imation it follo follows s that k var INL(k) k 1 u2 N k INL (k) u k 1 N B. Murmann EE315B - Chapter 4 24 INL of Thermometer DAC (3) INL (k)/ u 6 N=64 N=128 4 2 0 0 20 40 60 80 100 120 140 k • St d d deviation Standard d i ti off INL iis maximum i att mid-scale id l (k (k=N/2) N/2) INL u • N N/ 2 1 1 u N u 2B 1 2 N 2 2 For a more elaborate derivation of this result see [Kuboki et al., al IEEE Trans. Trans Circuits & Systems Systems, 6/1982] EE315B - Chapter 4 B. Murmann 25 Achievable Resolution 2 B log g2 4 INL 2 2log g2 INL u u • Example: INL= 0 0.1 1 LSB (at mid mid-scale scale code) B. Murmann u B 1% 8.6 0.5% 10.6 0.2% 13.3 0.1% 15.3 EE315B - Chapter 4 26 INL Yield • Again, we should ask how many DACs will meet the spec for a given INL (worst code) – It turns out that this is a very difficult math problem • Two solutions – Do the math • G. I. Radulov et al., "Brownian-Bridge-Based Statistical Analysis of the DAC INL Caused by Current Mismatch," IEEE TCAS II, pp pp. 146-150, Feb. 2007. – Yield simulations • Good rule of thumb – For F high hi h ttargett yield i ld ((>95%), 95%) the th probability b bilit off ""allll codes d meet INL spec" is very close to "worst code meets INL spec" EE315B - Chapter 4 B. Murmann 27 DNL/INL of Binary Weighted DAC • INL same as for thermometer DAC – Why? • DNL is not same for all codes, but depends on transition • Consider worst case: 0111 … 1000 … – Turning on MSB and turning off all LSBs 2 DNL 2B 1 1 u2 2B 1 u2 2B 1 u2 0111... • 1000... 8I 4I 2I I Example E l – B = 12, u = 1% DNL = 0.64 LSB – Much worse than thermometer DAC B. Murmann EE315B - Chapter 4 28 DNL (4-bit Example) 15 2 )22 ( DNL D NL // u 10 5 0 0 2 4 6 8 DAC input code 10 12 14 code EE315B - Chapter 4 B. Murmann 29 Simulation Example DNL [in LSB]] 2 1 DNL and INL of 12 Bit converter (from converter decision thresholds) +0.1 1 LSB, LSB avg=-9 avg=-9.3e-005, 3e-005 std std.dev=0.035, dev=0 035 range=1 range=1.4 4 -1.3 1-13 / +0 0 -1 -2 500 1000 1500 2000 bin code 2500 3000 3500 4000 INL [in LSB] 2 1 0 -1 B. Murmann -0.8 / +0.8 LSB, avg=-1.1e-013, std.dev=0.37, range=1.6 500 1000 1500 2000 bin code 2500 EE315B - Chapter 4 3000 3500 4000 30 Another Random Run DNL [in L LSB] 2 1 DNL and INL of 12 Bit converter (from converter decision thresholds) -0.9 / +0.4 LSB, avg=-7.5e-005, std.dev=0.039, range=1.3 0 -1 500 1000 1500 2000 2500 3000 3500 4000 bin code INL [in L LSB] 2 1 -0.7 / +0.7 LSB, avg=3.3e-014, std.dev=0.33, range=1.3 0 -1 500 1000 1500 2000 2500 3000 3500 4000 bin code • Peak DNL not at mid-scale! – Important to realize that this is just one single statistical outcome… EE315B - Chapter 4 B. Murmann 31 Multiple Simulation Runs (100) Overlay Plot RMS DNL and INL [Lin & Bult, JSSC 12/1998] B. Murmann EE315B - Chapter 4 32 DNL/INL of Segmented DAC • INL – Same as in thermometer DAC • DNL – Worst case occurs when LSB DAC turns off and one more MSB DAC element turns on – Essentially same DNL as a binary weighted DAC with Bb+1 bits Example: B=Bb+Bt=4+4=8 16I 16I 8I 4I 16I 2I I EE315B - Chapter 4 B. Murmann 33 Comparison Thermometer INL (worst case) DNL (worst case) Number of Switched Elements B. Murmann Segmented Binary Bi Weighted 1 u 2B 2 u u 2Bb 1 1 u 2B 1 2B 1 Bb 2Bt 1 B EE315B - Chapter 4 34 Example (B=12, u=1%) INL DNL (worst) (worst) Number of Switched Elements Thermometer 0.32 0.01 4095 Binary Weighted 0.32 0.64 12 Segmented (Bb=7, Bt=5) 0.32 0.16 38 DAC Architecture B. Murmann EE315B - Chapter 4 35 Dynamic DAC Errors (1) • Finite settling time and slewing – Finite RC time constant – Signal dependent slewing • Feedthrough – Coupling from switch signals to DAC output – Clock feedthrough • Glitches due to timing g errors – Current sources won’t switch simultaneously • Dynamic DAC errors are generally hard to model! B. Murmann EE315B - Chapter 4 36 Dynamic DAC Errors (2) • References – Gustavsson, Chapter 12 – M. Albiol, J.L. Gonzalez, E. Alarcon, "Mismatch and dynamic modeling of current sources in current-steering CMOS D/A converters," IEEE TCAS I, pp. 159-169, Jan. 2004 – Doris, van Roermund, Leenaerts, Wide-Bandwidth High Dynamic Range D/A Converters, Springer 2006. – T. Chen and G.G.E. Gielen, "The analysis y and improvement p of a current-steering DAC's dynamic SFDR," IEEE Trans. Ckts. Syst. I, pp. 3-15, Jan. 2006. EE315B - Chapter 4 B. Murmann 37 Glitch Impulse (1) • DAC output waveform depends on timing – Consider binary weighted DAC transition 0111… 1000… ideal 10 Ideal 5 0 1 1.5 2 2.5 3 earlyy 10 LSB early, LSBs l MSB llate t 5 0 1 1.5 2 2.5 3 late 10 LSBs late, MSB early 5 0 B. Murmann 1 15 1.5 2 Time 25 2.5 EE315B - Chapter 4 3 38 Glitch Impulse (2) • Worst case glitch impulse (area): t 2B-1 • LSB area: T • Need t 2B-1 << T which implies t << T/2B-1 B. Murmann fs [MHz] B t [ps] 1 12 << 488 20 16 << 1.5 1000 10 << 2 EE315B - Chapter 4 39 Commercial Example B. Murmann EE315B - Chapter 4 40 How to minimize dynamic DAC errors? • Differential pair switch • Retiming – Latches in (or close to) each current cell – Latch controlled by global clock to ensure that current cells switch simultaneously (independent of decoder delays) • Make before break – Ensure uninterrupted current flow, so that tail current source remains active • Low swing driver – Drive differential pair with low swing to minimize coupling from control signals to output • Cascoded tail current source for high output impedance – Ensures that overall impedance p at output p nodes is code independent (necessary for good INL) B. Murmann EE315B - Chapter 4 41 Basic Differential Pair Switch B. Murmann EE315B - Chapter 4 42 Make-Before-Break Driver EE315B - Chapter 4 B. Murmann 43 Example Current Cell Implementation [Barkin & Wooley, JSSC 4/2004] • Differential pair switch • Make-before-break driver • Low swing driver • Cascoded tail current source B. Murmann EE315B - Chapter 4 44 Binary Weighted Charge Redistribution DAC CP (top plate parasitic) + 2N–1 C 8C 4C 2C C C VOUT – VRE F b1 (msb) bN–3 bN–2 Vout • bN–1 2B C 2 C Cp B bN (lsb) B Vref bi i i 1 2 Can redistribute charge onto OTA + feedback capacitor to mitigate iti t gain i error due d tto Cp B. Murmann EE315B - Chapter 4 45 Segmented Charge Redistribution DAC B. Murmann EE315B - Chapter 4 46 Serial Charge Redistribution DAC B. Murmann EE315B - Chapter 4 47 Implementation Example Segmented DAC [T. Miki, Y. Nakamura, M. Nakaya, S. Asai, Y. Akasaka, and Y. Horiba, “An 80-MHz 8bit CMOS D/A Converter, Converter,” IEEE J. of Solid-State Solid State Circuits, pp. 983-988, 983 988, Dec. 1986.] B. Murmann EE315B - Chapter 4 48 High Performance DAC Examples (1) 100MHz 1GHz [V d [Van den B Bosch, h JSSC 3/2001] B. Murmann EE315B - Chapter 4 49 High Performance DAC Examples (2) [[Schafferer,, ISSCC 2004]] B. Murmann EE315B - Chapter 4 50 High Performance DAC Examples (3) [Schafferer, ISSCC 2004] B. Murmann EE315B - Chapter 4 51 High Performance DAC Examples (4) [Lin, ISSCC 2009] B. Murmann EE315B - Chapter 4 52 Sample & Hold Circuits Katelijn Vleugels Stanford University Copyright © 2011 by Boris Murmann & Katelijn Vleugels B. Murmann EE315B - Chapter 5 1 Recap • How to build circuits that "sample"? • Ideal Dirac sampling is impractical – Need a switch that opens, closes and acquires signal within an infinitely small time • Practical solution – "Track and hold" B. Murmann EE315B - Chapter 5 2 Outline • Elementaryy track-and-hold circuit and its nonidealities • First order improvements to elementary track-and-hold • Advanced techniques – Clock bootstrapping – Bottom plate sampling • Settling S ttli and d noise i analysis l i iin charge-redistribution h di t ib ti track-and-hold circuit • Noise simulation example B. Murmann EE315B - Chapter 5 3 Ideal Track-and-Hold Circuit B. Murmann EE315B - Chapter 5 4 Signal Nomenclature time Continuous Time Signal T/H Signal ("Sampled Data Signal") Clock Discrete Time Signal B. Murmann EE315B - Chapter 5 5 Circuit with MOS Switch “Pedestal Error” B. Murmann EE315B - Chapter 5 6 Nonidealities • Non-zero acquisition q time / finite bandwidth • Thermal noise • Aperture uncertainty / clock jitter • Signal dependent sampling instant • Tracking nonlinearity • Hold mode feedthrough • Hold mode leakage • Charge injection and clock feedthrough EE315B - Chapter 5 B. Murmann 7 Non-zero Acquisition Time • Consider various input p signal g scenarios 1. Input is a sampled data signal, i.e. the output of another switched capacitor stage 2. Input is a slowly varying continuous time signal, s g a,e e.g. g the e input pu o of a an o oversampling e sa p g ADC 3. Input is a rapidly varying continuous time signal e signal, e.g. g the input of a Nyquist or sub subsampling ADC B. Murmann EE315B - Chapter 5 8 Non-zero Acquisition Time – Case 1 • For simplicity, neglect finite rise time of the input signal • Consider worst case – the output is required to settle from 0 to the full-scale voltage of the system (VFS) First order MOS switch model RC Vout (t) VFS 1 e t / EE315B - Chapter 5 B. Murmann 9 Non-zero Acquisition Time – Case 1 Ts Ts 2 Vout,err V e , FS 2 • / VFS eN Typically think about settling error in terms of the number of settling time constants (N) required for ½ LSB settling in a B B-bit bit system VFS e N B. Murmann N 1 VFS 2 2B Ts / 2 ln 2 2B EE315B - Chapter 5 B N 6 >4.9 10 >7.6 14 >10.4 18 >13.2 10 Non-zero Acquisition Time – Case 2 & 3 • Consider a sinusoidal input around “0”, and “0” also as the initial condition for Vout (for notational simplicity) Vin (t) A cos(t ) Vout ((t)) A cos( ) e t 2 2 1 initial transient A cos(t ) 1 2 2 steady-state response atan(() B. Murmann EE315B - Chapter 5 11 Non-zero Acquisition Time – Case 2 & 3 • At t=Ts/2,, the error in the held signal g consists of two p parts • Residual error due to initial exponentially decaying initial transient term – In I order d tto minimize i i i thi this error, we need d tto chose h N appropriately, as calculated for the step input scenario • Error due to magnitude attenuation and phase shift in the steady state term – This error depends only on the RC time constant and the input frequency; it cannot be reduced by extending the length of the track phase – How significant is the error due to the steady-state term? B. Murmann EE315B - Chapter 5 12 Non-zero Acquisition Time – Case 2 & 3 • As an example, let’s compute the percent amplitude error for the N values derived previously (½ LSB, B-bit settling to a step) A 1 A err 2 A 1 A 1 1 2 1 1 T /2 1 2fin s N 2 1 1 f 1 in N fs B N Aerr (fin = fs/20) Aerr (fin = fs/2) 6 4.9 0.052% 4.9% 10 76 7.6 0 021% 0.021% 2 1% 2.1% 14 10.4 0.011% 1.1% 18 13.2 0.007% 0.7% EE315B - Chapter 5 B. Murmann 2 13 Summary – Non-zero Acquisition Time • Precise settling to an input step is accomplished within 5…13 RC time constants (depending on precision) • Precise tracking of a high-frequency continuous time input signal tends to impose more stringent requirements – Number N b tto remember: b ~1% 1% attenuation tt ti error att N Nyquist i t (fin=fs/2) for N ~10 • In applications where attenuation is tolerable, the RC time constant requirements then tend to follow from the distortion specs – The larger the attenuation, the larger the instantaneous voltage drop across the (weakly nonlinear) MOSFET undesired harmonics • More later B. Murmann EE315B - Chapter 5 14 Thermal Noise • Sample values Vout(n) correspond to instantaneous values of the track mode noise process var Vout (n) 2 v out,tot 2 1 kT 4kTR df 1 j2f RC C 0 EE315B - Chapter 5 B. Murmann 15 Implications of kT/C Noise • Example: suppose we make the kT/C noise equal to the quantization noise of a B-bit ADC kT 2 , C 12 VFS 2B 2B C 12kT V FS 2 • For a given B, both C and R (via N on slide 10) are fully determined • Example numbers for VFS=1V and fs=100MHz: B 8 10 12 14 16 18 B. Murmann C [pF] 0.003 0.052 0.834 13.3 213 3,416 , EE315B - Chapter 5 R [] 246,057 12,582 665 36 1.99 0.11 16 Commercial Example EE315B - Chapter 5 B. Murmann 17 Aperture Uncertainty • In any sampling circuit, electronic noise causes random timing variations in the actual sampling clock edge – Adds "noise" to samples, especially if dVin/dt is large in • in Vin dVin t dt Analysis – Consider sine wave input signal – Assume t is random with zero mean and standard deviation t B. Murmann EE315B - Chapter 5 18 Analysis dV 2 dV 2 E Vin2 E in t 2 E in E t 2 dt dt 2 d 1 2 E A cos 2 fin t 2t 2 A fin 2t dt 2 1 2 A 1 2 SNRaperture [dB] 10 log l 20 log l 1 2 fin t 2 A fin t 2 2 • For an input signal whose power is evenly distributed between 0…fs/2, the above result improves by 4.8 dB – See e.g. g [[Da Dalt,, TCAS1,, 9/2002]] EE315B - Chapter 5 B. Murmann 19 Result 1.E+11 1.E+10 fin [Hz] 1.E+09 t = 0.1ps 1.E+08 t = 1ps 1.E+07 t = 10ps 1.E+06 1.E+05 10 20 30 40 50 60 70 80 90 100 110 120 SNRaperture [dB] B. Murmann EE315B - Chapter 5 20 ADC Performance Survey (ISSCC & VLSI 97-10) Data: http://www.stanford.edu/~murmann/adcsurvey.html BW [Hz] B 1.E+11 ISSCC SSCC 2010 0 0 1.E+10 VLSI 2010 1.E+09 VLSI 1997-2009 1.E+08 Jitter=0.1psrms ISSCC 1997-2009 Jitter=1psrms 1.E+07 1.E+06 1.E+05 1 E 04 1.E+04 1.E+03 10 20 30 40 50 60 70 80 90 100 110 120 SNDR [dB] EE315B - Chapter 5 B. Murmann 21 Voltage Dependence of Switch ID(triode) Cox RON dI D(triode) dVDS RON • V W VGS Vt DS VDS L 2 Cox VDS 0 1 1 Cox W V Vt L GS 1 W Vin Vt L Two problems – Transistor turn off is signal dependent, occurs when =Vin+Vt – RON is modulated by Vin (assuming e.g. =VDD=const.) B. Murmann EE315B - Chapter 5 22 Signal Dependent Sampling Instant (1) () [Razavi, Data Conversion System Design, p.17] Tf • Must make fall time of sampling clock (Tf) much faster than maximum dVin/dt EE315B - Chapter 5 B. Murmann 23 Signal Dependent Sampling Instant (2) • Distortion analysis result (see Yu, TCAS II, 2/1999] HD3 Amplitude of third harmonic Amplitude of fundamental 3 A Tf 8 VCK • 2 Example: VCK = 1.8V, A = 0.5V, Tf = 100ps, = 2100MHz 2 HD3 B. Murmann 3 0.5 2100 106 100 1012 79dB 8 1.8 EE315B - Chapter 5 24 Track Mode Nonlinearity [Razavi Data Conversion System Design [Razavi, Design, p p.16] 16] • Output tracks well when input voltage is low – Gets distorted when voltage is high due to increase in RON EE315B - Chapter 5 B. Murmann 25 Analysis ID K VGS Vt VDS C K 2 VDS 2 dVout K 2 K Vout Vt Vin Vout Vin Vout dt 2 • "All" we need to do is solve the above differential equation… • Can use Volterra Series analysis – General method that allows us to calculate the frequency domain response of nonlinear circuits with memory – See e.g. Stanford EE214 • Luckily someone has already done this for us – See [Yu, TCAS II, 2/1999] B. Murmann EE315B - Chapter 5 26 Result HD3 Amplitude of third harmonic Amplitude of fundamental 2 2 fin 1 A 1 A 4 VGS Vt 4 VGS Vt fs N • VGS is the "quiescent point" value of the gate-source voltage; i.e. in the zero crossing of the sine input • For low distortion – Make amplitude smaller than VGS-Vt • Low swing g bad for SNR – Make 1/ much larger than (input frequency) • Big switch may cost lots of power to drive, comes with large parasitic capacitances p p EE315B - Chapter 5 B. Murmann 27 Numerical Example • Parameters – VDD = VCK = 1.8V 1 8V – Signal is centered about VDD/2 = 0.9V – VGS-Vt = 1.8V-0.9V-0.45V = 0.45V – A = 0.2V – N = 0.5Ts/ = 10 – fin i = fs/2 2 HD3 • 1 0.2 1 42dB 4 0.45 2 10 Not all that great… B. Murmann EE315B - Chapter 5 28 Hold Mode Feedthrough [Razavi, Data Conversion System Design, p.17] CDS • Want to make Rout as small as possible • Consider using a “T-switch” when holdmode feedthrough is a problem B. Murmann EE315B - Chapter 5 29 Hold Mode Leakage Example: B. Murmann EE315B - Chapter 5 30 Gate Leakage Data A. Annema, et al., “Analog circuits in ultra-deep-submicron CMOS,” IEEE J. Solid-State Circuits, pp. 132-143, Jan. 2005. • • In 65nm CMOS, gate capacitance droop rate is ~1V/s (!) Issue is solved with high-k high k dielectrics in post-65nm post 65nm technologies B. Murmann EE315B - Chapter 5 31 Charge Injection and Clock Feedthrough “Pedestal Error” • Analyze two extreme cases – Very large Tf (“slow gating”) – Very small Tf (“fast gating”) B. Murmann EE315B - Chapter 5 32 Slow Gating H VIN + V T V IN t L HOLD O VO VIN ýV V t toff • All channel charge has disappeared by toff without introducing error; it is absorbed by the input source EE315B - Chapter 5 B. Murmann 33 Slow Gating Model for t > toff Vout Vin Vout Vout Vin Col Vin Vt L Vin 1 Vos Col C Col Col C Vos Gain Error • Col Vt L Col C Offset Error Example: C=1pF, L=0V, Vt=0.45V, W=20m, Col’=0.1fF/m, Col=2fF 0.2% B. Murmann Vos 0.9mV EE315B - Chapter 5 34 Fast Gating • Channel charge cannot change instantaneously • Resulting surface potential decays via charge flow to source and drain • Charge divides between source and drain depending on impedances loading these nodes H VIN + VT Surface Potential t Qch S L t < to VO V IN S ýV V t > to t 1 1 Q 1-Q 2 chch Qch Q 2 ch EE315B - Chapter 5 B. Murmann 35 Fast Gating Model for t > toff Vout Vin Vout Vin 1 Vos Vout Vin Col 1Q H L ch Col C 2 C Assuming 50/50 charge split Qch WLCox H Vin Vt • 1 WLCox 2 C Vos Col 1 WLCox H L H Vt Col C 2 C Example: C=1pF, C 1pF, H- L=1.8V, 1.8V, Vt=0.45V, 0.45V, W W=20m, 20m, LCox=2fF/m 2fF/m Col’=0.1fF/m, Col=2fF 2% B. Murmann Vos 30.6mV EE315B - Chapter 5 36 Transition Fast/Slow Gating Fast gating Slow gating Fast gating | | Slow gating |Vos| TtFf TtfF • || and |Vos| decrease as the fall time of Tf) increases and approach pp the limit case of slow g gating g • Unfortunately, high-speed switched capacitor circuits tend to operate in fast gating regime EE315B - Chapter 5 B. Murmann 37 Speed/Accuracy Trade Off V 1 Qch 2 C 1 R Cox • T 1 BW s1/ =N1/(RC) RC 2fs 2 W V Vt L GS L2 Qch V L2 N fs BW Charge g injection j error to speed p ratio benefits from shorter channels and increases in mobility (e.g. due to strain) B. Murmann EE315B - Chapter 5 38 Outline • Elementaryy track-and-hold circuit and its nonidealities • First order improvements to elementary track-and-hold • Advanced techniques – Clock bootstrapping – Bottom plate sampling • Settling S ttli and d noise i analysis l i iin charge-redistribution h di t ib ti track-and-hold circuit • Noise simulation example B. Murmann EE315B - Chapter 5 39 Improvements • Charge g cancellation – Try to cancel channel charge by injecting a charge packet with opposite sign • Differential Diff ti l sampling li – Use a differential circuit to suppress offset • CMOS switch – Try to balance the nonidealities of NMOS device with a parallel PMOS B. Murmann EE315B - Chapter 5 40 Charge Cancellation Q1 0.5Q 0 5Qch1 h1 Qol1 l1 Q2 Qch2 2Qol2 0.5Qch1 Qol1 Q1 Q2 0 [Eichenberger and Guggenbűhl, JSSC 8/89] • Cancellation is never perfect, since channel charge of M1 will not exactly split 50/50 – E.g. E g if Rs is very small small, most of M1’s M1 s channel charge will flow toward the input voltage source • Not a precision technique, just an attempt to do a partial clean-up EE315B - Chapter 5 B. Murmann 41 Differential Sampling (1) VO1 + VI1 C CH VIC – VO2 + VI2 VID VI1 VI2 VI1 VI2 2 VOD VO1 VO2 VOC VO1 VO2 2 VO1 1 1 VI1 VOS1 VO2 1 2 VI2 VOS2 C CH – VOD 1 1 2 VID 1 2 VIC VOS1 VOS2 1 1 2 VID 2 2 VOS2 1 2 VOS2 V V 1 VOC 1 2 VID 1 1 2 VIC OS1 VIC OS1 2 2 2 2 4 B. Murmann EE315B - Chapter 5 42 Differential Sampling (2) • Assuming good matching between the two half circuits, we have – Small S ll residual id l offset ff t iin VOD – Good rejection of coupling noise, supply noise, … – Small common-mode to differential-mode gain • Unfortunately, VOD has essentially same gain error as the basic single ended half circuit • This also Thi l means that th t there th will ill be b nonlinear li terms t – Out simplistic analysis assumed that the channel charge is linearly related to Vin – This is true only to first order (consider e.g. backgate effect) • Expect to see nonlinear distortion along with gain error EE315B - Chapter 5 B. Murmann 43 CMOS Switch VO + VIN – • Qchp WpLpCox VIN L Vtp CH Assuming fast gating, 50/50 charge split and WnLn = WpLp 1 1 Qchn Qchp C 2 Vo 2 ox C C • Qchn WnLnCox H VIN Vtn V Vtp VIN H L tn 2 2 Charges fully cancel e.g. for VIN = (H-L)/2 = VDD/2, and Vtn=|Vtp|, but there is still signal dependent residual injection B. Murmann EE315B - Chapter 5 44 On Resistance of CMOS Switch • At least in principle, adding a PMOS can also help with the problem of signal dependent Ron in track mode – For increasing VIN, NMOS resistance goes up, PMOS resistance goes down VO + VIN – R CCH 1 1 W W nCox VGSn Vtn pCox VGSp Vtp L n L p EE315B - Chapter 5 B. Murmann 45 Analysis R R R 1 1 W W nCox VGSn Vtn pCox VGSp Vtp L n L p 1 W W W W nCox VDD Vtn nCox pCox vin pCox Vtp L L L n L p n p 1 W nCox VDD Vtn Vtp L n if W W n p L n L p • Independent of Vin too good to be true! • Missing factors – Body effect – Short channel effects B. Murmann EE315B - Chapter 5 46 Real CMOS Switch 100 VDD = 1.8V R [] 10 m/0.18 m MN VDD Vin MP 30 m/0.18 m NMOS PMOS NMOS || PMOS 80 60 40 20 0 0 05 0.5 V 1 [V] 15 1.5 • Design – Size P/N ratio to minimize change in R over input range – Size Si P and d N simultaneously i lt l to t meett distortion di t ti specs • PMOS brings limited benefit unless the input signal range is large g or centered near VDD B. Murmann in EE315B - Chapter 5 47 Outline • Elementaryy track-and-hold circuit and its nonidealities • First order improvements to elementary track-and-hold • Advanced techniques – Clock bootstrapping – Bottom plate sampling • Settling S ttli and d noise i analysis l i iin charge-redistribution h di t ib ti track-and-hold circuit • Noise simulation example B. Murmann EE315B - Chapter 5 48 Clock Bootstrapping + VDD - + VDD - Cboot Cboot VGS=VDD=const. Vin A. Abo, "Design for Reliability of Low-voltage, Switched-capacitor Circuits," PhD Thesis, UC Berkeley, 1999. • Phase 1 – Cboot is precharged to VDD – Sampling switch is off • Phase 2 – Sampling switch is on with VGS=VDD=const. – To first order, both Ron and channel charge are signal independent B. Murmann EE315B - Chapter 5 49 Waveforms A. Abo, "Design for Reliability of Low-voltage, Switched-capacitor Circuits," PhD Thesis, UC Berkeley, 1999. B. Murmann EE315B - Chapter 5 50 Circuit Implementation Switch A. Abo et al., “A 1.5-V, 10-bit, 14.3-MS/s CMOS Pipeline Analog-toDigital Converter,” IEEE J. Solid-State Circuits, pp. 599, May 1999 B. Murmann EE315B - Chapter 5 51 Limitations • Efficacy of bootstrap circuit is reduced d db by – Body effect – Parasitic capacitance between at top plate of C3 R B. Murmann Cpar 1 Cpar Cboot W nCox VDD Vin Vtn Vin Cboot Cpar L n Cboot Cpar Backgate effect EE315B - Chapter 5 52 Performance of Bootstrapped Samplers • Bootstrapped “top plate” sampling (as opposed to “bottom plate” – more later)) tends to work veryy well up p to ~10bit resolution • Example [Louwsma, JSSC 4/2008] B. Murmann EE315B - Chapter 5 53 High-Speed Example without Bootstrap [[Choi and Abidi, JSSC 12/2001]] • For lower resolution applications, it can be OK to drop the bootstrap p circuit B. Murmann EE315B - Chapter 5 54 Bottom Plate Sampling • Used to eliminate input-dependent charge injection error. • Basic idea – Sample signal at the "grounded" side of the capacitor to achieve signal independent sampling • References – D. J. Allstot and W. C. Black, Jr., “Technological Design Considerations for Monolithic MOS Switched-Capacitor Filtering Systems,” Proc. IEEE, pp. 967-986, Aug. 1983. – K.-L. Lee and R. G. Meyer, “Low-Distortion SwitchedCapacitor Filter Design Techniques,” IEEE J. Solid-State Circuits, pp. 1103-1113, Dec. 1985. • First look at single ended half circuit for simplicity EE315B - Chapter 5 B. Murmann 55 Bottom Plate Sampling Analysis (1) • Turn M2 off "slightly" before M1 – Typically a few hundred ps delay between falling edges of e and • During turn off off, M2 injects charge Q2 Q2 1 WLCox H Vtn 2 • To first order, the charge injected by M2 is signal independent • Voltage across C VC Vin B. Murmann EE315B - Chapter 5 Q2 C 56 Bottom Plate Sampling Analysis (2) Q1 • Next, turn off M1 • M1 will inject signal dependent charge onto the series combination of C and the parasitic capacitance at its bottom plate (Cpar) • Looks like like, this is not much different from the conventional top-plate sampling? – But wait… wait 1 WLCox H Vin Vtn 2 EE315B - Chapter 5 B. Murmann 57 Bottom Plate Sampling Analysis (3) Q X CVin Q2 Charge injected by M2 (Signal independent) B. Murmann • Interesting observation – Even though g M1 injects j some charge, the total charge at node X cannot change! • Idea – Process total charge at node X instead of looking at voltage across C • The charge can be processed i ttwo ways in – Open-loop – Closed-loop (charge redistribution) EE315B - Chapter 5 58 Open-Loop Charge Processing Q X CVin Q2 1 Vin 2 VX M1 C (no term due to signal dependent charge!) Vx 1e Cpar 1 M2 QX Q2 C Vin C Cp C Cp C Cp 1e 2 • Remaining drawback – Cpar (and buffer input capacitance) is usually weakly nonlinear and will introduce some harmonic distortion B. Murmann EE315B - Chapter 5 59 Closed-Loop Charge Processing • Amplifier forces voltage at node X to “zero” – Means that charge at node X must redistribute onto feedback capacitor Cf B. Murmann EE315B - Chapter 5 60 Charge Conservation Analysis Charge at node X during 1: Q X1 CVin Q2 0 Cf Charge at node X during 2: Q X2 Cf Vout Q X1 Q x2 Charge Conservation: CVin Q2 Cf Vout Vout • Q2 C Vin Cf Cf Offset term due to signal independent injection from M2 can be easily removed using a differential architecture B. Murmann EE315B - Chapter 5 61 Clock Generation [A. Abo, "Design for Reliability of Low-voltage, Switched-capacitor Circuits," PhD Thesis, UC Berkeley, 1999] B. Murmann EE315B - Chapter 5 62 Fully Differential Circuit EE315B - Chapter 5 B. Murmann 63 Analysis (1) B. Murmann Q1m CVinp Q Q2m CVxm Cf Vop Vxm Q1p CVinm Q Q2p CVxp Cf Vom Vxp 1) Q1m Q2m 2) Q1pp Q2pp Vxm Vxp EE315B - Chapter 5 Vop Vom 2 Voc 64 Analysis (2) • Subtracting 1) and 2) yields Vop Vom • C Vinp Vinm Cf Adding 1) and 2) yields C Vinp Vinm 2Q C Cf Vxp Vxm Cf Vop Vop Vxc • Cf Q C V oc V ic C Cf C Cf C Cf Variations in Vic show up as common mode variations at the amplifier input – Need amplifier with good CMRR B. Murmann EE315B - Chapter 5 65 T/H with Common Mode Cancellation S.H. Lewis & P.R. Gray, "A Pipelined 5 MSample/s 9-bit Analog-to-Digital Converter", IEEE J. Solid-State Circuits, pp. 954-961, Dec. 1987 • Shorting switch allows to re-distribute only differential charge on sampling li capacitors it • Common mode at OPAMP input becomes independent of common mode at circuit input terminals (IN+/IN-) • Original idea: Yen & Gray, JSSC 12/1982 B. Murmann EE315B - Chapter 5 66 Analysis (1) During 1 During 2 Cf Cf Voc C C Vip Vfloat Voc Vop C Cf • Vom Vxm Vim i C Vxp Cf Charge conservation at Vip,Vim and Vfloat Vip Vim C Vfloat Vxp C Vfloat Vxm C Vic Vfloat Vxc Vfloat Vic Vxc EE315B - Chapter 5 B. Murmann 67 Analysis (2) • Common mode charge conservation at amplifier inputs Vic C Voc Cf Vfloat Vxc C Voc Vxc Cf Vic C Vic Vxc Vxc C Vxc Cf 0 Vxc • Amplifier input common mode (Vxc) is independent of – Input I t common mode d (Vic) – Output common mode (Voc) B. Murmann EE315B - Chapter 5 68 Flip-Around T/H [W. Yang et al., "A 3-V 340-mW 14-b 75-MSample/s CMOS ADC With 85-dB SFDR at Nyquist Input", IEEE J. Solid-State Circuits, pp. 1931-1936, Dec. 2001] • Sampling caps are "flipped around" OTA and used as feedback capacitors during 2 • Main advantage: improved feedback factor (lower noise, higher speed) • Main disadvantage: OTA is subjected to input common mode variations EE315B - Chapter 5 B. Murmann 69 Sampling Network Design Considerations 1- 1+ 1+ 1 1- M1- M1 M1- • M1- switches only needed to set common mode; M1 is actual sampling switch – Make M1 larger than M1- • Ideally y turn off M1- before M1 – In practice, usually OK to turn off simultaneously • In track mode mode, the total path resistance is R(M3) plus bottom plate switch resistance – Since R(M3) is signal dependent, make its resistance small compared to that of bottom plate network [Lin, Kim and Gray, JSSC 4/1991] 1 1 1+ 2 B. Murmann EE315B - Chapter 5 70 Schematic Entry and Layout of M1 • Use antiparallel devices to implement M1 – Needed in simulation to guarantee circuit symmetry • E E.g. g BSIM model is not necessarily necessaril perfectl perfectly ssymmetric mmetric with ith respect to drain/source! – Needed in layout to ensure symmetry in presence of drain/source asymmetry due to processing artifacts B. Murmann EE315B - Chapter 5 71 What Ultimately Limits Linearity? • Track mode nonlinearity due to R=f(Vin) – Mitigate using clock bootstrapping and proper partitioning of total path resistance – Eventually, bootstrapping falls apart high frequencies, due to parasitics capacitances inside the bootstrap circuit • Mismatch in half-circuit charge injection due to R=f(Vin) – Bottom plate switches in the two half circuits see input dependent impedance; this creates input dependent charge injection mismatch – Bootstrapping helps; ultimately limited by backgate effect – This effect is often fairly independent of frequency (somewhat dependent on realization of top plate switch) • In high performance designs, can achieve ~80-100dB linearity up to a few hundreds of MHz B. Murmann EE315B - Chapter 5 72 Capacitors Metal-Insulator-Metal (MIM) Vertical Parallel Plate (VPP) [Ng, Trans. Electron Dev., 7/2005] [Aparicio, JSSC 3/2002] • Typically 1-2 fF/m2 (10-20 fF/m2 for advanced structures) – For 1 fF/m2, a 10 pF capacitor occupies ~100m x 100m • Both MIM and VPP capacitors have good electrical properties – Mostly worry about parasitic caps – Series and parallel resistances are often not a concern B. Murmann EE315B - Chapter 5 73 Plate Parasitics Symbol • Node n1 is usually the "physical" physical top plate of the capacitor – Makes nomenclature very confusing, since this plate is typically used as the "electrical" bottom plate in a sampling circuit (in the context of "bottom bottom plate sampling") sampling ) • Typical values for a MIM capacitor – =1%, =10% B. Murmann EE315B - Chapter 5 74 Proper Connection of Capacitors • “Fat plate” is oriented away from virtual ground nodes to avoid reduction of feedback factor and reduce potential noise coupling B. Murmann EE315B - Chapter 5 75 Outline • Elementaryy track-and-hold circuit and its nonidealities • First order improvements to elementary track-and-hold • Advanced techniques – Clock bootstrapping – Bottom plate sampling • Settling S ttli and d noise i analysis l i iin charge-redistribution h di t ib ti track-and-hold circuit • Noise simulation example B. Murmann EE315B - Chapter 5 76 Settling and Noise Analysis Cf 2 1 Gm Cs CL B. Murmann EE315B - Chapter 5 77 First Order Amplifier Model Pi Piecewise i linear li half-circuit h lf i it vx = vxd/2 Cx vo = -vod/2 in2 gm v x for io ID sign v x B. Murmann EE315B - Chapter 5 io ro gm v x ID else 78 Linear Settling (Small Input Step) 0 Vofinal t=0 -Vistep v o (t) Vofinal 1 e t / (ignoring feedforward zero) • Important parameter: Return factor or "feedback feedback factor factor" Cf C f Cs C x EE315B - Chapter 5 B. Murmann 79 Waveform Detail Static Error 0 Dynamic Error d(t) 1 V Vout /Vo o/V o,ideal out,ideal o 0.8 0.6 0.4 0.2 0 0 2 4 6 8 10 t/ B. Murmann EE315B - Chapter 5 80 Static Settling Error • Ideal output voltage for t Vofinal,ideal ofinal ideal Vistep • Actual output voltage (from detailed analysis) Vofinal Vistep • Cs T0 Cf 1 T0 T0 gmro avo Define static settling error 0 • Cs Cf Vofinal Vofinal,ideal Vofinal,ideal fi l id l T 1 1 1 1 T 1 1 T T Example: T0=1000 0.1% static settling error EE315B - Chapter 5 B. Murmann 81 Dynamic Settling Error t / Vofinal v o ((t)) Vofinal Vofinal 1 e dynamic (t) e t / Vofinal Vofinal N B. Murmann ts ln d dynamic N 1% 4.6 0 1% 0.1% 69 6.9 0.01% 9.2 EE315B - Chapter 5 82 Time Constant Cf C f Cs C x R 1 gm CLtot CL 1 Cf 1 CLtot gm EE315B - Chapter 5 B. Murmann 83 Transconductor Current 0 Vofinal t=0 -V Vistep v o (t) Vofinal 1 e t / • During linear settling, settling the current delivered by the transconductor is io CLtot • dv o (t) V CLtot ofinal e t / dt Peak current occurs at t=0 io max CLtot B. Murmann Vofinal EE315B - Chapter 5 84 Slewing • The amplifier can deliver a maximum current of ID – If |io|max > ID, slewing occurs io max CLtot CLtot Leff Vofinal ID Vofinal I 1 CLtot D gm gm 1 ID Vofinal • Example: =0.5, Vofinal=0.5V gm/ID > 4 S/A will result in slewing • Very hard to avoid slewing, unless − We are willing to bias at very low gm/ID (power inefficient) − Feedback factor is small (large closed-loop gain, CS/Cf) − Output voltage swing is small EE315B - Chapter 5 B. Murmann 85 Output Waveform with Initial Slewing v o (t) Voslew Volin 1 e (t tslew )/ v o (t) • ID t SR t CLtot C ti Continuous d derivative i ti iin th the ttransition iti slewinglinear l i li requires i Volin ID CLtot B. Murmann Volin EE315B - Chapter 5 ID CLtot Lt t 86 Dynamic Error with Slewing t slew Vofinal Volin Voslew Vofinal Volin • CLtot ID Using the above result, we can now calculate the dynamic error during the final linear settling portion t t slew / v o (t) Voslew Volin 1 e For t t slew : t t slew / Vofinal v o (t) Vfinal Voslew Volin 1 e d (t) Vfinal Vofinal d (t) Volin t tslew / e Vofinal EE315B - Chapter 5 B. Murmann 87 Noise Analysis Cf 2 1 Cs Gm CL Noise due to switches B. Murmann Noise due to amplifier p and switches EE315B - Chapter 5 88 Tracking Phase (1) • Variable of interest is total integrated "noise charge" at node X, qx2 • Cumbersome to compute using standard analysis – Find d ttransfer a s e function u ct o from o eac each noise o se source (3 resistors) to qx – Integrate magnitude squared expressions from zero to infinity and add • Much easier – Use equipartition theorem: each “degree of freedom” ((e.g. g energy gy stored on capacitor) of a system in thermal equilibrium holds an average energy of kT/2 B. Murmann EE315B - Chapter 5 89 Tracking Phase Noise Charge • Energy stored at node X is 1 q2x 1 q2x 2 Ceff 2 Cs Cf • Apply equipartition theorem 1 q2x 1 kT 2 Cs Cf 2 q2x kT Cs Cf • B. Murmann Note that any additional parasitic capacitance at node X will increase the sampled noise charge! EE315B - Chapter 5 90 Redistribution Phase Noise 4kTRon f >1 excess noise factor 1 R Gm 4kTRon1f • 4kT f Gm In a proper design, Ron1 and Ron2 will be much smaller than 1/Gm, else the switches would significantly affect the dynamics dynamics, which would be very wasteful – It is much easier to design switches with low on-resistance than an amplifier with very large Gm EE315B - Chapter 5 B. Murmann 91 Output Referred Noise Comparison 2 • Ron1 noise referred to vo C 2 N1 4kTRon1f s H( j) Cf • Ron2 noise referred to vo N2 4kTRon2 f H( j) Amplifier noise referred to vo C 4kT 2 Na f 1 s H( j) Gm Cf 2 2 • 2 Cs 1 Cf Na 1 N1 GmRon1 C 2 s C f • 2 Na Cs 1 1 N2 GmRon2 Cf Amplifier noise dominates over noise due to Ron1, Ron2 B. Murmann EE315B - Chapter 5 92 Total Integrated Amplifier Noise R 1 Gm 4kTGm f v o2 1 1 4kT R f R jCLtot Lt t v o2 2 1 R 4kT f R 1 jRCLtot 0 2 df 1 kT CLtot EE315B - Chapter 5 B. Murmann 93 Adding up the Noise Contributions Cf 2 1 q2x kT Cs Cf Cs Gm CL 2 v o,1 Cs C f kT 2 C2f Cf q2x kT Cs 1 C Cf f 2 v o,tot B. Murmann 2 v o,2 1 kT CLtot kT Cs 1 kT 1 Cf Cf CLtot EE315B - Chapter 5 94 Noise in Differential Circuits • In differential circuits, the noise power is doubled (because there are two half circuits contributing to the noise) • But, the signal power increases by 4x – Looks like a 3dB win? DRsingle Vˆ 2 o kT C DRdiff 2Vˆ o 2 kT C 2 2 Vˆ o2 kT C • Yes, there’s a 3dB win in DR, but it comes at twice the power dissipation (due to two half circuits) • Can get the same DR/power in a single ended circuit by doubling all cap sizes and gm B. Murmann EE315B - Chapter 5 95 Summary – Sampling Circuits • Three p predominant implementation p styles y – Purely passive – Source follower T/H, up to ~9-10bit accuracy – Charge redistribution or flip flip-around around architecture • In a typical, properly designed circuit only the most fundamental issues are significant – Jitter, kT/C noise • Charge injection is not a problem if properly handled – E.g. E g through bottom plate sampling B. Murmann 96 Outline • Elementaryy track-and-hold circuit and its nonidealities • First order improvements to elementary track-and-hold • Advanced techniques – Clock bootstrapping – Bottom plate sampling • Settling S ttli and d noise i analysis l i iin charge-redistribution h di t ib ti track-and-hold circuit • Noise simulation example EE315B - Chapter 5 B. Murmann 97 Noise Simulation Example • Three ways to simulate noise in switched capacitor circuits • Basic .ac/.noise ac/ noise Spice simulations – Must simulate noise in each clock phase separately • Activate 1 switches, run .noise and integrate noise charge at relevant node over all frequencies and refer to output • Activate 2 switches, run .noise and integrate noise at output • Periodic Steady State Simulation – E.g. SpectreRF or BDA, "periodic noise analysis“ (PNOISE) – Allows to simulate noise while switched capacitor circuit is clocked between 1 and 2 • Noise from all phases is automatically added, all correlation taken care of • Transient Noise B. Murmann EE315B - Chapter 5 98 vocss voc vdd I16 C4 500f I14 p2 2! p1e! Example Track and Hold Schematic p2b! vdd voc vocs p1e! I17 p2! I15 vic voc V5 vdc:0 V4 vdc:0 fs = 100MHz vdd vdd C2 500f C C8 ccs I22 C7 cs Parameters: Ron = 10Ω (all ( ll switches) it h ) Cs = Cf = 100fF CL = 500fF EE315B - Chapter 5 B. Murmann 99 OTA Simulation Model Cxp,m gm 2fT in2 kTg kT m f ro avo gm ID gm gm / ID Parameters: gm=1mS, avo=1000, =2, gm/ID=10S/A , fT=20GHz B. Murmann EE315B - Chapter 5 100 Hold Mode Noise Simulation (.noise) Calculated value: 248uVrms EE315B - Chapter 5 B. Murmann 101 Track Mode Noise Simulation (.noise) *** Compute noise charge and refer charge referred to output via Cf en vno 0 vcvs vol=( cs*v(x,s) + cf*v(x,f) )/cf‘ .ac dec 100 100 100Gig .noise v(vno) vdummy (shown single ended for simplicity) Calculated value: 413uVrms B. Murmann EE315B - Chapter 5 102 PSS Setup Use “tstab” if your circuit needs time to get into steady state (e.g. clock bootstrap circuits) Important: set “maxacfreq” to the highest frequency at which you expect noise to be significant (10GHz in this example; see plot on previous slide!) B. Murmann EE315B - Chapter 5 103 PSS Waveforms (Clocks) 3.8ns B. Murmann EE315B - Chapter 5 104 PNOISE Setup “Number of sidebands” – typically ~20…200 to handle noise folding properly. Fast switches more sidebands needed. Again, Be sure to set “maxacfrequency” in the PSS analysis options to a correspondingly large value. Note: This is not a problem in advanced simulators such as BDA, which cover an “infinite” number of sidebands “timedomain” means simulator computes spectrum of discrete time noise samples Sampling instant (3.8ns in this example B. Murmann EE315B - Chapter 5 105 How Many Sidebands are Needed? (1) Hold mode noise integral (.noise) Noise up to 10GHz must be considered ! numsidebands =100 100 macacfreq = 10GHz, B. Murmann EE315B - Chapter 5 106 How Many Sidebands are Needed? (2) Track mode noise integral, (.noise, Ron = 10 Ohms) Noise up to 1 THz must be considered ! numsidebands =10,000? No! Increase Ron to make maintain reasonable simulation time. Keep RonC ~ 10x faster than amplifier. EE315B - Chapter 5 B. Murmann 107 PNOISE Result Sampled Noise B. Murmann Noise PSD EE315B - Chapter 5 108 Comparison Calculated: Simulated: (.noise) S u ated Simulated: (PNOISE) • 2 v o,1 413Vrms 2 2 v o,2 248Vrms 2 v o,1 415Vrms 2 2 v o,2 252Vrms 2 v o,tot 482Vrms 2 2 v o,tot 485Vrms 2 2 v o,tot t t 478Vrms 2 Very good agreement between calculation and both simulation approaches B. Murmann EE315B - Chapter 5 2 109 2 Voltage Comparators Katelijn Vleugels Stanford University Copyright © 2011 by Boris Murmann & Katelijn Vleugels B. Murmann EE315B - Chapter 6 1 Recap • Ultimately, building a quantizer requires circuit elements that "make decisions" • The most widely used "decision decision circuit" circuit is a voltage comparator B. Murmann EE315B - Chapter 6 2 Ideal Voltage Comparator • Function – Compare C th the iinstantaneous t t values l off ttwo analog l voltages lt (e.g. an input signal and a reference voltage) and generate a digital 1 or 0 indicating the polarity of that difference EE315B - Chapter 6 B. Murmann 3 Preview - Flash ADC 2B-1 Dout Vin 2B-1 Decision Levels B. Murmann EE315B - Chapter 6 4 Design Considerations • Accuracy – Gain (resolution) – Offset Off • Speed – Small-signal g bandwidth – Settling time or delay time, slew rate – Overdrive recovery • Power dissipation • Input properties – Sampled data versus continuous time – Common-mode rejection – Input capacitance and linearity of input capacitance – Kickback noise EE315B - Chapter 6 B. Murmann 5 Gain Requirements Av Vin VDD A vo • E.g. 12-bit ADC, VDD=1.8V, FSR=0.9V, LSB=0.9V/4096 • For 1/2 LSB precision, we need Av B. Murmann 1.8V 16,000 84dB 0.5 0.9V / 4096 EE315B - Chapter 6 6 How to Implement High Gain? • Considerations – Amplification need not be linear – Amplification need not be continuous in time, if comparator is used in a sampled data system • Clock signal will tell comparator when to make a decision • Implementation options to be looked at – Single stage amplification • E.g. E g OTA or OpAmp in open loop configuration – Multi-stage amplification • E.g. cascade of resistively loaded differential pairs – Regenerative R ti llatch t h using i positive iti ffeedback db k • E.g. cross coupled inverters EE315B - Chapter 6 B. Murmann 7 How about Using an OpAmp or OTA? fu=10MHz…1GHz fo • fu 1GHz 62.5kHz , A v 16,000 o 1 2.5s 2fo Way too slow! B. Murmann EE315B - Chapter 6 8 Cascade of Open-Loop Amplifiers For each stage: A 0 gmR • g u 1 0 uu m const. Cgs 0 RC A 0 0 1 u RC A 0 Possible choices for a given, constant overall gain objective – Lots of stages with low gain – Onlyy a few stages g with moderate g gain EE315B - Chapter 6 B. Murmann 9 Bandwidth Perspective • If we only care about small signal bandwidth, it follows that we should cascade many low gain stages – Makes intuitive sense, sense because each individual stage will have a very large bandwidth • Detailed analysis shows N 1 N 0N Av 01 1 N 2 Av Total gain requirement 01 Bandwidth of single stage realization 0N Bandwidth of N stage realization 1 1500 0 N 01 1000 (Av=10,000) =10 000) 500 0 B. Murmann 0 5 N 10 EE315B - Chapter 6 15 10 Step Response (1) • When the input is a sampled data signal, it is more important to minimize the delay in response to an input step Vout (s) Vin (s)A(s) Vistep s Av 1 s u A v1/N u N 1 u A v AN 0 i t t 1/N 1/N N1 A Vout (t) Vistep A v 1 e u A v u v i! i0 A(t) () EE315B - Chapter 6 B. Murmann 11 Step Response (2) 10 Step re esponse A(t) 8 d(N=3) ( ) 10(1-e-1) 6 4 N=1 N=3 N=5 2 Av*(1-e-1) 0 0 5 10 15 Time t/u • d = equivalent settling time constant of N stage realization – time required for N stage implementation to reach same output voltage as a single stage realization achieves after 0 • Th Three stage t amplifier lifi wins! i ! (f (for Av=10) 10) B. Murmann EE315B - Chapter 6 12 Delay versus Number of Stages A( d ) A v 1 e1 d (numerically) 50 Av=10 Av=100 Av=1000 Dellay time d/u 40 30 20 10 0 • 2 4 6 8 10 N (Number of stages) 12 14 Shallow minima! EE315B - Chapter 6 B. Murmann 13 Optimum Number of Stages Optimum numbe er of stages 12 10 Numerical N i l resultlt ln(Av) 8 6 4 2 0 0 10 10 1 2 10 10 Av (Total gain) 3 10 4 10 5 Nopt ln(A v ) B. Murmann EE315B - Chapter 6 14 Optimum Gain per Stage A0,opt (Optimum ga ain per stage e) 5 Numerical result e 45 4.5 4 3.5 3 2.5 2 1.5 1 0 10 Nopt ln(A v ) 10 1 2 10 10 Av (Total gain) Nopt e 3 10 A v A 0,opt Nopt 4 10 5 A 0,opt e EE315B - Chapter 6 B. Murmann 15 Cascade of "Integrators" (1) • Intuition – Load resistors (in cascade of open loop amplifiers) shunt current away from load capacitance; this slows down amplification – Drop assumption Av=A0N to see what happens… • Analysis g v o1 m vin u v in sC s B. Murmann EE315B - Chapter 6 v oN N u sN vin 16 Cascade of “Integrators” (2) EE315B - Chapter 6 B. Murmann 17 Cascade of "Integrators" (3) Vistep N u N s s Vout ((t)) Vistep N u 10 10 8 8 Step response A(t) Step response A(t) Vout ((s)) 6 4 N=1 (with R) N 1 (i N=1 (integ) t ) 2 0 0 5 10 6 4 15 0 0 Time t/ Av*(1-e-1) 5 10 15 Time t/ u B. Murmann N=3 (with R) N 3 (i N=3 (integ) t ) 2 Av*(1-e-1) tN N! u EE315B - Chapter 6 18 Cascade of "Integrators" (4) • Cascade of integrators achieves faster amplification than cascade of resistively loaded stages • Delay time d u (N! A( d )) 1/N • A( d ) Optimum number of stages approximately given by Nopt 1.1ln A( d ) 0.79 • Vout ( d ) Vinstep [Wu, JSSC 12/1988) Effective gain per stage is still relatively close to e=2.7183… B. Murmann EE315B - Chapter 6 19 Latched Comparator (1) B. Murmann EE315B - Chapter 6 20 Latched Comparator (2) t0 setup initial condition v10 v 20 v d0 t0 enable positive feedback - dv1 i1((t)) gm v 2 ((t)) dt C C - u dv 2 i2 (t) gm v1(t) dt C C C gm v1(t) v 2 (t) v d (t) v d0 et / u A(t) v d (t) et / u v d0 EE315B - Chapter 6 B. Murmann 21 Comparison 10 Amplificatio on A(t) 8 6 4 N=3 (with R) N=3 (integ) Latch 2 A *(1-e-1) 0 0 v 5 10 15 Time t/ u • Latch is much faster than cascade of amplifiers/integrators B. Murmann EE315B - Chapter 6 22 Latch "Gain" B. Murmann A(d) d/u 10 23 2.3 100 4.6 1,000 6.9 10,000 9.2 EE315B - Chapter 6 23 "The" Architecture • Why bother using pre-amplification (Av)? – Offset Off t • Hard to build latches with offset < 10…100mV • Use pre-amplification to lower input referred offset – Common mode rejection – Attenuate "kickback noise" – Metastability B. Murmann EE315B - Chapter 6 24 Metastability (1) • References – Veendrick, JSSC 4/1980 – Zojer, JSSC 6/1985 • Consider minimum initial latch input voltage needed to regenerate to VDD within maximum available time Tmax Vd0 min • Minimum required pre-amplifier input Vid0 min • e VDD Tmax / u 1 VDD A v eTmax / u Probability of seeing a metastable output P(Error) P Vid0 V id0 min i EE315B - Chapter 6 B. Murmann 25 Metastability (2) • Assuming a uniform input signal distribution over some range, we have PDF P Error V id0min V id0max -V Vid0max +Vid0max -Vid0min +Vid0min • In a flash ADC, onlyy one out of all comparators p can be metastable. The effective input range Vid0max over which the signal is distributed is therefore ½ LSB (/2) P Error B. Murmann V id0 min V id0 max 1 VDD 1 VDD T / max u A A Tmax / u 2B 1 VDD Tmax / u v e v e e VFS A v VFS 2 2 2B EE315B - Chapter 6 26 Metastability (3) • Example: 6-bit, 500MHz Flash ADC, Tmax=Ts/2=1ns, u=1/(2·5GHz)=32ps, Av=3, VFS=0.5VDD P(Error) • 26 1 2 e1000/32 2 1012 3 Mean time to failure (MTF) MTF 1 1 s 1000s 16 minutes 12 P(Error) fs 2 10 0.5 109 • Ideally design for MTF > 1…10 years (not always possible) • Can improve MTF by – Reducing speed (larger Tmax/u) • Exponential dependence – Adding pre-amplifier gain • Linear dependence B. Murmann EE315B - Chapter 6 27 Latch: Dynamic Offset C C1 C2 • C1 C2 causes dynamic offset • Can show Vos 0.5·C/C·(V(t=0)-VS); VS = inverter switching voltage – Nikoozadeh & Murmann Murmann, IEEE TCAS II II, Dec Dec. 2006 2006. • Example – 0.5·10fF/100fF·(1V-0.5V)= ( ) 25mV ((!)) B. Murmann EE315B - Chapter 6 28 CMOS comparators • Dominant practical issues in comparator design are often – Offset • Latch offset often means must use one or more stages of low gain pre-amplification • Preamplifier offset often means must use offset cancellation techniques – Overdrive recovery • Time to recover from large signal and correctly detect small signal • Typically T i ll lilimits it achievable hi bl comparator t speed d EE315B - Chapter 6 B. Murmann 29 Input Referred Offset 2VOS 2VOS1 • 1 A 2v 2VOS2 Example: VOS1=3mV, VOS2=30mV, Av=10 VOS B. Murmann 3mV 2 1 10 2 30mV 2 EE315B - Chapter 6 4.2mV 30 Amplifier Offset Cancellation (1) • In a sampled-data cascade of MOS amplifiers, offset voltages can be cancelled by storing them on ac-coupling ac coupling capacitors in series with the amplifier stages • The offset associated with a specific amplifier stage can be cancelled by storing it in series with either the input or the output of the stage – Output Series Cancellation: • short h t the th amplifier lifi inputs i t • store amplified offset on output coupling capacitors – Input Series Cancellation: • close a unity-gain loop around the amplifier • store offset on input coupling capacitors EE315B - Chapter 6 B. Murmann 31 Amplifier Offset Cancellation (2) OUTPUT SERIES CANCELLATION INPUT SERIES CANCELLATION B. Murmann EE315B - Chapter 6 32 Output Series Cancellation 2 2 1 1 • Phase 1: Offset storage, phase 2: Amplify • Design considerations – Must ensure that amplifier does not saturate during phase 1 – Must make C sufficiently large to avoid attenuation and mitigate iti t charge h injection i j ti error EE315B - Chapter 6 B. Murmann 33 Input Series Cancellation 1 2 1 • Phase 1: Offset storage, phase 2: Amplify • In phase 2, input referred offset is Vos/(A+1) – 4x reduction if A=3 B. Murmann EE315B - Chapter 6 34 Commercial Example: AD7671 [http://www.elecdesign.com/Articles/Index.cfm?ArticleID=3956] • Used in 16-bit, 1 MS/s successive approximation ADC, 0.6 m CMOS technology • Uses cascaded output series offset cancellation • Off t <3 Offset 3 mV V (over ( process, temperature) t t ) B. Murmann EE315B - Chapter 6 35 Overdrive Recovery (1) • Simple linear model of a single-pole amplifier • During “reset”, the amplifier settles exponentially to its zero-input condition with a time constant = RC. B. Murmann EE315B - Chapter 6 36 Overdrive Recovery (2) • Worst case scenario: maximum input Vm (normalized to ½ LSB) is followed by minimum input ( ½ LSB) • To speed up overdrive recovery – Use low gain per stage – Use passive clamps – Use active restore EE315B - Chapter 6 B. Murmann 37 Overdrive Recovery (3) Active Restore Passive Clamps B. Murmann EE315B - Chapter 6 38 Comparator Examples (1) • Yukawa, JSSC 6/1985 – Preamplifier followed by interesting latch – No offset cancellation – 8 bits, fs = 15MHz B. Murmann EE315B - Chapter 6 39 Comparator Examples (2) • Purely dynamic "sense amplifier" – No DC current B. Murmann EE315B - Chapter 6 40 Comparator Examples (3) • Cho, JSSC 3/1995 – Variation of Yukawa latch used as a dynamic comparator – No DC power dissipation when is high • M1, M2, M11 and M12 in linear (triode) region • M11, M12 set differential threshold of comparator where Vin = Vi1-Vi2 and Vref = VR+-VR- B. Murmann EE315B - Chapter 6 41 Comparator Examples (4) • Mehr & Dalton, JSSC 7/1999 B. Murmann EE315B - Chapter 6 42 Comparator Examples (5) • Mehr & Dalton, JSSC 7/1999 B. Murmann EE315B - Chapter 6 43 Comparator Examples (6) • Mehr & Singer, JSSC 3/2000 B. Murmann EE315B - Chapter 6 44 Comparator Examples (7) • Wu, JSSC 12/1988 – Instead of pre-amplification, uses latch with offset compensation B. Murmann EE315B - Chapter 6 45 Comparator Examples (8) • Schinkel, ISSCC 2007: "Double tail sense amplifier" B. Murmann EE315B - Chapter 6 46 Selected References (1) 1. R. Poujois and J. Borel, “A Low Drift Fully Integrated MOSFET Operational Amplifier,” IEEE J. of Solid-State Circuits, pp. 499-503, Aug. 1978. 2 H 2. H.-S S. Lee, Lee D D. A A. Hodges and P P. R R. Gray Gray, “A A Self Self-Calibrating Calibrating 15 Bit CMOS A/D Converter,” IEEE J. of Solid-State Circuits, vol. SC-19, pp. 813-819, Dec. 1984. 3. J. L. McCreary and P. R. Gray, “All-MOS Charge Redistribution Analog-to-Digital Conversion Techniques — Part I,” IEEE J. of Solid-State Circuits, vol. SC-10, no. 6, pp. 371-379, Dec. 1975. 4. Y. S. Yee, L. M. Terman and L. G. Heller, “A 1mV MOS Comparator,” IEEE J. of Solid-State Circuits, vol. SC-13, pp. 294-297, June 1978. 5. A. Yukawa, “A CMOS 8-Bit High-Speed A/D Converter IC,” IEEE J. of Solid-State Circuits, vol. SC-20, pp. 775-779, June 1985. 6. B. J. McCarroll, C. G. Sodini, and H.-S. Lee, “A High-Speed CMOS Comparator for Use in an ADC,” IEEE J. of Solid-State Circuits, vol. 23, pp. 159-165, Feb. 1988. 7. J.-T. Wu and B. A. Wooley, “A 100-MHz Pipelined CMOS Comparator,” IEEE J. SolidState Circuits, vol. 23, pp. 1379-1385, Dec. 1988. 8. B. Razavi and B. A. Wooley, “A 12-b 5-MSample/s Two-Step CMOS A/D Converter,” IEEE J. Solid-State Circuits, vol. 27, pp. 1667-1678, Dec. 1992. 9. B. Razavi and B. A. Wooley, “Design Techniques for High-Speed, High-Resolution Comparators,” IEEE J. Solid-State Circuits, vol. 27, pp. 1916-1926, Dec. 1992. 10. T.B. Cho and P.R. Gray, “A 10-b, 20-Msample/s, 35-mW Pipeline A/D Converter,” IEEE J. Solid-State Circuits, vol. 30, pp. 166-172, Mar. 1995. B. Murmann EE315B - Chapter 6 47 Selected References (2) 11. M. Choi and A. A. Abidi, "A 6-b 1.3-GSample/s A/D converter in 0.35-µm CMOS," IEEE J. Solid-State Circuits, pp. 1847-1858, Dec. 2001. 12. I. Mehr and D. Dalton, "A 500-MSample/s, 6-bit Nyquist-rate ADC for disk-drive readchannel applications," applications " IEEE J. J Solid-State Solid State Circuits, Circuits pp. pp 912 912-920, 920 July 1999 1999. 13. I. Mehr and L. Singer, “A 55-mW, 10-bit, 40-MSample/s Nyquist-Rate CMOS ADC,” IEEE J. Solid-State Circuits, pp. 318-25, March 2000. 14. H. J. M. Veendrick, “The Behavior of Flip-Flops Used as Synchronizers and Prediction of Their Failure Rate Rate,” IEEE J. J Solid-State Solid State Circuits, Circuits April 1980 1980. 15. B. Zojer, et al., “A 6-bit/200-MHz full Nyquist A/D converter,” IEEE J. Solid-State Circuits, vol. SC-20, pp. 780-786, June 1985. 16. K.-L.J. Wong and C.-K.K. Yang, "Offset compensation in comparators with minimum input-referred supply noise, noise " IEEE J. J Solid-State Circuits, Circuits vol.39, vol 39 pp pp. 837-840 837-840, May 2004. 17. A. Graupner, "A Methodology for the Offset-Simulation of Comparators," http://www.designers-guide.org/Analysis/comparator.pdf. 18 D 18. D. Schinkel et al., al "A A Double Double-Tail Tail Latch-Type Latch Type Voltage Sense Amplifier with 18ps Setup+Hold Time," ISSCC Dig. Techn. Papers, pp. 314-315, 2007. 19. P.P. Nuzzo, et al., "Noise Analysis of Regenerative Comparators for Reconfigurable ADC Architectures, IEEE Trans. Circuits Syst. I, pp.1441-1454, July 2008. 20 B 20. B.S. S Leibowitz, Leibowitz et al., al "Characterization Characterization of Random Decision Errors in Clocked Comparators," Proc. IEEE CICC, pp.691-694, Sep. 2008. B. Murmann EE315B - Chapter 6 48 Flash and Folding & Interpolating ADCs Katelijn Vleugels Stanford University Copyright © 2011 by Boris Murmann & Katelijn Vleugels EE315B - Chapter 7 B. Murmann 1 Nyquist ADC Architectures • Nyquist rate – Word-at-a-time • Flash ADC • Instantaneous comparison with 2B-1 reference levels – Multi-step • E.g. pipeline ADCs • Coarse conversion, followed by fine conversion of residuum – Bit-at-a-time • E.g. successive approximation ADCs • Conversion via a binary search algorithm SPEED – Level Level-at-a-time at a time • E.g. single or dual slope ADCs • Input is converted by measuring the time it takes to charge/discharge g g a capacitor p from/to input p voltage g B. Murmann EE315B - Chapter 7 2 ADC Performance Survey (ISSCC & VLSI 97-08) Data: http://www.stanford.edu/~murmann/adcsurvey.html 10 BW W [Hz] 10 10 10 Flash Fl h Pipeline SAR Sigma-Delta Other 1psrms Jitter 10 8 6 4 20 30 40 50 60 70 SNDR [dB] 80 90 100 110 EE315B - Chapter 7 B. Murmann 3 Flash ADC 2B-1 Dout Vin 2B-1 1 Decision Levels • Fast – Speed limited by single comparator plus encoding logic • Exponential dependence of power, area and input capacitance upon number of bits – Typically use for resolution up to 6 bits B. Murmann EE315B - Chapter 7 4 Limiting Error Sources • Comparator input – Offset – Nonlinear N li iinputt capacitance it – Kickback noise (disturbs reference) • All comparators switching simultaneously • Timing and comparator output – “Sparkle codes” caused by bubbles (… 111101000 …) • E.g. due to clock timing skew – Metastability • Analog Devices application note: "Find Those Elusive ADC Sparkle Codes and Metastable States" http://www analog com/en/content/0 2886 760%255F788%255F http://www.analog.com/en/content/0,2886,760%255F788%255F 91218,00.html B. Murmann EE315B - Chapter 7 5 Bubbles Due to Timing Errors K. Uyttenhove, M.S.J. Steyaert, "A 1.8-V 6-bit 1.3-GHz flash ADC in 0.25-μm CMOS," Solid-State Circuits, IEEE JSSC, pp. 1115-1122, July 2003. B. Murmann EE315B - Chapter 7 6 Bubble Problem (e.g. due to timing offset between two comparators) • Correct output: 1000 1000, actual output: 1110 (!) B. Murmann EE315B - Chapter 7 7 Bubble Tolerant Encoder • Protects against isolated, single "bubbles" • Reference: C. W. Mangelsdorf, “A 400-MHz Flash Converter with Error C Correction,” ti ” IEEE J. J Solid-State S lid St t Ckts., Ckt pp. 184-191, 184 191 F Feb. b 1990 1990. B. Murmann EE315B - Chapter 7 8 Alternative (or Additional) Solution Dedicated T/H at input drastically reduces dV/dt at comparator inputs Y. Tamba, and K. Yamakido, "A CMOS 6 b 500 MSample/s ADC for a hard disk drive read channel channel,“ ISSCC Dig. Dig Techn. Techn Papers. Papers pp.324-325, pp 324 325 Feb Feb. 1999 1999. B. Murmann EE315B - Chapter 7 9 Metastability • Different gates interpret metastable output X differently • Correct output: 0111 or 1000, actual output: 1111 B. Murmann EE315B - Chapter 7 10 Solution 1: Latch Pipelining • Use additional latches to create extra gain before generating decoder signals • P Power h hungry and d area iinefficient ffi i t EE315B - Chapter 7 B. Murmann 11 Solution 2: Gray Encoding Thermometer Code Gray Binary T1 T2 T3 T4 T5 T6 T7 G3 G2 G1 B3 B2 B1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 1 1 0 0 0 0 0 0 1 1 0 1 0 1 1 1 0 0 0 0 0 1 0 0 1 1 1 1 1 1 0 0 0 1 1 0 1 0 0 1 1 1 1 1 0 0 1 1 1 1 0 1 1 1 1 1 1 1 0 1 0 1 1 1 0 1 1 1 1 1 1 1 1 0 0 1 1 1 G3 B. Murmann G2 • Each Ti affects only one Gi – Avoids disagreement of interpretation by multiple p g gates • Also helps protect against sparkles G1 EE315B - Chapter 7 12 Efficient Implementation • Reference – C. Portmann and T. Meng, “Power-Efficient Metastability Error , IEEE J. Solid-State Reduction in CMOS Flash A/D Converters,” Ckts., pp. 1132-40 , Aug. 1996. EE315B - Chapter 7 B. Murmann 13 Offset • Typically want offset of each comparator <1/4LSB – If we budget half of the input referred offset for the latch, the other half for the pre pre-amp, amp this means pre pre-amp amp offset must be <1/4LSB / sqrt(2) 3VOS 3 • AVT 1 FSR WL 4 2 2B E.g. 6-bit flash ADC, FSR=1V 3 2 AVT 1 1V 2.8mV WL 4 2 26 2 V m 18.4m 2 3 AVT 3 4mV 2 WL . m W 18 4 102m 0.18m 2.8mV 2.8mV Huge! B. Murmann EE315B - Chapter 7 14 Options • Simply use large devices – For each extra bit, need to increase width by 4x, also need to double number of comparators – Assuming constant current density, this means each additional bit costs 8x in power! • Offset cancellation – Tends to cost speed • Offset averaging • Calibration B. Murmann EE315B - Chapter 7 15 Offset Averaging (1) • Output of each differential pair is no longer determined by that pair alone, which results in averaging R2/R1=1.3 [Kattmann & Barrow, ISSCC 1991] B. Murmann EE315B - Chapter 7 16 DNL/ Offset Averaging (2) [Bult & Buchwald, Buchwald JSSC 12/1997] [Scholtens & Vertregt, JSSC 12/2002] B. Murmann EE315B - Chapter 7 17 6-bit Flash ADC with Averaging [Choi & Abidi, JSSC 12/2001] Averaging networks designed to reduce input referred offset by 3x B. Murmann EE315B - Chapter 7 18 Offset Calibration S. Sutardja, "360 Mb/s (400 MHz) 1.1 W 0.35μm CMOS PRML read channels with 6 burst 8 8-20× 20× over over-sampling sampling digital servo, servo " ISSCC Dig. Dig Techn. Techn Papers Papers, Feb Feb. 1999 1999. B. Murmann EE315B - Chapter 7 19 Comparator with Integrated Offset DAC [K.-L.J. Wong and C.-K.K. Yang, "Offset compensation in comparators with minimum input-referred supply noise," JSSC, May 2004.] B. Murmann EE315B - Chapter 7 20 High Performance Flash ADC with Calibration (1) [Park & Flynn, "A 3.5 GS/s 5-b Flash ADC in 90 nm CMOS," CICC 2006] B. Murmann EE315B - Chapter 7 21 High Performance Flash ADC with Calibration (2) [Park & Flynn, Flynn "A A 3.5 3 5 GS/s 5-b 5 b Flash ADC in 90 nm CMOS CMOS," CICC 2006] B. Murmann EE315B - Chapter 7 22 High Performance Flash ADC with Calibration (3) [Park & Flynn, Flynn "A A 3.5 3 5 GS/s 5-b 5 b Flash ADC in 90 nm CMOS CMOS," CICC 2006] B. Murmann EE315B - Chapter 7 23 Reducing Complexity • Example: 10-bit flash ADC – Compared to previous 6-bit example we need to • Use 16x the number of comparators • Increase size & power of each comparator by 162 (matching) – Input capacitance: 1pF·163 = 4096pF (!) () – Power: 500mW·163 = 2048W (!) • Techniques – Interpolation I t l ti – Folding – Folding & Interpolation – Multi-step conversion, pipelining B. Murmann EE315B - Chapter 7 24 Interpolation • Idea – Interpolation between preamp outputs • Reduces number of preamps – Reduced input capacitance – Reduced area, area power dissipation • Same number of latches • Important “side-benefit” side benefit – Decreased sensitivity to preamp offset • Improved DNL B. Murmann EE315B - Chapter 7 25 Concept [van de Plassche, p.118] B. Murmann EE315B - Chapter 7 26 Differential Implementation VA VB 0 2 B. Murmann VA VB EE315B - Chapter 7 27 Higher Order Interpolation • Resistors produce additional levels • Define interpolation factor as ratio ratio of latches and preamps • The example shown on this slide has M=8 [H. Kimura et al, “A 10-b 300-MHz I t Interpolated-Parallel l t d P ll l A/D C Converter,” t ” IEEE J. of Solid-State Circuits, pp. 438-446, April 1993. B. Murmann EE315B - Chapter 7 28 Potential Issues with Interpolation • Must ensure that "linear range" of adjacent preamplifiers overlaps – Sets upper bound on preamp gain • Resistor string reduces signal path bandwidth – Sets upper bound on interpolation factor factor, typically around 4 • For interpolation factors >2, amplifier nonlinearity can limit the precision of zero crossings – See e.g. [van de Plassche, p.121] B. Murmann EE315B - Chapter 7 29 Folding • Insight: most of the comparators in a flash ADC are saturated while only the ones “near” a given input voltage level are required i d tto resolve l a smallll diff difference. • The folding operation maps the input signal into successive linear segments segments, in a periodic fashion (“modulo” ( modulo operation): B. Murmann EE315B - Chapter 7 30 Folding ADC MSB ADC VIN Digital Output LSB ADC Folding Circuit • Fast • Significantly fewer comparators than flash • Nonidealities in folder limit attainable resolution to ~10 bits B. Murmann EE315B - Chapter 7 31 Example: 6-bit Folding ADC • Coarse ADC determines segment, fine ADC determines level within segment • F ldi ffactor Folding t (FF) quantifies tifi number b off ffolder ld output t t segments t B. Murmann EE315B - Chapter 7 32 Folder Realization • Vref1 < Vref2 < … < Vref8 • For any Vin, only one differential pair is "active", all others are saturated B. Murmann EE315B - Chapter 7 33 Improved Realization • Extra differential pair removes DC component in Vout • Parameter K controls output common mode B. Murmann EE315B - Chapter 7 34 Input-Output Characteristic B. Murmann EE315B - Chapter 7 35 Rounding Problem Useful Region B. Murmann EE315B - Chapter 7 36 Multiple Folds (1) • Idea: Use several folders so that any input value falls into useable "linear" linear region B. Murmann EE315B - Chapter 7 37 Multiple Folds (2) Hard to line up with folder output Residual distortion from folder causes DNL/INL B. Murmann EE315B - Chapter 7 38 Multiple Folds Using Single Threshold (1) B. Murmann EE315B - Chapter 7 39 Multiple Folds Using Single Threshold (2) B. Murmann EE315B - Chapter 7 • Initial idea – Use one folder and 7 comparators in LSB section • Now have – 8 Folders and 8 comparators (!) • Yet another idea – Use interpolation to eliminate some of the folders 40 Interpolation • Same idea as discussed in the context of flash ADCs B. Murmann EE315B - Chapter 7 41 Interpolation Realization (1) • Resistive interpolation B. Murmann EE315B - Chapter 7 42 Interpolation Realization (2) • Current interpolation B. Murmann EE315B - Chapter 7 43 Complete Folding & Interpolating ADC • B. Murmann EE315B - Chapter 7 6-bit 6 bit Example – 2 folders – 4x interpolation – FF=8 44 State-of-the art Implementation (1) [Taft et al., al JSSC 12/2004] B. Murmann EE315B - Chapter 7 45 State-of-the art Implementation (2) B. Murmann EE315B - Chapter 7 46 State-of-the art Implementation (3) B. Murmann EE315B - Chapter 7 47 State-of-the art Implementation (4) B. Murmann EE315B - Chapter 7 48 Folding ADC Problems & Solutions • Dynamic problems – Frequency at the output of a folder is approximately input frequency times folding factor! • Finite bandwidth effects can produce zero crossing shifts – Delay through coarse/fine signal path is not well matched • Possible solution – Add track & hold circuit at ADC input • This was done in the implementation shown in slides 20-23 • Static problems – Offsets in folder transistors can cause DNL, INL – Interpolation p with a factor g greater 2x can introduce DNL,, INL due to amplifier nonlinearity • Possible solutions – Averaging, Averaging calibration EE315B - Chapter 7 B. Murmann 49 Selected References (1) Flash ADCs, Offset Averaging 1. K. Kattmann and J. Barrow, "A Technique for Reducing Differential Non-Linearity Errors in Flash A/D Converters Converters," ISSCC Digest of Technical Papers Papers, pp. pp 170-171 170-171, Feb. 1991. 2. K. Bult and A. Buchwald, "An embedded 240-mW 10-b 50-MS/s CMOS ADC in 1mm2," IEEE J. of Solid-State Ckts., pp. 1887-1895, Dec. 1997. 3 M. 3. M Choi and A A. A A. Abidi Abidi, “A A 6 b 1.3 1 3 Gsample/s A/D converter in 0 0.35m 35m CMOS, CMOS ” IEEE J. Solid-State Circuits, pp. 1847–1858, Dec. 2001. 4. C. S. Scholtens and M. Vertregt, “A 6-b 1.6-Gsample/s Flash ADC in 0.18-m CMOS Using Averaging Termination,” IEEE J. of Solid-State Ckts., vol. 37, pp. 1599-1609, Dec 2002 Dec. 2002. 5. X. Jiang, M-C. F. Chang, "A 1-GHz signal bandwidth 6-bit CMOS ADC with powerefficient averaging," IEEE J. of Solid-State Circuits, pp. 532- 535, Feb. 2005. Folding and Interpolating A/D Converters 6 R.C. 6. RC T Taft ft ett al., l "A 1 1.8-V 8V1 1.6-GSample/s 6 GS l / 8-b 8 b self-calibrating lf lib ti ffolding ldi ADC with ith 7 7.26 26 ENOB at Nyquist frequency," IEEE J. Solid-State Ckts., pp. 2107-2115 Dec. 2004. 7. B. Nauta and A. G. W. Venes, “A 70-MS/s 110-mW 8-b CMOS Folding and Interpolating A/D Converter,” IEEE J. of Solid-State Circuits, pp. 1302-1308, Dec. 1995 1995. B. Murmann EE315B - Chapter 7 50 Selected References (2) 8. 9. 10. 11. 12. 13. 14. 15 15. 16. M. P. Flynn and B. Sheahan, “A 400-MSample/s, 6-b CMOS Folding and Interpolating ADC,” IEEE J. of Solid-State Circuits, pp. 1932-1938, Dec. 1998. H. Pan, M. Segami, M. Choi, J. Cao, F. Hatori and A. Abidi, “A 3.3V, 12b, 50MS 50MSample/s l / A/D converter t in i 0.6mm 06 CMOS with ith over 80dB SFDR,” SFDR ” ISSCC Di Digestt of Technical Papers, pp. 40-41, Feb. 2000. M.-J. Choe, B.-S. Song and K. Bacrania, “A 13b 40MSample/s CMOS pipelined folding ADC with background offset trimming,” ISSCC Digest of Technical Papers, pp. 36-37, 36 37, Feb. 2000. G. Hoogzaad and R. Roovers, “A 65-mW, 10-bit, 40-Msample/s BiCMOS Nyquist ADC in 0.8 mm2,” IEEE J. Solid-State Circuits, pp. 1796-1802, Dec. 1999. K. Nagaraj, F. Chen, T. Le and T. R. Viswanathan, “Efficient 6-bit A/D converter using a 1-bit folding front end,” IEEE J. Solid-State Circuits, pp. 1056-1062, Aug. 1999. M.-J. Choe and B.-S. Song, “An 8b 100MSample/s CMOS pipelined folding ADC,” VLSI Symposium Digest of Technical Papers, pp. 81-82, Jun. 1999. K. Bult and A. Buchwald, “An embedded 240-mW 10-b 50-MS/s CMOS ADC in 1 mm2,” IEEE J. Solid-State Circuits, vol. 32, pp. 1887-1895, Dec. 1997. P Vorenkamp P. V k and d R. R R Roovers, “A 12 12-b, b 60 60-MSample/s MS l / cascaded d d ffolding ldi and d interpolating ADC,” IEEE J. Solid-State Circuits, vol. 32, pp. 1876-1886, Dec. 1997. A. G. W. Venes and R. J. van de Plassche, “An 80-MHz, 8-b CMOS folding A/D converter with distributed track-and-hold preprocessing,” IEEE J. Solid-State Circuits, vol. 31, pp. 1846-1853, 1846 1853, Dec. 1996. B. Murmann EE315B - Chapter 7 51 Selected References (3) 17. M. P. Flynn and D. J. Allstot, “CMOS folding A/D converters with current-mode interpolation,” IEEE J. Solid-State Circuits, vol. 31, pp. 1248-1257, Dec. 1996. 18. R. Roovers and M. S. J. Steyaert, y , “A 175 Ms/s,, 6 b,, 160 mW,, 3.3 V CMOS A/D converter,” IEEE J. Solid-State Circuits, vol. 31, pp. 938-944, Jul. 1996. 19. W. T. Colleran and A. A. Abidi, “A 10-b, 75-MHz two-stage pipelined bipolar A/D converter,” IEEE J. Solid-State Circuits, vol. 28, pp. 1187-1199, Dec. 1993. 20. J. van Valburg and R. J. van de Plassche, “An An 8-b 8 b 650-MHz 650 MHz folding ADC, ADC,” IEEE J. Solid-State Circuits, vol. 27, pp. 1662-1666, Dec. 1992. 21. R. J. van de Plassche and P. Baltus, “An 8-bit 100-MHz full-Nyquist analog-to-digital converter,” IEEE J. Solid-State Circuits, vol. 23, pp. 1334-1344, Dec. 1988. 22 R. 22. R E E. JJ. Van de Grift Grift, I. I W. W J. J M. M Rutten and M. M van der Veen, Veen “An An 8-bit 8 bit video ADC incorporating folding and interpolation techniques,” IEEE J. Solid-State Circuits, vol. SC-22, pp. 944-953, Dec. 1987. 23. R. E. J. van de Grift and R. J. van de Plassche, “A monolithic 8-bit video A/D converter,” IEEE J. Solid converter, Solid-State State Circuits, vol. SC SC-19, 19, pp. 374-378, 374 378, Jun. 1984. 24. R.C. Taft, et al., "A 1.8V 1.0GS/s 10b self-calibrating unified-folding-interpolating ADC with 9.1 ENOB at Nyquist frequency," ISSCC Digest of Technical Papers, pp.78-79, 79a, Feb. 2009. B. Murmann EE315B - Chapter 7 52 Pipeline ADCs Katelijn Vleugels Stanford University Copyright © 2011 by Boris Murmann and Katelijn Vleugels B. Murmann EE315B - Chapter 8 1 Outline • General idea of multi-step A/D conversion • Pipeline ADC basics – Ideal block diagram and operation, impact of block nonidealities • Ways to deal with nonidealities – Redundancy, calibration • CMOS implementation details – Stage scaling, MDAC design B. Murmann EE315B - Chapter 8 2 General Concept of Multi-Step Conversion • General idea (two-step example) 1. Perform a "coarse" quantization of the input 2. Compute residuum (error) of step 1 conversion using a DAC and subtractor 3. Digitize computed residuum using a second "fine" quantizer and d digitally di it ll add dd tto output t t B. Murmann EE315B - Chapter 8 3 Quantizer Model B. Murmann EE315B - Chapter 8 1 1 2 LSB 2 2 2B 4 Analysis • Assuming ideal DAC (for now) + - coarse + fine + • Dfine=fine - coarse Vrescoarse Vin - + Dout=Vin + fine Dcoarse=Vin + coarse Output contains only quantization error from fine ADC! EE315B - Chapter 8 B. Murmann 5 Input to Fine Quantizer (Vres) 1 1 2 LSB 2 2 2 Bcoarse • Example – Three decision levels in coarse and fine quantizer – Aggregate ADC resolution is 4 bits (3+4·3 decision levels) – Need only 6 comparators, compared to 15 in a 4-bit flash ADC • Advantage Ad t b becomes more pronounced d att hi higher h resolutions l ti B. Murmann EE315B - Chapter 8 6 Alternative Illustration B. Murmann EE315B - Chapter 8 7 Two-Step ADC Example B. Razavi and B.A. Wooley, "A 12-b 5-Msample/s two-step CMOS A/D converter," IEEE JSSC, pp. 1667-1678, Dec. 1992. B. Murmann EE315B - Chapter 8 8 Limitations (1) • Conversion time is proportional to number of stages employed – E.g. for a two-step ADC, time required for conversion is Tconv =2·T =2 TA/D + TD/A + TSUB • Solution – Introduce a sample and hold operation after subtraction – Fine ADC has one full clock cycle until new residuum becomes available – "Pipelining" B. Murmann EE315B - Chapter 8 9 Pipelining – An Old Idea B. Murmann EE315B - Chapter 8 10 Limitations (2) • Fine ADC(s) must have precision commensurate with overall target resolution – E.g. 8-bit converter with 4-bit/4-bit partition; fine 4-bit decision levels must have "8-bit precision" • Solution – Introduce gain after subtraction Vin + Coarse ADC G - S/H Fine ADC Dfine + DAC Dout Dcoarse B. Murmann EE315B - Chapter 8 11 Input to Fine Quantizer with Gain • No longer need precision comparators B. Murmann EE315B - Chapter 8 12 Pipeline ADC Block Diagram Align & Combine Bits Dout Vin SHA Stage 1 Stage n-1 Vin1 Stage n Vres1 G11 G ADC DAC D1 EE315B - Chapter 8 B. Murmann 13 Concurrent Stage Operation CLK Align & Combine Bits Dout Vin SHA St Stage 1 St Stage 2 St Stage 3 ACQUIRE CONVERT ACQUIRE CONVERT BUFFER ACQUIRE CONVERT ACQUIRE • Stages operate on the input signal like a shift register • New output data every clock cycle, but each stage introduces ½ clock cycle latency B. Murmann EE315B - Chapter 8 14 Data Alignment Doutt CLK CLK CLK CLK Vin SHA Stage 1 Stage 2 Stage 3 ACQUIRE CONVERT ACQUIRE CONVERT BUFFER ACQUIRE CONVERT ACQUIRE • Digital shift register aligns sub-conversion results in time • g output p is taken as weighted g sum of stage g bits Digital B. Murmann EE315B - Chapter 8 15 Latency [Analog Devices, AD9226 Data Sheet] B. Murmann EE315B - Chapter 8 16 Pipeline ADC Characteristics • Number of components p g grows linearly y with resolution – Unlike flash ADC, where components ~ 2B • Pipeline ADC trades latency for conversion speed – Throughput limited by speed of one stage • Enables high-speed operation – Latency can be an issue in some applications • E.g. in feedback control loops • Pipelining only possible with good analog "memory elements" – Calls for implementation in CMOS using switched switched-capacitor capacitor circuits B. Murmann EE315B - Chapter 8 17 Stage Analysis • Ignore timing/clock delays for simplicity D Q(Vin ) B. Murmann EE315B - Chapter 8 Vres G Vin Vdac 18 Stage Model with Ideal DAC D Vin q • Vres G q Residue R id off pipeline i li stage t (Vres) iis equall tto ((-gain) i ) ti times subb ADC quantization error B. Murmann EE315B - Chapter 8 19 "Residue Plot" (2-bit Sub-ADC) {-3/4, -1/4, 1/4, 3/4} Sub-ADC Decision L Levels l B. Murmann EE315B - Chapter 8 20 Questions • How to p pick stage g g gain G for a g given sub-ADC resolution? • Impact and compensation of nonidealities? – Sub-ADC errors – Amplifier offset – Amplifier gain error – Sub-DAC error • Begin to explore these questions using a simple example – First stage with 2-bit sub-ADC, followed by 2-bit backend EE315B - Chapter 8 B. Murmann 21 Upper Bound for Stage Gain Vin G1 G Vres qb D Db q {-1/2B … 1/2B} +1 G/2B Vres 2G/2B 2 -G/2B -1 -1 1 Dout Vin B. Murmann qb G 0 Vin +1 qb Grows out of ½ LSB bounds for G>2B EE315B - Chapter 8 22 Issue with G=2B Vin G 41 Vres qb D Db q {-1/2B … 1/2B} +1 Overrange! Vres 4 -1 -1 • 0 Vin +1 qb Anyy error in sub-ADC decision levels will overload backend ADC and thereby deteriorate ADC transfer function B. Murmann EE315B - Chapter 8 23 Idea #1: G slightly less than 2B • Effective stage resolution can be non-integer (R=log2G) – E.g. E g R = log23.2 32=1 1.68 68 bits • See e.g. [Karanicolas 1993] B. Murmann EE315B - Chapter 8 24 Idea #2: G < 2B, but Power of Two • Effective stage resolution is an integer – E.g. R = log22 = 1 = B-1 – Digital Di it l h hardware d requires i only l a ffew adders, dd no need d tto implement fractional weights • See e.g. [Mehr 2000] B. Murmann EE315B - Chapter 8 25 Idea #3: G=2B, Extended Backend Range • No redundancy in stage with errors • E Extra t decision d i i llevels l iin succeeding di stage t used d tto b bring i residue "back into the box" • See e.g. g [[Opris p 1998]] B. Murmann EE315B - Chapter 8 26 Variant of Idea #2: "1.5-bit stage" • S b ADC d Sub-ADC decision i i llevels l placed l d tto minimize i i i comparator t countt • Can accommodate errors up to ¼ • B = log2(2+1) = 1.589 1 589 (sub-ADC (sub ADC resolution) • R = log22 = 1 (effective stage resolution) • See e.g. [Lewis 1992] B. Murmann EE315B - Chapter 8 27 Summary on Sub-ADC Redundancy • We can tolerate sub-ADC errors as long as – The residue stays "inside the box", or – Another stage downstream returns the residue "into the box" before it reaches last quantizer • This result applies to any stage in an n-stage n stage pipeline – Can always decompose pipeline into single stage + backend ADC • In literature, sub-ADC redundancy schemes are often called "digital correction" – a misnomer in my opinion • There is no explicit p error correction! – Sub-ADC errors are absorbed in the same way as their inherent quantization error • As long as there is no overranging… B. Murmann EE315B - Chapter 8 28 Amplifier Offset Vos Vos Push Vin G1 G Vres ADC DAC Vdac D -Vos • Amplifier offset can be referred toward stage input and results in – Global offset • Usually no problem, unless "absolute ADC accuracy" is required – Sub-ADC offset • Easily accommodated through redundancy B. Murmann EE315B - Chapter 8 29 Gain Errors qn G Dout Vin q1 1 1 ... n 1 Gd 1 G j 1 • dj Want to make Gd1 = G1+ B. Murmann EE315B - Chapter 8 30 Digital Gain Calibration (1) • Error in analog gain is not a problem as long as "digital gain term" is adjusted appropriately • Problem – Need to measure analog gain precisely • Example p – Digital calibration of a 1-bit first stage with 1-bit redundancy (R=1, B=2) • Note – Even if all Gdj are perfectly adjusted to reflect the analog gains, the ADC will have nonzero DNL and INL, bounded by 0.5LSB. This can be explained by the fact that the residue transitions may not correspond to integer multiples of the backend-LSB. This can cause non-uniformity if it iin th the ADC ttransfer f ffunction ti (DNL (DNL, INL) and d also l nonmonotonicity (see [Markus, 2005]). – In case this cannot be tolerated • • B. Murmann Add redundant bits to ADC backend (after combining all bits, final result can be truncated back) Calibrate analog gain terms EE315B - Chapter 8 31 Digital Gain Calibration (2) Vres G Vin Vdac Db Vres qb B. Murmann EE315B - Chapter 8 32 Digital Gain Calibration (3) Step1: Step2: 1) Db( 1) G Vin 0.25 (qb 2) Db( 2 ) G Vin 0.25 (qb 1) 2) Db( 1) Db( 2 ) 0.5 G (qb (qb • Can minimize impact p of q quantization error using g – Averaging (thermal noise dither) – Extra backend resolution EE315B - Chapter 8 B. Murmann 33 DAC Calibration Vin G1 G Vres Backend Logic DAC ADC D (D)) dac( Force REG Doutt corr(D) 1/Gd Db • Essentially same concept as gain calibration – Step through DAC codes and use backend to measure errors • Store coefficients for each DAC transition in a look-up look up table B. Murmann EE315B - Chapter 8 34 Recursive Stage Calibration • First few stages have most stringent accuracy requirements – Errors of later stages are attenuated by aggregate gain • Commonly used algorithm [Karanicolas 1993] – Take ADC offline – Measure least significant stage that needs calibration first – Move to next significant stage and continue toward stage 1 B. Murmann EE315B - Chapter 8 35 Combining the Bits (1) • Example1: Three 2-bit stages, no redundancy Dout D1 B. Murmann 1 1 D2 D3 4 16 EE315B - Chapter 8 36 Combining the Bits (2) D1 XX D2 XX D3 XX -----------Dout DDDDDD • • Only bit shifts No arithmetic circuits needed EE315B - Chapter 8 B. Murmann 37 Combining the Bits (3) • Example2: Three 2-bit stages, one bit redundancy in stages 1 and 2 (6-bit aggregate ADC resolution) Vin B1=3 R1=2 B2=3 R2=2 Stage 1 Stage 2 B3=2 Stage 3 “8 Wires“ ??? “6 Wires“ Dout[5:0] B. Murmann EE315B - Chapter 8 38 Combining the Bits (4) Dout 1 1 D1 D2 D3 4 16 B. Murmann D1 XXX XXX D2 D3 XX -----------Dout DDDDDD • • Bits overlap Need adders ((Still,, no good reason for calling this "digital correction"...) EE315B - Chapter 8 39 Combining the Bits (5) • For fractional weights g ((e.g. g radix <2), ), there is no need to implement complex multipliers • Can still use simple bit shifts; push actual multiplication into lowresolution output – E.g. a 1x10 bit multiplication needs only one adder… • See e.g. [Karanicolas 1993] B. Murmann EE315B - Chapter 8 40 Outline • Background – History and state-of the art performance – General G l id idea off multi-step lti t A/D conversion i • Pipeline ADC basics – Ideal block diagram g and operation, p impact p of block nonidealities • Ways to deal with nonidealities – Redundancy, Redundancy calibration • CMOS implementation details – Stage scaling, MDAC design • Architectural options – OTA sharing, SHA-less front-end • Research topics EE315B - Chapter 8 B. Murmann 41 Stage Implementation Flash ADC "MDAC" SwitchedS it h d Capacitor Circuit B. Murmann EE315B - Chapter 8 42 Generic Circuit Q 1: Q Vin kCs 2 : Q Vres Cf Vrefp mCs Vrefn k m Cs Vres kCs mCs k m Cs V Vin Vrefp refn Cf Cf Cf G Vin Vdac B. Murmann EE315B - Chapter 8 43 Endless List of Design Parameters • Stage resolution, stage scaling factor • Stage redundancy • Thermal noise/quantization noise ratio • OTA architecture – OTA sharing? g • Switch topologies • Comparator architecture • F t d SHA vs. SHA Front-end SHA-less l d design i • Calibration approach (if needed) • Time interleaving? • Technology and technology options (e.g. capacitors) A very complex optimization problem! B. Murmann EE315B - Chapter 8 44 Thermal Noise Considerations • Total input referred noise – Thermal noise + q quantization noise – Costly to make thermal noise smaller than quantization noise • Example: VFS=1V, 10-bit ADC – Nquant=LSB2/12=(1V/210)2/12=(280Vrms)2 – Design for total input referred thermal noise ~280Vrms or larger, if SNR target allows • Total input referred thermal noise is the sum of noise in all stages – How should we distribute the total thermal noise budget among the stages? – Let's look at an example… B. Murmann EE315B - Chapter 8 45 Stage Scaling (1) • Example: Pipeline using 1-bit (effective) stages (G=2) • Total input referred noise power 1 1 1 ... Ntot kT C1 4C2 16C3 B. Murmann EE315B - Chapter 8 46 Stage Scaling (2) C1/2 C1 Vin C2/2 C2 Gm C3/2 C3 Gm Gm 1 1 1 Ntot kT ... C1 4C2 16C3 • • If we make all caps the same size size, backend stages contribute very little noise Wasteful, because Power ~ Gm ~ C EE315B - Chapter 8 B. Murmann 47 Stage Scaling (3) C1/2 C1 Vin C2/2 C2 Gm C3/2 C3 Gm Gm 1 1 1 Ntot kT ... C1 4C2 16C3 • How about scaling caps down by 22=4x per stage? – Same amount of noise from every stage – All stages t contribute t ib t significant i ifi t noise i – Noise from first few stages must be reduced – Power ~ Gm ~ C goes up! B. Murmann EE315B - Chapter 8 48 Stage Scaling (4) [Cline 1996] • Optimum capacitior scaling lies approximately midway between these two extremes EE315B - Chapter 8 B. Murmann 49 Practical Approach to Stage Scaling • Start by assuming caps are scaled precisely by stage gain – E.g. for 1-bit 1 bit effective stages: C/2 C Vin C/4 C/2 Gm C/8 C/4 Gm Gm • Refine using first pass circuit information & Excel spreadsheet – Use estimates of OTA power, parasitics, minimum feasible sampling capacitance etc. • Or, buy a circuit optimization tool… B. Murmann EE315B - Chapter 8 50 Stage Scaling Examples [Cli 1996] [Cline EE315B - Chapter 8 B. Murmann 51 How Many Bits Per Stage? • Low per-stage resolution (e.g. 1-bit effective) – Need many stages + OTAs have small closed loop gain, large feedback factor • High speed • High per-stage resolution (e.g. 3-bit effective) + Fewer stages – O OTAs can be power p hungry, g y, especially p y at high g speed p – Significant loading from flash-ADC • Qualitative conclusion – Use low per-stage resolution for very high speed designs – Try higher resolution stages when power efficiency is most important constraint B. Murmann EE315B - Chapter 8 52 Power Tradeoff is Fairly Flat! [Chiu 2004] = parasitic cap at output/total sampling cap in each stage (junctions, wires, switches, …) • ADC p power varies by y only y ~2x across different stage g resolutions! EE315B - Chapter 8 B. Murmann 53 Examples Reference [Yoshioka, 2007] [Jeon, 2007] [Loloee 2002] [Bogner 2006] Technology 90nm 90nm 0.18um 0.13um Bits 10 10 12 14 Bits/Stage 1-1-1-1-1-1-1-3 2-2-2-4 1-1-1-1-1-1-1-1-1-1-2 3-3-2-2-4 SNDR [dB] ~56 ~54 ~65 ~64 Speed [MS/s] 80 30 80 100 Power [mW] 13.3 4.7 260 224 mW/MS/s 0.17 0.16 3.25 2.24 • Low power is possible for a wide range of architectures! B. Murmann EE315B - Chapter 8 54 Re-Cap • Choosing the "optimum" per-stage resolution and stage scaling scheme is a non-trivial task – But – optima are shallow! • Quality of transistor level design and optimization is at least as important p ((if not more important p than)) architectural optimization… • Next, look at circuit design details – Assume A we're ' ttrying i tto build b ild a 10 10-bit bit pipeline i li • • • • Recent technology, feature size ~0.18m or smaller Moderate to high-speed ~100MS/s 1 bit effective/stage, 1-bit ff ti / t using i "1 "1.5-bit" 5 bit" stage t ttopology l Dedicated front-end SHA EE315B - Chapter 8 B. Murmann 55 1.5-Bit Stage Implementation [Abo 1999] ([Lewis 1992]) • Cf is used as sampling cap during acquisition phase, as feedback cap in redistribution phase – Helps H l iimprove ffeedback db k ffactor t (max. ( 1/3 → max. 1/2) B. Murmann EE315B - Chapter 8 56 Residue Plot [Abo 1999] B. Murmann EE315B - Chapter 8 57 Comparators • Can tolerate large g offsets and large g noise with appropriate pp p redundancy • Consume negligible power in a good design – 50-100W 50 100 W or less l per comparator t • Lots of implementation options – Resistive/capacitive p reference g generation – Different pre-amp/latch topologies – … B. Murmann EE315B - Chapter 8 58 Comparator Examples Vin [Chiu 2004] [M h 2000] [Mehr B. Murmann EE315B - Chapter 8 59 OTA Design Considerations • Static amplifier error = 1/(DC Loop Gain) – E.g. for 0.1% accuracy in first stage of 10-bit ADC, need loop gain > 60dB • Dynamic settling error – Typically want to settle outputs to ~1/8 LSB accuracy within 1/2 clock l k cycle l • Thermal noise – Size capacitors p to satisfy y kT/C noise requirement q • Start by picking an OTA topology that will deliver sufficient gain – Or think about ways to compensate finite gain error… • General references on OTA design – [Boser 2005], [Murmann, EE315A] B. Murmann EE315B - Chapter 8 60 Switches [Ishii 2005] • Make switch RC ~ 10 times faster than OTA – Avoids speed degradation – Minimizes switch noise contribution • See e.g. [Schreier 2005] – Avoids stability issues due to poles in feedback network • Three choices for switches – Single N or P device – Transmission gate – Bootstrapped NMOS • For high swing nodes that require i constant t t Ron EE315B - Chapter 8 B. Murmann 61 Front-End SHA Need constant RON here to minimize signal dependent charge h iinjection j ti ffrom S1N, S1P Minimize Jitter! S1P S1N [Ishii 2005] B. Murmann EE315B - Chapter 8 62 Total Integrated OTA Noise (1) Cf N1 1 g m11 g m31 2...4 g m1 N2 1 g m 61 2 g m51 Cs Cc 1 kT kT 2 Vod 2 N1 2( N2 1) Cc CLtot Stage 1 Cf Cf Cs Cgs1 Stage 2 ignore in first cut design CLtot CL 1 Cf Cparasitic EE315B - Chapter 8 B. Murmann 63 Total Integrated OTA Noise (2) • Assuming =1, N1=N2=2 1 kT kT 2 Vod 4 6 Cc CLtot • OTA noise partitioning problem – How should we split noise between stage1 and stage2 terms? • In this design example we'll we ll use a 2/3 2/3, 1/3 split – This is yet another design/optimization parameter • With this assumption, we have 2 Vod 18 B. Murmann kT CLtot Cc EE315B - Chapter 8 CLtot 3 64 Stage 1 Noise Cs2 Cs1=C1P+C2P Cs1 / 2 1 Cs1 Cggs1 3 2 Vod ,1 18 1C CLtot Cs 2 1 s1 3 2 Vid2 ,1 kT Cs 2 Cs1 / 3 18 kT 2 Cs 2 Cs1 / 3 2 EE315B - Chapter 8 B. Murmann 65 SHA Noise Cs 0 1 Cs 0 Cgs1 2 Cs1 1C CLtot Cs1 1 s 0 2 2 Cs0 Design choice: Cs0 = Cs1 From sample phase (1) 2 2 Vod ,0 Vid ,0 18 B. Murmann kT kT kT 16 Cs1 Cs 0 / 4 Cs 0 Cs1 EE315B - Chapter 8 66 Noise Budgeting • Total input referred noise budget, assuming VFS,diff=1V – Nthermal = Nquant=LSB2/12=(1V/210)2/12=(280Vrms)2 • Reasonable "first cut" partitioning of input referred noise – SHA → 1/2 – Stage 1 → 1/4 – All remaining stages → 1/4 Vid2 ,0 16 Vid2 ,1 kT 1 2 280Vrms Cs1 1.66 pF Cs1 2 9 kT 1 2 280Vrms Cs 2 0.38 pF 2 Cs 2 Cs1 / 3 4 EE315B - Chapter 8 B. Murmann 67 Capacitor Sizes • Cs0 1.66pF Cs1 1 66 F 1.66pF Cs2 0.38pF Cs3 190fF Cs4 85fF Cs5 42.fF (minimum) … … Cs10 42.fF (minimum) /2 /2 /2 Now refine these numbers using simulation and Excel spreadsheet – Iterate over assumptions/design p g choices to optimize p design g B. Murmann EE315B - Chapter 8 68 Reality Check [Honda 2007] • Not too far off from a practical design… EE315B - Chapter 8 B. Murmann 69 Kawahito's Design Charts (1) (1-bit effective in each stage) [Kawahito 2006] (using single-stage OTA model) B. Murmann EE315B - Chapter 8 70 Kawahito's Design Charts (2) [[Kawahito 2006]] • Consider time-interleaving at high fs • In theory, y, plenty p y of room for p power improvement… EE315B - Chapter 8 B. Murmann 71 Selected References (1) • General – S. Kawahito, "Low-Power Design of Pipeline A/D Converters," Proc. CICC, pp. 505-512, Sep. 2006. • Redundancy & Calibration – S. H. Lewis et al., "A 10-b 20-Msample/s analog-to-digital converter," IEEE JSSC, pp. 351-358, Mar. 1992. – A. N. Karanicolas et al. "A 15-b 1-Msample/s p digitally g y self-calibrated p pipeline p ADC," IEEE J. Of Solid-State Circuits, pp. 1207-1215, Dec. 1993. – E. G. Soenen et al., "An architecture and an algorithm for fully digital correction of monolithic pipelined ADCs," IEEE TCAS II, pp. 143-153, Mar. 1995. – I. E. Opris et al., "A single-ended 12-bit 20 MSample/s self-calibrating pipeline A/D converter converter," IEEE JSSC JSSC, pp pp. 1898-1903 1898-1903, Dec Dec. 1998 1998. – L. Singer et al., "A 12 b 65 MSample/s CMOS ADC with 82 dB SFDR at 120 MHz," ISSCC Dig. Techn. Papers, pp. 38-39, Feb. 2000. – I. Mehr et al., "A 55-mW, 10-bit, 40-Msample/s Nyquist-rate CMOS ADC," IEEE JSSC, pp. 318-325, Mar. 2000. – J. Ming et al., "An 8-bit 80-Msample/s pipelined analog-to-digital converter with background calibration," IEEE JSSC, pp. 1489-1497, Oct. 2001. – S.-Y. Chuang et al., "A Digitally Self-Calibrating 14-bit 10-MHz CMOS Pipelined A/D Converter," IEEE JSSC, pp. 674-683, Jun. 2002. – J. J Markus et al al., "On the monotonicity and linearity of ideal radix radix-based based A/D converters," IEEE Trans. Instr. and Measurement, pp. 2454-2457, Dec. 2005. B. Murmann EE315B - Chapter 8 72 Selected References (2) • Implementation – T. Cho, "Low-Power Low-Voltage Analog-to-Digital Conversion Techniques using Pipelined Architecures, PhD Dissertation, UC Berkeley, 1995, http://kabuki eecs berkeley edu/ tcho/Thesis1 pdf http://kabuki.eecs.berkeley.edu/~tcho/Thesis1.pdf. – L. A. Singer at al., "A 14-bit 10-MHz calibration-free CMOS pipelined A/D converter," VLSI Circuit Symposium, pp. 94-95, Jun. 1996. – A. Abo, "Design for Reliability of Low-voltage, Switched-capacitor Circuits," PhD Dissertation,, UC Berkeley, y, 1999,, http://kabuki.eecs.berkeley.edu/~abo/abothesis.pdf. – D. Kelly et al., "A 3V 340mW 14b 75MSPS CMOS ADC with 85dB SFDR at Nyquist," ISSCC Dig. Techn. Papers, pp. 134-135, Feb. 2001. – A. Loloee, et. al, “A 12b 80-MSs Pipelined ADC Core with 190 mW Consumption from 3 V in 0 0.18-um, 18 um Digital CMOS” CMOS , Proc. Proc ESSCIRC ESSCIRC, pp pp. 467-469, 2002 – B.-M. Min et al., "A 69-mW 10-bit 80-MSample/s Pipelined CMOS ADC," IEEE JSSC, pp. 2031-2039, Dec. 2003. – Y. Chiu,, et al.,, "A 14-b 12-MS/s CMOS p pipeline p ADC with over 100-dB SFDR,” IEEE JSSC, pp. 2139-2151, Dec. 2004. – S. Limotyrakis et al., "A 150-MS/s 8-b 71-mW CMOS time-interleaved ADC," IEEE JSSC, pp. 1057-1067, May 2005. – T. N. Andersen et al., "A Cost-Efficient High-Speed 12-bit Pipeline ADC in 0 18 um Digital CMOS 0.18-um CMOS," IEEE JSSC JSSC, pp pp. 1506 1506-1513, 1513 Jul 2005 2005. B. Murmann EE315B - Chapter 8 73 Selected References (3) – P. Bogner et al., "A 14b 100MS/s digitally self-calibrated pipelined ADC in 0.13um CMOS," ISSCC Dig. Techn. Papers, pp. 832-833, Feb. 2006. – D. Kurose et al., "55-mW 200-MSPS 10-bit Pipeline ADCs for Wireless Receivers " IEEE JSSC Receivers, JSSC, pp pp. 1589 1589-1595, 1595 Jul. Jul 2006 2006. – S. Bardsley et al., "A 100-dB SFDR 80-MSPS 14-Bit 0.35um BiCMOS Pipeline ADC," IEEE JSSC, pp. 2144-2153, Sep. 2006. – A. M. A. Ali et al, "A 14-bit 125 MS/s IF/RF Sampling Pipelined ADC With 100 dB SFDR and 50 fs Jitter," IEEE JSSC, pp pp. 1846-1855, Aug. g 2006. – S. K. Gupta, "A 1-GS/s 11-bit ADC With 55-dB SNDR, 250-mW Power Realized by a High Bandwidth Scalable Time-Interleaved Architecture," IEEE JSSC, 2650-2657, Dec. 2006. – M. Yoshioka et al., "A 0.8V 10b 80MS/s 6.5mW Pipelined ADC with Regulated Overdrive Voltage Biasing Biasing," ISSCC Dig Dig. Techn Techn. Papers Papers, pp pp. 452 452453, Feb. 2007. – Y.-D. Jeon et al., "A 4.7mW 0.32mm2 10b 30MS/s Pipelined ADC Without a Front-End S/H in 90nm CMOS," ISSCC Dig. Techn. Papers, pp. 456-457, Feb. 2007. – K.-H. Lee et al., "Calibration-free 14b 70MS/s 0.13um CMOS pipeline A/D converters based on highmatching 3D symmetric capacitors," Electronics Letters, pp. 35-36, Mar. 15, 2007. – K. Honda et al., "A Low-Power Low-Voltage 10-bit 100-MSample/s Pipeline A/D Converter Using Capacitance Coupling Techniques," Techniques, IEEE JSSC, pp. 757-765, Apr. 2007. B. Murmann EE315B - Chapter 8 74 Selected References (4) • Per-Stage Resolution and Stage Scaling – D. W. Cline, "Noise, Speed, and Power Tradeoffs in Pipelined Analog to Digital g Converters",, PhD Dissertation,, UC Berkeley, y, November,, 1995,, http://kabuki.eecs.berkeley.edu/~cline/thesis/thesis.pdf. – D. W. Cline et al., "A power optimized 13-b 5 MSamples/s pipelined analogto-digital converter in 1.2um CMOS," IEEE JSSC, Mar. 1996 – Y. Chiu,, "High-Performance g Pipeline p A/D Converter Design g in Deepp Submicron CMOS," PhD Dissertation, UC Berkeley, 2004. – H. Ishii et al., "A 1.0 V 40mW 10b 100MS/s pipeline ADC in 90nm CMOS," Proc. CICC, pp. 395-398, Sep. 2005. • OTA Design, Design Noise – B. E. Boser, "Analog Circuit Design with Submicron Transistors," Presentation at IEEE Santa Clara Valley, May 19, 2005, http://www.ewh.ieee.org/r6/scv/ssc/May1905.htm – B. B Murmann Murmann, EE315A Course Material, Material http://ccnet.stanford.edu/cgihttp://ccnet stanford edu/cgi bin/handouts.cgi?cc=ee315a – R. Schreier et al., "Design-oriented estimation of thermal noise in switchedcapacitor circuits," IEEE TCAS I, pp. 2358-2368, Nov. 2005. B. Murmann EE315B - Chapter 8 75 Selected References (5) • Capacitor Matching Data – C. H. Diaz et al., "CMOS technology for MS/RF SoC," IEEE Trans. Electron Devices, pp. 557-566, Mar. 2003. – A. Verma et al., "Frequency-Based Measurement of Mismatches Between Small Capacitors," Proc. CICC, pp. 481-484, Sep. 2006. • Reference Generator – T. T L. L Brooks et al al., "A A low low-power power differential CMOS bandgap reference reference," ISSCC Dig. Techn. Papers, pp. 248-249, Feb. 1994. • Research – B. Murmann et al., "A 12-bit 75-MS/s Pipelined ADC using Open-Loop R id A Residue Amplification," lifi ti " IEEE JSSC JSSC, pp. 2040 2040-2050, 2050 D Dec. 2003 2003. – J. Fiorenza et al., "Comparator-Based Switched-Capacitor Circuits for Scaled CMOS Technologies, " IEEE JSSC, pp. 2658-2668, Dec. 2006. – E. Iroaga et al. "A 12b, 75MS/s Pipelined ADC Using Incomplete Settling," IEEE JSSC JSSC, pp. 748 748-756, 756 A Apr. 2007 2007. – J. Hu, N. Dolev and B. Murmann, "A 9.4-bit, 50-MS/s, 1.44-mW Pipelined ADC using Dynamic Residue Amplification,“ VLSI Circuits Symposium, June 2008. B. Murmann EE315B - Chapter 8 76 Bit-at-a-Time ADCs Time Interleaving Katelijn Vleugels St f d University Stanford U i it Copyright © 2011 by Boris Murmann & Katelijn Vleugels B. Murmann EE315B - Chapter 9 1 Cyclic ADC • Essentiallyy same as p pipeline, p , but a single g stage g is used in a cyclic fashion for all operations • Need many clock cycles per conversion B. Murmann EE315B - Chapter 9 2 Implementation Example 1 Vo1 C Vo1 1 5 Vo 2 C6 [Erdogan et al. JSSC 12/99] 2 Vo2 Vo 2 Vip Vref CC4 3 EE315B - Chapter 9 B. Murmann 3 Discussion • Advantages – Area efficient • Typically only one or two switched capacitor stages plus comparator – Easy to calibrate • Need to measure only one coefficient (capacitor ratio) • Disadvantages – Slow • Need many clock cycles for a single conversion – Sub-optimal power efficiency • Cannot scale stages like in a pipeline ADC • Noise and accuracy requirements decrease from MSB to LSB cycle, but invested circuit energy per cycle is (usually) constant B. Murmann EE315B - Chapter 9 4 Successive Approximation Register ADC • Binary search over DAC output • High accuracy achievable (16+ Bits) – Relies on highly accurate comparator • Moderate speed (1+ MHz) EE315B - Chapter 9 B. Murmann 5 Implementation • See e.g. [McCreary, JSSC 12/1975] B B C1A C1B C B. Murmann C2 2C C3 4C EE315B - Chapter 9 CB 2B 1C 6 Sampling Phase (5-bit Example) • Sample: Sx closes, S1A, S1B, S2,…, S5 connected to Vin • Total charge at node Vx after opening Sx Q Vin 32C Vin Ctotal B. Murmann EE315B - Chapter 9 7 Bit5 Test (MSB) Q Vin Ctotal Vx Vref 16C Vx 16C Cp Ctotal 1 Vx Vref Vin 2 Ctotal Cp • Vx<0 Vin>0.5Vref Bit5=1 • Vx>0 0 Vin<0.5V 0.5Vref Bit5 Bit5=0 0 B. Murmann EE315B - Chapter 9 8 Bit4 Test (Assuming bit5=0) Q Vin Ctotal Vx Vref 8C Vx 24C Cp Ctotal 1 Vx Vref Vin 4 Ctotal Cp • Vx<0 Vin>0.25Vref Bit4=1 • Vx>0 0 Vin<0.25V 0.25Vref Bit4 Bit4=0 0 B. Murmann EE315B - Chapter 9 9 Limitations • Conversion rate typically limited by finite bandwidth of RC network during sampling and bit-tests • For high resolution, the binary weighted capacitor array can become quite large – E.g. g 16-bit resolution,, Ctotal~100pF p for reasonable kT/C noise contribution • If matching is an issue, an even larger value may be needed – E.g. E if matching t hi di dictates t t Cmin=10fF, 10fF then th 216Cmin=655pF 655 F • Commonly used techniques – Implement p "two-stage" g or "multi-stage" g capacitor p network to reduce array size [Yee, JSSC 8/79] – Calibrate capacitor array to obtain precision beyond raw technology gy matching g [[Lee,, JSSC 12/84]] B. Murmann EE315B - Chapter 9 10 High Performance Example B. Murmann EE315B - Chapter 9 11 Low Power Example M.D. Scott, B.E. Boser, K.S.J. Pister, "An ultralow-energy ADC for Smart Dust " IEEE JJ. Solid Dust, Solid-State State Circuits Circuits, pp pp. 1123 -1129, 1129 July 2003 2003. B. Murmann EE315B - Chapter 9 12 O Oversampling li A/D Conversion C i Katelijn Vleugels Stanford University Copyright © 2011 by Boris Murmann & Katelijn Vleugels B. Murmann EE315B - Chapter 10 1 Recap • Sampling theorem fs 2fsig ,max • One good reason for sampling faster ("oversampling") – Can use lower order anti-alias filter B. Murmann EE315B - Chapter 10 2 Anti-Alias Filtering EE315B - Chapter 10 B. Murmann 3 Quantization Noise Ne(f) 2/12 fB fs/2 • Recall that the "noise" introduced by quantizer is evenly distributed across all frequencies – Provided that quantization error sequence is "sufficiently random" • Idea: Let's filter out the noise beyond f=fB! B. Murmann EE315B - Chapter 10 4 Digital Noise Filter (1) f B 2 f s / 2 12 • 2 12 Total quantization noise at digital output is reduced proportional to "oversampling ratio" M=(fs/2)/fB EE315B - Chapter 10 B. Murmann 5 Digital Noise Filter (2) • Increasing M by 2x, means 3-dB reduction in quantization noise power, and thus 1/2 bit increase in resolution – "1/2 bit per octave" • Is this useful? • Reality R lit check h k – Want 16-bit ADC, fB=1MHz – Use oversampled 8-bit ADC with digital lowpass filter – 8-bit increase in resolution necessitates oversampling by 16 octaves fs 2 fB M 2 1MHz MH 216 131GHz B. Murmann EE315B - Chapter 10 6 Noise Shaping Modulators • Sample and coarsely quantize the input at a rate well above the Nyquist rate • Shape the spectrum of the quantization noise so as to push most of its energy outside the signal baseband • Out-of-band noise, including quantization noise, is suppressed by a subsequent digital lowpass filter (ie decimation filter) • Output of the digital filter can be resampled at a lower sampling rate if the filter provides adequate anti-aliasing, as well as noise suppression B. Murmann EE315B - Chapter 10 7 Noise Shaping • Idea: "S Id "Somehow" h "b build ild an ADC th thatt h has mostt off its it quantization ti ti noise at high frequencies • Key: Feedback B. Murmann EE315B - Chapter 10 8 Noise Shaping Using Feedback (1) Y z E z A z X z A z Y z E z Az 1 X z 1 A z 1 A z E z HE z X z H X z Noise Transfer Function Signal Transfer Function EE315B - Chapter 10 B. Murmann 9 Noise Shaping Using Feedback (2) Y z E z Az 1 X z 1 A z 1 A z Noise Transfer Function Signal Transfer Function • Objective – Want to make STF unity in the signal frequency band – Want W t to t make k NTF "small" " ll" in i the th signal i l frequency f band b d • If the frequency band of interest is around DC (0…fB) we achieve this byy making g ||A(z)| ( )| >>1 at low frequencies q – Means that NTF is <<1 – Mans that STF 1 B. Murmann EE315B - Chapter 10 10 Discrete Time Integrator V z z 1U z z 1V z v k u k 1 v k 1 V z U z • z 1 1 z 1 1 z 1 z e j T "Infinite gain" at DC (=0, z=1) EE315B - Chapter 10 B. Murmann 11 First Order “Delta-Sigma” Modulator -1 -1 1 Y z E z X z z 1 E z 1 z 1 X z z 1 1 1 1 1 z 1 z 1 1 • Output is equal to delayed input plus filtered quantization noise B. Murmann EE315B - Chapter 10 12 NTF Frequency Domain Analysis He ( z ) 1 z 1 e j T / 2 e j T / 2 He ( j ) 1 e j T 2e j T / 2 2 2e j T 2 T j sin 2 T 2 sin 2 j e T 2 f He ( f ) 2 sin fT 2 sin fs • "First order noise Shaping" • Quantization noise is attenuated at low frequencies, amplified at high g frequencies q EE315B - Chapter 10 B. Murmann 13 In-Band Quantization Noise (1) • Question: If we had an ideal digital lowpass, what would be the achieved SQNR as a function of oversampling ratio? • Can integrate shaped quantization noise spectrum up to fB and compare to full-scale signal Pqnoise fB 0 fB 0 f 2 2 2 sin 12 fs fs 2 2 12 fs 2 df 2 f 2 df fs 3 2 2 2fB 2 2 1 12 3 fs 12 3 M 3 B. Murmann EE315B - Chapter 10 14 In-Band Quantization Noise (2) • Assuming a full-scale sinusoidal signal, we have SQNR Psig Pqnoise 2 B 1 2 1 2 2 1.5 2B 1 2 3 M 3 2 2 2 1 Due to noise 12 3 M 3 shaping & digital filter 1.76 6.02B 5.2 30 log( M ) • dB (for large B) Each 2x increase in M results in 8x SQNR improvement – 9dB (1.5bits) per octave oversampling EE315B - Chapter 10 B. Murmann 15 SQNR Improvement • Example revisited – Want 16-bit ADC, fB=1MHz – Use oversampled 8-bit ADC, first order noise shaping and (ideal) digital lowpass filter • SQNR improvement compared to case without oversampling is -5.2dB+30log(M) 5 2dB+30l (M) – 8-bit increase in resolution (48dB SQNR improvement) would necessitate M60 • N t allll th Not thatt b bad! d! B. Murmann M SQNR improvement SQ po e e t 16 31dB (~5 bits) 256 67dB (~11 bits) 1024 85dB (~14 ( 14 bits) EE315B - Chapter 10 16 DAC Requirements Y z E z Az 1 X z DAC z 1 A z 1 A z • DAC error is indistinguishable g from signal g – Means that DAC must be precise to within target resolution • For the previous example, this means that we need an 8-bit DAC whose h output t t llevels l h have 16 16-bit bit precision… i i EE315B - Chapter 10 B. Murmann 17 Solutions • Trimming or calibration – Measure DAC levels during test or at power-up – Apply A l correction ti values l tto each h llevell using i auxiliary ili DAC • Dynamic Element Matching Algorithms – Shuffle DAC unit elements to obtain fairly y precise p "average" g output levels – Two ways • Data independent shuffling • Data dependent shuffling – Data dependent shuffling algorithms allow to push most of the DAC "noise" outside the signal band – See S e.g. [Carley, [C l JSSC 4/1989] 4/1989], [G [Galton, lt TCAS II 10/1997] 10/1997], [Vleugels, JSSC 12/2001] • Single bit DAC B. Murmann EE315B - Chapter 10 18 Data Independent Shuffling (1) Carley, L.R., "A noise-shaping coder topology for 15+ bit converters," IEEE JSSC, vol.24, no.2, pp.267-273, Apr. 1989. B. Murmann EE315B - Chapter 10 19 Data Independent Shuffling (2) Carley, L.R., "A noise-shaping coder topology for 15+ bit converters," , IEEE JSSC,, vol.24,, no.2, pp.267-273, Apr. 1989. B. Murmann EE315B - Chapter 10 20 Data Dependent Shuffling (1) • • Select elements such that each one is used (on average) the same number of times DAC errors quickly sum to zero; errors are pushed to high frequencies R.T. Baird, and T.S. Fiez, "Improved p ∆Σ DAC linearity using data weighted averaging ," IEEE ISCAS, pp.13-16, May 1995. B. Murmann EE315B - Chapter 10 Code 3 Code 4 Code 2 21 Data Dependent Shuffling (2) B. Murmann EE315B - Chapter 10 22 Single-Bit DAC • A single bit DAC has only two output levels • Even if these two levels are imprecise, imprecise the errors will only affect gain and offset of the DAC and modulator – Tolerable in many applications EE315B - Chapter 10 B. Murmann 23 Modulator with Single-Bit Quantizer (1) • Model 1 bit 1-bit code • Expected SQNR (from slide 15 with B=1) 2 SQNR Psig Pqnoise 1 9 2 2 2 2 2 M3 1 2 3 12 3 M 3.4 30 log( M ) • dB E.g. M=128 SQNR=60dB B. Murmann EE315B - Chapter 10 24 Modulator with Single-Bit Quantizer (2) • Implementation example [Schreier, p. 31] • Not all that great in terms of achievable SQNR, but sufficient for some applications – E.g. digital voltmeter • See [van de Plassche, pp. 469] B. Murmann EE315B - Chapter 10 25 Simulated Response B. Murmann EE315B - Chapter 10 26 Spectrum [Schreier, p. 39] f/fs • Looks like there is some noise shaping, but SQNR=55dB is lower than the expected 60dB B. Murmann EE315B - Chapter 10 27 Amplitude and Frequency Dependence [Schreier, p. 40] [M=256] • Erratic dependence on amplitude and frequency – Simple S linear model ffails to predict this behavior • Issue: Quantization error sequence is not "sufficiently random", as assumed in the beginning g g of this discussion B. Murmann EE315B - Chapter 10 28 Quantization Error in 1st Order Modulator Input x(n) 0.5 0 Qua antization error e(n) -0.5 0.5 0 • 200 400 600 800 1000 200 400 600 Sample index n 800 1000 0.5 0 -0.5 05 0 A complicated complicated, but deterministic function of the input B. Murmann EE315B - Chapter 10 29 Aside: Quantizer Gain • Another issue is that the gain of the single bit quantizer is illdefined, but we assumed it to be unity in our analysis • The actual quantizer gain can be found from simulations, and then plugged back into the linear model for better agreement (and stability analysis using root locus, etc.) • References – Schreier, Sections 3.2 and 4.2 – S. S A Ardalan, d l and d JJ. P Paulos, l "A "An analysis l i off nonlinear li b behavior h i in delta - sigma modulators," IEEE TCAS, vol.34, no.6, pp. 593-603, June 1987. – T. T Ritoniemi, Rit i i T T. K Karema, and dH H. T Tenhunen, h "D "Design i off stable t bl high order 1-bit sigma-delta modulators," Proc. IEEE ISCAS, pp. 3267-3270, May 1990. B. Murmann EE315B - Chapter 10 30 Tones • Since the quantization error is correlated with the input, the shaped quantization noise contains spurious tones, some of which lie in the signal band • The linear model cannot predict these tones • It is generally difficult to predict tonal behavior for arbitrary inputs, even with a nonlinear model – Analytical results exist for DC and sine inputs, see e.g. • R.M. Gray "Spectral analysis of quantization noise in a singleloop sigma sigma-delta delta modulator with DC input input,"" IEEE Trans Trans. Comm., pp. 588-599, June 1989. • R.M. Gray et al., Quantization noise in single-loop sigma-delta modulation with sinusoidal inputs," IEEE Trans. Comm., pp. 956-968, Sept 1989. • Interesting and intuitive to look at DC input as a worst case B. Murmann EE315B - Chapter 10 31 DC Input (1) • E.g. x(n)=0 – Modulator generates an alternating sequence of 1s and 0s – Single Si l ttone att fs/2; /2 no llow ffrequency componentt • E.g. x(n)=0.001/2 – Compared to previous example, only one in 1000 outputs will change – Output has period of 1000T, and hence contains a low frequency, in-band in band component B. Murmann EE315B - Chapter 10 32 DC Input (2) • For a DC input, the modulator output consists of discrete tones ("idle tones") with power and frequency given by sin fkT Pk k 2 x fk k DC 0.5 fs where k is an integer, and r represents the fractional part of r (r modulo 1) • Strongest tones occur for small k, due to reciprocal dependence • The plot on the following slide shows the total mean square error due to in in-band band idle tones as a function of DC input (M=16) (M 16) B. Murmann EE315B - Chapter 10 33 MSE due to Idle Tones X/ B. Murmann EE315B - Chapter 10 34 Idle Tone Considerations • Idle tones are known to be a significant issue in audio applications – The human ear can detect tones ~20dB below the thermal/quantization noise floor • If idle tones are an issue, there are several options for mitigating their impact – Larger L oversampling li ratio ti – Multi-bit quantizer and DAC – Dither • S Superimpose i a pseudorandom d d signal i l att th the quantizer ti iinputt tto ""whiten" hit " quantization noise – See e.g. Chapter 3 of Delta-Sigma Data Converters by Norsworthy, Schreier & Temes. – Overdesign by making quantization noise much smaller than electronic noise from integrators • Noisy integrator(s) help randomize quantization error sequence – Higher order modulators • Naturally produce "more random" quantization error sequences B. Murmann EE315B - Chapter 10 35 Higher Order Modulators • Motivation: better SQNR Q for a given g oversampling p g ratio,, p plus improved idle tone performance as a side benefit • Commonly used architectures – Single Si l quantizer ti loop l with ith hi higher h order d filt filtering i • Essentially a logical extension to the first order noise shaping concept discussed previously – Cascaded, Cascaded multi-stage m lti stage mod modulators lators • Contain a separate quantizer in each stage B. Murmann EE315B - Chapter 10 36 Higher Order Noise Shaping • Lth order noise transfer function HE ( z ) 1 z 1 L EE315B - Chapter 10 B. Murmann 37 In-Band Quantization Noise Pqqnoise fB 0 fB 0 f 2 2 2 sin 12 fs fs 2 2 12 fs f 2 fs 2 2L 2fB 12 2L 1 fs 2 2L 1 12 2L 1 M • 2L df 2L df 2 L 1 2L 1 For an Lth order modulator, every doubling of M results in an increase in SQNR of 6L+3dB (L+0 (L+0.5bits) 5bits) B. Murmann EE315B - Chapter 10 38 SQNR [d dB] SQNR with Single Bit Quantizer EE315B - Chapter 10 B. Murmann 39 Building a Second-Order Modulator (1) • General idea: Start with a first order modulator and replace p quantizer by another first order loop -1 -1 B. Murmann -1 -1 EE315B - Chapter 10 40 Building a Second-Order Modulator (2) • More general structure -1 -1 a1 a2 -1 -1 b a a z 2 HX z 1 2 D z D( z ) 1 z 1 B. Murmann 2 1 z z 1 HE a2bz 1 1 z 1 a1a2 z 2 1 2 D z a a2 1 and b 2 e.g. for 1 a1 0.5,a2 2 and b 1 EE315B - Chapter 10 41 Boser-Wooley Modulator (1) (Single-bit) [Boser & Wooley, JSSC 12/1988] • a1=0.5 =0 5 and b=1 b=1, but a2=0.5 =0 5 (instead of 2) • Since the integrator is followed by a single-bit quantizer, a2 can be scaled to reduce swing requirements in second integrator B. Murmann EE315B - Chapter 10 42 Boser-Wooley Modulator (2) EE315B - Chapter 10 B. Murmann 43 Performance of 2nd Order Modulator [Schreier, p.70] • Compared to first order modulator, SQNR is in "better" agreement with simple linear model • Improved idle tone performance -20 O -30 1st order O -40 O O -50 O X O -60 X -70 X -80 2nd order -90 X -100 X -110 -120 X 8 16 32 64 128 256 512 1024 Oversampling Ratio B. Murmann EE315B - Chapter 10 44 Single Quantizer Modulators with Order >2 • Most general (mathematical) filter decomposition He ( z ) L0 ( z ) B. Murmann 1 1 L1( z ) Hx ( z ) Hx ( z ) He ( z ) L1( z ) 1 L0 ( z ) 1 L1( z ) 1 He ( z ) VLSI Data Conversion Circuits - Part 9 45 Stability • Having more than two integrators in a feedback loop means that the loop can be unstable (criterion = BIBO) • From the diagram of the previous slide, it is clear that the stability of the loop mostly depends on L1(z), and therefore the characteristics of the NTF • How about the nonlinear transfer characteristic of the quantizer? – Unfortunately, there is no crisp mathematical result that would address this question for all possible configurations – One important, and general aspect of having a nonlinearity in the loop is that the stability becomes dependent on the signal (and also L0)! • In practice, designers rely on a combination of stability analyses using the linear model (!), established “heuristics,” and time d domain i simulations i l ti off th the nonlinear li model d l B. Murmann EE315B - Chapter 10 46 Stability Heuristics • Single-bit – First order modulator is stable (bounded integrator output) with arbitrary inputs of less than /2 in magnitude – Second order modulator is known to be stable with arbitrary inputs of less than /20 in magnitude, and for "reasonable", slow varying inputs of magnitude <0.8·/2, integrator outputs are "likely" to stay within bounds – Lee's criterion: modulator is "likely" to be stable if max[He()]<1.5 • Multi-bit – A modulator with Nth order differentiation using an N+1 bit quantizer is stable for arbitrary inputs with amplitude less than half the quantizer input range (Schreier, p. 104) – … B. Murmann EE315B - Chapter 10 47 Achievable SQNR • Diminishing return for order greater 5-6 B. Murmann EE315B - Chapter 10 48 Topology Example: Single Feedback Loop He ( z ) B. Murmann 1 1 A( z ) Hx ( z ) A( z ) 1 in band of interest 1 A( z ) EE315B - Chapter 10 49 Topology Example: CIFB Architecture [Schreier, p. 115] • “Cascade of Integrators with Feedback” • All zeros of NTF lie at DC for this structure, i.e. HE(z) = (1-z-1)N • Can create complex conjugate zeros by adding feedback paths around pairs of integrators (cascade of resonators, CRFB structure) B. Murmann EE315B - Chapter 10 50 Typical Design Procedure • "Cookbook design" – See e.g. Delta-Sigma Data Converters, by Norsworthy, Schreier & Temes, Sections 4.4 and 5.6 – Choose order based on desired SQNR and M – Design g NTF using g filter approximations pp ((e.g. g Chebyshev2) y ) • Make sure to obey Lee's criterion – Determine loop-filter transfer function and evaluate performance and stability p y using g simulations – Determine implementation-specific coefficients – Scale coefficients to restrict integrator outputs to stay within available range (“dynamic ( dynamic range scaling scaling")) • Delta-Sigma Toolbox for MATLAB (by Richard Schreier) – http://www.mathworks.com/matlabcentral/fileexchange – Look under "Controls" and find "Delsig" toolbox B. Murmann EE315B - Chapter 10 51 "Cookbook" NTF Design Example (1) % design parameters L=4; % order M 64 % oversampling M=64; li ratio ti % stop-band attenuation; reduce if needed to make max(|He(w)|<1.5) Rstop = 80; [b,a] = cheby2(L, Rstop, 1/M, 'high'); % normalize to make He(z->inf)=1; needed for realizability % makes first sample of impulse response of He equal to 1 % makes first sample of impulse response of A equal to 0 % (must have at least one delay around quantizer) b = b/b(1); % check Lee's rule; want max(|He(w)|<1.5 ) NTF = filt(b, a, 1) [mag] = bode(NTF bode(NTF, pi) B. Murmann EE315B - Chapter 10 52 "Cookbook" NTF Design Example (2) Transfer function: 1 - 3.998 z^-1 + 5.995 z^-2 - 3.998 z^-3 + z^-4 -----------------------------------------------------1 - 3.247 z^-1 + 4.013 z^-2 - 2.231 z^-3 + 0.4699 z^-4 mag = 1.459 0 He [dB B] -20 -40 40 -60 -80 -100 B. Murmann 10 -3 -2 10 Frequency [f/f s] 10 -1 EE315B - Chapter 10 53 "Cookbook" NTF Design Example (3) % Loop filter transfer function A = inv(NTF) - filt(1,1,1) Transfer function: 0.7505 z^-1 - 1.982 z^-2 + 1.766 z^-3 - 0.5301 z^-4 --------------------------------------------------1 - 3.998 z^-1 + 5.995 z^-2 - 3.998 z^-3 + z^-4 % Check realizability a = impulse(A); a(1) ans = 0 B. Murmann EE315B - Chapter 10 54 Commercial Example EE315B - Chapter 10 B. Murmann 55 Cascaded Modulators Analog In x y DELAY • – e x + y Digital Di it l Out DIGITAL DIFFERENCE Concept – Cascade of two or more stable (low order) modulators – Quantization error of each stage is quantized by the succeeding stages and subtracted in digital domain B. Murmann EE315B - Chapter 10 56 Second Order (1-1) Cascade Y1(z) = z–1X(z) + (1 – z–1)E1(z) Y2(z) = z–1E1(z) + (1 – z–1)E2(z) Y(z) = z–1Y1(z) – (1 – z–1)Y2(z) = z–2X(z) + z–1(1 – z–1)E1(z) – z–1(1 – z–1)E1(z) – (1 – z–1)2E2(z) Y(z) = z–2X(z) – (1 – z–1)2E2(z) • Second order noise shaping using two first order loops! B. Murmann EE315B - Chapter 10 57 Properties • Order of overall noise shaping is equal to sum of modulator orders • No stability issues • Improved idle tone performance – Input I t off second d stage t is i "noise " i like" lik " – Remaining quantization error from second stage is very close to white noise • Cancellation of first stage quantization noise depends on matching between analog and digital signal paths – Hard to suppress pp first stage g q quantization error by y more than 40dB – Mismatch will affect idle tone performance B. Murmann EE315B - Chapter 10 58 1-1-1 Cascaded Modulator (MASH) 1 z-1 1 z-1 1 z-1 B. Murmann EE315B - Chapter 10 59 Mismatch Sensitivity B. Murmann EE315B - Chapter 10 60 2-1 Cascade B. Murmann EE315B - Chapter 10 61 Mismatch Sensitivity B. Murmann EE315B - Chapter 10 62 Circuit Level Considerations • Electronic noise • Integrator leak – Finite OTA gain • Integrator nonlinearity – OTA dynamic d i settling ttli error – OTA slewing – Capacitor voltage coefficients • Comparator hysteresis – Usually not a problem; simulations show that up to a few % hysteresis can be tolerated • Unwanted mixing effects – E.g. if Vref contains fs/2, out of band noise will be mixed down g band into signal B. Murmann EE315B - Chapter 10 63 Electronic Noise E.g. 2nd Order Switched Capacitor Modulator • Noise from 1st integrator is added directl directly to the inp inputt – Digital filter will reduce this noise by oversampling ratio • Noise from 2nd integrator is first-order noise shaped! – Digital Di it l filt filter will ill remove mostt off thi this noise i • Especially for high oversampling ratios, only the first one or two integrators add significant noise – Qualitatively, Qualitatively this also holds for other imperfections imperfections. B. Murmann EE315B - Chapter 10 64 Example – Noise from Second Integrator Can show: EE315B - Chapter 10 B. Murmann 65 Integrator Analysis (1) t/Ts Qs QI n-1 Cs·Vi(n-1) CI·Vo(n-1) n-1/2 0 CI·V Vo(n-1/2) = CI·V Vo(n-1) + Cs·V Vi(n-1) n Cs·Vi(n) CI·Vo(n) = CI·Vo(n-1) + Cs·Vi(n-1) n+1/2 … … B. Murmann EE315B - Chapter 10 66 Integrator Analysis (1) Assuming that Vo is sampled during 1, we have • CIVo ( n ) CIVo ( n 1) CsVi ( n 1) CIVo ( z ) z 1CIVo ( z ) z 1CsVi ( z ) • Vo ( z ) Cs z 1 Vi ( z ) CI 1 z 1 Unfortunately, this ideal expression holds only for infinite amplifier gain – Let's look at impact of finite gain EE315B - Chapter 10 B. Murmann 67 Integrator Leak (1) A t/Ts Qs QI n-1 Cs·Vi(n-1) CI·Vo(n-1)·[1+1/A] n-1/2 Cs·Vo(n-1/2)/A CI·Vo(n-1/2)·[1+1/A] = CI·Vo(n-1)·[1+1/A] + Cs·V Vi(n (n-1) 1) - Cs·V Vo(n (n-1/2)/A 1/2)/A n Cs·Vi(n) CI·Vo(n)·[1+1/A] = CI·Vo(n-1)·[1+1/A] + Cs·Vi(n-1) - Cs·Vo(n)/A n+1/2 … … B. Murmann EE315B - Chapter 10 68 Integrator Leak (2) • Again, assuming that Vo is sampled during 1, we have C 1 1 CIVo ( z ) 1 z 1CIVo ( z ) 1 z 1CsVi ( z ) s Vo ( z ) A A A 1 C z 1 1 1 s A CI Vo ( z ) Cs g z 1 Vi ( z ) CI 1 Cs 1 1 1 z 1 z 1 1 A CI Vo ( z ) 1 z 1Vo ( z ) g z 1Vi ( z ) • Finite gain results in "leaky integrator" – Some fraction of previous output is lost in new cycle B. Murmann EE315B - Chapter 10 69 Frequency Domain View • Limited gain at low frequencies (→0, z →1) H0 H( z ) z 1 • g g A 1 1 But noise shaping p g relies on high g integrator g g gain at low frequencies… q B. Murmann EE315B - Chapter 10 70 Required DC Gain [B [Boser &W Wooley, l JSSC 12/1988] • Good practice to make OTA gain at least a few times larger than oversampling ratio B. Murmann EE315B - Chapter 10 71 State-of-the-art Continuous Time Modulator [Mitteregger, ISSCC 2006] • B. Murmann 4-stage amplifier with f feedforward f compensation – Impractical for SC circuits – Great for CT delta-sigma modulators EE315B - Chapter 10 72 Multi-Mode Modulator [Ouzounov ISSCC 2007] [Ouzounov, B. Murmann • Delta-sigma g ADCs are more amenable to BW and DR reconfiguration – Very hard to reconfigure fi pipelined i li d ADCs • Great for flexible, multistandard wireless receivers EE315B - Chapter 10 73 Decimation Filters • References – J. Candy, "Decimation for Sigma-Delta Modulation," IEEE Trans Communications, Trans. Communications pp. pp 72 72-76, 76 Jan. Jan 1986 1986. – Chapters 1 and 13 of Delta-Sigma Data Converters, by Norsworthy, Schreier, Temes. – B.P. B P Brandt and B B.A. A Wooley Wooley, "A A low-power, low power area area-efficient efficient digital filter for decimation and interpolation," IEEE J. SolidState Circuits, pp. 679-687, June 1994. – E. Hogenauer, g , "An economical class of digital g filters for decimation and interpolation," IEEE Trans. Acoustics, Speech and Signal Processing, pp. 155-162, Apr 1981. • j Objectives – Remove out-of band quantization noise – Re-sample at lower frequency • Ideally y at Nyquist yq rate B. Murmann EE315B - Chapter 10 74 Example Decimation Filter (M = 256) fS Analog Input 11.3 MHz Modulator 1-Bit 1 Bit (2nd-Order) 11.3 MHz fN 44.1 kHz Digital g Output (16 Bits) Quantization Noise Signal Noise Frequency • Frequency Frequency Filter must attenuate spectral components around ± N·fN, – Otherwise theyy will alias onto signal g after re-sampling g B. Murmann EE315B - Chapter 10 75 Filter Requirements • Pass band 0…20kHz, transition band 20…24.1kHz (f=4.1kHz), stop band 24.1kHz…5.65MHz • A digital FIR filter that meets these requirements would require more than fs/f = 11.3MHz/4.1kHz 2800 coefficients – Impractical! B. Murmann EE315B - Chapter 10 76 Multi-Step Decimation • Key idea: Don’t try to decimate down to fN in one step – Perform a gradual reduction of sampling rate + some filtering – E.g. E T Two-step t decimation d i ti • Example: M1=64, fs/M1=176.4kHz EE315B - Chapter 10 B. Murmann 77 Sinc Filter (1) • A popular, low complexity choice for stage 1 is the so-called sinc-filter • From a time domain perspective, this filter simply computes the average of several samples y( n ) • Frequency q y domain H( z ) • N 1 1 z N 1 z 1 1 N 1 x n i N i 0 f sin N fs 1 H( ) f N fs j f N 1 e fs Zeros at multiples of fs/N – Make N=M1 to attenuate alias components! B. Murmann EE315B - Chapter 10 78 Cascade of K Sinc Filters 0 -10 -20 20 -30 -40 -50 K=1 -60 K=2 -70 K=3 -80 90 -90 -100 0 f B fN fs1 M1 2f s1 M1 Frequency 3f s1 M1 • Higher order means better rejection – But also more in-band droop • Can show that for Lth order noise shaping, p g, an ((L+1))th order sinc filter is the best choice B. Murmann EE315B - Chapter 10 79 Sinc Filter Performance Noise penalty relative to "brick wall" filter Droop [N [Norsworthy, th p.30] 30] [Norsworthy, p.31] • Only about 0.14 dB increase in baseband noise for decimation to an intermediate oversampling ratio of 4 • If droop is undesired, it can be corrected downstream, using a separate post-emphasis filter B. Murmann EE315B - Chapter 10 80 Sinc Filter Performance (2) • In addition to suppressing quantization noise, the filter must attenuate out-of-band signals present at the modulator input – Worst case freqeuncy is fs/M1-ffB – E.g. 50dB for sinc3, and intermediate oversampling of 4x – Any additional desired rejection must come from analog filter at modulator input [Norsworthy, p.31] EE315B - Chapter 10 B. Murmann 81 Sinc Filter Implementation Numerator Section: X 1 – z -1 Y + X Y Delay Denominator Section: X B. Murmann 1 1 – z -1 Y X + Y Delay EE315B - Chapter 10 82 Complete Filter Implementation THIRDORDER SINC FILTER 1 IN 11 3 11.3 MHz 20 176.4 176 4 kHz FIRST HALFBAND FILTER ( (R=18) ) M 1 = 64 22 88.2 88 2 kHz SECOND DROOP 22 16 HALFBAND CORRECTION FILTER FILTER 44.1 44 1 ( (R=110) ) ( (R=8) ) kHz M2 = 2 OUT 44 1 44.1 kHz M3 = 2 0 Passband Ripple = ± 0.01 dB -10 -20 [Brandt & Wooley, JSSC 6/1994] -30 -40 40 Second Halfband Filter -50 -60 First Halfband Filter Third-Order Sinc Filter -70 -80 -90 -100 0 20 40 60 80 100 120 140 160 180 200 FREQUENCY (kHz) EE315B - Chapter 10 B. Murmann 83 Droop Correction 0.6 0.5 0.4 0.3 Droop-Correction Filter 0.2 First Halfband Filter 0.1 0.0 -0.1 -0.2 Second Halfband Filter Third-Order Sinc Filter -0.3 -0.4 05 -0.5 -0.6 0 2 4 6 8 10 12 14 16 18 20 22 FREQUENCY (kHz) B. Murmann EE315B - Chapter 10 84 Implementation SINC FILTER INTEGRATORS 20 20 20 20 20 Addr Virtual Addr. Logic 7 7 8 7 Data RAM PROCESSOR Addr (128 x 22) R/W Dout • Can use serial C i l arithmetic to minimize hardware area – Since Si output t t rate t is i usually fairly low Coefficient/ Control ROM (256 x 22) Din 22 22 13 22-Bit Arithmetic Unit (AU) B. Murmann 43 multiplications and 84 additions per output sample Modulator Output 20 CLK (11.3 MHz) Processor Input • Ctrl. Filter Output EE315B - Chapter 10 85 O Oversampling li D/A Conversion C i Katelijn Vleugels Stanford University Copyright © 2011 by Boris Murmann & Katelijn Vleugels B. Murmann EE315B – Chapter 11 1 Recap (1) • • • B. Murmann Digital signal Discrete in time Discrete in amplitude • • • EE315B - Chapter 2 Analog signal Continuous in time Continuous in amplitude 2 Recap (2) TS yH (t) Time N-Bit Digital lnput Word x(kT) b1 b2 b3 y(t) Time bN ••• Digital-to-Analog Interface x*(t) Zero-Order H ld Hold yH (t) Lowpass y(t) Analog Filter Output EE315B - Chapter 11 B. Murmann 3 Frequency Spectra Magnitude Baseband Signal SpectralImage Images Spectral Bands (Dirac Reconstruction) ||X*(f)| ( )| 0 fS/2 fS 2fS 3fS 0 fS/2 fS 2fS 3fS 0 fS/2 fS 2fS 3fS |PZ (f)| |YH (f)| Frequency B. Murmann EE315B - Chapter 11 4 Oversampling D/A Converter • Oversampling g – relaxes requirements on reconstruction filter • Noise shaping – Encoding E di iin single i l bit code d ((m=1) 1) – Relaxes requirements on D/A interface • BUT … addition of quantization noise, fortunately most of which is out-of-band EE315B - Chapter 11 B. Murmann 5 Oversampling Magnitude Spectral Image Bands Spectral Images Analog Filter |X(f)| fB fN 2ffN 2 ( ) (a) (M 2) fN (M-1) (M-2) (M 1) fN MffN M Analog Filter |XM (f)| fB (b) fS = M fN Frequency • Oversampling greatly reduces reconstruction filter requirements • How to create oversampled DAC input from a Nyquist rate signal? B. Murmann EE315B - Chapter 11 6 Interpolation (1) • Can increase the sampling rate of a discrete time signal by a factor of M, by inserting M-1 zero-valued samples between the actual t l Nyquist N i t rate t samples l (" ("zero stuffing") t ffi ") – Causes an M-fold periodic repetition of the baseband spectrum Image Bands Spectral Images Nyquist-rate yq Input fB fS =fN 2 fN After Zero Insertion (M-2) fN (M-1) fN M fN fB fN 2 fN (M-2) fN (M-1) fN fS =M fN EE315B - Chapter 11 B. Murmann 7 Interpolation (2) • Why is this a good idea? • Can remove images and get wide transition band to play with – Simple reconstruction filter – Possibility of noise shaping • Build B ild a hi high h resolution l ti DAC using i a llow resolution l ti D/A iinterface t f Digital g M Lowpass Filter fB fS =M fN fB fS =M fN Interpolator Output B. Murmann EE315B - Chapter 11 8 Example DIGITAL Digital Di it l 16 Input f N Digital Digital 16 Interpolator M f N Noise ANALOG Analog 1 Reconstruction Shaper M fN Filter Analog A l Output 1-bit D/A Interface • Digital noise shaper is essentially a digital sigma-delta loop – Shapes "truncation noise" that results from truncating 16-bit word to a 1-bit output EE315B - Chapter 11 B. Murmann 9 Spectra Spectral Images Digital Input fN IInterpolator t l t Output N i Noise Shaper Output 2 fN (M-2) fN (M-1) fN M fN B Baseband b d Signal Si l Truncation Noise Quantization Noise M fN M fN Analog Output Frequency B. Murmann EE315B - Chapter 11 10 Example E(z) X(z) 16 + – + 18 z–1 + + 19 1 z–1 Y(z) To 1-bit D/A Interface + 18 Clipper + [Su &Wooley, JSSC 12/94] – 2 Y(z) = z – 2 X(z) + (1 – z –1 ) 2 E(z) • Clipper prevents second integrator from overflowing – Digital "wrap around" would cause large errors EE315B - Chapter 11 B. Murmann 11 Semi-Digital Reconstruction (1) Digital Input 1 DIN n -Bit Shift Register z– 1 ... z– 1 z– 1 DIGITAL a1 ... a2 ANALOG an [Su &Wooley, JSSC 12/94] Analog Output, A OUT HFIR (z) = a1 z–1 + a2 z–2 + ... + an z–n • Attractive alternative to fully analog reconstruction filter – Build FIR filter with weighted analog outputs B. Murmann EE315B - Chapter 11 12 Semi-Digital Reconstruction (2) Digital Input 128-Bit Shift Register DIGITAL ANALOG Weighted Current Sources a 1 ... a 2 a 128 Current-to-Voltage Conversion I out I out AOUT z = a1z –1 + a2z –2 + a3 z –3 Analog Output + + + anz –n DIN z H (z) • Li Linear if H( H(z)) iis iindependent d d t off DIN(z) ( ) EE315B - Chapter 11 B. Murmann 13 Measurement Results R Reconstruction t ti Filt Filter O t t Output 0 Noise Shaper Output Analog Output Power S Spectrum (dB) – 20 – 40 – 60 – 80 – 100 – 120 – 140 – 160 1k 10k 100k 1M Frequency (Hz) B. Murmann EE315B - Chapter 11 14 ADC Figures Fi off Merit M it Limits on ADC Power Dissipation Katelijn Vleugels Stanford University Copyright © 2011 by Boris Murmann & Katelijn Vleugels EE315B - Chapter 12 B. Murmann 1 ADC Figures of Merit (1) • Objective j – Want to compare performance of different ADCs • Can use FOM to combine several performance metrics into one single i l number b • What are reasonable FOMs for ADCs? • How can we use and interpret them? • Trends and limits? • Reference: B. Murmann, “Limits on ADC Power Dissipation,” in Analog Circuit Design, by M. Steyaert, A.H.M Roermund, J.H. van Huijsing (eds.), Springer, 2006. B. Murmann EE315B - Chapter 12 2 ADC Figures of Merit (2) [R. H. Walden, "Analog-to-digital converter survey and analysis, analysis " IEEE Journal on Selected Areas in Communications, April 1999] FOM1 fs 2 ENOB • This FOM suggests that adding a bit to an ADC is just as hard as doubling its bandwidth • Is this a good assumption? B. Murmann EE315B - Chapter 12 3 Survey Data 1bit/Octave [Walden, "Analog-to-digital converter survey and analysis," IEEE J. Selected Areas Comm., April 1999] B. Murmann EE315B - Chapter 12 4 ADC Figures of Merit (3) [R. H. Walden, "Analog-to-digital converter survey and analysis, analysis " IEEE Journal on Selected Areas in Communications, April 1999] f 2ENOB FOM2 s Power • Sometimes inverse of this metric is used • In typical circuits power ~ speed – FOM2 captures capt res this tradeoff correctly correctl • How about power vs. ENOB? – One additional bit = 2x in power? p B. Murmann EE315B - Chapter 12 5 ADC Figures of Merit (4) • In a circuit that is limited by y thermal noise,, each additional bit in resolution means... – 6dB SNR, 4x less noise power, 4x bigger C – Power ~ Gm ~ C increases 4x • Even worse: Flash ADC – Extra bit means 2x number of comparators – Each of them needs double precision – Transistor area 4x, Current 4x to maintain current density – Net result: Power increases 8x B. Murmann EE315B - Chapter 12 6 ADC Figures of Merit (5) • FOM2 in inappropriate for comparing ADCs that are limited by matching g or thermal noise – Still the most widely used FOM in publications... • "Tends to work" because not all power in an ADC is noise limited – E.g. Digital power, biasing circuits, etc. • To better capture p the case of noise limited circuits, one could use 22ENOB in the numerator of FOM2... – But how about other (non-noise limited) circuits? • My suggestion – Avoid using a FOM that assumes a fixed relationship between ENOB and power B. Murmann EE315B - Chapter 12 7 ADC Figures of Merit (6) FOM3 Power "Energy Energy per Nyquist Sample" Sample 2 Conversion Bandwidth • Compare only C l power off ADC ADCs with ith approximately i t l same SNR or SNDR (ENOB) • Useful numbers (~state-of-the-art): ( ) – 10b (~9 ENOB) ADCs: 0.25...1 mW/MHz – 12b (~11 ENOB) ADCs: 2...6 mW/MHz B. Murmann EE315B - Chapter 12 8 FOM3 (ISSCC & VLSI 1997-2008) 10 10 P/ffs [Joules] 10 10 10 10 10 10 -6 -7 -8 -9 -10 Flash Pipeline SAR D lt Si Delta-Sigma Other 100fJ/conv-step -11 -12 -13 20 30 40 50 60 70 SNDR [dB] 80 90 100 EE315B - Chapter 12 B. Murmann 9 Power Dissipation in Sub-100nm CMOS 10 10 P//fs [Joules] 10 10 10 10 10 10 B. Murmann -6 -7 7 -8 -9 -10 -11 90nm and below All 100fJ/conv-step -12 12 -13 20 30 40 50 60 70 SNDR [dB] EE315B - Chapter 12 80 90 100 10 Power Dissipation Trend log(P/f s [pJ]) 6 4 2 0 2008 2006 2004 2002 2000 1998 Year 20 40 60 80 100 120 SNDR [dB] EE315B - Chapter 12 B. Murmann 11 Fundamental Limits • Fundamental power limit for a class-B amplifier driving a single capacitor [Vittoz, ISCAS 1990] P 8 fsig CVsig 2 Vn2 kBT C SNR 2 0.5 Vsig Vn2 P 8kBT SNR fsig • Class-A power limit is times higher B. Murmann EE315B - Chapter 12 12 Switched Capacitor Circuits 2 Sl i Slewing Vsig Linear Settling Vsig 3 1 Ts/2 1 2 3 S/H Class-A C EE315B - Chapter 12 B. Murmann 13 Case 1: 100% Slewing Ibias C Vsig dV C 4 C Vsig fsig dt Ts / 2 P 2 Vsig Ibias 2 0.5 Vsig SNR kBT C P 16kBT SNR fsig B. Murmann EE315B - Chapter 12 14 Case 2: 100% Linear Settling Ibias C bi dV dt C max d dt V V 1 e t / C sig i sig max N N b off settling Number ttli titime constants: t t Ts / 2 P 16 N kBT SNR fsig • Much worse – E.g. N=6.9 for settling to 0.1% precision EE315B - Chapter 12 B. Murmann 15 Limit Lines P/(2*BW) [pJ] 1.E+07 ISSCC 1997-2006 1 E+06 1.E+06 ISSCC 2007 1.E+05 Class A Class B Slewing 1.E+04 1.E 04 Linear Settling 1.E+03 1.E+02 1.E+01 1.E+00 1.E-01 10 20 30 40 50 60 70 80 90 100 110 120 SNDR [dB] B. Murmann EE315B - Chapter 12 16 Discussion • Orders of magnitude away from limits • Slope p of limit lines is much steeper p than fit to experimental p data • What contributes to these large gaps? – Must keep in mind that ADCs are not just a single capacitor circuit… i it • The following analysis factors in practical considerations – Not fundamental,, but somewhat unavoidable in today's y implementations B. Murmann EE315B - Chapter 12 17 Design Space Partitioning • High SNR – Complexity ~1 (e.g. first integrator in sigma-delta ADC) – Limited by thermal noise • Moderate SNR – Complexity ~Bits Bits (e (e.g. g pipelined ADC) – Partly limited by thermal noise • Low SNR – Complexity ~2Bits (e.g. flash ADC) – Limited by matching, quantization noise B. Murmann EE315B - Chapter 12 18 High SNR SC-Stage (1) VDD Vbias gm2 C Ibias Vout 1 Vin 1 2 • C gm1 Cg 1' C Considerations – Noise is multiple of kBT/C (nf) – Swing is only a fraction of VDD () – Feedback factor () – gm/ID is upper bounded if slewing must be avoided EE315B - Chapter 12 B. Murmann 19 High SNR SC-Stage (2) To avoid slewing: P 16 N nf • B. Murmann g m1 1 Ibias Vsig 1 kBT SNR fsig 1 max 1, g m1 V sig I bias Graph p on following g slide shows result assuming g – nf=5, =2/3, =0.5, onset of slewing EE315B - Chapter 12 20 High SNR SC-Stage (3) 1.E+07 ISSCC 1997-2006 1.E+05 ISSCC 2007 SC Integrator g Class B Class A 1.E+04 Slewing Linear Settling P/(2*BW W) [pJ] 1.E+06 1.E+03 1.E+02 1.E+01 1.E+00 1 E 01 1.E-01 10 20 30 40 50 60 70 80 90 100 110 120 SNDR [dB] • Close to experimental data at high SNDR! EE315B - Chapter 12 B. Murmann 21 Medium SNR • Consider two cases • Pipeline p ADC using g SC stages g – Partially limited by thermal noise • Continuous time Gm-C integrator – Limited by distortion B. Murmann EE315B - Chapter 12 22 Pipeline ADC C 2 C/2 C/4 C/2m 2 2 2 MSB LSB • Theoretical near optimum power scaling – Scale capacitance by gain of preceding stage – Stage 1 consumes half of total power – Adding one bit means power goes up 4x • Caveat – Usually impractical to scale capacitors down to C/2m EE315B - Chapter 12 B. Murmann 23 Stage Scaling Example Number of Amplifiers 12 1/4 1/8 1/16 1/32 1/64 1/128 1/128 1/128 1/128 11 1/16 1/32 1/64 1/128 1/128 1/128 1/128 1/128 10 1/64 1/128 1/128 1/128 1/128 1/128 1/128 C 13 1 1/2 1/4 1/8 1/16 1/32 1/64 1/128 1/128 1/128 2 03 2.03 0 54 0.54 0 17 0.17 0 086 0.086 Csingle 1/2 1/8 1/32 1/128 Relative Power Pipeline/Single SC Stage (C/Csingle) 4.06 4.32 5.44 11.01 Stage Capacitances • Example is simplistic, but in line with state-of-the art – 10bits ~0 ~0.5mW/MSample/s, 5mW/MSample/s 12bits ~2mW/MSample/s B. Murmann EE315B - Chapter 12 24 Pipeline ADC Limit Line 1.E+07 P//(2*BW) [pJ] 1 E+06 1.E+06 1.E+05 1.E+04 1.E+03 1.E+02 ISSCC 1997-2006 1.E+01 ISSCC 2007 Pipeline 1.E+00 SC Integrator 1.E-01 10 20 30 40 50 60 70 80 90 100 110 120 SNDR [dB] EE315B - Chapter 12 B. Murmann 25 Gm-C Integrator VDD VDD C 3 v id ,max IM3 32 Vov C iod vid/2 Ibias • cur -vid/2 cur 2 iod ,max Ibias v id ,max Vov 32 IM3 3 Only a small fraction of bias current can be steered into load – E.g. IM3=60dB, cur=10% B. Murmann EE315B - Chapter 12 26 Gm-C Limit Line 1.E+07 P//(2*BW) [pJ] 1 E+06 1.E+06 1.E+05 1.E+04 1.E+03 1.E+02 ISSCC 1997-2006 ISSCC 2007 1.E+01 Pipeline Gm-C Integrator 1.E+00 SC IIntegrator 1.E-01 10 20 30 40 50 60 70 80 90 100 110 120 SNDR [dB] EE315B - Chapter 12 B. Murmann 27 Low SNR • Power of matching limited class-B circuit [Kinget, CICC 1996] P • 2 24 Cox AVT fsig Vsig ,rms 3 Vos 2 Refined result for flash ADC ADC, assuming – Class-A, 1/2 LSB matching with 3-confidence, 2B components, additional Edyn per clock cycle, partial supply usage () 1 2 P 12 Cox AVT 23B 2 Edyn 2B fsig • Example: =2/3, Cox=15fF/m2, AVt=3mV·m, Edyn=60fJ (~10gates in 0.13m CMOS) B. Murmann EE315B - Chapter 12 28 End Result 1.E+07 P//(2*BW) [pJ] 1 E+06 1.E+06 1.E+05 1.E+04 1.E+03 1.E+02 ISSCC 1997-2006 ISSCC 2007 Flash Pipeline Gm-C Integrator SC Integrator 1.E+01 1.E+00 1.E-01 10 20 30 40 50 60 70 80 90 100 110 120 SNDR [dB] B. Murmann EE315B - Chapter 12 29 Discussion • Shown results include only y minor assumptions p about technology gy • Scaling brings some good, some bad news offsetting each other – Lower VDD, lower Vswing/VDD, … + Lower Edyn, higher ft enables moderate/weak inversion operation with high gm/ID,… • Limit lines won't move much,, unless someone hands us a new disruptive technology B. Murmann EE315B - Chapter 12 30 Future Opportunities • More intelligent ADCs – Improved average power dissipation by adapting to instantaneous speed/resolution requirements • "Minimalistic" ADCs using significantly simpler circuits – Digital compensation of resulting non-idealities non idealities – Digital postprocessing is (within limits) "free" in terms of area and energy EE315B - Chapter 12 B. Murmann 31 Digital Logic Energy Trend Mainstream ADC technologies, standard logic library data ENAND22 [fJ/ga ate] 10000 1000 0.5 0 35 0.35 0.25 100 0.18 10 0.13 106kT 0.09 1 1997 1999 2001 2003 2005 2007 Year B. Murmann EE315B - Chapter 12 32 ADC/Digital Logic Energy Ratio 10,000,000 SNDR=90dB EAADC/ENANND2 1,000,000 70dB 100,000 50dB 10,000 30dB 1,000 100 1997 1999 2001 2003 2005 2007 Y Year EE315B - Chapter 12 B. Murmann 33 Energy Ratio in 2007 • Interpretation for digitally enhanced ADCs (energy centric) SNDR EADC/ENAND2 30 4,679 50 37,432 70 299,479 90 2,396,045 B. Murmann Additional digital processing is costly! Several tens of thousand gates are "free" Use as many gates as you can fit… EE315B - Chapter 12 34 Digital Logic Gate Density Trend 1,000,000 600 000 600,000 400,000 G Gates/m mm2 800,000 200,000 0 350 300 250 200 150 100 50 Technology [nm] B. Murmann EE315B - Chapter 12 35 Data Converter Testing Katelijn Vleugels Stanford University Copyright © 2011 by Boris Murmann & Katelijn Vleugels B. Murmann EE315B - Chapter 13 1 Just Got Silicon Back... B. Murmann • Now what ? • Practical aspects of converter testing • Equipment requirements • Pitfalls EE315B - Chapter 13 2 ADC Test Setup Evaluation Board? Specs? Signal Generator How to g get data across? ADC Vin Data Acquisition PC Clock Generator Specs? B. Murmann EE315B - Chapter 13 3 High-Performance ADC Specs [W. Yang et al., "A A 3-V 3 V 340 340-mW mW 14-b 75-Msample/s CMOS ADC with 85-dB SFDR at Nyquist input," IEEE J. of Solid-State Circuits, Dec. 2001] • Your converter will perform even better... • Testing a high performance converter may be just as challenging as designing it! • Key to success is to be aware of test setup and equipment limitations B. Murmann EE315B - Chapter 13 4 Signal Source • Want: SFDR>85dB @ fin=fs/2=37.5MHz • Let's see, how about the "value priced" signal generator we have in the lab... • • • B. Murmann f=0...15MHz Harmonic distortion (f>1MHz): -35dBc Need something better... EE315B - Chapter 13 5 A Better Signal Source • OK now we've OK, ' spentt about b t $40k, $40k this thi should h ld work k now... (?) • • • B. Murmann f=100kHz...3GHz Harmonic distortion (f>1MHz): -30dBc 30dBc ! No way to produce the sine wave we need without a filter! EE315B - Chapter 13 6 Filtering Out Harmonics BP Filter Amplitude ... 0 • B. Murmann fin 2fin 3fin 4fin ... f Given HD Gi HD=-30dBc, 30dB we need d a stopband t b d rejection j ti > 60dB to get SFDR>90dB EE315B - Chapter 13 7 Available Filters www.tte.com, or www.allenavionics.com • Want to test at many frequencies -> Need to have many different filters! B. Murmann EE315B - Chapter 13 8 Tunable Filter www.klmicrowave.com B. Murmann EE315B - Chapter 13 9 Filter Distortion • Beware: The filters themselves also introduce distortion • Di t ti is Distortion i usually ll nott specified, ifi d need d tto callll manufacturer f t • Often guaranteed: HD<-85dBc, • Don'tt trust your filters blindly Don blindly... B. Murmann EE315B - Chapter 13 10 Clock Generator • OK, may be for the clock a "value-priced" signal generator will suffice... • No! The clock signal controls sampling instants – which we assumed to be precisely equidistant in time (period T) – See Lecture for a dscussion of aperture uncertainty • Typically use sine wave and "square up" with inverter chain – Jiiter requirements sine wave specs Board Cl k Clock Generator ADC CLK 50 EE315B - Chapter 13 B. Murmann 11 Phase Noise and Jitter 1 f 1 10L( f )[ Hz ] / 20 f0 f0 Hz "Cycle to cycle jitter" [ j [Hajimiri, , The Design g of Low Noise Oscillators, p.147, Kluwer 1999] Phase Noise at offset f from "carrier" • Can use the above equation to get a (very rough) jitter estimate from phase noise spectrum • "Value Priced" Signal Generator: – L(30kHz)=-55dBc/Hz -> fo=15MHz= 230ps rms • "$40k" Signal Generator: – L(30kHz)=-122dBc/Hz -> fo=15MHz= 0.1ps rms OK! B. Murmann EE315B - Chapter 13 12 More on Jitter • Once we have a good enough generator, other circuit and test setup related issues may determine jitter • Usually, clock jitter in the single-digit picosecond range can be prevented by appropriate design techniques – Separate p supplies pp – Separate analog and digital clocks – Short inverter chains between clock source and destination • Few, if any, other analog-to-digital conversion non-idealities have the same symptoms as sampling jitter – RMS noise proportional to input frequency – RMS noise proportional to input amplitude • So, if sampling clock jitter is limiting your dynamic range, it’s easy to tell, tell but may be difficult to fix fix... EE315B - Chapter 13 B. Murmann 13 Jitter Estimation • Reference – D.M. Hummels, W. Ahmed, W., F.H. Irons, "Measurement of random sample time jitter for ADCs," Proc. ISCAS, pp.708-711, May 1995. Spectrum of squared sequence contains t i a ttone proportional ti l tto jitter: jitt After removal of harmonics: B. Murmann EE315B - Chapter 13 14 Evaluation Board • Planning begins with converter pin-out – Uhps, my clock pin is right next to a digital output... • Not "black magic", but weeks of design time and "thinking" • Key aspects – Supply/ground routing – Bypass capacitors – Coupling p g between signals g • Good idea to look at ADC vendor datasheets for example layouts/schematics/application notes B. Murmann EE315B - Chapter 13 15 Vendor Eval Bord Layout [Analog Devices AD9235 Data Sheet] B. Murmann EE315B - Chapter 13 16 One Thing to Remember... • A converter does not just have one "input" – Clock – Power supply, ground – Reference voltage • For good practices on how to avoid issues see e e.g. g – Analog Devices Application Note 345: "Grounding for Lowand-High-Frequency Circuits" – Maxim M i Application A li ti N Note t 729: 729 "Dynamic "D i Testing T ti off Hi Highh Speed ADCs, Part 2" B. Murmann EE315B - Chapter 13 17 How to Get the Bits Off Chip? • "Full swing" CMOS signaling works well for fCLK<100MHz • But we want to build faster ADCs... • Alternative to CMOS: LVDS – Low Voltage Differential Signaling • LVDS vs. CMOS: – Higher speed, more power efficient at high speed – Two pins/bit! Analog Devices Application Note 586: "LVDS LVDS Data Outputs for High Speed ADCs ADCs" B. Murmann EE315B - Chapter 13 18 LVDS Outputs Analog Devices Application Note 586: "LVDS Data Outputs for High Speed ADCs" B. Murmann EE315B - Chapter 13 19 Data Acquisition • Several options: – Logic g analyzer y with PC interface – FIFO board, interface to PC DAQ card – Vendor kit, simple interface to printer port: [Analog Devices, High-Speed ADC FIFO Evaluation Kit] B. Murmann EE315B - Chapter 13 20 Complete Setup [Maxim Application Note 729: "Dynamic Testing of High-Speed ADCs, Part 2] EE315B - Chapter 13 B. Murmann 21 Post-Processing • LabView (DAQ Software Toolbox), Matlab – Some vendors provide example source code – See e e.g. g Maxim Application Note 1819: "Selecting Selecting the Optimum Test Tones and Test Equipment for Successful High-Speed ADC Sine Wave Testing" • We know how to evaluate spectral p metrics – How about DNL/INL? • DAC – "Trivial",, apply pp y codes and use "a g good voltmeter" to measure outputs • ADC – Need to find "decision levels", i.e. input voltages at all code boundaries – One way: Adjust voltage source to find exact code transitions • "code boundary servo" – More elegant: Histogram testing B. Murmann EE315B - Chapter 13 22 Basic Histogram Test Setup VREF Ramp VREF ADC PC 0 • DNL follows from total number of occurrences of each code • Ramp speed is adjusted to provide e.g. an average of 100 outputs of each ADC code (for 1/100 LSB resolution) • Ramps can be quite slow for high resolution ADCs (65,536 codes)(100 conversions/code) 100 000 conversions/sec 100,000 = 65.6 sec EE315B - Chapter 13 B. Murmann 23 Histogram of Ideal 3 Bit ADC A/D Characteristics [1] 7 ADC characteristics ideal converter 200 180 6 160 140 120 4 Counts Digiital Output Code 5 3 100 80 2 60 1 40 20 0 0 -1 B. Murmann 0 1 2 3 4 5 ADC Input Voltage [1/] 6 7 8 EE315B - Chapter 13 0 1 2 3 4 ADC output code 5 6 7 24 Histogram of Sample 3 Bit ADC A/D Characteristics [3] 200 ADC characteristics ideal converter 7 180 160 6 140 -0.4 0 4 LSB DNL 120 4 Counts Digittal Output Code 5 3 100 80 +0.4 LSB INL 2 60 +0.4 LSB DNL 1 40 0 0 20 -1 B. Murmann 0 1 2 3 4 5 ADC Input Voltage [1/] 6 7 0 8 0 1 2 3 4 5 ADC C output code 6 7 EE315B - Chapter 13 25 DNL from Histogram (1) 140 Step 1 – Remove “over-range bins” ((0 and 7)) 120 100 Counts,, End bins removed d • 80 60 40 20 0 B. Murmann EE315B - Chapter 13 0 1 2 3 4 5 ADC C output code 6 7 26 DNL from Histogram (2) Step 2 – Divide by average count • Step 3 – Subtract 1 – Ideal bins have exactly the average count, which corresponds to 1 after normalization • 0.4 0.3 0.2 DNL = C Counts / Mean(Coun nts) • Result is DNL 0.1 0 -0.1 -0.2 -0.3 -0.4 B. Murmann 0 1 2 3 4 5 ADC C ou output pu code 6 7 EE315B - Chapter 13 27 INL from Histogram • INL is simply running sum of DNL (see HW) The DNL information can also be used directly to construct the converter transfer function – Simply add up all binwidths to find transition levels 7 6 Reconstrructed Characteristiic • 5 4 3 2 1 0 -1 B. Murmann EE315B - Chapter 13 0 1 2 3 4 5 ADC Input Voltage 6 7 8 28 DNL and INL of Sample ADC A/D Characteristics [3] 1.5 DNL [in LSB] 7 6 Digiital Output Code 5 DNL and INL of 3 Bit converter (fromhistogramtesting) 2 ADC characteristics ideal converter -0.4 0 4 LSB DNL avg=-1.9e-017, std.dev=0.25, range=0.8 1 0.5 0 -0.5 -1 1 4 2 3 4 5 6 5 6 bin 3 2 +0.4 LSB INL 1.5 INL [in LSB] 2 +0.4 LSB DNL 1 avg=0.2, std.dev=0.22, range=0.4 1 0.5 0 0 -0.5 -1 B. Murmann 0 1 2 3 4 5 ADC Input Voltage [1/] 6 7 8 -1 1 2 3 4 bin EE315B - Chapter 13 29 Sinusoidal Inputs Raw Histogram of ADC Output 250 • • • Precise ramps are hard to generate Solution – Use sinusoidal test signal Problem – Ideal histogram is not flat but has “bath-tub shape” 200 150 100 50 0 B. Murmann 0 EE315B - Chapter 13 500 1000 1500 2000 2500 3000 3500 4000 30 After Correction for Sinusoidal pdf 1.4 x 10 -3 Lineari zed Histogram 1.2 1 0.8 0.6 0.4 0.2 0 0 500 1000 1500 2000 2500 3000 3500 4000 EE315B - Chapter 13 B. Murmann 31 Resulting DNL and INL D N L = + 1 .3 / - 1 L S B , 1 .5 1 m is s i n g c o d e s ( D N L < - 0 . 9 ) DNL [LSB] 1 0 .5 0 - 0 .5 5 -1 0 5 00 1 00 0 1 50 0 2000 c od e 2500 3 00 0 3 50 0 4 00 0 3 00 0 3 50 0 4 00 0 INL = + 1 .7 / -0. 6 9 L S B 2 INL [LSB] 1 .5 1 0 .5 0 - 0 .5 -1 B. Murmann 0 5 00 1 00 0 1 50 0 2000 c od e 2500 EE315B - Chapter 13 32 Correction for Sinusoidal pdf • References – M. V. Bossche, J. Schoukens, and J. Renneboog, “Dynamic Testing and Diagnostics of A/D Converters,” IEEE TCAS, Aug. 1986. – IEEE Standard 1057 • Is it necessary to know the exact amplitude and offset of the sine wave input? – No! • There exists a great deal of confusion about this in the converter community... EE315B - Chapter 13 B. Murmann 33 DNL/INL Code function [dnl,inl] = dnl_inl_sin(y); % transition levels %DNL_INL_SIN T = -cos(pi*ch/sum(h)); % dnl and inl ADC output % input y contains the ADC output % linearized histogram % vector obtained from quantizing a hlin = T(2:end) - T(1:end-1); % sinusoid % truncate at least first and last % Boris Murmann, Aug 2002 % bin, more if input did not clip ADC % Bernhard Boser, Sept 2002 trunc=2; % histogram boundaries hlin_trunc = hlin(1+trunc:end-trunc); minbin=min(y); maxbin=max(y); % calculate lsb size and dnl lsb= sum(hlin_trunc) / (length(hlin_trunc)); % histogram dnl= [0 hlin_trunc/lsb-1]; h = hist(y, minbin:maxbin); misscodes = length(find(dnl<-0.9)); % cumulative histogram % calculate inl ch = cumsum(h); inl= cumsum(dnl); inl B. Murmann EE315B - Chapter 13 34 DNL/INL Code Test % converter model B = 6; % bits range = 2^(B-1) - 1; % ideal thresholds DNL [LSB] 0.5 % thresholds (ideal converter) th = -range:range; DNL = +0.7 / -0.71 LSB, 0 missing codes (DNL<-0.9) 1 0 -0.5 th(20) = th(20)+0.7; th(20)+0 7 % error -1 -30 fs = 1e6; C -10 % try fs/10! = round(100 * 2^B / (fs / fx)); t = 0:1/fs:C/fx; x = (range+1) * sin(2*pi*fx.*t); sin(2*pi*fx *t); 0 code 10 20 30 10 20 30 INL = +0.76 / -0.063 LSB 0.8 0.6 INL [LSB] fx = 494e3 + pi; -20 0.4 0.2 0 -0.2 -30 30 -20 20 -10 10 0 code y = adc(x, th) - 2^(B-1); hist(y, min(y):max(y)); dnl_inl_sin(y); B. Murmann EE315B - Chapter 13 35 Limitations of Histogram Testing • The histogram test (as any ADC test, of course) characterizes one particular converter – Must test many devices to get valid statistics • Histogram testing assumes monotonicity – E.g. “code flips” will not be detected. • Dynamic sparkle codes produce only minor DNL/INL errors – E.g. 123, 123, …, 123, 0, 124, 124, … – Must look directly at ADC output to detect • Noise not detected or improves DNL – E.g. 9, 9, 9, 10, 9, 9, 9, 10, 9, 10, 10, 10, … • Reference – B. Ginetti and P. Jespers, “Reliability of Code Density Test for High Resolution ADCs,” Electron. Letters, pp. 2231-2233, Nov 1991. Nov. 1991 B. Murmann EE315B - Chapter 13 36 Hiding Problems in the Noise • INL looks a lot like there are 5 missing codes • DNL "smeared out" by noise! i ! • Always look at both DNL/INL • INL usually does not lie... [Source: David Robertson, Analog Devices] B. Murmann EE315B - Chapter 13 37