19 #ifndef TORC_PHYSICAL_INSTANCE_HPP
20 #define TORC_PHYSICAL_INSTANCE_HPP
29 #include <boost/smart_ptr.hpp>
104 Instance(
const string& inName,
const string& inType,
const string& inTile,
137 std::pair<InstancePinSharedPtrConstIterator, InstancePinSharedPtrConstIterator>
199 #endif // TORC_PHYSICAL_INSTANCE_HPP
size_t getPinCount(const string &inPinName) const
Returns the number of instance pins associated with the given pin.
Header for the Renamable class.
size_t getPinCount(void) const
Returns the number of instance pins in the instance.
Header for the ConfigMap class.
std::vector< InstanceSharedPtr > InstanceSharedPtrVector
Vector of Instance shared pointers.
EInstanceBonding
Enumeration of pad bonding types.
void removePin(const InstancePinWeakPtr &inInstancePinPtr)
Remove the referenced InstancePin from our pin map.
InstanceReferenceSharedPtr getInstanceReferencePtr(void) const
Returns the instance reference for this instance, if any.
const InstancePinSharedPtrConstIterator findPin(const PinName &inPinName) const
Returns an InstancePin iterator for the requested pin.
Physical design instance-pin pair, suitable for specifying a net endpoint.
const string & getType(void) const
Returns the logic type for this instance.
Header for the InstanceReference class.
Encapsulation of a site pin name.
void setType(const string &inType)
Sets the logic type for this instance.
string mSite
The instance placement site, or an empty string if unplaced.
string mName
The name of the object.
void addPin(const InstancePinWeakPtr &inInstancePinPtr)
Add the referenced InstancePin to our pin map.
InstancePinMap::iterator InstancePinSharedPtrIterator
Non-constant iterator to InstancePin shared pointers.
std::vector< InstancePinSharedPtr > InstancePinSharedPtrVector
Vector of InstancePin shared pointers.
const string & getSite(void) const
Returns the placement site for this instance.
InstancePinSharedPtrIterator pinsEnd(void)
Returns the end non-constant iterator for instance pins.
boost::shared_ptr< class InstancePin > InstancePinSharedPtr
Shared pointer encapsulation of an InstancePin.
void unplace(void)
Unplace the instance.
std::string string
Imported type name.
Header for the Progenitor class.
Header for the Annotated class.
void setBonding(EInstanceBonding inBonding)
Sets the IO bonding for this instance.
bool operator==(const Instance &rhs) const
Equality operator.
Physical design instance.
Instance(const string &inName, const string &inType, const string &inTile, const string &inSite, EInstanceBonding inBonding, InstanceReferenceSharedPtr &inInstanceReferencePtr)
Protected constructor.
Header for the Named class.
InstancePinMap::const_iterator InstancePinSharedPtrConstIterator
Constant iterator to InstancePin shared pointers.
boost::shared_ptr< Instance > InstanceSharedPtr
Shared pointer encapsulation of an Instance.
InstancePinMap mInstancePins
The map of pin names to InstancePin weak pointers.
EInstanceBonding mBonding
The instance bonding.
InstancePinSharedPtrIterator pinsBegin(void)
Returns the begin non-constant iterator for instance pins.
Factory class for physical netlist elements.
InstancePinSharedPtrConstIterator pinsBegin(void) const
Returns the begin constant iterator for instance pins.
Concept for any object that may have children.
Concept for any object that may have a parent.
Header for the Progeny class.
void setInstanceReferencePtr(InstanceReferenceSharedPtr inInstanceReferenceSharedPtr)
Sets the instance reference for this instance.
const string & getTile(void) const
Returns the placement tile for this instance.
Concept for any object that can be renamed.
void setTile(const string &inTile)
Sets the placement tile for this instance.
Configuration setting map.
InstanceReferenceSharedPtr mInstanceReferencePtr
The module instance reference, if any.
string mTile
The instance placement tile, or an empty string if unplaced.
std::pair< InstancePinSharedPtrConstIterator, InstancePinSharedPtrConstIterator > findPinRange(const PinName &inPinName) const
Returns a range that encompasses all instance pins for the given pin.
boost::weak_ptr< class InstancePin > InstancePinWeakPtr
Weak pointer encapsulation of an InstancePin.
string mType
The instance logic type.
void setSite(const string &inSite)
Sets the placement site for this instance.
EInstanceBonding getBonding(void) const
Returns the IO bonding for this instance.
Circuit composed of instances and nets.
boost::weak_ptr< Instance > InstanceWeakPtr
Weak pointer encapsulation of an Instance.
InstancePinSharedPtrConstIterator pinsEnd(void) const
Returns the end constant iterator for instance pins.
std::multimap< PinName, InstancePinSharedPtr > InstancePinMap
Map from instance pin name to instance pin.
boost::shared_ptr< InstanceReference > InstanceReferenceSharedPtr
Shared pointer encapsulation of an InstanceReference.
Concept for any object that can be annotated.