diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2013-08-05 10:45:06 -0700 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2013-08-05 10:45:06 -0700 |
commit | 1558fe6110554c7c732070ef3d6581c963d4ecb3 (patch) | |
tree | ca74ae0d02724f41b99a425ab3b9b536d8902989 /src/map/scl/sclSize.h | |
parent | 9d19598162d0ff91f408eb08cae145a97dcb746c (diff) | |
download | abc-1558fe6110554c7c732070ef3d6581c963d4ecb3.tar.gz abc-1558fe6110554c7c732070ef3d6581c963d4ecb3.tar.bz2 abc-1558fe6110554c7c732070ef3d6581c963d4ecb3.zip |
Adding code to estimate buffer trees.
Diffstat (limited to 'src/map/scl/sclSize.h')
-rw-r--r-- | src/map/scl/sclSize.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/map/scl/sclSize.h b/src/map/scl/sclSize.h index ed210b29..81d85143 100644 --- a/src/map/scl/sclSize.h +++ b/src/map/scl/sclSize.h @@ -63,6 +63,11 @@ struct SC_Man_ Vec_Flt_t * vTimesOut; // output arrival times Vec_Que_t * vQue; // outputs by their time SC_WireLoad * pWLoadUsed; // name of the used WireLoad model + // buffer trees + float EstLoadMax; // max ratio of Cout/Cin when this kicks in + float EstLoadAve; // average load of the gate + float EstLinear; // linear coefficient + int nEstNodes; // the number of estimations // intermediate data Vec_Que_t * vNodeByGain; // nodes by gain Vec_Flt_t * vNode2Gain; // mapping node into its gain @@ -401,10 +406,10 @@ extern void Abc_SclUpdateLoad( SC_Man * p, Abc_Obj_t * pObj, SC_Cell * extern Abc_Obj_t * Abc_SclFindCriticalCo( SC_Man * p, int * pfRise ); extern Abc_Obj_t * Abc_SclFindMostCriticalFanin( SC_Man * p, int * pfRise, Abc_Obj_t * pNode ); extern void Abc_SclTimeNtkPrint( SC_Man * p, int fShowAll, int fPrintPath ); -extern SC_Man * Abc_SclManStart( SC_Lib * pLib, Abc_Ntk_t * pNtk, int fUseWireLoads, int fDept, float DUser ); +extern SC_Man * Abc_SclManStart( SC_Lib * pLib, Abc_Ntk_t * pNtk, int fUseWireLoads, int fDept, float DUser, int nTreeCRatio ); extern void Abc_SclTimeCone( SC_Man * p, Vec_Int_t * vCone ); extern void Abc_SclTimeNtkRecompute( SC_Man * p, float * pArea, float * pDelay, int fReverse, float DUser ); -extern void Abc_SclTimePerform( SC_Lib * pLib, Abc_Ntk_t * pNtk, int fUseWireLoads, int fShowAll, int fPrintPath, int fDumpStats ); +extern void Abc_SclTimePerform( SC_Lib * pLib, Abc_Ntk_t * pNtk, int nTreeCRatio, int fUseWireLoads, int fShowAll, int fPrintPath, int fDumpStats ); extern void Abc_SclPrintBuffers( SC_Lib * pLib, Abc_Ntk_t * pNtk, int fVerbose ); extern int Abc_SclInputDriveOk( SC_Man * p, Abc_Obj_t * pObj, SC_Cell * pCell ); /*=== sclUpsize.c ===============================================================*/ |