diff options
Diffstat (limited to 'src/opt')
-rw-r--r-- | src/opt/lpk/lpkCore.c | 4 | ||||
-rw-r--r-- | src/opt/res/resCore.c | 2 |
2 files changed, 5 insertions, 1 deletions
diff --git a/src/opt/lpk/lpkCore.c b/src/opt/lpk/lpkCore.c index acea4866..e819a7fb 100644 --- a/src/opt/lpk/lpkCore.c +++ b/src/opt/lpk/lpkCore.c @@ -502,7 +502,7 @@ int Lpk_Resynthesize( Abc_Ntk_t * pNtk, Lpk_Par_t * pPars ) double Delta; int i, Iter, nNodes, nNodesPrev, clk = clock(); assert( Abc_NtkIsLogic(pNtk) ); - + // sweep dangling nodes as a preprocessing step Abc_NtkSweep( pNtk, 0 ); @@ -510,6 +510,8 @@ int Lpk_Resynthesize( Abc_Ntk_t * pNtk, Lpk_Par_t * pPars ) pPars->nLutSize = Abc_NtkGetFaninMax( pNtk ); if ( pPars->nLutSize > 6 ) pPars->nLutSize = 6; + if ( pPars->nLutSize < 3 ) + pPars->nLutSize = 3; // adjust the number of crossbars based on LUT size if ( pPars->nVarsShared > pPars->nLutSize - 2 ) pPars->nVarsShared = pPars->nLutSize - 2; diff --git a/src/opt/res/resCore.c b/src/opt/res/resCore.c index aa0eaeec..b22f0f5e 100644 --- a/src/opt/res/resCore.c +++ b/src/opt/res/resCore.c @@ -221,6 +221,8 @@ int Abc_NtkResynthesize( Abc_Ntk_t * pNtk, Res_Par_t * pPars ) p->nTotalNets = Abc_NtkGetTotalFanins(pNtk); p->nTotalNodes = Abc_NtkNodeNum(pNtk); nFaninsMax = Abc_NtkGetFaninMax(pNtk); + if ( nFaninsMax > 8 ) + nFaninsMax = 8; // perform the network sweep Abc_NtkSweep( pNtk, 0 ); |