Setups for MOSFET_Finder.

Rather than doing a copy-paste of the param.ParameterFinder setup config for each and every MOSFET you wish to model, you're better off just setting Specs in your subclass to a class whose attributes define the particulars, goals, and knowns of that device.

There's really no substitute for looking at the source.

See param.Setups, my base class, for information about the various dicts that must be defined as class attributes or dict-producing methods. I define plotSpecs, analyzers, Xs, weights, transforms via those dict-producing methods.

Class Variable Specs You must define this in your subclass to a class whose attributes define the device-specific variables refenced in my setup methods, the device's parameter-finding goals, and any known parameters.
Class Variable EvalHelper My param.Setups base class lets subclasses define an evaluation helper that gets instantiated into their Specs instances with the eh attribute. Mine is MOSFET_Helper.
Class Variable defaultSpecs Default values for my attributes that are common to most all MOSFETs. You can override any of these in your component's .specs file. (type: dict)
Class Variable package The name of the package Subcircuit in lib.thermal for the device used in actual device testing, for setups that rely on an actual DUT (e.g., 351). (type: str)
Method plotSpecs Undocumented
Method analyzers Undocumented
Method independents Undocumented
Method Xs Undocumented
Method weights Undocumented
Method transforms Undocumented
Method constraints Undocumented

Inherited from Setups:

Class Variable goals Text or a text file defining the device's performance goals. Parsed by DataParser.
Class Variable specs Text or a text file defining the device's specifications. Parsed by SpecsParser.
Class Variable nameLists A dict of lists of vector names to retrieve after each analysis, each keyed by setup ID.
Class Variable logValues A set of vector names that should be evaluated and plotted in log space rather than linear. I will log-transform any goal points in X corresponding to such vector names. It's up to whoever uses me to do the same log transformation on simulation results.
Instance Variable netlists A setup ID-keyed dict of netlist file paths or text. Usually populated by ParameterFinder.
Class Method setdefaults Examines my class (or subclass), or an object if supplied as a sole argument, for attributes named in my defaultSpecs dict. Those not found are set to the default values.
Method __init__ Setups(**kw)
Method __contains__ I contain a setup ID if it's for a setup I run.
Method __len__ My length is the number of setups I run.
Method __iter__ I iterate over my setup IDs. You can change my IDs attribute during iteration if you want.
Method __getstate__ For pickling during wire evaluation.
Method __setstate__ For unpickling during wire evaluation.
Method setup Override this if you want custom setup at the beginning of my standard setup, right after setdefaults gets called and an EvalHelper instance is constructed.
Method _setupDicts Called by my constructor with a Specs object to replace any dict-producing callable attributes with their results.
Method _prune Called by my constructor to get (1) a sorted copy of my class-wide IDs list and (2) a pruned version of nameLists containing just entries for the enabled IDs.
Method _checkWeights Called by my constructor to make sure my weights dict is legit.
Method _finalizeXs Called by my constructor to finalize the setting up of a dict of evaluation goals, one Numpy 2-D array or callable evaluator per setup ID.
Specs =
You must define this in your subclass to a class whose attributes define the device-specific variables refenced in my setup methods, the device's parameter-finding goals, and any known parameters.
EvalHelper =
My param.Setups base class lets subclasses define an evaluation helper that gets instantiated into their Specs instances with the eh attribute. Mine is MOSFET_Helper.
defaultSpecs =
Default values for my attributes that are common to most all MOSFETs. You can override any of these in your component's .specs file. (type: dict)
package =
The name of the package Subcircuit in lib.thermal for the device used in actual device testing, for setups that rely on an actual DUT (e.g., 351). (type: str)
def plotSpecs(self, s):
def analyzers(self, s):
def independents(self, s):
def Xs(self, s):
Undocumented
def weights(self, s):
def transforms(self, s):
def constraints(self, s):
Undocumented
API Documentation for pingspice, generated by pydoctor at 2021-09-18 08:41:11.