Project 1 A10 phase 3a *** Parameters *** .param vdd=2.5 .param lambda='0.125u' .param def_w='2*lambda' .param def_l='2*lambda' .param ratio='2' .temp 25 *** Device models *** .lib '~/ee141/g25.mod' TT *** Devices *** .subckt NTRAN d g s b wn='def_w' ln='def_l' m1 d g s b nmos w='wn' l='ln' +AD='0.66u*wn' AS='0.66u*wn' PD='2*0.66u+wn' PS='2*0.66u+wn' .ends .subckt PTRAN d g s b wp='def_w' lp='def_l' m1 d g s b pmos w='wp' l='lp' +AD='0.66u*wp' AS='0.66u*wp' PD='2*0.66u+wp' PS='2*0.66u+wp' .ends .subckt INV in out vgnd vpwr wni='def_w' x1 out in vgnd vgnd NTRAN wn='wni' x2 out in vpwr vpwr PTRAN wp='2*wni' .ends INV *** Voltage sources *** Vdd Vdd 0 'vdd' Vld Vld 0 'vdd' Vin in 0 pulse (0 vdd 5n 10p 10p 10n 20n) *** Netlists *** * two buffer inverters Xbuf1 in bf1 0 Vld INV wni=1u Xbuf2 bf1 clk 0 Vld INV wni=1u * clk input Xinv1 clk out1 0 Vdd INV wni=1u * sub-design A XinvX1 out1 outX1 0 Vdd INV wni=1u XinvY11 outX1 outA1 0 Vdd INV wni=1.41u m=2 XinvY12 outX1 outA2 0 Vdd INV wni=1.41u m=2 Xload11 outA1 zA1 0 Vld INV wni=1u m=16 Xload12 outA2 zA2 0 Vld INV wni=1u m=16 * sub-design B XinvX2 out1 outX2 0 Vdd INV wni=1u m=2 XinvY21 outX2 outB1 0 Vdd INV wni=1.41u m=2 XinvY22 outX2 outB2 0 Vdd INV wni=1.41u m=2 XinvY23 outX2 outB3 0 Vdd INV wni=1.41u m=2 XinvY24 outX2 outB4 0 Vdd INV wni= 1.41u m=2 Xload21 outB1 zB1 0 Vld INV wni=1u m=16 Xload22 outB2 zB2 0 Vld INV wni=1u m=16 Xload23 outB3 zB3 0 Vld INV wni=1u m=16 Xload24 outB4 zB4 0 Vld INV wni=1u m=16 * sub-design C XinvX3 out1 outX3 0 Vdd INV wni=1u m=3 XinvY31 outX3 outC1 0 Vdd INV wni=1.41u m=2 XinvY32 outX3 outC2 0 Vdd INV wni=1.41u m=2 XinvY33 outX3 outC3 0 Vdd INV wni=1.41u m=2 XinvY34 outX3 outC4 0 Vdd INV wni= 1.41u m=2 XinvY35 outX3 outC5 0 Vdd INV wni=1.41u m=2 XinvY36 outX3 outC6 0 Vdd INV wni=1.41u m=2 Xload31 outC1 zC1 0 Vld INV wni=1u m=16 Xload32 outC2 zC2 0 Vld INV wni=1u m=16 Xload33 outC3 zC3 0 Vld INV wni=1u m=16 Xload34 outC4 zC4 0 Vld INV wni=1u m=16 Xload35 outC5 zC5 0 Vld INV wni=1u m=16 Xload36 outC6 zC6 0 Vld INV wni=1u m=16 *** Control section *** .options post=2 accurate nomod *** Analysis *** .tran 0.5ps 35n *** Measurements *** .measure tran tpHLA trig v(clk) val='vdd/2' rise=1 targ v(outA1) val='vdd/2' fall=1 .measure tran tpLHA trig v(clk) val='vdd/2' fall=1 targ v(outA1) val='vdd/2' rise=1 .measure tpA param='(tpHLA+tpLHA)/2' .measure tran tpHLB trig v(clk) val='vdd/2' rise=1 targ v(outB1) val='vdd/2' fall=1 .measure tran tpLHB trig v(clk) val='vdd/2' fall=1 targ v(outB1) val='vdd/2' rise=1 .measure tpB param='(tpHLB+tpLHB)/2' .measure tran tpHLC trig v(clk) val='vdd/2' rise=1 targ v(outC1) val='vdd/2' fall=1 .measure tran tpLHC trig v(clk) val='vdd/2' fall=1 targ v(outC1) val='vdd/2' rise=1 .measure tpC param='(tpHLC+tpLHC)/2' * energy dissipated .measure tran I integ I(Vdd) from=10n to=30n .measure E param='-I*vdd' .end tphla= 4.1812E-10 targ= 5.5030E-09 trig= 5.0849E-09 tplha= 4.5065E-10 targ= 1.5550E-08 trig= 1.5099E-08 tpa= 4.3439E-10 tphlb= 4.1812E-10 targ= 5.5030E-09 trig= 5.0849E-09 tplhb= 4.5065E-10 targ= 1.5550E-08 trig= 1.5099E-08 tpb= 4.3439E-10 tphlc= 4.1812E-10 targ= 5.5030E-09 trig= 5.0849E-09 tplhc= 4.5065E-10 targ= 1.5550E-08 trig= 1.5099E-08 tpc= 4.3439E-10 i= -4.4783E-12 from= 1.0000E-08 to= 3.0000E-08 e= 1.1196E-11