• 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 use terminal Command in cadence CIW?

Stats

  • Replies 9
  • Subscribers 144
  • Views 2906
  • Members are here 0

How to use terminal Command in cadence CIW?

Nagarajpk
Nagarajpk 1 month ago

I need skill code to run terminal commands in CIW and use it in skill code further as skill variable. Could someone help me on this?

  • Cancel
  • Sign in to reply
Parents
  • Andrew Beckett
    Andrew Beckett 1 month ago

    Probably ipcBeginProcess and then ipcReadProcess is what you need, but your question is far from clear.

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Nagarajpk
    Nagarajpk 1 month ago in reply to Andrew Beckett

    I was trying to get screen size in CIW to set by default window sizes using skill. But, in CIW I am not getting exact screen size I mean it is including control panel and all other to the screen size. is there any function it excludes control panel and give available screen size to use?

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Andrew Beckett
    Andrew Beckett 1 month ago in reply to Nagarajpk

    Well, hiGetMaxScreenCoords() will report the display size, but finding how much of the display is usable will almost certainly be dependent upon the window manager - I don't know of a way of getting that even from the command line (which works for all window managers)

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • henker
    henker 1 month ago in reply to Andrew Beckett

    xprop -root _NET_WORKAREA

    Should work on the major window managers, the only one that I know, which does not support this, is olvwm but there the screen size is identical to the usable work area.
    From the returned numbers, the first two are the x and y coordinates of the top left of the usable space, and the next two are width and height.

    Regards,

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Andrew Beckett
    Andrew Beckett 1 month ago in reply to henker

    Interestingly, hiGetMaxScreenCoords() returns a smaller height for me than the xprop output, which is smaller than the actual screen resolution (shown in xdpyinfo). Placing a window doesn't place it exactly where you asked it to be anyway - the window manager I'm using (an RHEL9-based Gnome manager) also does things like maximises the window if it's big enough (even if smaller than the actual maximum), so you are somewhat at the mercy of whatever policy the window manager is using to determine placement.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • RK56
    RK56 1 month ago in reply to Andrew Beckett

    Slightly off topic:

    I have noticed hiGetMaxScreenCoords() preserves the dimensions when the Virtuoso is invoked for first time and later it does not update the values. I noticed this when I invoke new Virtuoso in a smaller screen machine like laptop and then connect to a larger monitor, the hiGetMaxScreenCoords() returns the laptop screen coordinates.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Andrew Beckett
    Andrew Beckett 1 month ago in reply to RK56
    RK56 said:
    I have noticed hiGetMaxScreenCoords() preserves the dimensions when the Virtuoso is invoked for first time and later it does not update the values. I noticed this when I invoke new Virtuoso in a smaller screen machine like laptop and then connect to a larger monitor, the hiGetMaxScreenCoords() returns the laptop screen coordinates.

    This has been this way as long as I can remember, but strangely enough I only found a relatively recent Cadence Change Request on this - CCR #2694574 . I vaguely recall talking with the R&D developer in the HI team about this in the past, but can't remember what he said... (and this CCR was filed after he retired). Anyway, you might want to contact customer support to get a duplicate filed on your behalf.

    Note that hiGetMaxScreenCoords (having read up a bit) is supposed to give the maximum window size taking into account non-usable parts of the screen. There's hiGetScreenSize which returns the overall screen size in both pixels and millimetres. hiGetMaxScreenCoords also takes an optional argument (which can be set to t) which gives the overall size if you have multiple screens and also excludes some of the non-usable area.

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Reply
  • Andrew Beckett
    Andrew Beckett 1 month ago in reply to RK56
    RK56 said:
    I have noticed hiGetMaxScreenCoords() preserves the dimensions when the Virtuoso is invoked for first time and later it does not update the values. I noticed this when I invoke new Virtuoso in a smaller screen machine like laptop and then connect to a larger monitor, the hiGetMaxScreenCoords() returns the laptop screen coordinates.

    This has been this way as long as I can remember, but strangely enough I only found a relatively recent Cadence Change Request on this - CCR #2694574 . I vaguely recall talking with the R&D developer in the HI team about this in the past, but can't remember what he said... (and this CCR was filed after he retired). Anyway, you might want to contact customer support to get a duplicate filed on your behalf.

    Note that hiGetMaxScreenCoords (having read up a bit) is supposed to give the maximum window size taking into account non-usable parts of the screen. There's hiGetScreenSize which returns the overall screen size in both pixels and millimetres. hiGetMaxScreenCoords also takes an optional argument (which can be set to t) which gives the overall size if you have multiple screens and also excludes some of the non-usable area.

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Children
  • RK56
    RK56 1 month ago in reply to Andrew Beckett

    Thanks for the info Andrew. I will file a CCR sooner

    • 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.

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

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