delete mosaic with skill

G

Geert Thys

Guest
Hi Everyone,

With the skill code below I try to delete simple mosaics (arrays) of
a VIA3 cell in layout views.

cv = dbOpenCellViewByType(libName cell~>name "layout" "" "a")
foreach(inst cv~>instances
if( equal(inst~>cellName "VIA3")
then dbDeleteObject(inst)
) ; if

But the result is not as expected:
*WARNING* You can't delete the mosaicInst in the simple mosaic.

According to the skill user reference the dbDeleteObject() command
is appropriate for deleting mosaics... So what's going wrong?
The dbDeleteMosaic() command seemed an alternative, but turned out
to be an undefined function... Actually none of the functions of the
Integrator Toolkit part are working, although the necessary license is
listed in the available licenses (Options->License...) Uh?

I run icfb 4.4.6 (cds11701) on a HPUX11

Regards,
Geert
 
Geert,

The instances attribute of a cellView gives a list of all inst and mosaicInst objects.
mosaicInst objects are children of the mosaics, and so can't be deleted themselves, because
it would leave the parent mosaic without something to array.

You can see that they are mosaicInst objects by looking at the objType:

inst~>objType => "mosaicInst"

What you need to do is find the appropriate mosaic and delete that
instead. You can look at:

cv~>mosaics

to get a list of mosaics, and then (probably) look at the cellName in the
mosaic~>instanceList (simple mosaics will just have a single mosaicInst in
there).

for example:

foreach(mosaic cv~>mosaics
dbDeleteObject(mosaic)
)

will delete all the mosaics - you'll want to add code to be more selective. For example:

foreach(mosaic cv~>mosaics
when(mosaic~>mosaicType=="simple" && car(mosaic~>instanceList)~>cellName=="VIA3"
dbDeleteObject(mosaic)
) ; when
) ; foreach

Note, the Integrator's Toolkit documentation is not the right place to look - that's
for C-level applications, and does not directly correspond to the SKILL interface you're
using here. That's covered in the Design Framework II SKILL manual.

Andrew.

On Wed, 14 Apr 2004 12:14:52 +0200, Geert Thys <Geert.Thys@imec.be> wrote:

Hi Everyone,

With the skill code below I try to delete simple mosaics (arrays) of
a VIA3 cell in layout views.

cv = dbOpenCellViewByType(libName cell~>name "layout" "" "a")
foreach(inst cv~>instances
if( equal(inst~>cellName "VIA3")
then dbDeleteObject(inst)
) ; if

But the result is not as expected:
*WARNING* You can't delete the mosaicInst in the simple mosaic.

According to the skill user reference the dbDeleteObject() command
is appropriate for deleting mosaics... So what's going wrong?
The dbDeleteMosaic() command seemed an alternative, but turned out
to be an undefined function... Actually none of the functions of the
Integrator Toolkit part are working, although the necessary license is
listed in the available licenses (Options->License...) Uh?

I run icfb 4.4.6 (cds11701) on a HPUX11

Regards,
Geert
--
Andrew Beckett
Senior Technical Leader
Custom IC Solutions
Cadence Design Systems Ltd
 
Thanks for clarifying this issue. It's doing the job now.
In addition I want also to change all VIA4 mosaics to VIA3 ones.
I use this piece of code for it:

foreach(instHeader cv~>instHeaders
if( equal(instHeader~>cellName "VIA4")
then instHeader~>cellName="VIA3"
) ; if
) ; foreach

.... and that looks to work nicely.
So, in summary: for mosaic removal the parent has to be removed,
while for mosaic modification the instHeaders needs adjustment. Correct?

Geert

Andrew Beckett wrote:

Geert,

The instances attribute of a cellView gives a list of all inst and mosaicInst objects.
mosaicInst objects are children of the mosaics, and so can't be deleted themselves, because
it would leave the parent mosaic without something to array.

You can see that they are mosaicInst objects by looking at the objType:

inst~>objType => "mosaicInst"

What you need to do is find the appropriate mosaic and delete that
instead. You can look at:

cv~>mosaics

to get a list of mosaics, and then (probably) look at the cellName in the
mosaic~>instanceList (simple mosaics will just have a single mosaicInst in
there).

for example:

foreach(mosaic cv~>mosaics
dbDeleteObject(mosaic)
)

will delete all the mosaics - you'll want to add code to be more selective. For example:

foreach(mosaic cv~>mosaics
when(mosaic~>mosaicType=="simple" && car(mosaic~>instanceList)~>cellName=="VIA3"
dbDeleteObject(mosaic)
) ; when
) ; foreach

Note, the Integrator's Toolkit documentation is not the right place to look - that's
for C-level applications, and does not directly correspond to the SKILL interface you're
using here. That's covered in the Design Framework II SKILL manual.

Andrew.

On Wed, 14 Apr 2004 12:14:52 +0200, Geert Thys <Geert.Thys@imec.be> wrote:



Hi Everyone,

With the skill code below I try to delete simple mosaics (arrays) of
a VIA3 cell in layout views.

cv = dbOpenCellViewByType(libName cell~>name "layout" "" "a")
foreach(inst cv~>instances
if( equal(inst~>cellName "VIA3")
then dbDeleteObject(inst)
) ; if

But the result is not as expected:
*WARNING* You can't delete the mosaicInst in the simple mosaic.

According to the skill user reference the dbDeleteObject() command
is appropriate for deleting mosaics... So what's going wrong?
The dbDeleteMosaic() command seemed an alternative, but turned out
to be an undefined function... Actually none of the functions of the
Integrator Toolkit part are working, although the necessary license is
listed in the available licenses (Options->License...) Uh?

I run icfb 4.4.6 (cds11701) on a HPUX11

Regards,
Geert



--
Andrew Beckett
Senior Technical Leader
Custom IC Solutions
Cadence Design Systems Ltd
 
Hi Geert,

Yes, that's it. Of course, by changing the instHeaders, you end up changing all
instances (or mosaics) of that cellName. In general changing instHeaders is
quicker than changing the master of every instance (for ordinary instances).

Andrew.

On Wed, 14 Apr 2004 15:57:24 +0200, Geert Thys <Geert.Thys@imec.be> wrote:

Thanks for clarifying this issue. It's doing the job now.
In addition I want also to change all VIA4 mosaics to VIA3 ones.
I use this piece of code for it:

foreach(instHeader cv~>instHeaders
if( equal(instHeader~>cellName "VIA4")
then instHeader~>cellName="VIA3"
) ; if
) ; foreach

... and that looks to work nicely.
So, in summary: for mosaic removal the parent has to be removed,
while for mosaic modification the instHeaders needs adjustment. Correct?

Geert

Andrew Beckett wrote:

Geert,

The instances attribute of a cellView gives a list of all inst and mosaicInst objects.
mosaicInst objects are children of the mosaics, and so can't be deleted themselves, because
it would leave the parent mosaic without something to array.

You can see that they are mosaicInst objects by looking at the objType:

inst~>objType => "mosaicInst"

What you need to do is find the appropriate mosaic and delete that
instead. You can look at:

cv~>mosaics

to get a list of mosaics, and then (probably) look at the cellName in the
mosaic~>instanceList (simple mosaics will just have a single mosaicInst in
there).

for example:

foreach(mosaic cv~>mosaics
dbDeleteObject(mosaic)
)

will delete all the mosaics - you'll want to add code to be more selective. For example:

foreach(mosaic cv~>mosaics
when(mosaic~>mosaicType=="simple" && car(mosaic~>instanceList)~>cellName=="VIA3"
dbDeleteObject(mosaic)
) ; when
) ; foreach

Note, the Integrator's Toolkit documentation is not the right place to look - that's
for C-level applications, and does not directly correspond to the SKILL interface you're
using here. That's covered in the Design Framework II SKILL manual.

Andrew.

On Wed, 14 Apr 2004 12:14:52 +0200, Geert Thys <Geert.Thys@imec.be> wrote:



Hi Everyone,

With the skill code below I try to delete simple mosaics (arrays) of
a VIA3 cell in layout views.

cv = dbOpenCellViewByType(libName cell~>name "layout" "" "a")
foreach(inst cv~>instances
if( equal(inst~>cellName "VIA3")
then dbDeleteObject(inst)
) ; if

But the result is not as expected:
*WARNING* You can't delete the mosaicInst in the simple mosaic.

According to the skill user reference the dbDeleteObject() command
is appropriate for deleting mosaics... So what's going wrong?
The dbDeleteMosaic() command seemed an alternative, but turned out
to be an undefined function... Actually none of the functions of the
Integrator Toolkit part are working, although the necessary license is
listed in the available licenses (Options->License...) Uh?

I run icfb 4.4.6 (cds11701) on a HPUX11

Regards,
Geert



--
Andrew Beckett
Senior Technical Leader
Custom IC Solutions
Cadence Design Systems Ltd
--
Andrew Beckett
Senior Technical Leader
Custom IC Solutions
Cadence Design Systems Ltd
 
test

Geert Thys wrote:

Hi Everyone,

With the skill code below I try to delete simple mosaics (arrays) of
a VIA3 cell in layout views.

cv = dbOpenCellViewByType(libName cell~>name "layout" "" "a")
foreach(inst cv~>instances
if( equal(inst~>cellName "VIA3")
then dbDeleteObject(inst)
) ; if

But the result is not as expected:
*WARNING* You can't delete the mosaicInst in the simple mosaic.

According to the skill user reference the dbDeleteObject() command
is appropriate for deleting mosaics... So what's going wrong?
The dbDeleteMosaic() command seemed an alternative, but turned out
to be an undefined function... Actually none of the functions of the
Integrator Toolkit part are working, although the necessary license is
listed in the available licenses (Options->License...) Uh?

I run icfb 4.4.6 (cds11701) on a HPUX11

Regards,
Geert
 
Stefaan Vande Moortele wrote:

test

Geert Thys wrote:

Hi Everyone,

With the skill code below I try to delete simple mosaics (arrays) of
a VIA3 cell in layout views.

cv = dbOpenCellViewByType(libName cell~>name "layout" "" "a")
foreach(inst cv~>instances
if( equal(inst~>cellName "VIA3")
then dbDeleteObject(inst)
) ; if

But the result is not as expected:
*WARNING* You can't delete the mosaicInst in the simple mosaic.

According to the skill user reference the dbDeleteObject() command
is appropriate for deleting mosaics... So what's going wrong?
The dbDeleteMosaic() command seemed an alternative, but turned out
to be an undefined function... Actually none of the functions of the
Integrator Toolkit part are working, although the necessary license is
listed in the available licenses (Options->License...) Uh?

I run icfb 4.4.6 (cds11701) on a HPUX11

Regards,
Geert

--
===============================================================================
== Geert Thys == Tel : +32 (0)16 28 80 18 == IMEC vzw ==
== ASIC Design Engineer == Fax : +32 (0)16 28 15 84 == Kapeldreef 75 ==
== Invomec Division == mailto:Geert.Thys@imec.be == B-3001 Leuven ==
== == http://www.imec.be == Belgium ==
===============================================================================
**************
This e-mail and/or its attachments may contain confidential information.
It is intended solely for the intended addressee(s). Any use of the information
contained herein by other persons is prohibited. IMEC vzw does not accept any
liability for the contents of this e-mail and/or its attachments.
**************
 
test

Geert Thys wrote:
Thanks for clarifying this issue. It's doing the job now.
In addition I want also to change all VIA4 mosaics to VIA3 ones.
I use this piece of code for it:

foreach(instHeader cv~>instHeaders
if( equal(instHeader~>cellName "VIA4")
then instHeader~>cellName="VIA3"
) ; if
) ; foreach

... and that looks to work nicely.
So, in summary: for mosaic removal the parent has to be removed,
while for mosaic modification the instHeaders needs adjustment. Correct?

Geert

Andrew Beckett wrote:

Geert,

The instances attribute of a cellView gives a list of all inst and
mosaicInst objects.
mosaicInst objects are children of the mosaics, and so can't be
deleted themselves, because
it would leave the parent mosaic without something to array.

You can see that they are mosaicInst objects by looking at the objType:

inst~>objType => "mosaicInst"

What you need to do is find the appropriate mosaic and delete that
instead. You can look at:

cv~>mosaics

to get a list of mosaics, and then (probably) look at the cellName in the
mosaic~>instanceList (simple mosaics will just have a single
mosaicInst in
there).
for example:

foreach(mosaic cv~>mosaics
dbDeleteObject(mosaic)
)

will delete all the mosaics - you'll want to add code to be more
selective. For example:

foreach(mosaic cv~>mosaics
when(mosaic~>mosaicType=="simple" &&
car(mosaic~>instanceList)~>cellName=="VIA3"
dbDeleteObject(mosaic)
) ; when
) ; foreach

Note, the Integrator's Toolkit documentation is not the right place to
look - that's
for C-level applications, and does not directly correspond to the
SKILL interface you're
using here. That's covered in the Design Framework II SKILL manual.

Andrew.

On Wed, 14 Apr 2004 12:14:52 +0200, Geert Thys <Geert.Thys@imec.be
wrote:



Hi Everyone,

With the skill code below I try to delete simple mosaics (arrays) of
a VIA3 cell in layout views.

cv = dbOpenCellViewByType(libName cell~>name "layout" "" "a")
foreach(inst cv~>instances
if( equal(inst~>cellName "VIA3")
then dbDeleteObject(inst)
) ; if

But the result is not as expected:
*WARNING* You can't delete the mosaicInst in the simple mosaic.

According to the skill user reference the dbDeleteObject() command
is appropriate for deleting mosaics... So what's going wrong?
The dbDeleteMosaic() command seemed an alternative, but turned out
to be an undefined function... Actually none of the functions of the
Integrator Toolkit part are working, although the necessary license is
listed in the available licenses (Options->License...) Uh?

I run icfb 4.4.6 (cds11701) on a HPUX11

Regards,
Geert



--
Andrew Beckett
Senior Technical Leader
Custom IC Solutions
Cadence Design Systems Ltd

--

Met vriendelijke groet

Steven Dupont


*********************************************
IMEC
Kapeldreef 75
B-3001 Leuven, Belgium

Ir. Steven Dupont
Project Engineer ASIC Design
Division INVOMEC

Tel.: +32 16 281932
Fax : +32 16 281584

mailto:Steven.Dupont@imec.be
http://www.imec.be/
**********************************************

This e-mail and/or its attachments may contain confidential
information. It is intended solely for the intended addressee(s).
Any use of the information contained herein by other persons is
prohibited. IMEC vzw does not accept any liability for the contents of
this mail and/or its attachments.
 

Welcome to EDABoard.com

Sponsor

Back
Top