KiCad PCB EDA Suite
|
#include <ibis_parser.h>
Public Member Functions | |
IVtable (REPORTER *aReporter) | |
bool | Check () override |
Check if the data held by the object is valid. | |
double | InterpolatedI (double aV, IBIS_CORNER aCorner) const |
Interpolate the IV table. | |
std::string | Spice (int aN, const std::string &aPort1, const std::string &aPort2, const std::string &aModelName, IBIS_CORNER aCorner) const |
Interpolate the IV table. | |
void | Report (std::string aMsg, SEVERITY aSeverity=RPT_SEVERITY_INFO) const |
Print a message. | |
Public Attributes | |
std::vector< IVtableEntry > | m_entries |
REPORTER * | m_reporter |
Static Protected Member Functions | |
static std::string | doubleToString (double aNumber) |
Convert a double to string using scientific notation. | |
Definition at line 352 of file ibis_parser.h.
|
inline |
Definition at line 355 of file ibis_parser.h.
|
overridevirtual |
Check if the data held by the object is valid.
Reimplemented from IBIS_INPUT.
Definition at line 389 of file ibis_parser.cpp.
References _, m_entries, IBIS_ANY::Report(), and RPT_SEVERITY_ERROR.
Referenced by IbisModel::Check().
|
staticprotectedinherited |
Convert a double to string using scientific notation.
aNumber | Number |
Definition at line 300 of file ibis_parser.cpp.
Referenced by KIBIS_MODEL::generateSquareWave(), KIBIS_PIN::getKuKdOneWaveform(), KIBIS_PIN::getKuKdTwoWaveforms(), KIBIS_PIN::KuKdDriver(), Spice(), KIBIS_MODEL::SpiceDie(), KIBIS_PIN::writeSpiceDevice(), and KIBIS_PIN::writeSpiceDriver().
double IVtable::InterpolatedI | ( | double | aV, |
IBIS_CORNER | aCorner | ||
) | const |
Interpolate the IV table.
Linear interpolation to find the current for voltage aV
aV | voltage |
aCorner | Power supply corner |
Definition at line 351 of file ibis_parser.cpp.
References _, m_entries, IBIS_ANY::Report(), and RPT_SEVERITY_ERROR.
|
inlineinherited |
Print a message.
Call m_reporter->Report if m_reporter exists.
aMsg | Message |
aSeverity | Message sevirity |
Definition at line 65 of file ibis_parser.h.
References IBIS_ANY::m_reporter, and REPORTER::Report().
Referenced by BOOST_AUTO_TEST_CASE(), IbisParser::changeCommentChar(), IbisParser::changeContext(), IBIS_MATRIX_BANDED::Check(), IBIS_MATRIX_SPARSE::Check(), IBIS_MATRIX_FULL::Check(), IbisHeader::Check(), IbisComponentPackage::Check(), IbisComponentPin::Check(), IbisComponent::Check(), Check(), IbisRamp::Check(), IbisModel::Check(), IbisPackageModel::Check(), KIBIS_WAVEFORM_PRBS::Check(), KIBIS_WAVEFORM_RECTANGULAR::Check(), IbisParser::checkEndofLine(), KIBIS_PIN::getKuKdFromFile(), KIBIS_PIN::getKuKdOneWaveform(), KIBIS_PIN::getKuKdTwoWaveforms(), IbisParser::getNextLine(), InterpolatedI(), KIBIS_PIN::KuKdDriver(), IbisParser::onNewLine(), IbisParser::ParseFile(), IbisParser::readDiffPin(), IbisParser::readDouble(), IbisParser::readInt(), IbisParser::readMatrix(), IbisParser::readMatrixBanded(), IbisParser::readMatrixFull(), IbisParser::readMatrixSparse(), IbisParser::readModel(), IbisParser::readPackage(), IbisParser::readPin(), IbisParser::readPinMapping(), IbisParser::readRamp(), IbisParser::readTypMinMaxValue(), IbisParser::readWaveform(), KIBIS_MODEL::TrimWaveform(), KIBIS_PIN::writeSpiceDevice(), and KIBIS_PIN::writeSpiceDriver().
std::string IVtable::Spice | ( | int | aN, |
const std::string & | aPort1, | ||
const std::string & | aPort2, | ||
const std::string & | aModelName, | ||
IBIS_CORNER | aCorner | ||
) | const |
Interpolate the IV table.
Generate the spice directive needed to define a model defined by its IV table. The order of aPort1 and aPort2 is important. ( Inverting them will reverse the component )
aN | Index of the 'a' device |
aPort1 | Spice node |
aPort2 | Spice node |
aPort2 | Name of the generated model |
aCorner | Power supply corner |
Definition at line 309 of file ibis_parser.cpp.
References IBIS_ANY::doubleToString(), and m_entries.
Referenced by KIBIS_PIN::addDie(), and KIBIS_MODEL::SpiceDie().
std::vector<IVtableEntry> IVtable::m_entries |
Definition at line 359 of file ibis_parser.h.
Referenced by Check(), KIBIS_MODEL::HasGNDClamp(), KIBIS_MODEL::HasPOWERClamp(), KIBIS_MODEL::HasPulldown(), KIBIS_MODEL::HasPullup(), InterpolatedI(), IbisParser::readIVtableEntry(), and Spice().
|
inherited |
Definition at line 56 of file ibis_parser.h.
Referenced by BOOST_AUTO_TEST_CASE(), IbisParser::changeContext(), IBIS_ANY::IBIS_ANY(), SPICE_GENERATOR_IBIS::IbisDevice(), KIBIS::KIBIS(), IbisParser::parsePackageModelModelData(), IbisParser::readDiffPin(), IbisParser::readIVtableEntry(), IbisParser::readMatrix(), IbisParser::readPin(), IbisParser::readPinMapping(), IbisParser::readVTtableEntry(), IbisParser::readWaveform(), IBIS_ANY::Report(), and KIBIS_MODEL::TrimWaveform().