Commit 3db3be2d by Alan Mishchenko

Improvements to technology mapping.

parent b21589ea
...@@ -1787,9 +1787,10 @@ int If_DsdManCompute( If_DsdMan_t * p, word * pTruth, int nLeaves, unsigned char ...@@ -1787,9 +1787,10 @@ int If_DsdManCompute( If_DsdMan_t * p, word * pTruth, int nLeaves, unsigned char
word pCopy[DAU_MAX_WORD], * pRes; word pCopy[DAU_MAX_WORD], * pRes;
char pDsd[DAU_MAX_STR]; char pDsd[DAU_MAX_STR];
int iDsd, nSizeNonDec, nSupp = 0; int iDsd, nSizeNonDec, nSupp = 0;
int nWords = Abc_TtWordNum(nLeaves);
abctime clk; abctime clk;
assert( nLeaves <= DAU_MAX_VAR ); assert( nLeaves <= DAU_MAX_VAR );
Abc_TtCopy( pCopy, pTruth, p->nWords, 0 ); Abc_TtCopy( pCopy, pTruth, nWords, 0 );
clk = Abc_Clock(); clk = Abc_Clock();
nSizeNonDec = Dau_DsdDecompose( pCopy, nLeaves, 0, 1, pDsd ); nSizeNonDec = Dau_DsdDecompose( pCopy, nLeaves, 0, 1, pDsd );
p->timeDsd += Abc_Clock() - clk; p->timeDsd += Abc_Clock() - clk;
...@@ -1808,7 +1809,7 @@ p->timeCanon += Abc_Clock() - clk; ...@@ -1808,7 +1809,7 @@ p->timeCanon += Abc_Clock() - clk;
clk = Abc_Clock(); clk = Abc_Clock();
pRes = If_DsdManComputeTruth( p, iDsd, pPerm ); pRes = If_DsdManComputeTruth( p, iDsd, pPerm );
p->timeVerify += Abc_Clock() - clk; p->timeVerify += Abc_Clock() - clk;
if ( !Abc_TtEqual(pRes, pTruth, p->nWords) ) if ( !Abc_TtEqual(pRes, pTruth, nWords) )
{ {
// If_DsdManPrint( p, NULL ); // If_DsdManPrint( p, NULL );
printf( "\n" ); printf( "\n" );
......
...@@ -196,7 +196,7 @@ void If_ObjPerformMappingAnd( If_Man_t * p, If_Obj_t * pObj, int Mode, int fPrep ...@@ -196,7 +196,7 @@ void If_ObjPerformMappingAnd( If_Man_t * p, If_Obj_t * pObj, int Mode, int fPrep
if ( p->pPars->fUseTtPerm ) if ( p->pPars->fUseTtPerm )
fChange = If_CutComputeTruthPerm( p, pCut, pCut0R, pCut1R, fFunc0R, fFunc1R ); fChange = If_CutComputeTruthPerm( p, pCut, pCut0R, pCut1R, fFunc0R, fFunc1R );
else 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 ) ) if ( !p->pPars->fSkipCutFilter && fChange && If_CutFilter( pCutSet, pCut ) )
continue; continue;
// p->timeTruth += Abc_Clock() - clk; // p->timeTruth += Abc_Clock() - clk;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment