The Designer's Guide Community Forum
https://designers-guide.org/forum/YaBB.pl
Simulators >> Circuit Simulators >> Running multiple OCEAN sims
https://designers-guide.org/forum/YaBB.pl?num=1240957833

Message started by Mark Zimmerman on Apr 28th, 2009, 3:30pm

Title: Running multiple OCEAN sims
Post by Mark Zimmerman on Apr 28th, 2009, 3:30pm

I am trying to run multiple simulations from a single OCEAN script.  For various reasons, I cannot use a parametric simulation.  Instead I am, at one point, using a "foreach(" loop to step through various parameter values, and a desVar expression to set the parameter to the given value.  

A portion of the code is shown below.  The first iteration through the loop performs fine, and all three "NOTE" points are reached.  The second time through the loop, however, the script aborts after NOTE1, with the following error:

*Error* fprintf/sprintf: format spec. incompatible with data - nil

Are multiple run() statements not allowed in Ocean scripts?  I am running my script in Cadence Ver: ic5141_usr5 from the CIW window.

foreach( (iloadval index) '(0 50e-3 93e-3 150e-3 186e-3) '(1 2 3 4 5)
                       desVar( "iload" iloadval )
                       ocnPrint( "NOTE1" )
                       run()
                       ocnPrint( "NOTE2" )
                       Avg = average(clip(VT("/Vout") 0.000125 0.00015))
                       Ripple = (ymax(clip(VT("/Vout") 0.000145 0.00015)) - ymin(clip(VT("/Vout") 0.000145 0.00015)))*1000
                       AvgArray[index] = Avg
                       RippleArray[index] = Ripple
                       ocnPrint( "NOTE3" )
)


Thanks,
--Noth Bus

Title: Re: Running multiple OCEAN sims
Post by analogue_guy on Apr 29th, 2009, 7:27am

You would need an exception handling.

Try to run the simulation with the given variables, I am pretty sure that you will get problems (convergency etc. ...)
That is why you would need an exception handling. But simply try to run the simulation with the problematic variable values and you will know if it is really the case.

Title: Re: Running multiple OCEAN sims
Post by Mark Zimmerman on Apr 29th, 2009, 9:05am

I can run the simulations normally (outside of OCEAN) without problems.  I also don't have problems if I change the order of variables--the second simulation always exits with the same error.  

I am currently using a bdacosim simulator.  When I use spectreVerilog, I can execute multiple run() statements, however the simulations take ~10 times longer.  Any idea what bdacosim might be doing differently?

Title: Re: Running multiple OCEAN sims
Post by Andrew Beckett on May 1st, 2009, 5:44am

Multiple run() calls are absolutely allowed in OCEAN scripts. I can only imagine there must be something wrong in the BDA ADE integration, since nothing appears wrong with what you're doing.

You're probably best contacting BDA about this.

Regards,

Andrew.

Title: Re: Running multiple OCEAN sims
Post by Mark Zimmerman on May 1st, 2009, 9:11am


Andrew Beckett wrote on May 1st, 2009, 5:44am:
You're probably best contacting BDA about this.


Yeah, that's what we ended up doing on this side.  The ball's in their court, now, but I'll post an update to this thread if/when we get the problem figured out.  

Thanks again!

The Designer's Guide Community Forum » Powered by YaBB 2.2.2!
YaBB © 2000-2008. All Rights Reserved.