#include <ModuleTransformer.hpp>
Public Member Functions | |
| ModuleTransformer (DesignSharedPtr &inDesignPtr) | |
| Public constructor. | |
| bool | modularize (const InstanceSharedPtrVector &inInstances, const string &inModuleDefinitionName, const string &inModuleInstanceName, bool inKeepPlacement=false, bool inKeepRouting=false) |
| Group a set of instances into a module. | |
| bool | flatten (const string &inModuleInstanceName, bool inKeepPlacement=false, bool inKeepRouting=false) |
| Flatten a module instance in a design. | |
Protected Types | |
| enum | ENetConnectivity { eNetConnectivityNotConnected = 0, eNetConnectivityInternal, eNetConnectivityExternal } |
| Net connectivity with respect to module instance, either not connected to module, internal to module, or external to module. More... | |
| typedef Design::InstanceSharedPtrConstIterator | InstanceSharedPtrConstIterator |
| Imported type. | |
| typedef Design::NetSharedPtrIterator | NetSharedPtrIterator |
| Imported type. | |
| typedef Design::ModuleSharedPtrIterator | ModuleSharedPtrIterator |
| Imported type. | |
| typedef Design::InstanceSharedPtrIterator | InstanceSharedPtrIterator |
| Imported type. | |
| typedef Module::PortSharedPtrConstIterator | PortSharedPtrConstIterator |
| Imported type. | |
| typedef Net::InstancePinSharedPtrIterator | InstancePinSharedPtrIterator |
| Imported type. | |
| typedef Net::InstancePinSharedPtrConstIterator | InstancePinSharedPtrConstIterator |
| Imported type. | |
| typedef Net::PipConstIterator | PipConstIterator |
| Imported type. | |
Protected Attributes | |
| DesignSharedPtr | mDesignPtr |
| Design pointer. | |
Static Protected Attributes | |
| static const string | sHierarchySeparator = "/" |
| Hierarchy separator. | |
| static const string | sPortIndexSeparator = "_" |
| Port index separator. | |
| static const boost::regex | sValidPinNameCharactersRegEx |
| Valid characters in a pin name. | |
| static const boost::regex | sInvalidPinNameFirstCharactersRegEx |
| Invalid first characters in a pin name. | |
Private Member Functions | |
| ENetConnectivity | getNetConnectivity (InstanceSharedPtrConstIterator inInstanceSharedPtrConstBegin, InstanceSharedPtrConstIterator inInstanceSharedPtrConstEnd, NetSharedPtr inNetPtr) |
| Generate net connectivity type based on module boundary. | |
| string | sanitizePinName (string inPinName) |
| Sanitize a pin name. | |
| InstanceSharedPtr | cloneInstance (InstanceSharedPtr inIntancePtr, const string &inCloneInstanceName) |
| Clone an instance. | |
| NetSharedPtr | cloneNet (NetSharedPtr inNetPtr, const string &inNetCloneName, const string &inModuleInstanceName) |
| Clone a net. | |
Definition at line 34 of file ModuleTransformer.hpp.
typedef Design::NetSharedPtrIterator torc::physical::ModuleTransformer::NetSharedPtrIterator [protected] |
typedef Net::PipConstIterator torc::physical::ModuleTransformer::PipConstIterator [protected] |
enum torc::physical::ModuleTransformer::ENetConnectivity [protected] |
Net connectivity with respect to module instance, either not connected to module, internal to module, or external to module.
Definition at line 68 of file ModuleTransformer.hpp.
| torc::physical::ModuleTransformer::ModuleTransformer | ( | DesignSharedPtr & | inDesignPtr | ) | [inline] |
Public constructor.
| inDesignPtr | Pointer to the design. |
Definition at line 76 of file ModuleTransformer.hpp.
| bool torc::physical::ModuleTransformer::modularize | ( | const InstanceSharedPtrVector & | inInstances, | |
| const string & | inModuleDefinitionName, | |||
| const string & | inModuleInstanceName, | |||
| bool | inKeepPlacement = false, |
|||
| bool | inKeepRouting = false | |||
| ) | [inline] |
Group a set of instances into a module.
| inInstances | The vector of instances to group. | |
| inModuleDefinitionName | The module definition name. | |
| inModuleInstanceName | The module instance name. | |
| inKeepPlacement | A flag specifying whether placement should be retained after modularization. Default to false. | |
| inKeepRouting | A flag specifying whether routing should be retained afer modularization. Defaults to false. |
Definition at line 147 of file ModuleTransformer.hpp.
| bool torc::physical::ModuleTransformer::flatten | ( | const string & | inModuleInstanceName, | |
| bool | inKeepPlacement = false, |
|||
| bool | inKeepRouting = false | |||
| ) | [inline] |
Flatten a module instance in a design.
| inModuleInstanceName | The name of the module instance to be flattened. | |
| inKeepPlacement | A flag specifying whether placement should be retained after flattening. Default to false. | |
| inKeepRouting | A flag specifying whether routing should be retained afer flattening. Defaults to false. |
Definition at line 481 of file ModuleTransformer.hpp.
| ENetConnectivity torc::physical::ModuleTransformer::getNetConnectivity | ( | InstanceSharedPtrConstIterator | inInstanceSharedPtrConstBegin, | |
| InstanceSharedPtrConstIterator | inInstanceSharedPtrConstEnd, | |||
| NetSharedPtr | inNetPtr | |||
| ) | [inline, private] |
Generate net connectivity type based on module boundary.
| inInstanceSharedPtrConstBegin | A begin iterator to instances contained in module. | |
| inInstanceSharedPtrConstEnd | An end iterator to instances contained in module. | |
| inNetPtr | A pointer to a net. |
Definition at line 760 of file ModuleTransformer.hpp.
| string torc::physical::ModuleTransformer::sanitizePinName | ( | string | inPinName | ) | [inline, private] |
Sanitize a pin name.
| inPinName | The pin name to be sanitized. |
Definition at line 840 of file ModuleTransformer.hpp.
| InstanceSharedPtr torc::physical::ModuleTransformer::cloneInstance | ( | InstanceSharedPtr | inIntancePtr, | |
| const string & | inCloneInstanceName | |||
| ) | [inline, private] |
Clone an instance.
| inIntancePtr | A pointer to the instance to be cloned. | |
| inCloneInstanceName | The name of the clone. Clone an instance and its configuration. This function does not clone the instance pins. Instance pins are handled when cloning nets, in function cloneNet. |
Definition at line 872 of file ModuleTransformer.hpp.
| NetSharedPtr torc::physical::ModuleTransformer::cloneNet | ( | NetSharedPtr | inNetPtr, | |
| const string & | inNetCloneName, | |||
| const string & | inModuleInstanceName | |||
| ) | [inline, private] |
Clone a net.
| inNetPtr | A pointer to the net to be cloned. | |
| inNetCloneName | The name of the clone. | |
| inModuleInstanceName | The module instance name. Clone a net, its configuration, its sources, sinks and pips. For pips, the routethrough instances are droppped and not cloned. |
Definition at line 916 of file ModuleTransformer.hpp.
const std::string torc::physical::ModuleTransformer::sHierarchySeparator = "/" [static, protected] |
const std::string torc::physical::ModuleTransformer::sPortIndexSeparator = "_" [static, protected] |
const boost::regex torc::physical::ModuleTransformer::sValidPinNameCharactersRegEx [static, protected] |
const boost::regex torc::physical::ModuleTransformer::sInvalidPinNameFirstCharactersRegEx [static, protected] |
1.5.6