Xyce  6.1
Xyce::Device::Digital::Model Class Reference

#include <N_DEV_Digital.h>

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

Public Member Functions

 Model (const Configuration &configuration, const ModelBlock &MB, const FactoryBlock &factory_block)
 
 ~Model ()
 
bool processParams ()
 processParams More...
 
bool processInstanceParams ()
 processInstanceParams More...
 
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
 
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
 
double vlo
 
double vhi
 
double vref
 
double clo
 
double chi
 
double cload
 
double rload
 
double s0rlo
 
double s0rhi
 
double s0tsw
 
double s0vlo
 
double s0vhi
 
double s1rlo
 
double s1rhi
 
double s1tsw
 
double s1vlo
 
double s1vhi
 
double delay
 
double gload
 

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 285 of file N_DEV_Digital.h.

Member Typedef Documentation

Definition at line 287 of file N_DEV_Digital.h.

Constructor & Destructor Documentation

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

Definition at line 1617 of file N_DEV_Digital.C.

Xyce::Device::Digital::Model::~Model ( )

Definition at line 1655 of file N_DEV_Digital.C.

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

Member Function Documentation

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

Definition at line 313 of file N_DEV_Digital.h.

void Xyce::Device::Digital::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 1717 of file N_DEV_Digital.C.

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

Implements Xyce::Device::DeviceModel.

Definition at line 1677 of file N_DEV_Digital.C.

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

processInstanceParams

Returns
true if parameter processing was successful

Implements Xyce::Device::DeviceModel.

Definition at line 1593 of file N_DEV_Digital.C.

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

processParams

Returns
true if parameter processing was successful

Implements Xyce::Device::DeviceModel.

Definition at line 1574 of file N_DEV_Digital.C.

Friends And Related Function Documentation

friend class Instance
friend

Definition at line 290 of file N_DEV_Digital.h.

friend class Master
friend

Definition at line 291 of file N_DEV_Digital.h.

friend class ParametricData< Model >
friend

Definition at line 289 of file N_DEV_Digital.h.

friend class Traits
friend

Definition at line 291 of file N_DEV_Digital.h.

Member Data Documentation

double Xyce::Device::Digital::Model::chi
private

Definition at line 327 of file N_DEV_Digital.h.

double Xyce::Device::Digital::Model::clo
private

Definition at line 326 of file N_DEV_Digital.h.

double Xyce::Device::Digital::Model::cload
private

Definition at line 328 of file N_DEV_Digital.h.

double Xyce::Device::Digital::Model::delay
private

Definition at line 340 of file N_DEV_Digital.h.

double Xyce::Device::Digital::Model::gload
private

Definition at line 344 of file N_DEV_Digital.h.

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

Definition at line 318 of file N_DEV_Digital.h.

double Xyce::Device::Digital::Model::rload
private

Definition at line 329 of file N_DEV_Digital.h.

double Xyce::Device::Digital::Model::s0rhi
private

Definition at line 331 of file N_DEV_Digital.h.

double Xyce::Device::Digital::Model::s0rlo
private

Definition at line 330 of file N_DEV_Digital.h.

double Xyce::Device::Digital::Model::s0tsw
private

Definition at line 332 of file N_DEV_Digital.h.

double Xyce::Device::Digital::Model::s0vhi
private

Definition at line 334 of file N_DEV_Digital.h.

double Xyce::Device::Digital::Model::s0vlo
private

Definition at line 333 of file N_DEV_Digital.h.

double Xyce::Device::Digital::Model::s1rhi
private

Definition at line 336 of file N_DEV_Digital.h.

double Xyce::Device::Digital::Model::s1rlo
private

Definition at line 335 of file N_DEV_Digital.h.

double Xyce::Device::Digital::Model::s1tsw
private

Definition at line 337 of file N_DEV_Digital.h.

double Xyce::Device::Digital::Model::s1vhi
private

Definition at line 339 of file N_DEV_Digital.h.

double Xyce::Device::Digital::Model::s1vlo
private

Definition at line 338 of file N_DEV_Digital.h.

double Xyce::Device::Digital::Model::vhi
private

Definition at line 324 of file N_DEV_Digital.h.

double Xyce::Device::Digital::Model::vlo
private

Definition at line 323 of file N_DEV_Digital.h.

double Xyce::Device::Digital::Model::vref
private

Definition at line 325 of file N_DEV_Digital.h.


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