binary and unary operations in pcell

Guest
How to make pcell skill code for layer operations like leLayerAnd?

Command
leLayerAnd( cellViewId list("poly1" "drawing") list("pdiff" "drawing")
list("activegate" "drawing") )
don't work, because I cannot get cellViewId in pcell skill code.
 
glaz@mail.com wrote:
How to make pcell skill code for layer operations like leLayerAnd?

Command
leLayerAnd( cellViewId list("poly1" "drawing") list("pdiff" "drawing")
list("activegate" "drawing") )
don't work, because I cannot get cellViewId in pcell skill code.
pcCellView is a special variable name that we can use inside the pcell
code. This is dbId of the pcell cellview you are building.

But, Its not safe to use le* functions inside pcell. More info is at
"Virtuoso Parameterized Cell Reference -> Advanced Features" in Cadence
Documentation - cdsdoc .

-
Suresh
 
On Thu, 08 Mar 2007 16:16:06 +0530, Suresh Jeevanandam
<sureshj@DELETETHISti.com> wrote:

glaz@mail.com wrote:
How to make pcell skill code for layer operations like leLayerAnd?

Command
leLayerAnd( cellViewId list("poly1" "drawing") list("pdiff" "drawing")
list("activegate" "drawing") )
don't work, because I cannot get cellViewId in pcell skill code.


pcCellView is a special variable name that we can use inside the pcell
code. This is dbId of the pcell cellview you are building.

But, Its not safe to use le* functions inside pcell. More info is at
"Virtuoso Parameterized Cell Reference -> Advanced Features" in Cadence
Documentation - cdsdoc .

-
Suresh
You can use dbLayerAnd, dbLayerOr etc. These were added a little while back
specifically to provide a pcell-safe way of doing layer boolean operations.

Andrew.
--
Andrew Beckett
Principal European Technology Leader
Cadence Design Systems, UK.
 
Thanks.
But where I may get database IDs for l_dbIdList1 and 2 in
dbLayerAndNot ?
 
On 9 Mar 2007 04:23:21 -0800, glaz@mail.com wrote:

Thanks.
But where I may get database IDs for l_dbIdList1 and 2 in
dbLayerAndNot ?
Hmm, if you don't know things like that, you're going to struggle to write a
SKILL pcell, I'd have thought.

The lists need to be the list of shapes that you want to and not together.
With the leLayerAndNot function, it does everything on those layers,
rather than just a set of shapes. So if that's what you wanted,
you'd obtain the list of shapes by doing something like:

shapes=car(exists(lpp pcCellView~>lpps lpp~>layerName=="theLayerYouWant" &&
lpp~>purpose=="thePurposeYouWant"))~>shapes

Regards,

Andrew.
--
Andrew Beckett
Principal European Technology Leader
Cadence Design Systems, UK.
 

Welcome to EDABoard.com

Sponsor

Back
Top