#include <PathFinderNetRouterHeuristic.hpp>
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 | |
ArcUsage & | mArcUsage |
ArcUsage reference. | |
const Tiles & | mTiles |
Tiles reference. | |
Tilewire | mTargetSink |
Target sink tilewire. | |
const TileInfo * | mSinkTileInfo |
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 |
The router can either return a vector of nodes or directly populate DDB usage.
Definition at line 44 of file PathFinderNetRouterHeuristic.hpp.
typedef architecture::DDB torc::router::PathFinderNetRouterHeuristic::DDB [private] |
Imported type names.
Reimplemented from torc::router::NetRouterHeuristicBase.
Definition at line 47 of file PathFinderNetRouterHeuristic.hpp.
torc::router::PathFinderNetRouterHeuristic::PathFinderNetRouterHeuristic | ( | DDB & | inDB | ) | [inline] |
torc::router::PathFinderNetRouterHeuristic::~PathFinderNetRouterHeuristic | ( | ) | [inline] |
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.
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.
const Tiles& torc::router::PathFinderNetRouterHeuristic::mTiles [protected] |
const TileInfo* torc::router::PathFinderNetRouterHeuristic::mSinkTileInfo [protected] |
boost::int32_t torc::router::PathFinderNetRouterHeuristic::mRow [protected] |
boost::int32_t torc::router::PathFinderNetRouterHeuristic::mCol [protected] |
TilewireVector torc::router::PathFinderNetRouterHeuristic::mSegmentBuf [protected] |
ArcVector torc::router::PathFinderNetRouterHeuristic::mArcsBuf [protected] |
PathFinderSharingMap* torc::router::PathFinderNetRouterHeuristic::mConflictMap [protected] |