extract shapes from layout

Discussion in 'Cadence' started by sajin, Aug 13, 2009.

  1. sajin

    sajin Guest

    Hi
    I am trying to find a particular layer from layout using skill
    Let the layer be '("m1" "drawing")
    I am using
    m1 = setof(x cv~>shapes x~>lpp=='("m1" "drawing")).
    This is working fine. But the problem is, if the layout is huge with
    lots of polygons, the run time is too huge.
    Is there any other way to do this?
    Regards
    Sajin
     
    sajin, Aug 13, 2009
    #1
  2. sajin

    Sylvain Guest

    Hi,

    You can use dbGetTrueOverlaps .

    cv= geGetEditCellView()
    dbGetOverlaps(cv cv~>bBox list("m1" "drawing") 0)

    The 0 is to say that you don't descend in the hierarchy, but you can
    change it to something else. The result will be a netsted list that
    you'll have to process to get the shapes.

    Hoping that it helps.
    regards,

    Sylvain
     
    Sylvain, Aug 13, 2009
    #2
  3. sajin

    Riad KACED Guest

    dbGetTrueOverlaps or dbGetOverlaps ... ?
    These 2 are slightly different I'm afraid
    Well, I think it's just a spelling mistake

    Cheers,
    Riad.
     
    Riad KACED, Aug 13, 2009
    #3
  4. sajin

    Sylvain Guest

    Hi,
    dbGetOverlaps because we're working on all the cell so no need of true
    overlaps.
    Just a typo.

    Sylvain
     
    Sylvain, Aug 13, 2009
    #4
  5. sajin

    Sylvain Guest

    Hi,

    Nice to see you'll always be behind me!

    Actually I meant dbGetOverlaps insteand of dbGetTrueOverlaps because
    we want to find the shapes on all the cellview's bBox.
    More over I think that it will be quicker to use dbGetOverlaps .

    But to be accurate, I have to complete my answer by adding that the
    result of the function should be processed so that you get only the
    shapes, the function returns everything it finds, like instances,
    mosaics .....




    Sylvain
     
    Sylvain, Aug 13, 2009
    #5
  6. sajin

    sajin Guest

    Thank you everybody for the suggestions
    Sajin


     
    sajin, Aug 14, 2009
    #6
  7. Sylvain wrote, on 08/13/09 21:19:
    Using dbGetOverlaps or dbGetTrueOverlaps will be less efficient than using the
    approach suggested in "Risky"'s post - finding the LPP object for m1/drawing and
    then retrieving the shapes from there.

    Using dbGetOverlaps (or TrueOverlaps) has to do a "region query" which is a
    relatively expensive operation in comparison.

    Regards,

    Andrew.
     
    Andrew Beckett, Aug 16, 2009
    #7
Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.