Xyce  6.1
Xyce::Device::BJT::Model Class Reference

#include <N_DEV_BJT.h>

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

Public Member Functions

 Model (const Configuration &configuration, const ModelBlock &MB, const FactoryBlock &factory_block)
 
 ~Model ()
 
void updateIntermediateParams ()
 
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_filename, int netlist_line)
 
virtual ~DeviceEntity ()
 
virtual CompositeParamconstructComposite (const std::string &composite_name, const std::string &param_name)
 
bool setDefaultParam (double val, bool overrideOriginal=false)
 
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 analyticSensitivityAvailableDefaultParam ()
 
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 getAnalyticSensitivityDefaultParam (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 overrideOriginal=false)
 
bool getParam (const std::string &paramName, double &result) const
 
bool findParam (const std::string &param_name) const
 
bool getParamBreakpoints (std::vector< Util::BreakPoint > &)
 
bool updateDependentParameters (const Linear::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 TYPE
 
double TNOM
 
double satCur
 
double betaF
 
bool BFgiven
 
bool BFMgiven
 
double emissionCoeffF
 
double earlyVoltF
 
bool VAgiven
 
bool VAFgiven
 
bool VBFgiven
 
double rollOffF
 
bool IKFgiven
 
bool IKgiven
 
bool JBFgiven
 
double leakBECurrent
 
double leakBEEmissionCoeff
 
bool NEgiven
 
bool NLEgiven
 
double betaR
 
bool BRgiven
 
bool BRMgiven
 
double emissionCoeffR
 
double earlyVoltR
 
bool VARgiven
 
bool VBgiven
 
bool VRBgiven
 
bool BVgiven
 
double rollOffR
 
bool IKRgiven
 
bool JBRgiven
 
double leakBCCurrent
 
double leakBCEmissionCoeff
 
double baseResist
 
double baseCurrHalfResist
 
bool IRBgiven
 
bool JRBgiven
 
bool IOBgiven
 
double minBaseResist
 
double emitterResist
 
double collectorResist
 
double depCapBE
 
double potBE
 
bool VJEgiven
 
bool PEgiven
 
double juncExpBE
 
bool MJEgiven
 
bool MEgiven
 
double transTimeF
 
double transTimeBiasCoeffF
 
double transTimeFVBC
 
double transTimeHighCurrF
 
bool ITFgiven
 
bool JTFgiven
 
bool VTFgiven
 
double excessPhase
 
double depCapBC
 
double potBC
 
bool VJCgiven
 
bool PCgiven
 
double juncExpBC
 
bool MJCgiven
 
bool MCgiven
 
double baseFracBCCap
 
bool XCJCgiven
 
bool CDISgiven
 
double transTimeR
 
double CJS
 
bool CJSgiven
 
bool CCSgiven
 
bool CSUBgiven
 
double potSubst
 
bool VJSgiven
 
bool PSgiven
 
bool PSUBgiven
 
double expSubst
 
bool MJSgiven
 
bool MSgiven
 
bool ESUBgiven
 
double betaExp
 
bool XTBgiven
 
bool TBgiven
 
bool TCBgiven
 
double energyGap
 
double tempExpIS
 
bool XTIgiven
 
bool PTgiven
 
double depCapCoeff
 
double fNCoeff
 
double fNExp
 
double rollOffExp
 
bool FCgiven
 
bool NKgiven
 
bool NKFgiven
 
double c2
 
double c4
 
bool leakBECurrentGiven
 
bool JLEgiven
 
bool leakBCCurrentGiven
 
bool JLCgiven
 
bool c2Given
 
bool c4Given
 
bool minBaseResistGiven
 
double invEarlyVoltF
 
double invEarlyVoltR
 
double invRollOffF
 
double invRollOffR
 
double collectorConduct
 
double emitterConduct
 
double transTimeVBCFac
 
double excessPhaseFac
 
double f2
 
double f3
 
double f6
 
double f7
 

Friends

class ParametricData< Model >
 
class Instance
 
class Traits
 
class Master
 
class bjtInstanceSensitivity
 
class bjtModelSensitivity
 

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 1020 of file N_DEV_BJT.h.

Member Typedef Documentation

typedef std::vector<Instance *> Xyce::Device::BJT::Model::InstanceVector
private

Definition at line 1022 of file N_DEV_BJT.h.

Constructor & Destructor Documentation

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

Definition at line 3729 of file N_DEV_BJT.C.

Xyce::Device::BJT::Model::~Model ( )

Definition at line 4145 of file N_DEV_BJT.C.

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

Member Function Documentation

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

Definition at line 1056 of file N_DEV_BJT.h.

void Xyce::Device::BJT::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 4209 of file N_DEV_BJT.C.

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

Implements Xyce::Device::DeviceModel.

Definition at line 4167 of file N_DEV_BJT.C.

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

processInstanceParams

Returns
true if parameter processing was successful

Implements Xyce::Device::DeviceModel.

Definition at line 3706 of file N_DEV_BJT.C.

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

processParams

Returns
true if parameter processing was successful

Implements Xyce::Device::DeviceModel.

Definition at line 3625 of file N_DEV_BJT.C.

void Xyce::Device::BJT::Model::updateIntermediateParams ( )

Friends And Related Function Documentation

friend class bjtInstanceSensitivity
friend

Definition at line 1028 of file N_DEV_BJT.h.

friend class bjtModelSensitivity
friend

Definition at line 1029 of file N_DEV_BJT.h.

friend class Instance
friend

Definition at line 1025 of file N_DEV_BJT.h.

friend class Master
friend

Definition at line 1027 of file N_DEV_BJT.h.

friend class ParametricData< Model >
friend

Definition at line 1024 of file N_DEV_BJT.h.

friend class Traits
friend

Definition at line 1026 of file N_DEV_BJT.h.

Member Data Documentation

double Xyce::Device::BJT::Model::baseCurrHalfResist
private

Definition at line 1109 of file N_DEV_BJT.h.

double Xyce::Device::BJT::Model::baseFracBCCap
private

Definition at line 1145 of file N_DEV_BJT.h.

double Xyce::Device::BJT::Model::baseResist
private

Definition at line 1108 of file N_DEV_BJT.h.

double Xyce::Device::BJT::Model::betaExp
private

Definition at line 1166 of file N_DEV_BJT.h.

double Xyce::Device::BJT::Model::betaF
private

Definition at line 1071 of file N_DEV_BJT.h.

double Xyce::Device::BJT::Model::betaR
private

Definition at line 1090 of file N_DEV_BJT.h.

bool Xyce::Device::BJT::Model::BFgiven
private

Definition at line 1072 of file N_DEV_BJT.h.

bool Xyce::Device::BJT::Model::BFMgiven
private

Definition at line 1073 of file N_DEV_BJT.h.

bool Xyce::Device::BJT::Model::BRgiven
private

Definition at line 1091 of file N_DEV_BJT.h.

bool Xyce::Device::BJT::Model::BRMgiven
private

Definition at line 1092 of file N_DEV_BJT.h.

bool Xyce::Device::BJT::Model::BVgiven
private

Definition at line 1099 of file N_DEV_BJT.h.

double Xyce::Device::BJT::Model::c2
private

Definition at line 1186 of file N_DEV_BJT.h.

bool Xyce::Device::BJT::Model::c2Given
private

Definition at line 1194 of file N_DEV_BJT.h.

double Xyce::Device::BJT::Model::c4
private

Definition at line 1187 of file N_DEV_BJT.h.

bool Xyce::Device::BJT::Model::c4Given
private

Definition at line 1195 of file N_DEV_BJT.h.

bool Xyce::Device::BJT::Model::CCSgiven
private

Definition at line 1153 of file N_DEV_BJT.h.

bool Xyce::Device::BJT::Model::CDISgiven
private

Definition at line 1147 of file N_DEV_BJT.h.

double Xyce::Device::BJT::Model::CJS
private

Definition at line 1151 of file N_DEV_BJT.h.

bool Xyce::Device::BJT::Model::CJSgiven
private

Definition at line 1152 of file N_DEV_BJT.h.

double Xyce::Device::BJT::Model::collectorConduct
private

Definition at line 1203 of file N_DEV_BJT.h.

double Xyce::Device::BJT::Model::collectorResist
private

Definition at line 1116 of file N_DEV_BJT.h.

bool Xyce::Device::BJT::Model::CSUBgiven
private

Definition at line 1154 of file N_DEV_BJT.h.

double Xyce::Device::BJT::Model::depCapBC
private

Definition at line 1136 of file N_DEV_BJT.h.

double Xyce::Device::BJT::Model::depCapBE
private

Definition at line 1118 of file N_DEV_BJT.h.

double Xyce::Device::BJT::Model::depCapCoeff
private

Definition at line 1176 of file N_DEV_BJT.h.

double Xyce::Device::BJT::Model::earlyVoltF
private

Definition at line 1075 of file N_DEV_BJT.h.

double Xyce::Device::BJT::Model::earlyVoltR
private

Definition at line 1095 of file N_DEV_BJT.h.

double Xyce::Device::BJT::Model::emissionCoeffF
private

Definition at line 1074 of file N_DEV_BJT.h.

double Xyce::Device::BJT::Model::emissionCoeffR
private

Definition at line 1094 of file N_DEV_BJT.h.

double Xyce::Device::BJT::Model::emitterConduct
private

Definition at line 1204 of file N_DEV_BJT.h.

double Xyce::Device::BJT::Model::emitterResist
private

Definition at line 1115 of file N_DEV_BJT.h.

double Xyce::Device::BJT::Model::energyGap
private

Definition at line 1171 of file N_DEV_BJT.h.

bool Xyce::Device::BJT::Model::ESUBgiven
private

Definition at line 1164 of file N_DEV_BJT.h.

double Xyce::Device::BJT::Model::excessPhase
private

Definition at line 1134 of file N_DEV_BJT.h.

double Xyce::Device::BJT::Model::excessPhaseFac
private

Definition at line 1206 of file N_DEV_BJT.h.

double Xyce::Device::BJT::Model::expSubst
private

Definition at line 1161 of file N_DEV_BJT.h.

double Xyce::Device::BJT::Model::f2
private

Definition at line 1208 of file N_DEV_BJT.h.

double Xyce::Device::BJT::Model::f3
private

Definition at line 1209 of file N_DEV_BJT.h.

double Xyce::Device::BJT::Model::f6
private

Definition at line 1210 of file N_DEV_BJT.h.

double Xyce::Device::BJT::Model::f7
private

Definition at line 1211 of file N_DEV_BJT.h.

bool Xyce::Device::BJT::Model::FCgiven
private

Definition at line 1182 of file N_DEV_BJT.h.

double Xyce::Device::BJT::Model::fNCoeff
private

Definition at line 1177 of file N_DEV_BJT.h.

double Xyce::Device::BJT::Model::fNExp
private

Definition at line 1178 of file N_DEV_BJT.h.

bool Xyce::Device::BJT::Model::IKFgiven
private

Definition at line 1081 of file N_DEV_BJT.h.

bool Xyce::Device::BJT::Model::IKgiven
private

Definition at line 1082 of file N_DEV_BJT.h.

bool Xyce::Device::BJT::Model::IKRgiven
private

Definition at line 1103 of file N_DEV_BJT.h.

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

Definition at line 1062 of file N_DEV_BJT.h.

double Xyce::Device::BJT::Model::invEarlyVoltF
private

Definition at line 1199 of file N_DEV_BJT.h.

double Xyce::Device::BJT::Model::invEarlyVoltR
private

Definition at line 1200 of file N_DEV_BJT.h.

double Xyce::Device::BJT::Model::invRollOffF
private

Definition at line 1201 of file N_DEV_BJT.h.

double Xyce::Device::BJT::Model::invRollOffR
private

Definition at line 1202 of file N_DEV_BJT.h.

bool Xyce::Device::BJT::Model::IOBgiven
private

Definition at line 1112 of file N_DEV_BJT.h.

bool Xyce::Device::BJT::Model::IRBgiven
private

Definition at line 1110 of file N_DEV_BJT.h.

bool Xyce::Device::BJT::Model::ITFgiven
private

Definition at line 1131 of file N_DEV_BJT.h.

bool Xyce::Device::BJT::Model::JBFgiven
private

Definition at line 1083 of file N_DEV_BJT.h.

bool Xyce::Device::BJT::Model::JBRgiven
private

Definition at line 1104 of file N_DEV_BJT.h.

bool Xyce::Device::BJT::Model::JLCgiven
private

Definition at line 1192 of file N_DEV_BJT.h.

bool Xyce::Device::BJT::Model::JLEgiven
private

Definition at line 1190 of file N_DEV_BJT.h.

bool Xyce::Device::BJT::Model::JRBgiven
private

Definition at line 1111 of file N_DEV_BJT.h.

bool Xyce::Device::BJT::Model::JTFgiven
private

Definition at line 1132 of file N_DEV_BJT.h.

double Xyce::Device::BJT::Model::juncExpBC
private

Definition at line 1141 of file N_DEV_BJT.h.

double Xyce::Device::BJT::Model::juncExpBE
private

Definition at line 1123 of file N_DEV_BJT.h.

double Xyce::Device::BJT::Model::leakBCCurrent
private

Definition at line 1105 of file N_DEV_BJT.h.

bool Xyce::Device::BJT::Model::leakBCCurrentGiven
private

Definition at line 1191 of file N_DEV_BJT.h.

double Xyce::Device::BJT::Model::leakBCEmissionCoeff
private

Definition at line 1106 of file N_DEV_BJT.h.

double Xyce::Device::BJT::Model::leakBECurrent
private

Definition at line 1085 of file N_DEV_BJT.h.

bool Xyce::Device::BJT::Model::leakBECurrentGiven
private

Definition at line 1189 of file N_DEV_BJT.h.

double Xyce::Device::BJT::Model::leakBEEmissionCoeff
private

Definition at line 1086 of file N_DEV_BJT.h.

bool Xyce::Device::BJT::Model::MCgiven
private

Definition at line 1143 of file N_DEV_BJT.h.

bool Xyce::Device::BJT::Model::MEgiven
private

Definition at line 1125 of file N_DEV_BJT.h.

double Xyce::Device::BJT::Model::minBaseResist
private

Definition at line 1114 of file N_DEV_BJT.h.

bool Xyce::Device::BJT::Model::minBaseResistGiven
private

Definition at line 1196 of file N_DEV_BJT.h.

bool Xyce::Device::BJT::Model::MJCgiven
private

Definition at line 1142 of file N_DEV_BJT.h.

bool Xyce::Device::BJT::Model::MJEgiven
private

Definition at line 1124 of file N_DEV_BJT.h.

bool Xyce::Device::BJT::Model::MJSgiven
private

Definition at line 1162 of file N_DEV_BJT.h.

bool Xyce::Device::BJT::Model::MSgiven
private

Definition at line 1163 of file N_DEV_BJT.h.

bool Xyce::Device::BJT::Model::NEgiven
private

Definition at line 1087 of file N_DEV_BJT.h.

bool Xyce::Device::BJT::Model::NKFgiven
private

Definition at line 1184 of file N_DEV_BJT.h.

bool Xyce::Device::BJT::Model::NKgiven
private

Definition at line 1183 of file N_DEV_BJT.h.

bool Xyce::Device::BJT::Model::NLEgiven
private

Definition at line 1088 of file N_DEV_BJT.h.

bool Xyce::Device::BJT::Model::PCgiven
private

Definition at line 1139 of file N_DEV_BJT.h.

bool Xyce::Device::BJT::Model::PEgiven
private

Definition at line 1121 of file N_DEV_BJT.h.

double Xyce::Device::BJT::Model::potBC
private

Definition at line 1137 of file N_DEV_BJT.h.

double Xyce::Device::BJT::Model::potBE
private

Definition at line 1119 of file N_DEV_BJT.h.

double Xyce::Device::BJT::Model::potSubst
private

Definition at line 1156 of file N_DEV_BJT.h.

bool Xyce::Device::BJT::Model::PSgiven
private

Definition at line 1158 of file N_DEV_BJT.h.

bool Xyce::Device::BJT::Model::PSUBgiven
private

Definition at line 1159 of file N_DEV_BJT.h.

bool Xyce::Device::BJT::Model::PTgiven
private

Definition at line 1174 of file N_DEV_BJT.h.

double Xyce::Device::BJT::Model::rollOffExp
private

Definition at line 1180 of file N_DEV_BJT.h.

double Xyce::Device::BJT::Model::rollOffF
private

Definition at line 1080 of file N_DEV_BJT.h.

double Xyce::Device::BJT::Model::rollOffR
private

Definition at line 1102 of file N_DEV_BJT.h.

double Xyce::Device::BJT::Model::satCur
private

Definition at line 1069 of file N_DEV_BJT.h.

bool Xyce::Device::BJT::Model::TBgiven
private

Definition at line 1168 of file N_DEV_BJT.h.

bool Xyce::Device::BJT::Model::TCBgiven
private

Definition at line 1169 of file N_DEV_BJT.h.

double Xyce::Device::BJT::Model::tempExpIS
private

Definition at line 1172 of file N_DEV_BJT.h.

double Xyce::Device::BJT::Model::TNOM
private

Definition at line 1068 of file N_DEV_BJT.h.

double Xyce::Device::BJT::Model::transTimeBiasCoeffF
private

Definition at line 1128 of file N_DEV_BJT.h.

double Xyce::Device::BJT::Model::transTimeF
private

Definition at line 1127 of file N_DEV_BJT.h.

double Xyce::Device::BJT::Model::transTimeFVBC
private

Definition at line 1129 of file N_DEV_BJT.h.

double Xyce::Device::BJT::Model::transTimeHighCurrF
private

Definition at line 1130 of file N_DEV_BJT.h.

double Xyce::Device::BJT::Model::transTimeR
private

Definition at line 1149 of file N_DEV_BJT.h.

double Xyce::Device::BJT::Model::transTimeVBCFac
private

Definition at line 1205 of file N_DEV_BJT.h.

int Xyce::Device::BJT::Model::TYPE
private

Definition at line 1067 of file N_DEV_BJT.h.

bool Xyce::Device::BJT::Model::VAFgiven
private

Definition at line 1077 of file N_DEV_BJT.h.

bool Xyce::Device::BJT::Model::VAgiven
private

Definition at line 1076 of file N_DEV_BJT.h.

bool Xyce::Device::BJT::Model::VARgiven
private

Definition at line 1096 of file N_DEV_BJT.h.

bool Xyce::Device::BJT::Model::VBFgiven
private

Definition at line 1078 of file N_DEV_BJT.h.

bool Xyce::Device::BJT::Model::VBgiven
private

Definition at line 1097 of file N_DEV_BJT.h.

bool Xyce::Device::BJT::Model::VJCgiven
private

Definition at line 1138 of file N_DEV_BJT.h.

bool Xyce::Device::BJT::Model::VJEgiven
private

Definition at line 1120 of file N_DEV_BJT.h.

bool Xyce::Device::BJT::Model::VJSgiven
private

Definition at line 1157 of file N_DEV_BJT.h.

bool Xyce::Device::BJT::Model::VRBgiven
private

Definition at line 1098 of file N_DEV_BJT.h.

bool Xyce::Device::BJT::Model::VTFgiven
private

Definition at line 1133 of file N_DEV_BJT.h.

bool Xyce::Device::BJT::Model::XCJCgiven
private

Definition at line 1146 of file N_DEV_BJT.h.

bool Xyce::Device::BJT::Model::XTBgiven
private

Definition at line 1167 of file N_DEV_BJT.h.

bool Xyce::Device::BJT::Model::XTIgiven
private

Definition at line 1173 of file N_DEV_BJT.h.


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