diff options
Diffstat (limited to 'src/base/abci')
-rw-r--r-- | src/base/abci/abc.c | 4 | ||||
-rw-r--r-- | src/base/abci/abcIf.c | 17 |
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 ); |