The Designer's Guide Community Forum
https://designers-guide.org/forum/YaBB.pl
Other CAD Tools >> Entry Tools >> Extract spectre netlist issue
https://designers-guide.org/forum/YaBB.pl?num=1182765388

Message started by trashbox on Jun 25th, 2007, 2:56am

Title: Extract spectre netlist issue
Post by trashbox on Jun 25th, 2007, 2:56am

Hi guys,
How can I change the spectre-netlist format from "mx0 (net0 net1 net2 net3) pmos w=5u l=0.5u m=1" to "mx0 (net0 net1 net2 net3) pmos wr=5u lr=0.5u nf=1" automatically(without addtional perl script) when I use analog artist to extract it and simulate?

I try to editing the cell ("symbol" and "spectre" view) with CDF tool, but there is no w/l/m papramters in the extrated netlist after modification. Thanks.

Trashbox

Title: Re: Extract spectre netlist issue
Post by Ken Kundert on Jun 25th, 2007, 10:50am

You could simply add an inline subcircuit to the netlist that remaps the parameter names. Doing so would require that you also change the model name. You could use something like this


Code:
inline subckt pmos (d g s b)
   parameters wr lr nf
   pmos (d g s b) pmos_mod w=wr l=lr m=nf
ends pmos


-Ken

Title: Re: Extract spectre netlist issue
Post by trashbox on Jun 26th, 2007, 7:40pm

Hi Ken,
Thanks for you advice.
The purpose that I don't use perl or find/change in the text editor to change w/L/m to wr/Lr/nf is that I do not want to modify the netlist and I want to use the "netlist and run" button on ADE directly. So I prefer to having a wr/Lr/nf-based netlist extracted automatically by "netlist and run" with all possible setting, for example, how can I change the nmos parameter so that the netlist extracter tool (though I don't know which tool the cadence use) will get wr/Lr/nf instead of w/l/m.

Best regards,
Trashbox


Title: Re: Extract spectre netlist issue
Post by Ken Kundert on Jun 26th, 2007, 8:18pm

Put the inline subckt in a separate file and use the "include" capability of Artist to include it in the netlist.

-Ken

Title: Re: Extract spectre netlist issue
Post by trashbox on Jun 27th, 2007, 2:22am

Hi Ken,
Thanks for your patience. However it seems the multiplicity factor in "inline" block should evaluated to be a number instead of "nf". Please refer to my detailed information:

Foundry's mosfet model is in sub-circuit format as:
subckt n33_ckt_rf (1 2 3 4)
parameters lr=0.35u wr=10u nf=2
......
main (11 21 31 41) n33_rf l=lr w=wr m=nf
model n33_rf bsim3v3{
...
}
ends n33_ckt_rf

My netlist is the following as your advice:
subckt lcvco net0 OUTN OUTP VDD VSS
   M1 (net034 net037 net082 VSS) nmos w=4u l=400.00n m=2
   .....
ends lcvco

inline subckt nmos (d g s b)
   parameters wr lr nf
   nmos (d g s b) n33_ckt_rf w=wr l=lr m=nf
ends nmos

The simulation errors are:
Warning from spectre in `t_lcvco', during circuit read-in.
   M1: `w' is not a valid parameter for an instance of `nmos'.  Ignored.
   M1: `l' is not a valid parameter for an instance of `nmos'.  Ignored.
Error found by spectre in `nmos':`M1', in `lcvco':`I0', during hierarchy
       flattening.
   nmos: The value for the multiplicity factor `m' should evaluate to a
       number.

The error tells me that I should assign a number to nf in the inline block, however the multiplicity factor is different in different mosfet such as M1,M2 etc. What is your comment? Thank you very much!

Title: Re: Extract spectre netlist issue
Post by Ken Kundert on Jun 27th, 2007, 1:39pm

I suspect that you need to give a default value for nf when you declare it as a parameter of the inline subckt.

-Ken

The Designer's Guide Community Forum » Powered by YaBB 2.2.2!
YaBB © 2000-2008. All Rights Reserved.