Hello,
with respect to the discussion about Monte-Carlo simulation (
http://www.designers-guide.com/Forum/?board=circuit;action=post;num=1066706959;q...) I have the following problem. Using the syntax suggested by EVI and also presented in the Spectre documentation, I cannot use my models anymore with the corner sim tool.
The workaround I'm trying to implement is the following:
I have a .lib.scs file with the corner info, which calls the .mdl.scs file containing the BSIM transistor models. In the .lib.scs, I create an additional corner called mc which contains the statistics section, all other corners don't contain any statistics part. As the .mdl.scs file contains some calculations (like u0_mis/sqrt(w*l)), I have to keep the inline subckt parts in all corners.
Spectre runs fine with that, but when I use the corner sim, I get the following error:
model `M15.n' (TYP.n.n): parameter `u0': Encountered error which may be related to a reference to an inherited parameter in a subcircuit, where the subcircuit definition (or any of the ancestor subcircuit definitions) were declared before the parameter being referenced. Ensure that all top-level netlist parameters are declared before any subcircuits are defined.
input.scs says
include "..../mos.lib.scs" section=tt
...circuit definition and analysis description...
TYP altergroup {
include \
"..../mos.lib.scs" \
section=tt
}
FF altergroup {
include \
"..../mos.lib.scs" \
section=tt
}
Any suggestion on this? Thanks for your help,
Paul