• 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. How to include a particular lib in the cds.lib while calling...

Stats

  • Locked Locked
  • Replies 3
  • Subscribers 143
  • Views 23817
  • 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 include a particular lib in the cds.lib while calling virtuoso from command prompt

lbodepu
lbodepu over 6 years ago

Hi,

I am trying to find a solution to include "DEFINE mylib /home/lavs/TEST/mylib" in my cds.lib

The command line is virtuoso -nograph -log loga -replay myskill.il

The default cds.lib doesn't have "mylib" definition.

Is there any command that I can make use of to make this lib definition default in cds.lib

Thanks,

Lavanya

  • Cancel
Parents
  • skillUser
    skillUser over 6 years ago

    Hi Lavanya,

    I'm not sure that I fully understand the question but the definition has to be added to a cds.lib file in order for the library to be available for the session. I have a couple of suggestions, one is to add the library definition at the end of the cds.lib file via SKILL in the replay file, and potentially remove it also at the end of the replay. Another is to copy the cds.lib file and add the definition to the copy and then use ddSetForcedLib() to point the session to that cds.lib file copy rather than cds.lib for the replay session only.  Here's some code that might help:

    
      let( (ptr (file "./cds.lib")
    ;; unless 'mylib' is already available in this session
    unless(member("mylib" ddGetLibList()~>name) fptr = outfile(file "a") ; open the 'cds.lib' file for edit fprintf(fptr "\nDEFINE mylib /home/lavs/TEST/mylib\n") ; add the desired entry close(fptr) ; write/close the file ddUpdateLibList() ; refresh the session ); unless
    ); let

    I think that the 'copy' approach is potentially easier because you don't have to worry about removing the entry, just copy the cds.lib, used ddSetForceLib() to point to the copy, then edit the copy to add the mylib definition and refresh and then you are done (for that session), future sessions will use the cds.lib by default and will not be affected by your copied cds.lib, and by always copying the cds.lib you take into account any changes that may have occurred since the last replay. I did not include an example of the copy followed by the ddSetForcedLib(), and in the example above you would edit the default for "file" to the name of the copied file in that case.

    Hopefully this helps you?

    Best regards,

    Lawrence.

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

    A simpler approach might be to create a cds.lib somewhere like this:

    DEFINE mylib /home/lavs/TEST/mylib
    INCLUDE $PWD/cds.lib

    then do:

    virtuoso -cdslib /path/to/this/cds.lib -log loga -replay myskill.il

    Note, I didn't test this...

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Andrew Beckett
    Andrew Beckett over 6 years ago in reply to skillUser

    A simpler approach might be to create a cds.lib somewhere like this:

    DEFINE mylib /home/lavs/TEST/mylib
    INCLUDE $PWD/cds.lib

    then do:

    virtuoso -cdslib /path/to/this/cds.lib -log loga -replay myskill.il

    Note, I didn't test this...

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
  • lbodepu
    lbodepu over 6 years ago in reply to Andrew Beckett

    Thank you Andrew and Lawrence

    • 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