summaryrefslogtreecommitdiffstats
path: root/src/aig/nwk/nwkDfs.c
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2008-05-02 08:01:00 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2008-05-02 08:01:00 -0700
commit436d5d2103b2cfec6a6deb5bbba72ce8e820f785 (patch)
tree0bb7be2716b4758b3f883b9a9f1b76aae00c7ab0 /src/aig/nwk/nwkDfs.c
parentde81a1a1fb5d2cfff636a237a0a7008dcf196bcd (diff)
downloadabc-436d5d2103b2cfec6a6deb5bbba72ce8e820f785.tar.gz
abc-436d5d2103b2cfec6a6deb5bbba72ce8e820f785.tar.bz2
abc-436d5d2103b2cfec6a6deb5bbba72ce8e820f785.zip
Version abc80502
Diffstat (limited to 'src/aig/nwk/nwkDfs.c')
-rw-r--r--src/aig/nwk/nwkDfs.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/aig/nwk/nwkDfs.c b/src/aig/nwk/nwkDfs.c
index 90bab0dc..ec4ad440 100644
--- a/src/aig/nwk/nwkDfs.c
+++ b/src/aig/nwk/nwkDfs.c
@@ -222,6 +222,12 @@ int Nwk_ManLevel( Nwk_Man_t * pNtk )
if ( LevelMax < Nwk_ObjLevel(pObj) )
LevelMax = Nwk_ObjLevel(pObj);
}
+ Nwk_ManForEachCi( pNtk, pObj, i )
+ {
+ Nwk_ManLevel_rec( pObj );
+ if ( LevelMax < Nwk_ObjLevel(pObj) )
+ LevelMax = Nwk_ObjLevel(pObj);
+ }
return LevelMax;
}
@@ -297,7 +303,7 @@ void Nwk_ManDfs_rec( Nwk_Obj_t * pObj, Vec_Ptr_t * vNodes )
Nwk_ManDfs_rec( pNext, vNodes );
Vec_PtrPush( vNodes, pObj );
}
-
+
/**Function*************************************************************
Synopsis [Returns the DFS ordered array of all objects except latches.]
@@ -448,6 +454,10 @@ Vec_Ptr_t * Nwk_ManDfsReverse( Nwk_Man_t * pNtk )
vNodes = Vec_PtrAlloc( 100 );
Nwk_ManForEachPi( pNtk, pObj, i )
Nwk_ManDfsReverse_rec( pObj, vNodes );
+ // add nodes without fanins
+ Nwk_ManForEachNode( pNtk, pObj, i )
+ if ( Nwk_ObjFaninNum(pObj) == 0 && !Nwk_ObjIsTravIdCurrent(pObj) )
+ Vec_PtrPush( vNodes, pObj );
return vNodes;
}