• 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 add a list of model files into ADE form through command...

Stats

  • Locked Locked
  • Replies 7
  • Subscribers 125
  • Views 20247
  • 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 add a list of model files into ADE form through command line.

RFStuff
RFStuff over 10 years ago

Dear All,

I want to add some model files to ADE model-setup list through SKILL script.

Basically I would have SKILL script containing the model-files name,locations & type and necessary commands and then I will just rund that script to add the Model files into ADE form.

Can anybody please tell what is the command ?

Kind Regards,

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 10 years ago

    If you want to do it in advance of starting ADE, you can use

    envSetVal("spectre.envOpts" "modelFiles" 'string "path1.scs;section1 path2.scs;section2")


    If you want to do it for the current ADE session, then you can use:

    asiSetEnvOptionVal(asiGetCurrentSession() "modelFiles"
      list(
        list("path1.scs" "section1")
        list("path2.scs" "section2")
      )
    )

    If you don't need the section specifying, miss out the ; bits in the envSetVal, or miss out the second entry in each sublist.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • RFStuff
    RFStuff over 10 years ago

    Dear Andrew,

    When added envSetVal("spectre.envOpts" "modelFiles" 'string "path1.scs;section1 path2.scs;section2") in .cdsint, at ADE start-up the model files are NOT getting added.

    But in CIW if I type the above command & then I restart ADE form, it is getting populated with the desired model files.

    Could you please tell what is the reason ?

    Kind Regards,

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 10 years ago

    Maybe you're using a PDK that is already trying to set the model files and that is happening after you are setting it in the .cdsinit. This could be done either by it doing the envSetVal(), or I've also seen PDKs using the asiSetEnvOptionVal approach, but passing asiGetTool('spectre) as the first argument rather than asiGetCurrentSession().

    So do your customization, open the schematic, and then before starting ADE, check the output of:

    envGetVal("spectre.envOpts" "modelFiles")

    and

    asiGetEnvOptionVal(asiGetTool('spectre) "modelFiles")

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • RFStuff
    RFStuff over 10 years ago

    Well, I think it will be better for me to append model files.

    I tried with append(). But it didn't work. Could you please tell the exact syntax with list() in it.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 10 years ago

    RFStuff said:
    I tried with append(). But it didn't work. Could you please tell the exact syntax with list() in it.

    Not sure I can answer this without know the answers to my previous question, but here's a stab. If using asiSetEnvOptionVal, use:

    asiSetEnvOptionVal(asiGetTool('spectre) "modelFiles"
      append(
        asiGetEnvOptionVal(asiGetTool('spectre) "modelFiles")
        list(
          list("path1.scs" "section1")
          list("path2.scs" "section2")
        )
      )
    )

    Or if using the envSetVal approach, it would be:

    envSetVal("spectre.envOpts" "modelFiles" 'string
      strcat(envGetVal("spectre.envOpts" "modelFiles")
        " path1.scs;section1 path2.scs;section2") ; note the leading space in the string
    )

    The first would be asiGetCurrentSession() in both places rather than asiGetTool() if you're doing it for the currently open ADE.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • RFStuff
    RFStuff over 10 years ago

    Dear Andrew,

    Thanks for your reply.

    Answer to your previous to previous question:- When I did

    envGetVal("spectre.envOpts" "modelFiles")

    It prints the location,model file name and type which I by default see in the Model-setup list of ADe

    When I enter

    asiGetEnvOptionVal(asiGetTool('spectre) "modelFiles")

    It prints same as above.

    Kind Regards,

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 10 years ago

    The issue is likely to be complicated by whether you have a PDK with a libInit.il that doesn't get loaded until after your .cdsinit - and this might be also setting the model libraries and clobber your setting. You can generally force that by putting this expression in your .cdsinit :

    ddGetObj("gpdk045")->techLibName

    the ddGetObj is enough to trigger the "firstAccessLib" trigger of the library, which would load the libInit.il . The property is just something arbitrary to look at  - doesn't really matter. Of course, you'd replace gpdk045 with whatever library name you want. Then having forced the libInit.il to be loaded, you can append the modelFiles however you want in the safe knowledge that the libInit.il won't get loaded again.

    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