netlistProcedure Help

E

Ercan Altuntas

Guest
Hi,

I am trying to write a netlistProcedure for spectre. If a schematic view exits for
the cellview, it will netlist this schematic a subcircuit. Otherwise a NPORT
device will be netlisted. s parameters are saved a text view in the cell view.
I couldn't find any examples for netlistProcedure. Can you give some hints for me?

Thanks
 
Ercan:
We typically just use a schematic and place down a nXport component
from analogLib for something like this. If you have a schematic view
and s parameters for the cell you could create schematic_sp view that
has the nXport component and use the hierarchy editor to switch to
schematic_sp for that cell.
---
Erik

ercan@vlsi.itu.edu.tr (Ercan Altuntas) wrote in message news:<108fadf.0408092242.499a8228@posting.google.com>...
Hi,

I am trying to write a netlistProcedure for spectre. If a schematic view exits for
the cellview, it will netlist this schematic a subcircuit. Otherwise a NPORT
device will be netlisted. s parameters are saved a text view in the cell view.
I couldn't find any examples for netlistProcedure. Can you give some hints for me?

Thanks
 
Ercan:
We typically just use a schematic and place down a nXport component
from analogLib for something like this. If you have a schematic view
and s parameters for the cell you could create schematic_sp view that
has the nXport component and use the hierarchy editor to switch to
schematic_sp for that cell.
---
Erik

ercan@vlsi.itu.edu.tr (Ercan Altuntas) wrote in message news:<108fadf.0408092242.499a8228@posting.google.com>...
Hi,

I am trying to write a netlistProcedure for spectre. If a schematic view exits for
the cellview, it will netlist this schematic a subcircuit. Otherwise a NPORT
device will be netlisted. s parameters are saved a text view in the cell view.
I couldn't find any examples for netlistProcedure. Can you give some hints for me?

Thanks
 
Hi Erik,

That is a good idea but my s parameter file is for a 6 port device and
I have to change analogLib for this and also file path has to be an absolote
path for nXport device. If the component is copied to another cell, then it
will use the original cell's s parameter file.

Thanks.



erikwanta@starband.net (Erik Wanta) wrote in message news:<84018314.0408101642.3737f259@posting.google.com>...
Ercan:
We typically just use a schematic and place down a nXport component
from analogLib for something like this. If you have a schematic view
and s parameters for the cell you could create schematic_sp view that
has the nXport component and use the hierarchy editor to switch to
schematic_sp for that cell.
---
Erik

ercan@vlsi.itu.edu.tr (Ercan Altuntas) wrote in message news:<108fadf.0408092242.499a8228@posting.google.com>...
Hi,

I am trying to write a netlistProcedure for spectre. If a schematic view exits for
the cellview, it will netlist this schematic a subcircuit. Otherwise a NPORT
device will be netlisted. s parameters are saved a text view in the cell view.
I couldn't find any examples for netlistProcedure. Can you give some hints for me?

Thanks
 
A couple of things:

1. in analogLib there is now nport which is a parameterised component and
supports a variable number of ports.

2. If you want to do specifically what you describe, copy (say) n2port from
analogLib into your library, and then use this as the netlisting procedure.
Remove dataFile from the CDF parameters of your cell - because the file
will be netlisted specifically by the netlisting procedure.

This code assumes that the sparam.sp file will be in the stopping cellView
(e.g. the spectre view).

defun( abNportNetlistProc (inst)
let((formatter netlister pathName)
;----------------------------------------------------------------
; Get hold of the formatter and netlister objects
;----------------------------------------------------------------
formatter=nlGetFormatter(inst)
netlister=nlGetNetlister(formatter)
;----------------------------------------------------------------
; Print the standard instance line
;----------------------------------------------------------------
nlPrintInst(formatter inst)
;----------------------------------------------------------------
; Add on the path to the sparam.sp within the cellView
;----------------------------------------------------------------
pathName=nlGetCurrentSwitchMaster(netlister)~>view~>readPath
nlPrintString(netlister
sprintf(nil " file=\"%s/sparam.sp\"" pathName)
) ; nlPrintString
t
)
)

If there's a schematic view, then the normal view switching will be used, and
it won't use the netlisting procedure in that case. So nothing special is
needed to support schematics.

Andrew.


On 12 Aug 2004 00:40:28 -0700, ercan@vlsi.itu.edu.tr (Ercan Altuntas) wrote:

Hi Erik,

That is a good idea but my s parameter file is for a 6 port device and
I have to change analogLib for this and also file path has to be an absolote
path for nXport device. If the component is copied to another cell, then it
will use the original cell's s parameter file.

Thanks.



erikwanta@starband.net (Erik Wanta) wrote in message news:<84018314.0408101642.3737f259@posting.google.com>...
Ercan:
We typically just use a schematic and place down a nXport component
from analogLib for something like this. If you have a schematic view
and s parameters for the cell you could create schematic_sp view that
has the nXport component and use the hierarchy editor to switch to
schematic_sp for that cell.
---
Erik

ercan@vlsi.itu.edu.tr (Ercan Altuntas) wrote in message news:<108fadf.0408092242.499a8228@posting.google.com>...
Hi,

I am trying to write a netlistProcedure for spectre. If a schematic view exits for
the cellview, it will netlist this schematic a subcircuit. Otherwise a NPORT
device will be netlisted. s parameters are saved a text view in the cell view.
I couldn't find any examples for netlistProcedure. Can you give some hints for me?

Thanks
--
Andrew Beckett
Senior Technical Leader
Custom IC Solutions
Cadence Design Systems Ltd
 
Hi,

Thanks for your answer. It is very helpful.

I have one more question. By default spectre is before schematic view and it is
the stop cell view. So is it possible to switch back to schematic from the
netlistProcedure?

Ercan



Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<mej9i055ot2058ftp002lthtc28sk4csj7@4ax.com>...
A couple of things:

1. in analogLib there is now nport which is a parameterised component and
supports a variable number of ports.

2. If you want to do specifically what you describe, copy (say) n2port from
analogLib into your library, and then use this as the netlisting procedure.
Remove dataFile from the CDF parameters of your cell - because the file
will be netlisted specifically by the netlisting procedure.

This code assumes that the sparam.sp file will be in the stopping cellView
(e.g. the spectre view).

defun( abNportNetlistProc (inst)
let((formatter netlister pathName)
;----------------------------------------------------------------
; Get hold of the formatter and netlister objects
;----------------------------------------------------------------
formatter=nlGetFormatter(inst)
netlister=nlGetNetlister(formatter)
;----------------------------------------------------------------
; Print the standard instance line
;----------------------------------------------------------------
nlPrintInst(formatter inst)
;----------------------------------------------------------------
; Add on the path to the sparam.sp within the cellView
;----------------------------------------------------------------
pathName=nlGetCurrentSwitchMaster(netlister)~>view~>readPath
nlPrintString(netlister
sprintf(nil " file=\"%s/sparam.sp\"" pathName)
) ; nlPrintString
t
)
)

If there's a schematic view, then the normal view switching will be used, and
it won't use the netlisting procedure in that case. So nothing special is
needed to support schematics.

Andrew.


On 12 Aug 2004 00:40:28 -0700, ercan@vlsi.itu.edu.tr (Ercan Altuntas) wrote:

Hi Erik,

That is a good idea but my s parameter file is for a 6 port device and
I have to change analogLib for this and also file path has to be an absolote
path for nXport device. If the component is copied to another cell, then it
will use the original cell's s parameter file.

Thanks.



erikwanta@starband.net (Erik Wanta) wrote in message news:<84018314.0408101642.3737f259@posting.google.com>...
Ercan:
We typically just use a schematic and place down a nXport component
from analogLib for something like this. If you have a schematic view
and s parameters for the cell you could create schematic_sp view that
has the nXport component and use the hierarchy editor to switch to
schematic_sp for that cell.
---
Erik

ercan@vlsi.itu.edu.tr (Ercan Altuntas) wrote in message news:<108fadf.0408092242.499a8228@posting.google.com>...
Hi,

I am trying to write a netlistProcedure for spectre. If a schematic view exits for
the cellview, it will netlist this schematic a subcircuit. Otherwise a NPORT
device will be netlisted. s parameters are saved a text view in the cell view.
I couldn't find any examples for netlistProcedure. Can you give some hints for me?

Thanks
 
Ercan,

No, you can't change the view list from the netlist procedure. It's too late as the netlist procedure will only get
called if you're a stopping view. I can't think why you'd ever want it to work that way - it would remove the ability
for the user to decide which view he wanted.

You can control the switch list two ways. One using the hierarchy editor, as Eric Wanta outlined earlier. Second is to
change the switch list in the Setup->Environment form - which can be defaulted using the .cdsenv
setting:

spectre.envOpts switchViewList string "spectre cmos_sch cmos.sch schematic veriloga ahdl"

which can of course be done with SKILL:

envSetVal("spectre.envOpts" "switchViewList" 'string "spectre cmos_sch cmos.sch schematic veriloga ahdl")

(the above shows the default).

Andrew.


On 20 Aug 2004 04:55:17 -0700, ercan@vlsi.itu.edu.tr (Ercan Altuntas) wrote:

Hi,

Thanks for your answer. It is very helpful.

I have one more question. By default spectre is before schematic view and it is
the stop cell view. So is it possible to switch back to schematic from the
netlistProcedure?

Ercan
--
Andrew Beckett
Senior Technical Leader
Custom IC Solutions
Cadence Design Systems Ltd
 
I know these options. switching to schematic seems to be best way
because it is not practical to rely on extrapolated data from the s
parameter values.

Thank you very much.

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

No, you can't change the view list from the netlist procedure. It's too late as the netlist procedure will only get
called if you're a stopping view. I can't think why you'd ever want it to work that way - it would remove the ability
for the user to decide which view he wanted.

You can control the switch list two ways. One using the hierarchy editor, as Eric Wanta outlined earlier. Second is to
change the switch list in the Setup->Environment form - which can be defaulted using the .cdsenv
setting:

spectre.envOpts switchViewList string "spectre cmos_sch cmos.sch schematic veriloga ahdl"

which can of course be done with SKILL:

envSetVal("spectre.envOpts" "switchViewList" 'string "spectre cmos_sch cmos.sch schematic veriloga ahdl")

(the above shows the default).

Andrew.


On 20 Aug 2004 04:55:17 -0700, ercan@vlsi.itu.edu.tr (Ercan Altuntas) wrote:

Hi,

Thanks for your answer. It is very helpful.

I have one more question. By default spectre is before schematic view and it is
the stop cell view. So is it possible to switch back to schematic from the
netlistProcedure?

Ercan
 

Welcome to EDABoard.com

Sponsor

Back
Top