Home > Community > Forums > Custom IC SKILL > leSearchHierarchy() layers origin problem

Email

* Required Fields

Recipients email * (separate multiple addresses with commas)

Your name *

Your email *

Message *

Contact Us

* Required Fields
First Name *

Last Name *

Email *

Company / Institution *

Comments: *

 leSearchHierarchy() layers origin problem 

Last post Wed, Jan 30 2013 12:31 AM by Sarvani. 4 replies.
Started by Sarvani 29 Jan 2013 12:39 AM. Topic has 4 replies and 955 views
Page 1 of 1 (5 items)
Sort Posts:
  • Tue, Jan 29 2013 12:39 AM

    • Sarvani
    • Top 75 Contributor
    • Joined on Mon, Mar 12 2012
    • VIZAG, Andhra Pradesh
    • Posts 112
    • Points 1,920
    leSearchHierarchy() layers origin problem Reply

     Hi all,

     1) I have used m1=leSearchHierarchy( cv cv~>bBox 32 "any shape" list(list("layer" "==" list("M1" "drawing")))) to get all M1 layers (from hirerchy also). But when I enter dbLayerSize(cv list("y2" "drawing")  m1 0.2) in CIW then Y2 layer is placed at different points from original m1 layers(getting mismatch for hirerchy m1 layers only). Please let me know how can I overcame this.

    2) And  is there any command which is faster than leSearchHierarchy.

     

    Thank you,

    Sarvani

     

    • Post Points: 20
  • Tue, Jan 29 2013 7:22 AM

    • psill00
    • Not Ranked
    • Joined on Tue, Jan 15 2013
    • Posts 16
    • Points 290
    Re: leSearchHierarchy() layers origin problem Reply
     I think the problem is leSearchHierarchy does not give the hierarchy path of the shape. Try using:
    dbShapeQuery(

    d_cellviewId
    l_layerPurposePair
    l_bBox
    [ x_startLevel ]
    [ x_stopLevel ]
    [ n_filterSize ]
    [ l_transform ]

     

    Another good function to use is but you have to flatten the list output:

    dbGetTrueOverlaps(
    d_cellView
    l_bBox
    [ l_layerPurposePair ]
    [ lx_level ]
    [ g_doRowCol ]
    )


     

    As far as speed, anytime you are creating polygons it is going to take time. Thing I have noticed that slow down a script: print outs as the scripts is running and doing a dbSave in a loop really slows the script down.
    • Post Points: 20
  • Tue, Jan 29 2013 10:21 PM

    • Sarvani
    • Top 75 Contributor
    • Joined on Mon, Mar 12 2012
    • VIZAG, Andhra Pradesh
    • Posts 112
    • Points 1,920
    Re: leSearchHierarchy() layers origin problem Reply

     Thank you very much for your suggestions. I got it by using above commands. dbGetTrueOverlaps() command will check layers under a bBox. Similarly is there any other command which will pickup layers under a point(hirerchy also)?

     

    Thank you,

    Sarvani.

     
    • Post Points: 20
  • Tue, Jan 29 2013 10:29 PM

    • skillUser
    • Top 10 Contributor
    • Joined on Fri, Sep 19 2008
    • Austin, TX
    • Posts 2,567
    • Points 15,575
    Re: leSearchHierarchy() layers origin problem Reply

    Hi Sarvani,

    You can use the same function, use the point twice for the bBox and it will give the objects under that point, i.e. list(pt pt).

    Regards,

    Lawrence.

    • Post Points: 20
  • Wed, Jan 30 2013 12:31 AM

    • Sarvani
    • Top 75 Contributor
    • Joined on Mon, Mar 12 2012
    • VIZAG, Andhra Pradesh
    • Posts 112
    • Points 1,920
    Re: leSearchHierarchy() layers origin problem Reply

    Hi Lawrence,

    Thank you verymuch for reply.

    1)It is working now. How can I get exact overlap area between two layers? I have been tring to write autovia code(like option which is in IC615, my version is 5141). Now I have layers m1,m2 at point. I have to get overlap area of both layers.

    2)When My object is in hirerchy how can I get exact points of object. I'm unable to get bBox of that point as per top level.

    Code still in progress

    cv=geGetEditCellView()
    enterPoint( ?prompts
    list( "Enter a point.")
    ?doneProc "pointDone"
    )
    procedure(pointDone(w done pts)
    let((figlist1 figlist2 figlist)
    figlist1= dbGetOverlaps(cv list(car(pts) car(pts)) list("M1" "drawing") 32 t)
    figlist2= dbGetOverlaps(cv list(car(pts) car(pts)) list("M2" "drawing") 32 t)
    figlist=append(figlist1 figlist2))

    ;need to find overlap area of two layers

    )

    techFindViaSpec() ;command still pending
    leCreateContact() or dbCreateContact(); command pending

     

     

    • Post Points: 5
Page 1 of 1 (5 items)
Sort Posts:
Started by Sarvani at 29 Jan 2013 12:39 AM. Topic has 4 replies.