• 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. awvExitWindowFunctionAdd not working as expected

Stats

  • Replies 2
  • Subscribers 148
  • Views 40
  • Members are here 0

awvExitWindowFunctionAdd not working as expected

TF202506034656
TF202506034656 1 hour ago

Good evening,

I'm trying to attach a callback to both the init and exit actions assosciated with opening/closing windows on ViVA.

To do this I'm using awvInitWindowFunctionAdd and awvExitWindowFunctionAdd.

For testing purposes I'm doing:

procedure(wmAwvWindowHookCB(w_windowID)
print("triggered")
)
awvInitWindowFunctionAdd('wmAwvWindowHookCB)

awvExitWindowFunctionAdd('wmAwvWindowHookCB)

for some reason, the init works just fine, but the exit doesn't action on plot window close. 

I've confirmed they have the same CB:
awvExitWindowFunctionGet()
(wmAwvWindowHookCB)
awvInitWindowFunctionGet()
(wmAwvWindowHookCB)

OUTPUT OF CIW:
_vivaCreateWindow("rectangular")
triggered
window:674
vvCloseWindow("fnxSession1" "win1679" )
nil
_vvSetCurrentWindow("fnxSession1" "win1676" )
t

Unless I'm reading the documentation wrong, I don't understand why the exit callback isn't printing "triggered".
I'm on IC23.1
Thanks, Trevor

  • Cancel
  • Sign in to reply
  • Andrew Beckett
    Andrew Beckett 53 minutes ago

    Trevor,

    I think is something that probably broke many years ago (I think it dates from an older waveform tool, and I suspect it was never properly implemented with ViVA). I just did some experiments looking at various very old versions. The last time that this seems to have worked is in IC5141 but only if you'd switched back to using the older "awd" waveform tool rather than "wavescan" (which was the default then). With "wavescan", the init trigger is called, but not the exit trigger. The same is true in IC614 (which still had the Java graph similar to wavescan). Also in IC615 when the newer ViVA graph was introduced - it's broken there too.

    So, it's been broken for over 20 years (IC5141 was released in 2004) and nobody has ever reported this. If this is important to you, please contact customer support (use the Case menu to submit a support case after logging in) and then a request can be made to R&D to get this fixed. The lack of any reporting of this suggests that nobody is reliant on it though! Typically the init is more important than the exit (e.g. for adding custom menus) so maybe that's why.

    I did find that there is some code (in IC23.1/IC25.1) to call this when Virtuoso exits, but it's only called on any open ViVA windows, and they've already been closed by the time the trigger gets called  - so that doesn't do anything either.

    Regards,

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • TF202506034656
    TF202506034656 43 minutes ago in reply to Andrew Beckett

    Ah gotcha that's what I figured.

    My use-case is a plotting tool that lists + eases navigation between plot windows. Thus, I'd like it to be updated on plot window close (exit) and plot window open (init). 

    Is there another approach I've missed somewhere else? If you can't think of anything I'll go ahead and make a ticket.

    (Apologies if this posts twice, I got marked for spam the first time around)
    Thanks, 
    Trevor

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • 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.

© 2026 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information