Re: BSIM3 and technology related question



Dear Naveen,

You could have helped me in telling me which simulator you're
using :-)
I assume spectre for the rest.
Before going into details, my solution is not going to help you if you
ar a GUIsh guy who is scared by the unix terminals ...

When you launch a spectre simulation, Cds creates a set of files into
your unix sim working dir y've defined in ADE. these files include:
1. input.scs, which is your main spectre netlist
2. runSimulation which is the shell script that runs spectre.

Assuming a dcOp simulation. if you open the input.scs, you will see
the following lines at some point :
dcOpInfo info what=oppoint where=rawfile
modelParameter info what=models where=rawfile
.....
Means that Spectre will dump the DC OP information (models, outputs,
subckts, opPoint ...) into a rawfile that ou can open with the Cds
resultBrowser from your psf dir. I'm usually hacking this netlist
changing rawfile to file in order for spectre to dump the results in
an ASCII file rather than a raw one.

Once the netlist hacked, I run Spectre either from ADE (!! DO NOT RE-
NETLIST) or by running the runSimulation shell script from unix.
A bench of 'input.info.X' files is then created, including :

input.info.models ==>
****************************************
Model parameter values `modelParameter':
****************************************
Model: M0.nmos.1
Primitive: bsim3v3
type = n
vtho = 775.197 mV
vfb = -1 V
k1 = 500.736 msqrt(V)
k2 = 73.1886e-03
k3 = 0
k3b = 0 1/V
..........

input.info.oppoint ==>

Instance: M0 of nmosSubckt
Model: M0.nmos.1
Primitive: bsim3v3
d : V(net5) = 2 V
g : V(net11) = 1 V
s : V(net2) = 0 V
b : V(net2) = 0 V
type = n
region = sat
reversed = no
ids = 407.12 uA
isub = 424.076 nA
vgs = 1 V
vds = 2 V
vbs = 0 V
vgb = 1 V
vdb = 2 V
vgd = -1 V
vth = 524.033 mV
vdsat = 250.463 mV
.................

Well, you get everything you want with this.

If you are interested in some specific parameters only, I would advice
to use ocean : There are some examples I've written over christmas I
think ...

selectResults('tranOp)
report(?output "myReport" ?type "bsim3v3" ?param "vth")

Will print :

Type : bsim3v3

/I0/M0 : vth = 1.004
/I0/M1 : vth = 1.014
/I0/M2 : vth = 836.7m
/I0/M3 : vth = 836.7m

dataTypes()
("bsim3v3" "capacitor" "inductor" "isource" "resistor" "vsource")

M0Vth = pv( "/I0/M0" "vth" ?result "tranOp")
printf("The value of VTH for M0 is %L\n" M0Vth)
==> The value of VTH for M0 is 1.004222

outPort = outfile("./MyRkResults.txt")
selectResults('model)
report(?output outPort ?type "bsim3v3" ?name "I0.M1.nmosmod" ?param
'("vtho" "k2" "w0" "dvt0" "dvt0w") )

==> Give a try ;-)

Riad.
.



Relevant Pages

  • Re: Monte Carlo Help to calculate std and mean.
    ... >Andrew) I am able to do it. ... >But my problem here is I have to do it on standalone spectre. ... >For Monte Carlo simulation, in order to run standalone spectre ...
    (comp.cad.cadence)
  • Monte Carlo Help to calculate std and mean.
    ... complete schematic directory of the design.As it has amap file having ... But my problem here is I have to do it on standalone spectre. ... For Monte Carlo simulation, in order to run standalone spectre ...
    (comp.cad.cadence)
  • Spectre: weird warnings when using well-known design kits
    ... Notice from spectre during hierarchy flattening. ... `jsw' has the unusual value of 50 fA/m. ... during circuit read-in. ... Do they affect the simulation results? ...
    (comp.cad.cadence)
  • Spectre: weird warnings when using well-known design kits
    ... Notice from spectre during hierarchy flattening. ... `jsw' has the unusual value of 50 fA/m. ... during circuit read-in. ... Do they affect the simulation results? ...
    (comp.cad.cadence)
  • Re: How to run monte carlo using spectreS
    ... spectre direct interface, hopefully you can help me find out ... after making a change before simulation. ... spectre direct simulation the icfb GUI will freeze for several seconds. ...
    (comp.cad.cadence)