hspice optimize

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

  1. bbcannon

    Thread Starter New Member

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

    AAC Fanatic!

    Oct 14, 2005
    1,198
    3
    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
    2
    0

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

    Thanks for the tips...
     
Loading...