• 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. I have a very important problem to deal with point list...

Stats

  • Replies 1
  • Subscribers 149
  • Views 743
  • Members are here 0

I have a very important problem to deal with point list by using dbPointArrayOr()

Noobnoob
Noobnoob 2 months ago

I'm sorry for my english skill...

i hope that you can undetstand my thinking...

For example, i made a cell and called it "CAP"

CAP is made of four poly layer db and four diffusion layer db.

and then, i placed CAP by using  mosaics (rows:0 columns:1) and 1 instances.

currently, i placed three CAPs in Layout window.

First, i used dbGetTrueOverlaps() function in order to get db of poly layers in Layout window. [ ex : overlaps = dbGetTrueOverlaps(wcv wcv ~> bBox list("Poly" "drawing") 32 t ) ]

overlaps has twelve poly layer db and path of poly layers.

Second, i got pure twelve poly layer db by using your help and saved these in "poly_list" variable.

poly_list has twelve poly layer db!

Three, i transformed each poly layer db's bbox coordinate into top level coordinate! and saved these in "bbox_list" variable.

Four, i transformed bbox coordinate into point coordinate in order to use dbPointArrayOr() !! and these in "point_list" variable.

Currently, i have point coordinates of twelve  poly layer db.

and then, i used dbPointArrayOr() to merge points of poly layer dbs.

But!!!  

I failed in merging points...

i think that cause of fail is "point_list" variable!!

To be accurate, I'm sure that "overlaps" "bbox_list" have  twelve poly layer db is problem...

Presently, bbox_list = ( A B C D E F G H I J K  )  [alphabet is each poly layer's bbox coordirnate]

but, as i want, in order to merge point list

I think that bbox_list = ( (A B C D) (E F G H) (H I J K) )

Later, i will post my skill script to explain what i think in detail.

How can i divide 12 poly layer dbs into 3 portion??

How can i divide 12 bbox coordinates into 3 portion??

thank you for reading my post.

  • Cancel
  • Sign in to reply
  • Andrew Beckett
    Andrew Beckett 2 months ago

    It's not really clear what the problem is. The input point list of dbPointArrayOr() needs to be a list of point lists. So if each of A, B, C is a rectangle, that needs to be:

    (llx:lly urx:lly urx:ury llx:ury)

    (ll=lowerleft ur=upperight) for each rectangle. It cannot just be a normal bounding box (which is the (llx:lly urx:ury) as that's just a line with two points if describing a point list.

    I don't understand why you would want  ( (A B C D) (E F G H) (H I J K) ) (where A, B C is formed as above) - because that's not what the function would be expecting. The dbPointArrayOr wouldn't need the points to be structured like that to merge them (in fact it would fail because it wouldn't expect them like that). The set of point lists for each polygon representing the rectangles can be in any order.

    If you have 12 point lists (each with the four corners of the rectangles) and then you call dbPointArrayOr, you should get a list of 3 point lists back.

    Maybe seeing your code and some real example data would clarify things?

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • 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.

© 2026 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information