torc::router::RouteNet Class Reference

Router net. More...

#include <RouteNet.hpp>

List of all members.

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.
 RouteNet (string &inName, const TilewireVector &inSources, const TilewireVector &inSinks)
 Populated constructor.
bool containsSource (Tilewire inTilewire) const
 Determines whether the given Tilewire is a source of this net.
bool containsSink (Tilewire inTilewire) const
 Determines whether the given Tilewire is a sink of this net.
bool containsArc (const Arc &inArc) const
 Determines whether the net contains the given arc.
void addSource (Tilewire inTilewire)
 Adds the given Tilewire as a source for this net.
void addSink (Tilewire inTilewire)
 Adds the given Tilewire as a sink for this net.
bool removeSource (Tilewire inTilewire)
 Removes the given Tilewire from the sources of this net.
bool removeSink (Tilewire inTilewire)
 Removes the given instance pin from the sinks of this net.
void addArc (const Arc &inArc)
 Adds the given arc to this net.
bool removeArc (const Arc &inArc)
 Removes the given arc from this net.
void unroute (void)
 Unroute the net.
bool hasAnySources (void) const
 Returns true if the net has any sources.
bool hasOneSource (void) const
 Returns true if the net has exactly one source.
bool hasMultipleSources (void) const
 Returns true if the net has more than one source.
size_t getSourceCount (void) const
 Returns the number of sources on the net.
bool hasAnySinks (void) const
 Returns true if the net has any sinks.
bool hasOneSink (void) const
 Returns true if the net has exactly one sink.
bool hasMultipleSinks (void) const
 Returns true if the next has more than one sink.
size_t getSinkCount (void) const
 Returns the number of sinks on the net.
bool hasAnyArcs (void) const
 Returns true if the net has any arcs.
size_t getArcCount (void) const
 Returns the number of arcs on the net.
bool isRouted (void) const
 Returns true if the net has any arcs.
bool isUnrouted (void) const
 Returns true if the net has no arcs.
TilewireConstIterator sourcesBegin (void) const
 Returns the begin constant iterator for source Tilewires.
TilewireConstIterator sourcesEnd (void) const
 Returns the end constant iterator for source Tilewires.
TilewireIterator sourcesBegin (void)
 Returns the begin non-constant iterator for source Tilewires.
TilewireIterator sourcesEnd (void)
 Returns the end non-constant iterator for source Tilewires.
TilewireConstIterator sinksBegin (void) const
 Returns the begin constant iterator for sink Tilewires.
TilewireConstIterator sinksEnd (void) const
 Returns the end constant iterator for sink Tilewires.
TilewireIterator sinksBegin (void)
 Returns the begin non-constant iterator for sink Tilewires.
TilewireIterator sinksEnd (void)
 Returns the end non-constant iterator for sink Tilewires.
ArcConstIterator arcsBegin (void) const
 Returns the begin constant iterator for arcs.
ArcConstIterator arcsEnd (void) const
 Returns the end constant iterator for arcs.
ArcIterator arcsBegin (void)
 Returns the begin non-constant iterator for arcs.
ArcIterator arcsEnd (void)
 Returns the end non-constant iterator for arcs.
const stringgetName () const
 Returns the name of the net.
RouteNodePtrVector & routeNodes ()
 Returns a reference to the RouteNodePtrVector.

Public Attributes

boost::unordered_map
< boost::uint32_t, boost::any > 
mProperties
 Net annotation structure.

Protected Attributes

string mName
 Name of the net.
TilewireVector mSources
 Vector of net source Tilewires.
TilewireVector mSinks
 Vector of net sink Tilewires.
ArcVector mArcs
 Vector of arcs representing net connectivity.
RouteNodePtrVector mRouteNodes
 Vector of RouteNodes representing net connectivity.

Private Types

typedef std::string string
 Imported type names.
typedef architecture::Tilewire Tilewire
typedef
architecture::TilewireVector 
TilewireVector
typedef architecture::Arc Arc
typedef architecture::ArcVector ArcVector


Detailed Description

Router net.

The RouteNet class contains architecture specific sources and sinks.

Definition at line 40 of file RouteNet.hpp.


Member Typedef Documentation

typedef std::string torc::router::RouteNet::string [private]

Imported type names.

Definition at line 43 of file RouteNet.hpp.


Constructor & Destructor Documentation

torc::router::RouteNet::RouteNet ( string inName  )  [inline]

Name only constructor.

Definition at line 75 of file RouteNet.hpp.

torc::router::RouteNet::RouteNet ( string inName,
const TilewireVector &  inSources,
const TilewireVector &  inSinks 
) [inline]

Populated constructor.

Copies the contents of the input vectors.

Definition at line 78 of file RouteNet.hpp.


Member Function Documentation

bool torc::router::RouteNet::containsSource ( Tilewire  inTilewire  )  const [inline]

Determines whether the given Tilewire is a source of this net.

Returns:
true if the given Tilewire is a source of this net, or false otherwise.

Definition at line 83 of file RouteNet.hpp.

bool torc::router::RouteNet::containsSink ( Tilewire  inTilewire  )  const [inline]

Determines whether the given Tilewire is a sink of this net.

Returns:
true if the given Tilewire is a sink of this net, or false otherwise.

Definition at line 88 of file RouteNet.hpp.

bool torc::router::RouteNet::containsArc ( const Arc inArc  )  const [inline]

Determines whether the net contains the given arc.

Returns:
true if the net contains the given arc, or false otherwise.

Definition at line 93 of file RouteNet.hpp.

void torc::router::RouteNet::addSource ( Tilewire  inTilewire  )  [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.

void torc::router::RouteNet::addSink ( Tilewire  inTilewire  )  [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.

bool torc::router::RouteNet::removeSource ( Tilewire  inTilewire  )  [inline]

Removes the given Tilewire from the sources of this net.

Returns:
true if the Tilewire was removed from the source list, or false if it was not found.

Definition at line 109 of file RouteNet.hpp.

bool torc::router::RouteNet::removeSink ( Tilewire  inTilewire  )  [inline]

Removes the given instance pin from the sinks of this net.

Returns:
true if the instance pin was removed from the sink list, or false if it was not found.

Definition at line 119 of file RouteNet.hpp.

void torc::router::RouteNet::addArc ( const Arc inArc  )  [inline]

Adds the given arc to this net.

Duplicate arcs are not currently discarded.

Definition at line 128 of file RouteNet.hpp.

bool torc::router::RouteNet::removeArc ( const Arc inArc  )  [inline]

Removes the given arc from this net.

Returns:
true if the arc was removed from this net, or false if it was not found.

Definition at line 133 of file RouteNet.hpp.

void torc::router::RouteNet::unroute ( void   )  [inline]

Unroute the net.

The net is unrouted by clearing its arc list.

Definition at line 144 of file RouteNet.hpp.

bool torc::router::RouteNet::hasAnySources ( void   )  const [inline]

Returns true if the net has any sources.

Definition at line 149 of file RouteNet.hpp.

bool torc::router::RouteNet::hasOneSource ( void   )  const [inline]

Returns true if the net has exactly one source.

Definition at line 151 of file RouteNet.hpp.

bool torc::router::RouteNet::hasMultipleSources ( void   )  const [inline]

Returns true if the net has more than one source.

Definition at line 153 of file RouteNet.hpp.

size_t torc::router::RouteNet::getSourceCount ( void   )  const [inline]

Returns the number of sources on the net.

Definition at line 155 of file RouteNet.hpp.

bool torc::router::RouteNet::hasAnySinks ( void   )  const [inline]

Returns true if the net has any sinks.

Definition at line 157 of file RouteNet.hpp.

bool torc::router::RouteNet::hasOneSink ( void   )  const [inline]

Returns true if the net has exactly one sink.

Definition at line 159 of file RouteNet.hpp.

bool torc::router::RouteNet::hasMultipleSinks ( void   )  const [inline]

Returns true if the next has more than one sink.

Definition at line 161 of file RouteNet.hpp.

size_t torc::router::RouteNet::getSinkCount ( void   )  const [inline]

Returns the number of sinks on the net.

Definition at line 163 of file RouteNet.hpp.

bool torc::router::RouteNet::hasAnyArcs ( void   )  const [inline]

Returns true if the net has any arcs.

Definition at line 165 of file RouteNet.hpp.

size_t torc::router::RouteNet::getArcCount ( void   )  const [inline]

Returns the number of arcs on the net.

Definition at line 167 of file RouteNet.hpp.

bool torc::router::RouteNet::isRouted ( void   )  const [inline]

Returns true if the net has any arcs.

Definition at line 169 of file RouteNet.hpp.

bool torc::router::RouteNet::isUnrouted ( void   )  const [inline]

Returns true if the net has no arcs.

Definition at line 171 of file RouteNet.hpp.

TilewireConstIterator torc::router::RouteNet::sourcesBegin ( void   )  const [inline]

Returns the begin constant iterator for source Tilewires.

Definition at line 174 of file RouteNet.hpp.

TilewireConstIterator torc::router::RouteNet::sourcesEnd ( void   )  const [inline]

Returns the end constant iterator for source Tilewires.

Definition at line 176 of file RouteNet.hpp.

TilewireIterator torc::router::RouteNet::sourcesBegin ( void   )  [inline]

Returns the begin non-constant iterator for source Tilewires.

Definition at line 178 of file RouteNet.hpp.

TilewireIterator torc::router::RouteNet::sourcesEnd ( void   )  [inline]

Returns the end non-constant iterator for source Tilewires.

Definition at line 180 of file RouteNet.hpp.

TilewireConstIterator torc::router::RouteNet::sinksBegin ( void   )  const [inline]

Returns the begin constant iterator for sink Tilewires.

Definition at line 182 of file RouteNet.hpp.

TilewireConstIterator torc::router::RouteNet::sinksEnd ( void   )  const [inline]

Returns the end constant iterator for sink Tilewires.

Definition at line 184 of file RouteNet.hpp.

TilewireIterator torc::router::RouteNet::sinksBegin ( void   )  [inline]

Returns the begin non-constant iterator for sink Tilewires.

Definition at line 186 of file RouteNet.hpp.

TilewireIterator torc::router::RouteNet::sinksEnd ( void   )  [inline]

Returns the end non-constant iterator for sink Tilewires.

Definition at line 188 of file RouteNet.hpp.

ArcConstIterator torc::router::RouteNet::arcsBegin ( void   )  const [inline]

Returns the begin constant iterator for arcs.

Definition at line 190 of file RouteNet.hpp.

ArcConstIterator torc::router::RouteNet::arcsEnd ( void   )  const [inline]

Returns the end constant iterator for arcs.

Definition at line 192 of file RouteNet.hpp.

ArcIterator torc::router::RouteNet::arcsBegin ( void   )  [inline]

Returns the begin non-constant iterator for arcs.

Definition at line 194 of file RouteNet.hpp.

ArcIterator torc::router::RouteNet::arcsEnd ( void   )  [inline]

Returns the end non-constant iterator for arcs.

Definition at line 196 of file RouteNet.hpp.

const string& torc::router::RouteNet::getName ( void   )  const [inline]

Returns the name of the net.

Definition at line 199 of file RouteNet.hpp.

RouteNodePtrVector& torc::router::RouteNet::routeNodes (  )  [inline]

Returns a reference to the RouteNodePtrVector.

Definition at line 201 of file RouteNet.hpp.


Member Data Documentation

Name of the net.

Definition at line 59 of file RouteNet.hpp.

TilewireVector torc::router::RouteNet::mSources [protected]

Vector of net source Tilewires.

Definition at line 61 of file RouteNet.hpp.

TilewireVector torc::router::RouteNet::mSinks [protected]

Vector of net sink Tilewires.

Definition at line 63 of file RouteNet.hpp.

ArcVector torc::router::RouteNet::mArcs [protected]

Vector of arcs representing net connectivity.

Definition at line 65 of file RouteNet.hpp.

RouteNodePtrVector torc::router::RouteNet::mRouteNodes [protected]

Vector of RouteNodes representing net connectivity.

Definition at line 67 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.


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

Generated on Thu Oct 13 16:51:02 2011 for TORC by  doxygen 1.5.6