oagTimer::CellData Class Reference
#include <oagTimerCellData.h>
Collaboration diagram for oagTimer::CellData:
[legend]List of all members.
Constructor & Destructor Documentation
oagTimer::CellData::CellData |
( |
|
) |
[inline] |
|
oagTimer::CellData::~CellData |
( |
|
) |
[inline] |
|
Member Function Documentation
void oagTimer::CellData::addOtherSizes |
( |
|
) |
[private] |
|
|
Add other available drive strength lib cell for this CellMaster cell type |
void oagTimer::CellData::clearSizingSignals |
( |
|
) |
[inline] |
|
|
Clear signals for sizing operations, do not remove list of cell sizes being initialize |
void oagTimer::CellData::commitSwap |
( |
oaModInst * |
new_inst |
) |
|
|
Here is the call graph for this function:
void oagTimer::CellData::commitSwap |
( |
|
) |
|
|
|
Commit the swap made earlier and update this cell data and masters |
Here is the call graph for this function:
CellData * oagTimer::CellData::create |
( |
oaOccInst * |
oci |
) |
[static, private] |
|
|
Create a CellData for the given ModInst.
It is a fatal error to try to create a CellData for a Mod which already has a CellData.
- Parameters:
-
| inst | The OccInst for which to create CellData. |
- Returns:
- The new CellData.
|
Here is the call graph for this function:
CellData * oagTimer::CellData::get |
( |
oaModInst * |
inst |
) |
[static, private] |
|
|
Get the CellData for the given ModInst, or 0 if the ModInst has no CellData.
- Parameters:
-
| inst | The ModInst to query. |
- Returns:
- The corresponding CellData.
|
vector< oaString > oagTimer::CellData::getAllSizes |
( |
|
) |
|
|
|
Return vector of all avaialable cell sizes in library |
Here is the call graph for this function:
double oagTimer::CellData::getBackwardWeight |
( |
oaModInstTerm * |
iTerm |
) |
|
|
|
Get the input term backward weight of this instance |
int oagTimer::CellData::getDownSizeCount |
( |
|
) |
|
|
|
Return the count of size smaller than current. |
vector< oaString > oagTimer::CellData::getGreaterThanCurrentSize |
( |
|
) |
|
|
|
Return vector of sizes greater than current size |
vector< oaString > oagTimer::CellData::getLessThanCurrentSize |
( |
|
) |
|
|
|
Return vector of sizes less than current size |
oaString oagTimer::CellData::getMaxSize |
( |
|
) |
|
|
|
Return the maximum drive strength for the current cell type |
Here is the call graph for this function:
oaString oagTimer::CellData::getMinSize |
( |
|
) |
|
|
|
Return the minimum drive strength for the current cell type |
Here is the call graph for this function:
double oagTimer::CellData::getNetWeightSum |
( |
|
) |
|
|
|
Get the input term forward weight SUM of this instance |
oaString oagTimer::CellData::getNextSize |
( |
|
) |
|
|
|
Return the next sizing in the list depending the current signal. |
Here is the call graph for this function:
int oagTimer::CellData::getNumOfSizes |
( |
|
) |
|
|
|
Return the total number of sizes available in the .lib for the current cell (excluding current cell size) |
Here is the call graph for this function:
vector< oaString > oagTimer::CellData::getOtherSizes |
( |
|
) |
|
|
|
Return vector of other sizes |
Here is the call graph for this function:
int oagTimer::CellData::getUpSizeCount |
( |
|
) |
|
|
|
Return the count of size larger than current. |
bool oagTimer::CellData::hasMoreDownSize |
( |
|
) |
|
|
|
Check whether there are more sizes in the lib list |
bool oagTimer::CellData::hasMoreSize |
( |
|
) |
|
|
|
Check whether there are more sizes in the lib list |
bool oagTimer::CellData::hasMoreUpSize |
( |
|
) |
|
|
bool oagTimer::CellData::increasing_strengths |
( |
oaString |
a, |
|
|
oaString |
b |
|
) |
[inline, static, private] |
|
|
Comparison of drive strengths to sort in increasing order. |
void oagTimer::CellData::initAppDefs |
( |
|
) |
[static, private] |
|
|
Initialize the appDefs associated with CellDatas.
|
|
Initialize list of .lib cell sizes for sizing operations. |
Here is the call graph for this function:
bool oagTimer::CellData::isAllInputMark |
( |
|
) |
|
|
|
Check whether all input terms of this instance is all marked |
bool oagTimer::CellData::isDiffThanCurrSize |
( |
|
) |
[private] |
|
|
Check whether the cell size I am trying to swap is it different from what it was |
bool oagTimer::CellData::isFanoutNode |
( |
|
) |
|
|
|
For Peephole OPT, check if current cell is a fanout node |
bool oagTimer::CellData::isMaxSize |
( |
|
) |
|
|
|
Check whether current cell size is currently maximum size |
Here is the call graph for this function:
bool oagTimer::CellData::isMinSize |
( |
|
) |
|
|
|
Check whether current cell size is currently minimum size |
Here is the call graph for this function:
bool oagTimer::CellData::isRootNode |
( |
|
) |
|
|
|
For Peephole OPT, check if current cell is a root node |
void oagTimer::CellData::mark |
( |
oaModInstTerm * |
i |
) |
|
|
|
Mark a 1 to the input instTerm of this cell instace |
void oagTimer::CellData::printTimingData |
( |
oaDesign * |
top, |
|
|
Timer * |
t |
|
) |
|
|
|
DEBUG: print timing information on all the pins of this cell |
Here is the call graph for this function:
void oagTimer::CellData::resetLibListPtr |
( |
|
) |
|
|
|
Reset lib_seek_ptr to the list.end position |
void oagTimer::CellData::reverseSwap |
( |
|
) |
|
|
|
Reverse swap changes made earlier to original cell data contained within this cell |
void oagTimer::CellData::setBackwardWeight |
( |
double |
val |
) |
|
|
|
Assign the input term backward weight of this instance |
void oagTimer::CellData::setFanoutNode |
( |
|
) |
|
|
|
For Peephole OPT, set current cell as a fanout node |
void oagTimer::CellData::setFanoutSensitivity |
( |
double |
sensitivity |
) |
|
|
|
For Peephole OPT, this function set the current highest fanout sensitivity that was rejected with this cell as root double: current sensitivity none |
void oagTimer::CellData::setForwardWeight |
( |
oaModInstTerm * |
iTerm, |
|
|
double |
val, |
|
|
double |
d |
|
) |
|
|
|
Assign the input term forward weight of this instance |
void oagTimer::CellData::setRootNode |
( |
|
) |
|
|
|
For Peephole OPT, set current cell as a root node |
void oagTimer::CellData::swap |
( |
oaString |
cellName |
) |
|
|
|
Change the current lib cell module to another lib cell module and mark current cell data as invalid |
void oagTimer::CellData::unsetNode |
( |
|
) |
[private] |
|
|
Set all root/fanout/mark signal for PH as false |
void oagTimer::CellData::unsetSwapFlag |
( |
|
) |
|
|
void oagTimer::CellData::updateLibSeekPtr |
( |
|
) |
[private] |
|
bool oagTimer::CellData::validFanoutSensitivity |
( |
double |
sensitivity, |
|
|
double |
delta |
|
) |
|
|
|
For Peephole OPT, this function verifies the current highest fanout sensitivity that was rejected with this cell as root
- if current sensitivity is lower than the current highest minus certain percentage delta -> reject it double: current sensitivity double: delta changes (i.e. 1.3) bool
|
Friends And Related Function Documentation
friend class lpSA [friend] |
|
friend class Opt [friend] |
|
friend class Timer [friend] |
|
friend class Util [friend] |
|
Member Data Documentation
|
Optimization sizing signal of this cellmaster. |
|
Vector of other drive strength in relation to current cell type. |
|
Indicate the number of downsizes that this cell possesses |
|
Us in Peephole OPT to store highest fanout sensitivity so far known |
|
Used in lpSA to assign gate index in the circuit |
|
Use as bookmark for topological sort in DesignTool |
|
The design cell module instance for this cell. |
|
The design cell instance name for this cell. |
|
Use in Peephole OPT to indicate a fanout node |
|
Use in Peephole OPT to mark the cell as sized |
|
Used in DP opt to check whether this cell has multi fanin |
|
Use in Peephole OPT to indicate a root node |
|
Current lib_list search pointer for optimizaiton. Used in the peephole optimization. |
|
A temporary pointer pointing to the current cell size taken by Opt Class |
|
The master lib cell for this cell instance. |
|
The design cell occurrence instance for this cell. |
|
Used in getReverseTopological() for not double counting gates in recovergence from FF |
|
Indicate the number of upsizes that this cell possesses |
|
This flag indicate if the current cell data is valid |
The documentation for this class was generated from the following files:
Generated on Thu Aug 25 14:24:48 2011 by
1.3.9.1