diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2012-07-03 11:17:04 -0700 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2012-07-03 11:17:04 -0700 |
commit | 32217230b069efc79e84ab80924317c8059956dd (patch) | |
tree | c64955bb981c63b07055cbf8daff3770aca0bb36 /src/aig/gia/giaMan.c | |
parent | 3bd0420bd96fb7100f9a96df56fa4649d39f6969 (diff) | |
download | abc-32217230b069efc79e84ab80924317c8059956dd.tar.gz abc-32217230b069efc79e84ab80924317c8059956dd.tar.bz2 abc-32217230b069efc79e84ab80924317c8059956dd.zip |
Performance improvement in &gla_refine.
Diffstat (limited to 'src/aig/gia/giaMan.c')
-rw-r--r-- | src/aig/gia/giaMan.c | 29 |
1 files changed, 2 insertions, 27 deletions
diff --git a/src/aig/gia/giaMan.c b/src/aig/gia/giaMan.c index 385f43d9..979bbe38 100644 --- a/src/aig/gia/giaMan.c +++ b/src/aig/gia/giaMan.c @@ -200,10 +200,7 @@ void Gia_ManPrintFlopClasses( Gia_Man_t * p ) ***********************************************************************/ void Gia_ManPrintGateClasses( Gia_Man_t * p ) { - Vec_Int_t * vAssigned, * vPis, * vPPis, * vFlops, * vNodes; - Gia_Obj_t * pObj; - int i; - + Vec_Int_t * vPis, * vPPis, * vFlops, * vNodes; if ( p->vGateClasses == NULL ) return; if ( Vec_IntSize(p->vGateClasses) != Gia_ManObjNum(p) ) @@ -211,38 +208,16 @@ void Gia_ManPrintGateClasses( Gia_Man_t * p ) printf( "Gia_ManPrintGateClasses(): The number of flop map entries differs from the number of flops.\n" ); return; } - - // create included objects and their fanins - vAssigned = Gia_GlaCollectAssigned( p, p->vGateClasses ); - // create additional arrays - vPis = Vec_IntAlloc( 1000 ); - vPPis = Vec_IntAlloc( 1000 ); - vFlops = Vec_IntAlloc( 1000 ); - vNodes = Vec_IntAlloc( 1000 ); - Gia_ManForEachObjVec( vAssigned, p, pObj, i ) - { - if ( Gia_ObjIsPi(p, pObj) ) - Vec_IntPush( vPis, Gia_ObjId(p,pObj) ); - else if ( !Vec_IntEntry(p->vGateClasses, Gia_ObjId(p,pObj)) ) - Vec_IntPush( vPPis, Gia_ObjId(p,pObj) ); - else if ( Gia_ObjIsAnd(pObj) ) - Vec_IntPush( vNodes, Gia_ObjId(p,pObj) ); - else if ( Gia_ObjIsRo(p, pObj) ) - Vec_IntPush( vFlops, Gia_ObjId(p,pObj) ); - else assert( Gia_ObjIsConst0(pObj) ); - } - + Gia_ManGlaCollect( p, p->vGateClasses, &vPis, &vPPis, &vFlops, &vNodes ); printf( "Gate-level abstraction: PI = %d PPI = %d FF = %d (%.2f %%) AND = %d (%.2f %%)\n", Vec_IntSize(vPis), Vec_IntSize(vPPis), Vec_IntSize(vFlops), 100.0*Vec_IntSize(vFlops)/(Gia_ManRegNum(p)+1), Vec_IntSize(vNodes), 100.0*Vec_IntSize(vNodes)/(Gia_ManAndNum(p)+1) ); - Vec_IntFree( vPis ); Vec_IntFree( vPPis ); Vec_IntFree( vFlops ); Vec_IntFree( vNodes ); - Vec_IntFree( vAssigned ); } /**Function************************************************************* |