torc-master
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
torc::router::NetRouterHeuristicBase Class Referenceabstract

Provides the interface for net routers. More...

#include <NetRouterHeuristicBase.hpp>

+ Inheritance diagram for torc::router::NetRouterHeuristicBase:
+ Collaboration diagram for torc::router::NetRouterHeuristicBase:

Public Member Functions

 NetRouterHeuristicBase (DDB &inDB)
 Public Constructor. More...
 
virtual ~NetRouterHeuristicBase ()
 Destructor. More...
 
virtual void setSink (const Tilewire &inSink)=0
 Set the current routing target. More...
 
virtual void nodeCost (RouteNode &inNode)=0
 Calculate the node cost based on distance to the sink and path length. More...
 
virtual void reorderSinks (const Tilewire &inSource, TilewireVector &inSinks)
 Reorder the Sinks based on this heuristic. More...
 
virtual void expandSegmentSinks (const Tilewire &inTilewire, ArcVector &outArcs)
 Heuristically expand a segment. More...
 
boost::any getParameter (boost::uint32_t index)
 Get a parameter. More...
 
void setParameter (boost::uint32_t index, boost::any inParameter)
 Set a parameter. More...
 
virtual void processParameters ()
 Do something with the parameters. More...
 

Protected Attributes

DDBmDB
 Database reference. More...
 
ParameterMap mParameters
 Parameter map. More...
 

Private Types

typedef architecture::DDB DDB
 Imported type names. More...
 
typedef architecture::Tilewire Tilewire
 
typedef
architecture::TilewireVector 
TilewireVector
 
typedef architecture::ArcVector ArcVector
 

Detailed Description

Provides the interface for net routers.

Definition at line 30 of file NetRouterHeuristicBase.hpp.

Member Typedef Documentation

Imported type names.

Definition at line 33 of file NetRouterHeuristicBase.hpp.

Constructor & Destructor Documentation

torc::router::NetRouterHeuristicBase::NetRouterHeuristicBase ( DDB inDB)
inline

Public Constructor.

Definition at line 41 of file NetRouterHeuristicBase.hpp.

41 : RouterHeuristicBase(inDB) {}
RouterHeuristicBase(DDB &inDB)
Public Constructor.
virtual torc::router::NetRouterHeuristicBase::~NetRouterHeuristicBase ( )
inlinevirtual

Destructor.

Definition at line 43 of file NetRouterHeuristicBase.hpp.

43 {}

Member Function Documentation

virtual void torc::router::NetRouterHeuristicBase::expandSegmentSinks ( const Tilewire inTilewire,
ArcVector outArcs 
)
inlinevirtual

Heuristically expand a segment.

Reimplemented in torc::router::PathFinderNetRouterHeuristic, and torc::router::NetRouterHeuristic.

Definition at line 52 of file NetRouterHeuristicBase.hpp.

52  {
53  mDB.expandSegmentSinks(inTilewire, outArcs);
54  }
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.
Definition: DDB.cpp:314

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

boost::any torc::router::RouterHeuristicBase::getParameter ( boost::uint32_t  index)
inlineinherited

Get a parameter.

Definition at line 52 of file RouterHeuristicBase.hpp.

52  {
53  ParameterMap::iterator p = mParameters.find(index);
54  if (p != mParameters.end()) {
55  return p->second;
56  }
57  return boost::any();
58  }
ParameterMap mParameters
Parameter map.

+ Here is the caller graph for this function:

virtual void torc::router::NetRouterHeuristicBase::nodeCost ( RouteNode inNode)
pure virtual

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

Implemented in torc::router::PathFinderNetRouterHeuristic, and torc::router::NetRouterHeuristic.

+ Here is the caller graph for this function:

virtual void torc::router::RouterHeuristicBase::processParameters ( )
inlinevirtualinherited

Do something with the parameters.

Reimplemented in torc::router::PathFinderNetRouterHeuristic.

Definition at line 64 of file RouterHeuristicBase.hpp.

64 {}

+ Here is the caller graph for this function:

virtual void torc::router::NetRouterHeuristicBase::reorderSinks ( const Tilewire inSource,
TilewireVector inSinks 
)
inlinevirtual

Reorder the Sinks based on this heuristic.

Reimplemented in torc::router::PathFinderNetRouterHeuristic, and torc::router::NetRouterHeuristic.

Definition at line 50 of file NetRouterHeuristicBase.hpp.

50 {}

+ Here is the caller graph for this function:

void torc::router::RouterHeuristicBase::setParameter ( boost::uint32_t  index,
boost::any  inParameter 
)
inlineinherited

Set a parameter.

Definition at line 60 of file RouterHeuristicBase.hpp.

60  {
61  mParameters[index] = inParameter;
62  }
ParameterMap mParameters
Parameter map.

+ Here is the caller graph for this function:

virtual void torc::router::NetRouterHeuristicBase::setSink ( const Tilewire inSink)
pure virtual

Set the current routing target.

Implemented in torc::router::PathFinderNetRouterHeuristic, and torc::router::NetRouterHeuristic.

+ Here is the caller graph for this function:

Field Documentation

DDB& torc::router::RouterHeuristicBase::mDB
protectedinherited

Database reference.

Definition at line 40 of file RouterHeuristicBase.hpp.

ParameterMap torc::router::RouterHeuristicBase::mParameters
protectedinherited

Parameter map.

Definition at line 42 of file RouterHeuristicBase.hpp.


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