Re: BSIM3 and technology related question
- From: Riad KACED <riad.kaced@xxxxxxxxx>
- Date: Thu, 15 May 2008 17:02:30 -0700 (PDT)
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.
.
- Follow-Ups:
- Re: BSIM3 and technology related question
- From: Riad KACED
- Re: BSIM3 and technology related question
- References:
- BSIM3 and technology related question
- From: solidrepellent
- Re: BSIM3 and technology related question
- From: Stefan Joeres
- Re: BSIM3 and technology related question
- From: Riad KACED
- Re: BSIM3 and technology related question
- From: solidrepellent
- BSIM3 and technology related question
- Prev by Date: Re: time gated pwl
- Next by Date: Re: BSIM3 and technology related question
- Previous by thread: Re: BSIM3 and technology related question
- Next by thread: Re: BSIM3 and technology related question
- Index(es):
Relevant Pages
|
|