S. Reda EN160 SP’08 Design and Implementation of VLSI Systems (EN1600) Lecture 17: Design Considerations Prof. Sherief Reda Division of Engineering, Brown University Spring 2008 [sources: Weste/Addison Wesley – Rabaey/Pearson]
S. Reda EN160 SP’08 Measuring the input capacitance (for lab) Make sure to extract the parasitic capacitance First, create your standard cell and extract it to SPICE
S. Reda EN160 SP’08 Creating a subcircuit of your cell Create a subcircuit out of the extracted files.global vdd gnd.subckt inv a y Cpar1 vdd f Cpar2 gnd f Cpar3 y f M1 y a vdd vdd PMOS L=600n W=3u M2 y a gnd gnd NMOS L=600n W=1.5u.ends
S. Reda EN160 SP’08 Basic idea a y f Delay from a to y depend on the load capacitance of I1 → input capacitance of I2 If CAP has the same capacitance as I2 then delay from a to c will be equal to delay from a to y Objective: try to “guess” CAP to equalize the delay I1 I2 I3 CAP c delay of I1
S. Reda EN160 SP’08 SmartSPICE has a builtin optimizer to save your guessing time XI1 a y inv XI2 y f inv XI3 a c inv Ccin c gnd CAP Vin a gnd PULSE ps 0ps 0ps 2000ps 4200ps.measure TRAN tdr TRIG v(a) VAL='0.5*3.3' FALL=1 TARG v(y) VAL='0.5*3.3' RISE=1.measure TRAN tdf TRIG v(a) VAL='0.5*3.3' RISE=1 TARG v(y) VAL='0.5*3.3' FALL=1.measure TRAN tdavg PARAM='(tdr+tdf)/2'.measure TRAN tdrc TRIG v(a) VAL='0.5*3.3' FALL=1 TARG v(c) VAL='0.5*3.3' RISE=1.measure TRAN tdfc TRIG v(a) VAL='0.5*3.3' RISE=1 TARG v(c) VAL='0.5*3.3' FALL=1.measure TRAN tdavgc PARAM='(tdrc+tdfc)/2' goal=tdavg.model opt1 opt method=bisection.param CAP=optc(0fF, 0fF, 100fF).tran 20ps 3000ps sweep optimize=optc results = tdavgc model=opt1.end Optimizer report that the input capacitance = 6.25 fF (which you can easily validate !)
S. Reda EN160 SP’08 Design margins Sources of variations: Manufacturing (process variations): L, Vth, tox, interconnect dielectric height,.., etc Temperature Supply voltage (IR drop) threshold voltage 0.97Vthreshold voltage 0.57V [source: Asenov’99] 1 st CPU 2 nd CPU cache thermal profile during runtime [source: Devgan’05]
S. Reda EN160 SP’08 Variations can be modeled statistically
S. Reda EN160 SP’08 Process corners Process corners describe extreme case variations –If a design works in all corners, it will probably work for any variation. Describe corner with four letters (T, F, S) –nMOS speed –pMOS speed –Voltage –Temperature
S. Reda EN160 SP’08 Design corners check PurposenMOSpMOSV DD Temp Cycle timeSSSS PowerFFFF Subthrehold leakage FFFS
S. Reda EN160 SP’08 Simulating corner cases in SPICE.lib '05corners.lib' typ.temp 27.option scale=250n.option post vdd vdd gnd 3.3 Vin a gnd PULSE ps 0ps 0ps 2000ps 4200ps M1 y a gnd gnd NMOS W=4 L=2 AS=20 PS=18 AD=20 PD=18 M2 y a vdd vdd PMOS W=8 L=2 AS=40 PS=26 AD=40 PD=26.tran 1ps 500ps.alter.lib '05corners.lib' fastfast.alter.lib '05corners.lib' slowslow.end