torc-master
|
Router net. More...
#include <RouteNet.hpp>
Public Types | |
typedef ArcVector::const_iterator | ArcConstIterator |
typedef ArcVector::iterator | ArcIterator |
typedef TilewireVector::const_iterator | TilewireConstIterator |
typedef TilewireVector::iterator | TilewireIterator |
typedef RouteNodePtrVector::const_iterator | RouteNodePtrConstIterator |
typedef RouteNodePtrVector::iterator | RouteNodePtrIterator |
Public Member Functions | |
RouteNet (string &inName) | |
Name only constructor. More... | |
RouteNet (string &inName, const TilewireVector &inSources, const TilewireVector &inSinks) | |
Populated constructor. More... | |
bool | containsSource (Tilewire inTilewire) const |
Determines whether the given Tilewire is a source of this net. More... | |
bool | containsSink (Tilewire inTilewire) const |
Determines whether the given Tilewire is a sink of this net. More... | |
bool | containsArc (const Arc &inArc) const |
Determines whether the net contains the given arc. More... | |
void | addSource (Tilewire inTilewire) |
Adds the given Tilewire as a source for this net. More... | |
void | addSink (Tilewire inTilewire) |
Adds the given Tilewire as a sink for this net. More... | |
bool | removeSource (Tilewire inTilewire) |
Removes the given Tilewire from the sources of this net. More... | |
bool | removeSink (Tilewire inTilewire) |
Removes the given instance pin from the sinks of this net. More... | |
void | addArc (const Arc &inArc) |
Adds the given arc to this net. More... | |
bool | removeArc (const Arc &inArc) |
Removes the given arc 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 | hasAnyArcs (void) const |
Returns true if the net has any arcs. More... | |
size_t | getArcCount (void) const |
Returns the number of arcs on the net. More... | |
bool | isRouted (void) const |
Returns true if the net has any arcs. More... | |
bool | isUnrouted (void) const |
Returns true if the net has no arcs. More... | |
TilewireConstIterator | sourcesBegin (void) const |
Returns the begin constant iterator for source Tilewires. More... | |
TilewireConstIterator | sourcesEnd (void) const |
Returns the end constant iterator for source Tilewires. More... | |
TilewireIterator | sourcesBegin (void) |
Returns the begin non-constant iterator for source Tilewires. More... | |
TilewireIterator | sourcesEnd (void) |
Returns the end non-constant iterator for source Tilewires. More... | |
TilewireConstIterator | sinksBegin (void) const |
Returns the begin constant iterator for sink Tilewires. More... | |
TilewireConstIterator | sinksEnd (void) const |
Returns the end constant iterator for sink Tilewires. More... | |
TilewireIterator | sinksBegin (void) |
Returns the begin non-constant iterator for sink Tilewires. More... | |
TilewireIterator | sinksEnd (void) |
Returns the end non-constant iterator for sink Tilewires. More... | |
ArcConstIterator | arcsBegin (void) const |
Returns the begin constant iterator for arcs. More... | |
ArcConstIterator | arcsEnd (void) const |
Returns the end constant iterator for arcs. More... | |
ArcIterator | arcsBegin (void) |
Returns the begin non-constant iterator for arcs. More... | |
ArcIterator | arcsEnd (void) |
Returns the end non-constant iterator for arcs. More... | |
const string & | getName () const |
Returns the name of the net. More... | |
RouteNodePtrVector & | routeNodes () |
Returns a reference to the RouteNodePtrVector. More... | |
Data Fields | |
boost::unordered_map < boost::uint32_t, boost::any > | mProperties |
Net annotation structure. More... | |
Protected Attributes | |
string | mName |
Name of the net. More... | |
TilewireVector | mSources |
Vector of net source Tilewires. More... | |
TilewireVector | mSinks |
Vector of net sink Tilewires. More... | |
ArcVector | mArcs |
Vector of arcs representing net connectivity. More... | |
RouteNodePtrVector | mRouteNodes |
Vector of RouteNodes representing net connectivity. More... | |
Private Types | |
typedef std::string | string |
Imported type names. More... | |
typedef architecture::Tilewire | Tilewire |
typedef architecture::TilewireVector | TilewireVector |
typedef architecture::Arc | Arc |
typedef architecture::ArcVector | ArcVector |
Router net.
The RouteNet class contains architecture specific sources and sinks.
Definition at line 40 of file RouteNet.hpp.
|
private |
Definition at line 46 of file RouteNet.hpp.
typedef ArcVector::const_iterator torc::router::RouteNet::ArcConstIterator |
Definition at line 49 of file RouteNet.hpp.
typedef ArcVector::iterator torc::router::RouteNet::ArcIterator |
Definition at line 50 of file RouteNet.hpp.
|
private |
Definition at line 47 of file RouteNet.hpp.
typedef RouteNodePtrVector::const_iterator torc::router::RouteNet::RouteNodePtrConstIterator |
Definition at line 53 of file RouteNet.hpp.
typedef RouteNodePtrVector::iterator torc::router::RouteNet::RouteNodePtrIterator |
Definition at line 54 of file RouteNet.hpp.
|
private |
Imported type names.
Definition at line 43 of file RouteNet.hpp.
|
private |
Definition at line 44 of file RouteNet.hpp.
typedef TilewireVector::const_iterator torc::router::RouteNet::TilewireConstIterator |
Definition at line 51 of file RouteNet.hpp.
typedef TilewireVector::iterator torc::router::RouteNet::TilewireIterator |
Definition at line 52 of file RouteNet.hpp.
|
private |
Definition at line 45 of file RouteNet.hpp.
|
inline |
|
inline |
Populated constructor.
Copies the contents of the input vectors.
Definition at line 78 of file RouteNet.hpp.
|
inline |
Adds the given arc to this net.
Duplicate arcs are not currently discarded.
Definition at line 128 of file RouteNet.hpp.
|
inline |
Adds the given Tilewire as a sink for this net.
Duplicate sinks are not currently discarded.
Definition at line 103 of file RouteNet.hpp.
|
inline |
Adds the given Tilewire as a source for this net.
Duplicate sources are not currently discarded.
Definition at line 98 of file RouteNet.hpp.
|
inline |
Returns the begin constant iterator for arcs.
Definition at line 190 of file RouteNet.hpp.
|
inline |
Returns the begin non-constant iterator for arcs.
Definition at line 194 of file RouteNet.hpp.
|
inline |
Returns the end constant iterator for arcs.
Definition at line 192 of file RouteNet.hpp.
|
inline |
Returns the end non-constant iterator for arcs.
Definition at line 196 of file RouteNet.hpp.
|
inline |
Determines whether the net contains the given arc.
Definition at line 93 of file RouteNet.hpp.
|
inline |
Determines whether the given Tilewire is a sink of this net.
Definition at line 88 of file RouteNet.hpp.
|
inline |
Determines whether the given Tilewire is a source of this net.
Definition at line 83 of file RouteNet.hpp.
|
inline |
Returns the number of arcs on the net.
Definition at line 167 of file RouteNet.hpp.
|
inline |
Returns the name of the net.
Definition at line 199 of file RouteNet.hpp.
|
inline |
Returns the number of sinks on the net.
Definition at line 163 of file RouteNet.hpp.
|
inline |
Returns the number of sources on the net.
Definition at line 155 of file RouteNet.hpp.
|
inline |
Returns true if the net has any arcs.
Definition at line 165 of file RouteNet.hpp.
|
inline |
Returns true if the net has any sinks.
Definition at line 157 of file RouteNet.hpp.
|
inline |
Returns true if the net has any sources.
Definition at line 149 of file RouteNet.hpp.
|
inline |
Returns true if the next has more than one sink.
Definition at line 161 of file RouteNet.hpp.
|
inline |
Returns true if the net has more than one source.
Definition at line 153 of file RouteNet.hpp.
|
inline |
Returns true if the net has exactly one sink.
Definition at line 159 of file RouteNet.hpp.
|
inline |
Returns true if the net has exactly one source.
Definition at line 151 of file RouteNet.hpp.
|
inline |
Returns true if the net has any arcs.
Definition at line 169 of file RouteNet.hpp.
|
inline |
Returns true if the net has no arcs.
Definition at line 171 of file RouteNet.hpp.
|
inline |
Removes the given arc from this net.
Definition at line 133 of file RouteNet.hpp.
|
inline |
Removes the given instance pin from the sinks of this net.
Definition at line 119 of file RouteNet.hpp.
|
inline |
Removes the given Tilewire from the sources of this net.
Definition at line 109 of file RouteNet.hpp.
|
inline |
Returns a reference to the RouteNodePtrVector.
Definition at line 201 of file RouteNet.hpp.
|
inline |
Returns the begin constant iterator for sink Tilewires.
Definition at line 182 of file RouteNet.hpp.
|
inline |
Returns the begin non-constant iterator for sink Tilewires.
Definition at line 186 of file RouteNet.hpp.
|
inline |
Returns the end constant iterator for sink Tilewires.
Definition at line 184 of file RouteNet.hpp.
|
inline |
Returns the end non-constant iterator for sink Tilewires.
Definition at line 188 of file RouteNet.hpp.
|
inline |
Returns the begin constant iterator for source Tilewires.
Definition at line 174 of file RouteNet.hpp.
|
inline |
Returns the begin non-constant iterator for source Tilewires.
Definition at line 178 of file RouteNet.hpp.
|
inline |
Returns the end constant iterator for source Tilewires.
Definition at line 176 of file RouteNet.hpp.
|
inline |
Returns the end non-constant iterator for source Tilewires.
Definition at line 180 of file RouteNet.hpp.
|
inline |
Unroute the net.
The net is unrouted by clearing its arc list.
Definition at line 144 of file RouteNet.hpp.
|
protected |
Vector of arcs representing net connectivity.
Definition at line 65 of file RouteNet.hpp.
|
protected |
Name of the net.
Definition at line 59 of file RouteNet.hpp.
boost::unordered_map<boost::uint32_t, boost::any> torc::router::RouteNet::mProperties |
Net annotation structure.
Definition at line 70 of file RouteNet.hpp.
|
protected |
Vector of RouteNodes representing net connectivity.
Definition at line 67 of file RouteNet.hpp.
|
protected |
Vector of net sink Tilewires.
Definition at line 63 of file RouteNet.hpp.
|
protected |
Vector of net source Tilewires.
Definition at line 61 of file RouteNet.hpp.