From 3db3be2d6130324f9c8d685c4dc04d7069fcab12 Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Thu, 3 Apr 2014 12:06:09 -0700 Subject: Improvements to technology mapping. --- src/map/if/ifDsd.c | 5 +++-- src/map/if/ifMap.c | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) (limited to 'src/map/if') diff --git a/src/map/if/ifDsd.c b/src/map/if/ifDsd.c index 135d487f..ac324d13 100644 --- a/src/map/if/ifDsd.c +++ b/src/map/if/ifDsd.c @@ -1787,9 +1787,10 @@ int If_DsdManCompute( If_DsdMan_t * p, word * pTruth, int nLeaves, unsigned char word pCopy[DAU_MAX_WORD], * pRes; char pDsd[DAU_MAX_STR]; int iDsd, nSizeNonDec, nSupp = 0; + int nWords = Abc_TtWordNum(nLeaves); abctime clk; assert( nLeaves <= DAU_MAX_VAR ); - Abc_TtCopy( pCopy, pTruth, p->nWords, 0 ); + Abc_TtCopy( pCopy, pTruth, nWords, 0 ); clk = Abc_Clock(); nSizeNonDec = Dau_DsdDecompose( pCopy, nLeaves, 0, 1, pDsd ); p->timeDsd += Abc_Clock() - clk; @@ -1808,7 +1809,7 @@ p->timeCanon += Abc_Clock() - clk; clk = Abc_Clock(); pRes = If_DsdManComputeTruth( p, iDsd, pPerm ); p->timeVerify += Abc_Clock() - clk; - if ( !Abc_TtEqual(pRes, pTruth, p->nWords) ) + if ( !Abc_TtEqual(pRes, pTruth, nWords) ) { // If_DsdManPrint( p, NULL ); printf( "\n" ); diff --git a/src/map/if/ifMap.c b/src/map/if/ifMap.c index b096429c..fc9c6ebe 100644 --- a/src/map/if/ifMap.c +++ b/src/map/if/ifMap.c @@ -196,7 +196,7 @@ void If_ObjPerformMappingAnd( If_Man_t * p, If_Obj_t * pObj, int Mode, int fPrep if ( p->pPars->fUseTtPerm ) fChange = If_CutComputeTruthPerm( p, pCut, pCut0R, pCut1R, fFunc0R, fFunc1R ); else - fChange = If_CutComputeTruth( p, pCut, pCut0R, pCut1R, pObj->fCompl0, pObj->fCompl1 ); + fChange = If_CutComputeTruth( p, pCut, pCut0, pCut1, pObj->fCompl0, pObj->fCompl1 ); if ( !p->pPars->fSkipCutFilter && fChange && If_CutFilter( pCutSet, pCut ) ) continue; // p->timeTruth += Abc_Clock() - clk; -- cgit v1.2.3