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

Abstract class for a net router. More...

#include <NetRouterBase.hpp>

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

Public Member Functions

 NetRouterBase (DDB &inDB, NetRouterHeuristicBase *inHeuristic)
 Public Constructor. More...
 
virtual ~NetRouterBase ()
 Destructor. More...
 
void route (RouteNet &inNet)
 Primary route call. More...
 
double getTotalRouteTime ()
 Get total route time. More...
 
NetRouterHeuristicBasegetHeuristic ()
 Get the current heuristic. More...
 
void setHeuristic (NetRouterHeuristicBase *inHeuristic)
 Set the current heuristic. More...
 

Protected Member Functions

virtual void routeNet (RouteNet &inNet)=0
 Virtual route call. More...
 

Protected Attributes

DDBmDB
 Database reference. More...
 
NetRouterHeuristicBasemHeuristic
 Pointer to the heuristic for making routing decisions. More...
 
boost::timer mRouteTimer
 Timer object for performance analysis. More...
 
double mTotalRouteTime
 Total routing time since construction. More...
 

Private Types

typedef architecture::DDB DDB
 Imported type names. More...
 
typedef architecture::WireUsage WireUsage
 
typedef architecture::Tilewire Tilewire
 

Detailed Description

Abstract class for a net router.

This base class provides a virtual route function.

Definition at line 43 of file NetRouterBase.hpp.

Member Typedef Documentation

Imported type names.

Definition at line 46 of file NetRouterBase.hpp.

Constructor & Destructor Documentation

torc::router::NetRouterBase::NetRouterBase ( DDB inDB,
NetRouterHeuristicBase inHeuristic 
)
inline

Public Constructor.

Definition at line 64 of file NetRouterBase.hpp.

64  : mDB(inDB),
65  mHeuristic(inHeuristic) {
66  mTotalRouteTime = 0;
67  }
double mTotalRouteTime
Total routing time since construction.
NetRouterHeuristicBase * mHeuristic
Pointer to the heuristic for making routing decisions.
DDB & mDB
Database reference.
virtual torc::router::NetRouterBase::~NetRouterBase ( )
inlinevirtual

Destructor.

Definition at line 69 of file NetRouterBase.hpp.

69 {}

Member Function Documentation

NetRouterHeuristicBase* torc::router::NetRouterBase::getHeuristic ( )
inline

Get the current heuristic.

Definition at line 83 of file NetRouterBase.hpp.

83 { return mHeuristic; }
NetRouterHeuristicBase * mHeuristic
Pointer to the heuristic for making routing decisions.

+ Here is the caller graph for this function:

double torc::router::NetRouterBase::getTotalRouteTime ( )
inline

Get total route time.

Definition at line 81 of file NetRouterBase.hpp.

81 { return mTotalRouteTime; }
double mTotalRouteTime
Total routing time since construction.
void torc::router::NetRouterBase::route ( RouteNet inNet)
inline

Primary route call.

Definition at line 72 of file NetRouterBase.hpp.

72  {
73  mRouteTimer.restart();
74  routeNet(inNet);
75  double routeTime = mRouteTimer.elapsed();
76  mTotalRouteTime += routeTime;
77  inNet.mProperties[eRouteTime] = routeTime;
78  }
double mTotalRouteTime
Total routing time since construction.
boost::timer mRouteTimer
Timer object for performance analysis.
virtual void routeNet(RouteNet &inNet)=0
Virtual route call.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

virtual void torc::router::NetRouterBase::routeNet ( RouteNet inNet)
protectedpure virtual

Virtual route call.

Implemented in torc::router::NetRouter.

+ Here is the caller graph for this function:

void torc::router::NetRouterBase::setHeuristic ( NetRouterHeuristicBase inHeuristic)
inline

Set the current heuristic.

Definition at line 85 of file NetRouterBase.hpp.

85 { mHeuristic = inHeuristic; }
NetRouterHeuristicBase * mHeuristic
Pointer to the heuristic for making routing decisions.

Field Documentation

DDB& torc::router::NetRouterBase::mDB
protected

Database reference.

Definition at line 53 of file NetRouterBase.hpp.

NetRouterHeuristicBase* torc::router::NetRouterBase::mHeuristic
protected

Pointer to the heuristic for making routing decisions.

Definition at line 55 of file NetRouterBase.hpp.

boost::timer torc::router::NetRouterBase::mRouteTimer
protected

Timer object for performance analysis.

Definition at line 57 of file NetRouterBase.hpp.

double torc::router::NetRouterBase::mTotalRouteTime
protected

Total routing time since construction.

Definition at line 59 of file NetRouterBase.hpp.


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