diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2011-05-07 20:19:45 -0700 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2011-05-07 20:19:45 -0700 |
commit | 27bb2a684d0888f47bfc2f0ee99399c25989f383 (patch) | |
tree | 3049340093a2c8beb9b580a25de98e4179142247 /src/map/if/ifMap.c | |
parent | b8b75cf14fd361c02c00ae3792537a0dab7a243f (diff) | |
download | abc-27bb2a684d0888f47bfc2f0ee99399c25989f383.tar.gz abc-27bb2a684d0888f47bfc2f0ee99399c25989f383.tar.bz2 abc-27bb2a684d0888f47bfc2f0ee99399c25989f383.zip |
Updated technology mapping.
Diffstat (limited to 'src/map/if/ifMap.c')
-rw-r--r-- | src/map/if/ifMap.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/map/if/ifMap.c b/src/map/if/ifMap.c index f5d1356f..1a7b6ea7 100644 --- a/src/map/if/ifMap.c +++ b/src/map/if/ifMap.c @@ -135,14 +135,16 @@ void If_ObjPerformMappingAnd( If_Man_t * p, If_Obj_t * pObj, int Mode, int fPrep if ( p->pPars->fTruth ) { // int clk = clock(); - If_CutComputeTruth( p, pCut, pCut0, pCut1, pObj->fCompl0, pObj->fCompl1 ); + int RetValue = If_CutComputeTruth( p, pCut, pCut0, pCut1, pObj->fCompl0, pObj->fCompl1 ); // p->timeTruth += clock() - clk; - if ( p->pPars->pFuncCell ) + pCut->fUseless = 0; + if ( p->pPars->pFuncCell && RetValue < 2 ) { - assert( pCut->nLimit >= 4 && pCut->nLimit <= 6 ); + assert( pCut->nLimit >= 4 && pCut->nLimit <= 7 ); pCut->fUseless = !p->pPars->pFuncCell( If_CutTruth(pCut), pCut->nLimit, pCut->nLeaves ); p->nCutsUseless += pCut->fUseless; } + } // compute the application-specific cost and depth pCut->fUser = (p->pPars->pFuncCost != NULL); |