summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2013-09-02 11:07:05 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2013-09-02 11:07:05 -0700
commit57b9a9fe130351f609bac0f63b57b7dbcbbc03c8 (patch)
treedb781ed04bcb9b127f9f90f645ca2a6131c7ff82
parent5023be4aa062eff8c9e0582dd45a3163bfa238e9 (diff)
downloadabc-57b9a9fe130351f609bac0f63b57b7dbcbbc03c8.tar.gz
abc-57b9a9fe130351f609bac0f63b57b7dbcbbc03c8.tar.bz2
abc-57b9a9fe130351f609bac0f63b57b7dbcbbc03c8.zip
Modify level computation to take discretized arrival times into account.
-rw-r--r--src/base/abc/abcDfs.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/base/abc/abcDfs.c b/src/base/abc/abcDfs.c
index 8b168a9a..dd8b2644 100644
--- a/src/base/abc/abcDfs.c
+++ b/src/base/abc/abcDfs.c
@@ -1129,9 +1129,13 @@ int Abc_NtkLevel( Abc_Ntk_t * pNtk )
{
Abc_Obj_t * pNode;
int i, LevelsMax;
- // set the CI levels to zero
- Abc_NtkForEachCi( pNtk, pNode, i )
- pNode->Level = 0;
+ // set the CI levels
+ if ( pNtk->pManTime == NULL || pNtk->AndGateDelay <= 0 )
+ Abc_NtkForEachCi( pNtk, pNode, i )
+ pNode->Level = 0;
+ else
+ Abc_NtkForEachCi( pNtk, pNode, i )
+ pNode->Level = (int)(Abc_NodeReadArrivalWorst(pNode) / pNtk->AndGateDelay);
// perform the traversal
LevelsMax = 0;
Abc_NtkIncrementTravId( pNtk );