• 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. To open schematic view using bindkey irrespective of config...

Stats

  • Locked Locked
  • Replies 6
  • Subscribers 144
  • Views 4874
  • 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

To open schematic view using bindkey irrespective of config binding

Rishabmah
Rishabmah over 1 year ago

Hi,

I want to create a bindkey so that I can descend in a particular schematic irrespective of what view I have set in related config. While using hiSetBindKey("Schematics" "<Key>J" "envSetVal(\"schematic\" \"descendTarget\" 'string \"use viewNameList\") schHiDescendRead()"), it opens the view set by config for that particular cell. Is there some way to open schematic view in read in similar fashion irrespective of config binding of the selected cell?

Regards,

Rishab

  • Cancel
  • AurelBuche
    AurelBuche over 1 year ago

    Hi Rishab,

    If you don't open the config view, but open the schematic directly,

    the descend edit default behavior should rely on viewList instead of config.

    But maybe you want to use this even when starting from a config view as top cellview ?

    Cheers,

    Aurélien

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Rishabmah
    Rishabmah over 1 year ago in reply to AurelBuche

    Hi Aurélien,

    I need to use that bindkey when I am traversing using config view as top cellview.

    Regards,

    Rishab

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 1 year ago in reply to Rishabmah

    You could (if you pre-select the instance) use:

    dePush(`(nil viewNameList ,schGetEnv("viewNameList") instanceName ,car(geGetSelSet())~>name) hiGetCurrentWindow())

    That will descend using the viewNameList entry as the preference. The next alternative would be to write a wrapper around this when checked if anything was selected and then used enterPoint to prompt you to click at a location. 

    Or you might just want to contact customer support and ask for an enhancement to override the config rules with an argument (say) to schHiDescend (or a cdsenv).

    Andrew

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • Rishabmah
    Rishabmah over 1 year ago in reply to Andrew Beckett

    Hi Andrew

    Thanks, this works. Using below command to open in read only mode.

    dePush(`(nil viewNameList ,schGetEnv("viewNameList") instanceName ,car(geGetSelSet())~>name) hiGetCurrentWindow() "r")

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • khanzain
    khanzain over 1 year ago

    To open the schematic view regardless of the current configuration binding for the selected cell, you can modify your bindkey script to explicitly specify the schematic view to open. Here's how you can do it:

    hiSetBindKey("Schematics" "<Key>J" {
    envSetVal("schematic" "descendTarget" "viewNameList")
    envSetVal("schematic" "viewNameList" 'list "schematic")
    schHiDescendRead()
    })

    Explanation:

    1. envSetVal("schematic" "descendTarget" "viewNameList"): This line ensures that when you descend in the schematic hierarchy, it targets the view specified in the viewNameList environment variable.

    2. envSetVal("schematic" "viewNameList" 'list "schematic"): Here, we explicitly set the viewNameList to contain only the schematic view. This ensures that regardless of the current configuration binding, the schematic view will be opened when descending.

    3. schHiDescendRead(): Finally, we perform the descend operation to open the schematic view in read mode.

    By explicitly setting the viewNameList to contain only the schematic view, you ensure that the schematic view is opened regardless of the current configuration binding for the selected cell.

     

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 1 year ago in reply to khanzain

    khanzain, this does not work. First of all, your bindkey is not a string (it will try to execute the group of functions immediately) and secondly you have omitted 'string from the first envSetVal. It should be (for example):

    hiSetBindKey("Schematics" "<Key>J" lsprintf("%L" '{
      envSetVal("schematic" "descendTarget" 'string "viewNameList")
      envSetVal("schematic" "viewNameList" 'list "schematic")
      schHiDescendRead()
    }))

    However, even that doesn't work, because regardless of the desendTarget and viewNameList settings, if you are in a configured design, the bound view is used by default rather than the viewNameList. That was why the question was asked in the first place.

    Andrew

    • Cancel
    • Vote Up +1 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