oagTimer::TimerModel Class Reference

#include <oagTimerModel.h>

List of all members.

Public Member Functions

 TimerModel ()
 TimerModel (const TimerModel &c)
 ~TimerModel ()
int pushLoadAxis (double d)
int pushClockSlewAxis (double d)
int pushInputSlewAxis (double d)
int pushSlewAxis (double d)
void reserveData ()
int pushData (double d)
void clear ()
DelayType lookup (double load, DelayType slew, double loadLimit)

Static Public Member Functions

TimeType MAX_TIME ()
TimeType ZERO_TIME ()
DelayType MAX_DELAY ()
DelayType ZERO_DELAY ()

Private Attributes

unsigned int loadSize
unsigned int slewSize
unsigned int dataSize
std::vector< double > loadAxis
std::vector< double > slewAxis
std::vector< double > tableData
bool originalSlewMajor
unsigned int ptr


Detailed Description

The TimerModel class contains the lookup table information, which can be used to compute the slew rate and the delay value of an internal arc.


Constructor & Destructor Documentation

oagTimer::TimerModel::TimerModel  ) 
 

The constructor, initialize all the members.

oagTimer::TimerModel::TimerModel const TimerModel c  ) 
 

The constructor, copy.

oagTimer::TimerModel::~TimerModel  )  [inline]
 

The desctructor, which is empty now.


Member Function Documentation

void oagTimer::TimerModel::clear  ) 
 

Clear all the vectors.

DelayType oagTimer::TimerModel::lookup double  load,
DelayType  slew,
double  loadLimit
 

Compute the delay value or slew rate from the lookup table. Will print a warning message if the load exceeds the load limit.

Parameters:
load the load value at this point
slew the slew rate at this point
loadLimit the load limit at this point

DelayType oagTimer::TimerModel::MAX_DELAY  )  [inline, static]
 

maximum delay value TWEAK

TimeType oagTimer::TimerModel::MAX_TIME  )  [inline, static]
 

maximum time value TWEAK

int oagTimer::TimerModel::pushClockSlewAxis double  d  ) 
 

Push one number into the clock slew axis.

int oagTimer::TimerModel::pushData double  d  ) 
 

Push one number into the data table.

Here is the call graph for this function:

int oagTimer::TimerModel::pushInputSlewAxis double  d  ) 
 

Push one number into the input slew axis.

int oagTimer::TimerModel::pushLoadAxis double  d  ) 
 

Push one number into the load axis.

int oagTimer::TimerModel::pushSlewAxis double  d  ) 
 

Push one number into the slew axis.

void oagTimer::TimerModel::reserveData  ) 
 

Reserve the data space for the table.

DelayType oagTimer::TimerModel::ZERO_DELAY  )  [inline, static]
 

zero delay value TWEAK

TimeType oagTimer::TimerModel::ZERO_TIME  )  [inline, static]
 

zero time value TWEAK


Member Data Documentation

unsigned int oagTimer::TimerModel::dataSize [private]
 

std::vector<double> oagTimer::TimerModel::loadAxis [private]
 

unsigned int oagTimer::TimerModel::loadSize [private]
 

bool oagTimer::TimerModel::originalSlewMajor [private]
 

this flag shows whether slew appears first or not

unsigned int oagTimer::TimerModel::ptr [private]
 

a pointer which points to the next empty data position

std::vector<double> oagTimer::TimerModel::slewAxis [private]
 

unsigned int oagTimer::TimerModel::slewSize [private]
 

std::vector<double> oagTimer::TimerModel::tableData [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