summaryrefslogtreecommitdiffstats
path: root/src/base/abci
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2013-03-05 13:13:15 -0800
committerAlan Mishchenko <alanmi@berkeley.edu>2013-03-05 13:13:15 -0800
commit4ff5203f4c8b341eb717b742bf1af51f64f31ccd (patch)
treed3e814bd980de2c87db542d7e0929fded9db25b8 /src/base/abci
parent0c9337f6276f8a56960f697b7361c978e3e50a41 (diff)
downloadabc-4ff5203f4c8b341eb717b742bf1af51f64f31ccd.tar.gz
abc-4ff5203f4c8b341eb717b742bf1af51f64f31ccd.tar.bz2
abc-4ff5203f4c8b341eb717b742bf1af51f64f31ccd.zip
Improvements to the hierarchy/timing manager.
Diffstat (limited to 'src/base/abci')
-rw-r--r--src/base/abci/abcIf.c2
-rw-r--r--src/base/abci/abcTiming.c25
2 files changed, 14 insertions, 13 deletions
diff --git a/src/base/abci/abcIf.c b/src/base/abci/abcIf.c
index 315507c2..926f3e74 100644
--- a/src/base/abci/abcIf.c
+++ b/src/base/abci/abcIf.c
@@ -123,7 +123,7 @@ Abc_Ntk_t * Abc_NtkIf( Abc_Ntk_t * pNtk, If_Par_t * pPars )
// get timing information
pPars->pTimesArr = Abc_NtkGetCiArrivalFloats(pNtk);
- pPars->pTimesReq = NULL;
+ pPars->pTimesReq = Abc_NtkGetCoRequiredFloats(pNtk);
// set the latch paths
if ( pPars->fLatchPaths && pPars->pTimesArr )
diff --git a/src/base/abci/abcTiming.c b/src/base/abci/abcTiming.c
index 87c0e2b3..ce05e83e 100644
--- a/src/base/abci/abcTiming.c
+++ b/src/base/abci/abcTiming.c
@@ -557,18 +557,6 @@ Abc_Time_t * Abc_NtkGetCiArrivalTimes( Abc_Ntk_t * pNtk )
p[i] = *Abc_NodeArrival(pNode);
return p;
}
-
-/**Function*************************************************************
-
- Synopsis [Sets the CI node levels according to the arrival info.]
-
- Description []
-
- SideEffects []
-
- SeeAlso []
-
-***********************************************************************/
Abc_Time_t * Abc_NtkGetCoRequiredTimes( Abc_Ntk_t * pNtk )
{
Abc_Time_t * p;
@@ -608,6 +596,19 @@ float * Abc_NtkGetCiArrivalFloats( Abc_Ntk_t * pNtk )
p[i] = Abc_NodeArrival(pNode)->Worst;
return p;
}
+float * Abc_NtkGetCoRequiredFloats( Abc_Ntk_t * pNtk )
+{
+ float * p;
+ Abc_Obj_t * pNode;
+ int i;
+ if ( pNtk->pManTime == NULL )
+ return NULL;
+ // set the PO required times
+ p = ABC_CALLOC( float, Abc_NtkCoNum(pNtk) );
+ Abc_NtkForEachPo( pNtk, pNode, i )
+ p[i] = Abc_NodeRequired(pNode)->Worst;
+ return p;
+}
/**Function*************************************************************