summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2014-04-03 12:06:09 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2014-04-03 12:06:09 -0700
commit3db3be2d6130324f9c8d685c4dc04d7069fcab12 (patch)
tree0fb78b94b3134f43a2baa13d1f4c64e8aef88897
parentb21589ea1aa63d3c2045e91dc5817fd8b4c6e13e (diff)
downloadabc-3db3be2d6130324f9c8d685c4dc04d7069fcab12.tar.gz
abc-3db3be2d6130324f9c8d685c4dc04d7069fcab12.tar.bz2
abc-3db3be2d6130324f9c8d685c4dc04d7069fcab12.zip
Improvements to technology mapping.
-rw-r--r--src/map/if/ifDsd.c5
-rw-r--r--src/map/if/ifMap.c2
2 files changed, 4 insertions, 3 deletions
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;