I want to perform monte Carlo analysis of CMOS inverter by using PTM model, how we introduce threshold variation in the model file. if any body have sample Hspice code, I will very thank full....
Typically the value is passed on the command line at the time of evoking the run.
Here is the setup line from my simulator which has the ability to read several different library hierarchies:
foundry/process-name/mosst/param.lib 3s; -> that says use the 3 sigma values
foundry/process_name/mosst/model-name.lib wp -> that says use the wp values
- wp here is similar to FF,TT,SS etc.
note: file names are changed for confidentiality reasons
The actual file that the simulator uses is assembled at run time through a series of calls that are like ifdefine statements used in compilers. Here is a snip from a *.lib file
.lib tm
*bsim3v3
.include ./models/bsim3v3/parameter-name.par
.include ./models/bsim3v3/nmos-name.mod
.include ./models/bsim3v3/pmos-name.mod
This reads as "if the called library is tm then include these files in the subdirectories"
If you are using a graphical tool there will be command parameters that you have to set that get passed to the spice executable. If you are running from the command line this will go in to your scripts to call the spice executable.
Temperature is set as a global parameter and SPICE uses it to change the models.
Monte Carlo simulation uses process corners, Voltage and Temperature and schmoos the design (and can be used to schmoo the W/L and stray capacitances at higher levels) to see the safe operating area. It is very computationally intensive.
Corner analysis is much more and can be viewed to be setting the outer limits that monte carlo must stay within.
I would recommend that you snoop through the library directory and under stand how things are called. I bet you'll find stuff in the library that would surprise you.