torc::router::PathFinderNetRouterHeuristic Class Reference

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

#include <PathFinderNetRouterHeuristic.hpp>

Inheritance diagram for torc::router::PathFinderNetRouterHeuristic:

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

Collaboration graph
[legend]

List of all members.

Public Member Functions

 PathFinderNetRouterHeuristic (DDB &inDB)
 Public Constructor.
 ~PathFinderNetRouterHeuristic ()
 Destructor.
void processParameters ()
 Do something with the parameters.
void setSink (const Tilewire &inSink)
 Set the current routing target.
void nodeCost (RouteNode &inNode)
 Calculate the node cost based on distance to the sink and path length.
void nodeCostInitial (RouteNode &inNode)
virtual void reorderSinks (const Tilewire &inSource, TilewireVector &inSinks)
 Reorder the Sinks based on this heuristic.
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)

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.
PathFinderSharingMap * mConflictMap
 PathFinder sharing information.

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
typedef boost::unordered_map
< Tilewire, TilewireData
PathFinderSharingMap


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 44 of file PathFinderNetRouterHeuristic.hpp.


Member Typedef Documentation

Imported type names.

Reimplemented from torc::router::NetRouterHeuristicBase.

Definition at line 47 of file PathFinderNetRouterHeuristic.hpp.


Constructor & Destructor Documentation

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

Public Constructor.

Definition at line 88 of file PathFinderNetRouterHeuristic.hpp.

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

Destructor.

Definition at line 91 of file PathFinderNetRouterHeuristic.hpp.


Member Function Documentation

void torc::router::PathFinderNetRouterHeuristic::processParameters (  )  [inline, virtual]

Do something with the parameters.

Reimplemented from torc::router::RouterHeuristicBase.

Definition at line 93 of file PathFinderNetRouterHeuristic.hpp.

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

Set the current routing target.

Implements torc::router::NetRouterHeuristicBase.

Definition at line 100 of file PathFinderNetRouterHeuristic.hpp.

void torc::router::PathFinderNetRouterHeuristic::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 107 of file PathFinderNetRouterHeuristic.hpp.

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

Reorder the Sinks based on this heuristic.

Reimplemented from torc::router::NetRouterHeuristicBase.

Definition at line 186 of file PathFinderNetRouterHeuristic.hpp.

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

Heuristic handling of expansion of a node.

Reimplemented from torc::router::NetRouterHeuristicBase.

Definition at line 190 of file PathFinderNetRouterHeuristic.hpp.


Member Data Documentation

ArcUsage reference.

Definition at line 64 of file PathFinderNetRouterHeuristic.hpp.

Tiles reference.

Definition at line 66 of file PathFinderNetRouterHeuristic.hpp.

Target sink tilewire.

Definition at line 68 of file PathFinderNetRouterHeuristic.hpp.

Target sink tile information.

Definition at line 70 of file PathFinderNetRouterHeuristic.hpp.

Target row coordinate.

Definition at line 72 of file PathFinderNetRouterHeuristic.hpp.

Target column coordinate.

Definition at line 74 of file PathFinderNetRouterHeuristic.hpp.

Segment tilewire buffer.

Definition at line 77 of file PathFinderNetRouterHeuristic.hpp.

Arc buffer.

Definition at line 79 of file PathFinderNetRouterHeuristic.hpp.

PathFinder sharing information.

Definition at line 82 of file PathFinderNetRouterHeuristic.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