• 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. Find the overlapping shapes between three layers

Stats

  • Locked Locked
  • Replies 12
  • Subscribers 143
  • Views 7769
  • 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

Find the overlapping shapes between three layers

Anmoljot
Anmoljot over 1 year ago

Hello,

We have a requirement as shared below:

  • Finding the overlapping shapes between multiple layers
  • Updating an existing layer by adding the shapes found in the previous step.

Kindly refer to the below image for the further description of requirement shared below:

Figures 1, 2 and 3 show the shapes for Layer A, B and C respectively and the Outline layer shape.

The requirement is to do an equivalent of "AND" operation to get just the shapes that overlap between the three layers.

The second part is to add these shapes to the OUTLINE layer as shown in the figure 4.

The smaller shapes in the middle region of fig. 1, 2 and 3 are not overlapping and hence not appearing in the output figure 4.

Please help to provide Skill commands which can meet the requirement.

Kindly let me know if any further details are required.

Thanks,

Anmol

  • Cancel
Parents
  • AurelBuche
    AurelBuche over 1 year ago

    Hi,

    You should definitely have a look at Cadence Advanced Boolean Engine [ABE] documentation

    This is meant to extract all shapes from a layer through a layout hierarchy and efficiently run boolean operations on it

    The functions you need are:

    abeInit, abeLayerFromCellview, abeLayerAnd, abeLayerToCellView, abeLayerToHilightSet and abeDone

    Cheers,

    Aurélien

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • Anmoljot
    Anmoljot over 1 year ago in reply to AurelBuche

    Hello Aurélien,

    Thank you for your response!

    I have used abeLayerToCellView function as well, but in the output layer I am seeing that the AND operation is breaking the overlapping shapes into smaller rectangles. Is that behavior expected? I will try to share an illustration as well.

    Also, will check out the abeLayerToHilightSet function.

    Thanks,

    Anmol

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

    I think the post below might possibly explain why the shapes are splitting into multiple smaller rectangles.

    Number of Points for a shape cannot more than 4000 - Custom IC SKILL - Cadence Technology Forums - Cadence Community

    Although not sure why the resulting polygons from AND for above layers could have >4000 points.

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

    Pass ?tiles nil to the abeLayerToCellView() function. The default is that it outputs the individual tiles otherwise.

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
Reply
  • Andrew Beckett
    Andrew Beckett over 1 year ago in reply to Anmoljot

    Pass ?tiles nil to the abeLayerToCellView() function. The default is that it outputs the individual tiles otherwise.

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
Children
  • Anmoljot
    Anmoljot over 1 year ago in reply to Andrew Beckett

    Hi Andrew, 

    Thank you for your response!

    I got to try this now, as I got stuck with some other higher priority work.

    By passing ?tiles nil to the abeLayerToCellView() function, I am getting the following output:

    Output without ?tiles nil is as shown below:

    The required output is something like this:

    Could you please suggest if there is something else that I can try to get this required output?

    Any help her would be really appreciated.

    Thanks,

    Anmol

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

    Hi Anmol,

    Without seeing the data, I can't comment on why the results are the way they are (I'm assuming there are small gaps in the regions where some of the lines are shown). I'm also not sure why it should produce a shape like you've suggested (given that there's no fill in the layers you're drawing it's impossible to see where the solid areas are).

    I suggest you contact customer support so somebody can see your actual data. There's not going to be a magic switch to produce what you want - but maybe some additional processing can get there (as I said, I can't guess what the data actually looks like from your pictures).

    Andrew

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

    Hello Andrew, 

    This is what the data looks like with fill:

    Thanks

    Anmol

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

    OK, so presumably there are small gaps between the regions you've drawn (otherwise it would have merged into a single polygon - feasible because the vertex count is not too high). I presume that there are also small gaps in the original (non-tiled) output of the abeLayer results too - and it's not clear why you think it should be able to end up with the result above (again, I can't see the detail from the pictures).

    Andrew

    • Cancel
    • Vote Up +1 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