• 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 compute the bounding box of a cell in a hierarchical...

Stats

  • Locked Locked
  • Replies 13
  • Subscribers 145
  • Views 22223
  • 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 compute the bounding box of a cell in a hierarchical design

Renee
Renee over 14 years ago

Hi,

 I had some problems with the placing pad head in a chip design. In the orignal design, all IOs have been placed without pad head. As there are so many pads in the design, I tried to realize this function by writing a program.

 Here are the functions it should have:

1. It should be able to identity positions of each IO.

2. It should be able to place pad head to the relative positon.

Here are my general thoughts to realize these function:

1. As there are identify layers covering IO, thus in order to locate them, I could locate bounding box of those ID layers, then I can have the lowerleft and upperight vertexes of IO. (But I have problems with getting bounding box of a cell in a hierarchical design)

2. How to place cell at a specific position in a design automatically?

 Thanks in advance!

Lei  

  • Cancel
Parents
  • Andrew Beckett
    Andrew Beckett over 14 years ago

    Do a recursive descent of all the instances in the design, and look for the IO cells at each level. As you descend, you can keep track of the overall transformation (by looking at inst~>transform) and you can then concatenate all the transformations (using dbConcatTransform). You can then use this concatenated transformation to map any coordinates within the IO cell back to the top level cellView, and thus know where to place the "pad heads".

    There are quite a few examples of using recursion to visit all cellViews in a layout on http://support.cadence.com and similarly examples of using dbConcatTransform.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Andrew Beckett
    Andrew Beckett over 14 years ago

    Do a recursive descent of all the instances in the design, and look for the IO cells at each level. As you descend, you can keep track of the overall transformation (by looking at inst~>transform) and you can then concatenate all the transformations (using dbConcatTransform). You can then use this concatenated transformation to map any coordinates within the IO cell back to the top level cellView, and thus know where to place the "pad heads".

    There are quite a few examples of using recursion to visit all cellViews in a layout on http://support.cadence.com and similarly examples of using dbConcatTransform.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data

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