• 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. Keyboard shortcut for running simulation in ADE GXL?

Stats

  • Locked Locked
  • Replies 13
  • Subscribers 125
  • Views 23807
  • 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

Keyboard shortcut for running simulation in ADE GXL?

rickyuexu
rickyuexu over 13 years ago

Hi,

Is there any keyboard shortcut for running simulation in ADE GXL/XL/L?

I really don't want to move the mouse to hit that green button every time I run the simulation, especially when Cadence is not running on my local workstation.

Thanks! 

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 13 years ago

    You could easily define one:

    hiSetBindKey("adexl" "<Key>F5" "axlRunSimulation()")

    hiSetBindKey("adegxl" "<Key>F5" "axlRunSimulation()")

    hiSetBindKey("Schematics" "<Key>F5" "axlRunSimulation()")

    For ADE L you can't have a bindkey for the ADE window itself, but for the schematic you could have a key bound to "(sevRunEngine sevSession(hiGetCurrentWindow()))" p, li { white-space: pre-wrap; }

    Regards,

    Andrew.

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

    Thank you! I'm very grateful.

    I am a newbie and don't know much about SKILL. I should really learn it! 

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

    Hi Andrew,

    I looked up the ADE XL SKILL reference, there is no such function as axlRunSimulation(), but only a function called axlRunAllTests(), which has 2 arguments:

     

    axlRunAllTests( 

    t_session  

    t_mode  

    ) 

    =>  x_runid  | nil 

     

    For the argument t_session, a session name must be provided. Initially, I wrote:

    t_session = axlGetWindowSession() 

    However, since .cdsinit is executed at the beginning when you start virtuoso, this line will only generate a "nil" value.

    Is there any way to avoid this? Like defering the evaluation of axlGetWindowSession() till "F5" is actually pressed?

    Thanks!

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • rickyuexu
    rickyuexu over 13 years ago
    OK. I think I know what's wrong here. Anyway, for the reference of other readers, the solution is like this: hiSetBindKey("adexl" "F5" "axlRunAllTests(axlGetWindowSession() \"Single Run, Sweeps and Corners\")"
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 13 years ago

    axlRunSimulation was a new public function in IC615 ISR12 (6.1.5.500.12) - so that's probably why you don't see it.

    You could use:

    hiSetBindKey("adexl" "<Key>F5" "let((sess) axlRunAllTests(sess=axlGetWindowSession() axlGetCurrentRunMode(axlGetMainSetupDB(sess))))")

    This will ensure that your bindkey will use whatever is the current run mode.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • rickyuexu
    rickyuexu over 13 years ago
    Thank you again!
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • sjwprc
    sjwprc over 7 years ago in reply to Andrew Beckett

    Hi Andrew,  Can you give the clear command how to set NetlistAndRun for the schematic window ? Your comment "have a key bound to "(sevRunEngine sevSession(hiGetCurrentWindow()))" p, li { white-space: pre-wrap; }" confuse me a bit. 

    Thanks !

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 7 years ago in reply to sjwprc

    The "p, li" bit is some strange formatting thing (related to HTML) which is coming from the forum migration. What I was suggesting was that you define a bindkey on the schematic (i.e. the schematic application) which calls:

    sevRunEngine(sevSession(hiGetCurrentWindow()))

    If you wanted netlist and run it would be:

    sevNetlistAndRun(sevSession(hiGetCurrentWindow()))

    By the way, you can define bindkeys for the ADE L window nowadays too - see How to define bindkeys for the ADE L window

    Note the above commands are only for ADE L, not XL, Explorer or Assembler.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • sjwprc
    sjwprc over 7 years ago in reply to Andrew Beckett

    Hi Andrew, I use the following command as:

    hiRegisterBindKeyPrefix("Schematics")
    hiSetBindKey("Schematics" "<Key>F1" "sevNetlistAndRun(sevSession(hiGetCurrentWindow()))")

    My idea is similar as bindkeys for ADEL. But not work. Can you correct my idea. 

    Regards

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 7 years ago in reply to sjwprc

    You don't need to do the hiRegisterBindKeyPrefix - that's only a special case needed for the ADE window bindkeys.

    The bindkey works for me - note that the schematic window needs to be associated with the ADE window (i.e. it needs to be the schematic window that you launched ADE from, or if you started ADE from a state, it would be the schematic window launched by using Session->Design Window.

    When you say "But not work" - was there an error? For example, if I do it from a window which is not associated with ADE, then I get this in the CIW:

    WARNING (ADE-1008): Cannot perform this operation because no design has been selected. Select a
    design and try again.
    *Error* putprop: first arg must be either symbol, list, defstruct or user type - ni

    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