• 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. How can I retrieve outputs from expressions in an ADE XL...

Stats

  • Locked Locked
  • Replies 6
  • Subscribers 144
  • Views 17067
  • 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

How can I retrieve outputs from expressions in an ADE XL run from ocean

webbyguy
webbyguy over 14 years ago

Hi All,

I'm sure this is real simple, but I haven't been able to find it in the documentation.  I probalby just haven't put in the right keywords.  Anyway...

I have a ADEXL simulation that I have run.  It has 30 monte carlo iterations (no corners).  In one of the states I have an output to find the value of a voltage at a time.  It runs fine.

 I am trying to read the result of that expression across all of the iterations with ocean or skill, and I can't find the right functions to do it.  What is the right function to use? 

  • Cancel
Parents
  • sarav
    sarav over 14 years ago
    Hi Andrew I have the same problem too. I am running Monte Carlo simulation for DC analysis through ADEXL and I am interested in difference between the threshold voltage of two transistors. I formed the expression and to calculate the difference using calculator and when I run the Monte Carlo simulation I am getting the histogram plot but I need to store the value of expression for each iteration into a file for my post processing.

    I am trying to do that using report() command and even using ocnPrint nothing helped out. Hope you could help me in this issue.

    Just for your reference I am posting the ocean script for the analysis


    Regards
    Sarav



    ocnxlTargetCellView( "SARADC_First" "Comparator_2007" "adexl" )
    ocnxlProjectDir( "/grad/ramamoor/simulation" )
    ocnxlResultsLocation( "/grad/ramamoor/cmrf8sf.oa/MC" )
    ocnxlSimResultsLocation( "/grad/ramamoor/cmrf8sf.oa/SARADC_First/Comparator_2007/adexl/results" )

    ;====================== Tests setup ============================================

    ;---------- Test "SARADC_First:Comparator_2007:1" -------------
    ocnxlBeginTest("SARADC_First:Comparator_2007:1")
    simulator( 'spectre )
    design( "SARADC_First" "Comparator_2007" "schematic")
    modelFile(
        '("/cadence/shared/PDK/IBM_PDK/cmrf8sf/relDM/Spectre/models/allModels.scs" "tt")
        '("/cadence/shared/PDK/IBM_PDK/cmrf8sf/V1.7.0.2DM/Spectre/models/design.scs" "")
    )
    analysis('dc ?saveOppoint t  ?sort "name"  ?detail "node" 
            ?threshold "0.0"  ?annotate "status"  ?maxsteps "10000"  ?maxiters "150" 
            ?oppoint "rawfile"  ?write "spectre.dc"  ?rangeType "Start-Stop"  ?incrType "Automatic" 
            ?stepTypeLin "Step Size"  ?stepTypeLog "Points Per Decade"  )
    saveOption( ?saveahdlvars "all" )
    saveOption( 'save "all" )
    temp( 27 )
    ocnxlOutputExpr( "(OP(\"/T11\" \"vth\") - OP(\"/T12\" \"vth\"))" ?name "Vth_diff" ?plot nil ?save t)
    ocnxlEndTest() ; "SARADC_First:Comparator_2007: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"
        "runtimeout" "-1"
        "showerrorwhenretrying" "1"
        "showoutputlogerror" "0"
        "startmaxjobsimmed" "1"
        "starttimeout" "300"
    ) )

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

    ;====================== Run Mode Options ======================================
    ocnxlMonteCarloOptions( ?mcMethod "all" ?mcNumPoints "5" ?samplingMode "random" ?saveAllPlots "1" ?useReference "0" ?donominal "1" ?monteCarloSeed "" ?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()
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • sarav
    sarav over 14 years ago
    Hi Andrew I have the same problem too. I am running Monte Carlo simulation for DC analysis through ADEXL and I am interested in difference between the threshold voltage of two transistors. I formed the expression and to calculate the difference using calculator and when I run the Monte Carlo simulation I am getting the histogram plot but I need to store the value of expression for each iteration into a file for my post processing.

    I am trying to do that using report() command and even using ocnPrint nothing helped out. Hope you could help me in this issue.

    Just for your reference I am posting the ocean script for the analysis


    Regards
    Sarav



    ocnxlTargetCellView( "SARADC_First" "Comparator_2007" "adexl" )
    ocnxlProjectDir( "/grad/ramamoor/simulation" )
    ocnxlResultsLocation( "/grad/ramamoor/cmrf8sf.oa/MC" )
    ocnxlSimResultsLocation( "/grad/ramamoor/cmrf8sf.oa/SARADC_First/Comparator_2007/adexl/results" )

    ;====================== Tests setup ============================================

    ;---------- Test "SARADC_First:Comparator_2007:1" -------------
    ocnxlBeginTest("SARADC_First:Comparator_2007:1")
    simulator( 'spectre )
    design( "SARADC_First" "Comparator_2007" "schematic")
    modelFile(
        '("/cadence/shared/PDK/IBM_PDK/cmrf8sf/relDM/Spectre/models/allModels.scs" "tt")
        '("/cadence/shared/PDK/IBM_PDK/cmrf8sf/V1.7.0.2DM/Spectre/models/design.scs" "")
    )
    analysis('dc ?saveOppoint t  ?sort "name"  ?detail "node" 
            ?threshold "0.0"  ?annotate "status"  ?maxsteps "10000"  ?maxiters "150" 
            ?oppoint "rawfile"  ?write "spectre.dc"  ?rangeType "Start-Stop"  ?incrType "Automatic" 
            ?stepTypeLin "Step Size"  ?stepTypeLog "Points Per Decade"  )
    saveOption( ?saveahdlvars "all" )
    saveOption( 'save "all" )
    temp( 27 )
    ocnxlOutputExpr( "(OP(\"/T11\" \"vth\") - OP(\"/T12\" \"vth\"))" ?name "Vth_diff" ?plot nil ?save t)
    ocnxlEndTest() ; "SARADC_First:Comparator_2007: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"
        "runtimeout" "-1"
        "showerrorwhenretrying" "1"
        "showoutputlogerror" "0"
        "startmaxjobsimmed" "1"
        "starttimeout" "300"
    ) )

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

    ;====================== Run Mode Options ======================================
    ocnxlMonteCarloOptions( ?mcMethod "all" ?mcNumPoints "5" ?samplingMode "random" ?saveAllPlots "1" ?useReference "0" ?donominal "1" ?monteCarloSeed "" ?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()
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data

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