torc::router::Trace Class Reference

Provides path extraction from usage information in a DDB instance.. More...

#include <Trace.hpp>

Collaboration diagram for torc::router::Trace:

Collaboration graph
[legend]

List of all members.

Public Types

enum  ETraceMode {
  eTraceFullNet = 0, eTraceToSinks, eTraceToBranch, eTraceToSources,
  eTraceSinglePath
}
 Enumeration for Trace modes. More...

Public Member Functions

 Trace (DDB &inDB, Tilewire inTilewire, ETraceMode inTraceMode=eTraceFullNet)
 Public Constructor.
 ~Trace ()
 Destructor.
TraceNodePtrVector & getSinks ()
 Get trace sink nodes.
TraceNodePtrVector & getSources ()
 Get trace source nodes.
TraceNodePtrVector & getBranchPoints ()
 Get trace branch point nodes.
ArcVector & getArcs ()
 Get all Arcs found during the trace.

Protected Member Functions

void traceWorker (TraceNode *inNode, ETraceMode inMode)
 Recursively traces from the specified TraceNode in the specified mode.
void normalizeDepth (TraceNode *inNode)
 Normalize depth of nodes.
TraceNodecreateNode (Tilewire inTilewire)
 Create a TraceNode and update auxiliary structures.
TraceNodegetNode (Tilewire inTilewire)
 Get a TraceNode based on its owning Tilewire.
Arc findArc (TraceNode *source, TraceNode *sink)
 Find a traced Arc from the nodes that it connects.

Protected Attributes

DDBmDB
 Database reference.
ArcUsagemArcUsage
 ArcUsage reference.
TraceNodemInitialNode
 TraceNode representing the starting point for this trace.
TraceNodePtrVector mSinks
 Vector of net sink nodes.
TraceNodePtrVector mSources
 Vector of net source nodes.
TraceNodePtrVector mBranchPoints
 Vector of net branch nodes.
TraceNodePtrVector mAllNodes
 Vector of all TraceNode pointers.
std::map< Tilewire, TraceNode * > mTilewireToTraceNode
 Map of Tilewires to owning TraceNode.
std::map< TraceNode
*, std::map< TraceNode *, Arc > > 
mTraceNodesToArc
 Map of TraceNode pointers to Arc that connects them.
ArcVector mArcVector
 Vector of all arcs, populated on a getArcs call.

Private Types

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


Detailed Description

Provides path extraction from usage information in a DDB instance..

The tracer provides functions that recover a set of connected routing resources to build up complete or partial nets from the device usage information.

Definition at line 36 of file Trace.hpp.


Member Typedef Documentation

Imported type name.

Definition at line 39 of file Trace.hpp.


Member Enumeration Documentation

Enumeration for Trace modes.

Definition at line 72 of file Trace.hpp.


Constructor & Destructor Documentation

torc::router::Trace::Trace ( DDB inDB,
Tilewire  inTilewire,
ETraceMode  inTraceMode = eTraceFullNet 
) [inline]

Public Constructor.

Definition at line 78 of file Trace.hpp.

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

Destructor.

Definition at line 95 of file Trace.hpp.


Member Function Documentation

TraceNodePtrVector& torc::router::Trace::getSinks ( void   )  [inline]

Get trace sink nodes.

Definition at line 109 of file Trace.hpp.

TraceNodePtrVector& torc::router::Trace::getSources ( void   )  [inline]

Get trace source nodes.

Definition at line 113 of file Trace.hpp.

TraceNodePtrVector& torc::router::Trace::getBranchPoints (  )  [inline]

Get trace branch point nodes.

Definition at line 117 of file Trace.hpp.

ArcVector& torc::router::Trace::getArcs (  )  [inline]

Get all Arcs found during the trace.

Definition at line 121 of file Trace.hpp.

void torc::router::Trace::traceWorker ( TraceNode inNode,
ETraceMode  inMode 
) [inline, protected]

Recursively traces from the specified TraceNode in the specified mode.

Definition at line 141 of file Trace.hpp.

void torc::router::Trace::normalizeDepth ( TraceNode inNode  )  [inline, protected]

Normalize depth of nodes.

Definition at line 270 of file Trace.hpp.

TraceNode* torc::router::Trace::createNode ( Tilewire  inTilewire  )  [inline, protected]

Create a TraceNode and update auxiliary structures.

Definition at line 319 of file Trace.hpp.

TraceNode* torc::router::Trace::getNode ( Tilewire  inTilewire  )  [inline, protected]

Get a TraceNode based on its owning Tilewire.

Definition at line 336 of file Trace.hpp.

Arc torc::router::Trace::findArc ( TraceNode source,
TraceNode sink 
) [inline, protected]

Find a traced Arc from the nodes that it connects.

Definition at line 346 of file Trace.hpp.


Member Data Documentation

Database reference.

Definition at line 48 of file Trace.hpp.

ArcUsage reference.

Definition at line 50 of file Trace.hpp.

TraceNode representing the starting point for this trace.

Definition at line 53 of file Trace.hpp.

TraceNodePtrVector torc::router::Trace::mSinks [protected]

Vector of net sink nodes.

Definition at line 55 of file Trace.hpp.

TraceNodePtrVector torc::router::Trace::mSources [protected]

Vector of net source nodes.

Definition at line 57 of file Trace.hpp.

TraceNodePtrVector torc::router::Trace::mBranchPoints [protected]

Vector of net branch nodes.

Definition at line 59 of file Trace.hpp.

TraceNodePtrVector torc::router::Trace::mAllNodes [protected]

Vector of all TraceNode pointers.

Definition at line 62 of file Trace.hpp.

Map of Tilewires to owning TraceNode.

Definition at line 64 of file Trace.hpp.

std::map<TraceNode*, std::map<TraceNode*, Arc> > torc::router::Trace::mTraceNodesToArc [protected]

Map of TraceNode pointers to Arc that connects them.

Definition at line 66 of file Trace.hpp.

ArcVector torc::router::Trace::mArcVector [protected]

Vector of all arcs, populated on a getArcs call.

Definition at line 68 of file Trace.hpp.


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

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