Xyce
6.1
|
#include <N_DEV_DeviceModel.h>
Inherits Xyce::Device::DeviceEntity.
Inherited by Xyce::Device::ACC::Model, Xyce::Device::ADC::Model, Xyce::Device::ADMSbjt504tva::Model, Xyce::Device::ADMSbjt504va::Model, Xyce::Device::ADMSbsim6::Model, Xyce::Device::ADMSbsimcmg::Model, Xyce::Device::ADMSHBT_X::Model, Xyce::Device::ADMSPSP103VA::Model, Xyce::Device::ADMSvbic13::Model, Xyce::Device::ADMSvbic13_4t::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::MemristorTEAM::Model, Xyce::Device::MemristorYakopcic::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::PowerGrid::Model, Xyce::Device::PowerGridBranch::Model, Xyce::Device::PowerGridBusShunt::Model, Xyce::Device::PowerGridGenBus::Model, Xyce::Device::PowerGridTransformer::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.
Public Member Functions | |
DeviceModel (const ModelBlock &model_block, ParametricData< void > ¶metric_data, const FactoryBlock &factory_block) | |
virtual | ~DeviceModel () |
const std::string & | getName () const |
void | setModParams (const std::vector< Param > ¶ms) |
virtual void | forEachInstance (DeviceInstanceOp &op) const =0 |
virtual std::ostream & | printName (std::ostream &os) const |
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 (ParametricData< void > ¶metric_data, const SolverState &solver_state, const DeviceOptions &device_options, const std::string &netlist_filename, int netlist_line) | |
virtual | ~DeviceEntity () |
virtual CompositeParam * | constructComposite (const std::string &composite_name, const std::string ¶m_name) |
bool | setDefaultParam (double val, bool overrideOriginal=false) |
double | getDefaultParam () const |
bool | scaleParam (const std::string ¶mName, double val, double val0) |
bool | scaleParam (const std::string ¶mName, double val) |
bool | scaleDefaultParam (double val) |
bool | analyticSensitivityAvailable (const std::string ¶mName) |
bool | analyticSensitivityAvailableDefaultParam () |
bool | getAnalyticSensitivity (const std::string ¶mName, 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 ¶mName, double val, bool overrideOriginal=false) |
bool | getParam (const std::string ¶mName, double &result) const |
bool | findParam (const std::string ¶m_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 > ¶ms) |
bool | given (const std::string ¶meter_name) const |
void | setDefaultParamName (const std::string &default_param_name) |
const std::vector< Depend > & | getDependentParams () |
void | addDependentParameter (const Depend ¶m) |
const DeviceOptions & | getDeviceOptions () const |
const SolverState & | getSolverState () const |
const NetlistLocation & | netlistLocation () const |
const ParameterMap & | getParameterMap () const |
![]() | |
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) |
Static Public Member Functions | |
template<class T > | |
static void | initThermalModel (ParametricData< T > ¶metric_data) |
Add the parameter "TEMPMODEL" to the parametric_data. More... | |
template<class T > | |
static void | initDoseModel (ParametricData< T > ¶metric_data) |
Add the parameter "DOSEMODEL" to the parametric_data. More... | |
Private Types | |
enum | mType { TEMP, DOSE } |
enum | iType { LIN, QUAD, PWL } |
enum | fitType { LINEAR_FIT, LOG_FIT } |
Private Member Functions | |
DeviceModel () | |
DeviceModel (const DeviceModel &) | |
DeviceModel & | operator= (const DeviceModel &) |
bool | interpolated () |
bool | interpolate (double) |
Private Attributes | |
std::string | name_ |
std::string | type_ |
int | level_ |
std::string | temperatureModel |
std::string | doseModel |
mType | iModel |
iType | iMethod |
double | base_temp |
std::map< std::string, int > | fitMap |
std::vector< double DeviceEntity::* > | fitParams |
std::vector< double > | oldParams |
std::vector< double > | base |
std::vector< std::vector< double > > | fit |
std::vector< double > | min_par |
std::vector< double > | max_par |
std::vector< fitType > | parType |
Additional Inherited Members | |
![]() | |
std::vector< int > | expVarGIDs |
std::vector< int > | expVarLIDs |
std::vector< std::string > | expVarNames |
std::vector< double > | expVarVals |
std::vector< double > | eVarVals |
Definition at line 68 of file N_DEV_DeviceModel.h.
|
private |
Enumerator | |
---|---|
LINEAR_FIT | |
LOG_FIT |
Definition at line 72 of file N_DEV_DeviceModel.h.
|
private |
Enumerator | |
---|---|
LIN | |
QUAD | |
PWL |
Definition at line 71 of file N_DEV_DeviceModel.h.
|
private |
Enumerator | |
---|---|
TEMP | |
DOSE |
Definition at line 70 of file N_DEV_DeviceModel.h.
Xyce::Device::DeviceModel::DeviceModel | ( | const ModelBlock & | model_block, |
ParametricData< void > & | parametric_data, | ||
const FactoryBlock & | factory_block | ||
) |
Definition at line 93 of file N_DEV_DeviceModel.C.
|
virtual |
Definition at line 592 of file N_DEV_DeviceModel.C.
|
private |
|
private |
|
inlinevirtual |
Reimplemented in Xyce::Device::MOSFET_B3SOI::Model, Xyce::Device::MOSFET_B4::Model, and Xyce::Device::MOSFET_B3::Model.
Definition at line 139 of file N_DEV_DeviceModel.h.
|
pure virtual |
Implemented in Xyce::Device::ADMSbsimcmg::Model, Xyce::Device::ADMSPSP103VA::Model, Xyce::Device::ADMSbsim6::Model, Xyce::Device::ADMSvbic13_4t::Model, Xyce::Device::ADMSvbic13::Model, Xyce::Device::ADMSbjt504va::Model, Xyce::Device::MOSFET_B3SOI::Model, Xyce::Device::ADMSbjt504tva::Model, Xyce::Device::ADMSvbic::Model, Xyce::Device::ADMSHBT_X::Model, Xyce::Device::MOSFET_B4::Model, Xyce::Device::BJT::Model, Xyce::Device::MOSFET_B3::Model, Xyce::Device::VDMOS::Model, Xyce::Device::Neuron4::Model, Xyce::Device::MOSFET1::Model, Xyce::Device::Neuron2::Model, Xyce::Device::TwoDPDE::Model, Xyce::Device::DiodePDE::Model, Xyce::Device::MOSFET3::Model, Xyce::Device::MOSFET2::Model, Xyce::Device::MOSFET6::Model, Xyce::Device::Diode::Model, Xyce::Device::Neuron3::Model, Xyce::Device::JFET::Model, Xyce::Device::Neuron::Model, Xyce::Device::MESFET::Model, Xyce::Device::Neuron9::Model, Xyce::Device::MemristorYakopcic::Model, Xyce::Device::TRA::Model, Xyce::Device::MemristorTEAM::Model, Xyce::Device::LTRA::Model, Xyce::Device::Digital::Model, Xyce::Device::MutIndLin::Model, Xyce::Device::Neuron6::Model, Xyce::Device::Vsrc::Model, Xyce::Device::Capacitor::Model, Xyce::Device::Resistor::Model, Xyce::Device::RxnSet::Model, Xyce::Device::Xygra::Model, Xyce::Device::Inductor::Model, Xyce::Device::Neuron5::Model, Xyce::Device::MutIndNonLin::Model, Xyce::Device::PowerGrid::Model, Xyce::Device::MutIndNonLin2::Model, Xyce::Device::Resistor3::Model, Xyce::Device::Synapse3::Model, Xyce::Device::PowerGridBranch::Model, Xyce::Device::ROM::Model, Xyce::Device::SW::Model, Xyce::Device::ThermalResistor::Model, Xyce::Device::Bsrc::Model, Xyce::Device::PowerGridTransformer::Model, Xyce::Device::Neuron7::Model, Xyce::Device::PowerGridBusShunt::Model, Xyce::Device::Neuron8::Model, Xyce::Device::TransLine::Model, Xyce::Device::Synapse4::Model, Xyce::Device::PowerGridGenBus::Model, Xyce::Device::NeuronPop1::Model, Xyce::Device::DAC::Model, Xyce::Device::ISRC::Model, Xyce::Device::Synapse::Model, Xyce::Device::Synapse2::Model, Xyce::Device::ADC::Model, Xyce::Device::ACC::Model, Xyce::Device::Vcvs::Model, Xyce::Device::OpAmp::Model, and Xyce::Device::VCCS::Model.
|
inlinevirtual |
Definition at line 151 of file N_DEV_DeviceModel.h.
|
inline |
Definition at line 161 of file N_DEV_DeviceModel.h.
|
inline |
Definition at line 112 of file N_DEV_DeviceModel.h.
|
inline |
Definition at line 171 of file N_DEV_DeviceModel.h.
|
inlinestatic |
Add the parameter "DOSEMODEL" to the parametric_data.
parametric_data |
Definition at line 94 of file N_DEV_DeviceModel.h.
|
inlinestatic |
Add the parameter "TEMPMODEL" to the parametric_data.
parametric_data |
Definition at line 81 of file N_DEV_DeviceModel.h.
|
private |
Definition at line 677 of file N_DEV_DeviceModel.C.
|
private |
Definition at line 664 of file N_DEV_DeviceModel.C.
bool Xyce::Device::DeviceModel::interpolateDOSE | ( | double | d | ) |
Definition at line 646 of file N_DEV_DeviceModel.C.
bool Xyce::Device::DeviceModel::interpolateTNOM | ( | double | t | ) |
Definition at line 628 of file N_DEV_DeviceModel.C.
|
private |
|
virtual |
Implements Xyce::Device::DeviceEntity.
Definition at line 109 of file N_DEV_DeviceModel.C.
|
pure virtual |
Implemented in Xyce::Device::ADMSbsimcmg::Model, Xyce::Device::ADMSPSP103VA::Model, Xyce::Device::ADMSbsim6::Model, Xyce::Device::ADMSvbic13_4t::Model, Xyce::Device::ADMSvbic13::Model, Xyce::Device::ADMSbjt504va::Model, Xyce::Device::MOSFET_B3SOI::Model, Xyce::Device::ADMSbjt504tva::Model, Xyce::Device::ADMSvbic::Model, Xyce::Device::ADMSHBT_X::Model, Xyce::Device::MOSFET_B4::Model, Xyce::Device::BJT::Model, Xyce::Device::MOSFET_B3::Model, Xyce::Device::VDMOS::Model, Xyce::Device::Neuron4::Model, Xyce::Device::MOSFET1::Model, Xyce::Device::Neuron2::Model, Xyce::Device::TwoDPDE::Model, Xyce::Device::DiodePDE::Model, Xyce::Device::MOSFET3::Model, Xyce::Device::MOSFET2::Model, Xyce::Device::MOSFET6::Model, Xyce::Device::Diode::Model, Xyce::Device::Neuron3::Model, Xyce::Device::JFET::Model, Xyce::Device::Neuron::Model, Xyce::Device::MESFET::Model, Xyce::Device::Neuron9::Model, Xyce::Device::MemristorYakopcic::Model, Xyce::Device::TRA::Model, Xyce::Device::MemristorTEAM::Model, Xyce::Device::LTRA::Model, Xyce::Device::Digital::Model, Xyce::Device::MutIndLin::Model, Xyce::Device::Neuron6::Model, Xyce::Device::Vsrc::Model, Xyce::Device::Capacitor::Model, Xyce::Device::Resistor::Model, Xyce::Device::RxnSet::Model, Xyce::Device::Xygra::Model, Xyce::Device::Inductor::Model, Xyce::Device::Neuron5::Model, Xyce::Device::MutIndNonLin::Model, Xyce::Device::PowerGrid::Model, Xyce::Device::MutIndNonLin2::Model, Xyce::Device::Resistor3::Model, Xyce::Device::Synapse3::Model, Xyce::Device::PowerGridBranch::Model, Xyce::Device::ROM::Model, Xyce::Device::SW::Model, Xyce::Device::ThermalResistor::Model, Xyce::Device::Bsrc::Model, Xyce::Device::PowerGridTransformer::Model, Xyce::Device::Neuron7::Model, Xyce::Device::PowerGridBusShunt::Model, Xyce::Device::Neuron8::Model, Xyce::Device::TransLine::Model, Xyce::Device::Synapse4::Model, Xyce::Device::PowerGridGenBus::Model, Xyce::Device::NeuronPop1::Model, Xyce::Device::DAC::Model, Xyce::Device::ISRC::Model, Xyce::Device::Synapse::Model, Xyce::Device::Synapse2::Model, Xyce::Device::ADC::Model, Xyce::Device::ACC::Model, Xyce::Device::Vcvs::Model, Xyce::Device::OpAmp::Model, and Xyce::Device::VCCS::Model.
|
pure virtual |
processInstanceParams
Implements Xyce::Device::DeviceEntity.
Implemented in Xyce::Device::ADMSbsimcmg::Model, Xyce::Device::ADMSPSP103VA::Model, Xyce::Device::ADMSbsim6::Model, Xyce::Device::ADMSvbic13_4t::Model, Xyce::Device::ADMSvbic13::Model, Xyce::Device::ADMSbjt504va::Model, Xyce::Device::MOSFET_B3SOI::Model, Xyce::Device::ADMSbjt504tva::Model, Xyce::Device::ADMSvbic::Model, Xyce::Device::ADMSHBT_X::Model, Xyce::Device::MOSFET_B4::Model, Xyce::Device::BJT::Model, Xyce::Device::MOSFET_B3::Model, Xyce::Device::VDMOS::Model, Xyce::Device::Neuron4::Model, Xyce::Device::MOSFET1::Model, Xyce::Device::Neuron2::Model, Xyce::Device::TwoDPDE::Model, Xyce::Device::DiodePDE::Model, Xyce::Device::MOSFET3::Model, Xyce::Device::MOSFET2::Model, Xyce::Device::MOSFET6::Model, Xyce::Device::Diode::Model, Xyce::Device::Neuron3::Model, Xyce::Device::JFET::Model, Xyce::Device::Neuron::Model, Xyce::Device::MESFET::Model, Xyce::Device::Neuron9::Model, Xyce::Device::MemristorYakopcic::Model, Xyce::Device::TRA::Model, Xyce::Device::MemristorTEAM::Model, Xyce::Device::LTRA::Model, Xyce::Device::Vsrc::Model, Xyce::Device::MutIndLin::Model, Xyce::Device::Neuron6::Model, Xyce::Device::Digital::Model, Xyce::Device::Resistor::Model, Xyce::Device::RxnSet::Model, Xyce::Device::Capacitor::Model, Xyce::Device::Xygra::Model, Xyce::Device::Inductor::Model, Xyce::Device::Neuron5::Model, Xyce::Device::PowerGrid::Model, Xyce::Device::MutIndNonLin::Model, Xyce::Device::Resistor3::Model, Xyce::Device::MutIndNonLin2::Model, Xyce::Device::Synapse3::Model, Xyce::Device::PowerGridBranch::Model, Xyce::Device::PowerGridTransformer::Model, Xyce::Device::PowerGridBusShunt::Model, Xyce::Device::ROM::Model, Xyce::Device::SW::Model, Xyce::Device::ThermalResistor::Model, Xyce::Device::Bsrc::Model, Xyce::Device::Neuron7::Model, Xyce::Device::PowerGridGenBus::Model, Xyce::Device::Neuron8::Model, Xyce::Device::Synapse4::Model, Xyce::Device::TransLine::Model, Xyce::Device::NeuronPop1::Model, Xyce::Device::DAC::Model, Xyce::Device::ACC::Model, Xyce::Device::ISRC::Model, Xyce::Device::Synapse::Model, Xyce::Device::Synapse2::Model, Xyce::Device::ADC::Model, Xyce::Device::Vcvs::Model, Xyce::Device::OpAmp::Model, and Xyce::Device::VCCS::Model.
|
pure virtual |
processParams
Implements Xyce::Device::DeviceEntity.
Implemented in Xyce::Device::ADMSbsimcmg::Model, Xyce::Device::ADMSPSP103VA::Model, Xyce::Device::ADMSbsim6::Model, Xyce::Device::ADMSvbic13_4t::Model, Xyce::Device::ADMSvbic13::Model, Xyce::Device::ADMSbjt504va::Model, Xyce::Device::MOSFET_B3SOI::Model, Xyce::Device::ADMSbjt504tva::Model, Xyce::Device::ADMSvbic::Model, Xyce::Device::ADMSHBT_X::Model, Xyce::Device::MOSFET_B4::Model, Xyce::Device::BJT::Model, Xyce::Device::MOSFET_B3::Model, Xyce::Device::VDMOS::Model, Xyce::Device::Neuron4::Model, Xyce::Device::MOSFET1::Model, Xyce::Device::Neuron2::Model, Xyce::Device::TwoDPDE::Model, Xyce::Device::DiodePDE::Model, Xyce::Device::MOSFET3::Model, Xyce::Device::MOSFET2::Model, Xyce::Device::MOSFET6::Model, Xyce::Device::Diode::Model, Xyce::Device::Neuron3::Model, Xyce::Device::JFET::Model, Xyce::Device::Neuron::Model, Xyce::Device::MESFET::Model, Xyce::Device::Neuron9::Model, Xyce::Device::MemristorYakopcic::Model, Xyce::Device::TRA::Model, Xyce::Device::MemristorTEAM::Model, Xyce::Device::LTRA::Model, Xyce::Device::MutIndLin::Model, Xyce::Device::Neuron6::Model, Xyce::Device::Digital::Model, Xyce::Device::Vsrc::Model, Xyce::Device::Resistor::Model, Xyce::Device::RxnSet::Model, Xyce::Device::Capacitor::Model, Xyce::Device::Xygra::Model, Xyce::Device::Inductor::Model, Xyce::Device::Neuron5::Model, Xyce::Device::MutIndNonLin::Model, Xyce::Device::PowerGrid::Model, Xyce::Device::MutIndNonLin2::Model, Xyce::Device::Resistor3::Model, Xyce::Device::Synapse3::Model, Xyce::Device::PowerGridBranch::Model, Xyce::Device::ROM::Model, Xyce::Device::SW::Model, Xyce::Device::ThermalResistor::Model, Xyce::Device::Bsrc::Model, Xyce::Device::PowerGridTransformer::Model, Xyce::Device::Neuron7::Model, Xyce::Device::PowerGridBusShunt::Model, Xyce::Device::Neuron8::Model, Xyce::Device::Synapse4::Model, Xyce::Device::TransLine::Model, Xyce::Device::PowerGridGenBus::Model, Xyce::Device::NeuronPop1::Model, Xyce::Device::DAC::Model, Xyce::Device::ISRC::Model, Xyce::Device::Synapse::Model, Xyce::Device::Synapse2::Model, Xyce::Device::ACC::Model, Xyce::Device::ADC::Model, Xyce::Device::Vcvs::Model, Xyce::Device::OpAmp::Model, and Xyce::Device::VCCS::Model.
void Xyce::Device::DeviceModel::restoreParams | ( | ) |
Definition at line 773 of file N_DEV_DeviceModel.C.
void Xyce::Device::DeviceModel::saveParams | ( | ) |
Definition at line 604 of file N_DEV_DeviceModel.C.
|
inline |
Definition at line 166 of file N_DEV_DeviceModel.h.
void Xyce::Device::DeviceModel::setModParams | ( | const std::vector< Param > & | params | ) |
Definition at line 123 of file N_DEV_DeviceModel.C.
|
private |
Definition at line 188 of file N_DEV_DeviceModel.h.
|
private |
Definition at line 184 of file N_DEV_DeviceModel.h.
|
private |
Definition at line 181 of file N_DEV_DeviceModel.h.
|
private |
Definition at line 189 of file N_DEV_DeviceModel.h.
|
private |
Definition at line 185 of file N_DEV_DeviceModel.h.
|
private |
Definition at line 186 of file N_DEV_DeviceModel.h.
|
private |
Definition at line 183 of file N_DEV_DeviceModel.h.
|
private |
Definition at line 182 of file N_DEV_DeviceModel.h.
|
private |
Definition at line 179 of file N_DEV_DeviceModel.h.
|
private |
Definition at line 191 of file N_DEV_DeviceModel.h.
|
private |
Definition at line 190 of file N_DEV_DeviceModel.h.
|
private |
Definition at line 177 of file N_DEV_DeviceModel.h.
|
private |
Definition at line 187 of file N_DEV_DeviceModel.h.
|
private |
Definition at line 192 of file N_DEV_DeviceModel.h.
|
private |
Definition at line 180 of file N_DEV_DeviceModel.h.
|
private |
Definition at line 178 of file N_DEV_DeviceModel.h.