geomSize

Discussion in 'Cadence' started by Mike Russell, Aug 1, 2003.

  1. Mike Russell

    Mike Russell Guest

    Can geomSize be used to expand shapes in the +y direction or -y
    direction.

    Assuming not I am trying the follwoing approach
    I am starting with a .9x.9 shape and would like to expand it to .9x1.8
    rectangle with the same origin using Assura.

    Can skill programs be called on derived layers in a Assura run to do a
    selective expansion.
    ---------------------------
    hybrid skill / assura deck approach

    1. Loop thru all shapes

    2. find all .9x.9 m1 rectangles

    3. add a .9x.9 rectangle on m1add above each rectangle found

    4. use assura to merge m1 and m1add and m1 spacing errors or overlaps

    5. find m1 shapes touching error shapes in assura

    6. call skill to add a .9X.9 rectangle below the original

    7. use assura to merge m1 and m1add and m1 spacing errors or overlaps
     
    Mike Russell, Aug 1, 2003
    #1
  2. Does geomGrow do what you want?

    Andrew.

     
    Andrew Beckett, Aug 2, 2003
    #2
  3. It would be in the Assura cdsdoc anyway - which version of Assura are you using?
    I checked ASSURA30-50 (but it would also be in ASSURA30-446 too).

    Andrew.
     
    Andrew Beckett, Aug 4, 2003
    #3
  4. Mike,

    The following command nests down 30 levels and grabs all the PMOAT/NMOAT
    then oversizes them with NSD/PSD by .38 um .

    Tracy

    procedure(ddsGenPNsd()
    let(((cv geGetEditCellView()))

    cv = geGetEditCellView()
    wid = hiGetCurrentWindow()
    pmoat = dbGetOverlaps(cv cv~>bBox list("PMOAT" "drawing") 0:30)
    nmoat = dbGetOverlaps(cv cv~>bBox list("NMOAT" "drawing") 0:30)

    plen = length(pmoat)
    pcnt = 0

    while( (pcnt <= plen)
    pget = nth(pcnt pmoat)
    ids = nth(0 pget)
    if(ids != nil then
    idorient = nth(0 pget~>orient)
    dstFig = dbCopyFig(nth(1 pget) cv list(ids~>xy idorient 1))
    dstFig~>layerName = "PSD"
    leSizeShape( dstFig .38 ) );endif
    pcnt++
    );end while

    plen = length(nmoat)
    pcnt = 0

    while( (pcnt <= plen)
    pget = nth(pcnt nmoat)
    ids = nth(0 pget)
    if(ids != nil then
    idorient = nth(0 pget~>orient)
    dstFig = dbCopyFig(nth(1 pget) cv list(ids~>xy idorient 1))
    dstFig~>layerName = "NSD"
    leSizeShape( dstFig .38 ));end if
    pcnt++
    );end while

    ) ; let
    )

    ---- ( @ @ )
    | | ======oOOo==(_)==oOOo=======================================
    | |__<*> ___ Tracy Groller | Texas Instruments, Inc.
    | _|III|_ | ------------------| HPA EDA Artisan Development
    _____| /_ III _/ \ TI MSGID: TAG2 | P.O. Box 660199, MS 8729
    \_ /III/ | PC Drop: PFLL | Dallas, Texas 75266
    \ _ /III/ _| -------------------------------------------------
    \_/ \ \___> - Phone: (214) 480-6385 Fax:
    \ / Email:
    \ \ =======================================================
    \---\
     
    Tracy Groller, Aug 4, 2003
    #4
  5. Mike Russell

    Rajeswaran M Guest

    Tracy,

    The problem is not the oversizing, but oversizing in one direction (X
    or Y).

    Also, you have provided VER deck code (which is internal to us ;).
    I dont think most of people aware of VER based decks.

    I remember, there are lot of options in Assura & DIVA itself to
    achieve the mentioned oversizing. But I am not sure about exact code.

    Regards,
    Rajeswaran M
     
    Rajeswaran M, Aug 7, 2003
    #5
  6. Rajeswaran

    Well the skill I submitted you could grab the rectangle
    and determine the bBox and size occordingly whether
    in the X or Y direction, it's just a geometry problem from
    school .ie: get the dstFig~>bBox then resize in the X or Y direction .

    Tracy

    --


    \ ~ ~ ///
    ---- ( @ @ )
    | | ======oOOo==(_)==oOOo=======================================
    | |__<*> ___ Tracy Groller | Texas Instruments, Inc.
    | _|III|_ | ------------------| HPA EDA Artisan Development
    _____| /_ III _/ \ TI MSGID: TAG2 | P.O. Box 660199, MS 8729
    \_ /III/ | PC Drop: PFLL | Dallas, Texas 75266
    \ _ /III/ _| -------------------------------------------------
    \_/ \ \___> - Phone: (214) 480-6385 Fax:
    \ / Email:
    \ \ =======================================================
    \---\
     
    Tracy Groller, Aug 7, 2003
    #6
  7. I remember using and maintaining this LV tool and TIspice about 3
    years ago. The layout verification tool and its integration in ic442
    were quite impressive. And it was technically speaking not any longer a
    proprietary tool, it was handled by some company called chameleon , if I
    remember right. These guys were getting an email every time we started
    the tool... they must have sold the patent to microsoft :)
     
    eda support guy, Aug 12, 2003
    #7
  8. The LV tool your referring to is called K2 Chameleon which bought the
    tool from TI several years
    ago, which was developed inhouse by TI, Cadence has since bought K2 so
    in the future it should
    show up for all users .


    --


    \ ~ ~ ///
    ---- ( @ @ )
    | | ======oOOo==(_)==oOOo=======================================
    | |__<*> ___ Tracy Groller | Texas Instruments, Inc.
    | _|III|_ | ------------------| HPA EDA Artisan Development
    _____| /_ III _/ \ TI MSGID: TAG2 | P.O. Box 660199, MS 8729
    \_ /III/ | PC Drop: PFLL | Dallas, Texas 75266
    \ _ /III/ _| -------------------------------------------------
    \_/ \ \___> - Phone: (214) 480-6385 Fax:
    \ / Email:
    \ \ =======================================================
    \---\
     
    Tracy Groller, Aug 13, 2003
    #8
  9. Mike Russell

    Rajeswaran M Guest

    Now Cadence is owning the tool :) I thought the tool was developed by and for TI.

    Solving this re-sizing problem using LV deck has same effort as with Assura/Diva.
     
    Rajeswaran M, Aug 13, 2003
    #9
  10. The tool was created in house by TI a good 20 years ago .
    Then sold to K2 which was then bought by Cadence .
    The resize can be done in skill .



    --


    \ ~ ~ ///
    ---- ( @ @ )
    | | ======oOOo==(_)==oOOo=======================================
    | |__<*> ___ Tracy Groller | Texas Instruments, Inc.
    | _|III|_ | ------------------| HPA EDA Artisan Development
    _____| /_ III _/ \ TI MSGID: TAG2 | P.O. Box 660199, MS 8729
    \_ /III/ | PC Drop: PFLL | Dallas, Texas 75266
    \ _ /III/ _| -------------------------------------------------
    \_/ \ \___> - Phone: (214) 480-6385 Fax:
    \ / Email:
    \ \ =======================================================
    \---\
     
    Tracy Groller, Aug 13, 2003
    #10
  11. Tracy,

    Your procedure works fine for PMOAT/NMOAT objets that are at the
    first level of the hierarchy, and not for deeper ones, even if the
    pmoat and nmoat lists contain all the objects.

    Is there something that I'm missing ?

    By the way I have rewritten the "while" section in a more
    compact style (but don't know if it is more efficient ...) :

    foreach( shape pmoat
    dstFig = dbCopyFig(car(cdr(shape)) cv list(car(shape)~>xy
    car(shape)~>orient 1.0))
    dstFig~>layerName = "PSD"
    leSizeShape( dstFig .38 )
    )

    Any idea on how we can copy the objects which are in a deeper
    hierarchy ?


    ================================================================
    Kholdoun TORKI
    http://cmp.imag.fr
    ================================================================
     
    Kholdoun TORKI, Aug 14, 2003
    #11
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.
Similar Threads
Loading...