🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: comp.cad.cadence
7 messages
7 total messages Started by mjruss@magnaspee Fri, 01 Aug 2003 13:29
geomSize
#3967
Author: mjruss@magnaspee
Date: Fri, 01 Aug 2003 13:29
25 lines
770 bytes
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
Re: geomSize
#3974
Author: Andrew Beckett
Date: Sat, 02 Aug 2003 06:16
37 lines
1002 bytes
Does geomGrow do what you want?

Andrew.

On 1 Aug 2003 13:29:06 -0700, mjruss@magnaspeed.net (Mike Russell) wrote:

>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

--
Andrew Beckett
Senior Technical Leader
Custom IC Solutions
Cadence Design Systems Ltd
Re: geomSize
#3988
Author: Tracy Groller
Date: Mon, 04 Aug 2003 10:24
98 lines
2592 bytes
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: h-groller@ti.com     
          \   \  =======================================================
           \---\

 


Mike Russell wrote:

>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
>  
>

-- 


                    \ ~ ~ ///
  


Re: geomSize
#3987
Author: Andrew Beckett
Date: Mon, 04 Aug 2003 15:58
51 lines
1628 bytes
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.

On 4 Aug 2003 06:59:48 -0700, mjruss@magnaspeed.net (Mike Russell) wrote:

>geomGrow?  This function does not exist in IC4.46 cdsdoc or cdsFinder.
> Where can I get info on this?  I see a reference to GeomGrow in
>SourceLink.  I will try it.
>
>Thanks!
>
>Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<e8imiv0l7imief99uqaqa9vhen76q7kk9e@4ax.com>...
>> Does geomGrow do what you want?
>>
>> Andrew.
>>
>> On 1 Aug 2003 13:29:06 -0700, mjruss@magnaspeed.net (Mike Russell) wrote:
>>
>> >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

--
Andrew Beckett
Senior Technical Leader
Custom IC Solutions
Cadence Design Systems Ltd
Re: :-) Re: geomSize
#4013
Author: Tracy Groller
Date: Wed, 06 Aug 2003 12:59
394 lines
11073 bytes
--------------050904060901040907010803
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit

Andrew,

While its true that the code does not do exactly what is needed
with a little work it could, but the following DV rule set could do 
exactly whats
needed also .

LEVELS
  NMOAT 
  PMOAT  
  NSD
  PSD  
EXTRACTS
 
 NSDMOAT = copy of NMOAT
 PSDMOAT = copy of PMOAT
 
 NSDMOAT = NSDMOAT oversized by .38
 PSDMOAT = PSDMOAT oversized by .38
 
 NSD = copy of  NSDMOAT
 PSD = copy of  PSDMOAT
 

 
EXTRACTS


PSD = PSD NOT COMMON TO NSD
NSD = NSD NOT COMMON TO PSD
 
OUTPUT LAYERS
    NSD, MERGE, CLEANUP
    PSD, MERGE, CLEANUP


Andrew Beckett wrote:

>No, they won't work in Assura standalone executables (not really sure why you'd
>want them - you can call the db and dd functions from SKILL triggered from
>an Assura run - like ivCallProc in Diva - don't recall what it is called in
>Assura). THe code below is really for straight DFII usage, and doesn't
>really solve the original problem since it uses leSizeShape which will size
>by the same amount in all directions.
>
>Andrew.
>
>On Tue, 05 Aug 2003 17:20:18 +0200, eda support guy
><cad_support_at_catena_dot_the_netherlands> wrote:
>
>  
>
>>For those who don t know what a MOAT is : it is what most call a WELL.
>>
>>Is there a company where this is called a pit, or where gate-poly is 
>>called a derrick ? ;-)
>>
>>Back to topic:
>> Can all the hi* ge* le* db* dd* procedures be called from assura ? If 
>>not, there are probably drop-in replacements.
>>
>>
>>Tracy Groller wrote:
>>    
>>
>>>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: h-groller@ti.com              \   \  
>>>=======================================================
>>>          \---\
>>>
>>>
>>>
>>>
>>>Mike Russell wrote:
>>>
>>>      
>>>
>>>>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
>>>> 
>>>>
>>>>        
>>>>
>
>--
>Andrew Beckett
>Senior Technical Leader
>Custom IC Solutions
>Cadence Design Systems Ltd
>  
>

-- 


                    \ ~ ~ ///
      ----           (  @ @  )
     |    | ======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: h-groller@ti.com     
          \   \  =======================================================
           \---\

 



--------------050904060901040907010803
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <title></title>
</head>
<body>
Andrew,<br>
<br>
While its true that the code does not do exactly what is needed<br>
with a little work it could, but the following DV rule set could do exactly
whats<br>
needed also .<br>
<br>
LEVELS<br>
  NMOAT  <br>
  PMOAT   <br>
  NSD<br>
  PSD   <br>
EXTRACTS<br>
 <br>
 NSDMOAT = copy of NMOAT<br>
 PSDMOAT = copy of PMOAT<br>
 <br>
 NSDMOAT = NSDMOAT oversized by .38<br>
 PSDMOAT = PSDMOAT oversized by .38<br>
 <br>
 NSD = copy of  NSDMOAT<br>
 PSD = copy of  PSDMOAT<br>
 <br>
<br>
 <br>
EXTRACTS<br>
<br>
<br>
PSD = PSD NOT COMMON TO NSD<br>
NSD = NSD NOT COMMON TO PSD<br>
 <br>
OUTPUT LAYERS<br>
    NSD, MERGE, CLEANUP<br>
    PSD, MERGE, CLEANUP<br>
<br>
<br>
Andrew Beckett wrote:<br>
<blockquote type="cite"
 cite="midlaf2jvg1b8gojr2h54ibdn8fn9srpidd9d@4ax.com">
  <pre wrap="">No, they won't work in Assura standalone executables (not really sure why you'd
want them - you can call the db and dd functions from SKILL triggered from
an Assura run - like ivCallProc in Diva - don't recall what it is called in
Assura). THe code below is really for straight DFII usage, and doesn't
really solve the original problem since it uses leSizeShape which will size
by the same amount in all directions.

Andrew.

On Tue, 05 Aug 2003 17:20:18 +0200, eda support guy
<cad_support_at_catena_dot_the_netherlands> wrote:

  </pre>
  <blockquote type="cite">
    <pre wrap="">For those who don t know what a MOAT is : it is what most call a WELL.

Is there a company where this is called a pit, or where gate-poly is 
called a derrick ? ;-)

Back to topic:
 Can all the hi* ge* le* db* dd* procedures be called from assura ? If 
not, there are probably drop-in replacements.


Tracy Groller wrote:
    </pre>
    <blockquote type="cite">
      <pre wrap="">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: <a class="moz-txt-link-abbreviated" href="mailto:h-groller@ti.com">h-groller@ti.com</a>              \   \  
=======================================================
          \---\




Mike Russell wrote:

      </pre>
      <blockquote type="cite">
        <pre wrap="">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
 

        </pre>
      </blockquote>
    </blockquote>
  </blockquote>
  <pre wrap=""><!---->
--
Andrew Beckett
Senior Technical Leader
Custom IC Solutions
Cadence Design Systems Ltd
  </pre>
</blockquote>
<br>
<pre class="moz-signature" cols="$mailwrapcol">-- 


                    \ ~ ~ ///
      ----           (  @ @  )
     |    | ======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: <a class="moz-txt-link-abbreviated" href="mailto:h-groller@ti.com">h-groller@ti.com</a>     
          \   \  =======================================================
           \---\

 
</pre>
<br>
</body>
</html>

--------------050904060901040907010803--

Re: :-) Re: geomSize
#4023
Author: m_rajeswaran@yah
Date: Wed, 06 Aug 2003 21:08
202 lines
5883 bytes
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

Tracy Groller <h-groller@ti.com> wrote in message news:<3F314211.7060000@ti.com>...
> Andrew,
> 
> While its true that the code does not do exactly what is needed
> with a little work it could, but the following DV rule set could do 
> exactly whats
> needed also .
> 
> LEVELS
>   NMOAT 
>   PMOAT  
>   NSD
>   PSD  
> EXTRACTS
>  
>  NSDMOAT = copy of NMOAT
>  PSDMOAT = copy of PMOAT
>  
>  NSDMOAT = NSDMOAT oversized by .38
>  PSDMOAT = PSDMOAT oversized by .38
>  
>  NSD = copy of  NSDMOAT
>  PSD = copy of  PSDMOAT
>  
> 
>  
> EXTRACTS
> 
> 
> PSD = PSD NOT COMMON TO NSD
> NSD = NSD NOT COMMON TO PSD
>  
> OUTPUT LAYERS
>     NSD, MERGE, CLEANUP
>     PSD, MERGE, CLEANUP
> 
> 
> Andrew Beckett wrote:
> 
> >No, they won't work in Assura standalone executables (not really sure why you'd
> >want them - you can call the db and dd functions from SKILL triggered from
> >an Assura run - like ivCallProc in Diva - don't recall what it is called in
> >Assura). THe code below is really for straight DFII usage, and doesn't
> >really solve the original problem since it uses leSizeShape which will size
> >by the same amount in all directions.
> >
> >Andrew.
> >
> >On Tue, 05 Aug 2003 17:20:18 +0200, eda support guy
> ><cad_support_at_catena_dot_the_netherlands> wrote:
> >
> >  
> >
> >>For those who don t know what a MOAT is : it is what most call a WELL.
> >>
> >>Is there a company where this is called a pit, or where gate-poly is 
> >>called a derrick ? ;-)
> >>
> >>Back to topic:
> >> Can all the hi* ge* le* db* dd* procedures be called from assura ? If 
> >>not, there are probably drop-in replacements.
> >>
> >>
> >>Tracy Groller wrote:
> >>    
> >>
> >>>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: h-groller@ti.com              \   \  
> >>>=======================================================
> >>>          \---\
> >>>
> >>>
> >>>
> >>>
> >>>Mike Russell wrote:
> >>>
> >>>      
> >>>
> >>>>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
> >>>> 
> >>>>
> >>>>        
> >>>>
> >
> >--
> >Andrew Beckett
> >Senior Technical Leader
> >Custom IC Solutions
> >Cadence Design Systems Ltd
> >  
> >
> 
> -- 
> 
> 
>                     \ ~ ~ ///
>       ----           (  @ @  )
>      |    | ======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: h-groller@ti.com     
>           \   \  =======================================================
>            \---\
> 
>  
> 
> 
> 
> --
Re: :-) Re: geomSize
#4026
Author: Tracy Groller
Date: Thu, 07 Aug 2003 08:44
247 lines
6950 bytes
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

Rajeswaran M wrote:

>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
>
>Tracy Groller <h-groller@ti.com> wrote in message news:<3F314211.7060000@ti.com>...
>  
>
>>Andrew,
>>
>>While its true that the code does not do exactly what is needed
>>with a little work it could, but the following DV rule set could do 
>>exactly whats
>>needed also .
>>
>>LEVELS
>>  NMOAT 
>>  PMOAT  
>>  NSD
>>  PSD  
>>EXTRACTS
>> 
>> NSDMOAT = copy of NMOAT
>> PSDMOAT = copy of PMOAT
>> 
>> NSDMOAT = NSDMOAT oversized by .38
>> PSDMOAT = PSDMOAT oversized by .38
>> 
>> NSD = copy of  NSDMOAT
>> PSD = copy of  PSDMOAT
>> 
>>
>> 
>>EXTRACTS
>>
>>
>>PSD = PSD NOT COMMON TO NSD
>>NSD = NSD NOT COMMON TO PSD
>> 
>>OUTPUT LAYERS
>>    NSD, MERGE, CLEANUP
>>    PSD, MERGE, CLEANUP
>>
>>
>>Andrew Beckett wrote:
>>
>>    
>>
>>>No, they won't work in Assura standalone executables (not really sure why you'd
>>>want them - you can call the db and dd functions from SKILL triggered from
>>>an Assura run - like ivCallProc in Diva - don't recall what it is called in
>>>Assura). THe code below is really for straight DFII usage, and doesn't
>>>really solve the original problem since it uses leSizeShape which will size
>>>by the same amount in all directions.
>>>
>>>Andrew.
>>>
>>>On Tue, 05 Aug 2003 17:20:18 +0200, eda support guy
>>><cad_support_at_catena_dot_the_netherlands> wrote:
>>>
>>> 
>>>
>>>      
>>>
>>>>For those who don t know what a MOAT is : it is what most call a WELL.
>>>>
>>>>Is there a company where this is called a pit, or where gate-poly is 
>>>>called a derrick ? ;-)
>>>>
>>>>Back to topic:
>>>>Can all the hi* ge* le* db* dd* procedures be called from assura ? If 
>>>>not, there are probably drop-in replacements.
>>>>
>>>>
>>>>Tracy Groller wrote:
>>>>   
>>>>
>>>>        
>>>>
>>>>>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: h-groller@ti.com              \   \  
>>>>>=======================================================
>>>>>         \---\
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>Mike Russell wrote:
>>>>>
>>>>>     
>>>>>
>>>>>          
>>>>>
>>>>>>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
>>>>>>
>>>>>>
>>>>>>       
>>>>>>
>>>>>>            
>>>>>>
>>>--
>>>Andrew Beckett
>>>Senior Technical Leader
>>>Custom IC Solutions
>>>Cadence Design Systems Ltd
>>> 
>>>
>>>      
>>>
>>-- 
>>
>>
>>                    \ ~ ~ ///
>>      ----           (  @ @  )
>>     |    | ======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: h-groller@ti.com     
>>          \   \  =======================================================
>>           \---\
>>
>> 
>>
>>
>>
>>--
>>    
>>

-- 


                    \ ~ ~ ///
      ----           (  @ @  )
     |    | ======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: h-groller@ti.com     
          \   \  =======================================================
           \---\

 


Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads