oagTimer::TPoint Class Reference

#include <oagTimerTPoint.h>

List of all members.

Public Member Functions

std::string getBlockName (oaOccObject *block)
void invalidateFanout (oaOccObject *oPtr)
void invalidateFanin (oaOccObject *oPtr)
void invalidateClockFanout (oaOccObject *oPtr)
void invalidateClockFanin (oaOccObject *oPtr)
Constructors and desctructor
 TPoint ()
 ~TPoint ()
Clear data
void clear ()
void clearSlew ()
Query functions
TimeType getRiseArr () const
TimeType getRiseArr (int i) const
TimeType getFallArr () const
TimeType getFallArr (int i) const
TimeType getRiseReq () const
TimeType getRiseReq (int i) const
TimeType getFallReq () const
TimeType getFallReq (int i) const
DelayType getRiseSlack () const
DelayType getRiseSlack (int i) const
DelayType getFallSlack () const
DelayType getFallSlack (int i) const
DelayType getSlack () const
DelayType getStartingPointSlack () const
DelayType getEndingPointSlack (DelayType clkPeriod) const
double getLoad () const
DelayType getRiseSlew () const
DelayType getRiseSlew (int i) const
DelayType getFallSlew () const
DelayType getFallSlew (int i) const
Type functions
bool isClock () const
bool isPI () const
bool isPO () const
Primary inputs timing information
void piDriverForward (TPointMaster *tm, DelayType defaultSlew)

Static Public Member Functions

TPointcreate (oaOccObject *oPtr)
TPointcreate (oaOccInstTerm *oPtr)
TPointcreate (oaOccTerm *oPtr)
TPointget (oaOccObject *oPtr)
TPointgetClock (oaOccObject *oPtr)
void destroy (oaOccObject *oPtr)

Public Attributes

int multiCycleConstraint
std::vector< timingData * > multiClockData
std::vector< DPData * > pinDPData
std::map< oaOccInstTerm *,
oaString > 
DPSolutions
double dpArr
int dpIndex
std::vector< lrDatalrDataVec
int lrDataIndex
oaString lrSolution
bool revTopValid
bool ratValid
bool atValid
bool netValid
bool isFromPI
bool isToPO
bool isFromFF
bool isToFF
bool flag
bool swapFlag
bool slewValid
bool riseSlewValid
bool fallSlewValid
bool inverting
DelayType delay1
DelayType delay2
DelayType riseDelay
DelayType fallDelay
DelayType oldRiseSlew
DelayType oldFallSlew
double lm
double lm_old
int lmIndex
timingPointType type
int counter

Static Private Member Functions

void initAppDefs ()
 Initialize the appDefs associated with TPoints.

Private Attributes

double load
double netLoad
double res
TimeType riseArr
TimeType riseReq
TimeType fallArr
TimeType fallReq
DelayType riseSlew
DelayType fallSlew
DelayType netDelay
int index

Static Private Attributes

oaVoidPointerAppDef< oaOccInstTerm > * _instTermAppDef = 0
oaVoidPointerAppDef< oaOccTerm > * _termAppDef = 0
oaVoidPointerAppDef< oaOccInstTerm > * _clockInstTermAppDef = 0
oaVoidPointerAppDef< oaOccTerm > * _clockTermAppDef = 0

Friends

class Timer
class DuetSensitivity
class Opt
class Util
class TimerUtil
class lpSA
class LR
class DP
class SubTimer


Constructor & Destructor Documentation

oagTimer::TPoint::TPoint  )  [inline]
 

The constructor of an TPoint associated with an oaTerm or an oaInstTerm.

oagTimer::TPoint::~TPoint  )  [inline]
 

The destructor.


Member Function Documentation

void oagTimer::TPoint::clear  ) 
 

This function clears all the data in the current timing point.

void oagTimer::TPoint::clearSlew  ) 
 

TPoint * oagTimer::TPoint::create oaOccTerm *  oPtr  )  [static]
 

Create a TPoint for the given OccTerm.

0 is returned if the OccTerm does not support a TPoint (i.e. is a power/ground term).

It is a fatal error to create a TPoint for an OccTerm which already has a TPoint.

Parameters:
oPtr OccTerm for which to create a TPoint.
Returns:
The new TPoint.

TPoint * oagTimer::TPoint::create oaOccInstTerm *  oPtr  )  [static]
 

Create a TPoint for the given OccInstTerm.

0 is returned if the OccInstTerm does not support a TPoint (i.e. is a power/ground term).

It is an error to create a TPoint for an OccInstTerm which already has a TPoint.

Parameters:
oPtr OccInstTerm for which to create a TPoint.
Returns:
The new TPoint.

TPoint * oagTimer::TPoint::create oaOccObject *  oPtr  )  [static]
 

Create a TPoint for the given OccTerm/OccInstTerm.

0 is returned if the OccTerm/OccInstTerm does not support a TPoint (i.e. is a power/ground term).

It is a fatal error to create a TPoint for an OccTerm/OccInstTerm which already has a TPoint.

Parameters:
oPtr OccTerm/OccInstTerm for which to create a TPoint.
Returns:
The new TPoint.

void oagTimer::TPoint::destroy oaOccObject *  oPtr  )  [static]
 

Destroys the TPoint and clock TPoint for the given OccTerm/OccInstTerm.

Parameters:
oPtr OccTerm/OccInstTerm to operate on.

TPoint * oagTimer::TPoint::get oaOccObject *  oPtr  )  [static]
 

Get the TPoint for the given OccTerm/OccInstTerm. It is a fatal error to try to get a TPoint for an OccTerm/OccInstTerm which does not have a TPoint.

Parameters:
oPtr OccTerm/OccInstTerm to query.
Returns:
The corresponding TPoint.

std::string oagTimer::TPoint::getBlockName oaOccObject *  oPtr  ) 
 

returns the name of block object FIXME should move out of the timer class

Parameters:
block either an oaTerm or an oaInstTerm

TPoint * oagTimer::TPoint::getClock oaOccObject *  oPtr  )  [static]
 

Get the clock TPoint for the given OccTerm/OccInstTerm. If the OccTerm/OccInstTerm does not have a clock TPoint, create a new clock TPoint and return it. Note that this behavior differs from the TPoint::get() method.

Parameters:
bo OccTerm/OccInstTerm to query.
Returns:
The corresponding clock TPoint.

Here is the call graph for this function:

DelayType oagTimer::TPoint::getEndingPointSlack DelayType  clkPeriod  )  const [inline]
 

This function returns the slack value at the clock pin, here the clock pin is the ending point of a path.

TimeType oagTimer::TPoint::getFallArr int  i  )  const [inline]
 

TimeType oagTimer::TPoint::getFallArr  )  const [inline]
 

This function returns the fall arrival time at this timing point.

TimeType oagTimer::TPoint::getFallReq int  i  )  const [inline]
 

TimeType oagTimer::TPoint::getFallReq  )  const [inline]
 

This function returns the required fall arrival time at this timing point.

DelayType oagTimer::TPoint::getFallSlack int  i  )  const [inline]
 

DelayType oagTimer::TPoint::getFallSlack  )  const [inline]
 

This function returns the fall slack at this timing point.

DelayType oagTimer::TPoint::getFallSlew int  i  )  const [inline]
 

DelayType oagTimer::TPoint::getFallSlew  )  const [inline]
 

This function returns the fall slew rate at this timing point.

double oagTimer::TPoint::getLoad  )  const [inline]
 

This function returns the load value at this timing point.

TimeType oagTimer::TPoint::getRiseArr int  i  )  const [inline]
 

TimeType oagTimer::TPoint::getRiseArr  )  const [inline]
 

This function returns the rise arrival time at this timing point.

TimeType oagTimer::TPoint::getRiseReq int  i  )  const [inline]
 

TimeType oagTimer::TPoint::getRiseReq  )  const [inline]
 

This function returns the required rise arrival time at this timing point.

DelayType oagTimer::TPoint::getRiseSlack int  i  )  const [inline]
 

DelayType oagTimer::TPoint::getRiseSlack  )  const [inline]
 

This function returns the rise slack at this timing point.

DelayType oagTimer::TPoint::getRiseSlew int  i  )  const [inline]
 

DelayType oagTimer::TPoint::getRiseSlew  )  const [inline]
 

This function returns the rise slew rate at this timing point.

DelayType oagTimer::TPoint::getSlack  )  const [inline]
 

This function returns the slack at this timing point.

DelayType oagTimer::TPoint::getStartingPointSlack  )  const [inline]
 

This function returns the slack value at the clock pin, here the clock pin is the starting point of a path.

void oagTimer::TPoint::initAppDefs  )  [static, private]
 

Initialize the appDefs associated with TPoints.

void oagTimer::TPoint::invalidateClockFanin oaOccObject *  oPtr  ) 
 

Invalidate the fanin cone associated with this Clock TPoint.

Parameters:
oPtr OccTerm/OccInstTerm associated with this Clock TPoint.

Here is the call graph for this function:

void oagTimer::TPoint::invalidateClockFanout oaOccObject *  oPtr  ) 
 

Invalidate the fanout cone associated with this Clock TPoint.

Parameters:
oPtr OccTerm/OccInstTerm associated with this Clock TPoint.

Here is the call graph for this function:

void oagTimer::TPoint::invalidateFanin oaOccObject *  oPtr  ) 
 

Invalidate the fanin cone associated with this TPoint.

Parameters:
oPtr OccTerm/OccInstTerm associated with this TPoint.

Here is the call graph for this function:

void oagTimer::TPoint::invalidateFanout oaOccObject *  oPtr  ) 
 

Invalidate the fanout cone associated with this TPoint.

Parameters:
oPtr OccTerm/OccInstTerm associated with this TPoint.

Here is the call graph for this function:

bool oagTimer::TPoint::isClock  )  const [inline]
 

This function returns true if the pin is a clock pin type.

bool oagTimer::TPoint::isPI  )  const [inline]
 

This function returns true if it's a PI.

bool oagTimer::TPoint::isPO  )  const [inline]
 

This function returns true if it's a PO.

void oagTimer::TPoint::piDriverForward TPointMaster tm,
DelayType  defaultSlew
 

This function propagates the slew rate and delay at the PI, here the slew rate and the delay come from the driving cell.

Parameters:
tm this is the TPointMaster of the driving cell's output
defaultSlew the default slew of the input, use 0 now.


Friends And Related Function Documentation

friend class DP [friend]
 

friend class DuetSensitivity [friend]
 

friend class lpSA [friend]
 

friend class LR [friend]
 

friend class Opt [friend]
 

friend class SubTimer [friend]
 

friend class Timer [friend]
 

friend class TimerUtil [friend]
 

friend class Util [friend]
 


Member Data Documentation

oaVoidPointerAppDef< oaOccInstTerm > * oagTimer::TPoint::_clockInstTermAppDef = 0 [static, private]
 

oaVoidPointerAppDef< oaOccTerm > * oagTimer::TPoint::_clockTermAppDef = 0 [static, private]
 

oaVoidPointerAppDef< oaOccInstTerm > * oagTimer::TPoint::_instTermAppDef = 0 [static, private]
 

oaVoidPointerAppDef< oaOccTerm > * oagTimer::TPoint::_termAppDef = 0 [static, private]
 

bool oagTimer::TPoint::atValid
 

This flag indicates if the arrival time is valid.

int oagTimer::TPoint::counter
 

DelayType oagTimer::TPoint::delay1
 

DelayType oagTimer::TPoint::delay2
 

double oagTimer::TPoint::dpArr
 

int oagTimer::TPoint::dpIndex
 

std::map<oaOccInstTerm*,oaString> oagTimer::TPoint::DPSolutions
 

TimeType oagTimer::TPoint::fallArr [private]
 

The fall arrival time at this timing point.

DelayType oagTimer::TPoint::fallDelay
 

TimeType oagTimer::TPoint::fallReq [private]
 

The required fall arrival time at this timing point.

DelayType oagTimer::TPoint::fallSlew [private]
 

The fall slew rate at this timing point.

bool oagTimer::TPoint::fallSlewValid
 

bool oagTimer::TPoint::flag
 

This flag indicates if slew is valid, for used in incremental timing only

int oagTimer::TPoint::index [private]
 

Used in lpSA to assign gate index in the circuit

bool oagTimer::TPoint::inverting
 

bool oagTimer::TPoint::isFromFF
 

This flag indicate whether this input pin is connected from FF

bool oagTimer::TPoint::isFromPI
 

This flag indicate whether this input pin is connected from PI

bool oagTimer::TPoint::isToFF
 

This flag indicate whether this output pin is connected to FF

bool oagTimer::TPoint::isToPO
 

This flag indicate whether this output pin is connected to PO

double oagTimer::TPoint::lm
 

Lagrange Multiplier: used only for LR optimization

double oagTimer::TPoint::lm_old
 

int oagTimer::TPoint::lmIndex
 

double oagTimer::TPoint::load [private]
 

The load value at this timing point.

int oagTimer::TPoint::lrDataIndex
 

std::vector<lrData> oagTimer::TPoint::lrDataVec
 

For use in LR with DP

oaString oagTimer::TPoint::lrSolution
 

std::vector<timingData*> oagTimer::TPoint::multiClockData
 

int oagTimer::TPoint::multiCycleConstraint
 

DelayType oagTimer::TPoint::netDelay [private]
 

The net delay value of this timing point. For a SIGNAL_OUT pin this is the worst net delay seen at the fanouts

double oagTimer::TPoint::netLoad [private]
 

bool oagTimer::TPoint::netValid
 

This flag indicates if NetLoad, and NetDelay are valid

DelayType oagTimer::TPoint::oldFallSlew
 

DelayType oagTimer::TPoint::oldRiseSlew
 

std::vector<DPData*> oagTimer::TPoint::pinDPData
 

For use in DP

bool oagTimer::TPoint::ratValid
 

This flag indicates if the required arrival time is valid.

double oagTimer::TPoint::res [private]
 

bool oagTimer::TPoint::revTopValid
 

This flag indicates input arc valid used for getting reverse topological in DesignTool.

TimeType oagTimer::TPoint::riseArr [private]
 

The rise arrival time at this timing point.

DelayType oagTimer::TPoint::riseDelay
 

TimeType oagTimer::TPoint::riseReq [private]
 

The required rise arrival time at this timing point.

DelayType oagTimer::TPoint::riseSlew [private]
 

The rise slew rate at this timing point.

bool oagTimer::TPoint::riseSlewValid
 

bool oagTimer::TPoint::slewValid
 

bool oagTimer::TPoint::swapFlag
 

timingPointType oagTimer::TPoint::type
 

The type of this timing point.


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