virtual flattening of a pcell?

P

Partha

Guest
Hi,

Working on a skill code that should recognise the layers in a pcell
that is placed in the layout.

Would i be able to flatten the pcell in virtual memory to use in my
skill code?

Apologies if this was a no-brainer

Thankyou!
Partha
 
Sorry, I don't understand what you're trying to do here. Can you elaborate?

Andrew.

On 4 Oct 2003 17:56:28 -0700, cadeguy@yahoo.com (Partha) wrote:

Hi,

Working on a skill code that should recognise the layers in a pcell
that is placed in the layout.

Would i be able to flatten the pcell in virtual memory to use in my
skill code?

Apologies if this was a no-brainer

Thankyou!
Partha
--
Andrew Beckett
Senior Technical Leader
Custom IC Solutions
Cadence Design Systems Ltd
 
Andrew,
I am looking to recognise the shapes of layers and their
bboxes/co-ordinates in the layout, using my skill code. I am succesful
in doing that when they are non-instances, primitive shapes like
rectangles and paths. But when it comes to parametericed cells, say
for example, dbGetOverlaps returns the instance name of the cell, so
in order to be able to recognise the layers and shapes that make up
the pcell i need to flatten it.

Flattening using dbFlattenInst would do the actuall flattening in the
layout, but i do not want to do that, i would like to flatten the
pcell virtually in order to recognise the shapes that it comprises of.

Partha

Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<cql0ovk1cpmsq4hutpci4fompceqje5tlu@4ax.com>...
Sorry, I don't understand what you're trying to do here. Can you elaborate?

Andrew.

On 4 Oct 2003 17:56:28 -0700, cadeguy@yahoo.com (Partha) wrote:

Hi,

Working on a skill code that should recognise the layers in a pcell
that is placed in the layout.

Would i be able to flatten the pcell in virtual memory to use in my
skill code?

Apologies if this was a no-brainer

Thankyou!
Partha
 
Hi Partha,

What I always do in these situations is to use functions like dbTransformPoint
and dbTransformBBox, to transform the points up through the hierarchy.
Of course, you need the correct transformation, which can be found by
dbConcatTransform-ing the transformations through the hierarchy
returned by the dbGetOverlaps.

(procedure (ABgetOverlapTransform overlap)
(let (transform)
(if (listp overlap)
(setq transform (dbConcatTransform
(ABgetOverlapTransform (cadr overlap))
(dbGetq (car overlap) transform)
))
(setq transform (list 0:0 "R0" 1.0)))
transform
))

This is the function I use to take one of the overlaps found by dbGetOverlaps
or dbGetTrueOverlaps and find the transformation. Then I can transform the
points up to the starting cellView.

I think this is in effect what you mean by virtually flattening it.

Andrew.


On 5 Oct 2003 16:31:26 -0700, cadeguy@yahoo.com (Partha) wrote:

Andrew,
I am looking to recognise the shapes of layers and their
bboxes/co-ordinates in the layout, using my skill code. I am succesful
in doing that when they are non-instances, primitive shapes like
rectangles and paths. But when it comes to parametericed cells, say
for example, dbGetOverlaps returns the instance name of the cell, so
in order to be able to recognise the layers and shapes that make up
the pcell i need to flatten it.

Flattening using dbFlattenInst would do the actuall flattening in the
layout, but i do not want to do that, i would like to flatten the
pcell virtually in order to recognise the shapes that it comprises of.

Partha

Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<cql0ovk1cpmsq4hutpci4fompceqje5tlu@4ax.com>...
Sorry, I don't understand what you're trying to do here. Can you elaborate?

Andrew.

On 4 Oct 2003 17:56:28 -0700, cadeguy@yahoo.com (Partha) wrote:

Hi,

Working on a skill code that should recognise the layers in a pcell
that is placed in the layout.

Would i be able to flatten the pcell in virtual memory to use in my
skill code?

Apologies if this was a no-brainer

Thankyou!
Partha
--
Andrew Beckett
Senior Technical Leader
Custom IC Solutions
Cadence Design Systems Ltd
 
Andrew,
that was news to me, i would do some research on those two functions.
But i am a bit unclear, so in function ABget.... you are passing
overlap, which is a list of all the points the instance is made up
of??

Can you please explain the following,

If i have an instance I1 and i need to find the shapes that it
comprises, do i have to use dbTransformBBox first to get the list of
all the points? how do i do that, then i assume i need to use the
ABget function to concat all the points so returned?

Thankyou!
Partha

Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<1452ovohnib5ssgcoannvipra241h3a7tj@4ax.com>...
Hi Partha,

What I always do in these situations is to use functions like dbTransformPoint
and dbTransformBBox, to transform the points up through the hierarchy.
Of course, you need the correct transformation, which can be found by
dbConcatTransform-ing the transformations through the hierarchy
returned by the dbGetOverlaps.

(procedure (ABgetOverlapTransform overlap)
(let (transform)
(if (listp overlap)
(setq transform (dbConcatTransform
(ABgetOverlapTransform (cadr overlap))
(dbGetq (car overlap) transform)
))
(setq transform (list 0:0 "R0" 1.0)))
transform
))

This is the function I use to take one of the overlaps found by dbGetOverlaps
or dbGetTrueOverlaps and find the transformation. Then I can transform the
points up to the starting cellView.

I think this is in effect what you mean by virtually flattening it.

Andrew.


On 5 Oct 2003 16:31:26 -0700, cadeguy@yahoo.com (Partha) wrote:

Andrew,
I am looking to recognise the shapes of layers and their
bboxes/co-ordinates in the layout, using my skill code. I am succesful
in doing that when they are non-instances, primitive shapes like
rectangles and paths. But when it comes to parametericed cells, say
for example, dbGetOverlaps returns the instance name of the cell, so
in order to be able to recognise the layers and shapes that make up
the pcell i need to flatten it.

Flattening using dbFlattenInst would do the actuall flattening in the
layout, but i do not want to do that, i would like to flatten the
pcell virtually in order to recognise the shapes that it comprises of.

Partha

Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<cql0ovk1cpmsq4hutpci4fompceqje5tlu@4ax.com>...
Sorry, I don't understand what you're trying to do here. Can you elaborate?

Andrew.

On 4 Oct 2003 17:56:28 -0700, cadeguy@yahoo.com (Partha) wrote:

Hi,

Working on a skill code that should recognise the layers in a pcell
that is placed in the layout.

Would i be able to flatten the pcell in virtual memory to use in my
skill code?

Apologies if this was a no-brainer

Thankyou!
Partha
 
Question: There is a TOPCELL have a PCELL. It is required to get the
all the read-only infos from PCELL, as if PCELL were a non-PCELL
instance. But PCELL should not be flattened or converted in to
non-PCELL.

The recent ROD based PCELL's might support these kind of
manipulations.

cadeguy@yahoo.com (Partha) wrote in message news:<7f58031f.0310060846.43e6ea55@posting.google.com>...
Andrew,
that was news to me, i would do some research on those two functions.
But i am a bit unclear, so in function ABget.... you are passing
overlap, which is a list of all the points the instance is made up
of??

Can you please explain the following,

If i have an instance I1 and i need to find the shapes that it
comprises, do i have to use dbTransformBBox first to get the list of
all the points? how do i do that, then i assume i need to use the
ABget function to concat all the points so returned?

Thankyou!
Partha

Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<1452ovohnib5ssgcoannvipra241h3a7tj@4ax.com>...
Hi Partha,

What I always do in these situations is to use functions like dbTransformPoint
and dbTransformBBox, to transform the points up through the hierarchy.
Of course, you need the correct transformation, which can be found by
dbConcatTransform-ing the transformations through the hierarchy
returned by the dbGetOverlaps.

(procedure (ABgetOverlapTransform overlap)
(let (transform)
(if (listp overlap)
(setq transform (dbConcatTransform
(ABgetOverlapTransform (cadr overlap))
(dbGetq (car overlap) transform)
))
(setq transform (list 0:0 "R0" 1.0)))
transform
))

This is the function I use to take one of the overlaps found by dbGetOverlaps
or dbGetTrueOverlaps and find the transformation. Then I can transform the
points up to the starting cellView.

I think this is in effect what you mean by virtually flattening it.

Andrew.


On 5 Oct 2003 16:31:26 -0700, cadeguy@yahoo.com (Partha) wrote:

Andrew,
I am looking to recognise the shapes of layers and their
bboxes/co-ordinates in the layout, using my skill code. I am succesful
in doing that when they are non-instances, primitive shapes like
rectangles and paths. But when it comes to parametericed cells, say
for example, dbGetOverlaps returns the instance name of the cell, so
in order to be able to recognise the layers and shapes that make up
the pcell i need to flatten it.

Flattening using dbFlattenInst would do the actuall flattening in the
layout, but i do not want to do that, i would like to flatten the
pcell virtually in order to recognise the shapes that it comprises of.

Partha

Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<cql0ovk1cpmsq4hutpci4fompceqje5tlu@4ax.com>...
Sorry, I don't understand what you're trying to do here. Can you elaborate?

Andrew.

On 4 Oct 2003 17:56:28 -0700, cadeguy@yahoo.com (Partha) wrote:

Hi,

Working on a skill code that should recognise the layers in a pcell
that is placed in the layout.

Would i be able to flatten the pcell in virtual memory to use in my
skill code?

Apologies if this was a no-brainer

Thankyou!
Partha
 
Rajeswaran,
Probably, using rodGetNamedShapes, but we have not yet made an
effective trasnformation to rod pcells, so we should be able to
support even conventional pcells, and that is why a more rudimentary
approach was required.

I have followed andrew's approach and seems to work fine for me..

ThankYou!
Partha

m_rajeswaran@yahoo.com (Rajeswaran M) wrote in message news:<cc6774d1.0310062108.5b1c4c97@posting.google.com>...
Question: There is a TOPCELL have a PCELL. It is required to get the
all the read-only infos from PCELL, as if PCELL were a non-PCELL
instance. But PCELL should not be flattened or converted in to
non-PCELL.

The recent ROD based PCELL's might support these kind of
manipulations.

cadeguy@yahoo.com (Partha) wrote in message news:<7f58031f.0310060846.43e6ea55@posting.google.com>...
Andrew,
that was news to me, i would do some research on those two functions.
But i am a bit unclear, so in function ABget.... you are passing
overlap, which is a list of all the points the instance is made up
of??

Can you please explain the following,

If i have an instance I1 and i need to find the shapes that it
comprises, do i have to use dbTransformBBox first to get the list of
all the points? how do i do that, then i assume i need to use the
ABget function to concat all the points so returned?

Thankyou!
Partha

Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<1452ovohnib5ssgcoannvipra241h3a7tj@4ax.com>...
Hi Partha,

What I always do in these situations is to use functions like dbTransformPoint
and dbTransformBBox, to transform the points up through the hierarchy.
Of course, you need the correct transformation, which can be found by
dbConcatTransform-ing the transformations through the hierarchy
returned by the dbGetOverlaps.

(procedure (ABgetOverlapTransform overlap)
(let (transform)
(if (listp overlap)
(setq transform (dbConcatTransform
(ABgetOverlapTransform (cadr overlap))
(dbGetq (car overlap) transform)
))
(setq transform (list 0:0 "R0" 1.0)))
transform
))

This is the function I use to take one of the overlaps found by dbGetOverlaps
or dbGetTrueOverlaps and find the transformation. Then I can transform the
points up to the starting cellView.

I think this is in effect what you mean by virtually flattening it.

Andrew.


On 5 Oct 2003 16:31:26 -0700, cadeguy@yahoo.com (Partha) wrote:

Andrew,
I am looking to recognise the shapes of layers and their
bboxes/co-ordinates in the layout, using my skill code. I am succesful
in doing that when they are non-instances, primitive shapes like
rectangles and paths. But when it comes to parametericed cells, say
for example, dbGetOverlaps returns the instance name of the cell, so
in order to be able to recognise the layers and shapes that make up
the pcell i need to flatten it.

Flattening using dbFlattenInst would do the actuall flattening in the
layout, but i do not want to do that, i would like to flatten the
pcell virtually in order to recognise the shapes that it comprises of.

Partha

Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<cql0ovk1cpmsq4hutpci4fompceqje5tlu@4ax.com>...
Sorry, I don't understand what you're trying to do here. Can you elaborate?

Andrew.

On 4 Oct 2003 17:56:28 -0700, cadeguy@yahoo.com (Partha) wrote:

Hi,

Working on a skill code that should recognise the layers in a pcell
that is placed in the layout.

Would i be able to flatten the pcell in virtual memory to use in my
skill code?

Apologies if this was a no-brainer

Thankyou!
Partha
 

Welcome to EDABoard.com

Sponsor

Back
Top