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
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.
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, 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 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: \ \ ======================================================= \---\
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
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: \ \ ======================================================= \---\
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.
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, 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 ================================================================