• 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. library file path as variable

Stats

  • Locked Locked
  • Replies 4
  • Subscribers 125
  • Views 9135
  • 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

library file path as variable

amac
amac over 2 years ago

Hello, I frequently have to include text files in my setup and store them in the libraries along with cellviews.

I currently use the absolute path in the include options, but this way it all breaks as soon as the library is copied elsewhere or is renamed.

Is there a variable pointing to a library path that can be resolved at netlist time?

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 2 years ago

    What do you mean by "the include options"? This question is so lacking in context (you don't mention which tools you're using, which versions, and so on) that it's extremely hard to give an answer without trying to guess every possible meaning for your question. You mention netlisting, but this could be auCdl netlisting, Spectre netlisting, Verilog netlisting, AMS netlisting - who knows? 

    Please read the Guidelines for the Custom IC Design Forum - a clear question is much more likely to get a quick answer.

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • amac
    amac over 2 years ago in reply to Andrew Beckett

    You're right, I have two examples:

    • a pwlf generator that includes a file which resides in a cell path. I use an absolute path but it would be more portable to have something like: $mylibrary_path/cellname/filename
    • include file from setup->simulation files:

    Same issue, I would like something like $mylibrary_path/cellname/filename

    Forget my comment about netlisting; I was just guessing where the substitution would happen, but it's not important.

    I tried searching the forum but I could not find anything similar.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 2 years ago in reply to amac

    There isn't really anything to do this built in. We've added specific cases for supporting files within cellViews - for example, the nport in analogLib can specify a lib/cell/view for the s-parameter file - but nothing general to do what you're asking for here.

    If it's a definition file you're referencing, you could of course create a spectre text view and then create a symbol for that and instantiate it in the design.

    Alternatively, define a UNIX env var for the library directory, and then you can do:

    DEFINE mylib $MYLIBPATH

    in your cds.lib, and then use $MYLIBPATH in the paths in ADE. Of course, that requires you to ensure that the env var is always set up outside of Virtuoso.

    Regards,

    Andrew

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

    One other approach you could take is to put the file in the documents folder in your maestro view (if using ADE Explorer/Assembler). Then if you set this cdsenv in your .cdsinit:

    envSetVal("maestro.simulation" "maestroViewEnvName" 'string "MAESTROVIEW")

    then you could refer to $MAESTROVIEW/documents/thefile.scs in the definition files. 

    This requires at least IC6.1.8/ICADVM20.1 ISR21 (so .500.21 at the end), although there were some subsequent fixes in parts of the flow, so using ISR27 or later would make more sense.

    There is no general support for what you're asking for to reference a lib/cell/view - so this is the best option I can think of.

    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