KiCad PCB EDA Suite
Loading...
Searching...
No Matches
IVtable Class Reference

#include <ibis_parser.h>

Inheritance diagram for IVtable:
IBIS_INPUT IBIS_ANY

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< IVtableEntrym_entries
 
REPORTERm_reporter
 

Static Protected Member Functions

static std::string doubleToString (double aNumber)
 Convert a double to string using scientific notation.
 

Detailed Description

Definition at line 352 of file ibis_parser.h.

Constructor & Destructor Documentation

◆ IVtable()

IVtable::IVtable ( REPORTER aReporter)
inline

Definition at line 355 of file ibis_parser.h.

Member Function Documentation

◆ Check()

bool IVtable::Check ( )
overridevirtual

Check if the data held by the object is valid.

Returns
true in case of success

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().

◆ doubleToString()

std::string IBIS_ANY::doubleToString ( double  aNumber)
staticprotectedinherited

Convert a double to string using scientific notation.

Parameters
aNumberNumber
Returns
Output string

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().

◆ InterpolatedI()

double IVtable::InterpolatedI ( double  aV,
IBIS_CORNER  aCorner 
) const

Interpolate the IV table.

Linear interpolation to find the current for voltage aV

Parameters
aVvoltage
aCornerPower supply corner
Returns
current

Definition at line 351 of file ibis_parser.cpp.

References _, m_entries, IBIS_ANY::Report(), and RPT_SEVERITY_ERROR.

◆ Report()

◆ Spice()

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 )

Parameters
aNIndex of the 'a' device
aPort1Spice node
aPort2Spice node
aPort2Name of the generated model
aCornerPower supply corner
Returns
Multline spice directives

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().

Member Data Documentation

◆ m_entries

◆ m_reporter


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