AMS Designer & nlAction

E

Erik Wanta

Guest
I am trying to get a component not to netlist in AMS Designer but
still netlist for assura. I added an nlAction ignore property to the
symbol and it doesn't netlist for AMSD but Assura doesn't netlist it.

I was able to get layoutXL to bring in the testpoints with
envSetVal("layoutXL" "ignoreNames" `string "vxlIgnore lvsIgnore
ignore"). That is I removed the nlAction from the ignore name list.
I can't find the equivalent for assura. I would think assura would
use lvsIgnore instead of nlAction anyway.

Does anyone know of a way to get Assura to not use the nlAction
property?
---
Erik
 
Hi Erik,

Actually the problem here is really AMS Designer. This is something that has been
resolved in the IC5033 release by support for AMS Netlist Procedures - I have
a solution somewhere which explains how to do this (it was suggested by R&D
when I reported a similar problem).

Normally for most netlisters you wouldn't put nlAction=ignore on the symbol
unless you wanted it ignored in all tools - you'd put the ignore on
the stopping view. The trouble is with AMS Designer is that the netlisting of
each cellView is done independently, and so the switch list type info is
not used until elaboration time.

So you end up having to write a netlisting procedure to explicitly support
a special property to prevent netlisting in AMS Designer - and netlisting
procedures for AMS are only supported from IC5033 onwards.

As I'm out of the office on vacation until next week, I can't easily look this up,
but I'm sure somebody in support could find the PCR which asks for an
ignore - just found a record in my notes that it was PCR 601739.

Andrew.


On 30 Oct 2003 08:08:25 -0800, erikwanta@starband.net (Erik Wanta) wrote:

I am trying to get a component not to netlist in AMS Designer but
still netlist for assura. I added an nlAction ignore property to the
symbol and it doesn't netlist for AMSD but Assura doesn't netlist it.

I was able to get layoutXL to bring in the testpoints with
envSetVal("layoutXL" "ignoreNames" `string "vxlIgnore lvsIgnore
ignore"). That is I removed the nlAction from the ignore name list.
I can't find the equivalent for assura. I would think assura would
use lvsIgnore instead of nlAction anyway.

Does anyone know of a way to get Assura to not use the nlAction
property?
---
Erik
--
Andrew Beckett
Senior Technical Leader
Custom IC Solutions
Cadence Design Systems Ltd
 
Andrew:
I got the following in response to PCR 601739. Am I supposed to use
amsDirect initFile in ams.env or am I supposed to specify Proc1 as an
ams netlist procedure. I don't see any documentation on ams netlist
procedures. spectre netlist procedures just take inst, correct? Any
ideas would be appreciated.

;; Get the netlister object
Netlister = amsGetNetlister()

;; Get the Verilog formatter object
Vlog = Netlister->vlog

;; This netlist procedure looks for a property "amsIgnore" on the
;; instance (of corrPoint) and if the value is ignore, does not
netlist
;; the instance.

(defun Proc1 (formatter cellview inst)
;; Make sure that the master is res
(if (equal inst->masterName "res")
;; Check for property amsIgnore on the instance, netlist only
;; if the value is not "ignore" ...
(unless (and inst->id->amsIgnore
(equal inst->id->amsIgnore "ignore")
)
;; Not to be ignored ...
(amsPrintInstance formatter cellview inst)
) ; unless
;; The else part: master is not corrPoint
(amsPrintInstance formatter cellview inst)
) ; if
) ; defun

Vlog->instanceProc = 'Proc1







Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<9hu2qv8ikfvd1qs7jcjgcnoke4jviq5mc9@4ax.com>...
Hi Erik,

Actually the problem here is really AMS Designer. This is something that has been
resolved in the IC5033 release by support for AMS Netlist Procedures - I have
a solution somewhere which explains how to do this (it was suggested by R&D
when I reported a similar problem).

Normally for most netlisters you wouldn't put nlAction=ignore on the symbol
unless you wanted it ignored in all tools - you'd put the ignore on
the stopping view. The trouble is with AMS Designer is that the netlisting of
each cellView is done independently, and so the switch list type info is
not used until elaboration time.

So you end up having to write a netlisting procedure to explicitly support
a special property to prevent netlisting in AMS Designer - and netlisting
procedures for AMS are only supported from IC5033 onwards.

As I'm out of the office on vacation until next week, I can't easily look this up,
but I'm sure somebody in support could find the PCR which asks for an
ignore - just found a record in my notes that it was PCR 601739.

Andrew.


On 30 Oct 2003 08:08:25 -0800, erikwanta@starband.net (Erik Wanta) wrote:

I am trying to get a component not to netlist in AMS Designer but
still netlist for assura. I added an nlAction ignore property to the
symbol and it doesn't netlist for AMSD but Assura doesn't netlist it.

I was able to get layoutXL to bring in the testpoints with
envSetVal("layoutXL" "ignoreNames" `string "vxlIgnore lvsIgnore
ignore"). That is I removed the nlAction from the ignore name list.
I can't find the equivalent for assura. I would think assura would
use lvsIgnore instead of nlAction anyway.

Does anyone know of a way to get Assura to not use the nlAction
property?
---
Erik
 
When I specify Proc1 as the netlist procedure in the ams simInfo I get
errors that Proc1 is not callable. It returns t for
isCallable('Proc1) however. Any ideas?
---
Erik


erikwanta@starband.net (Erik Wanta) wrote in message news:<84018314.0310311158.557b7cae@posting.google.com>...
Andrew:
I got the following in response to PCR 601739. Am I supposed to use
amsDirect initFile in ams.env or am I supposed to specify Proc1 as an
ams netlist procedure. I don't see any documentation on ams netlist
procedures. spectre netlist procedures just take inst, correct? Any
ideas would be appreciated.

;; Get the netlister object
Netlister = amsGetNetlister()

;; Get the Verilog formatter object
Vlog = Netlister->vlog

;; This netlist procedure looks for a property "amsIgnore" on the
;; instance (of corrPoint) and if the value is ignore, does not
netlist
;; the instance.

(defun Proc1 (formatter cellview inst)
;; Make sure that the master is res
(if (equal inst->masterName "res")
;; Check for property amsIgnore on the instance, netlist only
;; if the value is not "ignore" ...
(unless (and inst->id->amsIgnore
(equal inst->id->amsIgnore "ignore")
)
;; Not to be ignored ...
(amsPrintInstance formatter cellview inst)
) ; unless
;; The else part: master is not corrPoint
(amsPrintInstance formatter cellview inst)
) ; if
) ; defun

Vlog->instanceProc = 'Proc1







Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<9hu2qv8ikfvd1qs7jcjgcnoke4jviq5mc9@4ax.com>...
Hi Erik,

Actually the problem here is really AMS Designer. This is something that has been
resolved in the IC5033 release by support for AMS Netlist Procedures - I have
a solution somewhere which explains how to do this (it was suggested by R&D
when I reported a similar problem).

Normally for most netlisters you wouldn't put nlAction=ignore on the symbol
unless you wanted it ignored in all tools - you'd put the ignore on
the stopping view. The trouble is with AMS Designer is that the netlisting of
each cellView is done independently, and so the switch list type info is
not used until elaboration time.

So you end up having to write a netlisting procedure to explicitly support
a special property to prevent netlisting in AMS Designer - and netlisting
procedures for AMS are only supported from IC5033 onwards.

As I'm out of the office on vacation until next week, I can't easily look this up,
but I'm sure somebody in support could find the PCR which asks for an
ignore - just found a record in my notes that it was PCR 601739.

Andrew.


On 30 Oct 2003 08:08:25 -0800, erikwanta@starband.net (Erik Wanta) wrote:

I am trying to get a component not to netlist in AMS Designer but
still netlist for assura. I added an nlAction ignore property to the
symbol and it doesn't netlist for AMSD but Assura doesn't netlist it.

I was able to get layoutXL to bring in the testpoints with
envSetVal("layoutXL" "ignoreNames" `string "vxlIgnore lvsIgnore
ignore"). That is I removed the nlAction from the ignore name list.
I can't find the equivalent for assura. I would think assura would
use lvsIgnore instead of nlAction anyway.

Does anyone know of a way to get Assura to not use the nlAction
property?
---
Erik
 
I am able to get the netlist procedure to work in 50 33 when
netlisting with CIW->Tools->AMS->Netlist. I am UNable to get it to
work from HED->AMS->Design Prep as I don't think the netlist procedure
is not getting loaded. I am told that there used to be an option
called amsDirect initFile that could be placed in the ams.env to load
a file prior to netlisting but it doesn't seem to work. Any ideas on
how to load the netlist procedure so that it gets used by
HED->AMS->Design Prep?

(defun AMSNLPROCDoNotPrintInstance (formatterId cellViewId instanceId)

; do not print the instance, simply return

t

) ; defun

---
Erik




erikwanta@starband.net (Erik Wanta) wrote in message news:<84018314.0311010707.6a677bc7@posting.google.com>...
When I specify Proc1 as the netlist procedure in the ams simInfo I get
errors that Proc1 is not callable. It returns t for
isCallable('Proc1) however. Any ideas?
---
Erik


erikwanta@starband.net (Erik Wanta) wrote in message news:<84018314.0310311158.557b7cae@posting.google.com>...
Andrew:
I got the following in response to PCR 601739. Am I supposed to use
amsDirect initFile in ams.env or am I supposed to specify Proc1 as an
ams netlist procedure. I don't see any documentation on ams netlist
procedures. spectre netlist procedures just take inst, correct? Any
ideas would be appreciated.

;; Get the netlister object
Netlister = amsGetNetlister()

;; Get the Verilog formatter object
Vlog = Netlister->vlog

;; This netlist procedure looks for a property "amsIgnore" on the
;; instance (of corrPoint) and if the value is ignore, does not
netlist
;; the instance.

(defun Proc1 (formatter cellview inst)
;; Make sure that the master is res
(if (equal inst->masterName "res")
;; Check for property amsIgnore on the instance, netlist only
;; if the value is not "ignore" ...
(unless (and inst->id->amsIgnore
(equal inst->id->amsIgnore "ignore")
)
;; Not to be ignored ...
(amsPrintInstance formatter cellview inst)
) ; unless
;; The else part: master is not corrPoint
(amsPrintInstance formatter cellview inst)
) ; if
) ; defun

Vlog->instanceProc = 'Proc1







Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<9hu2qv8ikfvd1qs7jcjgcnoke4jviq5mc9@4ax.com>...
Hi Erik,

Actually the problem here is really AMS Designer. This is something that has been
resolved in the IC5033 release by support for AMS Netlist Procedures - I have
a solution somewhere which explains how to do this (it was suggested by R&D
when I reported a similar problem).

Normally for most netlisters you wouldn't put nlAction=ignore on the symbol
unless you wanted it ignored in all tools - you'd put the ignore on
the stopping view. The trouble is with AMS Designer is that the netlisting of
each cellView is done independently, and so the switch list type info is
not used until elaboration time.

So you end up having to write a netlisting procedure to explicitly support
a special property to prevent netlisting in AMS Designer - and netlisting
procedures for AMS are only supported from IC5033 onwards.

As I'm out of the office on vacation until next week, I can't easily look this up,
but I'm sure somebody in support could find the PCR which asks for an
ignore - just found a record in my notes that it was PCR 601739.

Andrew.


On 30 Oct 2003 08:08:25 -0800, erikwanta@starband.net (Erik Wanta) wrote:

I am trying to get a component not to netlist in AMS Designer but
still netlist for assura. I added an nlAction ignore property to the
symbol and it doesn't netlist for AMSD but Assura doesn't netlist it.

I was able to get layoutXL to bring in the testpoints with
envSetVal("layoutXL" "ignoreNames" `string "vxlIgnore lvsIgnore
ignore"). That is I removed the nlAction from the ignore name list.
I can't find the equivalent for assura. I would think assura would
use lvsIgnore instead of nlAction anyway.

Does anyone know of a way to get Assura to not use the nlAction
property?
---
Erik
 
Take this up with customer support. Realistically the only person watching this
news group who would be able to answer this is me, and you shouldn't rely on
me to reply in a short time frame (especially as I'm on vacation at the moment...)

Andrew.

On 1 Nov 2003 10:25:22 -0800, erikwanta@starband.net (Erik Wanta) wrote:

I am able to get the netlist procedure to work in 50 33 when
netlisting with CIW->Tools->AMS->Netlist. I am UNable to get it to
work from HED->AMS->Design Prep as I don't think the netlist procedure
is not getting loaded. I am told that there used to be an option
called amsDirect initFile that could be placed in the ams.env to load
a file prior to netlisting but it doesn't seem to work. Any ideas on
how to load the netlist procedure so that it gets used by
HED->AMS->Design Prep?

(defun AMSNLPROCDoNotPrintInstance (formatterId cellViewId instanceId)

; do not print the instance, simply return

t

) ; defun

---
Erik




erikwanta@starband.net (Erik Wanta) wrote in message news:<84018314.0311010707.6a677bc7@posting.google.com>...
When I specify Proc1 as the netlist procedure in the ams simInfo I get
errors that Proc1 is not callable. It returns t for
isCallable('Proc1) however. Any ideas?
---
Erik


erikwanta@starband.net (Erik Wanta) wrote in message news:<84018314.0310311158.557b7cae@posting.google.com>...
Andrew:
I got the following in response to PCR 601739. Am I supposed to use
amsDirect initFile in ams.env or am I supposed to specify Proc1 as an
ams netlist procedure. I don't see any documentation on ams netlist
procedures. spectre netlist procedures just take inst, correct? Any
ideas would be appreciated.

;; Get the netlister object
Netlister = amsGetNetlister()

;; Get the Verilog formatter object
Vlog = Netlister->vlog

;; This netlist procedure looks for a property "amsIgnore" on the
;; instance (of corrPoint) and if the value is ignore, does not
netlist
;; the instance.

(defun Proc1 (formatter cellview inst)
;; Make sure that the master is res
(if (equal inst->masterName "res")
;; Check for property amsIgnore on the instance, netlist only
;; if the value is not "ignore" ...
(unless (and inst->id->amsIgnore
(equal inst->id->amsIgnore "ignore")
)
;; Not to be ignored ...
(amsPrintInstance formatter cellview inst)
) ; unless
;; The else part: master is not corrPoint
(amsPrintInstance formatter cellview inst)
) ; if
) ; defun

Vlog->instanceProc = 'Proc1







Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<9hu2qv8ikfvd1qs7jcjgcnoke4jviq5mc9@4ax.com>...
Hi Erik,

Actually the problem here is really AMS Designer. This is something that has been
resolved in the IC5033 release by support for AMS Netlist Procedures - I have
a solution somewhere which explains how to do this (it was suggested by R&D
when I reported a similar problem).

Normally for most netlisters you wouldn't put nlAction=ignore on the symbol
unless you wanted it ignored in all tools - you'd put the ignore on
the stopping view. The trouble is with AMS Designer is that the netlisting of
each cellView is done independently, and so the switch list type info is
not used until elaboration time.

So you end up having to write a netlisting procedure to explicitly support
a special property to prevent netlisting in AMS Designer - and netlisting
procedures for AMS are only supported from IC5033 onwards.

As I'm out of the office on vacation until next week, I can't easily look this up,
but I'm sure somebody in support could find the PCR which asks for an
ignore - just found a record in my notes that it was PCR 601739.

Andrew.


On 30 Oct 2003 08:08:25 -0800, erikwanta@starband.net (Erik Wanta) wrote:

I am trying to get a component not to netlist in AMS Designer but
still netlist for assura. I added an nlAction ignore property to the
symbol and it doesn't netlist for AMSD but Assura doesn't netlist it.

I was able to get layoutXL to bring in the testpoints with
envSetVal("layoutXL" "ignoreNames" `string "vxlIgnore lvsIgnore
ignore"). That is I removed the nlAction from the ignore name list.
I can't find the equivalent for assura. I would think assura would
use lvsIgnore instead of nlAction anyway.

Does anyone know of a way to get Assura to not use the nlAction
property?
---
Erik
--
Andrew Beckett
Senior Technical Leader
Custom IC Solutions
Cadence Design Systems Ltd
 
Andrew:
I have taken this up with customer support and am told that you are
the initiator of PCR 601739. Support can't get this to work. They
are telling me that they are waiting to contact you. I figured I
would try to go right to the source and see if there is an easy
solution to this problem that you were aware of. I am not relying on
a response and don't mean to put pressure on you or bother you on
vacation. I just thought I would post in the hopes that maybe others
are having the same problem and might be interested in the problem and
have ideas for a possible solution. It seems like a common issue that
one would want to not netlist a component for simulation and still
netlist for LVS. I would have thought that nlAction ignore would have
worked. I am surprised that nlAction is used by assura instead of
lvsIgnore. Why does ams designer netlist only the symbol? Why
doesn't it use the spectre view? What if I have 2 models for the same
component and want to use the view name to specify which model to use
(in spectre I could use componentName)? Why does amsd dumpt the
verilog.vams netlists into the library instead of a netlist directory?
I load the netlist procedure to not netlist the instance for ams
designer since the nlAction approach won't work, but amsdirect doesn't
see this loaded function when I run HED->AMS->Design Prep. It is my
understanding that amsdirect doesn't use SKILL. How does it work from
CIW->Tools->AMS->Netlist? What is the mechanism to get amsdirect
aware of loaded SKILL?

Please don't feel a need to respond. I am just posting the above
questions so that I get them out in a public forum in the hopes that
others are tackling the same issues.
---
Erik

Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<e3e9qvsq8kpnm2eu7vpqrsujtthc14hgi7@4ax.com>...
Take this up with customer support. Realistically the only person watching this
news group who would be able to answer this is me, and you shouldn't rely on
me to reply in a short time frame (especially as I'm on vacation at the moment...)

Andrew.

On 1 Nov 2003 10:25:22 -0800, erikwanta@starband.net (Erik Wanta) wrote:

I am able to get the netlist procedure to work in 50 33 when
netlisting with CIW->Tools->AMS->Netlist. I am UNable to get it to
work from HED->AMS->Design Prep as I don't think the netlist procedure
is not getting loaded. I am told that there used to be an option
called amsDirect initFile that could be placed in the ams.env to load
a file prior to netlisting but it doesn't seem to work. Any ideas on
how to load the netlist procedure so that it gets used by
HED->AMS->Design Prep?

(defun AMSNLPROCDoNotPrintInstance (formatterId cellViewId instanceId)

; do not print the instance, simply return

t

) ; defun

---
Erik




erikwanta@starband.net (Erik Wanta) wrote in message news:<84018314.0311010707.6a677bc7@posting.google.com>...
When I specify Proc1 as the netlist procedure in the ams simInfo I get
errors that Proc1 is not callable. It returns t for
isCallable('Proc1) however. Any ideas?
---
Erik


erikwanta@starband.net (Erik Wanta) wrote in message news:<84018314.0310311158.557b7cae@posting.google.com>...
Andrew:
I got the following in response to PCR 601739. Am I supposed to use
amsDirect initFile in ams.env or am I supposed to specify Proc1 as an
ams netlist procedure. I don't see any documentation on ams netlist
procedures. spectre netlist procedures just take inst, correct? Any
ideas would be appreciated.

;; Get the netlister object
Netlister = amsGetNetlister()

;; Get the Verilog formatter object
Vlog = Netlister->vlog

;; This netlist procedure looks for a property "amsIgnore" on the
;; instance (of corrPoint) and if the value is ignore, does not
netlist
;; the instance.

(defun Proc1 (formatter cellview inst)
;; Make sure that the master is res
(if (equal inst->masterName "res")
;; Check for property amsIgnore on the instance, netlist only
;; if the value is not "ignore" ...
(unless (and inst->id->amsIgnore
(equal inst->id->amsIgnore "ignore")
)
;; Not to be ignored ...
(amsPrintInstance formatter cellview inst)
) ; unless
;; The else part: master is not corrPoint
(amsPrintInstance formatter cellview inst)
) ; if
) ; defun

Vlog->instanceProc = 'Proc1







Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<9hu2qv8ikfvd1qs7jcjgcnoke4jviq5mc9@4ax.com>...
Hi Erik,

Actually the problem here is really AMS Designer. This is something that has been
resolved in the IC5033 release by support for AMS Netlist Procedures - I have
a solution somewhere which explains how to do this (it was suggested by R&D
when I reported a similar problem).

Normally for most netlisters you wouldn't put nlAction=ignore on the symbol
unless you wanted it ignored in all tools - you'd put the ignore on
the stopping view. The trouble is with AMS Designer is that the netlisting of
each cellView is done independently, and so the switch list type info is
not used until elaboration time.

So you end up having to write a netlisting procedure to explicitly support
a special property to prevent netlisting in AMS Designer - and netlisting
procedures for AMS are only supported from IC5033 onwards.

As I'm out of the office on vacation until next week, I can't easily look this up,
but I'm sure somebody in support could find the PCR which asks for an
ignore - just found a record in my notes that it was PCR 601739.

Andrew.


On 30 Oct 2003 08:08:25 -0800, erikwanta@starband.net (Erik Wanta) wrote:

I am trying to get a component not to netlist in AMS Designer but
still netlist for assura. I added an nlAction ignore property to the
symbol and it doesn't netlist for AMSD but Assura doesn't netlist it.

I was able to get layoutXL to bring in the testpoints with
envSetVal("layoutXL" "ignoreNames" `string "vxlIgnore lvsIgnore
ignore"). That is I removed the nlAction from the ignore name list.
I can't find the equivalent for assura. I would think assura would
use lvsIgnore instead of nlAction anyway.

Does anyone know of a way to get Assura to not use the nlAction
property?
---
Erik
 
Erik,

OK, I'll look at this when I get back into the office tomorrow. I think another
customer has hit the same problem in my absence and one of my colleagues is
dealing with it.

Anyway, I'll answer some of the questions below:

On 2 Nov 2003 07:10:20 -0800, erikwanta@starband.net (Erik Wanta) wrote:

Andrew:
I have taken this up with customer support and am told that you are
the initiator of PCR 601739. Support can't get this to work. They
are telling me that they are waiting to contact you. I figured I
would try to go right to the source and see if there is an easy
solution to this problem that you were aware of.
I'll have to dig out my notes - I can't remember if I actually tried the solution,
since the software wasn't available when R&D proposed the solution.

I am not relying on
a response and don't mean to put pressure on you or bother you on
vacation. I just thought I would post in the hopes that maybe others
are having the same problem and might be interested in the problem and
have ideas for a possible solution. It seems like a common issue that
one would want to not netlist a component for simulation and still
netlist for LVS.
I agree - however, AMS Designer netlisting is rather different from
other netlisters (see below):

I would have thought that nlAction ignore would have
worked. I am surprised that nlAction is used by assura instead of
lvsIgnore.
All netlisters honour nlAction - it's a fundamental OSS capability, so
each netlister doesn't have to do anything special to support it.

Why does ams designer netlist only the symbol? Why
doesn't it use the spectre view? What if I have 2 models for the same
component and want to use the view name to specify which model to use
(in spectre I could use componentName)?
The idea with AMS Designer is that each cellView creates its netlist
independently - this is to avoid extensive netlisting time when you want
to run a simulation. Each cellView can be netlisted, and even compiled,
at check-and-save time, and so when any user wants to simulate, all
that needs to be done is elaboration (if not up to date), and running the
simulation. No netlisting at all! Even if you change the view switching in
the config, all you need to do is re-elaborate and run. None of that
lengthy partitioning and re-netlisting that needed to be done with
spectreVerilog.

The consequence of this is that view switching makes no difference at
netlisting time. Normally you'd put nlAction=ignore on the stopping view - but
since stopping views are not used for AMS netlisting - they only get used
to guide the elaboration - it can't have an impact on netlisting.

This is why it needs to be done with a netlisting procedure - either
a specific netlisting procedure for that component, or by overloading the
standard one so that it supports a property to control ignoring of the component.

Why does amsd dumpt the
verilog.vams netlists into the library instead of a netlist directory?
For the reasons I said above - the netlist is just another representation of the
cellView - and so it makes sense that this derived bit of data goes along
with the cellView. If done at check-and-save time, it can be used by
any user of the cellView, rather than each user having to netlist their own copy.

I load the netlist procedure to not netlist the instance for ams
designer since the nlAction approach won't work, but amsdirect doesn't
see this loaded function when I run HED->AMS->Design Prep. It is my
understanding that amsdirect doesn't use SKILL. How does it work from
CIW->Tools->AMS->Netlist? What is the mechanism to get amsdirect
aware of loaded SKILL?
That I don't know, and will have to research. I've not seen any emails asking
me yet, but perhaps they're waiting becausing they know I'm on vacation...
Please don't feel a need to respond. I am just posting the above
questions so that I get them out in a public forum in the hopes that
others are tackling the same issues.
OK.

Andrew.

---
Erik

Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<e3e9qvsq8kpnm2eu7vpqrsujtthc14hgi7@4ax.com>...
Take this up with customer support. Realistically the only person watching this
news group who would be able to answer this is me, and you shouldn't rely on
me to reply in a short time frame (especially as I'm on vacation at the moment...)

Andrew.

On 1 Nov 2003 10:25:22 -0800, erikwanta@starband.net (Erik Wanta) wrote:

I am able to get the netlist procedure to work in 50 33 when
netlisting with CIW->Tools->AMS->Netlist. I am UNable to get it to
work from HED->AMS->Design Prep as I don't think the netlist procedure
is not getting loaded. I am told that there used to be an option
called amsDirect initFile that could be placed in the ams.env to load
a file prior to netlisting but it doesn't seem to work. Any ideas on
how to load the netlist procedure so that it gets used by
HED->AMS->Design Prep?

(defun AMSNLPROCDoNotPrintInstance (formatterId cellViewId instanceId)

; do not print the instance, simply return

t

) ; defun

---
Erik




erikwanta@starband.net (Erik Wanta) wrote in message news:<84018314.0311010707.6a677bc7@posting.google.com>...
When I specify Proc1 as the netlist procedure in the ams simInfo I get
errors that Proc1 is not callable. It returns t for
isCallable('Proc1) however. Any ideas?
---
Erik


erikwanta@starband.net (Erik Wanta) wrote in message news:<84018314.0310311158.557b7cae@posting.google.com>...
Andrew:
I got the following in response to PCR 601739. Am I supposed to use
amsDirect initFile in ams.env or am I supposed to specify Proc1 as an
ams netlist procedure. I don't see any documentation on ams netlist
procedures. spectre netlist procedures just take inst, correct? Any
ideas would be appreciated.

;; Get the netlister object
Netlister = amsGetNetlister()

;; Get the Verilog formatter object
Vlog = Netlister->vlog

;; This netlist procedure looks for a property "amsIgnore" on the
;; instance (of corrPoint) and if the value is ignore, does not
netlist
;; the instance.

(defun Proc1 (formatter cellview inst)
;; Make sure that the master is res
(if (equal inst->masterName "res")
;; Check for property amsIgnore on the instance, netlist only
;; if the value is not "ignore" ...
(unless (and inst->id->amsIgnore
(equal inst->id->amsIgnore "ignore")
)
;; Not to be ignored ...
(amsPrintInstance formatter cellview inst)
) ; unless
;; The else part: master is not corrPoint
(amsPrintInstance formatter cellview inst)
) ; if
) ; defun

Vlog->instanceProc = 'Proc1







Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<9hu2qv8ikfvd1qs7jcjgcnoke4jviq5mc9@4ax.com>...
Hi Erik,

Actually the problem here is really AMS Designer. This is something that has been
resolved in the IC5033 release by support for AMS Netlist Procedures - I have
a solution somewhere which explains how to do this (it was suggested by R&D
when I reported a similar problem).

Normally for most netlisters you wouldn't put nlAction=ignore on the symbol
unless you wanted it ignored in all tools - you'd put the ignore on
the stopping view. The trouble is with AMS Designer is that the netlisting of
each cellView is done independently, and so the switch list type info is
not used until elaboration time.

So you end up having to write a netlisting procedure to explicitly support
a special property to prevent netlisting in AMS Designer - and netlisting
procedures for AMS are only supported from IC5033 onwards.

As I'm out of the office on vacation until next week, I can't easily look this up,
but I'm sure somebody in support could find the PCR which asks for an
ignore - just found a record in my notes that it was PCR 601739.

Andrew.


On 30 Oct 2003 08:08:25 -0800, erikwanta@starband.net (Erik Wanta) wrote:

I am trying to get a component not to netlist in AMS Designer but
still netlist for assura. I added an nlAction ignore property to the
symbol and it doesn't netlist for AMSD but Assura doesn't netlist it.

I was able to get layoutXL to bring in the testpoints with
envSetVal("layoutXL" "ignoreNames" `string "vxlIgnore lvsIgnore
ignore"). That is I removed the nlAction from the ignore name list.
I can't find the equivalent for assura. I would think assura would
use lvsIgnore instead of nlAction anyway.

Does anyone know of a way to get Assura to not use the nlAction
property?
---
Erik
--
Andrew Beckett
Senior Technical Leader
Custom IC Solutions
Cadence Design Systems Ltd
 
Andrew:
I got this to work by adding the following to my ams.env:
amsDirect initFile string "/path/mynetlistprocedure.il"

Note I don't see amsDirect initFile documented on sourcelink anywhere.

So, one can add netlist procedures to 50 33 for amsd. It is too bad
that assura crashes with 50 33 so we can't move to it. Any ideas on
how to get the netlist procedure working with 50 32?
---
Erik


Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<p6laqv8nebm56qg7feropf1igao16eu2on@4ax.com>...
Erik,

OK, I'll look at this when I get back into the office tomorrow. I think another
customer has hit the same problem in my absence and one of my colleagues is
dealing with it.

Anyway, I'll answer some of the questions below:

On 2 Nov 2003 07:10:20 -0800, erikwanta@starband.net (Erik Wanta) wrote:

Andrew:
I have taken this up with customer support and am told that you are
the initiator of PCR 601739. Support can't get this to work. They
are telling me that they are waiting to contact you. I figured I
would try to go right to the source and see if there is an easy
solution to this problem that you were aware of.

I'll have to dig out my notes - I can't remember if I actually tried the solution,
since the software wasn't available when R&D proposed the solution.

I am not relying on
a response and don't mean to put pressure on you or bother you on
vacation. I just thought I would post in the hopes that maybe others
are having the same problem and might be interested in the problem and
have ideas for a possible solution. It seems like a common issue that
one would want to not netlist a component for simulation and still
netlist for LVS.

I agree - however, AMS Designer netlisting is rather different from
other netlisters (see below):

I would have thought that nlAction ignore would have
worked. I am surprised that nlAction is used by assura instead of
lvsIgnore.

All netlisters honour nlAction - it's a fundamental OSS capability, so
each netlister doesn't have to do anything special to support it.

Why does ams designer netlist only the symbol? Why
doesn't it use the spectre view? What if I have 2 models for the same
component and want to use the view name to specify which model to use
(in spectre I could use componentName)?

The idea with AMS Designer is that each cellView creates its netlist
independently - this is to avoid extensive netlisting time when you want
to run a simulation. Each cellView can be netlisted, and even compiled,
at check-and-save time, and so when any user wants to simulate, all
that needs to be done is elaboration (if not up to date), and running the
simulation. No netlisting at all! Even if you change the view switching in
the config, all you need to do is re-elaborate and run. None of that
lengthy partitioning and re-netlisting that needed to be done with
spectreVerilog.

The consequence of this is that view switching makes no difference at
netlisting time. Normally you'd put nlAction=ignore on the stopping view - but
since stopping views are not used for AMS netlisting - they only get used
to guide the elaboration - it can't have an impact on netlisting.

This is why it needs to be done with a netlisting procedure - either
a specific netlisting procedure for that component, or by overloading the
standard one so that it supports a property to control ignoring of the component.

Why does amsd dumpt the
verilog.vams netlists into the library instead of a netlist directory?

For the reasons I said above - the netlist is just another representation of the
cellView - and so it makes sense that this derived bit of data goes along
with the cellView. If done at check-and-save time, it can be used by
any user of the cellView, rather than each user having to netlist their own copy.

I load the netlist procedure to not netlist the instance for ams
designer since the nlAction approach won't work, but amsdirect doesn't
see this loaded function when I run HED->AMS->Design Prep. It is my
understanding that amsdirect doesn't use SKILL. How does it work from
CIW->Tools->AMS->Netlist? What is the mechanism to get amsdirect
aware of loaded SKILL?

That I don't know, and will have to research. I've not seen any emails asking
me yet, but perhaps they're waiting becausing they know I'm on vacation...

Please don't feel a need to respond. I am just posting the above
questions so that I get them out in a public forum in the hopes that
others are tackling the same issues.

OK.

Andrew.

---
Erik

Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<e3e9qvsq8kpnm2eu7vpqrsujtthc14hgi7@4ax.com>...
Take this up with customer support. Realistically the only person watching this
news group who would be able to answer this is me, and you shouldn't rely on
me to reply in a short time frame (especially as I'm on vacation at the moment...)

Andrew.

On 1 Nov 2003 10:25:22 -0800, erikwanta@starband.net (Erik Wanta) wrote:

I am able to get the netlist procedure to work in 50 33 when
netlisting with CIW->Tools->AMS->Netlist. I am UNable to get it to
work from HED->AMS->Design Prep as I don't think the netlist procedure
is not getting loaded. I am told that there used to be an option
called amsDirect initFile that could be placed in the ams.env to load
a file prior to netlisting but it doesn't seem to work. Any ideas on
how to load the netlist procedure so that it gets used by
HED->AMS->Design Prep?

(defun AMSNLPROCDoNotPrintInstance (formatterId cellViewId instanceId)

; do not print the instance, simply return

t

) ; defun

---
Erik




erikwanta@starband.net (Erik Wanta) wrote in message news:<84018314.0311010707.6a677bc7@posting.google.com>...
When I specify Proc1 as the netlist procedure in the ams simInfo I get
errors that Proc1 is not callable. It returns t for
isCallable('Proc1) however. Any ideas?
---
Erik


erikwanta@starband.net (Erik Wanta) wrote in message news:<84018314.0310311158.557b7cae@posting.google.com>...
Andrew:
I got the following in response to PCR 601739. Am I supposed to use
amsDirect initFile in ams.env or am I supposed to specify Proc1 as an
ams netlist procedure. I don't see any documentation on ams netlist
procedures. spectre netlist procedures just take inst, correct? Any
ideas would be appreciated.

;; Get the netlister object
Netlister = amsGetNetlister()

;; Get the Verilog formatter object
Vlog = Netlister->vlog

;; This netlist procedure looks for a property "amsIgnore" on the
;; instance (of corrPoint) and if the value is ignore, does not
netlist
;; the instance.

(defun Proc1 (formatter cellview inst)
;; Make sure that the master is res
(if (equal inst->masterName "res")
;; Check for property amsIgnore on the instance, netlist only
;; if the value is not "ignore" ...
(unless (and inst->id->amsIgnore
(equal inst->id->amsIgnore "ignore")
)
;; Not to be ignored ...
(amsPrintInstance formatter cellview inst)
) ; unless
;; The else part: master is not corrPoint
(amsPrintInstance formatter cellview inst)
) ; if
) ; defun

Vlog->instanceProc = 'Proc1







Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<9hu2qv8ikfvd1qs7jcjgcnoke4jviq5mc9@4ax.com>...
Hi Erik,

Actually the problem here is really AMS Designer. This is something that has been
resolved in the IC5033 release by support for AMS Netlist Procedures - I have
a solution somewhere which explains how to do this (it was suggested by R&D
when I reported a similar problem).

Normally for most netlisters you wouldn't put nlAction=ignore on the symbol
unless you wanted it ignored in all tools - you'd put the ignore on
the stopping view. The trouble is with AMS Designer is that the netlisting of
each cellView is done independently, and so the switch list type info is
not used until elaboration time.

So you end up having to write a netlisting procedure to explicitly support
a special property to prevent netlisting in AMS Designer - and netlisting
procedures for AMS are only supported from IC5033 onwards.

As I'm out of the office on vacation until next week, I can't easily look this up,
but I'm sure somebody in support could find the PCR which asks for an
ignore - just found a record in my notes that it was PCR 601739.

Andrew.


On 30 Oct 2003 08:08:25 -0800, erikwanta@starband.net (Erik Wanta) wrote:

I am trying to get a component not to netlist in AMS Designer but
still netlist for assura. I added an nlAction ignore property to the
symbol and it doesn't netlist for AMSD but Assura doesn't netlist it.

I was able to get layoutXL to bring in the testpoints with
envSetVal("layoutXL" "ignoreNames" `string "vxlIgnore lvsIgnore
ignore"). That is I removed the nlAction from the ignore name list.
I can't find the equivalent for assura. I would think assura would
use lvsIgnore instead of nlAction anyway.

Does anyone know of a way to get Assura to not use the nlAction
property?
---
Erik
 
Didn't get to this today, sorry.

But that looks like what I'd have expected to work.

netlisting procedure support for AMS Designer was only added for IC5033 (it was quite
a big change, so wasn't added in an IC5032 ISR). So you can't do it in IC5032, sorry.

Andrew.

On 3 Nov 2003 02:13:35 -0800, erikwanta@starband.net (Erik Wanta) wrote:

Andrew:
I got this to work by adding the following to my ams.env:
amsDirect initFile string "/path/mynetlistprocedure.il"

Note I don't see amsDirect initFile documented on sourcelink anywhere.

So, one can add netlist procedures to 50 33 for amsd. It is too bad
that assura crashes with 50 33 so we can't move to it. Any ideas on
how to get the netlist procedure working with 50 32?
---
Erik


Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<p6laqv8nebm56qg7feropf1igao16eu2on@4ax.com>...
Erik,

OK, I'll look at this when I get back into the office tomorrow. I think another
customer has hit the same problem in my absence and one of my colleagues is
dealing with it.

Anyway, I'll answer some of the questions below:

On 2 Nov 2003 07:10:20 -0800, erikwanta@starband.net (Erik Wanta) wrote:

Andrew:
I have taken this up with customer support and am told that you are
the initiator of PCR 601739. Support can't get this to work. They
are telling me that they are waiting to contact you. I figured I
would try to go right to the source and see if there is an easy
solution to this problem that you were aware of.

I'll have to dig out my notes - I can't remember if I actually tried the solution,
since the software wasn't available when R&D proposed the solution.

I am not relying on
a response and don't mean to put pressure on you or bother you on
vacation. I just thought I would post in the hopes that maybe others
are having the same problem and might be interested in the problem and
have ideas for a possible solution. It seems like a common issue that
one would want to not netlist a component for simulation and still
netlist for LVS.

I agree - however, AMS Designer netlisting is rather different from
other netlisters (see below):

I would have thought that nlAction ignore would have
worked. I am surprised that nlAction is used by assura instead of
lvsIgnore.

All netlisters honour nlAction - it's a fundamental OSS capability, so
each netlister doesn't have to do anything special to support it.

Why does ams designer netlist only the symbol? Why
doesn't it use the spectre view? What if I have 2 models for the same
component and want to use the view name to specify which model to use
(in spectre I could use componentName)?

The idea with AMS Designer is that each cellView creates its netlist
independently - this is to avoid extensive netlisting time when you want
to run a simulation. Each cellView can be netlisted, and even compiled,
at check-and-save time, and so when any user wants to simulate, all
that needs to be done is elaboration (if not up to date), and running the
simulation. No netlisting at all! Even if you change the view switching in
the config, all you need to do is re-elaborate and run. None of that
lengthy partitioning and re-netlisting that needed to be done with
spectreVerilog.

The consequence of this is that view switching makes no difference at
netlisting time. Normally you'd put nlAction=ignore on the stopping view - but
since stopping views are not used for AMS netlisting - they only get used
to guide the elaboration - it can't have an impact on netlisting.

This is why it needs to be done with a netlisting procedure - either
a specific netlisting procedure for that component, or by overloading the
standard one so that it supports a property to control ignoring of the component.

Why does amsd dumpt the
verilog.vams netlists into the library instead of a netlist directory?

For the reasons I said above - the netlist is just another representation of the
cellView - and so it makes sense that this derived bit of data goes along
with the cellView. If done at check-and-save time, it can be used by
any user of the cellView, rather than each user having to netlist their own copy.

I load the netlist procedure to not netlist the instance for ams
designer since the nlAction approach won't work, but amsdirect doesn't
see this loaded function when I run HED->AMS->Design Prep. It is my
understanding that amsdirect doesn't use SKILL. How does it work from
CIW->Tools->AMS->Netlist? What is the mechanism to get amsdirect
aware of loaded SKILL?

That I don't know, and will have to research. I've not seen any emails asking
me yet, but perhaps they're waiting becausing they know I'm on vacation...

Please don't feel a need to respond. I am just posting the above
questions so that I get them out in a public forum in the hopes that
others are tackling the same issues.

OK.

Andrew.

---
Erik

Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<e3e9qvsq8kpnm2eu7vpqrsujtthc14hgi7@4ax.com>...
Take this up with customer support. Realistically the only person watching this
news group who would be able to answer this is me, and you shouldn't rely on
me to reply in a short time frame (especially as I'm on vacation at the moment...)

Andrew.

On 1 Nov 2003 10:25:22 -0800, erikwanta@starband.net (Erik Wanta) wrote:

I am able to get the netlist procedure to work in 50 33 when
netlisting with CIW->Tools->AMS->Netlist. I am UNable to get it to
work from HED->AMS->Design Prep as I don't think the netlist procedure
is not getting loaded. I am told that there used to be an option
called amsDirect initFile that could be placed in the ams.env to load
a file prior to netlisting but it doesn't seem to work. Any ideas on
how to load the netlist procedure so that it gets used by
HED->AMS->Design Prep?

(defun AMSNLPROCDoNotPrintInstance (formatterId cellViewId instanceId)

; do not print the instance, simply return

t

) ; defun

---
Erik




erikwanta@starband.net (Erik Wanta) wrote in message news:<84018314.0311010707.6a677bc7@posting.google.com>...
When I specify Proc1 as the netlist procedure in the ams simInfo I get
errors that Proc1 is not callable. It returns t for
isCallable('Proc1) however. Any ideas?
---
Erik


erikwanta@starband.net (Erik Wanta) wrote in message news:<84018314.0310311158.557b7cae@posting.google.com>...
Andrew:
I got the following in response to PCR 601739. Am I supposed to use
amsDirect initFile in ams.env or am I supposed to specify Proc1 as an
ams netlist procedure. I don't see any documentation on ams netlist
procedures. spectre netlist procedures just take inst, correct? Any
ideas would be appreciated.

;; Get the netlister object
Netlister = amsGetNetlister()

;; Get the Verilog formatter object
Vlog = Netlister->vlog

;; This netlist procedure looks for a property "amsIgnore" on the
;; instance (of corrPoint) and if the value is ignore, does not
netlist
;; the instance.

(defun Proc1 (formatter cellview inst)
;; Make sure that the master is res
(if (equal inst->masterName "res")
;; Check for property amsIgnore on the instance, netlist only
;; if the value is not "ignore" ...
(unless (and inst->id->amsIgnore
(equal inst->id->amsIgnore "ignore")
)
;; Not to be ignored ...
(amsPrintInstance formatter cellview inst)
) ; unless
;; The else part: master is not corrPoint
(amsPrintInstance formatter cellview inst)
) ; if
) ; defun

Vlog->instanceProc = 'Proc1







Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<9hu2qv8ikfvd1qs7jcjgcnoke4jviq5mc9@4ax.com>...
Hi Erik,

Actually the problem here is really AMS Designer. This is something that has been
resolved in the IC5033 release by support for AMS Netlist Procedures - I have
a solution somewhere which explains how to do this (it was suggested by R&D
when I reported a similar problem).

Normally for most netlisters you wouldn't put nlAction=ignore on the symbol
unless you wanted it ignored in all tools - you'd put the ignore on
the stopping view. The trouble is with AMS Designer is that the netlisting of
each cellView is done independently, and so the switch list type info is
not used until elaboration time.

So you end up having to write a netlisting procedure to explicitly support
a special property to prevent netlisting in AMS Designer - and netlisting
procedures for AMS are only supported from IC5033 onwards.

As I'm out of the office on vacation until next week, I can't easily look this up,
but I'm sure somebody in support could find the PCR which asks for an
ignore - just found a record in my notes that it was PCR 601739.

Andrew.


On 30 Oct 2003 08:08:25 -0800, erikwanta@starband.net (Erik Wanta) wrote:

I am trying to get a component not to netlist in AMS Designer but
still netlist for assura. I added an nlAction ignore property to the
symbol and it doesn't netlist for AMSD but Assura doesn't netlist it.

I was able to get layoutXL to bring in the testpoints with
envSetVal("layoutXL" "ignoreNames" `string "vxlIgnore lvsIgnore
ignore"). That is I removed the nlAction from the ignore name list.
I can't find the equivalent for assura. I would think assura would
use lvsIgnore instead of nlAction anyway.

Does anyone know of a way to get Assura to not use the nlAction
property?
---
Erik
--
Andrew Beckett
Senior Technical Leader
Custom IC Solutions
Cadence Design Systems Ltd
 
Erik,

I've been testing this, and it all works fine, as you've seen.

It's documented (Chapter 13 of AMS Environment User Guide in IC5033).
It wasn't on sourcelink a few days ago, but is now.

I've also just written up a solution for sourcelink which should (hopefully) get
published on sourcelink after review.

Andrew.

On Mon, 03 Nov 2003 18:48:10 +0000, Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote:

Didn't get to this today, sorry.

But that looks like what I'd have expected to work.

netlisting procedure support for AMS Designer was only added for IC5033 (it was quite
a big change, so wasn't added in an IC5032 ISR). So you can't do it in IC5032, sorry.

Andrew.

On 3 Nov 2003 02:13:35 -0800, erikwanta@starband.net (Erik Wanta) wrote:

Andrew:
I got this to work by adding the following to my ams.env:
amsDirect initFile string "/path/mynetlistprocedure.il"

Note I don't see amsDirect initFile documented on sourcelink anywhere.

So, one can add netlist procedures to 50 33 for amsd. It is too bad
that assura crashes with 50 33 so we can't move to it. Any ideas on
how to get the netlist procedure working with 50 32?
---
Erik


Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<p6laqv8nebm56qg7feropf1igao16eu2on@4ax.com>...
Erik,

OK, I'll look at this when I get back into the office tomorrow. I think another
customer has hit the same problem in my absence and one of my colleagues is
dealing with it.

Anyway, I'll answer some of the questions below:

On 2 Nov 2003 07:10:20 -0800, erikwanta@starband.net (Erik Wanta) wrote:

Andrew:
I have taken this up with customer support and am told that you are
the initiator of PCR 601739. Support can't get this to work. They
are telling me that they are waiting to contact you. I figured I
would try to go right to the source and see if there is an easy
solution to this problem that you were aware of.

I'll have to dig out my notes - I can't remember if I actually tried the solution,
since the software wasn't available when R&D proposed the solution.

I am not relying on
a response and don't mean to put pressure on you or bother you on
vacation. I just thought I would post in the hopes that maybe others
are having the same problem and might be interested in the problem and
have ideas for a possible solution. It seems like a common issue that
one would want to not netlist a component for simulation and still
netlist for LVS.

I agree - however, AMS Designer netlisting is rather different from
other netlisters (see below):

I would have thought that nlAction ignore would have
worked. I am surprised that nlAction is used by assura instead of
lvsIgnore.

All netlisters honour nlAction - it's a fundamental OSS capability, so
each netlister doesn't have to do anything special to support it.

Why does ams designer netlist only the symbol? Why
doesn't it use the spectre view? What if I have 2 models for the same
component and want to use the view name to specify which model to use
(in spectre I could use componentName)?

The idea with AMS Designer is that each cellView creates its netlist
independently - this is to avoid extensive netlisting time when you want
to run a simulation. Each cellView can be netlisted, and even compiled,
at check-and-save time, and so when any user wants to simulate, all
that needs to be done is elaboration (if not up to date), and running the
simulation. No netlisting at all! Even if you change the view switching in
the config, all you need to do is re-elaborate and run. None of that
lengthy partitioning and re-netlisting that needed to be done with
spectreVerilog.

The consequence of this is that view switching makes no difference at
netlisting time. Normally you'd put nlAction=ignore on the stopping view - but
since stopping views are not used for AMS netlisting - they only get used
to guide the elaboration - it can't have an impact on netlisting.

This is why it needs to be done with a netlisting procedure - either
a specific netlisting procedure for that component, or by overloading the
standard one so that it supports a property to control ignoring of the component.

Why does amsd dumpt the
verilog.vams netlists into the library instead of a netlist directory?

For the reasons I said above - the netlist is just another representation of the
cellView - and so it makes sense that this derived bit of data goes along
with the cellView. If done at check-and-save time, it can be used by
any user of the cellView, rather than each user having to netlist their own copy.

I load the netlist procedure to not netlist the instance for ams
designer since the nlAction approach won't work, but amsdirect doesn't
see this loaded function when I run HED->AMS->Design Prep. It is my
understanding that amsdirect doesn't use SKILL. How does it work from
CIW->Tools->AMS->Netlist? What is the mechanism to get amsdirect
aware of loaded SKILL?

That I don't know, and will have to research. I've not seen any emails asking
me yet, but perhaps they're waiting becausing they know I'm on vacation...

Please don't feel a need to respond. I am just posting the above
questions so that I get them out in a public forum in the hopes that
others are tackling the same issues.

OK.

Andrew.

---
Erik

Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<e3e9qvsq8kpnm2eu7vpqrsujtthc14hgi7@4ax.com>...
Take this up with customer support. Realistically the only person watching this
news group who would be able to answer this is me, and you shouldn't rely on
me to reply in a short time frame (especially as I'm on vacation at the moment...)

Andrew.

On 1 Nov 2003 10:25:22 -0800, erikwanta@starband.net (Erik Wanta) wrote:

I am able to get the netlist procedure to work in 50 33 when
netlisting with CIW->Tools->AMS->Netlist. I am UNable to get it to
work from HED->AMS->Design Prep as I don't think the netlist procedure
is not getting loaded. I am told that there used to be an option
called amsDirect initFile that could be placed in the ams.env to load
a file prior to netlisting but it doesn't seem to work. Any ideas on
how to load the netlist procedure so that it gets used by
HED->AMS->Design Prep?

(defun AMSNLPROCDoNotPrintInstance (formatterId cellViewId instanceId)

; do not print the instance, simply return

t

) ; defun

---
Erik




erikwanta@starband.net (Erik Wanta) wrote in message news:<84018314.0311010707.6a677bc7@posting.google.com>...
When I specify Proc1 as the netlist procedure in the ams simInfo I get
errors that Proc1 is not callable. It returns t for
isCallable('Proc1) however. Any ideas?
---
Erik


erikwanta@starband.net (Erik Wanta) wrote in message news:<84018314.0310311158.557b7cae@posting.google.com>...
Andrew:
I got the following in response to PCR 601739. Am I supposed to use
amsDirect initFile in ams.env or am I supposed to specify Proc1 as an
ams netlist procedure. I don't see any documentation on ams netlist
procedures. spectre netlist procedures just take inst, correct? Any
ideas would be appreciated.

;; Get the netlister object
Netlister = amsGetNetlister()

;; Get the Verilog formatter object
Vlog = Netlister->vlog

;; This netlist procedure looks for a property "amsIgnore" on the
;; instance (of corrPoint) and if the value is ignore, does not
netlist
;; the instance.

(defun Proc1 (formatter cellview inst)
;; Make sure that the master is res
(if (equal inst->masterName "res")
;; Check for property amsIgnore on the instance, netlist only
;; if the value is not "ignore" ...
(unless (and inst->id->amsIgnore
(equal inst->id->amsIgnore "ignore")
)
;; Not to be ignored ...
(amsPrintInstance formatter cellview inst)
) ; unless
;; The else part: master is not corrPoint
(amsPrintInstance formatter cellview inst)
) ; if
) ; defun

Vlog->instanceProc = 'Proc1







Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<9hu2qv8ikfvd1qs7jcjgcnoke4jviq5mc9@4ax.com>...
Hi Erik,

Actually the problem here is really AMS Designer. This is something that has been
resolved in the IC5033 release by support for AMS Netlist Procedures - I have
a solution somewhere which explains how to do this (it was suggested by R&D
when I reported a similar problem).

Normally for most netlisters you wouldn't put nlAction=ignore on the symbol
unless you wanted it ignored in all tools - you'd put the ignore on
the stopping view. The trouble is with AMS Designer is that the netlisting of
each cellView is done independently, and so the switch list type info is
not used until elaboration time.

So you end up having to write a netlisting procedure to explicitly support
a special property to prevent netlisting in AMS Designer - and netlisting
procedures for AMS are only supported from IC5033 onwards.

As I'm out of the office on vacation until next week, I can't easily look this up,
but I'm sure somebody in support could find the PCR which asks for an
ignore - just found a record in my notes that it was PCR 601739.

Andrew.


On 30 Oct 2003 08:08:25 -0800, erikwanta@starband.net (Erik Wanta) wrote:

I am trying to get a component not to netlist in AMS Designer but
still netlist for assura. I added an nlAction ignore property to the
symbol and it doesn't netlist for AMSD but Assura doesn't netlist it.

I was able to get layoutXL to bring in the testpoints with
envSetVal("layoutXL" "ignoreNames" `string "vxlIgnore lvsIgnore
ignore"). That is I removed the nlAction from the ignore name list.
I can't find the equivalent for assura. I would think assura would
use lvsIgnore instead of nlAction anyway.

Does anyone know of a way to get Assura to not use the nlAction
property?
---
Erik
--
Andrew Beckett
Senior Technical Leader
Custom IC Solutions
Cadence Design Systems Ltd
 
Andrew:
I noticed that some versions of ldv delete my amsDirect initFile
option in the ams.env file when I run design prep. ldv 50.s007
removes my initFile option and doesn't work but ldv 51 doesn't and
works.
---
Erik


Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<rt6nqv4roag9583ina71i4qsln5h19d6is@4ax.com>...
Erik,

I've been testing this, and it all works fine, as you've seen.

It's documented (Chapter 13 of AMS Environment User Guide in IC5033).
It wasn't on sourcelink a few days ago, but is now.

I've also just written up a solution for sourcelink which should (hopefully) get
published on sourcelink after review.

Andrew.

On Mon, 03 Nov 2003 18:48:10 +0000, Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote:

Didn't get to this today, sorry.

But that looks like what I'd have expected to work.

netlisting procedure support for AMS Designer was only added for IC5033 (it was quite
a big change, so wasn't added in an IC5032 ISR). So you can't do it in IC5032, sorry.

Andrew.

On 3 Nov 2003 02:13:35 -0800, erikwanta@starband.net (Erik Wanta) wrote:

Andrew:
I got this to work by adding the following to my ams.env:
amsDirect initFile string "/path/mynetlistprocedure.il"

Note I don't see amsDirect initFile documented on sourcelink anywhere.

So, one can add netlist procedures to 50 33 for amsd. It is too bad
that assura crashes with 50 33 so we can't move to it. Any ideas on
how to get the netlist procedure working with 50 32?
---
Erik


Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<p6laqv8nebm56qg7feropf1igao16eu2on@4ax.com>...
Erik,

OK, I'll look at this when I get back into the office tomorrow. I think another
customer has hit the same problem in my absence and one of my colleagues is
dealing with it.

Anyway, I'll answer some of the questions below:

On 2 Nov 2003 07:10:20 -0800, erikwanta@starband.net (Erik Wanta) wrote:

Andrew:
I have taken this up with customer support and am told that you are
the initiator of PCR 601739. Support can't get this to work. They
are telling me that they are waiting to contact you. I figured I
would try to go right to the source and see if there is an easy
solution to this problem that you were aware of.

I'll have to dig out my notes - I can't remember if I actually tried the solution,
since the software wasn't available when R&D proposed the solution.

I am not relying on
a response and don't mean to put pressure on you or bother you on
vacation. I just thought I would post in the hopes that maybe others
are having the same problem and might be interested in the problem and
have ideas for a possible solution. It seems like a common issue that
one would want to not netlist a component for simulation and still
netlist for LVS.

I agree - however, AMS Designer netlisting is rather different from
other netlisters (see below):

I would have thought that nlAction ignore would have
worked. I am surprised that nlAction is used by assura instead of
lvsIgnore.

All netlisters honour nlAction - it's a fundamental OSS capability, so
each netlister doesn't have to do anything special to support it.

Why does ams designer netlist only the symbol? Why
doesn't it use the spectre view? What if I have 2 models for the same
component and want to use the view name to specify which model to use
(in spectre I could use componentName)?

The idea with AMS Designer is that each cellView creates its netlist
independently - this is to avoid extensive netlisting time when you want
to run a simulation. Each cellView can be netlisted, and even compiled,
at check-and-save time, and so when any user wants to simulate, all
that needs to be done is elaboration (if not up to date), and running the
simulation. No netlisting at all! Even if you change the view switching in
the config, all you need to do is re-elaborate and run. None of that
lengthy partitioning and re-netlisting that needed to be done with
spectreVerilog.

The consequence of this is that view switching makes no difference at
netlisting time. Normally you'd put nlAction=ignore on the stopping view - but
since stopping views are not used for AMS netlisting - they only get used
to guide the elaboration - it can't have an impact on netlisting.

This is why it needs to be done with a netlisting procedure - either
a specific netlisting procedure for that component, or by overloading the
standard one so that it supports a property to control ignoring of the component.

Why does amsd dumpt the
verilog.vams netlists into the library instead of a netlist directory?

For the reasons I said above - the netlist is just another representation of the
cellView - and so it makes sense that this derived bit of data goes along
with the cellView. If done at check-and-save time, it can be used by
any user of the cellView, rather than each user having to netlist their own copy.

I load the netlist procedure to not netlist the instance for ams
designer since the nlAction approach won't work, but amsdirect doesn't
see this loaded function when I run HED->AMS->Design Prep. It is my
understanding that amsdirect doesn't use SKILL. How does it work from
CIW->Tools->AMS->Netlist? What is the mechanism to get amsdirect
aware of loaded SKILL?

That I don't know, and will have to research. I've not seen any emails asking
me yet, but perhaps they're waiting becausing they know I'm on vacation...

Please don't feel a need to respond. I am just posting the above
questions so that I get them out in a public forum in the hopes that
others are tackling the same issues.

OK.

Andrew.

---
Erik

Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<e3e9qvsq8kpnm2eu7vpqrsujtthc14hgi7@4ax.com>...
Take this up with customer support. Realistically the only person watching this
news group who would be able to answer this is me, and you shouldn't rely on
me to reply in a short time frame (especially as I'm on vacation at the moment...)

Andrew.

On 1 Nov 2003 10:25:22 -0800, erikwanta@starband.net (Erik Wanta) wrote:

I am able to get the netlist procedure to work in 50 33 when
netlisting with CIW->Tools->AMS->Netlist. I am UNable to get it to
work from HED->AMS->Design Prep as I don't think the netlist procedure
is not getting loaded. I am told that there used to be an option
called amsDirect initFile that could be placed in the ams.env to load
a file prior to netlisting but it doesn't seem to work. Any ideas on
how to load the netlist procedure so that it gets used by
HED->AMS->Design Prep?

(defun AMSNLPROCDoNotPrintInstance (formatterId cellViewId instanceId)

; do not print the instance, simply return

t

) ; defun

---
Erik




erikwanta@starband.net (Erik Wanta) wrote in message news:<84018314.0311010707.6a677bc7@posting.google.com>...
When I specify Proc1 as the netlist procedure in the ams simInfo I get
errors that Proc1 is not callable. It returns t for
isCallable('Proc1) however. Any ideas?
---
Erik


erikwanta@starband.net (Erik Wanta) wrote in message news:<84018314.0310311158.557b7cae@posting.google.com>...
Andrew:
I got the following in response to PCR 601739. Am I supposed to use
amsDirect initFile in ams.env or am I supposed to specify Proc1 as an
ams netlist procedure. I don't see any documentation on ams netlist
procedures. spectre netlist procedures just take inst, correct? Any
ideas would be appreciated.

;; Get the netlister object
Netlister = amsGetNetlister()

;; Get the Verilog formatter object
Vlog = Netlister->vlog

;; This netlist procedure looks for a property "amsIgnore" on the
;; instance (of corrPoint) and if the value is ignore, does not
netlist
;; the instance.

(defun Proc1 (formatter cellview inst)
;; Make sure that the master is res
(if (equal inst->masterName "res")
;; Check for property amsIgnore on the instance, netlist only
;; if the value is not "ignore" ...
(unless (and inst->id->amsIgnore
(equal inst->id->amsIgnore "ignore")
)
;; Not to be ignored ...
(amsPrintInstance formatter cellview inst)
) ; unless
;; The else part: master is not corrPoint
(amsPrintInstance formatter cellview inst)
) ; if
) ; defun

Vlog->instanceProc = 'Proc1







Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<9hu2qv8ikfvd1qs7jcjgcnoke4jviq5mc9@4ax.com>...
Hi Erik,

Actually the problem here is really AMS Designer. This is something that has been
resolved in the IC5033 release by support for AMS Netlist Procedures - I have
a solution somewhere which explains how to do this (it was suggested by R&D
when I reported a similar problem).

Normally for most netlisters you wouldn't put nlAction=ignore on the symbol
unless you wanted it ignored in all tools - you'd put the ignore on
the stopping view. The trouble is with AMS Designer is that the netlisting of
each cellView is done independently, and so the switch list type info is
not used until elaboration time.

So you end up having to write a netlisting procedure to explicitly support
a special property to prevent netlisting in AMS Designer - and netlisting
procedures for AMS are only supported from IC5033 onwards.

As I'm out of the office on vacation until next week, I can't easily look this up,
but I'm sure somebody in support could find the PCR which asks for an
ignore - just found a record in my notes that it was PCR 601739.

Andrew.


On 30 Oct 2003 08:08:25 -0800, erikwanta@starband.net (Erik Wanta) wrote:

I am trying to get a component not to netlist in AMS Designer but
still netlist for assura. I added an nlAction ignore property to the
symbol and it doesn't netlist for AMSD but Assura doesn't netlist it.

I was able to get layoutXL to bring in the testpoints with
envSetVal("layoutXL" "ignoreNames" `string "vxlIgnore lvsIgnore
ignore"). That is I removed the nlAction from the ignore name list.
I can't find the equivalent for assura. I would think assura would
use lvsIgnore instead of nlAction anyway.

Does anyone know of a way to get Assura to not use the nlAction
property?
---
Erik
 
On the topic of ams netlist procedures, is there a way that I can just
return t? That is, if I don't want to netlist an instance, I have to
define a procedure that just returns t. Why can't I put t as the
netlist procedure so that I don't have to use the initFile option?
---
Erik


Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<rt6nqv4roag9583ina71i4qsln5h19d6is@4ax.com>...
Erik,

I've been testing this, and it all works fine, as you've seen.

It's documented (Chapter 13 of AMS Environment User Guide in IC5033).
It wasn't on sourcelink a few days ago, but is now.

I've also just written up a solution for sourcelink which should (hopefully) get
published on sourcelink after review.

Andrew.

On Mon, 03 Nov 2003 18:48:10 +0000, Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote:

Didn't get to this today, sorry.

But that looks like what I'd have expected to work.

netlisting procedure support for AMS Designer was only added for IC5033 (it was quite
a big change, so wasn't added in an IC5032 ISR). So you can't do it in IC5032, sorry.

Andrew.

On 3 Nov 2003 02:13:35 -0800, erikwanta@starband.net (Erik Wanta) wrote:

Andrew:
I got this to work by adding the following to my ams.env:
amsDirect initFile string "/path/mynetlistprocedure.il"

Note I don't see amsDirect initFile documented on sourcelink anywhere.

So, one can add netlist procedures to 50 33 for amsd. It is too bad
that assura crashes with 50 33 so we can't move to it. Any ideas on
how to get the netlist procedure working with 50 32?
---
Erik


Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<p6laqv8nebm56qg7feropf1igao16eu2on@4ax.com>...
Erik,

OK, I'll look at this when I get back into the office tomorrow. I think another
customer has hit the same problem in my absence and one of my colleagues is
dealing with it.

Anyway, I'll answer some of the questions below:

On 2 Nov 2003 07:10:20 -0800, erikwanta@starband.net (Erik Wanta) wrote:

Andrew:
I have taken this up with customer support and am told that you are
the initiator of PCR 601739. Support can't get this to work. They
are telling me that they are waiting to contact you. I figured I
would try to go right to the source and see if there is an easy
solution to this problem that you were aware of.

I'll have to dig out my notes - I can't remember if I actually tried the solution,
since the software wasn't available when R&D proposed the solution.

I am not relying on
a response and don't mean to put pressure on you or bother you on
vacation. I just thought I would post in the hopes that maybe others
are having the same problem and might be interested in the problem and
have ideas for a possible solution. It seems like a common issue that
one would want to not netlist a component for simulation and still
netlist for LVS.

I agree - however, AMS Designer netlisting is rather different from
other netlisters (see below):

I would have thought that nlAction ignore would have
worked. I am surprised that nlAction is used by assura instead of
lvsIgnore.

All netlisters honour nlAction - it's a fundamental OSS capability, so
each netlister doesn't have to do anything special to support it.

Why does ams designer netlist only the symbol? Why
doesn't it use the spectre view? What if I have 2 models for the same
component and want to use the view name to specify which model to use
(in spectre I could use componentName)?

The idea with AMS Designer is that each cellView creates its netlist
independently - this is to avoid extensive netlisting time when you want
to run a simulation. Each cellView can be netlisted, and even compiled,
at check-and-save time, and so when any user wants to simulate, all
that needs to be done is elaboration (if not up to date), and running the
simulation. No netlisting at all! Even if you change the view switching in
the config, all you need to do is re-elaborate and run. None of that
lengthy partitioning and re-netlisting that needed to be done with
spectreVerilog.

The consequence of this is that view switching makes no difference at
netlisting time. Normally you'd put nlAction=ignore on the stopping view - but
since stopping views are not used for AMS netlisting - they only get used
to guide the elaboration - it can't have an impact on netlisting.

This is why it needs to be done with a netlisting procedure - either
a specific netlisting procedure for that component, or by overloading the
standard one so that it supports a property to control ignoring of the component.

Why does amsd dumpt the
verilog.vams netlists into the library instead of a netlist directory?

For the reasons I said above - the netlist is just another representation of the
cellView - and so it makes sense that this derived bit of data goes along
with the cellView. If done at check-and-save time, it can be used by
any user of the cellView, rather than each user having to netlist their own copy.

I load the netlist procedure to not netlist the instance for ams
designer since the nlAction approach won't work, but amsdirect doesn't
see this loaded function when I run HED->AMS->Design Prep. It is my
understanding that amsdirect doesn't use SKILL. How does it work from
CIW->Tools->AMS->Netlist? What is the mechanism to get amsdirect
aware of loaded SKILL?

That I don't know, and will have to research. I've not seen any emails asking
me yet, but perhaps they're waiting becausing they know I'm on vacation...

Please don't feel a need to respond. I am just posting the above
questions so that I get them out in a public forum in the hopes that
others are tackling the same issues.

OK.

Andrew.

---
Erik

Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<e3e9qvsq8kpnm2eu7vpqrsujtthc14hgi7@4ax.com>...
Take this up with customer support. Realistically the only person watching this
news group who would be able to answer this is me, and you shouldn't rely on
me to reply in a short time frame (especially as I'm on vacation at the moment...)

Andrew.

On 1 Nov 2003 10:25:22 -0800, erikwanta@starband.net (Erik Wanta) wrote:

I am able to get the netlist procedure to work in 50 33 when
netlisting with CIW->Tools->AMS->Netlist. I am UNable to get it to
work from HED->AMS->Design Prep as I don't think the netlist procedure
is not getting loaded. I am told that there used to be an option
called amsDirect initFile that could be placed in the ams.env to load
a file prior to netlisting but it doesn't seem to work. Any ideas on
how to load the netlist procedure so that it gets used by
HED->AMS->Design Prep?

(defun AMSNLPROCDoNotPrintInstance (formatterId cellViewId instanceId)

; do not print the instance, simply return

t

) ; defun

---
Erik




erikwanta@starband.net (Erik Wanta) wrote in message news:<84018314.0311010707.6a677bc7@posting.google.com>...
When I specify Proc1 as the netlist procedure in the ams simInfo I get
errors that Proc1 is not callable. It returns t for
isCallable('Proc1) however. Any ideas?
---
Erik


erikwanta@starband.net (Erik Wanta) wrote in message news:<84018314.0310311158.557b7cae@posting.google.com>...
Andrew:
I got the following in response to PCR 601739. Am I supposed to use
amsDirect initFile in ams.env or am I supposed to specify Proc1 as an
ams netlist procedure. I don't see any documentation on ams netlist
procedures. spectre netlist procedures just take inst, correct? Any
ideas would be appreciated.

;; Get the netlister object
Netlister = amsGetNetlister()

;; Get the Verilog formatter object
Vlog = Netlister->vlog

;; This netlist procedure looks for a property "amsIgnore" on the
;; instance (of corrPoint) and if the value is ignore, does not
netlist
;; the instance.

(defun Proc1 (formatter cellview inst)
;; Make sure that the master is res
(if (equal inst->masterName "res")
;; Check for property amsIgnore on the instance, netlist only
;; if the value is not "ignore" ...
(unless (and inst->id->amsIgnore
(equal inst->id->amsIgnore "ignore")
)
;; Not to be ignored ...
(amsPrintInstance formatter cellview inst)
) ; unless
;; The else part: master is not corrPoint
(amsPrintInstance formatter cellview inst)
) ; if
) ; defun

Vlog->instanceProc = 'Proc1







Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<9hu2qv8ikfvd1qs7jcjgcnoke4jviq5mc9@4ax.com>...
Hi Erik,

Actually the problem here is really AMS Designer. This is something that has been
resolved in the IC5033 release by support for AMS Netlist Procedures - I have
a solution somewhere which explains how to do this (it was suggested by R&D
when I reported a similar problem).

Normally for most netlisters you wouldn't put nlAction=ignore on the symbol
unless you wanted it ignored in all tools - you'd put the ignore on
the stopping view. The trouble is with AMS Designer is that the netlisting of
each cellView is done independently, and so the switch list type info is
not used until elaboration time.

So you end up having to write a netlisting procedure to explicitly support
a special property to prevent netlisting in AMS Designer - and netlisting
procedures for AMS are only supported from IC5033 onwards.

As I'm out of the office on vacation until next week, I can't easily look this up,
but I'm sure somebody in support could find the PCR which asks for an
ignore - just found a record in my notes that it was PCR 601739.

Andrew.


On 30 Oct 2003 08:08:25 -0800, erikwanta@starband.net (Erik Wanta) wrote:

I am trying to get a component not to netlist in AMS Designer but
still netlist for assura. I added an nlAction ignore property to the
symbol and it doesn't netlist for AMSD but Assura doesn't netlist it.

I was able to get layoutXL to bring in the testpoints with
envSetVal("layoutXL" "ignoreNames" `string "vxlIgnore lvsIgnore
ignore"). That is I removed the nlAction from the ignore name list.
I can't find the equivalent for assura. I would think assura would
use lvsIgnore instead of nlAction anyway.

Does anyone know of a way to get Assura to not use the nlAction
property?
---
Erik
 
Hi Erik,

I'm quite surprised by this, because I wouldn't have thought that the LDV bit
actually reads or touches the ams.env file. I was using ldv 50.s010 and this
was fine - can't easily check an older version anytime soon because I'll be out
of the UK office for a week or so (and I'd have to specifically get hold of
an old version which I don't have installed).

If this bothers you, I'd take it up with support (perhaps via the SR you have
already for the netlisting stuff).

Regards,

Andrew.

On 7 Nov 2003 11:48:47 -0800, erikwanta@starband.net (Erik Wanta) wrote:

Andrew:
I noticed that some versions of ldv delete my amsDirect initFile
option in the ams.env file when I run design prep. ldv 50.s007
removes my initFile option and doesn't work but ldv 51 doesn't and
works.
---
Erik


Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<rt6nqv4roag9583ina71i4qsln5h19d6is@4ax.com>...
Erik,

I've been testing this, and it all works fine, as you've seen.

It's documented (Chapter 13 of AMS Environment User Guide in IC5033).
It wasn't on sourcelink a few days ago, but is now.

I've also just written up a solution for sourcelink which should (hopefully) get
published on sourcelink after review.

Andrew.

On Mon, 03 Nov 2003 18:48:10 +0000, Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote:

Didn't get to this today, sorry.

But that looks like what I'd have expected to work.

netlisting procedure support for AMS Designer was only added for IC5033 (it was quite
a big change, so wasn't added in an IC5032 ISR). So you can't do it in IC5032, sorry.

Andrew.

On 3 Nov 2003 02:13:35 -0800, erikwanta@starband.net (Erik Wanta) wrote:

Andrew:
I got this to work by adding the following to my ams.env:
amsDirect initFile string "/path/mynetlistprocedure.il"

Note I don't see amsDirect initFile documented on sourcelink anywhere.

So, one can add netlist procedures to 50 33 for amsd. It is too bad
that assura crashes with 50 33 so we can't move to it. Any ideas on
how to get the netlist procedure working with 50 32?
---
Erik


Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<p6laqv8nebm56qg7feropf1igao16eu2on@4ax.com>...
Erik,

OK, I'll look at this when I get back into the office tomorrow. I think another
customer has hit the same problem in my absence and one of my colleagues is
dealing with it.

Anyway, I'll answer some of the questions below:

On 2 Nov 2003 07:10:20 -0800, erikwanta@starband.net (Erik Wanta) wrote:

Andrew:
I have taken this up with customer support and am told that you are
the initiator of PCR 601739. Support can't get this to work. They
are telling me that they are waiting to contact you. I figured I
would try to go right to the source and see if there is an easy
solution to this problem that you were aware of.

I'll have to dig out my notes - I can't remember if I actually tried the solution,
since the software wasn't available when R&D proposed the solution.

I am not relying on
a response and don't mean to put pressure on you or bother you on
vacation. I just thought I would post in the hopes that maybe others
are having the same problem and might be interested in the problem and
have ideas for a possible solution. It seems like a common issue that
one would want to not netlist a component for simulation and still
netlist for LVS.

I agree - however, AMS Designer netlisting is rather different from
other netlisters (see below):

I would have thought that nlAction ignore would have
worked. I am surprised that nlAction is used by assura instead of
lvsIgnore.

All netlisters honour nlAction - it's a fundamental OSS capability, so
each netlister doesn't have to do anything special to support it.

Why does ams designer netlist only the symbol? Why
doesn't it use the spectre view? What if I have 2 models for the same
component and want to use the view name to specify which model to use
(in spectre I could use componentName)?

The idea with AMS Designer is that each cellView creates its netlist
independently - this is to avoid extensive netlisting time when you want
to run a simulation. Each cellView can be netlisted, and even compiled,
at check-and-save time, and so when any user wants to simulate, all
that needs to be done is elaboration (if not up to date), and running the
simulation. No netlisting at all! Even if you change the view switching in
the config, all you need to do is re-elaborate and run. None of that
lengthy partitioning and re-netlisting that needed to be done with
spectreVerilog.

The consequence of this is that view switching makes no difference at
netlisting time. Normally you'd put nlAction=ignore on the stopping view - but
since stopping views are not used for AMS netlisting - they only get used
to guide the elaboration - it can't have an impact on netlisting.

This is why it needs to be done with a netlisting procedure - either
a specific netlisting procedure for that component, or by overloading the
standard one so that it supports a property to control ignoring of the component.

Why does amsd dumpt the
verilog.vams netlists into the library instead of a netlist directory?

For the reasons I said above - the netlist is just another representation of the
cellView - and so it makes sense that this derived bit of data goes along
with the cellView. If done at check-and-save time, it can be used by
any user of the cellView, rather than each user having to netlist their own copy.

I load the netlist procedure to not netlist the instance for ams
designer since the nlAction approach won't work, but amsdirect doesn't
see this loaded function when I run HED->AMS->Design Prep. It is my
understanding that amsdirect doesn't use SKILL. How does it work from
CIW->Tools->AMS->Netlist? What is the mechanism to get amsdirect
aware of loaded SKILL?

That I don't know, and will have to research. I've not seen any emails asking
me yet, but perhaps they're waiting becausing they know I'm on vacation...

Please don't feel a need to respond. I am just posting the above
questions so that I get them out in a public forum in the hopes that
others are tackling the same issues.

OK.

Andrew.

---
Erik

Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<e3e9qvsq8kpnm2eu7vpqrsujtthc14hgi7@4ax.com>...
Take this up with customer support. Realistically the only person watching this
news group who would be able to answer this is me, and you shouldn't rely on
me to reply in a short time frame (especially as I'm on vacation at the moment...)

Andrew.

On 1 Nov 2003 10:25:22 -0800, erikwanta@starband.net (Erik Wanta) wrote:

I am able to get the netlist procedure to work in 50 33 when
netlisting with CIW->Tools->AMS->Netlist. I am UNable to get it to
work from HED->AMS->Design Prep as I don't think the netlist procedure
is not getting loaded. I am told that there used to be an option
called amsDirect initFile that could be placed in the ams.env to load
a file prior to netlisting but it doesn't seem to work. Any ideas on
how to load the netlist procedure so that it gets used by
HED->AMS->Design Prep?

(defun AMSNLPROCDoNotPrintInstance (formatterId cellViewId instanceId)

; do not print the instance, simply return

t

) ; defun

---
Erik




erikwanta@starband.net (Erik Wanta) wrote in message news:<84018314.0311010707.6a677bc7@posting.google.com>...
When I specify Proc1 as the netlist procedure in the ams simInfo I get
errors that Proc1 is not callable. It returns t for
isCallable('Proc1) however. Any ideas?
---
Erik


erikwanta@starband.net (Erik Wanta) wrote in message news:<84018314.0310311158.557b7cae@posting.google.com>...
Andrew:
I got the following in response to PCR 601739. Am I supposed to use
amsDirect initFile in ams.env or am I supposed to specify Proc1 as an
ams netlist procedure. I don't see any documentation on ams netlist
procedures. spectre netlist procedures just take inst, correct? Any
ideas would be appreciated.

;; Get the netlister object
Netlister = amsGetNetlister()

;; Get the Verilog formatter object
Vlog = Netlister->vlog

;; This netlist procedure looks for a property "amsIgnore" on the
;; instance (of corrPoint) and if the value is ignore, does not
netlist
;; the instance.

(defun Proc1 (formatter cellview inst)
;; Make sure that the master is res
(if (equal inst->masterName "res")
;; Check for property amsIgnore on the instance, netlist only
;; if the value is not "ignore" ...
(unless (and inst->id->amsIgnore
(equal inst->id->amsIgnore "ignore")
)
;; Not to be ignored ...
(amsPrintInstance formatter cellview inst)
) ; unless
;; The else part: master is not corrPoint
(amsPrintInstance formatter cellview inst)
) ; if
) ; defun

Vlog->instanceProc = 'Proc1







Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<9hu2qv8ikfvd1qs7jcjgcnoke4jviq5mc9@4ax.com>...
Hi Erik,

Actually the problem here is really AMS Designer. This is something that has been
resolved in the IC5033 release by support for AMS Netlist Procedures - I have
a solution somewhere which explains how to do this (it was suggested by R&D
when I reported a similar problem).

Normally for most netlisters you wouldn't put nlAction=ignore on the symbol
unless you wanted it ignored in all tools - you'd put the ignore on
the stopping view. The trouble is with AMS Designer is that the netlisting of
each cellView is done independently, and so the switch list type info is
not used until elaboration time.

So you end up having to write a netlisting procedure to explicitly support
a special property to prevent netlisting in AMS Designer - and netlisting
procedures for AMS are only supported from IC5033 onwards.

As I'm out of the office on vacation until next week, I can't easily look this up,
but I'm sure somebody in support could find the PCR which asks for an
ignore - just found a record in my notes that it was PCR 601739.

Andrew.


On 30 Oct 2003 08:08:25 -0800, erikwanta@starband.net (Erik Wanta) wrote:

I am trying to get a component not to netlist in AMS Designer but
still netlist for assura. I added an nlAction ignore property to the
symbol and it doesn't netlist for AMSD but Assura doesn't netlist it.

I was able to get layoutXL to bring in the testpoints with
envSetVal("layoutXL" "ignoreNames" `string "vxlIgnore lvsIgnore
ignore"). That is I removed the nlAction from the ignore name list.
I can't find the equivalent for assura. I would think assura would
use lvsIgnore instead of nlAction anyway.

Does anyone know of a way to get Assura to not use the nlAction
property?
---
Erik
--
Andrew Beckett
Senior Technical Leader
Custom IC Solutions
Cadence Design Systems Ltd
 
Hi Erik,

Well, it needs to be the name of a function, which accepts 3 arguments.
So t won't help. In fact, it doesn't matter what the netlisting procedure
returns.

So one crafty trick (I just tried this) is to set the netlist procedure to
(say) "list" or "progn" - both of which are builtin SKILL functions
which will handle three arguments, and are benign - the arguments
don't really make the function do anything.

Not especially meaningful names, for the purpose of netlisting, but
hey, why not?

Andrew.

On 7 Nov 2003 12:57:13 -0800, erikwanta@starband.net (Erik Wanta) wrote:

On the topic of ams netlist procedures, is there a way that I can just
return t? That is, if I don't want to netlist an instance, I have to
define a procedure that just returns t. Why can't I put t as the
netlist procedure so that I don't have to use the initFile option?
---
Erik


Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<rt6nqv4roag9583ina71i4qsln5h19d6is@4ax.com>...
Erik,

I've been testing this, and it all works fine, as you've seen.

It's documented (Chapter 13 of AMS Environment User Guide in IC5033).
It wasn't on sourcelink a few days ago, but is now.

I've also just written up a solution for sourcelink which should (hopefully) get
published on sourcelink after review.

Andrew.

On Mon, 03 Nov 2003 18:48:10 +0000, Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote:

Didn't get to this today, sorry.

But that looks like what I'd have expected to work.

netlisting procedure support for AMS Designer was only added for IC5033 (it was quite
a big change, so wasn't added in an IC5032 ISR). So you can't do it in IC5032, sorry.

Andrew.

On 3 Nov 2003 02:13:35 -0800, erikwanta@starband.net (Erik Wanta) wrote:

Andrew:
I got this to work by adding the following to my ams.env:
amsDirect initFile string "/path/mynetlistprocedure.il"

Note I don't see amsDirect initFile documented on sourcelink anywhere.

So, one can add netlist procedures to 50 33 for amsd. It is too bad
that assura crashes with 50 33 so we can't move to it. Any ideas on
how to get the netlist procedure working with 50 32?
---
Erik


Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<p6laqv8nebm56qg7feropf1igao16eu2on@4ax.com>...
Erik,

OK, I'll look at this when I get back into the office tomorrow. I think another
customer has hit the same problem in my absence and one of my colleagues is
dealing with it.

Anyway, I'll answer some of the questions below:

On 2 Nov 2003 07:10:20 -0800, erikwanta@starband.net (Erik Wanta) wrote:

Andrew:
I have taken this up with customer support and am told that you are
the initiator of PCR 601739. Support can't get this to work. They
are telling me that they are waiting to contact you. I figured I
would try to go right to the source and see if there is an easy
solution to this problem that you were aware of.

I'll have to dig out my notes - I can't remember if I actually tried the solution,
since the software wasn't available when R&D proposed the solution.

I am not relying on
a response and don't mean to put pressure on you or bother you on
vacation. I just thought I would post in the hopes that maybe others
are having the same problem and might be interested in the problem and
have ideas for a possible solution. It seems like a common issue that
one would want to not netlist a component for simulation and still
netlist for LVS.

I agree - however, AMS Designer netlisting is rather different from
other netlisters (see below):

I would have thought that nlAction ignore would have
worked. I am surprised that nlAction is used by assura instead of
lvsIgnore.

All netlisters honour nlAction - it's a fundamental OSS capability, so
each netlister doesn't have to do anything special to support it.

Why does ams designer netlist only the symbol? Why
doesn't it use the spectre view? What if I have 2 models for the same
component and want to use the view name to specify which model to use
(in spectre I could use componentName)?

The idea with AMS Designer is that each cellView creates its netlist
independently - this is to avoid extensive netlisting time when you want
to run a simulation. Each cellView can be netlisted, and even compiled,
at check-and-save time, and so when any user wants to simulate, all
that needs to be done is elaboration (if not up to date), and running the
simulation. No netlisting at all! Even if you change the view switching in
the config, all you need to do is re-elaborate and run. None of that
lengthy partitioning and re-netlisting that needed to be done with
spectreVerilog.

The consequence of this is that view switching makes no difference at
netlisting time. Normally you'd put nlAction=ignore on the stopping view - but
since stopping views are not used for AMS netlisting - they only get used
to guide the elaboration - it can't have an impact on netlisting.

This is why it needs to be done with a netlisting procedure - either
a specific netlisting procedure for that component, or by overloading the
standard one so that it supports a property to control ignoring of the component.

Why does amsd dumpt the
verilog.vams netlists into the library instead of a netlist directory?

For the reasons I said above - the netlist is just another representation of the
cellView - and so it makes sense that this derived bit of data goes along
with the cellView. If done at check-and-save time, it can be used by
any user of the cellView, rather than each user having to netlist their own copy.

I load the netlist procedure to not netlist the instance for ams
designer since the nlAction approach won't work, but amsdirect doesn't
see this loaded function when I run HED->AMS->Design Prep. It is my
understanding that amsdirect doesn't use SKILL. How does it work from
CIW->Tools->AMS->Netlist? What is the mechanism to get amsdirect
aware of loaded SKILL?

That I don't know, and will have to research. I've not seen any emails asking
me yet, but perhaps they're waiting becausing they know I'm on vacation...

Please don't feel a need to respond. I am just posting the above
questions so that I get them out in a public forum in the hopes that
others are tackling the same issues.

OK.

Andrew.

---
Erik

Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<e3e9qvsq8kpnm2eu7vpqrsujtthc14hgi7@4ax.com>...
Take this up with customer support. Realistically the only person watching this
news group who would be able to answer this is me, and you shouldn't rely on
me to reply in a short time frame (especially as I'm on vacation at the moment...)

Andrew.

On 1 Nov 2003 10:25:22 -0800, erikwanta@starband.net (Erik Wanta) wrote:

I am able to get the netlist procedure to work in 50 33 when
netlisting with CIW->Tools->AMS->Netlist. I am UNable to get it to
work from HED->AMS->Design Prep as I don't think the netlist procedure
is not getting loaded. I am told that there used to be an option
called amsDirect initFile that could be placed in the ams.env to load
a file prior to netlisting but it doesn't seem to work. Any ideas on
how to load the netlist procedure so that it gets used by
HED->AMS->Design Prep?

(defun AMSNLPROCDoNotPrintInstance (formatterId cellViewId instanceId)

; do not print the instance, simply return

t

) ; defun

---
Erik




erikwanta@starband.net (Erik Wanta) wrote in message news:<84018314.0311010707.6a677bc7@posting.google.com>...
When I specify Proc1 as the netlist procedure in the ams simInfo I get
errors that Proc1 is not callable. It returns t for
isCallable('Proc1) however. Any ideas?
---
Erik


erikwanta@starband.net (Erik Wanta) wrote in message news:<84018314.0310311158.557b7cae@posting.google.com>...
Andrew:
I got the following in response to PCR 601739. Am I supposed to use
amsDirect initFile in ams.env or am I supposed to specify Proc1 as an
ams netlist procedure. I don't see any documentation on ams netlist
procedures. spectre netlist procedures just take inst, correct? Any
ideas would be appreciated.

;; Get the netlister object
Netlister = amsGetNetlister()

;; Get the Verilog formatter object
Vlog = Netlister->vlog

;; This netlist procedure looks for a property "amsIgnore" on the
;; instance (of corrPoint) and if the value is ignore, does not
netlist
;; the instance.

(defun Proc1 (formatter cellview inst)
;; Make sure that the master is res
(if (equal inst->masterName "res")
;; Check for property amsIgnore on the instance, netlist only
;; if the value is not "ignore" ...
(unless (and inst->id->amsIgnore
(equal inst->id->amsIgnore "ignore")
)
;; Not to be ignored ...
(amsPrintInstance formatter cellview inst)
) ; unless
;; The else part: master is not corrPoint
(amsPrintInstance formatter cellview inst)
) ; if
) ; defun

Vlog->instanceProc = 'Proc1







Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<9hu2qv8ikfvd1qs7jcjgcnoke4jviq5mc9@4ax.com>...
Hi Erik,

Actually the problem here is really AMS Designer. This is something that has been
resolved in the IC5033 release by support for AMS Netlist Procedures - I have
a solution somewhere which explains how to do this (it was suggested by R&D
when I reported a similar problem).

Normally for most netlisters you wouldn't put nlAction=ignore on the symbol
unless you wanted it ignored in all tools - you'd put the ignore on
the stopping view. The trouble is with AMS Designer is that the netlisting of
each cellView is done independently, and so the switch list type info is
not used until elaboration time.

So you end up having to write a netlisting procedure to explicitly support
a special property to prevent netlisting in AMS Designer - and netlisting
procedures for AMS are only supported from IC5033 onwards.

As I'm out of the office on vacation until next week, I can't easily look this up,
but I'm sure somebody in support could find the PCR which asks for an
ignore - just found a record in my notes that it was PCR 601739.

Andrew.


On 30 Oct 2003 08:08:25 -0800, erikwanta@starband.net (Erik Wanta) wrote:

I am trying to get a component not to netlist in AMS Designer but
still netlist for assura. I added an nlAction ignore property to the
symbol and it doesn't netlist for AMSD but Assura doesn't netlist it.

I was able to get layoutXL to bring in the testpoints with
envSetVal("layoutXL" "ignoreNames" `string "vxlIgnore lvsIgnore
ignore"). That is I removed the nlAction from the ignore name list.
I can't find the equivalent for assura. I would think assura would
use lvsIgnore instead of nlAction anyway.

Does anyone know of a way to get Assura to not use the nlAction
property?
---
Erik
--
Andrew Beckett
Senior Technical Leader
Custom IC Solutions
Cadence Design Systems Ltd
 
Andrew:
I hand edit the ams.env file. It seems that if I don't have the exact
whitespace that it is expecting it deletes the line when design prep
is run. That is if I add include files in the HED GUI and generate an
ams.env file it works. If I create the ams.env file manually and
don't make the whitespace the same as the way the HED makes it then it
gets deleted. Has anyone else seen the case where lines added to the
ams.env file get deleted when running design prep?
---
Erik


Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<6pipqvg9ub3q8948hpt9c9jt7nht8b6q1o@4ax.com>...
Hi Erik,

I'm quite surprised by this, because I wouldn't have thought that the LDV bit
actually reads or touches the ams.env file. I was using ldv 50.s010 and this
was fine - can't easily check an older version anytime soon because I'll be out
of the UK office for a week or so (and I'd have to specifically get hold of
an old version which I don't have installed).

If this bothers you, I'd take it up with support (perhaps via the SR you have
already for the netlisting stuff).

Regards,

Andrew.

On 7 Nov 2003 11:48:47 -0800, erikwanta@starband.net (Erik Wanta) wrote:

Andrew:
I noticed that some versions of ldv delete my amsDirect initFile
option in the ams.env file when I run design prep. ldv 50.s007
removes my initFile option and doesn't work but ldv 51 doesn't and
works.
---
Erik


Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<rt6nqv4roag9583ina71i4qsln5h19d6is@4ax.com>...
Erik,

I've been testing this, and it all works fine, as you've seen.

It's documented (Chapter 13 of AMS Environment User Guide in IC5033).
It wasn't on sourcelink a few days ago, but is now.

I've also just written up a solution for sourcelink which should (hopefully) get
published on sourcelink after review.

Andrew.

On Mon, 03 Nov 2003 18:48:10 +0000, Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote:

Didn't get to this today, sorry.

But that looks like what I'd have expected to work.

netlisting procedure support for AMS Designer was only added for IC5033 (it was quite
a big change, so wasn't added in an IC5032 ISR). So you can't do it in IC5032, sorry.

Andrew.

On 3 Nov 2003 02:13:35 -0800, erikwanta@starband.net (Erik Wanta) wrote:

Andrew:
I got this to work by adding the following to my ams.env:
amsDirect initFile string "/path/mynetlistprocedure.il"

Note I don't see amsDirect initFile documented on sourcelink anywhere.

So, one can add netlist procedures to 50 33 for amsd. It is too bad
that assura crashes with 50 33 so we can't move to it. Any ideas on
how to get the netlist procedure working with 50 32?
---
Erik


Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<p6laqv8nebm56qg7feropf1igao16eu2on@4ax.com>...
Erik,

OK, I'll look at this when I get back into the office tomorrow. I think another
customer has hit the same problem in my absence and one of my colleagues is
dealing with it.

Anyway, I'll answer some of the questions below:

On 2 Nov 2003 07:10:20 -0800, erikwanta@starband.net (Erik Wanta) wrote:

Andrew:
I have taken this up with customer support and am told that you are
the initiator of PCR 601739. Support can't get this to work. They
are telling me that they are waiting to contact you. I figured I
would try to go right to the source and see if there is an easy
solution to this problem that you were aware of.

I'll have to dig out my notes - I can't remember if I actually tried the solution,
since the software wasn't available when R&D proposed the solution.

I am not relying on
a response and don't mean to put pressure on you or bother you on
vacation. I just thought I would post in the hopes that maybe others
are having the same problem and might be interested in the problem and
have ideas for a possible solution. It seems like a common issue that
one would want to not netlist a component for simulation and still
netlist for LVS.

I agree - however, AMS Designer netlisting is rather different from
other netlisters (see below):

I would have thought that nlAction ignore would have
worked. I am surprised that nlAction is used by assura instead of
lvsIgnore.

All netlisters honour nlAction - it's a fundamental OSS capability, so
each netlister doesn't have to do anything special to support it.

Why does ams designer netlist only the symbol? Why
doesn't it use the spectre view? What if I have 2 models for the same
component and want to use the view name to specify which model to use
(in spectre I could use componentName)?

The idea with AMS Designer is that each cellView creates its netlist
independently - this is to avoid extensive netlisting time when you want
to run a simulation. Each cellView can be netlisted, and even compiled,
at check-and-save time, and so when any user wants to simulate, all
that needs to be done is elaboration (if not up to date), and running the
simulation. No netlisting at all! Even if you change the view switching in
the config, all you need to do is re-elaborate and run. None of that
lengthy partitioning and re-netlisting that needed to be done with
spectreVerilog.

The consequence of this is that view switching makes no difference at
netlisting time. Normally you'd put nlAction=ignore on the stopping view - but
since stopping views are not used for AMS netlisting - they only get used
to guide the elaboration - it can't have an impact on netlisting.

This is why it needs to be done with a netlisting procedure - either
a specific netlisting procedure for that component, or by overloading the
standard one so that it supports a property to control ignoring of the component.

Why does amsd dumpt the
verilog.vams netlists into the library instead of a netlist directory?

For the reasons I said above - the netlist is just another representation of the
cellView - and so it makes sense that this derived bit of data goes along
with the cellView. If done at check-and-save time, it can be used by
any user of the cellView, rather than each user having to netlist their own copy.

I load the netlist procedure to not netlist the instance for ams
designer since the nlAction approach won't work, but amsdirect doesn't
see this loaded function when I run HED->AMS->Design Prep. It is my
understanding that amsdirect doesn't use SKILL. How does it work from
CIW->Tools->AMS->Netlist? What is the mechanism to get amsdirect
aware of loaded SKILL?

That I don't know, and will have to research. I've not seen any emails asking
me yet, but perhaps they're waiting becausing they know I'm on vacation...

Please don't feel a need to respond. I am just posting the above
questions so that I get them out in a public forum in the hopes that
others are tackling the same issues.

OK.

Andrew.

---
Erik

Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<e3e9qvsq8kpnm2eu7vpqrsujtthc14hgi7@4ax.com>...
Take this up with customer support. Realistically the only person watching this
news group who would be able to answer this is me, and you shouldn't rely on
me to reply in a short time frame (especially as I'm on vacation at the moment...)

Andrew.

On 1 Nov 2003 10:25:22 -0800, erikwanta@starband.net (Erik Wanta) wrote:

I am able to get the netlist procedure to work in 50 33 when
netlisting with CIW->Tools->AMS->Netlist. I am UNable to get it to
work from HED->AMS->Design Prep as I don't think the netlist procedure
is not getting loaded. I am told that there used to be an option
called amsDirect initFile that could be placed in the ams.env to load
a file prior to netlisting but it doesn't seem to work. Any ideas on
how to load the netlist procedure so that it gets used by
HED->AMS->Design Prep?

(defun AMSNLPROCDoNotPrintInstance (formatterId cellViewId instanceId)

; do not print the instance, simply return

t

) ; defun

---
Erik




erikwanta@starband.net (Erik Wanta) wrote in message news:<84018314.0311010707.6a677bc7@posting.google.com>...
When I specify Proc1 as the netlist procedure in the ams simInfo I get
errors that Proc1 is not callable. It returns t for
isCallable('Proc1) however. Any ideas?
---
Erik


erikwanta@starband.net (Erik Wanta) wrote in message news:<84018314.0310311158.557b7cae@posting.google.com>...
Andrew:
I got the following in response to PCR 601739. Am I supposed to use
amsDirect initFile in ams.env or am I supposed to specify Proc1 as an
ams netlist procedure. I don't see any documentation on ams netlist
procedures. spectre netlist procedures just take inst, correct? Any
ideas would be appreciated.

;; Get the netlister object
Netlister = amsGetNetlister()

;; Get the Verilog formatter object
Vlog = Netlister->vlog

;; This netlist procedure looks for a property "amsIgnore" on the
;; instance (of corrPoint) and if the value is ignore, does not
netlist
;; the instance.

(defun Proc1 (formatter cellview inst)
;; Make sure that the master is res
(if (equal inst->masterName "res")
;; Check for property amsIgnore on the instance, netlist only
;; if the value is not "ignore" ...
(unless (and inst->id->amsIgnore
(equal inst->id->amsIgnore "ignore")
)
;; Not to be ignored ...
(amsPrintInstance formatter cellview inst)
) ; unless
;; The else part: master is not corrPoint
(amsPrintInstance formatter cellview inst)
) ; if
) ; defun

Vlog->instanceProc = 'Proc1







Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<9hu2qv8ikfvd1qs7jcjgcnoke4jviq5mc9@4ax.com>...
Hi Erik,

Actually the problem here is really AMS Designer. This is something that has been
resolved in the IC5033 release by support for AMS Netlist Procedures - I have
a solution somewhere which explains how to do this (it was suggested by R&D
when I reported a similar problem).

Normally for most netlisters you wouldn't put nlAction=ignore on the symbol
unless you wanted it ignored in all tools - you'd put the ignore on
the stopping view. The trouble is with AMS Designer is that the netlisting of
each cellView is done independently, and so the switch list type info is
not used until elaboration time.

So you end up having to write a netlisting procedure to explicitly support
a special property to prevent netlisting in AMS Designer - and netlisting
procedures for AMS are only supported from IC5033 onwards.

As I'm out of the office on vacation until next week, I can't easily look this up,
but I'm sure somebody in support could find the PCR which asks for an
ignore - just found a record in my notes that it was PCR 601739.

Andrew.


On 30 Oct 2003 08:08:25 -0800, erikwanta@starband.net (Erik Wanta) wrote:

I am trying to get a component not to netlist in AMS Designer but
still netlist for assura. I added an nlAction ignore property to the
symbol and it doesn't netlist for AMSD but Assura doesn't netlist it.

I was able to get layoutXL to bring in the testpoints with
envSetVal("layoutXL" "ignoreNames" `string "vxlIgnore lvsIgnore
ignore"). That is I removed the nlAction from the ignore name list.
I can't find the equivalent for assura. I would think assura would
use lvsIgnore instead of nlAction anyway.

Does anyone know of a way to get Assura to not use the nlAction
property?
---
Erik
 
Erik,

I've not seen that, but then I've not tried doing what you suggested. If you can
reproduce this, I suggest logging this as an SR, because it sounds like a bug
to me.

Andrew.

On 2 Dec 2003 15:54:03 -0800, erikwanta@starband.net (Erik Wanta) wrote:

Andrew:
I hand edit the ams.env file. It seems that if I don't have the exact
whitespace that it is expecting it deletes the line when design prep
is run. That is if I add include files in the HED GUI and generate an
ams.env file it works. If I create the ams.env file manually and
don't make the whitespace the same as the way the HED makes it then it
gets deleted. Has anyone else seen the case where lines added to the
ams.env file get deleted when running design prep?
---
Erik


Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<6pipqvg9ub3q8948hpt9c9jt7nht8b6q1o@4ax.com>...
Hi Erik,

I'm quite surprised by this, because I wouldn't have thought that the LDV bit
actually reads or touches the ams.env file. I was using ldv 50.s010 and this
was fine - can't easily check an older version anytime soon because I'll be out
of the UK office for a week or so (and I'd have to specifically get hold of
an old version which I don't have installed).

If this bothers you, I'd take it up with support (perhaps via the SR you have
already for the netlisting stuff).

Regards,

Andrew.

On 7 Nov 2003 11:48:47 -0800, erikwanta@starband.net (Erik Wanta) wrote:

Andrew:
I noticed that some versions of ldv delete my amsDirect initFile
option in the ams.env file when I run design prep. ldv 50.s007
removes my initFile option and doesn't work but ldv 51 doesn't and
works.
---
Erik


Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<rt6nqv4roag9583ina71i4qsln5h19d6is@4ax.com>...
Erik,

I've been testing this, and it all works fine, as you've seen.

It's documented (Chapter 13 of AMS Environment User Guide in IC5033).
It wasn't on sourcelink a few days ago, but is now.

I've also just written up a solution for sourcelink which should (hopefully) get
published on sourcelink after review.

Andrew.

On Mon, 03 Nov 2003 18:48:10 +0000, Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote:

Didn't get to this today, sorry.

But that looks like what I'd have expected to work.

netlisting procedure support for AMS Designer was only added for IC5033 (it was quite
a big change, so wasn't added in an IC5032 ISR). So you can't do it in IC5032, sorry.

Andrew.

On 3 Nov 2003 02:13:35 -0800, erikwanta@starband.net (Erik Wanta) wrote:

Andrew:
I got this to work by adding the following to my ams.env:
amsDirect initFile string "/path/mynetlistprocedure.il"

Note I don't see amsDirect initFile documented on sourcelink anywhere.

So, one can add netlist procedures to 50 33 for amsd. It is too bad
that assura crashes with 50 33 so we can't move to it. Any ideas on
how to get the netlist procedure working with 50 32?
---
Erik


Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<p6laqv8nebm56qg7feropf1igao16eu2on@4ax.com>...
Erik,

OK, I'll look at this when I get back into the office tomorrow. I think another
customer has hit the same problem in my absence and one of my colleagues is
dealing with it.

Anyway, I'll answer some of the questions below:

On 2 Nov 2003 07:10:20 -0800, erikwanta@starband.net (Erik Wanta) wrote:

Andrew:
I have taken this up with customer support and am told that you are
the initiator of PCR 601739. Support can't get this to work. They
are telling me that they are waiting to contact you. I figured I
would try to go right to the source and see if there is an easy
solution to this problem that you were aware of.

I'll have to dig out my notes - I can't remember if I actually tried the solution,
since the software wasn't available when R&D proposed the solution.

I am not relying on
a response and don't mean to put pressure on you or bother you on
vacation. I just thought I would post in the hopes that maybe others
are having the same problem and might be interested in the problem and
have ideas for a possible solution. It seems like a common issue that
one would want to not netlist a component for simulation and still
netlist for LVS.

I agree - however, AMS Designer netlisting is rather different from
other netlisters (see below):

I would have thought that nlAction ignore would have
worked. I am surprised that nlAction is used by assura instead of
lvsIgnore.

All netlisters honour nlAction - it's a fundamental OSS capability, so
each netlister doesn't have to do anything special to support it.

Why does ams designer netlist only the symbol? Why
doesn't it use the spectre view? What if I have 2 models for the same
component and want to use the view name to specify which model to use
(in spectre I could use componentName)?

The idea with AMS Designer is that each cellView creates its netlist
independently - this is to avoid extensive netlisting time when you want
to run a simulation. Each cellView can be netlisted, and even compiled,
at check-and-save time, and so when any user wants to simulate, all
that needs to be done is elaboration (if not up to date), and running the
simulation. No netlisting at all! Even if you change the view switching in
the config, all you need to do is re-elaborate and run. None of that
lengthy partitioning and re-netlisting that needed to be done with
spectreVerilog.

The consequence of this is that view switching makes no difference at
netlisting time. Normally you'd put nlAction=ignore on the stopping view - but
since stopping views are not used for AMS netlisting - they only get used
to guide the elaboration - it can't have an impact on netlisting.

This is why it needs to be done with a netlisting procedure - either
a specific netlisting procedure for that component, or by overloading the
standard one so that it supports a property to control ignoring of the component.

Why does amsd dumpt the
verilog.vams netlists into the library instead of a netlist directory?

For the reasons I said above - the netlist is just another representation of the
cellView - and so it makes sense that this derived bit of data goes along
with the cellView. If done at check-and-save time, it can be used by
any user of the cellView, rather than each user having to netlist their own copy.

I load the netlist procedure to not netlist the instance for ams
designer since the nlAction approach won't work, but amsdirect doesn't
see this loaded function when I run HED->AMS->Design Prep. It is my
understanding that amsdirect doesn't use SKILL. How does it work from
CIW->Tools->AMS->Netlist? What is the mechanism to get amsdirect
aware of loaded SKILL?

That I don't know, and will have to research. I've not seen any emails asking
me yet, but perhaps they're waiting becausing they know I'm on vacation...

Please don't feel a need to respond. I am just posting the above
questions so that I get them out in a public forum in the hopes that
others are tackling the same issues.

OK.

Andrew.

---
Erik

Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<e3e9qvsq8kpnm2eu7vpqrsujtthc14hgi7@4ax.com>...
Take this up with customer support. Realistically the only person watching this
news group who would be able to answer this is me, and you shouldn't rely on
me to reply in a short time frame (especially as I'm on vacation at the moment...)

Andrew.

On 1 Nov 2003 10:25:22 -0800, erikwanta@starband.net (Erik Wanta) wrote:

I am able to get the netlist procedure to work in 50 33 when
netlisting with CIW->Tools->AMS->Netlist. I am UNable to get it to
work from HED->AMS->Design Prep as I don't think the netlist procedure
is not getting loaded. I am told that there used to be an option
called amsDirect initFile that could be placed in the ams.env to load
a file prior to netlisting but it doesn't seem to work. Any ideas on
how to load the netlist procedure so that it gets used by
HED->AMS->Design Prep?

(defun AMSNLPROCDoNotPrintInstance (formatterId cellViewId instanceId)

; do not print the instance, simply return

t

) ; defun

---
Erik




erikwanta@starband.net (Erik Wanta) wrote in message news:<84018314.0311010707.6a677bc7@posting.google.com>...
When I specify Proc1 as the netlist procedure in the ams simInfo I get
errors that Proc1 is not callable. It returns t for
isCallable('Proc1) however. Any ideas?
---
Erik


erikwanta@starband.net (Erik Wanta) wrote in message news:<84018314.0310311158.557b7cae@posting.google.com>...
Andrew:
I got the following in response to PCR 601739. Am I supposed to use
amsDirect initFile in ams.env or am I supposed to specify Proc1 as an
ams netlist procedure. I don't see any documentation on ams netlist
procedures. spectre netlist procedures just take inst, correct? Any
ideas would be appreciated.

;; Get the netlister object
Netlister = amsGetNetlister()

;; Get the Verilog formatter object
Vlog = Netlister->vlog

;; This netlist procedure looks for a property "amsIgnore" on the
;; instance (of corrPoint) and if the value is ignore, does not
netlist
;; the instance.

(defun Proc1 (formatter cellview inst)
;; Make sure that the master is res
(if (equal inst->masterName "res")
;; Check for property amsIgnore on the instance, netlist only
;; if the value is not "ignore" ...
(unless (and inst->id->amsIgnore
(equal inst->id->amsIgnore "ignore")
)
;; Not to be ignored ...
(amsPrintInstance formatter cellview inst)
) ; unless
;; The else part: master is not corrPoint
(amsPrintInstance formatter cellview inst)
) ; if
) ; defun

Vlog->instanceProc = 'Proc1







Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<9hu2qv8ikfvd1qs7jcjgcnoke4jviq5mc9@4ax.com>...
Hi Erik,

Actually the problem here is really AMS Designer. This is something that has been
resolved in the IC5033 release by support for AMS Netlist Procedures - I have
a solution somewhere which explains how to do this (it was suggested by R&D
when I reported a similar problem).

Normally for most netlisters you wouldn't put nlAction=ignore on the symbol
unless you wanted it ignored in all tools - you'd put the ignore on
the stopping view. The trouble is with AMS Designer is that the netlisting of
each cellView is done independently, and so the switch list type info is
not used until elaboration time.

So you end up having to write a netlisting procedure to explicitly support
a special property to prevent netlisting in AMS Designer - and netlisting
procedures for AMS are only supported from IC5033 onwards.

As I'm out of the office on vacation until next week, I can't easily look this up,
but I'm sure somebody in support could find the PCR which asks for an
ignore - just found a record in my notes that it was PCR 601739.

Andrew.


On 30 Oct 2003 08:08:25 -0800, erikwanta@starband.net (Erik Wanta) wrote:

I am trying to get a component not to netlist in AMS Designer but
still netlist for assura. I added an nlAction ignore property to the
symbol and it doesn't netlist for AMSD but Assura doesn't netlist it.

I was able to get layoutXL to bring in the testpoints with
envSetVal("layoutXL" "ignoreNames" `string "vxlIgnore lvsIgnore
ignore"). That is I removed the nlAction from the ignore name list.
I can't find the equivalent for assura. I would think assura would
use lvsIgnore instead of nlAction anyway.

Does anyone know of a way to get Assura to not use the nlAction
property?
---
Erik
--
Andrew Beckett
Senior Technical Leader
Custom IC Solutions
Cadence Design Systems Ltd
 
Hi!

I am having some problems with Aptivia and I think that the problem
might be that I don't have e new enough version of Cadence. Does anyone
know what version I need to have? At the moment I am using subversion
4.4.6.100.29

Regards Anna Klevbrink
 
Aptivia is quite new, and that's quite old. I'd go for the latest MSR, MSR11, I
think. MSR12 is due out soon, if I remember rightly.

Andrew.

On Mon, 26 Apr 2004 14:04:16 +0200, Anna-Charlotta Klevbrink
<annkl614@isy.liu.se> wrote:

Hi!

I am having some problems with Aptivia and I think that the problem
might be that I don't have e new enough version of Cadence. Does anyone
know what version I need to have? At the moment I am using subversion
4.4.6.100.29

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

Welcome to EDABoard.com

Sponsor

Back
Top