hspice optimize

Discussion in 'Homework Help' started by bbcannon, Dec 2, 2005.

  1. bbcannon

    Thread Starter New Member

    Dec 2, 2005
    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

    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.

    Brady Cannon
  2. n9352527

    AAC Fanatic!

    Oct 14, 2005
    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.
  3. bbcannon

    Thread Starter New Member

    Dec 2, 2005

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

    Thanks for the tips...