summaryrefslogtreecommitdiffstats
path: root/src/base
diff options
context:
space:
mode:
Diffstat (limited to 'src/base')
-rw-r--r--src/base/abc/abc.h1
-rw-r--r--src/base/abci/abcIf.c2
-rw-r--r--src/base/abci/abcTiming.c25
-rw-r--r--src/base/io/ioWriteBlif.c2
4 files changed, 17 insertions, 13 deletions
diff --git a/src/base/abc/abc.h b/src/base/abc/abc.h
index eeda95a3..e5b57ec8 100644
--- a/src/base/abc/abc.h
+++ b/src/base/abc/abc.h
@@ -907,6 +907,7 @@ extern ABC_DLL void Abc_ManTimeStop( Abc_ManTime_t * p );
extern ABC_DLL void Abc_ManTimeDup( Abc_Ntk_t * pNtkOld, Abc_Ntk_t * pNtkNew );
extern ABC_DLL void Abc_NtkSetNodeLevelsArrival( Abc_Ntk_t * pNtk );
extern ABC_DLL float * Abc_NtkGetCiArrivalFloats( Abc_Ntk_t * pNtk );
+extern ABC_DLL float * Abc_NtkGetCoRequiredFloats( Abc_Ntk_t * pNtk );
extern ABC_DLL Abc_Time_t * Abc_NtkGetCiArrivalTimes( Abc_Ntk_t * pNtk );
extern ABC_DLL Abc_Time_t * Abc_NtkGetCoRequiredTimes( Abc_Ntk_t * pNtk );
extern ABC_DLL float Abc_NtkDelayTrace( Abc_Ntk_t * pNtk, Abc_Obj_t * pOut, Abc_Obj_t * pIn, int fPrint );
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*************************************************************
diff --git a/src/base/io/ioWriteBlif.c b/src/base/io/ioWriteBlif.c
index 7cc0d696..692ec3bb 100644
--- a/src/base/io/ioWriteBlif.c
+++ b/src/base/io/ioWriteBlif.c
@@ -712,6 +712,8 @@ void Io_WriteTimingInfo( FILE * pFile, Abc_Ntk_t * pNtk )
continue;
fprintf( pFile, ".output_required %s %g %g\n", Abc_ObjName(Abc_ObjFanin0(pNode)), pTime->Rise, pTime->Fall );
}
+
+ fprintf( pFile, "\n" );
}