torc::router::Unrouter Class Reference

Unroutes connected resources in a DDB instance. More...

#include <Unrouter.hpp>

Collaboration diagram for torc::router::Unrouter:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 Unrouter (DDB &inDB)
 Public Constructor.
 ~Unrouter ()
 Destructor.
boost::int32_t unrouteToSinks (const Tilewire inTilewire)
RouteTreeNodetraceToSinks (Tilewire inTilewire)
 Trace from given Tilewire in a sinkwards direction only.
RouteTreeNodetraceBranch (Tilewire inTilewire)
 Trace from given Tilewire sinkwards and sourcewards to source or branch.
RouteTreeNodetraceToSource (Tilewire inTilewire)
 Trace from given Tilewire sourcewards to the source of the net.
RouteTreeNodetraceFull (Tilewire inTilewire)
 Trace from given Tilewire and recover the entire net.

Protected Types

enum  { eTraceToSource = 0, eTraceToBranch = 1, eTraceFullNet = 2 }

Protected Member Functions

void traceDownstream (RouteTreeNode *inNode)
 Remove the dummy node if possible.
void traceUpstream (RouteTreeNode *inNode, boost::int32_t inMode)
 Recursively traces from the specified RouteTreeNode in one of three modes.

Protected Attributes

DDBmDB
 Database reference.
ArcUsagemArcUsage
 ArcUsage reference.
WireUsagemWireUsage
 WireUsage reference.
TilewireVector mSegmentBuf
 Scratch segment storage.
TilewireVector mSinksBuf
 Scratch wire storage.
TilewireVector mSourcesBuf
 Scratch wire storage.
std::set< TilewiremTracedWiresBuf
 Traced wires collection.
TilewireVector mWireQueue

Private Types

typedef architecture::DDB DDB
 Imported type name.
typedef architecture::ArcUsage ArcUsage
typedef architecture::WireUsage WireUsage
typedef architecture::Tilewire Tilewire
typedef architecture::Arc Arc
typedef
architecture::TilewireVector 
TilewireVector
typedef architecture::ArcVector ArcVector


Detailed Description

Unroutes connected resources in a DDB instance.

The unrouter allows the user to deactivate pips and wires that are associated with one another as all or part of a net.

Definition at line 36 of file Unrouter.hpp.


Member Typedef Documentation

Imported type name.

Definition at line 39 of file Unrouter.hpp.


Constructor & Destructor Documentation

torc::router::Unrouter::Unrouter ( DDB inDB  )  [inline]

Public Constructor.

Definition at line 71 of file Unrouter.hpp.

torc::router::Unrouter::~Unrouter (  )  [inline]

Destructor.

Definition at line 74 of file Unrouter.hpp.


Member Function Documentation

RouteTreeNode* torc::router::Unrouter::traceToSinks ( Tilewire  inTilewire  )  [inline]

Trace from given Tilewire in a sinkwards direction only.

Traces from the specified source Tilewire in a sinkwards direction. If the Tilewire is a logic site output, then the result will be a full net.

Definition at line 116 of file Unrouter.hpp.

RouteTreeNode* torc::router::Unrouter::traceBranch ( Tilewire  inTilewire  )  [inline]

Trace from given Tilewire sinkwards and sourcewards to source or branch.

Traces from the specified source Tilewire. All downstream sinks are found and the closest branch point in the net or source is found.

Definition at line 126 of file Unrouter.hpp.

RouteTreeNode* torc::router::Unrouter::traceToSource ( Tilewire  inTilewire  )  [inline]

Trace from given Tilewire sourcewards to the source of the net.

Traces from the specified source Tilewire. All downstream sinks are found and the source of the net is found. Branch points are ignored.

Definition at line 136 of file Unrouter.hpp.

RouteTreeNode* torc::router::Unrouter::traceFull ( Tilewire  inTilewire  )  [inline]

Trace from given Tilewire and recover the entire net.

Traces from the specified Tilewire. All net sinks and the source are recovered fully reconstructing the net to which the Tilewire belongs.

Definition at line 146 of file Unrouter.hpp.

void torc::router::Unrouter::traceDownstream ( RouteTreeNode inNode  )  [inline, protected]

Remove the dummy node if possible.

Removes the dummy node if it is at an end of the trace. If it is in the middle, it removes it if there is only one child. Otherwise no change is made. Find the source of net that owns the given Tilewire. Recursively traces from the specified RouteTreeNode.

Definition at line 241 of file Unrouter.hpp.

void torc::router::Unrouter::traceUpstream ( RouteTreeNode inNode,
boost::int32_t  inMode 
) [inline, protected]

Recursively traces from the specified RouteTreeNode in one of three modes.

Definition at line 275 of file Unrouter.hpp.


Member Data Documentation

Database reference.

Definition at line 49 of file Unrouter.hpp.

ArcUsage reference.

Definition at line 51 of file Unrouter.hpp.

WireUsage reference.

Definition at line 53 of file Unrouter.hpp.

TilewireVector torc::router::Unrouter::mSegmentBuf [protected]

Scratch segment storage.

Definition at line 55 of file Unrouter.hpp.

TilewireVector torc::router::Unrouter::mSinksBuf [protected]

Scratch wire storage.

Definition at line 57 of file Unrouter.hpp.

TilewireVector torc::router::Unrouter::mSourcesBuf [protected]

Scratch wire storage.

Definition at line 59 of file Unrouter.hpp.

Traced wires collection.

Definition at line 61 of file Unrouter.hpp.


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

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