oagTimer::LR Class Reference

#include <oagTimerLR.h>

Collaboration diagram for oagTimer::LR:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 LR (oaDesign *d, Timer *t)
 ~LR ()
void runDebug ()
void printAll (oaOccInst *inst)
void printTiming (oaOccInst *inst)
void runDP (int type)

Private Member Functions

double getDelaySum ()
vector< int > getIndices (oaModInst *inst)
void setLMIndex ()
void projectLM ()
void updateLM ()
double getMaxInArr (oaOccInst *inst)
void reverseLM ()
void saveSizing (map< oaModInst *, oaString > &m)
void reloadSizing (map< oaModInst *, oaString > &m)
void runAssign ()
double getLRObjective ()
void runDPAssign ()
void DpRelaxation ()
void mergeFanoutSolutions (oaOccInstTerm *outTerm)
void pruneSolutions (vector< lrData > &d)
void copyVecData (vector< lrData > &src, vector< lrData > &dst)
void DpRestoration ()
double getFanoutsMinObjSum (oaOccInstTerm *i, oaString currSize)
oaString getSolution (CellData *c)
double getMaxWeightedFaninObj (oaOccInstTerm *out, oaOccInstTerm *other, oaString otherSize)
oaString resolveInconsistency (CellData *c)
double getMaxArr (oaOccInstTerm *in, oaString prospSize)
void printLMAssignment ()
void printLMValues ()
void checkLMValues ()
void printMap (map< oaOccInstTerm *, oaString > m)
void printDPGraph ()
double checkSum (oaModInst *inst)

Private Attributes

double globalLM
oaDesign * design
Timertiming
double factor
bool tolSet
bool iterRefine
int _N
double tau
double alpha1
double alpha2
Util ut
vector< oaModInst * > G
map< oaOccInst *, oaString > dpSolutions

Constructor & Destructor Documentation

oagTimer::LR::LR oaDesign *  d,
Timer t
 

oagTimer::LR::~LR  ) 
 


Member Function Documentation

void oagTimer::LR::checkLMValues  )  [private]
 

Here is the call graph for this function:

double oagTimer::LR::checkSum oaModInst *  inst  )  [private]
 

void oagTimer::LR::copyVecData vector< lrData > &  src,
vector< lrData > &  dst
[private]
 

void oagTimer::LR::DpRelaxation  )  [private]
 

Here is the call graph for this function:

void oagTimer::LR::DpRestoration  )  [private]
 

Here is the call graph for this function:

double oagTimer::LR::getDelaySum  )  [private]
 

double oagTimer::LR::getFanoutsMinObjSum oaOccInstTerm *  i,
oaString  currSize
[private]
 

vector< int > oagTimer::LR::getIndices oaModInst *  inst  )  [private]
 

Here is the call graph for this function:

double oagTimer::LR::getLRObjective  )  [private]
 

Here is the call graph for this function:

double oagTimer::LR::getMaxArr oaOccInstTerm *  in,
oaString  prospSize
[private]
 

This function is used only in DP to query the max arrival time to the given input arc (in) from the fanin instance based on the given cellsize of the input arc's instance

Parameters:
oaOccInstTerm*: instance input arc
oaString: prospective size of the instance;

double oagTimer::LR::getMaxInArr oaOccInst *  inst  )  [private]
 

Here is the call graph for this function:

double oagTimer::LR::getMaxWeightedFaninObj oaOccInstTerm *  out,
oaOccInstTerm *  other,
oaString  otherSize
[private]
 

oaString oagTimer::LR::getSolution CellData c  )  [private]
 

Here is the call graph for this function:

void oagTimer::LR::mergeFanoutSolutions oaOccInstTerm *  outTerm  )  [private]
 

Here is the call graph for this function:

void oagTimer::LR::printAll oaOccInst *  inst  ) 
 

Here is the call graph for this function:

void oagTimer::LR::printDPGraph  )  [private]
 

void oagTimer::LR::printLMAssignment  )  [private]
 

void oagTimer::LR::printLMValues  )  [private]
 

void oagTimer::LR::printMap map< oaOccInstTerm *, oaString >  m  )  [private]
 

void oagTimer::LR::printTiming oaOccInst *  inst  ) 
 

Here is the call graph for this function:

void oagTimer::LR::projectLM  )  [private]
 

Here is the call graph for this function:

void oagTimer::LR::pruneSolutions vector< lrData > &  d  )  [private]
 

void oagTimer::LR::reloadSizing map< oaModInst *, oaString > &  m  )  [private]
 

Here is the call graph for this function:

oaString oagTimer::LR::resolveInconsistency CellData c  )  [private]
 

void oagTimer::LR::reverseLM  )  [private]
 

Here is the call graph for this function:

void oagTimer::LR::runAssign  )  [private]
 

Here is the call graph for this function:

void oagTimer::LR::runDebug  ) 
 

Here is the call graph for this function:

void oagTimer::LR::runDP int  type  ) 
 

Here is the call graph for this function:

void oagTimer::LR::runDPAssign  )  [private]
 

Here is the call graph for this function:

void oagTimer::LR::saveSizing map< oaModInst *, oaString > &  m  )  [private]
 

Here is the call graph for this function:

void oagTimer::LR::setLMIndex  )  [private]
 

Here is the call graph for this function:

void oagTimer::LR::updateLM  )  [private]
 

Here is the call graph for this function:


Member Data Documentation

int oagTimer::LR::_N [private]
 

double oagTimer::LR::alpha1 [private]
 

double oagTimer::LR::alpha2 [private]
 

oaDesign* oagTimer::LR::design [private]
 

map<oaOccInst*, oaString> oagTimer::LR::dpSolutions [private]
 

double oagTimer::LR::factor [private]
 

vector<oaModInst*> oagTimer::LR::G [private]
 

double oagTimer::LR::globalLM [private]
 

bool oagTimer::LR::iterRefine [private]
 

double oagTimer::LR::tau [private]
 

Timer* oagTimer::LR::timing [private]
 

bool oagTimer::LR::tolSet [private]
 

Util oagTimer::LR::ut [private]
 


The documentation for this class was generated from the following files:
Generated on Thu Aug 25 14:25:19 2011 by  doxygen 1.3.9.1