005_buffer_delay : Buffer delay/risetime optimized for Vdd
Requires: SmartSpice & Smartview
Minimum Versions: SMARTSPICE 3.16.12.R
The input deck contains a buffer circuit to be optimized for geometry (W/L) to get the best rise, fall and delay times over a sequence of 4 operating voltages of 2.5v, 3.0v, 4.0v and 4.5v supply.
The parametric_data results of the optimization at each supply voltage level is printed as a table in the out log window. The final plot shows for each voltage some of the iterations to fulfill the optimization conditions.
Input Files
optr_rise_fall_multi.in
Example: Address Buffer * Optimization of rise and fall delays ********************************************************* ***** Buffer Circuit vin inp 0 DC 1.5 PULSE( 0.4 2.6 0 5N 5N 15N ) vcc vss 0 DC vccdc m1 2 inp vss vss pch W=5.067U L=1.6U m2 2 inp 0 0 nch W=34.82U L=2.0U m3 3 2 vss vss pch W= 50u L=1.1U m4 3 2 0 0 nch W=70.U L=1.0U m5 4 3 vss vss pch W=320.U L=1.1U m6 4 3 0 0 nch W=440.U L=1.1U m7 out 4 vss vss pch W=parm7w L=1.1U m8 out 4 0 0 nch W=parm8w L=1.1U m9 0 out 0 0 nch W=380U L=1.2U COUT out 0 700p ***** Models .model pch PMOS ( level=3 tox=.02e-6 phi=0.576 gamma=0 vto=0 alpha=0 kappa=0 is=0) .model nch NMOS ( level=3 tox=.02e-6 phi=0.576 gamma=0 vto=0 alpha=0 kappa=0 is=0) .TRAN 0.2NS 40NS CALLV SAVEV .PARAM parm7w=500u parm8w=500u vccdc=4.5 .MEASURE TRAN del_R DELAY v(inp) RISE=1 VAL=1.5 TARG=v(out) RISE=1 VAL= 'vccdc/2' .MEASURE TRAN del_F DELAY v(inp) FALL=1 VAL=1.5 TARG=v(out) FALL=1 VAL='vccdc/2' ********* 1st Optimization at 4.5 volts Supply *********************** .MODIF TEMP= 75 vccdc=4.5 + OPTIMIZE parm7w=opt(10u 3000u 500U) + parm8w=opt(10u 3000u 500U) + m3(w)=opt(10u 300u 50U) + m4(w)=opt(10u 300u 70U) + m5(w)=opt(100u 1000u 320U) + m6(w)=opt(50u 1000u 440U) + TARGETS del_f=3ns del_r=3ns + OPTIONS AVG=0.001 MEASOFF=0 ***** Interactive plot .OPTIONS iplot_one nomod .control run batchprint .endc .iplot v(out) ********* 2nd Optimization at 4.0 volts Supply *********************** .ALTER .MODIF TEMP= 75 vccdc=4.0 + OPTIMIZE parm7w=opt(10u 3000u 500U) + parm8w=opt(10u 3000u 500U) + m3(w)=opt(10u 300u 50U) + m4(w)=opt(10u 300u 70U) + m5(w)=opt(100u 1000u 320U) + m6(w)=opt(50u 1000u 440U) + TARGETS del_f=3ns del_r=3ns + OPTIONS AVG=0.001 MEASOFF=0 ********* 3rd Optimization at 3.0 volts Supply *********************** .ALTER .MODIF TEMP= 75 vccdc=3.0 + OPTIMIZE parm7w=opt(10u 3000u 500U) + parm8w=opt(10u 3000u 500U) + m3(w)=opt(10u 300u 50U) + m4(w)=opt(10u 300u 70U) + m5(w)=opt(100u 1000u 320U) + m6(w)=opt(50u 1000u 440U) + TARGETS del_f=3ns del_r=3ns + OPTIONS AVG=0.001 MEASOFF=0 ********* 4th Optimization at 2.5 volts Supply *********************** .ALTER .MODIF TEMP= 75 vccdc=2.5 + OPTIMIZE parm7w=opt(10u 3000u 500U) + parm8w=opt(10u 3000u 500U) + m3(w)=opt(10u 300u 50U) + m4(w)=opt(10u 300u 70U) + m5(w)=opt(100u 1000u 320U) + m6(w)=opt(50u 1000u 440U) + TARGETS del_f=3ns del_r=3ns + OPTIONS AVG=0.001 MEASOFF=0 .END
parametric_data
RESULTS OF OPTIMIZATION PARAMETERS name final value init. value -------------------- ------------ ------------ parm7w = 8.49262e-004 5.00000e-004 parm8w = 1.21458e-003 5.00000e-004 m3(w) = 2.39510e-005 5.00000e-005 m4(w) = 5.22361e-005 7.00000e-005 m5(w) = 1.44335e-004 3.20000e-004 m6(w) = 1.62742e-004 4.40000e-004 TARGETS name final value init. value -------------------- ------------ ------------ del_f = 3.01550e-009 5.74861e-009 del_r = 2.99721e-009 4.81416e-009 Circuit: Example: Address Buffer (with .alter 1) RESULTS OF OPTIMIZATION PARAMETERS name final value init. value -------------------- ------------ ------------ parm7w = 1.07567e-003 5.00000e-004 parm8w = 1.60961e-003 5.00000e-004 m3(w) = 2.20002e-005 5.00000e-005 m4(w) = 1.11379e-004 7.00000e-005 m5(w) = 4.82815e-004 3.20000e-004 m6(w) = 3.10396e-004 4.40000e-004 TARGETS name final value init. value -------------------- ------------ ------------ del_f = 2.99941e-009 6.62264e-009 del_r = 3.03633e-009 5.04681e-009 Circuit: Example: Address Buffer (with .alter 2) RESULTS OF OPTIMIZATION PARAMETERS name final value init. value -------------------- ------------ ------------ parm7w = 1.48675e-003 5.00000e-004 parm8w = 2.99993e-003 5.00000e-004 m3(w) = 1.22140e-005 5.00000e-005 m4(w) = 1.18420e-004 7.00000e-005 m5(w) = 3.22238e-004 3.20000e-004 m6(w) = 1.44141e-004 4.40000e-004 TARGETS name final value init. value -------------------- ------------ ------------ del_f = 3.17473e-009 8.67002e-009 del_r = 3.10508e-009 6.11718e-009 Circuit: Example: Address Buffer (with .alter 3) RESULTS OF OPTIMIZATION PARAMETERS name final value init. value -------------------- ------------ ------------ parm7w = 1.17183e-003 5.00000e-004 parm8w = 3.00000e-003 5.00000e-004 m3(w) = 2.44390e-005 5.00000e-005 m4(w) = 1.08871e-004 7.00000e-005 m5(w) = 6.59637e-004 3.20000e-004 m6(w) = 2.49514e-004 4.40000e-004 TARGETS name final value init. value -------------------- ------------ ------------ del_f = 4.01678e-009 9.86762e-009 del_r = 3.73513e-009 7.12989e-009
005_buffer_delay
[an error occurred while processing this directive]
Graphics