• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Custom IC SKILL
  3. Using ocnxlRun in a loop

Stats

  • Locked Locked
  • Replies 9
  • Subscribers 143
  • Views 16108
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Using ocnxlRun in a loop

webbyguy
webbyguy over 14 years ago

I am trying to run multiple ADE XL runs from an ocean script, but each time I run simulations using the ocnxlRun command the script waits until that job is finished.  Is there any way to setup the ocnxljob such that it doesn't wait on previous runs to finish before starting the next jobs?

 

Thanks

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 14 years ago

    Not at the moment (other than running in a separate ocean or virtuoso session). I filed CCR 548144 for this for another customer. Please contact customer support and request this. This way a duplicate CCR can be filed, which means there is a better indication to R&D of the level of demand for this.

    Thanks,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • webbyguy
    webbyguy over 14 years ago

     Thanks for the reply.  We will put in a support request.  It is too bad that functunality has been removed when going from cadence 5 to cadence 6.

     

    I was wondering if a possible work around would be to modify the wrapper that calles spectre.  If the wrapper were to start the spectre job, and then report to the ocean script that the job had failed, could the job still run, and the script continue.  I would loose the ability to have the script wait on all jobs to finish and process results, but at least I could get all the jobs going.  Any thoughts?

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 14 years ago

    Functionality has not been removed here. ocnxlRun() is new in IC61, to correspond to ADE XL functionality. You can still use a non-blocking run() function in an OCEAN simulation, so that functionality has not been removed. I agree that it would be very useful to be able to do a non-blocking ocnxlRun() though, which is why I filed the enhancement before.

    Wrapping spectre and getting it to appear to exit might work, but it would rather destroy much of the benefit of ADE XL and OCEAN XL scripts, which allows you to set up measurements and specification limits - these would all fail. So I don't think that's a sensible solution.

    What are you actually trying to achieve here? Understanding that might allow me (or someone else) to suggest alternative methodologies.

    Best Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • webbyguy
    webbyguy over 14 years ago
    Here are two examples of what I'm trying to do:

    Example 1:

    I have 2 designs that I am trying to simulate.  On design1 I want to simulate resistor corners of 5 and 10 ohms across 30 iterations of monte carlo (no temperature).  On design2 I want to simulate capacitor corners of 1uF and 10uF across 100 iterations of monte carlo with temperature steps of -40C, 27C, and 125C.

    In my script I set up design1 simulate and call the ocnxlrun command.  Here the script waits until the simulations for design 1 complete before executing the rest of the script which sets up design 2 and calls ocnxlrun again.  I would like to have the option for the script not to wait on design1’s simulations to finish before submitting the sims for design2.

    Example 2:

    Sometimes I want to change a variable on each monte carlo iteration.  In cadence 5 I could simply run each monte carlo iteration by itself in a for loop.  So for iteration #1 I would set the variable Vref to 5V, set the monte carlo iteration number to 1, and the number of iterations to run to 1.  Then I would call monteRun, the job would be submitted, and the script would continue on to iteration #2 setup.  For iteration #2 I would set the variable Vref to 4.5V, set the monte carlo iteration number to 2, and the number of iterations to run to 1.  The call the monteRun, the job would be submitted, and the script would continue on to iteration #3 setup…etc…

    The reason I was saying functionality has been removed is:  I don't think there is anyway to submit multiple monte carlo jobs from a script in cadence 6, but it was possible in cadence 5.  I may have missed something though in the documentation.  Is there some way to still use the non blocking run when submitting monte carlo jobs?

     Thanks,

     John
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 14 years ago

    Hi John,

    OK, fair enough. For the second we have a capability called "pre run scripts" which is in IC615 (it's in IC614 under an engineering release flag) which allows you to effectively run a bit of OCEAN before each iteration of the monte carlo. In fact you can run the monte carlo iteration, run a number of simulations (e.g. to "tune" the design), and then finally do you're measurements. This is supported in ADE XL, and also would work from OCEAN XL.

    For the first, there's no good solution, except you can still use the monteExpr/monteCarlo/monteRun approach - this is still supported for legacy reasons.

    What I would suggest is giving all this info in the service request you're filing, as it gives good justification as to why we should implement ocnxlRun sooner rather than later.

    Note you could do it by using (say) ipcBeginProcess() to launch a background virtuoso (or ocean) session which is loading  an OCEAN script, and that could run at the same time as the second run. But it's less convenient than being able to do a non-blocking run().

    If you run from ADE XL itself, you can do this (submit both jobs simultaneously, without blocking), if you don't mind the UI being open.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • webbyguy
    webbyguy over 14 years ago

    Andrew Beckett said:

    OK, fair enough. For the second we have a capability called "pre run scripts" which is in IC615 (it's in IC614 under an engineering release flag) which allows you to effectively run a bit of OCEAN before each iteration of the monte carlo. In fact you can run the monte carlo iteration, run a number of simulations (e.g. to "tune" the design), and then finally do you're measurements. This is supported in ADE XL, and also would work from OCEAN XL.

     

    This sounds good.  Do you happen to know when IC615 will be out?

     

    Andrew Beckett said:

    For the first, there's no good solution, except you can still use the monteExpr/monteCarlo/monteRun approach - this is still supported for legacy reasons.

     

    Hmmm, I tried this, and got an error, but maybe I gave up too soon.  This was the error that I got:

     *WARNING* IC5141 based Monte Carlo scripts will not be supported in future release of IC61 OCEAN.
     Users should migrate their Monte Carlo scripts to OCEANXL

    *WARNING* IC5141 based Monte Carlo scripts will not be supported in future release of IC61 OCEAN.
     Users should migrate their Monte Carlo scripts to OCEANXL

    *Error* slotValue: no such slot - mcstartingrunnumber

    Andrew Beckett said:

    What I would suggest is giving all this info in the service request you're filing, as it gives good justification as to why we should implement ocnxlRun sooner rather than later.

     

    We put in a request, and even put a link to this thread.

    Andrew Beckett said:

    Note you could do it by using (say) ipcBeginProcess() to launch a background virtuoso (or ocean) session which is loading  an OCEAN script, and that could run at the same time as the second run. But it's less convenient than being able to do a non-blocking run().

    We thought about that, but we were worried about using lots of licenses for all of the sessions we would open.  Our support guy also said he was worried about keeping track of all of the processes.

    Andrew Beckett said:

    If you run from ADE XL itself, you can do this (submit both jobs simultaneously, without blocking), if you don't mind the UI being open.

     

    I don't mind using the interface.  In fact that would be better.  Are you saying to open many ADE XL sessions though?

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • webbyguy
    webbyguy over 14 years ago

     I tried to reply, but I guess it didn't go through, so I'll try again.

     

    Andrew Beckett said:

    Hi John,

    OK, fair enough. For the second we have a capability called "pre run scripts" which is in IC615 (it's in IC614 under an engineering release flag) which allows you to effectively run a bit of OCEAN before each iteration of the monte carlo. In fact you can run the monte carlo iteration, run a number of simulations (e.g. to "tune" the design), and then finally do you're measurements. This is supported in ADE XL, and also would work from OCEAN XL.

    This would help.  When will IC615 be available?

     

    Andrew Beckett said:

    For the first, there's no good solution, except you can still use the monteExpr/monteCarlo/monteRun approach - this is still supported for legacy reasons.

    I had tried this, but maybe I gave up too early.  I got this error:

    monteRun()
    *WARNING* IC5141 based Monte Carlo scripts will not be supported in future release of IC61 OCEAN.
     Users should migrate their Monte Carlo scripts to OCEANXL

    *WARNING* IC5141 based Monte Carlo scripts will not be supported in future release of IC61 OCEAN.
     Users should migrate their Monte Carlo scripts to OCEANXL

    *Error* slotValue: no such slot - mcstartingrunnumber

    Any ideas how to fix this?  We couldn't find any documentation of monteRun in cadence 6.

     

    Andrew Beckett said:

    What I would suggest is giving all this info in the service request you're filing, as it gives good justification as to why we should implement ocnxlRun sooner rather than later.

     

    We have one in, and we put a link to this thread.

    Andrew Beckett said:

    Note you could do it by using (say) ipcBeginProcess() to launch a background virtuoso (or ocean) session which is loading  an OCEAN script, and that could run at the same time as the second run. But it's less convenient than being able to do a non-blocking run().

    We may try this, but we were worried about keeping track of processes and using lots of licenses.

     

    Andrew Beckett said:

    If you run from ADE XL itself, you can do this (submit both jobs simultaneously, without blocking), if you don't mind the UI being open.

    This would be for starting many different cells, but I couldn't change a variable on each iteration unless I have the updated version that can pre run scripts?  Even for the many different cells I would need to individual open and start their runs right?

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • skillUser
    skillUser over 14 years ago

    Hi John,

    IC 615 is available now from http://downloads.cadence.com, so you may be able to download it and try it today?

    Best regards,

    Lawrence.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • webbyguy
    webbyguy over 14 years ago

     Thanks guys.  We are downloading 6.1.5, and we will try it soon.  We also look forward to the ability to run the ocnxlRun command in a non blocking mode.

     

    John

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information