• 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. envSetVal "labelHeight" (IC6) from .cdsinit

Stats

  • Locked Locked
  • Replies 8
  • Subscribers 143
  • Views 5460
  • 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

envSetVal "labelHeight" (IC6) from .cdsinit

stuso
stuso over 13 years ago

 hi guys,

i can do the following in my ciw/virtuoso window:

envSetVal( "layout" "labelHeight" 'float 0.05 )

and using envGetVal it seems to have worked ok.

However when i add the same line to my .cdsinit andstart a new cadence session it does not sseem to have any effect. I'm sure my .cdsinit is being loaded as i have some print statements in there at the start and end of the .cdsinit.

Thanks

Stu

FYI: i am trying to set the default label size for pins for when i generate/update with XL

 

 

 

  • Cancel
  • stuso
    stuso over 13 years ago

     Hi, i just inserted some more testing before and after i load this, so this is now in my .cdsinit:

        ;; TEST
        labelSizeOne=envGetVal( "layout" "labelHeight" )
        printf("label height one is:%L\n" labelSizeOne)
        ;;END TEST

    envSetVal( "layout" "labelHeight" 'float 0.05 )

        ;; TEST
        labelSizeTwo=envGetVal( "layout" "labelHeight" )
        printf("label height two is:%L\n" labelSizeOne)
        ;;END TEST

    And when i look in my log file after a cadence restart i see:

    label height one is:0.2
    label height two is:0.2

     So i am now very sure i have an actual issue and that its not being overwritten by another following.cdsinit or skill that i was unaware of.

    Thanks

    Stu

     

     

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

    I'm not sure why this is happening. I can see the same problem. You can get what you want by setting the variable in your .cdsenv file. That is what it is intended for. The envSetVal is to be used if you are already in Cadence, but if you want a default changed at startup, it is best to use the .cdsenv file. The syntax is simply this:

    layout labelHeight float 0.05

    Derek

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

    Stu,

    I see what you see - if I used envGetVal, envSetVal, envGetVal together in the code, the two envGetVal's return the same thing. However, if after the .cdsinit has loaded, I do the envGetVal, I do see it has changed.

    I tried the same thing with other float cdsenv settings, and see the same behaviour - but tried with other tool.partition values and that works fine. I'm guessing there's some trigger which is not making the update until the UI has returned - I don't know why.

    However, as I said, for me this appears to overall be working - I set it in the .cdsinit, and I can see the effect if I query in the CIW, and also when I bring up the layout window and try to create a label - it's honouring my change.

    Andrew.

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

     Hi Derek,

    i have been trying to put all my settings in the one file, infact at this time i do not have a .cdsenv at all (i use envSetVal in the .cdsinit for all my environment variable settings).

    Is this bad practice?

    Hi Andrew, if it makes any difference, i am on: IC614-ISR11

    Thanks guys

    Stu

     

     

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

     Stu,

    I see the same behaviour in IC5141 and in the latest IC615 hotfix. So I don't think its version-specific.

    However, as I mentioned, once set it the .cdsinit it does actually seem to change - it's just the print statement that follows it which is reporting the wrong thing.

    Something does appear wrong here - I would suggest you file a service request and then we can look at it properly and get a CCR filed (although hopefully the problem is just cosmetic, if it really is just delaying when the change is recognized until the SKILL top level returns; i.e. the UI is waiting for a response). If it's not picking it up at all for you, then we need to investigate why it works for us and not for you - an SR would be best for that too.

    Cheers,

    Andrew.

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

    I wouldn't say it is bad practice, just a matter of preference. There are so many variables you can set to customize forms, tools, windows, etc, that the .cdsenv file is a convenient place to put them. The .cdsinit file is a great place to put skill code you want to run at startup (load personal bindkeys, display the library manager, etc). Some of the options forms have a convenient feature to load/save the .cdsenv file, so by having your settings in the .cdsenv, you can quickly revert back to your personal defaults.

    Derek 

    stuso said:

    i have been trying to put all my settings in the one file, infact at this time i do not have a .cdsenv at all (i use envSetVal in the .cdsinit for all my environment variable settings).

    Is this bad practice?

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

     Hi guys, i should point out i had a typo in my .cdsinit testing, i was printing the same variable twice, it should have read:

        ;; TEST
        labelSizeOne=envGetVal( "layout" "labelHeight" )
        printf("label height one is:%L\n" labelSizeOne)
        ;;END TEST

    envSetVal( "layout" "labelHeight" 'float 0.05 )

        ;; TEST
        labelSizeTwo=envGetVal( "layout" "labelHeight" )
        printf("label height two is:%L\n" labelSizeTwo)
        ;;END TEST

     And now CDS.log shows:

    label height one is:0.2
    label height two is:0.05

    However i ave just noticed in my CDS.log that this line follows the above:

    \o loading vars from .cdsenv for tool layout

    Surely this means my changes are being overwritten by the tools .cdsenv?

    I am now questioning my undestanding of ordering sequence of .cdsinit & .cdsenv but perhaps this deserves a new topic discussion of its own.

    Thanks

    Stu

     

     

     

     

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

    Stu,

    I'm a bit embarrassed that I didn't notice that typo! I stared at it for a while and clearly didn't spot that...

    Anyway, the .cdsenv is definitely loaded before the .cdsinit, so I can only imagine that there's an envLoadFile or envLoadVals (or maybe leEnvLoad) call in the .cdsinit somewhere (or in a file loaded from the .cdsinit)?

    Regards,

    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