• 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 Design
  3. shortcut to bring ADE with current schematic to front

Stats

  • Locked Locked
  • Replies 20
  • Subscribers 125
  • Views 19688
  • 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

shortcut to bring ADE with current schematic to front

BaaB
BaaB over 6 years ago

Is there a shortcut or something to bring ADE to front (or to make it active or something like that I don't know how it is called)? The problem is that when multiple schematics and ADEs are opened at the same times. 
So it is a bit inconvenient to find the ADE of the opening schematic.
I want to bring all ADE window not just some parts like output setting, variables, etc. 

  • Cancel
Parents
  • Andrew Beckett
    Andrew Beckett over 6 years ago

    I added some error checking in it to stop it complaining if the schematic is not associated with an ADE window. Use this expression on a schematic bind key:

    let((sess win) when((sess=sevSession(hiGetCurrentWindow())) && (win=sevWindow(sess)) hiRaiseWindow(win)))

    Andrew.

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

    Hi, how would you run it?

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

    For example add:

    hiSetBindKey("Schematics" "<Key>F2" "let((sess win) when((sess=sevSession(hiGetCurrentWindow())) && (win=sevWindow(sess)) hiRaiseWindow(win)))")

    in your .cdsinit . Then in the schematic you'd just hit the F2 key.

    Andrew.

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

    Thanks. That would be great but if there are many schematic then you have to assign one shortcut key for each one? Like 5 schematics so 5 hotkeys? 
    I am trying to find .cdsinit now. 
    I tried to find .cdsinit and there are a lot of them. Not sure which one should be modified. 
    Also because this is from server, I don't have right to edit it. Is there another way to add this command for a single user only?

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

    The bind key definition will apply for all schematic windows - it doesn't need to be defined per window. The F2 bind key would then work in all schematic windows. You could put the definition into a file and then simply type:

    load("yourBindkeyFile.il")

    to load it once per session (the .il suffix isn't necessary - that's just convention).

    I'm not sure how your environment is set up, but the Cadence default behaviour is to look first for a .cdsinit in the software installation (in tools/dfII/local), then in the working directory, and then in the home directory. You may have customisation that looks for files elsewhere - but I'd start by trying to create a .cdsinit in your working directory and seeing if that gets picked up. If it doesn't, you should talk to whoever is responsible for your CAD setup.

    Regards,

    Andrew.

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

    Thanks! 
    I tried to create cdsinit with the content like this. 

    hiSetBindKey("Schematics" "<Key>F2" "let((sess win) when((sess=sevSession(hiGetCurrentWindow())) && (win=sevWindow(sess)) hiRaiseWindow(win)))")

    I saved it as mybindkey.cdsinit and then load it with the command load("home/myusername/mybindkey.cdsinit") but I got the error below:

    *Error* load: can't access file - "home/myusername/mybindkey.cdsinit"

    Is that because I did something wrong here? 

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

    I expect the path was supposed to have a "/" at the beginning:

    load("/home/myusername/mybindkey.cdsinit")

    Regards,

    Andrew

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

    Well, it works! Thanks, this will save me a lot of time looking for the right ADE. 

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • BaaB
    BaaB over 6 years ago in reply to BaaB

    Hi,
    I don't know why but it works unreliably, sometimes it works sometimes not.
    If I switch from one schematic to the other schematic and then press F2 then it works for like 60% of the times. 
    But if I stay in the same schematic, and press F2, it never works. 
    Also if I minimize ADE then press F2, it also doesn't work. 
    Is this how it operates or just because something wrong? 

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • BaaB
    BaaB over 6 years ago in reply to BaaB

    Hi,
    I don't know why but it works unreliably, sometimes it works sometimes not.
    If I switch from one schematic to the other schematic and then press F2 then it works for like 60% of the times. 
    But if I stay in the same schematic, and press F2, it never works. 
    Also if I minimize ADE then press F2, it also doesn't work. 
    Is this how it operates or just because something wrong? 

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

    Is it ADE L you're using? Or some other flavour of ADE? Which IC version are you using (Help->About in the CIW will tell you)

    This improved version will cope with the window being minimised:

    hiSetBindKey("Schematics" "<Key>F2" "let((sess win) when((sess=sevSession(hiGetCurrentWindow())) && (win=sevWindow(sess)) hiDeiconifyWindow(win) hiRaiseWindow(win)))")

    If you have a window where it doesn't work, what do you get when typing:

    sevSession(hiGetCurrentWindow())

    in the CIW? If that gives something other than nil, what does:

    sevWindow(sevSession(hiGetCurrentWindow()))

    return? Is it the same as the window number in the bottom left corner of the ADE window?

    Andrew

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

    Yes, it is ADE L. Version IC6.16-64b.101. 

    If you have a window where it doesn't work, what do you get when typing:

    sevSession(hiGetCurrentWindow())

    Return: sevSession2

    If that gives something other than nil, what does:

    sevWindow(sevSession(hiGetCurrentWindow()))

    Return: window:76

    Is it the same as the window number in the bottom left corner of the ADE window?

    I think it is almost the same. The number in the ADE window is 35(76). 

    I'll try the improved version now. 

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

    Yes, that's the same. The number on the right is the window number, the number on the left is the session window (not so important). You might need to have clicked in the window first before hitting the bind key - depending on your window manager settings.

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • BaaB
    BaaB over 6 years ago in reply to BaaB

    I've just tried the improved version and it works 100% of the case. Seem perfect. I'll have to test more. 

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

    I clicked a lot but it didn't work I think it is something related to minimized ADE. The improved version works well. 

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • BaaB
    BaaB over 6 years ago in reply to BaaB

    Not really related to the problem but is there any improvement on the placement of Run Simulation and Stop Simulation on the tool manager menu. The problem is that they are placed closely so it is easy to mis-press them.

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

    You can alter this yourself. Go to Window->Toolsbars->Customize in the schematic window (it should show "analogArtist-Schematic" in the Application choice at the top, and then scroll down to the "ADE L Setup and Run" toolbar section. If you then click on the Run Simulation icon line and drag it to the top of that section (over the "Choose Analysis" say), you'd then end up with a gap between them. You could also add a separator between them (with the green plus button at the bottom) but that doesn't add that much spacing. Hit OK or Apply and it saves the customisation into your home .cadence directory (if you hit the Reset... button on the form and then click on the "toolbar directory" hyperlink it shows you what has been customised and where it is saved).

    Regards,

    Andrew.

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

    Thanks. I dragged it to the top and then apply, OK but the Run and Stop Simulation button are still placed closely with each other. 
    I guess that it may apply that setting when I restart the software. I can't restart now so I'll check if it works when I can restart it.
    Also I don't see the Reset button anywhere in the form. 

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

    You don't need to restart Virtuoso, but the toolbars are only changed in new windows. So you could close the schematic window and then do Session->Design Window from the ADE window to bring up a new one - this should honour the new toolbar customisation.

    You didn't say which IC version you're using (the Forum Guidelines suggest you provide this information), but I'm guessing it must be quite old - I think the Reset button was added in an early IC616 hotfix version (Help->About in the CIW gives the version number)

    Andrew.

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

    Yea, it works now! 
    This is IC6.16-64b.101. 
    So many helpful tools that I have never heard of. 

    • 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