• 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. Modifying Model Groups based on Environmental Variable

Stats

  • Locked Locked
  • Replies 1
  • Subscribers 125
  • Views 3040
  • 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

Modifying Model Groups based on Environmental Variable

jdsherman
jdsherman over 1 year ago

Hello,

We have a setup where we would like to change the Section of a Model in the Corners Setup based on an environment variable loaded during initialization. IE, the PDK comes with some environment variable VAR that is defined in a .cdsinit, and one of the corners we have defined requires a section to be defined as that environment variable. We're currently resorting to having a user load in an SDB with the appropriate model section modified in a hardcoded fashion. Our current idea is to write a SKILL script to copy over a template SDB file with a placeholder for the section, then copy it over during initialization and replace the section with the environmental variable, or having multiple SDB files (one for each variable) and loading in the appropriate one on startup.. This didn't seem like an elegant solution, so I'm hoping someone has a better idea here!

Thanks!

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 1 year ago

    The fundamental problem is that Spectre itself doesn't allow the section to be specified as a UNIX environment variable - if it did, this would make your life easier. Because of that, I would be concerned that anything you do to try to enable this is going to be messy and fragile (likely to break), so I would avoid trying to do this altogether.

    Environment variables are allowed in the path to the model file though, so you could always achieve this by having a set of simple wrapper model files (I think this is cleaner/simpler than your switching SDB files):

    // file mymodels_tt.scs
    include "realModels.scs" section=tt

    // file mymodels_ff.scs
    include "realModels.scs" section=ff

    etc, and then specifying the model file in ADE as mymodels_$MODELSECTION.scs

    Other than that, I would contact customer support and request spectre be enhanced to support UNIX env vars in the section name.

    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