summaryrefslogtreecommitdiffstats
path: root/src/map/scl/sclMan.h
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2012-09-12 14:39:50 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2012-09-12 14:39:50 -0700
commit9b15f71f2f82dfe5a222fceed135640be8cc5dfb (patch)
tree4709f96ea03198a1f65bb9e2105d5b7545712411 /src/map/scl/sclMan.h
parente3d75484ce558d862f7dfc80de9e88b56360b084 (diff)
downloadabc-9b15f71f2f82dfe5a222fceed135640be8cc5dfb.tar.gz
abc-9b15f71f2f82dfe5a222fceed135640be8cc5dfb.tar.bz2
abc-9b15f71f2f82dfe5a222fceed135640be8cc5dfb.zip
Added new command 'upsize'.
Diffstat (limited to 'src/map/scl/sclMan.h')
-rw-r--r--src/map/scl/sclMan.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/map/scl/sclMan.h b/src/map/scl/sclMan.h
index 228ff8c9..1c6382ba 100644
--- a/src/map/scl/sclMan.h
+++ b/src/map/scl/sclMan.h
@@ -131,6 +131,11 @@ static inline void Abc_SclManFree( SC_Man * p )
ABC_FREE( p->pSlews2 );
ABC_FREE( p );
}
+static inline void Abc_SclManCleanTime( SC_Man * p )
+{
+ memset( p->pTimes, 0, sizeof(SC_Pair) * p->nObjs );
+ memset( p->pSlews, 0, sizeof(SC_Pair) * p->nObjs );
+}
/**Function*************************************************************
@@ -206,6 +211,26 @@ static inline float Abc_SclGetMaxDelayNode( SC_Man * p, Abc_Obj_t * pNode )
return fMaxArr;
}
+/**Function*************************************************************
+
+ Synopsis []
+
+ Description []
+
+ SideEffects []
+
+ SeeAlso []
+
+***********************************************************************/
+static inline SC_Cell * Abc_SclObjResiable( SC_Man * p, Abc_Obj_t * pObj, int fUpsize )
+{
+ SC_Cell * pOld = Abc_SclObjCell( p, pObj );
+ if ( fUpsize )
+ return pOld->pNext->Order > pOld->Order ? pOld->pNext : NULL;
+ else
+ return pOld->pPrev->Order < pOld->Order ? pOld->pPrev : NULL;
+}
+
/*=== sclTime.c =============================================================*/
extern Abc_Obj_t * Abc_SclFindCriticalCo( SC_Man * p, int * pfRise );
@@ -213,6 +238,7 @@ extern Abc_Obj_t * Abc_SclFindMostCriticalFanin( SC_Man * p, int * pfRise, Abc_O
extern void Abc_SclTimeNtkPrint( SC_Man * p, int fShowAll );
extern SC_Man * Abc_SclManStart( SC_Lib * pLib, Abc_Ntk_t * pNtk, int fUseWireLoads );
extern void Abc_SclTimeCone( SC_Man * p, Vec_Int_t * vCone );
+extern void Abc_SclTimeNtkRecompute( SC_Man * p, float * pArea, float * pDelay );
/*=== sclTime.c =============================================================*/
extern void Abc_SclComputeLoad( SC_Man * p );
extern void Abc_SclUpdateLoad( SC_Man * p, Abc_Obj_t * pObj, SC_Cell * pOld, SC_Cell * pNew );