19 #ifndef TORC_PHYSICAL_FACTORY_HPP
20 #define TORC_PHYSICAL_FACTORY_HPP
24 #include <boost/smart_ptr.hpp>
45 const string& inPackage,
const string& inSpeedGrade,
const string& inXdlVersion) {
48 designPtr->setSelfWeakPtr(designPtr);
57 modulePtr->Progenitor<Module>::setSelfWeakPtr(modulePtr);
66 const string& inPinName) {
82 const string& inTile,
const string& inSite,
86 inInstanceReferencePtr));
87 instancePtr->setSelfWeakPtr(instancePtr);
95 netPtr->setSelfWeakPtr(netPtr);
106 return instanceReferencePtr;
112 const string& inPinName) {
114 instancePinPtr->setSelfWeakPtr(instancePinPtr);
115 return instancePinPtr;
129 return Pip(inTileName, inSourceWireName, inSinkWireName, inPipDirection,
134 const string& inName,
const string& inValue,
const InstanceWeakPtr& inInstancePtr,
135 const string& inSourceWireName,
const string& inSinkWireName) {
137 inInstancePtr, inSourceWireName, inSinkWireName));
138 return routethroughPtr;
145 #endif // TORC_PHYSICAL_FACTORY_HPP
ENetType
Enumeration of net power types.
EInstanceBonding
Enumeration of pad bonding types.
static PortSharedPtr newPortPtr(const string &inName, InstanceSharedPtr inInstancePtr, const string &inPinName)
Create and return a new Port shared pointer.
boost::shared_ptr< Port > PortSharedPtr
Shared pointer encapsulation of a Port.
static NetSharedPtr newNetPtr(const string &inName, ENetType inNetType=eNetTypeNormal)
Create and return a new Net share pointer.
boost::shared_ptr< class InstancePin > InstancePinSharedPtr
Shared pointer encapsulation of an InstancePin.
boost::shared_ptr< Module > ModuleSharedPtr
Shared pointer encapsulation of a Module.
std::string string
Imported type name.
Physical design instance.
Header for the Design class.
static torc::physical::Pip newPip(const string &inTileName, const string &inSourceWireName, const string &inSinkWireName, EPipDirection inPipDirection, RoutethroughSharedPtr inRoutethroughPtr=RoutethroughSharedPtr())
Construct a pip and return it.
boost::shared_ptr< Net > NetSharedPtr
Shared pointer encapsulation of a Net.
static InstanceSharedPtr newInstancePtr(const string &inName, const string &inType, const string &inTile, const string &inSite, EInstanceBonding inBonding=eInstanceBondingUnknown, InstanceReferenceSharedPtr inInstanceReferencePtr=InstanceReferenceSharedPtr())
Construct and return a new Instance shared pointer.
Physical design instance-pin pair, suitable for specifying a net endpoint.
boost::shared_ptr< Instance > InstanceSharedPtr
Shared pointer encapsulation of an Instance.
Factory class for physical netlist elements.
boost::shared_ptr< Design > DesignSharedPtr
Shared pointer encapsulation of a Design.
Physical design programmable interconnect point.
boost::shared_ptr< Routethrough > RoutethroughSharedPtr
Shared pointer encapsulation of a Routethrough.
static RoutethroughSharedPtr newRoutethroughPtr(const string &inSetting, const string &inName, const string &inValue, const InstanceWeakPtr &inInstancePtr, const string &inSourceWireName, const string &inSinkWireName)
Construct and return a new Routethrough shared pointer.
static InstancePinSharedPtr newInstancePinPtr(InstanceSharedPtr inInstancePtr, const string &inPinName)
Construct and return a new InstancePin shared pointer.
static ModuleSharedPtr newModulePtr(const string &inName, const string &inAnchor)
Create and return a new Module shared pointer.
Module input or output port.
static DesignSharedPtr newDesignPtr(const string &inName, const string &inDevice, const string &inPackage, const string &inSpeedGrade, const string &inXdlVersion)
Create and return a new Design shared pointer.
Instantiation of a module instance.
EPipDirection
Enumeration of pip directionality.
boost::weak_ptr< Instance > InstanceWeakPtr
Weak pointer encapsulation of an Instance.
boost::shared_ptr< InstanceReference > InstanceReferenceSharedPtr
Shared pointer encapsulation of an InstanceReference.
static InstanceReferenceSharedPtr newInstanceReferencePtr(const string &inInstantiationName, ModuleSharedPtr inModulePtr, InstanceSharedPtr inInstancePtr)
Create and return a new InstanceReference shared pointer.