oagTimer::Timer Class Reference
The Timer class has all APIs for the user to use this timer package.
More...
#include <oagTimerTimer.h>
Collaboration diagram for oagTimer::Timer:
[legend]List of all members.
|
Public Member Functions |
DelayType | getWorstSlack () |
DelayType | getWorstArr () |
double | getSetupTime (oaOccInstTerm *iTerm) |
bool | isValidTiming () |
double | getPeriod () |
void | updateAll () |
void | clearDesignTimingData () |
void | printCell (oaOccInst *i) |
void | printDetailTiming () |
void | printAll () |
void | printAllPO () |
void | checkRatFlags () |
|
| Timer () |
| Constructor.
|
| ~Timer () |
| Destructor.
|
|
void | readLibrary (const char *filename, const char *libertyLibname=0, const char *libertyViewname=0) |
void | add (oaDesign *design) |
void | debug_TimingFlag (oaDesign *design) |
void | remove (oaDesign *design) |
void | readConstraints (const char *filename, oaDesign *design) |
void | setWireModel (WireModel *model) |
void | setWireModel (ElmoreWireModel *model) |
void | setSlewDegr () |
TimeType | setWorstArr (oaDesign *design) |
| Set the worst arrival time of this design.
|
|
DelayType | getFullSlack (oaOccObject *oPtr) |
DelayType | getSlack (oaOccObject *oPtr) |
TimeType | getArr (oaOccObject *oPtr) |
TimeType | getReq (oaOccObject *oPtr) |
TimeType | getFallArr (oaOccObject *oPtr) |
TimeType | getRiseArr (oaOccObject *oPtr) |
TimeType | getFallReq (oaOccObject *oPtr) |
TimeType | getRiseReq (oaOccObject *oPtr) |
DelayType | getSlew (oaOccObject *oPtr) |
DelayType | getFallSlew (oaOccObject *oPtr) |
DelayType | getRiseSlew (oaOccObject *oPtr) |
|
DelayType | getNetSlack (const oaOccNet *net) |
|
void | findWorstPath (nodesSlopeDir &path) |
void | fromPath (nodesSlopeDir &path, oaOccObject *block) |
void | toPath (nodesSlopeDir &path, oaOccObject *block) |
void | throughPath (nodesSlopeDir &path, oaOccObject *block) |
Static Public Member Functions |
void | invalidateFanout (oaOccNet *net) |
void | invalidateFanin (oaOccNet *net) |
oaOccObject * | findOccObj (oaOccurrence *occ, std::string name) |
oaOccInstTerm * | getOccFromMod (oaOccInst *inst, oaModTerm *term) |
Public Attributes |
bool | optIncrTimer |
Private Member Functions |
void | fromPath (nodesSlopeDir &path, oaOccObject *block, bool isStartingClock) |
void | toPath (nodesSlopeDir &path, oaOccObject *block, bool isEndingClock) |
void | compareSlack (oaOccObject *block, bool currentRise, TPoint *tp, bool &isRise, DelayType &worstSlack, oaOccObject *&blockWithWorstSlack) |
|
Incrementally update the arrival time, required arrival time; do fan in and fan out cones propagation
|
void | updateArr (oaOccObject *block) |
void | updateClockArr (oaOccObject *block) |
oaOccNet * | getOccNet (oaOccObject *block) |
void | updateNetPathReq (TPoint *p, TPoint *tp) |
void | initReq (oaOccObject *block) |
void | initPOReq (oaOccObject *block) |
void | initPIArr (oaOccObject *block) |
void | initClockPIArr (oaOccObject *block) |
void | updateNetLoadDelay (oaOccObject *block) |
void | updateNetArr (oaOccObject *block) |
void | updateClockNetArr (oaOccObject *block) |
void | updateCellArr (oaOccObject *block) |
void | updateClockCellArr (oaOccObject *block) |
void | updateNetReq (oaOccObject *block) |
void | updateCellReq (oaOccObject *block) |
void | takeWorstSlew (oaOccObject *block) |
int | getClockIndex (oaOccObject *block) |
void | setMultiCyclePaths (oaOccObject *block) |
bool | timingDataCompare (std::vector< timingData * > &v1, std::vector< timingData * > &v2) |
void | timingDataCopy (std::vector< timingData * > &v1, std::vector< timingData * > &v2) |
void | slewDataCopy (TPoint *p) |
void | insertTimingData (std::vector< timingData * > &timingDataVector, timingData *d) |
int | findTimingData (TPoint *p, int clockIndex) |
void | updateNetPathArr (TPoint *p, TPoint *tp) |
void | updateClockNetPathArr (TPoint *p, TPoint *tp) |
void | setMultiCycleConstraint (oaOccObject *block) |
DelayType | greatestCommonDivider (DelayType d1, DelayType d2) |
std::string | getBlockName (oaOccObject *block) |
void | setSlewTimingValidOpt (TPoint *p) |
void | clearVector (std::vector< timingData * > &v) |
void | initVector (std::vector< timingData * > &v) |
void | updateCellPathReq (TPointMaster::pathVector::iterator i, TPoint *p, oaOccInstTerm *other) |
void | updateCellPathArr (TPointMaster *tm, TPoint *p, TPointMaster::pathVector::iterator i, TPoint *tp) |
bool | updateClockCellPathArr (TPointMaster *tm, TPoint *p, TPointMaster::pathVector::iterator i, TPoint *tp) |
void | updateReq (oaOccObject *block) |
void | updateAllArr () |
void | updateAllReq () |
Static Private Member Functions |
void | invalidateAllFanin (oaOccInst *inst) |
Private Attributes |
std::set< oaOccObject * > | clockPins |
TermObserver * | _termCB |
InstTermObserver * | _instTermCB |
oaScalarName | stdLib |
WireModel * | _wireModel |
ElmoreWireModel * | _elmoreWireModel |
bool | elmoreAnalysis |
std::set< oaDesign * > | _watchedDesigns |
bool | slewDegr |
TimeType | worstArr |
oaDesign * | dsgn |
Friends |
class | CellData |
class | DesignTool |
class | Opt |
class | TPoint |
class | Report |
class | TimerUnitTest |
class | Sensitivity |
class | DuetSensitivity |
class | Util |
class | TimerUtil |
class | KickMove |
class | SubTimer |
class | PowerSenseOpt |
Detailed Description
The Timer class has all APIs for the user to use this timer package.
The Timer class provides the standardized APIs for the user to use this timer package, including .lib .sdc files parsers, create and destroy the timing points, full and incremental timing analyisis functions.
Constructor & Destructor Documentation
oagTimer::Timer::Timer |
( |
|
) |
|
|
oagTimer::Timer::~Timer |
( |
|
) |
|
|
Here is the call graph for this function:
Member Function Documentation
void oagTimer::Timer::add |
( |
oaDesign * |
design |
) |
|
|
|
Adds a design to the Timer. Designs must be registered to the Timer using this function before any timing operations can be done.
- Parameters:
-
|
Here is the call graph for this function:
void oagTimer::Timer::checkRatFlags |
( |
|
) |
|
|
Here is the call graph for this function:
void oagTimer::Timer::clearDesignTimingData |
( |
|
) |
|
|
Here is the call graph for this function:
void oagTimer::Timer::clearVector |
( |
std::vector< timingData * > & |
v |
) |
[private] |
|
|
Clears a timing data vector. - Parameters:
-
|
Here is the call graph for this function:
void oagTimer::Timer::compareSlack |
( |
oaOccObject * |
block, |
|
|
bool |
currentRise, |
|
|
TPoint * |
tp, |
|
|
bool & |
isRise, |
|
|
DelayType & |
worstSlack, |
|
|
oaOccObject *& |
blockWithWorstSlack |
|
) |
[private] |
|
|
This function compares the worst slack with the slack of the current oaTerm or oaInstTerm. If the current slack is worse, update. - Parameters:
-
| block | the current oaTerm or oaInstTerm |
| currentRise | it's the rising or the falling slack |
| tp | the timing point of the current oaTerm or oaInstTerm |
| isRise | the worst slack is risign or falling |
| worstSlack | the worst slack |
| blockWithWorstSlack | the oaTerm or oaInstTerm with the worst slack |
|
Here is the call graph for this function:
void oagTimer::Timer::debug_TimingFlag |
( |
oaDesign * |
design |
) |
|
|
oaOccObject * oagTimer::Timer::findOccObj |
( |
oaOccurrence * |
occ, |
|
|
std::string |
name |
|
) |
[static] |
|
|
Finds the oaOccObject by it's name. FIXME should move this out of Timer class - Parameters:
-
| block | pointer to the oaOccObject |
| the | name of the oaOccObject |
|
int oagTimer::Timer::findTimingData |
( |
TPoint * |
p, |
|
|
int |
clockIndex |
|
) |
[private] |
|
|
Return the index to the timing data (by it's clock index) in the timing data vector of an TPoint. - Parameters:
-
| p | pointer to the TPoint |
| clockIndex | the index of the clock |
|
|
This function finds the worst path of the current cell view. - Parameters:
-
| path | the worst path of the current design |
|
Here is the call graph for this function:
void oagTimer::Timer::fromPath |
( |
nodesSlopeDir & |
path, |
|
|
oaOccObject * |
block, |
|
|
bool |
isStartingClock |
|
) |
[private] |
|
|
This function finds the worst path from the current oaTerm or oaInstTerm, and stores it into the vector path. - Parameters:
-
| path | the worst path of the current design |
| block | the current oaTerm or oaInstTerm |
| isStartingClock | whether it's the starting clock pin or not |
|
Here is the call graph for this function:
void oagTimer::Timer::fromPath |
( |
nodesSlopeDir & |
path, |
|
|
oaOccObject * |
block |
|
) |
|
|
|
This function finds the worst path from an oaTerm or an oaInstTerm. - Parameters:
-
| path | the worst path from the oaTerm or oaInstTerm |
| block | the starting oaTerm or oaInstTerm |
|
Here is the call graph for this function:
TimeType oagTimer::Timer::getArr |
( |
oaOccObject * |
oPtr |
) |
|
|
|
Returns the arrival time of an OccTerm/OccInstTerm. This function uses incremental timing analysis to update the value if it is not valid.
- Parameters:
-
| oPtr | OccTerm/OccInstTerm to query. |
- Returns:
- Arrival time for the queried object.
|
Here is the call graph for this function:
std::string oagTimer::Timer::getBlockName |
( |
oaOccObject * |
oPtr |
) |
[private] |
|
|
returns the name of block object FIXME should move out of the timer class - Parameters:
-
| block | either an oaTerm or an oaInstTerm |
|
int oagTimer::Timer::getClockIndex |
( |
oaOccObject * |
block |
) |
[private] |
|
|
returns the clock index of a block object. - Parameters:
-
| block | the pointer to the block object |
|
TimeType oagTimer::Timer::getFallArr |
( |
oaOccObject * |
oPtr |
) |
|
|
|
Returns the fall arrival time of an OccTerm/OccInstTerm. This function uses incremental timing analysis to update the value if it is not valid.
- Parameters:
-
| oPtr | OccTerm/OccInstTerm to query. |
- Returns:
- Fall arrival time for the queried object.
|
Here is the call graph for this function:
TimeType oagTimer::Timer::getFallReq |
( |
oaOccObject * |
oPtr |
) |
|
|
|
Returns the fall required arrival time of a OccTerm/OccInstTerm. This function updates the value if it is not valid.
- Parameters:
-
| oPtr | OccTerm/OccInstTerm to query. |
- Returns:
- Fall required arrival time for the queried object.
|
Here is the call graph for this function:
DelayType oagTimer::Timer::getFallSlew |
( |
oaOccObject * |
oPtr |
) |
|
|
|
Returns the fall transition time of an OccTerm/OccInstTerm. This function does not perform timing analysis to update the value if it is not valid.
- Parameters:
-
| oPtr | OccTerm/OccInstTerm to query. |
- Returns:
- Fall transition time for the queried object.
|
Here is the call graph for this function:
DelayType oagTimer::Timer::getFullSlack |
( |
oaOccObject * |
oPtr |
) |
|
|
|
Returns the slack of an OccTerm/OccInstTerm. This function run full timing analysis to update the value if it is not valid.
- Parameters:
-
| oPtr | OccTerm/OccInstTerm to query. |
- Returns:
- Slack for the queried object.
|
Here is the call graph for this function:
DelayType oagTimer::Timer::getNetSlack |
( |
const oaOccNet * |
net |
) |
|
|
|
This function returns the slack of a certain net. This function should be used in incremental timing analysis, the function first checks if the current data is valid, if yes, returns the value, if not, it updates the timing information and then returns the value. - Parameters:
-
| net | the net we want to know its slack value |
|
Here is the call graph for this function:
oaOccInstTerm * oagTimer::Timer::getOccFromMod |
( |
oaOccInst * |
inst, |
|
|
oaModTerm * |
term |
|
) |
[static] |
|
oaOccNet * oagTimer::Timer::getOccNet |
( |
oaOccObject * |
block |
) |
[private] |
|
|
Returns the net of a block object FIXME should move out of Timer class??? - Parameters:
-
| block | the pointer to the block object |
|
Here is the call graph for this function:
double oagTimer::Timer::getPeriod |
( |
|
) |
|
|
|
Get the period define in the timing constraint file (sdc) |
TimeType oagTimer::Timer::getReq |
( |
oaOccObject * |
oPtr |
) |
|
|
|
Returns the required arrival time of an OccTerm/OccInstTerm. This function uses incremental timing analysis to update the value if it is not valid.
- Parameters:
-
| oPtr | OccTerm/OccInstTerm to query. |
- Returns:
- Rquired arrival time for the queried object.
|
Here is the call graph for this function:
TimeType oagTimer::Timer::getRiseArr |
( |
oaOccObject * |
oPtr |
) |
|
|
|
Returns the rise arrival time of an OccTerm/OccInstTerm. This function uses incremental timing analysis to update the value if it is not valid.
- Parameters:
-
| oPtr | OccTerm/OccInstTerm to query. |
- Returns:
- Rise arrival time for the queried object.
|
Here is the call graph for this function:
TimeType oagTimer::Timer::getRiseReq |
( |
oaOccObject * |
oPtr |
) |
|
|
|
Returns the rise required arrival time of a OccTerm/OccInstTerm. This function updates the value if it is not valid.
- Parameters:
-
| oPtr | OccTerm/OccInstTerm to query. |
- Returns:
- Rise required arrival time for the queried object.
|
Here is the call graph for this function:
DelayType oagTimer::Timer::getRiseSlew |
( |
oaOccObject * |
oPtr |
) |
|
|
|
Returns the rise transition time of an OccTerm/OccInstTerm. This function does not perform timing analysis to update the value if it is not valid.
- Parameters:
-
| oPtr | OccTerm/OccInstTerm to query. |
- Returns:
- Rise transition time for the queried object.
|
Here is the call graph for this function:
double oagTimer::Timer::getSetupTime |
( |
oaOccInstTerm * |
iTerm |
) |
|
|
DelayType oagTimer::Timer::getSlack |
( |
oaOccObject * |
oPtr |
) |
|
|
|
Returns the slack of an OccTerm/OccInstTerm. This function uses incremental timing analysis to update the value if it is not valid.
- Parameters:
-
| oPtr | OccTerm/OccInstTerm to query. |
- Returns:
- Slack for the queried object.
|
Here is the call graph for this function:
DelayType oagTimer::Timer::getSlew |
( |
oaOccObject * |
oPtr |
) |
|
|
|
Returns the transition time of an OccInstTerm. This function does not perform timing analysis to update the value if it is not valid.
- Parameters:
-
| oPtr | OccInstTerm to query. |
- Returns:
- tranistion time for the queried object.
|
Here is the call graph for this function:
|
This function returns the worst arrival value. This function should be used in incremental timing analysis, the function first checks if the current data is valid, if yes, returns the value, if not, it updates the timing information and then returns the value. |
Here is the call graph for this function:
|
This function returns the worst slack value. This function should be used in incremental timing analysis, the function first checks if the current data is valid, if yes, returns the value, if not, it updates the timing information and then returns the value. |
Here is the call graph for this function:
|
Returns the greatest common divider of two numbers FIXME should move out of Timer class - Parameters:
-
| d1 | first number |
| d2 | second number |
|
void oagTimer::Timer::initClockPIArr |
( |
oaOccObject * |
block |
) |
[private] |
|
|
This function initializes arrival times for a primary input (in the fanin cone of a clock pin). - Parameters:
-
| block | the pointer to the block object |
|
Here is the call graph for this function:
void oagTimer::Timer::initPIArr |
( |
oaOccObject * |
block |
) |
[private] |
|
|
This function initializes arrival times for a block object which is a primary inputs or a clock pin. It also considers possible external delay and driver. - Parameters:
-
| block | the pointer to the block object |
|
Here is the call graph for this function:
void oagTimer::Timer::initPOReq |
( |
oaOccObject * |
block |
) |
[private] |
|
|
Initializes the required times of a block object based on the clock periods and also considers the external delays. - Parameters:
-
| block | the pointer to the block object |
|
Here is the call graph for this function:
void oagTimer::Timer::initReq |
( |
oaOccObject * |
block |
) |
[private] |
|
|
Initializes the required times of a block object. - Parameters:
-
| block | the pointer to the block object |
|
Here is the call graph for this function:
void oagTimer::Timer::initVector |
( |
std::vector< timingData * > & |
v |
) |
[private] |
|
|
Initializes a timing data vector for update arrival time. - Parameters:
-
|
void oagTimer::Timer::insertTimingData |
( |
std::vector< timingData * > & |
timingDataVector, |
|
|
timingData * |
d |
|
) |
[private] |
|
|
Insert a timing data in timing data vector. Insertion is done so the timing data vector is sorted in increasing order of the clock index of the timing data. - Parameters:
-
| timingDataVector | the timing data vector |
| d | the pointer to the timing data |
|
void oagTimer::Timer::invalidateAllFanin |
( |
oaOccInst * |
inst |
) |
[static, private] |
|
|
This function marks all the points in the fanin cone to be required time invalid for each input term. - Parameters:
-
| inst | the instance to start propagation for each of it input |
|
Here is the call graph for this function:
void oagTimer::Timer::invalidateFanin |
( |
oaOccNet * |
net |
) |
[static] |
|
|
This function marks all the points in the fanin cone to be required time invalid. - Parameters:
-
| net | the net to start propagation |
|
Here is the call graph for this function:
void oagTimer::Timer::invalidateFanout |
( |
oaOccNet * |
net |
) |
[static] |
|
|
This function marks all the points in the fanout cone to be arrival time invalid. - Parameters:
-
| net | the net to start propagation |
|
Here is the call graph for this function:
bool oagTimer::Timer::isValidTiming |
( |
|
) |
|
|
Here is the call graph for this function:
void oagTimer::Timer::printAll |
( |
|
) |
|
|
Here is the call graph for this function:
void oagTimer::Timer::printAllPO |
( |
|
) |
|
|
Here is the call graph for this function:
void oagTimer::Timer::printCell |
( |
oaOccInst * |
i |
) |
|
|
Here is the call graph for this function:
void oagTimer::Timer::printDetailTiming |
( |
|
) |
|
|
Here is the call graph for this function:
void oagTimer::Timer::readConstraints |
( |
const char * |
filename, |
|
|
oaDesign * |
design |
|
) |
|
|
|
Read an SDC file and annotate the given design with the timing constraints from that file.
- Parameters:
-
| filename | The SDC contraint filename. |
| design | The design to annotate. |
|
Here is the call graph for this function:
void oagTimer::Timer::readLibrary |
( |
const char * |
filename, |
|
|
const char * |
libertyLibname = 0 , |
|
|
const char * |
libertyViewname = 0 |
|
) |
|
|
|
Read in the timing library file.
- Parameters:
-
| filename | The timing library filename. |
| libertyLibname | The name of the lib containing the standard library cells to annotate with the timing data from the specified timing library file. If NULL, use the name specified withinn the library file itself. |
| libertyViewname | The name for the view to be annotated with the timing data. If NULL, use the default viewname "abstract". |
|
Here is the call graph for this function:
void oagTimer::Timer::remove |
( |
oaDesign * |
design |
) |
|
|
|
Removes a design from the Timer. Designs must be unregistered from the Timer using this function before they are purged.
- Parameters:
-
|
void oagTimer::Timer::setMultiCycleConstraint |
( |
oaOccObject * |
block |
) |
[private] |
|
|
Sets a block object as a multi-cycle constraint point if it is in the list of multi-cycle constraints parsed from the sdc file. - Parameters:
-
| block | pointer to the oaOccObject |
|
Here is the call graph for this function:
void oagTimer::Timer::setMultiCyclePaths |
( |
oaOccObject * |
block |
) |
[private] |
|
|
updating the timing data of a block object that is a multi-cycle constraint. - Parameters:
-
| block | the pointer to the block object |
|
Here is the call graph for this function:
void oagTimer::Timer::setSlewDegr |
( |
|
) |
[inline] |
|
|
Set Slew degradation computation to on |
void oagTimer::Timer::setSlewTimingValidOpt |
( |
TPoint * |
p |
) |
[private] |
|
|
Compare old and new slews for the fanout cone if slew differ by less than certain percentage, then a flag is set at the output cone to enabled to speedup incremental timing propagation - Parameters:
-
|
|
Set Elmore Wire Model
- Parameters:
-
| model | The Elmore wire model to use |
|
void oagTimer::Timer::setWireModel |
( |
WireModel * |
model |
) |
[inline] |
|
|
Set the wire model.
- Parameters:
-
|
TimeType oagTimer::Timer::setWorstArr |
( |
oaDesign * |
design |
) |
|
|
|
Set the worst arrival time of this design.
|
Here is the call graph for this function:
void oagTimer::Timer::slewDataCopy |
( |
TPoint * |
p |
) |
[private] |
|
|
Copies the slews of a timing data vector to another one. - Parameters:
-
| v1 | first timing data vector |
| v2 | second timing data vector |
|
void oagTimer::Timer::takeWorstSlew |
( |
oaOccObject * |
block |
) |
[private] |
|
|
Assigning the worst slew of all rows of the multiClockData vector to all rows of the vector. - Parameters:
-
| block | the pointer to the block object |
|
Here is the call graph for this function:
void oagTimer::Timer::throughPath |
( |
nodesSlopeDir & |
path, |
|
|
oaOccObject * |
block |
|
) |
|
|
|
This function finds the critical path through an oaTerm or an oaInstTerm. - Parameters:
-
| path | the worst path through that oaTerm or oaInstTerm |
| block | the oaTerm or oaInstTerm |
|
Here is the call graph for this function:
bool oagTimer::Timer::timingDataCompare |
( |
std::vector< timingData * > & |
v1, |
|
|
std::vector< timingData * > & |
v2 |
|
) |
[private] |
|
|
Compares the slews of two timing data vectors. Returns false if they match. - Parameters:
-
| first | timing data vector |
| second | timing data vector |
|
void oagTimer::Timer::timingDataCopy |
( |
std::vector< timingData * > & |
v1, |
|
|
std::vector< timingData * > & |
v2 |
|
) |
[private] |
|
|
Copies the slews of a timing data vector to another one. - Parameters:
-
| v1 | first timing data vector |
| v2 | second timing data vector |
|
Here is the call graph for this function:
void oagTimer::Timer::toPath |
( |
nodesSlopeDir & |
path, |
|
|
oaOccObject * |
block, |
|
|
bool |
isEndingClock |
|
) |
[private] |
|
|
This function finds the worst path to the current oaTerm or oaInstTerm, and stores it into the vector path. - Parameters:
-
| path | the worst path to the oaTerm or oaInstTerm |
| block | the current oaTerm or oaInstTerm |
| isEndingClock | whether it's the ending clock pin or not |
|
Here is the call graph for this function:
void oagTimer::Timer::toPath |
( |
nodesSlopeDir & |
path, |
|
|
oaOccObject * |
block |
|
) |
|
|
|
This function finds the critical path to an oaTerm or an oaInstTerm. - Parameters:
-
| path | the worst path to the oaTerm or oaInstTerm |
| block | the ending oaTerm or oaInstTerm |
|
Here is the call graph for this function:
void oagTimer::Timer::updateAll |
( |
|
) |
[inline] |
|
void oagTimer::Timer::updateAllArr |
( |
|
) |
[private] |
|
|
This function updates all arrival time in the current cell view. |
Here is the call graph for this function:
void oagTimer::Timer::updateAllReq |
( |
|
) |
[private] |
|
|
This function updates all required arrival time in the current cell view. |
Here is the call graph for this function:
void oagTimer::Timer::updateArr |
( |
oaOccObject * |
block |
) |
[private] |
|
|
This function updates the arrival time for a block object recursively. This function should be used in incremental timing analysis, the function first checks if the current data is valid, if not, it updates the timing information by recursively compute the timing information. - Parameters:
-
| block | the pointer to the block object |
|
Here is the call graph for this function:
void oagTimer::Timer::updateCellArr |
( |
oaOccObject * |
block |
) |
[private] |
|
|
This function updates the arrival time for a block object which is an instTerm which is the output or clock port of a cell based on arrival times of other instTerms which are inputs or clock ports of the cell. - Parameters:
-
| block | the pointer to the block object |
|
Here is the call graph for this function:
void oagTimer::Timer::updateCellPathArr |
( |
TPointMaster * |
tm, |
|
|
TPoint * |
p, |
|
|
TPointMaster::pathVector::iterator |
i, |
|
|
TPoint * |
tp |
|
) |
[private] |
|
Here is the call graph for this function:
void oagTimer::Timer::updateCellPathReq |
( |
TPointMaster::pathVector::iterator |
i, |
|
|
TPoint * |
p, |
|
|
oaOccInstTerm * |
other |
|
) |
[private] |
|
|
This function updates the required time for an instTerm which is the input of a path based on required times of the other instTerm which is the output of the path. - Parameters:
-
| i | path iterator |
| p | pointer to the TPoint of the input of the path |
| other | pointer to the other instTerm |
|
Here is the call graph for this function:
void oagTimer::Timer::updateCellReq |
( |
oaOccObject * |
block |
) |
[private] |
|
|
This function updates the required time for a block object which is an instTerm which is the input or clock port of a cell based on required times of other instTerms which are outputs or clock ports of the cell. - Parameters:
-
| block | the pointer to the block object |
|
Here is the call graph for this function:
void oagTimer::Timer::updateClockArr |
( |
oaOccObject * |
block |
) |
[private] |
|
Here is the call graph for this function:
void oagTimer::Timer::updateClockCellArr |
( |
oaOccObject * |
block |
) |
[private] |
|
|
This function updates the arrival time for an instTerm which is the output or clock port of a cell (in the fanin cone of a clock pin) based on arrival times of other instTerms which are inputs or clock ports of the cell. - Parameters:
-
| block | the pointer to the block object |
|
Here is the call graph for this function:
bool oagTimer::Timer::updateClockCellPathArr |
( |
TPointMaster * |
tm, |
|
|
TPoint * |
p, |
|
|
TPointMaster::pathVector::iterator |
i, |
|
|
TPoint * |
tp |
|
) |
[private] |
|
Here is the call graph for this function:
void oagTimer::Timer::updateClockNetArr |
( |
oaOccObject * |
block |
) |
[private] |
|
|
This function updates the arrival time for a primary output or an instTerm which is the input of a cell (in the fanin cone of a clock pin) based on arrival times of other instTerms or Terms on its net - Parameters:
-
| block | the pointer to the block object |
|
Here is the call graph for this function:
void oagTimer::Timer::updateClockNetPathArr |
( |
TPoint * |
p, |
|
|
TPoint * |
tp |
|
) |
[private] |
|
Here is the call graph for this function:
void oagTimer::Timer::updateNetArr |
( |
oaOccObject * |
block |
) |
[private] |
|
|
This function updates the arrival time for a block object which is a primary output or an instTerm which is the input of a cell based on arrival times of other instTerms or Terms on its net. - Parameters:
-
| block | the pointer to the block object |
|
Here is the call graph for this function:
void oagTimer::Timer::updateNetLoadDelay |
( |
oaOccObject * |
block |
) |
[private] |
|
Here is the call graph for this function:
void oagTimer::Timer::updateNetPathArr |
( |
TPoint * |
p, |
|
|
TPoint * |
tp |
|
) |
[private] |
|
Here is the call graph for this function:
void oagTimer::Timer::updateNetPathReq |
( |
TPoint * |
p, |
|
|
TPoint * |
tp |
|
) |
[private] |
|
|
Updating the required time of the driver node of a net based on the required time of another node on the net. - Parameters:
-
| p | pointer to the timer point of the driver of the net |
| tp | pointer to the timer point of the other node |
|
Here is the call graph for this function:
void oagTimer::Timer::updateNetReq |
( |
oaOccObject * |
block |
) |
[private] |
|
|
This function updates the required time for a block object which is a primary input or an instTerm which is the output of a cell based on required times of other instTerms or Terms on its net. - Parameters:
-
| block | the pointer to the block object |
|
Here is the call graph for this function:
void oagTimer::Timer::updateReq |
( |
oaOccObject * |
block |
) |
[private] |
|
|
This function updates the required arrival time recursively. This function should be used in incremental timing analysis, the function first checks if the current data is valid, if not, it updates the timing information by recursively compute the timing information. - Parameters:
-
| block | either an oaTerm or an oaInstTerm |
|
Here is the call graph for this function:
Friends And Related Function Documentation
friend class KickMove [friend] |
|
friend class Opt [friend] |
|
friend class Util [friend] |
|
Member Data Documentation
|
an callback pointer for oaInstTerm |
|
an callback pointer for oaTerm |
|
the standard cell library name |
The documentation for this class was generated from the following files:
Generated on Thu Aug 25 14:26:10 2011 by
1.3.9.1