• 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. displaying properties when mouse pointer is pointed on ...

Stats

  • Locked Locked
  • Replies 5
  • Subscribers 143
  • Views 15919
  • 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

displaying properties when mouse pointer is pointed on fig

ramya
ramya over 16 years ago

Hi,

When a mouse pointer is on some instance  or metal layer, the instance name or layer name has to displayed in a window or in dialogue box.

 

can anyone suggest some ideas for this?

  • Cancel
  • dmay
    dmay over 16 years ago

    If you are using Cadence 6.1.x, under the Options menu there is a Dynamic Display form. From here, you can turn on a popup balloon that will display the shape and layer or an instance and it's name. There are many options on the form you can play with.

     If you are working in an earlier version of Cadence you'll have to write your own solution. For us, we wrote a wrapper routine for the select command. When a user selects an object using the left mouse button, information about that object is displayed in the CIW. This is simple enough to do:

    hiSetBindKey("Layout"     "None<Btn1Down>"         "reportMouseSel()")

    procedure(reportMouseSel()
       mouseSingleSelectPt()
       when(obj = css()
          case(obj~>objType
             ("inst"
                printf("Inst %s of cell %s\n" obj~>name obj~>cellName)
             )
             ("rect"
                printf("Rectangle on %L\n" obj~>lpp)
             )
             (t
                printf("Object is %s on lpp %L\n" obj~>objType obj~>lpp)
             )
          )
       )
    ); proc

    This is just an example. You can add as much or as little as you want to the reporting routine.

    -Derek

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ramya
    ramya over 16 years ago

    Hi,

    thanks for your reply.

    i would like to know wat does css() mean?

    moreover if there are multiple objects at single selected point like when there are overlapping metals and contacts how can i display the properties of all overlapping metals and contacts at a location?

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • skillUser
    skillUser over 16 years ago

     Hi Ramya,

    css() is shorthand for car of selected set . I don't think that it is documented, so it would actually be better to use something like the following in your code:

        car(geGetSelectedSet())

    For interactive things in the CIW css() is probably fine, but I would use the longer form above in any code stored in files. If you run the above longer form through the SKILL Lint checker it will achieve a good score, or at least it will not reduce your score. However, since css() is not documented (probably, I haven't checked recently), it will reduce your overall score.  You want to aim to reach 100 or be as close as you can for the Lint score.

     For the second  question, here you cannot use css() or geGetSelectedSet() as they refer to the set of objects that are selected. You will want something that takes an input point and gives you the shapes underneath. Let me look into that and get back, it is likely that you will want to use dbGetOverlaps() or dbGetTrueOverlaps() but these are a little more complex.

    Regards,

    Lawrence.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • dmay
    dmay over 16 years ago

    You could use gePointQuery to get a quick result:

    hiSetBindKey("Layout"     "None<Btn1Down>"         "reportMouseSel()")

    procedure(reportMouseSel()
       mouseSingleSelectPt()
       gePointQuery(hiGetCurrentWindow() hiGetCommandPoint() "myFilter")
    ); proc

    procedure(myFilter(obj)
      let(()
        when(eq(obj car(geGetSelSet()))
            printf("SELECTED: ")
        )
        case(obj~>objType
           ("inst"
              printf("Inst %s of cell %s\n" obj~>name obj~>cellName)
           )
           (t
              printf("%s on lpp %L in cell %s\n" obj~>objType obj~>lpp obj~>cellView~>cellName)
           )
        )
      ) ;let
    ) ;proc

    -Derek

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ramya
    ramya over 16 years ago

    Hi,

    Many thanks for your reply.

    I tried using dbGetOverlaps() and dbGetTrueOverlaps() . But i got error mesaage saying invalid bounding box.

    my code was,

    d=geGetSelectedSet()

    b=d~>bBox

    list=dbGetTrueOverlaps(geGetWindowCellView() b)

    Can you suggest me some example for using these functions?

    • 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