• 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. Customizing library manager menus

Stats

  • Locked Locked
  • Replies 3
  • Subscribers 125
  • Views 15249
  • 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

Customizing library manager menus

NickA
NickA over 6 years ago

I tried to add a custom menu the library manager, and can't get it working. It looks to me like the cdsLibMgr.il file is not being loaded. I tried adding this line to it, but nothing shows up in the lib manager log...

    printf("hello")

However, when I type the below into the main Virtuoso window, it reports the right file path. I even tried changing the path to an absolute one (and confirming it picked it up with the below), and it still didn't seem to pick it up. Any ideas?

envGetVal("cdsLibManager.customize","startupFile")

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

    Hi Nick,

    First of all, please try with a newline at the end of the  printf:

    printf("hello\n")

    Without that, it doesn't appear. Note that the message appears in the bottom of the library manager window if printed.

    If you are going to use the cdsenv approach, you would have to use the .cdsenv file (e.g. in your home directory) and not set using envSetVal in the .cdsinit because the library manager wouldn't see that. For example:

    cdsLibManager.customize startupFile string "mycode.il"

    This must not be a full path (it doesn't work if it is) because it still searches for it using the "Cadence Search File" mechanism.

    Possibly the issue is that you already have a cdsLibMgr.il file already that is being picked up? You can check using:

    cdswhich cdsLibMgr.il

    or

    cdswhich -all cdsLibMgr.il

    to see all of them.

    Andrew

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

    Thanks for your help - got it working. For me, it only works if the cdsLibMgr.il is in the local directory. I tried relative and absolute paths to the file in other areas with now luck. In the end I created a symbolic link from the user areas to the master file. 

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

    Hi Nick,

    Typically it should work if it's in any of the locations found in the contents of the file returned by "cdswhich setup.loc" (from the directory you start Virtuoso). That file is ordered, so the path at the top has higher priority than files at the bottom of the list of locations. Many of these are set by environment variables, unless setup.loc has been overridden in  your environment...

    As I mentioned though, the startupFile env var cannot be a directory with a path - it just has to be the file name.

    Regards,

    Andrew.

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

    Hi Nick,

    Typically it should work if it's in any of the locations found in the contents of the file returned by "cdswhich setup.loc" (from the directory you start Virtuoso). That file is ordered, so the path at the top has higher priority than files at the bottom of the list of locations. Many of these are set by environment variables, unless setup.loc has been overridden in  your environment...

    As I mentioned though, the startupFile env var cannot be a directory with a path - it just has to be the file name.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data

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