diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2014-09-25 20:33:29 -0700 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2014-09-25 20:33:29 -0700 |
commit | 6aa1c94ea50b9357205c033c4e6240ba277890b6 (patch) | |
tree | f6c22823f31fc8a4f2200425e2025bd091e614d5 /src/base/wlc/wlcBlast.c | |
parent | a1b4773c77a5c39293377213096c2dc95116f37a (diff) | |
download | abc-6aa1c94ea50b9357205c033c4e6240ba277890b6.tar.gz abc-6aa1c94ea50b9357205c033c4e6240ba277890b6.tar.bz2 abc-6aa1c94ea50b9357205c033c4e6240ba277890b6.zip |
Enabling print-out, for each operator, of the percetage of AND nodes after bit-blasting.
Diffstat (limited to 'src/base/wlc/wlcBlast.c')
-rw-r--r-- | src/base/wlc/wlcBlast.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/base/wlc/wlcBlast.c b/src/base/wlc/wlcBlast.c index bb781145..538154c4 100644 --- a/src/base/wlc/wlcBlast.c +++ b/src/base/wlc/wlcBlast.c @@ -352,9 +352,12 @@ Gia_Man_t * Wlc_NtkBitBlast( Wlc_Ntk_t * p ) pNew = Gia_ManStart( 5 * Wlc_NtkObjNum(p) + 1000 ); pNew->pName = Abc_UtilStrsav( p->pName ); Gia_ManHashAlloc( pNew ); + // clean AND-gate counters + memset( p->nAnds, 0, sizeof(int) * WLC_OBJ_NUMBER ); // create primary inputs Wlc_NtkForEachObj( p, pObj, i ) { + int nAndPrev = Gia_ManObjNum(pNew); // char * pName = Wlc_ObjName(p, i); nRange = Wlc_ObjRange( pObj ); nRange0 = Wlc_ObjFaninNum(pObj) > 0 ? Wlc_ObjRange( Wlc_ObjFanin0(p, pObj) ) : -1; @@ -564,7 +567,10 @@ Gia_Man_t * Wlc_NtkBitBlast( Wlc_Ntk_t * p ) assert( Vec_IntSize(vBits) == Wlc_ObjCopy(p, i) ); Vec_IntAppend( vBits, vRes ); pPrev = pObj; + if ( pObj->Type != WLC_OBJ_PI && pObj->Type != WLC_OBJ_PO ) + p->nAnds[pObj->Type] += Gia_ManObjNum(pNew) - nAndPrev; } + p->nAnds[0] = Gia_ManAndNum(pNew); assert( nBits == Vec_IntSize(vBits) ); Vec_IntFree( vTemp0 ); Vec_IntFree( vTemp1 ); |