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

Abstract class for a net router. More...

#include <NetVectorRouterBase.hpp>

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

Public Member Functions

 NetVectorRouterBase (DDB &inDB, NetVectorRouterHeuristicBase *inHeuristic, NetRouterBase *inNetRouter)
 Public Constructor. More...
 
virtual ~NetVectorRouterBase ()
 Destructor. More...
 
void route (RouteNetVector &inNets)
 Primary route call. More...
 
NetVectorRouterHeuristicBasegetHeuristic ()
 Accessor for the heuristic. More...
 
void setHeuristic (NetVectorRouterHeuristicBase *inHeuristic)
 Set method for the heuristic. More...
 
NetRouterBasegetNetRouter ()
 Accessor for the underlying Net Router. More...
 
void setNetRouter (NetRouterBase *inNetRouter)
 Set method for the net router. More...
 

Protected Member Functions

virtual void routeNets (RouteNetVector &inNets)=0
 brief protected routing call More...
 

Protected Attributes

DDBmDB
 Database reference. More...
 
NetVectorRouterHeuristicBasemHeuristic
 Pointer to the heuristic for making routing decisions. More...
 
NetRouterBasemNetRouter
 Pointer to the underlying net router. 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 40 of file NetVectorRouterBase.hpp.

Member Typedef Documentation

Imported type names.

Definition at line 43 of file NetVectorRouterBase.hpp.

Constructor & Destructor Documentation

torc::router::NetVectorRouterBase::NetVectorRouterBase ( DDB inDB,
NetVectorRouterHeuristicBase inHeuristic,
NetRouterBase inNetRouter 
)
inline

Public Constructor.

Definition at line 63 of file NetVectorRouterBase.hpp.

64  : mDB(inDB), mHeuristic(inHeuristic),
65  mNetRouter(inNetRouter) {
66  mTotalRouteTime = 0;
67  }
NetRouterBase * mNetRouter
Pointer to the underlying net router.
NetVectorRouterHeuristicBase * mHeuristic
Pointer to the heuristic for making routing decisions.
double mTotalRouteTime
Total routing time since construction.
virtual torc::router::NetVectorRouterBase::~NetVectorRouterBase ( )
inlinevirtual

Destructor.

Definition at line 69 of file NetVectorRouterBase.hpp.

69 {}

Member Function Documentation

NetVectorRouterHeuristicBase* torc::router::NetVectorRouterBase::getHeuristic ( )
inline

Accessor for the heuristic.

Definition at line 78 of file NetVectorRouterBase.hpp.

78 { return mHeuristic; }
NetVectorRouterHeuristicBase * mHeuristic
Pointer to the heuristic for making routing decisions.
NetRouterBase* torc::router::NetVectorRouterBase::getNetRouter ( )
inline

Accessor for the underlying Net Router.

Definition at line 82 of file NetVectorRouterBase.hpp.

82 { return mNetRouter; }
NetRouterBase * mNetRouter
Pointer to the underlying net router.
void torc::router::NetVectorRouterBase::route ( RouteNetVector inNets)
inline

Primary route call.

Definition at line 72 of file NetVectorRouterBase.hpp.

72  {
73  mRouteTimer.restart();
74  routeNets(inNets);
75  mTotalRouteTime += mRouteTimer.elapsed();
76  }
boost::timer mRouteTimer
Timer object for performance analysis.
virtual void routeNets(RouteNetVector &inNets)=0
brief protected routing call
double mTotalRouteTime
Total routing time since construction.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

virtual void torc::router::NetVectorRouterBase::routeNets ( RouteNetVector inNets)
protectedpure virtual

brief protected routing call

Implemented in torc::router::PathFinder.

+ Here is the caller graph for this function:

void torc::router::NetVectorRouterBase::setHeuristic ( NetVectorRouterHeuristicBase inHeuristic)
inline

Set method for the heuristic.

Definition at line 80 of file NetVectorRouterBase.hpp.

80 { mHeuristic = inHeuristic; }
NetVectorRouterHeuristicBase * mHeuristic
Pointer to the heuristic for making routing decisions.
void torc::router::NetVectorRouterBase::setNetRouter ( NetRouterBase inNetRouter)
inline

Set method for the net router.

Definition at line 84 of file NetVectorRouterBase.hpp.

84 { mNetRouter = inNetRouter; }
NetRouterBase * mNetRouter
Pointer to the underlying net router.

Field Documentation

DDB& torc::router::NetVectorRouterBase::mDB
protected

Database reference.

Definition at line 50 of file NetVectorRouterBase.hpp.

NetVectorRouterHeuristicBase* torc::router::NetVectorRouterBase::mHeuristic
protected

Pointer to the heuristic for making routing decisions.

Definition at line 52 of file NetVectorRouterBase.hpp.

NetRouterBase* torc::router::NetVectorRouterBase::mNetRouter
protected

Pointer to the underlying net router.

Definition at line 54 of file NetVectorRouterBase.hpp.

boost::timer torc::router::NetVectorRouterBase::mRouteTimer
protected

Timer object for performance analysis.

Definition at line 56 of file NetVectorRouterBase.hpp.

double torc::router::NetVectorRouterBase::mTotalRouteTime
protected

Total routing time since construction.

Definition at line 58 of file NetVectorRouterBase.hpp.


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