diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2013-03-05 13:13:15 -0800 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2013-03-05 13:13:15 -0800 |
commit | 4ff5203f4c8b341eb717b742bf1af51f64f31ccd (patch) | |
tree | d3e814bd980de2c87db542d7e0929fded9db25b8 /src/base/abci | |
parent | 0c9337f6276f8a56960f697b7361c978e3e50a41 (diff) | |
download | abc-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.c | 2 | ||||
-rw-r--r-- | src/base/abci/abcTiming.c | 25 |
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************************************************************* |