torc-master
|
Physical design net. More...
#include <Net.hpp>
Public Types | |
typedef InstancePinSharedPtrVector::const_iterator | InstancePinSharedPtrConstIterator |
Constant iterator to InstancePin shared pointer objects. More... | |
typedef InstancePinSharedPtrVector::iterator | InstancePinSharedPtrIterator |
Non-constant iterator to InstancePin shared pointer objects. More... | |
typedef PipVector::const_iterator | PipConstIterator |
Constant iterator to Pip objects. More... | |
typedef PipVector::iterator | PipIterator |
Non-constant iterator to Pip objects. More... | |
typedef const_iterator | const_iterator |
Constant iterator to {setting,Config} pairs. More... | |
enum | EAnnotationType { ePlacerInstanceTypeIndex, ePlacerInstanceSitePtr, ePlacerInstanceDependentInstanceAbove, ePlacerInstanceDependsOnInstanceBelow, eRouterNetTilewireSources, eRouterNetTilewireSinks, eRouterNetArcList, eRouterNetRouteNodePtrVector, eRouterNetRouteTime, eRouterNetArcVector, eAnnotationGlobalRouter, eAnnotationCount } |
Enumeration for all types of annotations. More... | |
Public Member Functions | |
bool | containsSource (InstancePinSharedPtr &inInstancePinPtr) const |
Determines whether the given instance pin is a source of this net. More... | |
bool | containsSink (InstancePinSharedPtr &inInstancePinPtr) const |
Determines whether the given instance pin is a sink of this net. More... | |
bool | containsPip (const Pip &inPip) const |
Determines whether the net contains the given pip. More... | |
void | addSource (InstancePinSharedPtr &inInstancePinPtr) |
Adds the given instance pin as a source for this net. More... | |
void | addSink (InstancePinSharedPtr &inInstancePinPtr) |
Adds the given instance pin as a sink for this net. More... | |
bool | removeSource (InstancePinSharedPtr &inInstancePinPtr) |
Removes the given instance pin from the sources of this net. More... | |
bool | removeSink (InstancePinSharedPtr &inInstancePinPtr) |
Removes the given instance pin from the sinks of this net. More... | |
void | addPip (const Pip &inPip) |
Adds the given pip to this net. More... | |
bool | removePip (const Pip &inPip) |
Removes the given pip from this net. More... | |
void | unroute (void) |
Unroute the net. More... | |
bool | hasAnySources (void) const |
Returns true if the net has any sources. More... | |
bool | hasOneSource (void) const |
Returns true if the net has exactly one source. More... | |
bool | hasMultipleSources (void) const |
Returns true if the net has more than one source. More... | |
size_t | getSourceCount (void) const |
Returns the number of sources on the net. More... | |
bool | hasAnySinks (void) const |
Returns true if the net has any sinks. More... | |
bool | hasOneSink (void) const |
Returns true if the net has exactly one sink. More... | |
bool | hasMultipleSinks (void) const |
Returns true if the next has more than one sink. More... | |
size_t | getSinkCount (void) const |
Returns the number of sinks on the net. More... | |
bool | hasAnyPips (void) const |
Returns true if the net has any pips. More... | |
size_t | getPipCount (void) const |
Returns the number of pips on the net. More... | |
bool | isRouted (void) const |
Returns true if the net has any pips. More... | |
bool | isUnrouted (void) const |
Returns true if the net has no pips. More... | |
InstancePinSharedPtrConstIterator | sourcesBegin (void) const |
Returns the begin constant iterator for source instance pins. More... | |
InstancePinSharedPtrConstIterator | sourcesEnd (void) const |
Returns the end constant iterator for source instance pins. More... | |
InstancePinSharedPtrIterator | sourcesBegin (void) |
Returns the begin non-constant iterator for source instance pins. More... | |
InstancePinSharedPtrIterator | sourcesEnd (void) |
Returns the end non-constant iterator for source instance pins. More... | |
InstancePinSharedPtrConstIterator | sinksBegin (void) const |
Returns the begin constant iterator for sink instance pins. More... | |
InstancePinSharedPtrConstIterator | sinksEnd (void) const |
Returns the end constant iterator for sink instance pins. More... | |
InstancePinSharedPtrIterator | sinksBegin (void) |
Returns the begin non-constant iterator for sink instance pins. More... | |
InstancePinSharedPtrIterator | sinksEnd (void) |
Returns the end non-constant iterator for sink instance pins. More... | |
PipConstIterator | pipsBegin (void) const |
Returns the begin constant iterator for pips. More... | |
PipConstIterator | pipsEnd (void) const |
Returns the end constant iterator for pips. More... | |
PipIterator | pipsBegin (void) |
Returns the begin non-constant iterator for pips. More... | |
PipIterator | pipsEnd (void) |
Returns the end non-constant iterator for pips. More... | |
ENetType | getNetType (void) const |
Returns the net power type. See ENetPowerType. More... | |
void | setNetType (ENetType inNetType) |
Sets the net power type. See ENetPowerType. More... | |
bool | operator== (const Net &rhs) const |
Equality operator. More... | |
void | deprecatedSetName (const string &inName) |
Illegally sets the object name. More... | |
const string & | getName (void) const |
Returns the object name. More... | |
bool | operator== (const Named &rhs) const |
Equality operator. More... | |
const WeakPtrType & | getParentWeakPtr (void) const |
Returns a weak pointer to the parent. More... | |
void | setParentWeakPtr (WeakPtrType inParentPtr) |
Sets the weak pointer to the parent. More... | |
void | resetParentWeakPtr (void) |
Method to reset and orphan this object. More... | |
const SharedPtrType & | getParentSharedPtr (void) const |
Returns a shared pointer to the parent (WARNING: Does not work right). More... | |
const_iterator | configBegin (void) const |
Returns the begin constant iterator for configurations. More... | |
const_iterator | configEnd (void) const |
Returns the end constant iterator for configurations. More... | |
size_t | getConfigCount (void) const |
Returns the number of configurations in the map. More... | |
bool | configIsEmpty (void) const |
Returns true if the configuration map is empty. More... | |
void | clearConfig (void) |
Clears the configuration map. More... | |
bool | hasConfig (const string &inSetting) const |
Returns true if the specified setting exists in the map. More... | |
bool | getConfig (const string &inSetting, Config &outConfig) |
Looks up the specified setting in the map. More... | |
bool | getConfig (const string &inSetting, string &outName, string &outValue) |
Looks up the specified setting in the map. More... | |
void | setConfig (const string &inSetting, const Config &inConfig) |
Sets the configuration for the given setting. More... | |
void | setConfig (const string &inSetting, const string &inName, const string &inValue) |
Sets the configuration for the given setting. More... | |
bool | removeConfig (const string &inSetting) |
Removes the named configuration. More... | |
void | addConfigs (const ConfigMap &inConfigMap) |
Merges the configurations from the given ConfigMap into this one. More... | |
std::pair< iterator, iterator > | getMultiConfigValues (const string &inSetting) |
Returns a range that encompasses all of the configurations for the given setting. More... | |
size_type | getMultiConfigCount (const string &inSetting) |
Returns the number of configurations for the given setting. More... | |
boost::any | getAnnotation (uint32 inKey) |
Get an annotation. Returns an empty annotation if the index doesn't exist. More... | |
void | setAnnotation (uint32 inKey, boost::any inValue) |
Set an annotation. More... | |
void | removeAnnotation (uint32 inKey) |
Remove an annotation. More... | |
bool | hasAnnotation (uint32 inKey) |
Check if an annotation exists. More... | |
Static Public Member Functions | |
static bool | allowConfigDuplicates (const string &inSetting) |
Returns true if multiple configurations are allowed for the given setting. More... | |
Protected Types | |
typedef std::string | string |
Imported type name. More... | |
typedef boost::weak_ptr< class Circuit > | WeakPtrType |
Weak pointer of our own type. More... | |
typedef boost::shared_ptr < class Circuit > | SharedPtrType |
Shared pointer of our own type. More... | |
typedef std::multimap < std::string, Config > | super |
Convenience typedef to represent our superclass. More... | |
typedef boost::weak_ptr< Net > | WeakPtrType |
Weak pointer of our own type. More... | |
typedef boost::shared_ptr< Net > | SharedPtrType |
Shared pointer of our own type. More... | |
Protected Member Functions | |
Net (const string &inName, ENetType inNetType) | |
Protected constructor. More... | |
void | setName (const string &inName) |
Sets the object name. More... | |
void | setSelfWeakPtr (WeakPtrType inSelfPtr) |
Sets the weak pointer to this object. More... | |
const WeakPtrType & | getSelfWeakPtr (void) const |
Returns a weak pointer to this object. More... | |
Protected Attributes | |
ENetType | mNetType |
The net power type. See ENetType. More... | |
InstancePinSharedPtrVector | mSources |
Vector of instance pin shared pointer sources for the net. More... | |
InstancePinSharedPtrVector | mSinks |
Vector of instance pin shared pointer sinks for the net. More... | |
PipVector | mPips |
Vector of pips for the net. More... | |
string | mName |
The name of the object. More... | |
WeakPtrType | mParentWeakPtr |
Weak pointer to the parent. More... | |
SequenceIndex | mNextSequenceIndex |
Sequence index to use for the next configuration added to this map. More... | |
boost::unordered_map < boost::uint32_t, boost::any > | mAnnotations |
Map containing any annotations. More... | |
WeakPtrType | mSelfWeakPtr |
Weak pointer this object. More... | |
Friends | |
class | Factory |
The Factory class has direct access to our internals. More... | |
Physical design net.
The Net class owns its instance pins and its pips, and is responsible for deleting them.
Definition at line 42 of file physical/Net.hpp.
|
inherited |
Constant iterator to {setting,Config} pairs.
Definition at line 52 of file ConfigMap.hpp.
typedef InstancePinSharedPtrVector::const_iterator torc::physical::Net::InstancePinSharedPtrConstIterator |
Constant iterator to InstancePin shared pointer objects.
Definition at line 69 of file physical/Net.hpp.
typedef InstancePinSharedPtrVector::iterator torc::physical::Net::InstancePinSharedPtrIterator |
Non-constant iterator to InstancePin shared pointer objects.
Definition at line 71 of file physical/Net.hpp.
typedef PipVector::const_iterator torc::physical::Net::PipConstIterator |
Constant iterator to Pip objects.
Definition at line 73 of file physical/Net.hpp.
typedef PipVector::iterator torc::physical::Net::PipIterator |
Non-constant iterator to Pip objects.
Definition at line 75 of file physical/Net.hpp.
|
protectedinherited |
Shared pointer of our own type.
Definition at line 35 of file Progeny.hpp.
|
protectedinherited |
Shared pointer of our own type.
Definition at line 52 of file Progenitor.hpp.
|
protected |
Imported type name.
Definition at line 50 of file physical/Net.hpp.
|
protectedinherited |
Convenience typedef to represent our superclass.
Definition at line 45 of file ConfigMap.hpp.
|
protectedinherited |
Weak pointer of our own type.
Definition at line 33 of file Progeny.hpp.
|
protectedinherited |
Weak pointer of our own type.
Definition at line 50 of file Progenitor.hpp.
|
inherited |
Enumeration for all types of annotations.
Definition at line 57 of file Annotated.hpp.
Protected constructor.
inName | The net name. |
inNetType | The net power type. |
Definition at line 64 of file physical/Net.hpp.
|
inlineinherited |
Merges the configurations from the given ConfigMap into this one.
For each setting, if the setting does not already exist in the map, it is added. If the setting does exist, then the incoming configuration either replaces the existing setting (in the case of regular settings), or is added to the map (in the case of special settings for which multiple configurations are allowed).
Definition at line 159 of file ConfigMap.hpp.
|
inline |
Adds the given pip to this net.
Duplicate pips are not currently discarded.
Definition at line 140 of file physical/Net.hpp.
|
inline |
Adds the given instance pin as a sink for this net.
Duplicate sinks are not currently discarded.
Definition at line 104 of file physical/Net.hpp.
|
inline |
Adds the given instance pin as a source for this net.
Duplicate sources are not currently discarded.
Definition at line 94 of file physical/Net.hpp.
|
inlinestaticinherited |
Returns true if multiple configurations are allowed for the given setting.
Special Xilinx settings prefixed with an underscore may have multiple configurations in the map.
Definition at line 177 of file ConfigMap.hpp.
|
inlineinherited |
Clears the configuration map.
Definition at line 67 of file ConfigMap.hpp.
|
inlineinherited |
Returns the begin constant iterator for configurations.
Definition at line 58 of file ConfigMap.hpp.
|
inlineinherited |
Returns the end constant iterator for configurations.
Definition at line 60 of file ConfigMap.hpp.
|
inlineinherited |
Returns true if the configuration map is empty.
Definition at line 65 of file ConfigMap.hpp.
|
inline |
Determines whether the net contains the given pip.
Definition at line 89 of file physical/Net.hpp.
|
inline |
Determines whether the given instance pin is a sink of this net.
Definition at line 84 of file physical/Net.hpp.
|
inline |
Determines whether the given instance pin is a source of this net.
Definition at line 79 of file physical/Net.hpp.
|
inlineinherited |
|
inlineinherited |
Get an annotation. Returns an empty annotation if the index doesn't exist.
Definition at line 45 of file Annotated.hpp.
|
inlineinherited |
Looks up the specified setting in the map.
inSetting | The setting to query. |
outConfig | Reference to a configuration to be populated if the setting exists in the map. Default values are used if the setting does not exist. |
Definition at line 82 of file ConfigMap.hpp.
|
inlineinherited |
Looks up the specified setting in the map.
inSetting | The setting to query. |
outName | Reference to a string to accept the configuration name, or the default name if the setting does not exist. |
outValue | Reference to a string to accept the configuration value, or the default value if the setting does not exist. |
Definition at line 95 of file ConfigMap.hpp.
|
inlineinherited |
Returns the number of configurations in the map.
Definition at line 63 of file ConfigMap.hpp.
|
inlineinherited |
Returns the number of configurations for the given setting.
Definition at line 186 of file ConfigMap.hpp.
|
inlineinherited |
Returns a range that encompasses all of the configurations for the given setting.
Definition at line 183 of file ConfigMap.hpp.
|
inlineinherited |
|
inline |
Returns the net power type. See ENetPowerType.
Definition at line 217 of file physical/Net.hpp.
|
inlineinherited |
Returns a shared pointer to the parent (WARNING: Does not work right).
Always seems to generate a "Returning reference to temporary" warning, and I cannot figure out why.
It is the caller's responsibility to reset the shared pointer when done.
Definition at line 59 of file Progeny.hpp.
|
inlineinherited |
Returns a weak pointer to the parent.
Definition at line 47 of file Progeny.hpp.
|
inline |
Returns the number of pips on the net.
Definition at line 185 of file physical/Net.hpp.
|
inlineinherited |
Returns a weak pointer to this object.
Definition at line 68 of file Progenitor.hpp.
|
inline |
Returns the number of sinks on the net.
Definition at line 181 of file physical/Net.hpp.
|
inline |
Returns the number of sources on the net.
Definition at line 173 of file physical/Net.hpp.
|
inlineinherited |
Check if an annotation exists.
Definition at line 51 of file Annotated.hpp.
|
inline |
Returns true if the net has any pips.
Definition at line 183 of file physical/Net.hpp.
|
inline |
Returns true if the net has any sinks.
Definition at line 175 of file physical/Net.hpp.
|
inline |
Returns true if the net has any sources.
Definition at line 167 of file physical/Net.hpp.
|
inlineinherited |
Returns true if the specified setting exists in the map.
Definition at line 69 of file ConfigMap.hpp.
|
inline |
Returns true if the next has more than one sink.
Definition at line 179 of file physical/Net.hpp.
|
inline |
Returns true if the net has more than one source.
Definition at line 171 of file physical/Net.hpp.
|
inline |
Returns true if the net has exactly one sink.
Definition at line 177 of file physical/Net.hpp.
|
inline |
Returns true if the net has exactly one source.
Definition at line 169 of file physical/Net.hpp.
|
inline |
Returns true if the net has any pips.
Definition at line 187 of file physical/Net.hpp.
|
inline |
Returns true if the net has no pips.
Definition at line 189 of file physical/Net.hpp.
|
inlineinherited |
|
inline |
Equality operator.
This function deems nets equal if their names are identical.
rhs | The net to compare against. |
Definition at line 225 of file physical/Net.hpp.
|
inline |
Returns the begin constant iterator for pips.
Definition at line 208 of file physical/Net.hpp.
|
inline |
Returns the begin non-constant iterator for pips.
Definition at line 212 of file physical/Net.hpp.
|
inline |
Returns the end constant iterator for pips.
Definition at line 210 of file physical/Net.hpp.
|
inline |
Returns the end non-constant iterator for pips.
Definition at line 214 of file physical/Net.hpp.
|
inlineinherited |
Remove an annotation.
Definition at line 49 of file Annotated.hpp.
|
inlineinherited |
Removes the named configuration.
inSetting | The configuration to remove. |
Definition at line 145 of file ConfigMap.hpp.
|
inline |
Removes the given pip from this net.
Definition at line 148 of file physical/Net.hpp.
|
inline |
Removes the given instance pin from the sinks of this net.
Definition at line 128 of file physical/Net.hpp.
|
inline |
Removes the given instance pin from the sources of this net.
Definition at line 115 of file physical/Net.hpp.
|
inlineinherited |
Method to reset and orphan this object.
Definition at line 51 of file Progeny.hpp.
|
inlineinherited |
Set an annotation.
Definition at line 47 of file Annotated.hpp.
|
inlineinherited |
Sets the configuration for the given setting.
If this is a regular setting, then any existing configuration for the setting will be replaced, but if this is a special setting for which multiple configurations are allowed, it will be added to the map alongside the existing configurations.
inSetting | The setting of interest. |
inConfig | The configuration to set. |
Definition at line 119 of file ConfigMap.hpp.
|
inlineinherited |
Sets the configuration for the given setting.
If this is a regular setting, then any existing configuration for the setting will be replaced, but if this is a special setting for which multiple configurations are allowed, it will be added to the map alongside the existing configurations.
inSetting | The setting of interest. |
inName | The configuration name to set. |
inValue | The configuration value to set. |
Definition at line 130 of file ConfigMap.hpp.
|
inlineprotectedinherited |
|
inline |
Sets the net power type. See ENetPowerType.
Definition at line 219 of file physical/Net.hpp.
|
inlineinherited |
Sets the weak pointer to the parent.
Definition at line 49 of file Progeny.hpp.
|
inlineprotectedinherited |
Sets the weak pointer to this object.
Definition at line 59 of file Progenitor.hpp.
|
inline |
Returns the begin constant iterator for sink instance pins.
Definition at line 200 of file physical/Net.hpp.
|
inline |
Returns the begin non-constant iterator for sink instance pins.
Definition at line 204 of file physical/Net.hpp.
|
inline |
Returns the end constant iterator for sink instance pins.
Definition at line 202 of file physical/Net.hpp.
|
inline |
Returns the end non-constant iterator for sink instance pins.
Definition at line 206 of file physical/Net.hpp.
|
inline |
Returns the begin constant iterator for source instance pins.
Definition at line 192 of file physical/Net.hpp.
|
inline |
Returns the begin non-constant iterator for source instance pins.
Definition at line 196 of file physical/Net.hpp.
|
inline |
Returns the end constant iterator for source instance pins.
Definition at line 194 of file physical/Net.hpp.
|
inline |
Returns the end non-constant iterator for source instance pins.
Definition at line 198 of file physical/Net.hpp.
|
inline |
Unroute the net.
The net is unrouted by clearing its pip list.
Definition at line 162 of file physical/Net.hpp.
|
friend |
The Factory class has direct access to our internals.
Definition at line 46 of file physical/Net.hpp.
|
protectedinherited |
Map containing any annotations.
Definition at line 34 of file Annotated.hpp.
|
protectedinherited |
|
protected |
The net power type. See ENetType.
Definition at line 53 of file physical/Net.hpp.
|
protectedinherited |
Sequence index to use for the next configuration added to this map.
Definition at line 48 of file ConfigMap.hpp.
|
protectedinherited |
Weak pointer to the parent.
Definition at line 38 of file Progeny.hpp.
|
protected |
Vector of pips for the net.
Definition at line 59 of file physical/Net.hpp.
|
protectedinherited |
Weak pointer this object.
This weak pointer is kept here to be passed along to our children, allowing them to point back to us without the strong dependency of a shared pointer.
Definition at line 57 of file Progenitor.hpp.
|
protected |
Vector of instance pin shared pointer sinks for the net.
Definition at line 57 of file physical/Net.hpp.
|
protected |
Vector of instance pin shared pointer sources for the net.
Definition at line 55 of file physical/Net.hpp.