19 #ifndef TORC_ROUTER_NETROUTERHEURISTICBASE_HPP
20 #define TORC_ROUTER_NETROUTERHEURISTICBASE_HPP
62 #endif // TORC_ROUTER_NETROUTERHEURISTICBASE_HPP
DDB & mDB
Database reference.
architecture::Tilewire Tilewire
std::vector< Tilewire > TilewireVector
Vector of Tilewire objects.
Device database, including complete wiring and logic support.
virtual ~NetRouterHeuristicBase()
Destructor.
NetRouterHeuristicBase(DDB &inDB)
Public Constructor.
Header for the RouteNode class.
virtual void expandSegmentSinks(const Tilewire &inTilewire, ArcVector &outArcs)
Heuristically expand a segment.
architecture::TilewireVector TilewireVector
void expandSegmentSinks(const Tilewire &inTilewire, ArcVector &outSinks, EExpandDirection inExpandDirection=eExpandDirectionNone, bool inUseTied=true, bool inUseRegular=true, bool inUseIrregular=true, bool inUseRoutethrough=true)
Expands all sink arcs for the given tilewire's segment.
architecture::ArcVector ArcVector
std::vector< Arc > ArcVector
Vector of Arc objects.
virtual void reorderSinks(const Tilewire &inSource, TilewireVector &inSinks)
Reorder the Sinks based on this heuristic.
Encapsulation of a device tile and wire pair.
Provides the interface for net routers.
Header for the Tilewire class.
virtual void setSink(const Tilewire &inSink)=0
Set the current routing target.
An object that holds an arc and path information for routing.
architecture::DDB DDB
Imported type names.
Provides the interface for net routers.
Header for the HeuristicBase class.
virtual void nodeCost(RouteNode &inNode)=0
Calculate the node cost based on distance to the sink and path length.