25#ifndef SIM_MODEL_SOURCE_H
26#define SIM_MODEL_SOURCE_H
38 struct pwlValues : seq<opt<number<SIM_VALUE::TYPE_FLOAT, NOTATION::SI>>,
40 number<SIM_VALUE::TYPE_FLOAT, NOTATION::SI>>> {};
60 const std::string& aDefaultValue )
const;
79 std::vector<std::string>
GetPinNames()
const override;
84 void doSetParamValue(
int aParamIndex,
const std::string& aValue )
override;
89 static std::vector<PARAM::INFO>
makeDcParamInfos(
const std::string& aPrefix,
90 const std::string& aUnit );
92 const std::string& aUnit );
94 const std::string& aUnit );
96 const std::string& aUnit );
97 static std::vector<PARAM::INFO>
makeAMParamInfos(
const std::string& aPrefix,
98 const std::string& aUnit );
100 const std::string& aUnit );
101 static std::vector<SIM_MODEL::PARAM::INFO>
makeVcParamInfos(
const std::string& aGainUnit );
102 static std::vector<SIM_MODEL::PARAM::INFO>
makeCcParamInfos(
const std::string& aGainUnit );
104 const std::string& aQuantity,
105 const std::string& aUnit );
107 const std::string& aUnit );
109 const std::string& aUnit );
111 const std::string& aUnit );
113 const std::string& aUnit );
115 const std::string& aUnit );
117 const std::string& aUnit );
119 const std::string& aUnit );
121 static void appendAcParamInfos( std::vector<PARAM::INFO>& aParamInfos,
const std::string& aUnit );
122 static void appendSpParamInfos( std::vector<PARAM::INFO>& aParamInfos,
const std::string& aUnit );
Serializes/deserializes a SIM_MODEL for storage in LIB_FIELDs/SCH_FIELDs.
SIM_MODEL_SERIALIZER(SIM_MODEL &aModel)
static void appendAcParamInfos(std::vector< PARAM::INFO > &aParamInfos, const std::string &aUnit)
static std::vector< PARAM::INFO > makeBurstNoiseParamInfos(const std::string &aPrefix, const std::string &aUnit)
std::vector< std::string > GetPinNames() const override
bool HasAutofill() const override
const PARAM * GetTunerParam() const override
static const std::vector< PARAM::INFO > & makeParamInfos(TYPE aType)
static std::vector< PARAM::INFO > makeExpParamInfos(const std::string &aPrefix, const std::string &aUnit)
static std::vector< PARAM::INFO > makeAMParamInfos(const std::string &aPrefix, const std::string &aUnit)
static std::vector< PARAM::INFO > makeRandomNormalParamInfos(const std::string &aPrefix, const std::string &aUnit)
static std::vector< SIM_MODEL::PARAM::INFO > makeVcParamInfos(const std::string &aGainUnit)
static void appendSpParamInfos(std::vector< PARAM::INFO > &aParamInfos, const std::string &aUnit)
static std::vector< PARAM::INFO > makeRandomExpParamInfos(const std::string &aPrefix, const std::string &aUnit)
static std::vector< PARAM::INFO > makeSFFMParamInfos(const std::string &aPrefix, const std::string &aUnit)
static std::vector< PARAM::INFO > makeRandomUniformParamInfos(const std::string &aPrefix, const std::string &aUnit)
void doSetParamValue(int aParamIndex, const std::string &aValue) override
static std::vector< PARAM::INFO > makeRandomPoissonParamInfos(const std::string &aPrefix, const std::string &aUnit)
bool HasPrimaryValue() const override
static std::vector< PARAM::INFO > makeDcParamInfos(const std::string &aPrefix, const std::string &aUnit)
static std::vector< PARAM::INFO > makePulseParamInfos(const std::string &aPrefix, const std::string &aUnit)
static std::vector< PARAM::INFO > makePinkNoiseParamInfos(const std::string &aPrefix, const std::string &aUnit)
static std::vector< PARAM::INFO > makeSinParamInfos(const std::string &aPrefix, const std::string &aUnit)
static std::vector< PARAM::INFO > makePwlParamInfos(const std::string &aPrefix, const std::string &aQuantity, const std::string &aUnit)
static std::vector< PARAM::INFO > makeWhiteNoiseParamInfos(const std::string &aPrefix, const std::string &aUnit)
static std::vector< SIM_MODEL::PARAM::INFO > makeCcParamInfos(const std::string &aGainUnit)
std::string ModelLine(const SPICE_ITEM &aItem) const override
std::string ItemLine(const SPICE_ITEM &aItem) const override
std::string TunerCommand(const SPICE_ITEM &aItem, double aValue) const override
std::string getParamValueString(const std::string &aParamName, const std::string &aDefaultValue) const
SPICE_GENERATOR(const SIM_MODEL &aModel)