Home> >

005_buffer_delay : Buffer delay/risetime optimized for Vdd

005_buffer_delay : Buffer delay/risetime optimized for Vdd

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.

Graphics

Multi_rail_plot.png

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]

Related Articles