• 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. how to load ADE state in skill?

Stats

  • Locked Locked
  • Replies 5
  • Subscribers 126
  • Views 16267
  • 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 to load ADE state in skill?

LarissaN
LarissaN over 14 years ago

Hello

I need to create a netlist for a testbench cellview, in batch mode.

Basically I want to have in the skill script smthing like:

mysession = asiCreateSession(?simulator "spectre" ?lib LIB ?cell CELL ?view VIEW ?mode 'r')
asiLoadState(mysession ?name "spectre_state1" ?option 'cellview ?lib LIB ?cell CELL)
asiGenerateNetlist(mysession)

But asiLoadState returns nil with warning:
"WARNING (ADE-5046): There is no ADE window attached with the specified session" 
This is fine; I dont need ADE graphics. But is it a cause of the unsuccessful load?

OCEAN would work for us also, but as I understand it cannot load ADE state either...?

Thanks
Larissa

 

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 14 years ago

    Larissa,

    Yes, that is the case (as far as I know). There is an enhancement request asking for the ability to be able to run OCEAN importing from an ADE state - if you want this capability, you should log a service request with http://support.cadence.com so that a duplicate request can be filed, giving greater weight to the request.

    Best Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • LarissaN
    LarissaN over 14 years ago
    THank you, Andrew! I probably posted the message to the wrong group, should be "custom SKILL" :)

    Many people would be glad to get this enhancement.
      But don’t you have any practical way to do it now? I came to some variant which works, but it is ugly. Basically, it is: deOpenCellView(t_mylib, t_mycell, t_mystate, “adestate”, nil, “r”)  ; this creates a sev session with name which
                                                                                                                                               ; iterates from  sevSession1

    sevNetlistFile(‘sevSession1, ‘recreate)  

    sevQuit(‘sevSession1)

    hiDBoxCansel(sevblockingDialogBox)  I don’t like it because it is based on hardcoded  symbol name for ade session object, “sevSession”.And I try  to avoid use “sev” functions, they work with windows and forms, and in –nograph mode it creates situations when virtuoso hangs because of some blocking dialog, and you need tricks like aboveand cannot use it from procedure or when() block, only on top level of the stack And do you know is it a way to get “sev session” from “oasis session” ? RespectfullyLarissa
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 14 years ago

    Larissa,

    There really isn't a way to do this, hence the enhancement request. Hacking together some private SKILL functions would mean that it's potentially possible, but I have not tried (and if I did get it working, I wouldn't be able to share it).

    Getting the sev session from the OASIS (asI) session isn't really possible either (I believe) . The only way you can really do it (with public functions) is something like this:

    procedure(CCSfindSevSessionFromAsiSession(asiSessionId)
      car(exists(sevId mapcar('sevSession hiGetWindowList()) sevId && sevEnvironment(sevId)==asiSessionId))
    )

    But this won't work unless there's a sev session associated with the asi session in the first place.

    Regards,

    Andrew.

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

    Since the ADE state files are all ASCII text files, it might be relatively easy to parse these files yourself in SKILL and take the appropriate actions to fill in the details of the simulation that you want from the saved-state.  This would then be an equivalent to calling the asiLoadState function but would remove the dependency on having to have an open ADE session.

    Stephen

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 14 years ago
    I really wouldn't recommend that as an approach. First of all, it would require you to reverse engineer a private format which is liable to change (and particularly be extended) from release to release - in fact it can be extended even in hotfixes.

    In addition it would be a reasonable amount of work to do this.

    Better to put the request into Cadence and increase the likelihood of it being done sooner rather than later - the pieces are close to being there. Otherwise you'd create yourself a maintenance headache, and a high chance you might miss something important.

    In the meantime it would be better to save an OCEAN script from ADE and use that.

    Regards,

    Andrew
    • 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