• 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. Is there a bindkey to toggle between viadef and via minimum...

Stats

  • Locked Locked
  • Replies 10
  • Subscribers 143
  • Views 16561
  • 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

Is there a bindkey to toggle between viadef and via minimum on VXL Layout Editor Options?

Tom Sawyer
Tom Sawyer over 6 years ago

Is there a bindkey to toggle between viadef and via minimum on VXL Layout Editor Options?

  • Cancel
Parents
  • mbracht
    mbracht over 6 years ago

    Hi Perry,

    This solution works for me...

    (defun setViaCalcMode ()
       (if leEditorOptionsForm->wireViaParamCalcMode->value == "Minimum Rules"
          leEditorOptionsForm->wireViaParamCalcMode->value = "ViaDef Defaults"
          leEditorOptionsForm->wireViaParamCalcMode->value = "Minimum Rules")
       (hiFormDone leEditorOptionsForm))  
    (hiSetBindKey "Virtuoso XL" "<Key>F8" "(setViaCalcMode)")

    The above code programatically assigns a new value to the wireViaParamCalcMode field of the Editor Options form. Note that you need to make a call to (hiFormDone leEditorOptionsForm).

    Max

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • Tom Sawyer
    Tom Sawyer over 6 years ago in reply to mbracht

    Hi Max thanks for the response.
    I copied and paste your code and save it as .il file the i load the bind key on CIW.
    But when I press 'F8' it is showing a save a copy window.
    I am a noob about this stuff how can I fix this?
    How to make a call to (hiFormDone leEditorOptionsForm)?

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • mbracht
    mbracht over 6 years ago in reply to Tom Sawyer

    Hi Perry,

    Sounds to me like the hiSetBindey() function did not work. Can you please do a
    (hiGetBindKey "Virtuoso XL" "<Key>F8")
    to verify that the bindkey has actually been set and moreover pretty print the function:
    (pp setViaCalcMode)

    Max

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

    Max, Perry,

    There are two places for Via Parameters Calculation Mode - one under Wire, and one under Via. Perry didn't indicate which, so perhaps you picked the wrong one?

    Secondly it would probably be wise to avoid the need for code which interacts with the form. These can be set with just envSetVal calls. 

    Thirdly, since this affects layout L, I'd define the bind key for Layout rather than "Virtuoso XL" so that all tiers see it.

    So here are two keys that toggle between the two settings. Note that there are actually three choices in practice, but hopefully this does what you want:

    hiSetBindKey("Layout" "Shift<Key>F8" "envSetVal(\"layout\" \"viaParamCalcMode\" 'cyclic if(envGetVal(\"layout\" \"viaParamCalcMode\")==\"minRules\" \"viaDefDefaults\" \"minRules\"))")
    hiSetBindKey("Layout" "<Key>F8" "envSetVal(\"layout\" \"wireViaParamCalcMode\" 'cyclic if(envGetVal(\"layout\" \"wireViaParamCalcMode\")==\"minRules\" \"viaDefDefaults\" \"minRules\"))")

    Andrew

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • mbracht
    mbracht over 6 years ago in reply to Andrew Beckett

    Hi Andrew,

    The envSetVal(..) function was my first thought - but then I played with it and the change of the SKILL env variable was not reflected in the 'Options - Editor' form. So I was not sure which value would be used, the one you see in the form or the one of the SKILL env variable. I understand now that that the SKILL env variable overwrites what you see in the form correct?

    Max

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

    Hi Max,

    (other than a typo in my previous post which I've now fixed), changing the environment var does change the form (provided you've not got the form open). The form values are refreshed from the env var when the form is displayed.

    Regards,

    Andrew.

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

    Andrew,

    My fault - like you said in the previous post there's two "Via Parameter Calculation Mode"s in the form and I had looked at the wrong one.

    Max

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

    Andrew,

    My fault - like you said in the previous post there's two "Via Parameter Calculation Mode"s in the form and I had looked at the wrong one.

    Max

    • 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