torc-master
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
torc::physical::Factory Class Reference

Factory class for physical netlist elements. More...

#include <Factory.hpp>

Static Public Member Functions

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. More...
 
static ModuleSharedPtr newModulePtr (const string &inName, const string &inAnchor)
 Create and return a new Module shared pointer. More...
 
static PortSharedPtr newPortPtr (const string &inName, InstanceSharedPtr inInstancePtr, const string &inPinName)
 Create and return a new Port shared pointer. More...
 
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. More...
 
static NetSharedPtr newNetPtr (const string &inName, ENetType inNetType=eNetTypeNormal)
 Create and return a new Net share pointer. More...
 
static InstanceReferenceSharedPtr newInstanceReferencePtr (const string &inInstantiationName, ModuleSharedPtr inModulePtr, InstanceSharedPtr inInstancePtr)
 Create and return a new InstanceReference shared pointer. More...
 
static InstancePinSharedPtr newInstancePinPtr (InstanceSharedPtr inInstancePtr, const string &inPinName)
 Construct and return a new InstancePin shared pointer. More...
 
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. More...
 
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. More...
 

Protected Types

typedef std::string string
 Imported type name. More...
 

Detailed Description

Factory class for physical netlist elements.

Physical netlist elements must be created by this factory.

Definition at line 31 of file physical/Factory.hpp.

Member Typedef Documentation

typedef std::string torc::physical::Factory::string
protected

Imported type name.

Definition at line 35 of file physical/Factory.hpp.

Member Function Documentation

static DesignSharedPtr torc::physical::Factory::newDesignPtr ( const string inName,
const string inDevice,
const string inPackage,
const string inSpeedGrade,
const string inXdlVersion 
)
inlinestatic

Create and return a new Design shared pointer.

Parameters
inNameThe design name.
inDeviceThe design device.
inPackageThe device package.
inSpeedGradeThe device speed grade.
inXdlVersionThe design XDL version.

Definition at line 44 of file physical/Factory.hpp.

45  {
46  DesignSharedPtr designPtr(new Design(inName, inDevice, inPackage, inSpeedGrade,
47  inXdlVersion));
48  designPtr->setSelfWeakPtr(designPtr);
49  return designPtr;
50  }
boost::shared_ptr< Design > DesignSharedPtr
Shared pointer encapsulation of a Design.

+ Here is the caller graph for this function:

static InstancePinSharedPtr torc::physical::Factory::newInstancePinPtr ( InstanceSharedPtr  inInstancePtr,
const string inPinName 
)
inlinestatic

Construct and return a new InstancePin shared pointer.

Parameters
inInstancePtrThe pin instance pointer.
inPinNameThe pin name.

Definition at line 111 of file physical/Factory.hpp.

112  {
113  InstancePinSharedPtr instancePinPtr(new InstancePin(inInstancePtr, inPinName));
114  instancePinPtr->setSelfWeakPtr(instancePinPtr);
115  return instancePinPtr;
116  }
boost::shared_ptr< class InstancePin > InstancePinSharedPtr
Shared pointer encapsulation of an InstancePin.

+ Here is the caller graph for this function:

static InstanceSharedPtr torc::physical::Factory::newInstancePtr ( const string inName,
const string inType,
const string inTile,
const string inSite,
EInstanceBonding  inBonding = eInstanceBondingUnknown,
InstanceReferenceSharedPtr  inInstanceReferencePtr = InstanceReferenceSharedPtr() 
)
inlinestatic

Construct and return a new Instance shared pointer.

Parameters
inNameThe instance name.
inTypeThe instance type.
inTileThe instance tile, or an empty string if unplaced.
inSiteThe instance site, or an empty string if unplaced.
inBondingThe specified bonding for unplaced IO, or eInstanceBondingUnknown for placed IO instances and non-IO instances. The default value is almost always correct.
inInstanceReferencePtrThe module instance reference, if applicable. The default value is almost always correct. Note that instance references are never required for XDL, and are only supported to faithfully replicate XDL designs.

Definition at line 81 of file physical/Factory.hpp.

84  {
85  InstanceSharedPtr instancePtr(new Instance(inName, inType, inTile, inSite, inBonding,
86  inInstanceReferencePtr));
87  instancePtr->setSelfWeakPtr(instancePtr);
88  return instancePtr;
89  }
boost::shared_ptr< Instance > InstanceSharedPtr
Shared pointer encapsulation of an Instance.

+ Here is the caller graph for this function:

static InstanceReferenceSharedPtr torc::physical::Factory::newInstanceReferencePtr ( const string inInstantiationName,
ModuleSharedPtr  inModulePtr,
InstanceSharedPtr  inInstancePtr 
)
inlinestatic

Create and return a new InstanceReference shared pointer.

Parameters
inInstantiationNameThe name under which the reference module was instantiated.
inModulePtrThe module containing the referenced instance.
inInstancePtrThe instance being referenced.

Definition at line 102 of file physical/Factory.hpp.

103  {
104  InstanceReferenceSharedPtr instanceReferencePtr(
105  new InstanceReference(inInstantiationName, inModulePtr, inInstancePtr));
106  return instanceReferencePtr;
107  }
boost::shared_ptr< InstanceReference > InstanceReferenceSharedPtr
Shared pointer encapsulation of an InstanceReference.

+ Here is the caller graph for this function:

static ModuleSharedPtr torc::physical::Factory::newModulePtr ( const string inName,
const string inAnchor 
)
inlinestatic

Create and return a new Module shared pointer.

Parameters
inNameThe module name.
inAnchorThe anchor instance name for the module. The anchor designates the instance in the module relative to which the module will be placed.

Definition at line 55 of file physical/Factory.hpp.

55  {
56  ModuleSharedPtr modulePtr(new Module(inName, inAnchor));
57  modulePtr->Progenitor<Module>::setSelfWeakPtr(modulePtr);
58  return modulePtr;
59 
60  }
boost::shared_ptr< Module > ModuleSharedPtr
Shared pointer encapsulation of a Module.
Definition: Module.hpp:114

+ Here is the caller graph for this function:

static NetSharedPtr torc::physical::Factory::newNetPtr ( const string inName,
ENetType  inNetType = eNetTypeNormal 
)
inlinestatic

Create and return a new Net share pointer.

Parameters
inNameThe net name.
inNetTypeThe net power type.

Definition at line 93 of file physical/Factory.hpp.

93  {
94  NetSharedPtr netPtr(new Net(inName, inNetType));
95  netPtr->setSelfWeakPtr(netPtr);
96  return netPtr;
97  }
boost::shared_ptr< Net > NetSharedPtr
Shared pointer encapsulation of a Net.

+ Here is the caller graph for this function:

static torc::physical::Pip torc::physical::Factory::newPip ( const string inTileName,
const string inSourceWireName,
const string inSinkWireName,
EPipDirection  inPipDirection,
RoutethroughSharedPtr  inRoutethroughPtr = RoutethroughSharedPtr() 
)
inlinestatic

Construct a pip and return it.

Parameters
inTileNameThe containing tile.
inSourceWireNameThe source wire.
inSinkWireNameThe sink wire.
inPipDirectionThe pip directionality. See EPipDirection. The most common value is ePipUnidirectionalBuffered, which represents a unidirectional buffered connection from source to sink.
inRoutethroughPtrThe routethrough shared pointer. The default value creates no routethrough.

Definition at line 126 of file physical/Factory.hpp.

128  {
129  return Pip(inTileName, inSourceWireName, inSinkWireName, inPipDirection,
130  inRoutethroughPtr);
131  }

+ Here is the caller graph for this function:

static PortSharedPtr torc::physical::Factory::newPortPtr ( const string inName,
InstanceSharedPtr  inInstancePtr,
const string inPinName 
)
inlinestatic

Create and return a new Port shared pointer.

Parameters
inNameThe port name.
inInstancePtrThe port instance pointer.
inPinNameThe port pin name.

Definition at line 65 of file physical/Factory.hpp.

66  {
67  PortSharedPtr portPtr(new Port(inName, inInstancePtr, inPinName));
68  return portPtr;
69  }
boost::shared_ptr< Port > PortSharedPtr
Shared pointer encapsulation of a Port.

+ Here is the caller graph for this function:

static RoutethroughSharedPtr torc::physical::Factory::newRoutethroughPtr ( const string inSetting,
const string inName,
const string inValue,
const InstanceWeakPtr inInstancePtr,
const string inSourceWireName,
const string inSinkWireName 
)
inlinestatic

Construct and return a new Routethrough shared pointer.

Definition at line 133 of file physical/Factory.hpp.

135  {
136  RoutethroughSharedPtr routethroughPtr(new Routethrough(inSetting, inName, inValue,
137  inInstancePtr, inSourceWireName, inSinkWireName));
138  return routethroughPtr;
139  }
boost::shared_ptr< Routethrough > RoutethroughSharedPtr
Shared pointer encapsulation of a Routethrough.

+ Here is the caller graph for this function:


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