* 6.012 Design Problem #1 * Tri-state pad driver * * Model Parameters * ---------------- * .MODEL N1 NMOS LEVEL=1 VTO=0.7 TOX=1.5E-08 KP=5E-05 + LAMBDA=6.7E-02 CJ=1.0E-04 CJSW=5E-10 PB=0.8 .MODEL P1 PMOS LEVEL=1 VTO=-0.7 TOX=1.5E-08 KP=2.5E-05 + LAMBDA=6.7E-02 CJ=3.0E-04 CJSW=3.5E-10 PB=0.8 * * ****************************************************************** * ATTENTION! THESE WAVEFORMS ARE INCORRECT. USE THE ONES IN THE * DESIGN PROBLEM #1 ADDENDUM (10/26/99). * ****************************************************************** * * Standard Input Waveforms for Measuring Power * -------------------------------------------- * * Use the input waveforms given below when you measure power dissipation. * These waveforms should be used with a transient simulation for 100ns. * example: .tran 50p 100n * * Also, for power measurement we want the voltage of the output capacitor * to start at a predetermined value. Use the following command to * force the initial voltage to 0 volts. * .ic v(OUTPUT) 0 * * The actual command that tells HSPICE to measure power is: * .measure tran pdiss avg power from=0n to=100n * .measure (which simulation) (name_you_choose) (average) (power) (starttime) * (endtime) * venn enablen 0 dc 0 + pwl(0ns 3 50ns 3 52.5ns 0 100ns 0) vd data 0 dc 0 + pwl(0ns 0 10ns 0 12.5ns 3 30ns 3 32.5ns 0 70ns 0 72.5ns 3 90ns 3 + 92.5ns 0 100ns 0) vdn datan 0 dc 0 + pwl(0ns 3 10ns 3 12.5ns 0 30ns 0 32.5ns 3 70ns 3 72.5ns 0 90ns 0 + 92.5ns 3 100ns 3) .tran 50p 100n .ic v(output) 0 .measure tran pdiss avg power from=0n to=100n * * Automatic measurements in HSPICE * -------------------------------- * * HSPICE can measure a variety of conditions automatically. This can save * a lot of time compared to measuring and calculating by hand. * * To measure the propagation delay between two points: * .measure tran tpd trig v(INPUT) val=1.5 fall=2 targ v(OUT) val=1.5 rise=1 * * Instruction What it means * -------------- ---------------------------------------------- * .measure HSPICE automatic measurement * tran use simulation results from transient analysis * tpd name_you_choose * trig v(INPUT) fall=2 val=1.5 start measuring when the voltage at node * INPUT falls below 1.5 volts for the second * time. * targ v(OUT) rise=1 val=1.5 Stop at the first time node OUT rises * above 1.5 volts. * * __________ ____________ * IN ________/ \___________/ \____________________ * * _________ ___________ ___________________ * OUT \__________/ \____________/ * * ^^ * measures this delay. * * * Look in your .out file for a line that looks like: * tpd = 6.3960E-09 targ= 9.7646E-08 trig= 9.1250E-08 * * All times are in seconds, so the trigger event happened at 91.2ns, the target * event happened at 97.64ns, and the value of tpd is their difference, 6.39ns. * .measure tran tpd trig v(INPUT) val=1.5 fall=2 targ v(OUT) val=1.5 fall=1