• 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 can i set environmental variables in .cdsenv file

Stats

  • Locked Locked
  • Replies 9
  • Subscribers 144
  • Views 21526
  • 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 can i set environmental variables in .cdsenv file

venuuuuu
venuuuuu over 13 years ago

 hi all,

1) i trying to set some settings in my layout. Because of this i created a .cdsenv file in my home directory and write as following

layout  pinKeepFirstName    boolean      t
layout  pinDisplayPinName    boolean      t

When i starts icfb then following warning occurs. And variables what i need are not set. Iam using the version virtuoso 5141.

 *WARNING* envSetVal: Can't set the value of variable 'pinKeepFirstName', in tool[.partition] 'layout' - it has not been registered.

 *WARNING* envSetVal: Can't set the value of variable 'pinDisplayPinName',in tool[.partition] 'layout' - it has not been registered.

why it shows this warning.

2) what is the difference between graphic environment variables & layout environment variable.

please answer me if u know it.

Thank you

venu.

 

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 13 years ago

    Venu,

    I can find no record of either of those cdsenv variables, in any release. They're certainly not current in either IC5141 or IC615, and there's no mention of them in any CCR or Service Request. I even checked in some older releases in the documentation (e.g. IC446), but nothing.

    So that's why you get the warnings - these are meaningless variables as far as the tool is concerned. The closest I have found are these:

    layout keepFirstTermName boolean ni
    graphic displayPinNames boolean t
    layout displayPinNames boolean nil

    The graphic/layout bit is where there is a generic capability for all graphic editors, and then a layout variable is specifically for maskLayout views - so is more specific and will override any graphic setting.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • venuuuuu
    venuuuuu over 13 years ago

    hi  Andrew,

    Yes as u said i didnot found that commands in my Directory/IC5141/tools.lnx86/dfII/samples/.cdsenv file. But in my layout when i select  create pin option then a window  appears and there is need to ON the buttons of Keep First Name and Display Pin Name in that window. I want to on these buttons automatically when i start icfb. But i dont know how to achieve it.

    Thank you

    Venu.

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

    Venu,

    The env vars are keepFirstTermName and createPinLabel (both under "layout"), but the form is not initialized with keepFirstTermName - createPinLabel does however have an effect (this is for IC5141). In IC615, both cdsenv variables can be used to seed the form - so it's a limitation of IC5141.

    You can then use:

    envSetVal("layout" "keepFirstTermName" 'boolean t)
    envSetVal("layout" "createPinLabel" 'boolean t)

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • venuuuuu
    venuuuuu over 13 years ago

     hi,

    yes i got  that variables what i need. Now my problem is Cut Spacing(via to via space) of contacts are as 0. But i need 0.28 between that contacts.

    Thankyou

    venu

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

    Was that a further question? Or simply a comment? If it was a question, there wasn't really enough information to be able to answer it.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • jiss
    jiss over 9 years ago
    Hi andrew, What is the environment variable for dropping vias automatically, when two metals are crossed?(weAutoDropViasForOverlaps() did not work for me ). Can we add bindkey for turning this OFF/ON according to our requirement
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 9 years ago

    Clearly nobody reads the forum guidelines... (appending a question onto a only loosely related 4 year old thread is not the best strategy for it being answered)

    It's not weAutoDropViasForOverlaps() anyway. It's envSetVal("layout" "weAutoDropViaForOverlaps" 'boolean t) (so it's an environment variable, and there's no "s" after Via).

    This works provided that the wire being routed and the pathSeg being crossed are on the same net. It doesn't drop vias on any random nets that you happen to cross over...

    Of course, you could define a bind key that toggles this:

    hiSetBindKey("Layout" "ShiftCtrl<Key>a" "envSetVal(\"layout\" \"weAutoDropViaForOverlaps\" 'boolean !envGetVal(\"layout\" \"weAutoDropViaForOverlaps\"))")

    This also requires IC616 ISR5 or later.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • jiss
    jiss over 9 years ago

    Thank u, andrew 

    My problem solved. Initially I was using "ui" instead of "layout" (in envSetVal("layout" "weAutoDropViaForOverlaps" 'boolean t)). Actually when we have to use that "ui".

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 9 years ago
    ui is used for generic user interface and CIW features. This is very much a layout editor feature, which is why it's in the layout partition.
    • 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