• 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 realize that the box area displayed in an open cellView...

Stats

  • Locked Locked
  • Replies 4
  • Subscribers 143
  • Views 5791
  • 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 realize that the box area displayed in an open cellView does not change afer change the window size

alaylayla
alaylayla over 1 year ago
After I change the window size, I expect that the window box displayed in the layout cellview will not change. I don't need to zoom in or zoom out to adjust and find the area displayed before. How can I achieve this?virtuoso IC 618
  • Cancel
  • Andrew Beckett
    Andrew Beckett over 1 year ago

    This is not possible currently. There is an old change request (CCR 317732) with a small number of duplicates - the most recent being over 10 years ago - essentially asking for the viewport to be preserved. There was lots of discussion about it because there's clearly no single right answer (even preserving the viewport involves re-zooming into the previous area, which could be a) expensive for layout, and b) could end up not preserving the area properly depending on how you resized the window). There's no SKILL trigger for a window resize at the moment, otherwise it could have captured the current box before the resize:

    bbox=hiGetViewBBox(hiGetCurrentWindow())

    and then after resize:

    hiZoomIn(hiGetCurrentWindow() bbox)

    but nothing to do that in one step.

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • alaylayla
    alaylayla over 1 year ago in reply to Andrew Beckett

    procedure(setWindowMax() let((myScreenCoords myScreenWidth myScreenHeight myScreenHeight window_id) myScreenCoords = getMaxScreenCoords() myScreenWidth = car(myScreenCoords) myScreenHeight = cadr(myScreenCoords) window_id = hiGetCurrentWindow() hiResizeWindow(window_id list(0:0 myScreenWidth:myScreenHeight)) hiZoomAbsoluteScale(window_id 0.9) );end let );end proicedure

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • alaylayla
    alaylayla over 1 year ago in reply to alaylayla

    In this code,

    Why can't resize windowsize and hiZoomAbsoluteScale work at the same time, it needs to be performed twice. The first time i press shortcut, the window size will be adjusted, and the second time i press it,t hiZoomAbsoluteScale work; if i press shortcut to just change the position of the window, the size not changed, hiZoomAbsoluteScale will work .
    How to do it in one step
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 1 year ago in reply to alaylayla

    I don't see this problem (I reformatted your code because it was unreadable and wouldn't work because of the embedded comments, but I didn't make any change).

    In IC6.1.8 ISR 33 (IC6.1.8-64b.500.33) then assigning setWindowMax() to a bindkey and pressing that bindkey maximises the window and fits the contents in one go. You didn't say which version you're using - perhaps you can state that. One possibility might be to add hiFlush() after the hiResizeWindow()?

    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