diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2021-07-31 15:34:46 -0700 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2021-07-31 15:34:46 -0700 |
commit | 692dd763190d2e2682c0eeabdcd81f16aaaabe94 (patch) | |
tree | a62ab7910e947f5967b90b527fdbaaf4785ee607 /src/base/abci/abcDar.c | |
parent | d925e4802cdbd89b1c7cee4fa1041b08cf0d32f7 (diff) | |
download | abc-692dd763190d2e2682c0eeabdcd81f16aaaabe94.tar.gz abc-692dd763190d2e2682c0eeabdcd81f16aaaabe94.tar.bz2 abc-692dd763190d2e2682c0eeabdcd81f16aaaabe94.zip |
Upgrading choice computation.
Diffstat (limited to 'src/base/abci/abcDar.c')
-rw-r--r-- | src/base/abci/abcDar.c | 36 |
1 files changed, 21 insertions, 15 deletions
diff --git a/src/base/abci/abcDar.c b/src/base/abci/abcDar.c index ae2d9835..95c9200d 100644 --- a/src/base/abci/abcDar.c +++ b/src/base/abci/abcDar.c @@ -1651,6 +1651,7 @@ Abc_Ntk_t * Abc_NtkDChoice( Abc_Ntk_t * pNtk, int fBalance, int fUpdateLevel, in ***********************************************************************/ Abc_Ntk_t * Abc_NtkDch( Abc_Ntk_t * pNtk, Dch_Pars_t * pPars ) { + extern Aig_Man_t * Dar_ManChoiceNew( Aig_Man_t * pAig, Dch_Pars_t * pPars ); extern Gia_Man_t * Dar_NewChoiceSynthesis( Aig_Man_t * pAig, int fBalance, int fUpdateLevel, int fPower, int fLightSynth, int fVerbose ); extern Aig_Man_t * Cec_ComputeChoices( Gia_Man_t * pGia, Dch_Pars_t * pPars ); @@ -1662,23 +1663,28 @@ Abc_Ntk_t * Abc_NtkDch( Abc_Ntk_t * pNtk, Dch_Pars_t * pPars ) pMan = Abc_NtkToDar( pNtk, 0, 0 ); if ( pMan == NULL ) return NULL; -clk = Abc_Clock(); - if ( pPars->fSynthesis ) - pGia = Dar_NewChoiceSynthesis( pMan, 1, 1, pPars->fPower, pPars->fLightSynth, pPars->fVerbose ); - else + if ( pPars->fUseNew ) + pMan = Dar_ManChoiceNew( pMan, pPars ); + else { - pGia = Gia_ManFromAig( pMan ); - Aig_ManStop( pMan ); - } +clk = Abc_Clock(); + if ( pPars->fSynthesis ) + pGia = Dar_NewChoiceSynthesis( pMan, 1, 1, pPars->fPower, pPars->fLightSynth, pPars->fVerbose ); + else + { + pGia = Gia_ManFromAig( pMan ); + Aig_ManStop( pMan ); + } pPars->timeSynth = Abc_Clock() - clk; - if ( pPars->fUseGia ) - pMan = Cec_ComputeChoices( pGia, pPars ); - else - { - pMan = Gia_ManToAigSkip( pGia, 3 ); - Gia_ManStop( pGia ); - pMan = Dch_ComputeChoices( pTemp = pMan, pPars ); - Aig_ManStop( pTemp ); + if ( pPars->fUseGia ) + pMan = Cec_ComputeChoices( pGia, pPars ); + else + { + pMan = Gia_ManToAigSkip( pGia, 3 ); + Gia_ManStop( pGia ); + pMan = Dch_ComputeChoices( pTemp = pMan, pPars ); + Aig_ManStop( pTemp ); + } } pNtkAig = Abc_NtkFromDarChoices( pNtk, pMan ); Aig_ManStop( pMan ); |