summaryrefslogtreecommitdiffstats
path: root/src/base
diff options
context:
space:
mode:
Diffstat (limited to 'src/base')
-rw-r--r--src/base/abci/abc.c4
-rw-r--r--src/base/abci/abcIf.c17
2 files changed, 10 insertions, 11 deletions
diff --git a/src/base/abci/abc.c b/src/base/abci/abc.c
index 602b24b3..2e2c4e73 100644
--- a/src/base/abci/abc.c
+++ b/src/base/abci/abc.c
@@ -15102,7 +15102,7 @@ int Abc_CommandIf( Abc_Frame_t * pAbc, int argc, char ** argv )
pPars->fTruth = 1;
pPars->fCutMin = 1;
pPars->fExpRed = 0;
- pPars->fUsePerm = 1;
+ pPars->fUsePerm = 0;
pPars->pLutLib = NULL;
}
// modify for delay optimization
@@ -29855,7 +29855,7 @@ int Abc_CommandAbc9If( Abc_Frame_t * pAbc, int argc, char ** argv )
pPars->fTruth = 1;
pPars->fCutMin = 1;
pPars->fExpRed = 0;
- pPars->fUsePerm = 1;
+ pPars->fUsePerm = 0;
pPars->pLutLib = NULL;
}
// modify for delay optimization
diff --git a/src/base/abci/abcIf.c b/src/base/abci/abcIf.c
index 80412c9a..8a52260a 100644
--- a/src/base/abci/abcIf.c
+++ b/src/base/abci/abcIf.c
@@ -391,14 +391,13 @@ Hop_Obj_t * Abc_NodeBuildFromMiniInt( Hop_Man_t * pMan, Vec_Int_t * vAig, int nL
return piLit;
}
}
-Hop_Obj_t * Abc_NodeBuildFromMini( Hop_Man_t * pMan, If_Man_t * p, If_Cut_t * pCut )
+Hop_Obj_t * Abc_NodeBuildFromMini( Hop_Man_t * pMan, If_Man_t * p, If_Cut_t * pCut, int fUseDsd )
{
- Hop_Obj_t * pResult;
- if ( p->vArray == NULL )
- p->vArray = Vec_IntAlloc(1000);
- If_CutDelaySopArray3( p, pCut, p->vArray );
- pResult = Abc_NodeBuildFromMiniInt( pMan, p->vArray, If_CutLeaveNum(pCut) );
- return pResult;
+ if ( fUseDsd )
+ If_CutDsdBalanceEval( p, pCut, p->vArray );
+ else
+ If_CutSopBalanceEval( p, pCut, p->vArray );
+ return Abc_NodeBuildFromMiniInt( pMan, p->vArray, If_CutLeaveNum(pCut) );
}
/**Function*************************************************************
@@ -477,9 +476,9 @@ Abc_Obj_t * Abc_NodeFromIf_rec( Abc_Ntk_t * pNtkNew, If_Man_t * pIfMan, If_Obj_t
}
}
else if ( pIfMan->pPars->fDelayOpt )
- pNodeNew->pData = Abc_NodeBuildFromMini( (Hop_Man_t *)pNtkNew->pManFunc, pIfMan, pCutBest );
+ pNodeNew->pData = Abc_NodeBuildFromMini( (Hop_Man_t *)pNtkNew->pManFunc, pIfMan, pCutBest, 0 );
else if ( pIfMan->pPars->fDsdBalance )
- pNodeNew->pData = Abc_NodeBuildFromMini( (Hop_Man_t *)pNtkNew->pManFunc, pIfMan, pCutBest );
+ pNodeNew->pData = Abc_NodeBuildFromMini( (Hop_Man_t *)pNtkNew->pManFunc, pIfMan, pCutBest, 1 );
else if ( pIfMan->pPars->fUserRecLib )
{
extern Hop_Obj_t * Abc_RecToHop3( Hop_Man_t * pMan, If_Man_t * pIfMan, If_Cut_t * pCut, If_Obj_t * pIfObj );