Xyce  6.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Xyce::Device::MOSFET3::Model Class Reference

#include <N_DEV_MOSFET3.h>

Inheritance diagram for Xyce::Device::MOSFET3::Model:
Collaboration diagram for Xyce::Device::MOSFET3::Model:

Public Member Functions

 Model (const Configuration &configuration, const ModelBlock &MB, const FactoryBlock &factory_block)
 
 ~Model ()
 
virtual void forEachInstance (DeviceInstanceOp &op) const
 Apply a device instance "op" to all instances associated with this model. More...
 
virtual std::ostream & printOutInstances (std::ostream &os) const
 
bool processParams ()
 processParams More...
 
bool processInstanceParams ()
 processInstanceParams More...
 
void addInstance (Instance *instance)
 
- Public Member Functions inherited from Xyce::Device::DeviceModel
 DeviceModel (const ModelBlock &model_block, ParametricData< void > &parametric_data, const FactoryBlock &factory_block)
 
virtual ~DeviceModel ()
 
const std::string & getName () const
 
void setModParams (const std::vector< Param > &params)
 
virtual std::ostream & printName (std::ostream &os) const
 
virtual bool clearTemperatureData ()
 
void saveParams ()
 
bool interpolateTNOM (double)
 
bool interpolateDOSE (double)
 
void restoreParams ()
 
virtual bool getBinPrefixFlag ()
 
int getLevel () const
 
void setLevel (int level)
 
const std::string & getType () const
 
- Public Member Functions inherited from Xyce::Device::DeviceEntity
 DeviceEntity (ParametricData< void > &parametric_data, const SolverState &solver_state, const DeviceOptions &device_options, const std::string &netlist_path, int netlist_line)
 
virtual ~DeviceEntity ()
 
virtual CompositeParamconstructComposite (const std::string &composite_name, const std::string &param_name)
 
bool setDefaultParam (double val)
 
double getDefaultParam () const
 
bool scaleParam (const std::string &paramName, double val, double val0)
 
bool scaleParam (const std::string &paramName, double val)
 
bool scaleDefaultParam (double val)
 
bool analyticSensitivityAvailable (const std::string &paramName)
 
bool getAnalyticSensitivity (const std::string &paramName, std::vector< double > &dfdpVec, std::vector< double > &dqdpVec, std::vector< double > &dbdpVec, std::vector< int > &FindicesVec, std::vector< int > &QindicesVec, std::vector< int > &BindicesVec)
 
bool setParam (const std::string &paramName, double val)
 
bool getParam (const std::string &paramName, double &result) const
 
bool getParamBreakpoints (std::vector< Util::BreakPoint > &)
 
bool updateDependentParameters (N_LAS_Vector &vars)
 
bool updateDependentParameters (double temp_tmp)
 
bool updateGlobalParameters (GlobalParameterMap &)
 
bool updateDependentParameters ()
 
double setDependentParameter (Util::Param &, double *, ParameterType::ExprAccess)
 
double setDependentParameter (Util::Param &, std::vector< double > *, int, ParameterType::ExprAccess)
 
void setDependentParameter (Util::Param &par, Depend &dependentParam, ParameterType::ExprAccess depend)
 
void setDefaultParams ()
 
void setParams (const std::vector< Param > &params)
 
bool given (const std::string &parameter_name) const
 
void setDefaultParamName (const std::string &default_param_name)
 
const std::vector< Depend > & getDependentParams ()
 
void addDependentParameter (const Depend &param)
 
const DeviceOptionsgetDeviceOptions () const
 
const SolverStategetSolverState () const
 
const NetlistLocation & netlistLocation () const
 
const ParameterMapgetParameterMap () const
 
- Public Member Functions inherited from Xyce::Device::ParameterBase
 ParameterBase ()
 
virtual ~ParameterBase ()
 
double getOriginalValue (int serial_number)
 
void setOriginalValue (int serial_number, double value)
 
bool wasValueGiven (int serial_number) const
 
void setValueGiven (int serial_number, bool value)
 

Private Types

typedef std::vector< Instance * > InstanceVector
 

Private Member Functions

 Model ()
 
 Model (const Model &)
 
Modeloperator= (const Model &)
 

Private Attributes

std::vector< Instance * > instanceContainer
 
int dtype
 
double model_l
 
double model_w
 
double tnom
 
double latDiff
 
double jctSatCurDensity
 
double jctSatCur
 
double drainResistance
 
double sourceResistance
 
double sheetResistance
 
double transconductance
 
double gateSourceOverlapCapFactor
 
double gateDrainOverlapCapFactor
 
double gateBulkOverlapCapFactor
 
double oxideCapFactor
 
double vt0
 
double capBD
 
double capBS
 
double bulkCapFactor
 
double sideWallCapFactor
 
double bulkJctPotential
 
double bulkJctBotGradingCoeff
 
double bulkJctSideGradingCoeff
 
double fwdCapDepCoeff
 
double phi
 
double gamma
 
double substrateDoping
 
int gateType
 
double surfaceStateDensity
 
double oxideThickness
 
double surfaceMobility
 
double surfaceMobility0
 
double eta
 
double junctionDepth
 
double coeffDepLayWidth
 
double narrowFactor
 
double delta
 
double fastSurfaceStateDensity
 
double theta
 
double maxDriftVel
 
double alpha
 
double kappa
 
double fNcoef
 
double fNexp
 
bool capBDGiven
 
bool capBSGiven
 
bool bulkCapFactorGiven
 
bool sideWallCapFactorGiven
 
double fact1
 
double vtnom
 
double egfet1
 
double pbfact1
 

Friends

class ParametricData< Model >
 
class Instance
 
class Traits
 
class Master
 

Additional Inherited Members

- Static Public Member Functions inherited from Xyce::Device::DeviceModel
template<class T >
static void initThermalModel (ParametricData< T > &parametric_data)
 Add the parameter "TEMPMODEL" to the parametric_data. More...
 
template<class T >
static void initDoseModel (ParametricData< T > &parametric_data)
 Add the parameter "DOSEMODEL" to the parametric_data. More...
 
- Protected Attributes inherited from Xyce::Device::DeviceEntity
std::vector< int > expVarGIDs
 
std::vector< int > expVarLIDs
 
std::vector< std::string > expVarNames
 
std::vector< double > expVarVals
 
std::vector< double > eVarVals
 

Detailed Description

Definition at line 524 of file N_DEV_MOSFET3.h.

Member Typedef Documentation

Definition at line 526 of file N_DEV_MOSFET3.h.

Constructor & Destructor Documentation

Xyce::Device::MOSFET3::Model::Model ( const Configuration configuration,
const ModelBlock MB,
const FactoryBlock factory_block 
)

Definition at line 3081 of file N_DEV_MOSFET3.C.

Xyce::Device::MOSFET3::Model::~Model ( )

Definition at line 3190 of file N_DEV_MOSFET3.C.

Xyce::Device::MOSFET3::Model::Model ( )
private
Xyce::Device::MOSFET3::Model::Model ( const Model )
private

Member Function Documentation

void Xyce::Device::MOSFET3::Model::addInstance ( Instance instance)
inline

Definition at line 554 of file N_DEV_MOSFET3.h.

void Xyce::Device::MOSFET3::Model::forEachInstance ( DeviceInstanceOp op) const
virtual

Apply a device instance "op" to all instances associated with this model.

Parameters
[in]opOperator to apply to all instances.

Implements Xyce::Device::DeviceModel.

Definition at line 3245 of file N_DEV_MOSFET3.C.

Model& Xyce::Device::MOSFET3::Model::operator= ( const Model )
private
std::ostream & Xyce::Device::MOSFET3::Model::printOutInstances ( std::ostream &  os) const
virtual

Implements Xyce::Device::DeviceModel.

Definition at line 3211 of file N_DEV_MOSFET3.C.

bool Xyce::Device::MOSFET3::Model::processInstanceParams ( )
virtual

processInstanceParams

Returns
true if parameter processing was successful

Implements Xyce::Device::DeviceModel.

Definition at line 3059 of file N_DEV_MOSFET3.C.

bool Xyce::Device::MOSFET3::Model::processParams ( )
virtual

processParams

Returns
true if parameter processing was successful

Implements Xyce::Device::DeviceModel.

Definition at line 2970 of file N_DEV_MOSFET3.C.

Friends And Related Function Documentation

friend class Instance
friend

Definition at line 529 of file N_DEV_MOSFET3.h.

friend class Master
friend

Definition at line 530 of file N_DEV_MOSFET3.h.

friend class ParametricData< Model >
friend

Definition at line 528 of file N_DEV_MOSFET3.h.

friend class Traits
friend

Definition at line 530 of file N_DEV_MOSFET3.h.

Member Data Documentation

double Xyce::Device::MOSFET3::Model::alpha
private

Definition at line 604 of file N_DEV_MOSFET3.h.

double Xyce::Device::MOSFET3::Model::bulkCapFactor
private

Definition at line 582 of file N_DEV_MOSFET3.h.

bool Xyce::Device::MOSFET3::Model::bulkCapFactorGiven
private

Definition at line 611 of file N_DEV_MOSFET3.h.

double Xyce::Device::MOSFET3::Model::bulkJctBotGradingCoeff
private

Definition at line 585 of file N_DEV_MOSFET3.h.

double Xyce::Device::MOSFET3::Model::bulkJctPotential
private

Definition at line 584 of file N_DEV_MOSFET3.h.

double Xyce::Device::MOSFET3::Model::bulkJctSideGradingCoeff
private

Definition at line 586 of file N_DEV_MOSFET3.h.

double Xyce::Device::MOSFET3::Model::capBD
private

Definition at line 580 of file N_DEV_MOSFET3.h.

bool Xyce::Device::MOSFET3::Model::capBDGiven
private

Definition at line 609 of file N_DEV_MOSFET3.h.

double Xyce::Device::MOSFET3::Model::capBS
private

Definition at line 581 of file N_DEV_MOSFET3.h.

bool Xyce::Device::MOSFET3::Model::capBSGiven
private

Definition at line 610 of file N_DEV_MOSFET3.h.

double Xyce::Device::MOSFET3::Model::coeffDepLayWidth
private

Definition at line 598 of file N_DEV_MOSFET3.h.

double Xyce::Device::MOSFET3::Model::delta
private

Definition at line 600 of file N_DEV_MOSFET3.h.

double Xyce::Device::MOSFET3::Model::drainResistance
private

Definition at line 571 of file N_DEV_MOSFET3.h.

int Xyce::Device::MOSFET3::Model::dtype
private

Definition at line 564 of file N_DEV_MOSFET3.h.

double Xyce::Device::MOSFET3::Model::egfet1
private

Definition at line 621 of file N_DEV_MOSFET3.h.

double Xyce::Device::MOSFET3::Model::eta
private

Definition at line 596 of file N_DEV_MOSFET3.h.

double Xyce::Device::MOSFET3::Model::fact1
private

Definition at line 619 of file N_DEV_MOSFET3.h.

double Xyce::Device::MOSFET3::Model::fastSurfaceStateDensity
private

Definition at line 601 of file N_DEV_MOSFET3.h.

double Xyce::Device::MOSFET3::Model::fNcoef
private

Definition at line 606 of file N_DEV_MOSFET3.h.

double Xyce::Device::MOSFET3::Model::fNexp
private

Definition at line 607 of file N_DEV_MOSFET3.h.

double Xyce::Device::MOSFET3::Model::fwdCapDepCoeff
private

Definition at line 587 of file N_DEV_MOSFET3.h.

double Xyce::Device::MOSFET3::Model::gamma
private

Definition at line 589 of file N_DEV_MOSFET3.h.

double Xyce::Device::MOSFET3::Model::gateBulkOverlapCapFactor
private

Definition at line 577 of file N_DEV_MOSFET3.h.

double Xyce::Device::MOSFET3::Model::gateDrainOverlapCapFactor
private

Definition at line 576 of file N_DEV_MOSFET3.h.

double Xyce::Device::MOSFET3::Model::gateSourceOverlapCapFactor
private

Definition at line 575 of file N_DEV_MOSFET3.h.

int Xyce::Device::MOSFET3::Model::gateType
private

Definition at line 591 of file N_DEV_MOSFET3.h.

std::vector<Instance*> Xyce::Device::MOSFET3::Model::instanceContainer
private

Definition at line 560 of file N_DEV_MOSFET3.h.

double Xyce::Device::MOSFET3::Model::jctSatCur
private

Definition at line 570 of file N_DEV_MOSFET3.h.

double Xyce::Device::MOSFET3::Model::jctSatCurDensity
private

Definition at line 569 of file N_DEV_MOSFET3.h.

double Xyce::Device::MOSFET3::Model::junctionDepth
private

Definition at line 597 of file N_DEV_MOSFET3.h.

double Xyce::Device::MOSFET3::Model::kappa
private

Definition at line 605 of file N_DEV_MOSFET3.h.

double Xyce::Device::MOSFET3::Model::latDiff
private

Definition at line 568 of file N_DEV_MOSFET3.h.

double Xyce::Device::MOSFET3::Model::maxDriftVel
private

Definition at line 603 of file N_DEV_MOSFET3.h.

double Xyce::Device::MOSFET3::Model::model_l
private

Definition at line 565 of file N_DEV_MOSFET3.h.

double Xyce::Device::MOSFET3::Model::model_w
private

Definition at line 566 of file N_DEV_MOSFET3.h.

double Xyce::Device::MOSFET3::Model::narrowFactor
private

Definition at line 599 of file N_DEV_MOSFET3.h.

double Xyce::Device::MOSFET3::Model::oxideCapFactor
private

Definition at line 578 of file N_DEV_MOSFET3.h.

double Xyce::Device::MOSFET3::Model::oxideThickness
private

Definition at line 593 of file N_DEV_MOSFET3.h.

double Xyce::Device::MOSFET3::Model::pbfact1
private

Definition at line 622 of file N_DEV_MOSFET3.h.

double Xyce::Device::MOSFET3::Model::phi
private

Definition at line 588 of file N_DEV_MOSFET3.h.

double Xyce::Device::MOSFET3::Model::sheetResistance
private

Definition at line 573 of file N_DEV_MOSFET3.h.

double Xyce::Device::MOSFET3::Model::sideWallCapFactor
private

Definition at line 583 of file N_DEV_MOSFET3.h.

bool Xyce::Device::MOSFET3::Model::sideWallCapFactorGiven
private

Definition at line 612 of file N_DEV_MOSFET3.h.

double Xyce::Device::MOSFET3::Model::sourceResistance
private

Definition at line 572 of file N_DEV_MOSFET3.h.

double Xyce::Device::MOSFET3::Model::substrateDoping
private

Definition at line 590 of file N_DEV_MOSFET3.h.

double Xyce::Device::MOSFET3::Model::surfaceMobility
private

Definition at line 594 of file N_DEV_MOSFET3.h.

double Xyce::Device::MOSFET3::Model::surfaceMobility0
private

Definition at line 595 of file N_DEV_MOSFET3.h.

double Xyce::Device::MOSFET3::Model::surfaceStateDensity
private

Definition at line 592 of file N_DEV_MOSFET3.h.

double Xyce::Device::MOSFET3::Model::theta
private

Definition at line 602 of file N_DEV_MOSFET3.h.

double Xyce::Device::MOSFET3::Model::tnom
private

Definition at line 567 of file N_DEV_MOSFET3.h.

double Xyce::Device::MOSFET3::Model::transconductance
private

Definition at line 574 of file N_DEV_MOSFET3.h.

double Xyce::Device::MOSFET3::Model::vt0
private

Definition at line 579 of file N_DEV_MOSFET3.h.

double Xyce::Device::MOSFET3::Model::vtnom
private

Definition at line 620 of file N_DEV_MOSFET3.h.


The documentation for this class was generated from the following files: