• 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. Hierarchically Layer generation

Stats

  • Locked Locked
  • Replies 25
  • Subscribers 146
  • Views 22739
  • 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

Hierarchically Layer generation

gparasiliti
gparasiliti over 14 years ago

Hi,

I need to generate a layer starting from other layers placed hierarchicaly in my layout, I used "layer generation" from layout menu but it works only in the cellview, I tried using skill commands but I don't know how I can get all layers from the instances placed in my cellview, off course my layout has many pcell placed.

Grazie,

Giuseppe

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

    Zach,

    Of course, sarcasm will get you everywhere. I asked the questions because there was actually more than one solution proposed in the thread of this question (I'd suggested rteGeom.* functions in IC61), and also the code that Lawrence wrote works in all versions (so I don't know why you think it's for IC5141 only). Also, we often get posts on old threads which have little relation to the earlier posts. My point about your hardware was to say that you may suffer more than most if you are using such obsolete hardware.

    Anyway, putting that aside, I'll still try to help you. I took a look at Lawrence's code, and I suspect your problem is caused by the fact that it will flatten the hierarchy completely to the depth you specify - which is likely to be quite expensive, and also make the resulting operations slow because the database will be a huge flat database. Even if there are not many shapes on the layers you're actually processing, the total number of shapes on all layers would have a big impact on the performance.

    You may be able to adapt the code in Solution 11328674 as this is a bit more selective about the flattening it does. You could potentially miss out the merging part though (at the end of CCSflattenAndMerge()), and then call it twice on the two layers before you do the boolean operation.

    Regards,

    Andrew.

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

    Zach,

    Of course, sarcasm will get you everywhere. I asked the questions because there was actually more than one solution proposed in the thread of this question (I'd suggested rteGeom.* functions in IC61), and also the code that Lawrence wrote works in all versions (so I don't know why you think it's for IC5141 only). Also, we often get posts on old threads which have little relation to the earlier posts. My point about your hardware was to say that you may suffer more than most if you are using such obsolete hardware.

    Anyway, putting that aside, I'll still try to help you. I took a look at Lawrence's code, and I suspect your problem is caused by the fact that it will flatten the hierarchy completely to the depth you specify - which is likely to be quite expensive, and also make the resulting operations slow because the database will be a huge flat database. Even if there are not many shapes on the layers you're actually processing, the total number of shapes on all layers would have a big impact on the performance.

    You may be able to adapt the code in Solution 11328674 as this is a bit more selective about the flattening it does. You could potentially miss out the merging part though (at the end of CCSflattenAndMerge()), and then call it twice on the two layers before you do the boolean operation.

    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