#include <N_DEV_DeviceModel.h>
Inherits Xyce::Device::DeviceEntity.
Inherited by Xyce::Device::ACC::Model, Xyce::Device::ADC::Model, Xyce::Device::ADMSbsimcmg::Model, Xyce::Device::ADMSHBT_X::Model, Xyce::Device::ADMSPSP103VA::Model, Xyce::Device::ADMSvbic::Model, Xyce::Device::BJT::Model, Xyce::Device::Bsrc::Model, Xyce::Device::Capacitor::Model, Xyce::Device::DAC::Model, Xyce::Device::DevicePDEModel, Xyce::Device::Digital::Model, Xyce::Device::Diode::Model, Xyce::Device::Inductor::Model, Xyce::Device::ISRC::Model, Xyce::Device::JFET::Model, Xyce::Device::LTRA::Model, Xyce::Device::MESFET::Model, Xyce::Device::MOSFET1::Model, Xyce::Device::MOSFET2::Model, Xyce::Device::MOSFET3::Model, Xyce::Device::MOSFET6::Model, Xyce::Device::MOSFET_B3::Model, Xyce::Device::MOSFET_B3SOI::Model, Xyce::Device::MOSFET_B4::Model, Xyce::Device::MutIndLin::Model, Xyce::Device::MutIndNonLin2::Model, Xyce::Device::MutIndNonLin::Model, Xyce::Device::Neuron2::Model, Xyce::Device::Neuron3::Model, Xyce::Device::Neuron4::Model, Xyce::Device::Neuron5::Model, Xyce::Device::Neuron6::Model, Xyce::Device::Neuron7::Model, Xyce::Device::Neuron8::Model, Xyce::Device::Neuron9::Model, Xyce::Device::Neuron::Model, Xyce::Device::NeuronPop1::Model, Xyce::Device::OpAmp::Model, Xyce::Device::Resistor3::Model, Xyce::Device::Resistor::Model, Xyce::Device::ROM::Model, Xyce::Device::SW::Model, Xyce::Device::Synapse2::Model, Xyce::Device::Synapse3::Model, Xyce::Device::Synapse4::Model, Xyce::Device::Synapse::Model, Xyce::Device::ThermalResistor::Model, Xyce::Device::TRA::Model, Xyce::Device::TransLine::Model, Xyce::Device::VCCS::Model, Xyce::Device::Vcvs::Model, Xyce::Device::VDMOS::Model, Xyce::Device::Vsrc::Model, and Xyce::Device::Xygra::Model.
|
| DeviceModel (const ModelBlock &model_block, ParametricData< void > ¶metric_data, const FactoryBlock &factory_block) |
|
virtual | ~DeviceModel () |
|
void | setModParams (const std::vector< Param > ¶ms) |
|
virtual void | forEachInstance (DeviceInstanceOp &op) const =0 |
|
virtual std::ostream & | printOutInstances (std::ostream &os) const =0 |
|
virtual bool | processParams ()=0 |
| processParams More...
|
|
virtual bool | processInstanceParams ()=0 |
| processInstanceParams More...
|
|
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 |
|
| DeviceEntity (const char *const entity_type, const std::string &device_name, ParametricData< void > ¶metric_data, const SolverState &solver_state, const DeviceOptions &device_options, const std::string &netlist_path, int netlist_line) |
|
virtual | ~DeviceEntity () |
|
virtual CompositeParam * | constructComposite (const std::string &composite_name, const std::string ¶m_name) |
|
bool | setDefaultParam (double val) |
|
double | getDefaultParam () |
|
bool | scaleParam (const std::string ¶mName, double val, double val0) |
|
bool | scaleParam (const std::string ¶mName, double val) |
|
bool | scaleDefaultParam (double val) |
|
bool | setParam (const std::string ¶mName, double val) |
|
bool | getParam (const std::string ¶mName, 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 > ¶ms) |
|
bool | given (const std::string ¶meter_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 DeviceOptions & | getDeviceOptions () const |
|
const SolverState & | getSolverState () const |
|
const NetlistLocation & | netlistLocation () const |
|
const ParameterMap & | getParameterMap () const |
|
| 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) |
|
- Author
- Eric Keiter, SNL, Parallel Computational Sciences
- Date
- 4/03/00
Definition at line 68 of file N_DEV_DeviceModel.h.
Xyce::Device::DeviceModel::~DeviceModel |
( |
| ) |
|
|
virtual |
Xyce::Device::DeviceModel::DeviceModel |
( |
| ) |
|
|
private |
Xyce::Device::DeviceModel::DeviceModel |
( |
const DeviceModel & |
| ) |
|
|
private |
virtual bool Xyce::Device::DeviceModel::clearTemperatureData |
( |
| ) |
|
|
inlinevirtual |
virtual void Xyce::Device::DeviceModel::forEachInstance |
( |
DeviceInstanceOp & |
op | ) |
const |
|
pure virtual |
Implemented in Xyce::Device::MOSFET_B3SOI::Model, Xyce::Device::MOSFET_B4::Model, Xyce::Device::MOSFET_B3::Model, Xyce::Device::VDMOS::Model, Xyce::Device::Neuron4::Model, Xyce::Device::MOSFET1::Model, Xyce::Device::ADMSHBT_X::Model, Xyce::Device::Neuron2::Model, Xyce::Device::ADMSPSP103VA::Model, Xyce::Device::TwoDPDE::Model, Xyce::Device::BJT::Model, Xyce::Device::DiodePDE::Model, Xyce::Device::MOSFET3::Model, Xyce::Device::MOSFET2::Model, Xyce::Device::MOSFET6::Model, Xyce::Device::ADMSvbic::Model, Xyce::Device::Neuron3::Model, Xyce::Device::ADMSbsimcmg::Model, Xyce::Device::JFET::Model, Xyce::Device::Neuron::Model, Xyce::Device::MESFET::Model, Xyce::Device::Neuron9::Model, Xyce::Device::Resistor::Model, Xyce::Device::TRA::Model, Xyce::Device::LTRA::Model, Xyce::Device::Neuron6::Model, Xyce::Device::MutIndLin::Model, Xyce::Device::Xygra::Model, Xyce::Device::RxnSet::Model, Xyce::Device::Neuron5::Model, Xyce::Device::Diode::Model, Xyce::Device::MutIndNonLin::Model, Xyce::Device::Capacitor::Model, Xyce::Device::Digital::Model, Xyce::Device::MutIndNonLin2::Model, Xyce::Device::Resistor3::Model, Xyce::Device::Vsrc::Model, Xyce::Device::Inductor::Model, Xyce::Device::Synapse3::Model, Xyce::Device::Neuron7::Model, Xyce::Device::ROM::Model, Xyce::Device::Neuron8::Model, Xyce::Device::SW::Model, Xyce::Device::ThermalResistor::Model, Xyce::Device::Bsrc::Model, Xyce::Device::TransLine::Model, Xyce::Device::Synapse4::Model, Xyce::Device::NeuronPop1::Model, Xyce::Device::DAC::Model, Xyce::Device::Synapse::Model, Xyce::Device::Synapse2::Model, Xyce::Device::ACC::Model, Xyce::Device::ISRC::Model, Xyce::Device::ADC::Model, Xyce::Device::Vcvs::Model, Xyce::Device::OpAmp::Model, and Xyce::Device::VCCS::Model.
virtual bool Xyce::Device::DeviceModel::getBinPrefixFlag |
( |
| ) |
|
|
inlinevirtual |
int Xyce::Device::DeviceModel::getLevel |
( |
| ) |
const |
|
inline |
const std::string& Xyce::Device::DeviceModel::getType |
( |
| ) |
const |
|
inline |
template<class T >
static void Xyce::Device::DeviceModel::initDoseModel |
( |
ParametricData< T > & |
parametric_data | ) |
|
|
inlinestatic |
Add the parameter "DOSEMODEL" to the parametric_data.
- Parameters
-
Definition at line 94 of file N_DEV_DeviceModel.h.
template<class T >
static void Xyce::Device::DeviceModel::initThermalModel |
( |
ParametricData< T > & |
parametric_data | ) |
|
|
inlinestatic |
Add the parameter "TEMPMODEL" to the parametric_data.
- Parameters
-
Definition at line 81 of file N_DEV_DeviceModel.h.
bool Xyce::Device::DeviceModel::interpolate |
( |
double |
t | ) |
|
|
private |
bool Xyce::Device::DeviceModel::interpolated |
( |
| ) |
|
|
private |
bool Xyce::Device::DeviceModel::interpolateDOSE |
( |
double |
d | ) |
|
bool Xyce::Device::DeviceModel::interpolateTNOM |
( |
double |
t | ) |
|
virtual std::ostream& Xyce::Device::DeviceModel::printOutInstances |
( |
std::ostream & |
os | ) |
const |
|
pure virtual |
Implemented in Xyce::Device::MOSFET_B3SOI::Model, Xyce::Device::MOSFET_B4::Model, Xyce::Device::MOSFET_B3::Model, Xyce::Device::VDMOS::Model, Xyce::Device::Neuron4::Model, Xyce::Device::MOSFET1::Model, Xyce::Device::ADMSHBT_X::Model, Xyce::Device::Neuron2::Model, Xyce::Device::ADMSPSP103VA::Model, Xyce::Device::TwoDPDE::Model, Xyce::Device::BJT::Model, Xyce::Device::DiodePDE::Model, Xyce::Device::MOSFET3::Model, Xyce::Device::MOSFET2::Model, Xyce::Device::MOSFET6::Model, Xyce::Device::ADMSvbic::Model, Xyce::Device::Neuron3::Model, Xyce::Device::ADMSbsimcmg::Model, Xyce::Device::JFET::Model, Xyce::Device::Neuron::Model, Xyce::Device::MESFET::Model, Xyce::Device::Neuron9::Model, Xyce::Device::Resistor::Model, Xyce::Device::TRA::Model, Xyce::Device::LTRA::Model, Xyce::Device::Neuron6::Model, Xyce::Device::MutIndLin::Model, Xyce::Device::Xygra::Model, Xyce::Device::RxnSet::Model, Xyce::Device::Neuron5::Model, Xyce::Device::Diode::Model, Xyce::Device::MutIndNonLin::Model, Xyce::Device::Capacitor::Model, Xyce::Device::Digital::Model, Xyce::Device::MutIndNonLin2::Model, Xyce::Device::Resistor3::Model, Xyce::Device::Vsrc::Model, Xyce::Device::Inductor::Model, Xyce::Device::Synapse3::Model, Xyce::Device::Neuron7::Model, Xyce::Device::ROM::Model, Xyce::Device::Neuron8::Model, Xyce::Device::SW::Model, Xyce::Device::ThermalResistor::Model, Xyce::Device::Bsrc::Model, Xyce::Device::TransLine::Model, Xyce::Device::Synapse4::Model, Xyce::Device::NeuronPop1::Model, Xyce::Device::DAC::Model, Xyce::Device::Synapse::Model, Xyce::Device::Synapse2::Model, Xyce::Device::ACC::Model, Xyce::Device::ISRC::Model, Xyce::Device::ADC::Model, Xyce::Device::Vcvs::Model, Xyce::Device::OpAmp::Model, and Xyce::Device::VCCS::Model.
virtual bool Xyce::Device::DeviceModel::processInstanceParams |
( |
| ) |
|
|
pure virtual |
processInstanceParams
- Returns
- true if parameter processing was successful
Implements Xyce::Device::DeviceEntity.
Implemented in Xyce::Device::MOSFET_B3SOI::Model, Xyce::Device::MOSFET_B4::Model, Xyce::Device::MOSFET_B3::Model, Xyce::Device::VDMOS::Model, Xyce::Device::Neuron4::Model, Xyce::Device::MOSFET1::Model, Xyce::Device::ADMSHBT_X::Model, Xyce::Device::Neuron2::Model, Xyce::Device::ADMSPSP103VA::Model, Xyce::Device::TwoDPDE::Model, Xyce::Device::BJT::Model, Xyce::Device::DiodePDE::Model, Xyce::Device::MOSFET3::Model, Xyce::Device::MOSFET2::Model, Xyce::Device::MOSFET6::Model, Xyce::Device::ADMSvbic::Model, Xyce::Device::Neuron3::Model, Xyce::Device::ADMSbsimcmg::Model, Xyce::Device::Neuron::Model, Xyce::Device::JFET::Model, Xyce::Device::MESFET::Model, Xyce::Device::Neuron9::Model, Xyce::Device::Resistor::Model, Xyce::Device::TRA::Model, Xyce::Device::LTRA::Model, Xyce::Device::Neuron6::Model, Xyce::Device::MutIndLin::Model, Xyce::Device::Xygra::Model, Xyce::Device::RxnSet::Model, Xyce::Device::Neuron5::Model, Xyce::Device::Diode::Model, Xyce::Device::MutIndNonLin::Model, Xyce::Device::Resistor3::Model, Xyce::Device::Vsrc::Model, Xyce::Device::MutIndNonLin2::Model, Xyce::Device::Capacitor::Model, Xyce::Device::Digital::Model, Xyce::Device::Inductor::Model, Xyce::Device::Synapse3::Model, Xyce::Device::Neuron7::Model, Xyce::Device::Neuron8::Model, Xyce::Device::ROM::Model, Xyce::Device::SW::Model, Xyce::Device::ThermalResistor::Model, Xyce::Device::Bsrc::Model, Xyce::Device::Synapse4::Model, Xyce::Device::TransLine::Model, Xyce::Device::NeuronPop1::Model, Xyce::Device::DAC::Model, Xyce::Device::ACC::Model, Xyce::Device::Synapse::Model, Xyce::Device::Synapse2::Model, Xyce::Device::ISRC::Model, Xyce::Device::Vcvs::Model, Xyce::Device::ADC::Model, Xyce::Device::OpAmp::Model, and Xyce::Device::VCCS::Model.
virtual bool Xyce::Device::DeviceModel::processParams |
( |
| ) |
|
|
pure virtual |
processParams
- Returns
- true if parameter processing was successful
Implements Xyce::Device::DeviceEntity.
Implemented in Xyce::Device::MOSFET_B3SOI::Model, Xyce::Device::MOSFET_B4::Model, Xyce::Device::MOSFET_B3::Model, Xyce::Device::VDMOS::Model, Xyce::Device::Neuron4::Model, Xyce::Device::MOSFET1::Model, Xyce::Device::ADMSHBT_X::Model, Xyce::Device::Neuron2::Model, Xyce::Device::ADMSPSP103VA::Model, Xyce::Device::TwoDPDE::Model, Xyce::Device::BJT::Model, Xyce::Device::DiodePDE::Model, Xyce::Device::MOSFET3::Model, Xyce::Device::MOSFET2::Model, Xyce::Device::MOSFET6::Model, Xyce::Device::ADMSvbic::Model, Xyce::Device::Neuron3::Model, Xyce::Device::ADMSbsimcmg::Model, Xyce::Device::Neuron::Model, Xyce::Device::JFET::Model, Xyce::Device::MESFET::Model, Xyce::Device::Neuron9::Model, Xyce::Device::Resistor::Model, Xyce::Device::TRA::Model, Xyce::Device::LTRA::Model, Xyce::Device::Neuron6::Model, Xyce::Device::MutIndLin::Model, Xyce::Device::Xygra::Model, Xyce::Device::RxnSet::Model, Xyce::Device::Neuron5::Model, Xyce::Device::Diode::Model, Xyce::Device::MutIndNonLin::Model, Xyce::Device::MutIndNonLin2::Model, Xyce::Device::Capacitor::Model, Xyce::Device::Resistor3::Model, Xyce::Device::Vsrc::Model, Xyce::Device::Digital::Model, Xyce::Device::Inductor::Model, Xyce::Device::Synapse3::Model, Xyce::Device::Neuron7::Model, Xyce::Device::Neuron8::Model, Xyce::Device::ROM::Model, Xyce::Device::SW::Model, Xyce::Device::ThermalResistor::Model, Xyce::Device::Bsrc::Model, Xyce::Device::Synapse4::Model, Xyce::Device::TransLine::Model, Xyce::Device::NeuronPop1::Model, Xyce::Device::DAC::Model, Xyce::Device::Synapse::Model, Xyce::Device::Synapse2::Model, Xyce::Device::ACC::Model, Xyce::Device::ISRC::Model, Xyce::Device::ADC::Model, Xyce::Device::Vcvs::Model, Xyce::Device::OpAmp::Model, and Xyce::Device::VCCS::Model.
void Xyce::Device::DeviceModel::restoreParams |
( |
| ) |
|
void Xyce::Device::DeviceModel::saveParams |
( |
| ) |
|
void Xyce::Device::DeviceModel::setLevel |
( |
int |
level | ) |
|
|
inline |
void Xyce::Device::DeviceModel::setModParams |
( |
const std::vector< Param > & |
params | ) |
|
std::vector<double> Xyce::Device::DeviceModel::base |
|
private |
double Xyce::Device::DeviceModel::base_temp |
|
private |
std::string Xyce::Device::DeviceModel::doseModel |
|
private |
std::vector< std::vector<double> > Xyce::Device::DeviceModel::fit |
|
private |
std::map<std::string, int> Xyce::Device::DeviceModel::fitMap |
|
private |
std::vector<double DeviceEntity::*> Xyce::Device::DeviceModel::fitParams |
|
private |
iType Xyce::Device::DeviceModel::iMethod |
|
private |
mType Xyce::Device::DeviceModel::iModel |
|
private |
int Xyce::Device::DeviceModel::level_ |
|
private |
std::vector<double> Xyce::Device::DeviceModel::max_par |
|
private |
std::vector<double> Xyce::Device::DeviceModel::min_par |
|
private |
std::vector<double> Xyce::Device::DeviceModel::oldParams |
|
private |
std::vector<fitType> Xyce::Device::DeviceModel::parType |
|
private |
std::string Xyce::Device::DeviceModel::temperatureModel |
|
private |
std::string Xyce::Device::DeviceModel::type_ |
|
private |
The documentation for this class was generated from the following files: