• 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. How to close a waveform window using OCEAN or SKILL

Stats

  • Locked Locked
  • Replies 4
  • Subscribers 144
  • Views 15725
  • 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

How to close a waveform window using OCEAN or SKILL

winever
winever over 12 years ago

Hi everybody,

Does anyone know how to close a waveform window using OCEAN or SKILL? For example, I create a new waveform window using the function newWindow(), then I plot a curve, save it to a .png image file, and then I want to close the waveform window automatically using OCEAN or SKILL. Can I make it? Thank you for your help. I appreciate it.

 

Regards,

Winever.  

P.S. I find the awvCloseWindowMenuCB() function, but it can't seem to work with my case. I tried the following commands, but the result was not the same as I expected. It seems that the windows I created have been destroyed, but they are still there, have not been closed yet. Now, I am confused with this function. There must be something wrong, but what is it? 

The following is my command history,

ocean> newWindow()
ocean> Loading oasis.cxt
window:2
ocean> currentWindow()
window:2
ocean> awvCloseWindowMenuCB()
t
ocean> currentWindow()
nil
ocean> awvGetWindowList()
(window:157863960(destroyed))
ocean> newWindow()
window:3
ocean> awvGetWindowList()
(window:157863960(destroyed) window:3)
ocean> currentWindow()
window:3
ocean> awvCloseWindowMenuCB()
t
ocean> currentWindow()
nil
ocean> awvGetWindowList()
(window:157863960(destroyed) window:157863980(destroyed))

  • Cancel
  • berndfi
    berndfi over 12 years ago

     Usually the ordinary hi functions should do the job, I thought:

    myWaveWId = newWindow()
    hiCloseWindow( myWaveWId )

    or

    newWindow()
    hiCloseWindow(hiGetCurrentWindow())

    But I also have to repeat it sometimes twice to get it work.
    It appears to me that if you type in the  CIW the CIW gets the current window.
    But with the variable approach of the top this should work in any case.

    Got also
    *WARNING* Window 46 does not exist
    *Error* hiCloseWindow: Invalid window - window(invalid):832465920(destroyed)

    Then I tired
    myWaveWId = newWindow()
    foreach( awvWindow awvGetWindowList(  ) awvCloseWindow( awvWindow ) )

    and

    myWaveWId = newWindow()
    foreach( awvWindow awvGetWindowList(  ) hiCloseWindow( awvWindow ) )

    Which did not work either.
    For my “Virtuoso” version the VIVA subwindows which are the tabs in the full window
    get also a window Id I suppose.

    To cut a long story short I did not get it to work either.
    This might be a bug in the implementation or at least it is not very straight
    forward to understand.

    Maybe Andrew will reply with an idea on it.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • winever
    winever over 12 years ago

    Thank you, Berndfi. But mine is ic5141. You are right, maybe Andrew will give a solution to this problem.

     

    Regards,

    Winever.

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

    Unfortunately if using IC5141, and wavescan, there's no API to close the window. It was added in IC612 - awvCloseWindow(currentWindow()

    If you were using AWD, then you could use hiCloseWindow(currentWindow()) - but that doesn't work with wavescan.

    Kind Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • winever
    winever over 12 years ago

    Thank you, Andrew. I really appreciate it. You see, I have to close these waveform windows manually, through I am a bit reluctant.

     

    Best Regards,

    Winever.

    • 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