• 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. Issue while using dbLayerAndNot()

Stats

  • Locked Locked
  • Replies 2
  • Subscribers 144
  • Views 3037
  • 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

Issue while using dbLayerAndNot()

Nisanth SS
Nisanth SS 11 months ago

Hello,

I am working on a script to place  routing blockage layers over an IP using the prBoundary.

To derive the XOR data between the respective pins and the PR boundary, I’m using the dbLayerAndNot() function. However, the function consistently returns nil for any input combination.

Below is the test case I’m working with:

cv = geGetEditCellView()
bBox1=list(list(1.18 0.0) list(1.33 0.15)) ; eg. M2 pin
bBox2=list(list(1.75 -0.1) list(2.10 0.25)) ; eg. prBoundary
bBox_blockage = dbLayerAndNot(cv "ME3" bBox1 bBox2)

If you have any insights into why this might be happening or how to resolve the issue, your help would be greatly appreciated.

Thank you!

Nisanth.SS

  • Cancel
  • Andrew Beckett
    Andrew Beckett 11 months ago

    Nishanth,

    Please read the documentation for this function - you'll see that it expects the 3rd and 4th arguments to be lists of database objects for shapes, not bounding boxes.

    You can use dbPointArrayAndNot if you don't have any actual shapes - but in this case the arguments are lists of lists of coordinates representing the outlines of polygons (so not bounding boxes either). The result is a list of lists of coordinates of the resulting shapes (so you could create polygons from them).

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Nisanth SS
    Nisanth SS 11 months ago in reply to Andrew Beckett

    Thanks a lot Andrew, I used objects for 3,4 the arguments and It worked. 

    • 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