• 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 Design
  3. Spectre/Ocean multiple analysis naming

Stats

  • Locked Locked
  • Replies 2
  • Subscribers 125
  • Views 922
  • 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

Spectre/Ocean multiple analysis naming

Felipe Frantz
Felipe Frantz over 13 years ago

Hi,

 I have a question on how multiple circuit analysis are named in Spectre and how to retrieve them in Ocean (I'm using ic5141). Basically my input netlist has the following analysis statements:

// DC operating point.
    openLoopDC dc oppoint=rawfile annotate=no save=selected

// AC open loop.
    openLoopAC ac start=1e3 stop=300e6 dec=10 prevoppoint=yes

// Unity gain: ( ICMR, Slew rate )
    please1 alter dev=Ri param=r value=1.0T
    please2 alter dev=Rf param=r value=0.1
    icmrDC dc save=selected param=tb_VDCPlus center=0 span=VSupply maxiters=150 maxsteps=10000 lin=20
    slewTran   tran stop=2*(VSupply*tb_tranRatio)*1e-6 errpreset=conservative maxiters=5

// x10 gain: ( Output swing )
    please3 alter dev=Ri param=r value=tb_Ri
    please4 alter dev=Rf param=r value=(tb_clGain*tb_Ri)
    outSwingDC dc save=selected param=tb_VDCMinus center=0 span=VSupply/2 lin=20

I run spectre and get a ./netlist.raw folder with the following content:

 icmrDC.dc  openLoopAC.ac  openLoopDC.info  slewTran.tran
 logFile    openLoopDC.dc  outSwingDC.dc

 

Then I open ocean and tell it to load the results : openResults( "netlist.raw" ) . I the ask for the available results typing results() and get:

 (dcOp ac tran dc "icmrDC-dc"
    "openLoopDC-info"
)

Which is very different from what I asked for =/

Can someone explain me how ocean reads the results? I'm writing skill scripts to automate my design and I must know exactly the names of the analysis results, so that I can automate the post-processing easily.

 Thanks

 

  • Cancel
Parents
  • Andrew Beckett
    Andrew Beckett over 13 years ago

    What you're seeing is the "aliased" names for the results (in some cases). For convenience (and also to help with complex analyses like monte carlo), there is a concept of the aliased name for a result database so that you don't need to know that an ac analysis inside a monte carlo has a different name in practice.

    You can reference the names using either the aliased name or the full name. So for example, when I ran your example, I get:

    ocean> results()
    ("outSwingDC-dc" ac tran dc "icmrDC-dc"
        "openLoopDC-info"
    )
    ocean> results(?noAlias t)
    ("outSwingDC-dc" "openLoopAC-ac" "slewTran-tran" "openLoopDC-dc" "icmrDC-dc"
        "openLoopDC-info"
    )

    The names (as you can see) are the instance name of the analyses, followed by "-" and the type of the analysis. There's a one to one correspondence between these two lists. So that means I can either do:

      selectResult("ac")

    or

      selectResult("openLoopAC-ac")

    Both will work equally well.

    Hope that helps. The ?noAlias t is probably what you want here...

    Regards,

    Andrew.

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
Reply
  • Andrew Beckett
    Andrew Beckett over 13 years ago

    What you're seeing is the "aliased" names for the results (in some cases). For convenience (and also to help with complex analyses like monte carlo), there is a concept of the aliased name for a result database so that you don't need to know that an ac analysis inside a monte carlo has a different name in practice.

    You can reference the names using either the aliased name or the full name. So for example, when I ran your example, I get:

    ocean> results()
    ("outSwingDC-dc" ac tran dc "icmrDC-dc"
        "openLoopDC-info"
    )
    ocean> results(?noAlias t)
    ("outSwingDC-dc" "openLoopAC-ac" "slewTran-tran" "openLoopDC-dc" "icmrDC-dc"
        "openLoopDC-info"
    )

    The names (as you can see) are the instance name of the analyses, followed by "-" and the type of the analysis. There's a one to one correspondence between these two lists. So that means I can either do:

      selectResult("ac")

    or

      selectResult("openLoopAC-ac")

    Both will work equally well.

    Hope that helps. The ?noAlias t is probably what you want here...

    Regards,

    Andrew.

    • Cancel
    • Vote Up +1 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