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

#include <N_DEV_Digital.h>

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

Public Member Functions

 Instance (const Configuration &configuration, const InstanceBlock &IB, Model &Diter, const FactoryBlock &factory_block)
 
 ~Instance ()
 
void registerLIDs (const std::vector< int > &intLIDVecRef, const std::vector< int > &extLIDVecRef)
 
void registerStateLIDs (const std::vector< int > &staLIDVecRef)
 
std::map< int, std::string > & getIntNameMap ()
 
const std::vector< std::vector
< int > > & 
jacobianStamp () const
 
void registerJacLIDs (const std::vector< std::vector< int > > &jacLIDVec)
 
bool processParams ()
 
bool updateIntermediateVars ()
 
bool updatePrimaryState ()
 
bool updateSecondaryState ()
 
bool getInstanceBreakPoints (std::vector< N_UTL_BreakPoint > &)
 
bool loadDAEQVector ()
 
bool loadDAEFVector ()
 
bool loadDAEdQdx ()
 
bool loadDAEdFdx ()
 
std::string getDeviceLetter ()
 
ModelgetModel ()
 
- Public Member Functions inherited from Xyce::Device::DeviceInstance
 DeviceInstance (const InstanceBlock &instance_block, ParametricData< void > &parametric_data, const FactoryBlock &factory_block)
 
virtual ~DeviceInstance ()
 
virtual void enableLeadCurrentCalc ()
 
virtual void registerGIDs (const std::list< index_pair > &intGIDListRef, const std::list< index_pair > &extGIDListRef)
 
virtual void registerStateGIDs (const std::list< index_pair > &staGIDListRef)
 
virtual void registerStoreGIDs (const std::list< index_pair > &stoGIDListRef)
 
virtual void registerStoreLIDs (const std::vector< int > &stoLIDVecRef)
 
virtual const std::vector
< std::string > & 
getDepSolnVars ()
 
virtual void registerDepSolnGIDs (const std::vector< std::vector< int > > &varList)
 
virtual const std::vector
< std::string > & 
getDepStateVars ()
 
virtual void registerDepStateGIDs (const std::vector< std::vector< int > > &varList)
 
virtual const std::vector
< std::string > & 
getDepStoreVars ()
 
virtual void registerDepStoreGIDs (const std::vector< std::vector< int > > &varList)
 
virtual void registerDepSolnLIDs (const std::vector< std::vector< int > > &depSolnLIDVecRef)
 
virtual void registerDepStateLIDs (const std::vector< std::vector< int > > &depStaLIDVecRef)
 
virtual void registerDepStoreLIDs (const std::vector< std::vector< int > > &depStoLIDVecRef)
 
virtual void registerGIDData (const std::vector< int > &counts, const std::vector< int > &GIDs, const std::vector< std::vector< int > > &jacGIDs)
 
virtual void setupPointers ()
 
virtual void getDepSolnGIDVec (std::vector< int > &depGIDVec)
 
virtual bool getIndexPairList (std::list< index_pair > &iplRef)
 
virtual bool updateSource ()
 
virtual bool processInstanceParams ()
 
virtual bool updateTemperature (const double &temp_tmp)
 
virtual bool isConverged ()
 
virtual bool testDAEMatrices (std::vector< std::string > &nameVec)
 
virtual bool loadTrivialDAE_FMatrixStamp ()
 
bool trivialStampLoader (N_LAS_Matrix *matPtr)
 
bool zeroMatrixDiagonal (N_LAS_Matrix *matPtr)
 
virtual bool setIC ()
 
virtual bool plotfileFlag ()
 
virtual bool loadDeviceMask ()
 
virtual void acceptStep ()
 
int getNumIntVars () const
 
int getNumExtVars () const
 
int getNumStateVars () const
 
int getNumStoreVars () const
 
void setNumStoreVars (int num_store_vars)
 
virtual void getDevConMap (std::vector< int > &)
 
virtual DeviceStategetInternalState ()
 
virtual bool setInternalState (const DeviceState &state)
 
virtual bool loadDFDV (int iElectrode, N_LAS_Vector *dfdvPtr)
 
virtual bool calcConductance (int iElectrode, const N_LAS_Vector *dxdvPtr)
 
virtual std::map< int,
std::string > & 
getStateNameMap ()
 
virtual std::map< int,
std::string > & 
getStoreNameMap ()
 
void spiceInternalName (std::string &tmpname)
 
virtual bool outputPlotFiles ()
 
virtual bool enablePDEContinuation ()
 
virtual bool disablePDEContinuation ()
 
virtual void setPDEContinuationAlpha (double alpha)
 
virtual void setPDEContinuationBeta (double beta)
 
virtual bool setInitialGuess ()
 
virtual double getMaxTimeStepSize ()
 
virtual void varTypes (std::vector< char > &varTypeVec)
 
bool getOrigFlag () const
 
void setOrigFlag (bool origFlag_local)
 
const std::vector< int > & getDevLIDs () const
 
const std::vector< std::vector
< int > > & 
getDevJacLIDs () const
 
const std::vector< int > & getStaLIDVec () const
 
bool getMergeRowColChecked () const
 
void setMergeRowColChecked (bool mergeRowColChecked_local)
 
const MatrixLoadDatagetMatrixLoadData () const
 
MatrixLoadDatagetMatrixLoadData ()
 
- Public Member Functions inherited from Xyce::Device::DeviceEntity
 DeviceEntity (const char *const entity_type, const std::string &device_name, 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 ()
 
bool scaleParam (const std::string &paramName, double val, double val0)
 
bool scaleParam (const std::string &paramName, double val)
 
bool scaleDefaultParam (double val)
 
bool setParam (const std::string &paramName, double val)
 
bool getParam (const std::string &paramName, double &result)
 
bool getParamBreakpoints (std::vector< Util::BreakPoint > &)
 
bool updateDependentParameters (N_LAS_Vector &vars)
 
bool updateDependentParameters (double temp_tmp)
 
bool updateGlobalParameters (std::map< std::string, double > &)
 
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
 
const char * getEntityType () const
 
const std::string & getName () const
 
void setDefaultParamName (const std::string &default_param_name)
 
const std::vector< Depend > & getDependentParams ()
 
const DeviceOptionsgetDeviceOptions () const
 
const SolverStategetSolverState () const
 
const NetlistLocation & netlistLocation () const
 
const ParameterMapgetParameterMap () const
 
- Public Member Functions inherited from Xyce::Device::ParameterBase
 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

enum  gType {
  INV,
  NOT,
  AND,
  NAND,
  OR,
  NOR,
  ADD,
  XOR,
  NXOR,
  DFF,
  DLTCH,
  BUF
}
 

Private Member Functions

 Instance (const Instance &)
 
Instanceoperator= (const Instance &)
 

Private Attributes

Modelmodel_
 
std::vector< double > qlo
 
std::vector< double > ilo
 
std::vector< double > vcaplo
 
std::vector< double > qhi
 
std::vector< double > ihi
 
std::vector< double > vcaphi
 
std::vector< double > qref
 
std::vector< double > iref
 
std::vector< double > vcapref
 
std::vector< double > rilo
 
std::vector< double > rihi
 
std::vector< double > riref
 
std::vector< double > currentOut
 
std::vector< double > currentIn
 
std::vector< double > glo
 
std::vector< double > ghi
 
std::vector< double > qInp
 
std::vector< double > iInp
 
std::vector< double > vcapInp
 
std::vector< double > currentInp
 
bool ic1
 
bool ic2
 
bool ic3
 
int numInput
 
int numOutput
 
enum gType gate
 
int li_Lo
 
int li_Hi
 
int li_Ref
 
std::vector< int > li_Inp
 
std::vector< int > li_Out
 
std::vector< int > li_currentStateInp
 
std::vector< int > li_transitionTimeInp
 
std::vector< int > li_QinpState
 
std::vector< int > li_IinpState
 
std::vector< int > li_currentStateOut
 
std::vector< int > li_transitionTimeOut
 
std::vector< int > li_QloState
 
std::vector< int > li_IloState
 
std::vector< int > li_QhiState
 
std::vector< int > li_IhiState
 
std::vector< bool > inpL
 
std::vector< double > iTime
 
std::vector< bool > outL
 
std::vector< double > oTime
 
double breakTime
 
int row_Lo
 
int row_Hi
 
int row_Ref
 
std::vector< std::vector< int > > li_jac_Ref
 
std::vector< std::vector< int > > li_jac_Lo
 
std::vector< std::vector< int > > li_jac_Hi
 
std::vector< std::vector< int > > jacStamp
 

Friends

class ParametricData< Instance >
 
class Model
 
class Traits
 
class Master
 

Additional Inherited Members

- Public Attributes inherited from Xyce::Device::DeviceInstance
std::vector< int > & cols
 
std::vector< double > & vals
 
NumericalJacobiannumJacPtr
 
bool psLoaded
 
bool ssLoaded
 
bool rhsLoaded
 
bool origFlag
 
int numIntVars
 
int numExtVars
 
int numStateVars
 
int numStoreVars
 
int numLeadCurrentStoreVars
 
bool loadLeadCurrent
 
std::vector< int > devConMap
 
bool mergeRowColChecked
 
- Protected Member Functions inherited from Xyce::Device::DeviceInstance
void jacStampMap (std::vector< std::vector< int > > &stamp_parent, std::vector< int > &map_parent, std::vector< std::vector< int > > &map2_parent, std::vector< std::vector< int > > &stamp, std::vector< int > &map, std::vector< std::vector< int > > &map2, int from, int to, int original_size)
 
void jacStampMap_fixOrder (std::vector< std::vector< int > > &stamp_parent, std::vector< std::vector< int > > &map2_parent, std::vector< std::vector< int > > &stamp, std::vector< std::vector< int > > &map2)
 
void outputJacStamp (const std::vector< std::vector< int > > &jac)
 
void outputJacMaps (const std::vector< int > &jacMap, const std::vector< std::vector< int > > &jacMap2)
 
- Protected Attributes inherited from Xyce::Device::DeviceInstance
const ExternDataextData
 
std::list< index_pair > intGIDList
 
std::list< index_pair > extGIDList
 
std::list< index_pair > indexPairList
 
std::list< index_pair > staGIDList
 
std::vector< int > intLIDVec
 
std::vector< int > extLIDVec
 
std::vector< int > staLIDVec
 
std::vector< int > stoLIDVec
 
std::vector< int > devLIDs
 
std::vector< std::vector< int > > devJacLIDs
 
std::map< int, std::string > intNameMap
 
std::map< int, std::string > stateNameMap
 
std::map< int, std::string > storeNameMap
 
DeviceSupport devSupport
 

Detailed Description

Definition at line 90 of file N_DEV_Digital.h.

Member Enumeration Documentation

Enumerator
INV 
NOT 
AND 
NAND 
OR 
NOR 
ADD 
XOR 
NXOR 
DFF 
DLTCH 
BUF 

Definition at line 98 of file N_DEV_Digital.h.

Constructor & Destructor Documentation

Xyce::Device::Digital::Instance::Instance ( const Configuration configuration,
const InstanceBlock IB,
Model Diter,
const FactoryBlock factory_block 
)

Definition at line 198 of file N_DEV_Digital.C.

Xyce::Device::Digital::Instance::~Instance ( )

Definition at line 623 of file N_DEV_Digital.C.

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

Member Function Documentation

std::string Xyce::Device::Digital::Instance::getDeviceLetter ( )

Definition at line 1866 of file N_DEV_Digital.C.

bool Xyce::Device::Digital::Instance::getInstanceBreakPoints ( std::vector< N_UTL_BreakPoint > &  breakPointTimes)
virtual

Reimplemented from Xyce::Device::DeviceInstance.

Definition at line 1346 of file N_DEV_Digital.C.

std::map< int, std::string > & Xyce::Device::Digital::Instance::getIntNameMap ( )
virtual

Reimplemented from Xyce::Device::DeviceInstance.

Definition at line 761 of file N_DEV_Digital.C.

Model& Xyce::Device::Digital::Instance::getModel ( )
inline

Definition at line 147 of file N_DEV_Digital.h.

const std::vector< std::vector< int > > & Xyce::Device::Digital::Instance::jacobianStamp ( ) const
virtual

Reimplemented from Xyce::Device::DeviceInstance.

Definition at line 775 of file N_DEV_Digital.C.

bool Xyce::Device::Digital::Instance::loadDAEdFdx ( )
virtual

Implements Xyce::Device::DeviceInstance.

Definition at line 1615 of file N_DEV_Digital.C.

bool Xyce::Device::Digital::Instance::loadDAEdQdx ( )
virtual

Implements Xyce::Device::DeviceInstance.

Definition at line 1520 of file N_DEV_Digital.C.

bool Xyce::Device::Digital::Instance::loadDAEFVector ( )
virtual

Implements Xyce::Device::DeviceInstance.

Definition at line 1439 of file N_DEV_Digital.C.

bool Xyce::Device::Digital::Instance::loadDAEQVector ( )
virtual

Implements Xyce::Device::DeviceInstance.

Definition at line 1370 of file N_DEV_Digital.C.

Instance& Xyce::Device::Digital::Instance::operator= ( const Instance )
private
bool Xyce::Device::Digital::Instance::processParams ( )
virtual

Reimplemented from Xyce::Device::DeviceInstance.

Definition at line 181 of file N_DEV_Digital.C.

void Xyce::Device::Digital::Instance::registerJacLIDs ( const std::vector< std::vector< int > > &  jacLIDVec)
virtual

Reimplemented from Xyce::Device::DeviceInstance.

Definition at line 788 of file N_DEV_Digital.C.

void Xyce::Device::Digital::Instance::registerLIDs ( const std::vector< int > &  intLIDVecRef,
const std::vector< int > &  extLIDVecRef 
)
virtual

Reimplemented from Xyce::Device::DeviceInstance.

Definition at line 637 of file N_DEV_Digital.C.

void Xyce::Device::Digital::Instance::registerStateLIDs ( const std::vector< int > &  staLIDVecRef)
virtual

Reimplemented from Xyce::Device::DeviceInstance.

Definition at line 714 of file N_DEV_Digital.C.

bool Xyce::Device::Digital::Instance::updateIntermediateVars ( )
inlinevirtual

Implements Xyce::Device::DeviceInstance.

Definition at line 128 of file N_DEV_Digital.h.

bool Xyce::Device::Digital::Instance::updatePrimaryState ( )
virtual

Reimplemented from Xyce::Device::DeviceInstance.

Definition at line 912 of file N_DEV_Digital.C.

bool Xyce::Device::Digital::Instance::updateSecondaryState ( )
virtual

Reimplemented from Xyce::Device::DeviceInstance.

Definition at line 1302 of file N_DEV_Digital.C.

Friends And Related Function Documentation

friend class Master
friend

Definition at line 95 of file N_DEV_Digital.h.

friend class Model
friend

Definition at line 93 of file N_DEV_Digital.h.

friend class ParametricData< Instance >
friend

Definition at line 92 of file N_DEV_Digital.h.

friend class Traits
friend

Definition at line 94 of file N_DEV_Digital.h.

Member Data Documentation

double Xyce::Device::Digital::Instance::breakTime
private

Definition at line 222 of file N_DEV_Digital.h.

std::vector<double> Xyce::Device::Digital::Instance::currentIn
private

Definition at line 175 of file N_DEV_Digital.h.

std::vector<double> Xyce::Device::Digital::Instance::currentInp
private

Definition at line 184 of file N_DEV_Digital.h.

std::vector<double> Xyce::Device::Digital::Instance::currentOut
private

Definition at line 174 of file N_DEV_Digital.h.

enum gType Xyce::Device::Digital::Instance::gate
private

Definition at line 194 of file N_DEV_Digital.h.

std::vector<double> Xyce::Device::Digital::Instance::ghi
private

Definition at line 178 of file N_DEV_Digital.h.

std::vector<double> Xyce::Device::Digital::Instance::glo
private

Definition at line 177 of file N_DEV_Digital.h.

bool Xyce::Device::Digital::Instance::ic1
private

Definition at line 188 of file N_DEV_Digital.h.

bool Xyce::Device::Digital::Instance::ic2
private

Definition at line 189 of file N_DEV_Digital.h.

bool Xyce::Device::Digital::Instance::ic3
private

Definition at line 190 of file N_DEV_Digital.h.

std::vector<double> Xyce::Device::Digital::Instance::ihi
private

Definition at line 165 of file N_DEV_Digital.h.

std::vector<double> Xyce::Device::Digital::Instance::iInp
private

Definition at line 181 of file N_DEV_Digital.h.

std::vector<double> Xyce::Device::Digital::Instance::ilo
private

Definition at line 162 of file N_DEV_Digital.h.

std::vector<bool> Xyce::Device::Digital::Instance::inpL
private

Definition at line 217 of file N_DEV_Digital.h.

std::vector<double> Xyce::Device::Digital::Instance::iref
private

Definition at line 168 of file N_DEV_Digital.h.

std::vector<double> Xyce::Device::Digital::Instance::iTime
private

Definition at line 218 of file N_DEV_Digital.h.

std::vector< std::vector<int> > Xyce::Device::Digital::Instance::jacStamp
private

Definition at line 232 of file N_DEV_Digital.h.

std::vector<int> Xyce::Device::Digital::Instance::li_currentStateInp
private

Definition at line 204 of file N_DEV_Digital.h.

std::vector<int> Xyce::Device::Digital::Instance::li_currentStateOut
private

Definition at line 210 of file N_DEV_Digital.h.

int Xyce::Device::Digital::Instance::li_Hi
private

Definition at line 198 of file N_DEV_Digital.h.

std::vector<int> Xyce::Device::Digital::Instance::li_IhiState
private

Definition at line 215 of file N_DEV_Digital.h.

std::vector<int> Xyce::Device::Digital::Instance::li_IinpState
private

Definition at line 207 of file N_DEV_Digital.h.

std::vector<int> Xyce::Device::Digital::Instance::li_IloState
private

Definition at line 213 of file N_DEV_Digital.h.

std::vector<int> Xyce::Device::Digital::Instance::li_Inp
private

Definition at line 200 of file N_DEV_Digital.h.

std::vector< std::vector<int> > Xyce::Device::Digital::Instance::li_jac_Hi
private

Definition at line 230 of file N_DEV_Digital.h.

std::vector< std::vector<int> > Xyce::Device::Digital::Instance::li_jac_Lo
private

Definition at line 229 of file N_DEV_Digital.h.

std::vector< std::vector<int> > Xyce::Device::Digital::Instance::li_jac_Ref
private

Definition at line 228 of file N_DEV_Digital.h.

int Xyce::Device::Digital::Instance::li_Lo
private

Definition at line 197 of file N_DEV_Digital.h.

std::vector<int> Xyce::Device::Digital::Instance::li_Out
private

Definition at line 201 of file N_DEV_Digital.h.

std::vector<int> Xyce::Device::Digital::Instance::li_QhiState
private

Definition at line 214 of file N_DEV_Digital.h.

std::vector<int> Xyce::Device::Digital::Instance::li_QinpState
private

Definition at line 206 of file N_DEV_Digital.h.

std::vector<int> Xyce::Device::Digital::Instance::li_QloState
private

Definition at line 212 of file N_DEV_Digital.h.

int Xyce::Device::Digital::Instance::li_Ref
private

Definition at line 199 of file N_DEV_Digital.h.

std::vector<int> Xyce::Device::Digital::Instance::li_transitionTimeInp
private

Definition at line 205 of file N_DEV_Digital.h.

std::vector<int> Xyce::Device::Digital::Instance::li_transitionTimeOut
private

Definition at line 211 of file N_DEV_Digital.h.

Model& Xyce::Device::Digital::Instance::model_
private

Definition at line 153 of file N_DEV_Digital.h.

int Xyce::Device::Digital::Instance::numInput
private

Definition at line 192 of file N_DEV_Digital.h.

int Xyce::Device::Digital::Instance::numOutput
private

Definition at line 193 of file N_DEV_Digital.h.

std::vector<double> Xyce::Device::Digital::Instance::oTime
private

Definition at line 220 of file N_DEV_Digital.h.

std::vector<bool> Xyce::Device::Digital::Instance::outL
private

Definition at line 219 of file N_DEV_Digital.h.

std::vector<double> Xyce::Device::Digital::Instance::qhi
private

Definition at line 164 of file N_DEV_Digital.h.

std::vector<double> Xyce::Device::Digital::Instance::qInp
private

Definition at line 180 of file N_DEV_Digital.h.

std::vector<double> Xyce::Device::Digital::Instance::qlo
private

Definition at line 161 of file N_DEV_Digital.h.

std::vector<double> Xyce::Device::Digital::Instance::qref
private

Definition at line 167 of file N_DEV_Digital.h.

std::vector<double> Xyce::Device::Digital::Instance::rihi
private

Definition at line 172 of file N_DEV_Digital.h.

std::vector<double> Xyce::Device::Digital::Instance::rilo
private

Definition at line 171 of file N_DEV_Digital.h.

std::vector<double> Xyce::Device::Digital::Instance::riref
private

Definition at line 173 of file N_DEV_Digital.h.

int Xyce::Device::Digital::Instance::row_Hi
private

Definition at line 226 of file N_DEV_Digital.h.

int Xyce::Device::Digital::Instance::row_Lo
private

Definition at line 225 of file N_DEV_Digital.h.

int Xyce::Device::Digital::Instance::row_Ref
private

Definition at line 227 of file N_DEV_Digital.h.

std::vector<double> Xyce::Device::Digital::Instance::vcaphi
private

Definition at line 166 of file N_DEV_Digital.h.

std::vector<double> Xyce::Device::Digital::Instance::vcapInp
private

Definition at line 182 of file N_DEV_Digital.h.

std::vector<double> Xyce::Device::Digital::Instance::vcaplo
private

Definition at line 163 of file N_DEV_Digital.h.

std::vector<double> Xyce::Device::Digital::Instance::vcapref
private

Definition at line 169 of file N_DEV_Digital.h.


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