• 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. ocean script, sens analysis and ?addInstancesUsingWildcards...

Stats

  • Locked Locked
  • Replies 6
  • Subscribers 143
  • Views 14338
  • 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

ocean script, sens analysis and ?addInstancesUsingWildcards option

marcelpreda
marcelpreda over 7 years ago

Hi there,

I want to know if ?addInstancesUsingWildcards  is a valid option of an ocean statement like below (spectre simulator, cadence v6.1.7).

analysis('sens ?analyses_list list("dcOp" "dc" "ac")  ?net list("/out") ?addInstancesUsingWildcards "I0.M2 I0.M3"  )

just found such statement in some code that I have to maintain.

Also, where I can find some documentation about addInstancesUsingWildcards option?

The only thing that I've found are those two links, not too many details:

https://support.cadence.com/apex/ArticleAttachmentPortal?id=a1Od0000007McMdEAK&pageName=ArticleContent&sq=005d00000042vf9AAA_201813182645915
https://support.cadence.com/apex/ArticleAttachmentPortal?id=a1Od0000000uYaKEAU&pageName=ArticleContent&sq=005d00000042vf9AAA_201813182645915

Thanks,

Marcel

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

    Marcel,

    Yes - we don't necessarily explicitly document all the options this way. However, if you use ocnHelp('analysis) you'll see it mentioned under the sens analysis. Also if you add the analysis, and do ocnDisplay('analysis) or ocnDisplay('analysis 'sens) you'll see the parameter listed there.

    Or if you set it up in the ADE UI and export the OCEAN script, you'd see it there too.

    Most of the time the arguments are named after the corresponding options in the simulator (as you would see from "spectre -h tran" for example), but in a few cases they are ADE-specific fields that need to be supported too.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Andrew Beckett
    Andrew Beckett over 7 years ago

    Marcel,

    Yes - we don't necessarily explicitly document all the options this way. However, if you use ocnHelp('analysis) you'll see it mentioned under the sens analysis. Also if you add the analysis, and do ocnDisplay('analysis) or ocnDisplay('analysis 'sens) you'll see the parameter listed there.

    Or if you set it up in the ADE UI and export the OCEAN script, you'd see it there too.

    Most of the time the arguments are named after the corresponding options in the simulator (as you would see from "spectre -h tran" for example), but in a few cases they are ADE-specific fields that need to be supported too.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
  • marcelpreda
    marcelpreda over 7 years ago in reply to Andrew Beckett

    Hi Andrew,

    In ADE-L I've selected an instance (see image), and after that saved the state as ocean script.

    But in the saved ocean script I have no list of selected instances:

    analysis('sens ?anaName "sens"  ?analyses_list list("dc")  ?net list("/VDD_65V")  )
    analysis('dc ?anaName "dc"  ?saveOppoint t  ?write "spectre.dc"
                    ?oppoint "rawfile"  ?maxiters "50"  ?maxsteps "1000"  ?annotate "status"
                    ?threshold "0.0"  ?detail "node"  ?sort "name"  )

    Here is the CIW output of ocnDisplay('analysis 'sens): 

    Analysis name: sens  Analysis type: sens
     (anaName "sens")
     (sensType (nil nil nil))
     (analyses_list ("dc"))
     outputs(nil)
     (output_list nil)
     (net ("/VDD_65V"))
     (term nil)
     (instances nil)
     (additionalParams "")
    nil

    getVersion(t)

    "sub-version  IC6.1.7-64b.500.8.EHF2985 "

    Do I need a newer version?

    sens select insts

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 7 years ago in reply to marcelpreda

    Marcel,

    Two problems. Firstly the addInstancesUsingWildcards field was  only added in IC617 ISR9 (so just after what you're using). Secondly there was a bug which was fixed in IC617 ISR10 which meant that the state information wasn't being properly recorded (for the selected instances) - and so what that meant was that ADE XL didn't netlist the selected instances. I suspect (from knowing what was going on in the bug - I dealt with the issue myself) that it would also affect OCEAN too (I didn't check).

    So I'd suggest trying this in an IC617 subversion greater than ISR10.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • marcelpreda
    marcelpreda over 7 years ago in reply to Andrew Beckett

    Thank you Andrew.

    The things looks better in the newer versions.

    ocnDisplay('analysis 'sens)
    Analysis name: sens  Analysis type: sens
     (anaName "sens")
     (sensType (nil nil nil))
     (analyses_list ("dc"))
     outputs(nil)
     (output_list nil)
     (net ("/vdd"))
     (term nil)
     (instances nil)
     (instancesList ("/M1" "/M0"))
     (addInstancesUsingWildcards "")
     (additionalParams "")

    Best reagards,

    Marcel

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • marcelpreda
    marcelpreda over 7 years ago in reply to Andrew Beckett

    On last question on this thread.

    I want to make the code compatible with older virtuoso version (e.g. "sub-version  IC6.1.6.500.13.2 ") without using wildcards.

    What I intend to do is to get schematic insts names and to use a statement like below

      analysis('sens ?analyses_list list("dc")  ?net list("/out") ?instances hugeListOfInstNames)

    Is this the right way?

    I did some tests, the instance names were added to sens (...) to (...) for (dc) statement in input.scs file.

    Also, is there a limit on the ocean script file size? just in case hugeListOfInstNames becomes a very long one.

    Best Regards,

    Marcel

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 7 years ago in reply to marcelpreda

    Hi Marcel,

    Yes, that sounds reasonable. Please double check that it works - because of this problem where the state information wasn't being updated properly (I think that specifying the ?instances should be OK though). Ah, just noticed that you said you'd specified this.

    There's no limit on list size, nor in the size of an OCEAN script. There is a limit on the size of a SKILL form (e.g. the block of code for a let, a function definition) - but that's usually quite hard to reach in practice except in machine-generated code (and even then, I've not seen the limit being reached recently).

    So it should be OK.

    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