• 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. possible to automatically create new tab with schHiDescend...

Stats

  • Locked Locked
  • Replies 10
  • Subscribers 144
  • Views 16385
  • 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

possible to automatically create new tab with schHiDescend()?

MOSFET
MOSFET over 15 years ago

I have the schHiDescend() command tied to a custom mouse stroke.  Whenever I try to descend into an instance, I get a popup menu asking me if I want to open the view in a new tab, current tab, or new window.  Is there any way for me to permanently specify "new tab" for this menu so I don't have to keep clicking it every time I descend into an instance?


Thanks

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 15 years ago
    envSetVal("schematic" "descendCanvasType" 'string "new tab")
    envSetVal("schematic" "descendTarget" 'string "use viewNameList")

    The first is new in IC614, so you'd need to use IC614 to be able to seed that. The second has been there for many, many years (as long as I can remember).

    Regards,

    Andrew.
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • MOSFET
    MOSFET over 15 years ago

    I am using IC614 and the first option doesn't work but the second one does.  I am not sure why the first one doesn't work, because when I type the command into the CIW it returns 't', but then when I try to descend into an instance, the descend window still pops up and prompts me to choose between "new tab", "current tab", and "new window".

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 15 years ago
    The first option alone will just set the default; it won't stop you being prompted. The second should avoid you being prompted...

    Regards,
    Andrew.
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • MOSFET
    MOSFET over 15 years ago

    Thanks, that explains it.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • MOSFET
    MOSFET over 15 years ago

    I have a related question: how can I bypass the Descend Form for Iterated Instances?  If I am descending into an iterated instance, I would like it to automatically select instance 0 without me having to specify that in a popup box.

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

    If there's an iterated instance, you will always get prompted. I don't see a way of preventing this right now. You should contact Customer Support and ask for an enhancement if you want this.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ebecheto
    ebecheto over 15 years ago

     Hello Mr MOSFET,

    Here i code few lines that gave me the name of a hierchical cellview in which I have "descend edit" It is like the

    IC5 Design->Hierarchy->Show in scope || or IC6 : Edit->Hierarchy->Tree functionnality.

    It does not responds to your question directly, but you could derive from that a solution to your need. 

     

    procedure(getHierName(@optional (idWin hiGetCurrentWindow()))
    let((hierInstName i)
        hierInstName=""
        when( geGetHierMemInst(idWin)
        i=0
            printf("Hierarchical Scope is :%s\n " caar(geGetHierMemInst(idWin))~>cellView~>cellName)
        printf("depth is :%d\n" length(geGetHierMemInst(idWin)))
            foreach(mapcar hierNb geGetHierMemInst(idWin)
                hierInstName=strcat(hierInstName car(hierNb)~>baseName)
                printf("%L\n" hierNb)
                printf("Level %d %L~>baseName:%L\n" i car(hierNb) list(hierInstName car(hierNb)~>baseName))
                when((cadr(hierNb)!=0) hierInstName=sprintf(nil "%s<%d>" hierInstName cadr(hierNb)))
                 hierInstName=strcat( hierInstName ".")
            i++
        );end foreach
    );when hierarchy
    hierInstName
    ))

     

     Hope it helps

     

    ++

     

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

    I thought you might be able to use dePush() to workaround this, but I can't see a documented way of telling it to open in a new tab.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • MOSFET
    MOSFET over 15 years ago

    I was searching the Cadence online help and found this:

     

    How to avoid pop-up window during descend edit or descend read in an iterated instance

     

    It specifies how to avoid pop-up windows during descend edit or descend read in an iterated instance.  Here is the function call you can use to accomplish this after selecting an instance:

    geSwitch(hiGetCurrentWindow() "r" car(geGetSelSet()) 0 1 1 )

    That works, but it doesn't seem to work in conjunction with openining instances in new tabs.  Whenever I use the above function, it switches into the instance in the same page instead of a separate tab.  Does anyone know how to combine these two features?  Is there a way to make new tabs apply to switching into instances as well as descending into them?

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

    I'd also looked at that (and gePush, which doesn't switch views). There's no support in those for using a new tab.

    That's why I suggested an enhancement would be needed.

    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