Pcells: Stream Out

V

Vikram

Guest
Hi All,

I have successfully used the "pow()" function in the skill code for my
pcells. When I Stream Out the layout to GDSII format , I observed
that this function is not supported and the pcells which use this
function are not converted. There is an error message which says
"undefined function pow()"

I tried both ways i.e. keeping the "Keep Pcells" option on/off during
Stream Out.

Could anyone please clarify this matter.

Thank You,
Vikram
 
Vikram,
Since pcells must be able to evaluate in several different
environments (Assura, Pipo, icfb, etc...), It might error out when
using specific environments and not while compiling it. These issues
are usually resolved using backquote, comma, and macros (standard
powerful lisp features) for function calls or if you can try
flattening the function( remove the function call.
Also if this is not a user defined function but the cadence pow()
function(exponent) then this might be a case where only a small subset
of cadence's skill functions are allowed to be used inside
pcDefinePcell. check the Cadence's doc for more details

Partha




vamallela@ece.sunysb.edu (Vikram) wrote in message news:<63d29830.0311111531.791e01c2@posting.google.com>...
Hi All,

I have successfully used the "pow()" function in the skill code for my
pcells. When I Stream Out the layout to GDSII format , I observed
that this function is not supported and the pcells which use this
function are not converted. There is an error message which says
"undefined function pow()"

I tried both ways i.e. keeping the "Keep Pcells" option on/off during
Stream Out.

Could anyone please clarify this matter.

Thank You,
Vikram
 
Vikram,

The problem is caused by pow() not being a legal function for use in pcells.
The pcell documentation tells you that you're only allowed to use functions
which are core SKILL, db, dd, tech, cdf and a few selected pc functions - because
other functions may not be defined in all interfaces.

In this specific case, pow() is an Analog Design Environment calculator function
(you'll find it documented in the OCEAN reference manual), and hence is not allowed.

You can use expt() instead (pow also handles waveform objects, but you
don't need that in a pcell) - or use the operator form a**b.

Regards,

Andrew.

On 12 Nov 2003 13:31:32 -0800, cadeguy@yahoo.com (Partha) wrote:

Vikram,
Since pcells must be able to evaluate in several different
environments (Assura, Pipo, icfb, etc...), It might error out when
using specific environments and not while compiling it. These issues
are usually resolved using backquote, comma, and macros (standard
powerful lisp features) for function calls or if you can try
flattening the function( remove the function call.
Also if this is not a user defined function but the cadence pow()
function(exponent) then this might be a case where only a small subset
of cadence's skill functions are allowed to be used inside
pcDefinePcell. check the Cadence's doc for more details

Partha




vamallela@ece.sunysb.edu (Vikram) wrote in message news:<63d29830.0311111531.791e01c2@posting.google.com>...
Hi All,

I have successfully used the "pow()" function in the skill code for my
pcells. When I Stream Out the layout to GDSII format , I observed
that this function is not supported and the pcells which use this
function are not converted. There is an error message which says
"undefined function pow()"

I tried both ways i.e. keeping the "Keep Pcells" option on/off during
Stream Out.

Could anyone please clarify this matter.

Thank You,
Vikram
--
Andrew Beckett
Senior Technical Leader
Custom IC Solutions
Cadence Design Systems Ltd
 

Welcome to EDABoard.com

Sponsor

Back
Top