Home > Community > Forums > Custom IC Design > oceanXL/Monte Carlo error: "return can only be used within a prog"

Email

* Required Fields

Recipients email * (separate multiple addresses with commas)

Your name *

Your email *

Message *

Contact Us

* Required Fields
First Name *

Last Name *

Email *

Company / Institution *

Comments: *

 oceanXL/Monte Carlo error: "return can only be used within a prog" 

Last post Wed, Feb 26 2014 8:45 AM by RFdog. 4 replies.
Started by RFdog 24 Feb 2014 09:55 AM. Topic has 4 replies and 1057 views
Page 1 of 1 (5 items)
Sort Posts:
  • Mon, Feb 24 2014 9:55 AM

    • RFdog
    • Not Ranked
    • Joined on Mon, Feb 24 2014
    • Posts 5
    • Points 85
    oceanXL/Monte Carlo error: "return can only be used within a prog" Reply

    Greetings,

    I'm a reasonably proficcient skill/ocean user, but have not worked with oceanXL before.  I'm trying to create a monte-carlo script with oceanXL which will run a certain monte-seed, update some parameters, then re-run the same seed.  Should be easy.... as a first step, I exported an ocean script (FILE--> Save Script) from a working ADEXL Monte-Carlo simulation.  The script looks complete and has no obvious errors.  The last line in the script is:

     ocnxlRun( ?mode 'monteCarlo ?nominalCornerEnabled t ?allCornersEnabled t ?allSweepsEnabled t)

    This always errors-out with:

     *Error* return: return can only be used within a prog

    version 6.1.5-64b.500.17 (using GXL license for XL)

     thoughts?

     

     

    Filed under:
    • Post Points: 20
  • Mon, Feb 24 2014 10:26 AM

    Re: oceanXL/Monte Carlo error: "return can only be used within a prog" Reply

    The best thing is to contact customer support over this. I've not seen this before. You might get a bit more info by doing:

    sstatus(errsetTrace t)
    _stacktrace=50

    before loading the script. But even then, it will probably need support input.

    Regards,

    Andrew.

    • Post Points: 20
  • Mon, Feb 24 2014 11:48 AM

    • RFdog
    • Not Ranked
    • Joined on Mon, Feb 24 2014
    • Posts 5
    • Points 85
    Re: oceanXL/Monte Carlo error: "return can only be used within a prog" Reply

    I've opened a support ticket. Also some more info: I created a simple circuit with an ideal voltage source, gnd, and resistor. Another non-ideal resistor forms a voltage divider such that the midpoint varies with monte-carlo analysis. Same symptom: I can run just fine through the GUI, but not with ocnxl. Auto-generated script is included below for 10x monte runs (model file path removed for IP reasons) 

    (EDIT: unix2dos fix) 

    ;---------- Test "drm_test:junk3:1" -------------

    ocnxlBeginTest("drm_test:junk3:1")
    simulator( 'spectre )
    design( "drm_test" "junk3" "schematic")
    modelFile( '("" "mc_lib") )
    analysis('dc ?saveOppoint t ?param "temp" ?start "-40" ?stop "125" ?lin "10" )
    saveOption( 'currents "selected" )
    saveOption( 'save "selected" )
    save( 'v "/vmid" )
    temp( -40.0 )
    ocnxlOutputSignal( "/vmid" ?save t)
    ocnxlEndTest() ; "drm_test:junk3:1"

    ;====================== Sweeps setup ===========================================

    ;====================== Model Group setup ==========================================

     ;====================== Corners setup ==========================================

    ;====================== Job setup ==============================================

    ocnxlJobSetup( '( "blockemail" "1" "configuretimeout" "300" "distributionmethod" "Local" "lingertimeout" "300" "maxjobs" "1" "name" "ADE XL Default" "preemptivestart" "1" "reconfigureimmediately" "1" "runtimeout" "-1" "showerrorwhenretrying" "1" "showoutputlogerror" "0" "startmaxjobsimmed" "1" "starttimeout" "300" ) )

    ;====================== Disabled items =========================================

    ;====================== Run Mode Options ====================================== ocnxlSweepsAndCornersOptions( ?submitpointsenabled "0" )
    ocnxlMonteCarloOptions( ?mcMethod "all" ?mcNumPoints "10" ?mcNumBins "" ?mcStopEarly "0" ?mcYieldTarget "99.73" ?mcYieldAlphaLimit "0.05" ?samplingMode "random" ?saveProcess "1" ?saveMismatch "0" ?useReference "0" ?donominal "1" ?saveAllPlots "1" ?monteCarloSeed "1" ?mcStartingRunNumber "" )
     ;====================== Starting Point Info ======================================  


    ;====================== Run command ============================================
    ocnxlRun( ?mode 'monteCarlo ?nominalCornerEnabled t ?allCornersEnabled t ?allSweepsEnabled t)
    ocnxlOutputSummary(?yieldSummary t ?exprSummary nil ?specSummary nil ?detailed nil)

    ;====================== End XL Mode command ===================================
    ocnxlEndXLMode()

    • Post Points: 20
  • Mon, Feb 24 2014 2:30 PM

    • Tawna
    • Top 25 Contributor
    • Joined on Thu, Jul 10 2008
    • Snohomish, WA
    • Posts 216
    • Points 5,720
    Re: oceanXL/Monte Carlo error: "return can only be used within a prog" Reply

    If you've opened a Case with Customer Support, please work with the AE assigned to you.

    (It's not a good use of resources to have multiple people working in parallel on the same issue...particularly when they don't know and cannot collaborate.)

    Thanks!

     

    best regards,

    Tawna

    Best regards, Tawna Wilsey Staff Support AE, Global Customer Support Cadence Design Systems, Inc.
    • Post Points: 20
  • Wed, Feb 26 2014 8:45 AM

    • RFdog
    • Not Ranked
    • Joined on Mon, Feb 24 2014
    • Posts 5
    • Points 85
    Re: oceanXL/Monte Carlo error: "return can only be used within a prog" Reply

    So here's the solution:

    The problem is related to a (now) known bug where ADEXL doesn't clear completely even when you "close data".  This was hitting me since I was running the script from the CIW window in the same cadence session as I had previously saved the script from.

    If I modify the script to open the cellview in read mode and *also* run the script only from a clean / new cadence session then the error goes away.  

    To open in read-mode:

    Existing => ocnxlTargetCellView( "myoalib" "ampTest" "adexl" )
    Modify To => ocnxlTargetCellView( "myoalib" "ampTest" "adexl" ?mode "r") 
     
    //dan. 
    • Post Points: 5
Page 1 of 1 (5 items)
Sort Posts:
Started by RFdog at 24 Feb 2014 09:55 AM. Topic has 4 replies.