hspice optimize

Thread Starter

bbcannon

Joined Dec 2, 2005
2
I'm trying to use optimize to get the length of line-line coupling required to cause a 500mV glitch on the output of an inverter load.

My control file:

* optimized parameter, start,low,high
.PARAM prc_length=OPTsl(200,1,100000) $ prc_length is the parameter for coupling length
*
[!netlist] $ inv drivers, rc network, inv load

* victim waveform
VAS AS 0 GND

* aggressor waveforms, one aggressor on each side of the victim
.param tra=1n
.param tfa=1n
.param pwa=10n
.param dutyca=20
.param ppa='100/dutyca*(pwa + (tra + tfa)/2)'

VAU AU 0 PU(GND VCC '2*pwa' tra tfa pwa ppa)
VAD AD 0 PU(GND VCC '2*pwa' tra tfa pwa ppa)


.measure tran sl FIND par('prc_length') WHEN v(BS)=400mV RISE=1 td=1n

.model prc_length opt

.TRAN 0.2ns 100ns sweep optimize=OPTsl results=sl model=prc_length

.INC "model.env" $ mos models
.END


Unfortunately, this give the following output, leaving prc_length at the initial condition:

optimization completed

relin, relout, grad tolerances not met

measure failures may have occurred, check limits
************************

termination condition:

the maximum number of iterations ( 20)was
exceeded. however, results might be accurate.
************************

**** optimized parameters optsl
* %norm-sen %change

.param prc_length = 200.2000 $ 0. 0.


I haven't ever used the optimize command before. Any pointers would be great.

Thanks,
Brady Cannon
 

n9352527

Joined Oct 14, 2005
1,198
Please post your .option line. It looks like you need a tighter convergence, if you haven't already set them. Optimisation generally requires this. I would start by setting relv to 1e-4 and relvar to 1e-2 first. If that doesn't work maybe tweaking the other rel* parameters.
 

Thread Starter

bbcannon

Joined Dec 2, 2005
2
Originally posted by n9352527@Dec 3 2005, 02:02 PM
Please post your .option line. It looks like you need a tighter convergence, if you haven't already set them. Optimisation generally requires this. I would start by setting relv to 1e-4 and relvar to 1e-2 first. If that doesn't work maybe tweaking the other rel* parameters.
[post=12169]Quoted post[/post]​

I found I hadn't hooked up the supplies, so the inverters weren't switching. Seems better now [:).

Thanks for the tips...
 
Top