nlGetModelName

S

Stefano Zanella

Guest
Hi All,

Long time no see. have spent a lot of time on the cadence
documentation with no luck. There is a missing link that I can not find.
I am trying to determine the model name of an instance that will be
netlisted. I am not writing a netlister, simply trying to determine the
model name that will be netlisted with a skill procedure. So, if there
is a completely different way that solves my problem I will be equally
happy. Here is what I am doing:


session = asiGetCurrentSession()
form=asiGetFormatter(session)
nl=nlGetNetlister(form)

So far so good. According to the documentation, the call is

nlGetModelName( o_instance )
=> t_modelName

unfortunately, I know of no functions that return o_instance. I can't
use the db functions because they return d_instance and nlGetModelName
complains about it. I am kinda stuck here. Any ideas?

Thanks in advance,
Stefano
 
Different approach , but how about that?

g_cdfId = cdfGetInstCDF( d_instId )
cdfFindParamByName( g_cdfId "model" )~>model


Bernd
 
Sorry should be 'value'!

g_cdfId = cdfGetInstCDF( d_instId )
cdfFindParamByName( g_cdfId "model" )~>value


Bernd
 
Hi Bernd,

Thanks a lot for your help. Unfortunately it will not work 100% of
the times. One can write CDFs that netlist with something that is not
the content of the model field, which is why I am trying to use the
netlister functions. Example: I could have a resistor R with "res" that
actually netlists with "abc" as model.

Take care,
Stefano


Bernd Fischer > wrote:
Different approach , but how about that?

g_cdfId = cdfGetInstCDF( d_instId )
cdfFindParamByName( g_cdfId "model" )~>model


Bernd
 
Stefano Zanella wrote:
Hi All,

Long time no see. have spent a lot of time on the cadence
documentation with no luck. There is a missing link that I can not find.
I am trying to determine the model name of an instance that will be
netlisted. I am not writing a netlister, simply trying to determine the
model name that will be netlisted with a skill procedure. So, if there
is a completely different way that solves my problem I will be equally
happy. Here is what I am doing:


session = asiGetCurrentSession()
form=asiGetFormatter(session)
nl=nlGetNetlister(form)

So far so good. According to the documentation, the call is

nlGetModelName( o_instance )
=> t_modelName
Stefano,
do you intend to use your procedure only from within analog artist and after
the formatter has been initialised ?
 
fogh wrote:

Stefano Zanella wrote:

Hi All,

Long time no see. have spent a lot of time on the cadence
documentation with no luck. There is a missing link that I can not
find. I am trying to determine the model name of an instance that will
be netlisted. I am not writing a netlister, simply trying to determine
the model name that will be netlisted with a skill procedure. So, if
there is a completely different way that solves my problem I will be
equally happy. Here is what I am doing:


session = asiGetCurrentSession()
form=asiGetFormatter(session)
nl=nlGetNetlister(form)

So far so good. According to the documentation, the call is

nlGetModelName( o_instance )
=> t_modelName


Stefano,
do you intend to use your procedure only from within analog artist and
after the formatter has been initialised ?
you could use nlGetCurrentInstance in an otherwise empty schematic, using a
scratch cellview. start ADE . run the netlister or otherwise initialise . but in
the end you will have a way of getting the netlisted name that is just as
expensive as grepping the actual netlist. And probably less reliable, as I am
quite sure there are many ways to deceive nlGetModelName()
 
Hi,

Yes I intend to use nlGetModelName only after netlisting (so all
structures are correctly initialized, etc.). I tried
nlGetCurrentInstance on my design and got nil as answer. Sourcelink
knows nothing about nlGetCurrentInstance...

Thanks,
Stefano

fogh wrote:
fogh wrote:

Stefano Zanella wrote:

Hi All,

Long time no see. have spent a lot of time on the cadence
documentation with no luck. There is a missing link that I can not
find. I am trying to determine the model name of an instance that
will be netlisted. I am not writing a netlister, simply trying to
determine the model name that will be netlisted with a skill
procedure. So, if there is a completely different way that solves my
problem I will be equally happy. Here is what I am doing:


session = asiGetCurrentSession()
form=asiGetFormatter(session)
nl=nlGetNetlister(form)

So far so good. According to the documentation, the call is

nlGetModelName( o_instance )
=> t_modelName


Stefano,
do you intend to use your procedure only from within analog artist
and after the formatter has been initialised ?

you could use nlGetCurrentInstance in an otherwise empty schematic,
using a scratch cellview. start ADE . run the netlister or otherwise
initialise . but in the end you will have a way of getting the netlisted
name that is just as expensive as grepping the actual netlist. And
probably less reliable, as I am quite sure there are many ways to
deceive nlGetModelName()
 
On Mon, 24 Apr 2006 22:49:24 -0700, Stefano Zanella
<stefanoDOTzanella@pdfDOTcom> wrote:

Hi All,

Long time no see. have spent a lot of time on the cadence
documentation with no luck. There is a missing link that I can not find.
I am trying to determine the model name of an instance that will be
netlisted. I am not writing a netlister, simply trying to determine the
model name that will be netlisted with a skill procedure. So, if there
is a completely different way that solves my problem I will be equally
happy. Here is what I am doing:


session = asiGetCurrentSession()
form=asiGetFormatter(session)
nl=nlGetNetlister(form)

So far so good. According to the documentation, the call is

nlGetModelName( o_instance )
=> t_modelName

unfortunately, I know of no functions that return o_instance. I can't
use the db functions because they return d_instance and nlGetModelName
complains about it. I am kinda stuck here. Any ideas?

Thanks in advance,
Stefano
Hi Stefano,

These functions can only be used within netlist procedures, called by the
netlister, so I think you're heading down the wrong road with the nl functions.

You might be able to use some of the "alm" functions to find this out - or
probably just look in the CDF...

(I'm off the network at the moment, and don't have time to look it up).

Regards,

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

Welcome to EDABoard.com

Sponsor

Back
Top