torc::router::NetRouterHeuristic Class Reference

Provides net routing based on the Nillson graphsearch algorithm. More...

#include <NetRouterHeuristic.hpp>

Inheritance diagram for torc::router::NetRouterHeuristic:

Inheritance graph
[legend]
Collaboration diagram for torc::router::NetRouterHeuristic:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 NetRouterHeuristic (DDB &inDB)
 Public Constructor.
 ~NetRouterHeuristic ()
 Destructor.
virtual void setSink (const Tilewire &inSink)
 Set the current routing target.
virtual void nodeCost (RouteNode &inNode)
 Calculate the node cost based on distance to the sink and path length.
virtual void nodeCostInitial (RouteNode &inNode)
virtual void reorderSinks (const Tilewire &inSource, TilewireVector &inSinks)
 Reorder the Sinks based on this heuristic.
virtual void expandSegmentSinks (const Tilewire &inTilewire, ArcVector &outArcs)
 Heuristic handling of expansion of a node.

Protected Member Functions

virtual boost::int32_t distanceToSink (const Tilewire &inTilewire)
virtual boost::int32_t clkDistanceToSink (const Tilewire &inTilewire)
boost::int32_t distanceFromParent (const Tilewire &inParent, const Tilewire &inCurrent)

Protected Attributes

ArcUsagemArcUsage
 ArcUsage reference.
const TilesmTiles
 Tiles reference.
Tilewire mTargetSink
 Target sink tilewire.
const TileInfomSinkTileInfo
 Target sink tile information.
boost::int32_t mRow
 Target row coordinate.
boost::int32_t mCol
 Target column coordinate.
TilewireVector mSegmentBuf
 Segment tilewire buffer.
ArcVector mArcsBuf
 Arc buffer.

Private Types

typedef architecture::DDB DDB
 Imported type names.
typedef architecture::Tiles Tiles
typedef architecture::ArcUsage ArcUsage
typedef architecture::WireUsage WireUsage
typedef architecture::Tilewire Tilewire
typedef architecture::TileInfo TileInfo
typedef architecture::Arc Arc
typedef
architecture::TilewireVector 
TilewireVector
typedef architecture::ArcVector ArcVector
typedef
architecture::xilinx::TileRow 
TileRow
typedef
architecture::xilinx::TileCol 
TileCol


Detailed Description

Provides net routing based on the Nillson graphsearch algorithm.

The router can either return a vector of nodes or directly populate DDB usage.

Definition at line 43 of file NetRouterHeuristic.hpp.


Member Typedef Documentation

Imported type names.

Reimplemented from torc::router::NetRouterHeuristicBase.

Definition at line 46 of file NetRouterHeuristic.hpp.


Constructor & Destructor Documentation

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

Public Constructor.

Definition at line 83 of file NetRouterHeuristic.hpp.

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

Destructor.

Definition at line 86 of file NetRouterHeuristic.hpp.


Member Function Documentation

virtual void torc::router::NetRouterHeuristic::setSink ( const Tilewire inSink  )  [inline, virtual]

Set the current routing target.

Implements torc::router::NetRouterHeuristicBase.

Definition at line 89 of file NetRouterHeuristic.hpp.

virtual void torc::router::NetRouterHeuristic::nodeCost ( RouteNode inNode  )  [inline, virtual]

Calculate the node cost based on distance to the sink and path length.

Todo:
provide an additional field in RouteNode to store path cost

Implements torc::router::NetRouterHeuristicBase.

Definition at line 96 of file NetRouterHeuristic.hpp.

virtual void torc::router::NetRouterHeuristic::reorderSinks ( const Tilewire inSource,
TilewireVector &  inSinks 
) [inline, virtual]

Reorder the Sinks based on this heuristic.

Reimplemented from torc::router::NetRouterHeuristicBase.

Definition at line 170 of file NetRouterHeuristic.hpp.

virtual void torc::router::NetRouterHeuristic::expandSegmentSinks ( const Tilewire inTilewire,
ArcVector &  outArcs 
) [inline, virtual]

Heuristic handling of expansion of a node.

Reimplemented from torc::router::NetRouterHeuristicBase.

Definition at line 174 of file NetRouterHeuristic.hpp.


Member Data Documentation

ArcUsage reference.

Definition at line 61 of file NetRouterHeuristic.hpp.

Tiles reference.

Definition at line 63 of file NetRouterHeuristic.hpp.

Target sink tilewire.

Definition at line 65 of file NetRouterHeuristic.hpp.

Target sink tile information.

Definition at line 67 of file NetRouterHeuristic.hpp.

boost::int32_t torc::router::NetRouterHeuristic::mRow [protected]

Target row coordinate.

Definition at line 69 of file NetRouterHeuristic.hpp.

boost::int32_t torc::router::NetRouterHeuristic::mCol [protected]

Target column coordinate.

Definition at line 71 of file NetRouterHeuristic.hpp.

Segment tilewire buffer.

Definition at line 74 of file NetRouterHeuristic.hpp.

Arc buffer.

Definition at line 76 of file NetRouterHeuristic.hpp.


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

Generated on Thu Oct 13 16:50:58 2011 for TORC by  doxygen 1.5.6