Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
EE M216A .:. Fall 2011 Lecture 3 Delay Models Alireza Tarighat ([email protected]) • • Slides are Courtesy of Prof. Dejan Marković. Some slides adapted from “Digital Integrated Circuits; J. M. Rabaey, et al”. Copyright 2003 Prentice Hall/Pearson. Gate Delay Gate delay is a measure of time between an input transition and an output transition – May have different delays for different input to output paths Inputs Outputs Logic Gates – Different for an upward or downward transition ● tpLH – propagation delay from LOW-to-HIGH (of the output) A transition is defined as the time at which a signal crosses a logical threshold voltage – Digital abstraction for 1 and 0 – Often use VDD/2 EEM216A .:. Fall 2011 Lecture 3:D.Delay Models | 22 Markovic / Slide 1 Static CMOS Gate Delay Output of a gate drives the inputs to other gates (and wires) – Only pull-up or pull-down, not both – Capacitive loads in in out out VM tpHL CLOAD The delay of EACH stage is treated separately in tPD1 tPD2 out tPD = tPD1 + tPD2 Transition moment is defined at VM (logical threshold) Lecture 3:D.Delay Models | 33 Markovic / Slide Voltage Transfer Characteristics (VTC) Characterize the DC response of a simple inverter in 5 Regions of operation – Vin<VTN, Vout=VDD, WP/LP out WN/LN ● N-Off, P-Lin – Vin>VTN, Vout>Vin - VTP ● N-Sat, P-Lin – Vin>VTN, Vin-VTP>Vout>Vin-VTN ● N-Sat, P-Sat – Vin<VDD+VTP, Vin-VTN>Vout ● N-Lin, P-Sat – Vin> VDD+VTP, Vout=VGND, ● N-Lin, P-Off Logical threshold – When Vin = Vout P:Lin N:Sat Vout P:Lin N:Off VM P:Sat N:Sat P:Sat P:Off N:Lin N:Lin Vin Lecture 3:D.Delay Models | 44 Markovic / Slide 2 Logical Threshold Voltage Set IDSATP = IDSATN and solve – Dependence on P:N sizing and mobility ratio – Slight dependence on VTP/N in2 WP/LP out WN/LN in WP2 in1 – Depends on which input the gate is driving out in2 Not so easy if not an inverter WP1 WN2 in1 WN1 Vout VM ● In1 to Out transfer characteristic can be different from In2 to Out – Use VDD/2 as average case ● Unless severely skew the P:N ratio Vin Lecture 3:D.Delay Models | 55 Markovic / Slide Calculating VM VDSATp V 0 kn VDSATn VM VTn DSATn k p VDSATp VM VDD VTp 2 2 VDSATp V VTn DSATn r VDD VTp 2 2 VM 1 r 1.8 1.7 1.6 1.5 r k p VDSATp kn VDSATn satp W p satn Wn 1.3 M V (V) 1.4 1.2 High VDD: Long L or low VDD: 1.1 1 0.9 0.8 0 1 10 10 Wp/Wn Lecture 3:D.Delay Models | 66 Markovic / Slide 3 Sensitivity of VTC to P:N Fortunately, the logical threshold is not very sensitive to P:N ratio – Ranges from 1.35V to 1.75V (for a 3.3-V VDD) – VDD/2 is quite reasonable Lecture 3:D.Delay Models | 77 Markovic / Slide Delay Definitions tp t pLH t pHL 2 Lecture 3:D.Delay Models | 88 Markovic / Slide 4 Propagation Delay: RC Model VDD tpHL = f(Ron.CL) = 0.69 RonCL Vout ln(0.5) Vout CL 1 Ron VDD 0.5 0.36 Vin = V DD t RonCL Lecture 3:D.Delay Models | 99 Markovic / Slide Calculating the Resistance Because of the non-linearity, the resistance is an “effective” resistance that is averaged – RON = VDS/IDSLIN ~ 1/bVGT ● Clearly too small – Average different regions of operation ● Let R be the large signal resistance, R(VDS=VDS0) = VDS0 / IDS(VDS = VDS0) ● Ravg = 0.5 (R(VDS=VDD/2) + R(VDS=VDD)) ● For velocity saturated device, Ravg = 0.5 (VDD/2IDSAT + VDD/IDSAT) ● A rough approx. for Rpull down that is better than just using VDD/IDSAT – Input transition dependent ● Input may not be a perfect step ● Fortunately, not a very strong function of input rise time Ideal “estimate” is really through a simulator like SPICE Lecture 3:D.Delay Models | 1010 Markovic / Slide 5 Effective R for Velocity-Saturated Device (TwoPoints) VGS ≥ VT S ID Ron D VGS = VDD Rmid R0 VDS VDD /2 VDD Lecture 3:D.Delay Models | 1111 Markovic / Slide Effective R for Velocity-Saturated Device (Integrated) Lecture 3:D.Delay Models | 1212 Markovic / Slide 6 Delay as a Function of VDD 5.5 5 tp(normalized) 4.5 4 3.5 3 2.5 2 1.5 1 0.8 1 1.2 1.4 1.6 V 1.8 2 2.2 2.4 (V) DD Lecture 3:D.Delay Models | 1313 Markovic / Slide Delay vs. Device Sizing -11 3.8 x 10 (for fixed load) 3.6 3.4 tp(sec) 3.2 3 2.8 Self-loading effect: Intrinsic capacitances dominate 2.6 2.4 2.2 2 2 4 6 8 S 10 12 14 Lecture 3:D.Delay Models | 1414 Markovic / Slide 7 Calculating the Capacitance Like R, MOS capacitances are voltage-dependent There are many capacitance models, here’s a common one: G G CGS CGD D S S D CGB CSB This model is too detailed for circuit designers… CDB B B For delay analysis, we linearize gate and diffusion caps – Gate capacitance ● #1: Gate-Channel Capacitance ● #2: Gate Overlap Capacitance – #3: Junction/Diffusion Capacitance Lecture 3:D.Delay Models | 1515 Markovic / Slide Gate Capacitance Gate Channel Capacitance = C_gb + C_gs + C_gd G G CGC S G CGC D S CGC D S D Lecture 3:D.Delay Models | 1616 Markovic / Slide 8 Diffusion Capacitance Lecture 3:D.Delay Models | 1717 Markovic / Slide MOS Capacitances (Summary) Gate-Channel Capacitance – CGC = Cox·W·Leff – CGC = (2/3)·Cox·W·Leff (Off, Linear) (Saturation) Cgate Gate Overlap Capacitance – CGSO = CGDO = CO·W Circuit design (Always) Junction/Diffusion Capacitance – Cdiff = Cj·LS·W + Cjsw·(2LS + W) Typically g = Cpar / Cgate < 1 − 90nm GPDK: g = 0.61 (Always) Cparasitic Simple linear models − Designers typically use C / unit width (fF/mm) Lecture 3:D.Delay Models | 1818 Markovic / Slide 9 Input Slope We can model the delay as tp = 0.69RC – When driving w/ non-step in, the rise/fall time is absorbed in R – R is different than the one extracted from I-V The output delay is linearly depended on input rise/fall time: tp = 0.69RC + ηts – η is the slope factor (typical values: 0.1 – 0.2) – The model is limited to a range of fanouts More accurate delay models propagate two quantities: delay and signal slope – Both can be modeled as linear or table lookups (std-cell libs) Lecture 3:D.Delay Models | 1919 Markovic / Slide Example: RC Gate Delay (Discard Internal Load) NAND gate driving an Inverter Assume the following, RN_DN = 3kW-mm, RP_UP = 7.5kW-mm, CGN = CGP=2fF/mm. – RDRVN = 1.5k, RDRVP = 2.5k – CLOAD = 36fF – tNANDpull_up = 90ps, tNANDpull_dn = 108ps in2 in1 3mm 3mm out in2 2mm in1 2mm Pull-Up Pull-Down 12mm out 6mm RDRVN RDRVN CLoad RDRVP out CLoad Lecture 3:D.Delay Models | 2020 Markovic / Slide 10 Self-Loading Capacitance The previous calc. did not account for all the capacitances – Diffusion capacitances (depend on the layout and sharing) For hand calculation, we use a single number to represent all capacitance associated with Source/Drain – Area/Perimeter/Gate overlap etc. – CDN=1.5fF/mm, CDP=2fF/mm Pull-Up – Possible for different numbers for N and P RDRVP Model is now RC network and depends on input – In1 switching Pull-Down out out RDRVN CN CLoad CLoad RDRVN CN Lecture 3:D.Delay Models | 2121 Markovic / Slide Elmore Delay for RC Network Example A Example B RC network (N nodes) N tdelay(i ,m ) Ri ,k Ck k 1 Delay from node i to node m Ri,k = path resistance (i to k) shared with the path between i and m Example A: tElmore = tDELAY (x-CL) = RXCX + (RX+RL)CL – Longer RC chains result in superlinear increase in delay Example B: tElmore = tDELAY (in-O2) = R1*(C1+C2+C3)+(R1+R4)C4+(R1+R4 +R5)C5+(R1+R4 +R5+R6)C6 Lecture 3:D.Delay Models | 2222 Markovic / Slide 11 NAND Example: Find the Capacitances First, calculate the capacitance Assume – CLOAD = Cinv + Cself = 51fF − − − − ● Cinv = 2fF*(12+6) = 36fF ● Cself = 3*2fF + 3*2fF + 2*1.5fF = 15fF – CN = 2*1.5fF + 2*1.5fF = 6fF in1 in2 3mm CN CDN = 1.5 fF/mm CDP = 2 fF/mm CGN = 2 fF/mm CGP = 2 fF/mm 3mm out in2 2mm in1 CLOAD 2mm 12mm 6mm Lecture 3:D.Delay Models | 2323 Markovic / Slide NAND Example: Delay In1-to-out delay – tpull_down = 1.5k*6f + 3k*51f = 162ps – tpull_up = 2.5k*(51f) = 127.5ps out RDRVN Vo=VDD-VTN CN RDRVP CLoad RDRVN Pull-Down Pull-Up out CLoad out In2-to-out delay – tpull_down = 3k*51f =153ps (CN predischarged) – tpull_up = 2.5k(51f) = 127.5ps RDRVN CLoad Vo=0 CN Pull-Down RDRVN Lecture 3:D.Delay Models | 2424 Markovic / Slide 12 Breaking Down Delay It is useful to break delay into 2 parts – Delay due to self-loading ● Blue and red capacitances – Delay due to gate loading in1 in2 ● Green capacitances 3mm Write delay as 2 parts as well – Pull up ● RDRVP = 2.5k*(6/5) = 3K ● tdelay = RDRVPCSELF + RDRVPCGLOAD CN 3mm out in2 2mm in1 CLOAD 2mm 12mm 6mm – 3K*15fF + 3K*36fF – Pull down (in1) ● RDRVN = 1.5k ● tdelay = RDRVN (CN+2*CSELF) + 2RDRVNCGLOAD – 1.5K*(6fF+2*15fF) + 1.5K*2*36fF ● Note the high self-loading delay Lecture 3:D.Delay Models | 2525 Markovic / Slide Mixing Static CMOS & Transmission Gates Transmission gate switch logic can be made to satisfy gate abstraction Use static CMOS gates outputs to drive a transmission gate switch network (conducting inputs) Output of network drives a static CMOS gate Example: a 2:1 Mux selA selAb inA Out1 Out inB Lecture 3:D.Delay Models | 2626 Markovic / Slide 13 Transmission Gate Delay Example Delay depends on the gate that drives the switch Example – Assume that only 1 path is selected – The path is pulling up – Delay of entire gate would be tDELAY1 + tDELAY2 ● Focus on tDELAY1 tDELAY1 RDRVP(3mm) tDELAY2 RTGP(2mm) P:3mm RTGN((2mm) Out1 RDRVN(1mm) RTGP(2mm) CINV Out N:1mm CLOAD RTGN((2mm) Inverter Transmission Gate Lecture 3:D.Delay Models | 2727 Markovic / Slide Calculate the Capacitances Assume – CDN = CDP= 1.5fF/mm, CGN = CGP= 2fF/mm CINV = (diffusion) = (3u+2u)*1.5f + (1u+2u)*1.5f = 12f CLOAD = (2*2u)*1.5f + (2*2u)*1.5f + (3u+1u)*2f = 20f selA 3mm selAb 2mm inA Cinv 1mm inB 2mm 3mm Out Out1 2mm 2mm 1mm CLOAD Lecture 3:D.Delay Models | 2828 Markovic / Slide 14 Example: Transmission Gate Delay Assume – RN_DN=3kW-mm, RN_UP=6kW-mm, RP_UP=7.5kW-mm, RP_DN=15kW-mm RDRVP = 7.5k/3, RTGP = 7.5k/2 = 3.75k, RTGN = 6k/2 = 3k tDELAY1 = 2.5k*12f + (2.5k+3.75k||3k)*20f = 113ps 2.5k 3.75k 3k Out1 12f Inverter 20f Transmission Gate Note: these are “equivalent” capacitances… Lecture 3:D.Delay Models | 2929 Markovic / Slide Distributed RC Line Lecture 3:D.Delay Models | 3030 Markovic / Slide 15 Distributed RC Line Assume: Wire modeled by N equal-length segments For large values of N: Lecture 3:D.Delay Models | 3131 Markovic / Slide Simulation-Based Parameter Extraction Typical simulation model – This is a very basic model (with realistic input + load) – Adjust the model depending on what you are trying to model Previous logic stage Input slope Gate under test Next logic stage Output load Lecture 3:D.Delay Models | 3232 Markovic / Slide 16 The “Flow” Hand design – – – – – Simple RC models provide intuition about circuits Tradeoff analysis Dominant effects Reasonable starting point in the design process For more information, run simulations and refine the model Simulate your design – If the simulation results are way off, there is a bug somewhere (check schematics, simulation files, your models) – Don’t forget the corners Lecture 3:D.Delay Models | 3333 Markovic / Slide Process Variations Not all devices (primarily Process variation causes transistors to have different VT and mobility, speeding up or slowing down the devices – Doping conc. (mobility) – W/L sizing – Oxide thickness Fast PMOS transistors) are created equal – Even if they nominally have the same exact drawing – Two on the same die can differ, not to say different wafers Slow Slow NMOS Fast Lecture 3:D.Delay Models | 3434 Markovic / Slide 17 More Corners (PVT Variation) Process Voltage Temperature cache PMOS Supply voltage (V) Fast Slow 70C Temp (oC) Vmax: reliability & power core 120C Vmin: frequency Slow NMOS Fast Typically, given corner parameters Temperature Time (usec) Tmax: frequency & power for devices − Characterize effective parameters across corners Throttle Time (usec) Lecture 3:D.Delay Models | 3535 Markovic / Slide Delay and Transition Time Since the delay of a gate is approximated as RC elements, the transition time is proportional to the same RC Transition (rise / fall) time is defined as time for a transition to travel 10%-90% (20%-80% is also commonly used) – Using ideal RC, the 10-90% is roughly 2.2RC For a gate (inverter) driving another gate, – Transition time is roughly 2tDELAY – Valid only for RC network ● Inductive network would propagate a much sharper transition Useful for modeling noise coupling – Aggressor transition time determines injected noise Lecture 3:D.Delay Models | 3636 Markovic / Slide 18 Multi-Stage Gate Delay Static CMOS gates allows us to breakdown the total delay to be the sum of each stage ttotal t n – The R of the gate – The C of the subsequent gate(s) n td5 td3 td1 in Gate3 Gate1 td4 Gate5 out Gate4 Gate2 Gate6 Lecture 3:D.Delay Models | 3737 Markovic / Slide Fan-In and Fan-Out Some commonly used terminology for gates – Many definitions – some are more useful than others Fan-In – The number of inputs – An indication of the input load that the gate presents to a predecessor gate ● Because the series stack is roughly the number of inputs ● Later we will use Logical Effort to embed this concept Fan-Out – The number of gates driven by the gate – An indication of the loading of a gate (gate type dependent) – Useful to normalize the loading to the gate capacitance of an inverter with equal drive strength as the gate ● FO = CLOAD/CINV, where CINV = CO’(WP+WN) and RINV = RPULL_UP/DN Lecture 3:D.Delay Models | 3838 Markovic / Slide 19 Another Metric: FO4 Inverter Delay Measures quality of design across different technology generations d Cadence 90nm technology: FO4 = 33ps Ring Osc Stage = 13ps Reference: Tutorial 2 (from 115C) Lecture 3:D.Delay Models | 3939 Markovic / Slide 20