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 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 overrideOriginal=false)
 
bool getParam (const std::string &paramName, double &result) const
 
bool getParamBreakpoints (std::vector< Util::BreakPoint > &)
 
bool updateDependentParameters (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
 
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 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
 

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

Member Typedef Documentation

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

Definition at line 543 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 3556 of file N_DEV_BJT.C.

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

Definition at line 3970 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 574 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 4034 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 3992 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 3533 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 3452 of file N_DEV_BJT.C.

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

Friends And Related Function Documentation

friend class Instance
friend

Definition at line 546 of file N_DEV_BJT.h.

friend class Master
friend

Definition at line 547 of file N_DEV_BJT.h.

friend class ParametricData< Model >
friend

Definition at line 545 of file N_DEV_BJT.h.

friend class Traits
friend

Definition at line 547 of file N_DEV_BJT.h.

Member Data Documentation

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

Definition at line 627 of file N_DEV_BJT.h.

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

Definition at line 662 of file N_DEV_BJT.h.

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

Definition at line 626 of file N_DEV_BJT.h.

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

Definition at line 683 of file N_DEV_BJT.h.

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

Definition at line 589 of file N_DEV_BJT.h.

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

Definition at line 608 of file N_DEV_BJT.h.

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

Definition at line 590 of file N_DEV_BJT.h.

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

Definition at line 591 of file N_DEV_BJT.h.

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

Definition at line 609 of file N_DEV_BJT.h.

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

Definition at line 610 of file N_DEV_BJT.h.

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

Definition at line 617 of file N_DEV_BJT.h.

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

Definition at line 701 of file N_DEV_BJT.h.

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

Definition at line 709 of file N_DEV_BJT.h.

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

Definition at line 702 of file N_DEV_BJT.h.

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

Definition at line 710 of file N_DEV_BJT.h.

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

Definition at line 670 of file N_DEV_BJT.h.

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

Definition at line 664 of file N_DEV_BJT.h.

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

Definition at line 668 of file N_DEV_BJT.h.

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

Definition at line 669 of file N_DEV_BJT.h.

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

Definition at line 718 of file N_DEV_BJT.h.

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

Definition at line 634 of file N_DEV_BJT.h.

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

Definition at line 671 of file N_DEV_BJT.h.

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

Definition at line 653 of file N_DEV_BJT.h.

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

Definition at line 636 of file N_DEV_BJT.h.

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

Definition at line 693 of file N_DEV_BJT.h.

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

Definition at line 593 of file N_DEV_BJT.h.

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

Definition at line 613 of file N_DEV_BJT.h.

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

Definition at line 592 of file N_DEV_BJT.h.

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

Definition at line 612 of file N_DEV_BJT.h.

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

Definition at line 719 of file N_DEV_BJT.h.

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

Definition at line 633 of file N_DEV_BJT.h.

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

Definition at line 688 of file N_DEV_BJT.h.

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

Definition at line 681 of file N_DEV_BJT.h.

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

Definition at line 651 of file N_DEV_BJT.h.

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

Definition at line 721 of file N_DEV_BJT.h.

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

Definition at line 678 of file N_DEV_BJT.h.

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

Definition at line 723 of file N_DEV_BJT.h.

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

Definition at line 724 of file N_DEV_BJT.h.

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

Definition at line 725 of file N_DEV_BJT.h.

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

Definition at line 726 of file N_DEV_BJT.h.

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

Definition at line 694 of file N_DEV_BJT.h.

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

Definition at line 695 of file N_DEV_BJT.h.

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

Definition at line 599 of file N_DEV_BJT.h.

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

Definition at line 600 of file N_DEV_BJT.h.

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

Definition at line 621 of file N_DEV_BJT.h.

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

Definition at line 580 of file N_DEV_BJT.h.

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

Definition at line 714 of file N_DEV_BJT.h.

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

Definition at line 715 of file N_DEV_BJT.h.

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

Definition at line 716 of file N_DEV_BJT.h.

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

Definition at line 717 of file N_DEV_BJT.h.

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

Definition at line 630 of file N_DEV_BJT.h.

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

Definition at line 628 of file N_DEV_BJT.h.

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

Definition at line 649 of file N_DEV_BJT.h.

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

Definition at line 601 of file N_DEV_BJT.h.

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

Definition at line 622 of file N_DEV_BJT.h.

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

Definition at line 707 of file N_DEV_BJT.h.

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

Definition at line 705 of file N_DEV_BJT.h.

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

Definition at line 629 of file N_DEV_BJT.h.

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

Definition at line 650 of file N_DEV_BJT.h.

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

Definition at line 658 of file N_DEV_BJT.h.

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

Definition at line 641 of file N_DEV_BJT.h.

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

Definition at line 623 of file N_DEV_BJT.h.

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

Definition at line 706 of file N_DEV_BJT.h.

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

Definition at line 624 of file N_DEV_BJT.h.

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

Definition at line 603 of file N_DEV_BJT.h.

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

Definition at line 704 of file N_DEV_BJT.h.

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

Definition at line 604 of file N_DEV_BJT.h.

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

Definition at line 660 of file N_DEV_BJT.h.

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

Definition at line 643 of file N_DEV_BJT.h.

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

Definition at line 632 of file N_DEV_BJT.h.

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

Definition at line 711 of file N_DEV_BJT.h.

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

Definition at line 659 of file N_DEV_BJT.h.

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

Definition at line 642 of file N_DEV_BJT.h.

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

Definition at line 679 of file N_DEV_BJT.h.

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

Definition at line 680 of file N_DEV_BJT.h.

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

Definition at line 605 of file N_DEV_BJT.h.

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

Definition at line 699 of file N_DEV_BJT.h.

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

Definition at line 698 of file N_DEV_BJT.h.

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

Definition at line 606 of file N_DEV_BJT.h.

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

Definition at line 656 of file N_DEV_BJT.h.

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

Definition at line 639 of file N_DEV_BJT.h.

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

Definition at line 654 of file N_DEV_BJT.h.

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

Definition at line 637 of file N_DEV_BJT.h.

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

Definition at line 673 of file N_DEV_BJT.h.

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

Definition at line 675 of file N_DEV_BJT.h.

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

Definition at line 676 of file N_DEV_BJT.h.

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

Definition at line 691 of file N_DEV_BJT.h.

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

Definition at line 697 of file N_DEV_BJT.h.

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

Definition at line 598 of file N_DEV_BJT.h.

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

Definition at line 620 of file N_DEV_BJT.h.

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

Definition at line 587 of file N_DEV_BJT.h.

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

Definition at line 685 of file N_DEV_BJT.h.

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

Definition at line 686 of file N_DEV_BJT.h.

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

Definition at line 689 of file N_DEV_BJT.h.

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

Definition at line 586 of file N_DEV_BJT.h.

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

Definition at line 646 of file N_DEV_BJT.h.

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

Definition at line 645 of file N_DEV_BJT.h.

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

Definition at line 647 of file N_DEV_BJT.h.

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

Definition at line 648 of file N_DEV_BJT.h.

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

Definition at line 666 of file N_DEV_BJT.h.

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

Definition at line 720 of file N_DEV_BJT.h.

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

Definition at line 585 of file N_DEV_BJT.h.

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

Definition at line 595 of file N_DEV_BJT.h.

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

Definition at line 594 of file N_DEV_BJT.h.

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

Definition at line 614 of file N_DEV_BJT.h.

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

Definition at line 596 of file N_DEV_BJT.h.

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

Definition at line 615 of file N_DEV_BJT.h.

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

Definition at line 655 of file N_DEV_BJT.h.

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

Definition at line 638 of file N_DEV_BJT.h.

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

Definition at line 674 of file N_DEV_BJT.h.

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

Definition at line 616 of file N_DEV_BJT.h.

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

Definition at line 663 of file N_DEV_BJT.h.

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

Definition at line 684 of file N_DEV_BJT.h.

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

Definition at line 690 of file N_DEV_BJT.h.


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