20#ifndef SIM_MODEL_MULTIUNIT_H
21#define SIM_MODEL_MULTIUNIT_H
41 std::vector<std::pair<wxString, wxString>>
pins;
84 const wxString& aRef );
138 const std::vector<UNIT_PIN_MAP>& aUnitMaps,
139 const std::vector<wxString>& aSharedModelPins );
Wraps a resolved single-unit base model and presents it as one component-level SPICE device.
wxString m_baseModelName
name referenced by each inner instance line
std::vector< INSTANCE > m_instances
int GetInstanceCount() const
wxString m_signature
content-derived wrapper subckt name
wxString computeSignature() const
friend class SPICE_GENERATOR_MULTIUNIT
SIM_MODEL_MULTIUNIT(const SIM_MODEL &aBaseModel, const wxString &aBaseModelName, const std::vector< UNIT_PIN_MAP > &aUnitMaps, const std::vector< wxString > &aSharedModelPins)
const wxString & GetSignature() const
SIM_MODEL_SPICE(TYPE aType, std::unique_ptr< SPICE_GENERATOR > aSpiceGenerator)
SPICE generator for the synthesized repeat-per-unit wrapper.
const SIM_MODEL_MULTIUNIT & multiunit() const
std::string ModelLine(const SPICE_ITEM &aItem) const override
SPICE_GENERATOR(const SIM_MODEL &aModel)
std::string ModelName(const SPICE_ITEM &aItem) const override
std::vector< std::string > CurrentNames(const SPICE_ITEM &aItem) const override
SPICE_GENERATOR(const SIM_MODEL &aModel)
std::vector< std::pair< wxString, wxString > > ParseSimPinsTokens(const wxString &aPins, const wxString &aRef)
Parse one unit's Sim.Pins text into (symbolPinNumber -> modelPinName) pairs, preserving the written o...
Per-component decomposition descriptor stored in the Sim.Decomposition field.
static SIM_DECOMPOSITION Parse(const wxString &aField)
std::vector< wxString > sharedModelPins
std::vector< wxString > nodes
one node per base-model pin, in base order
One functional unit's pin map, gathered from its Sim.Pins field.
std::vector< std::pair< wxString, wxString > > pins