summaryrefslogtreecommitdiffstats
path: root/src/base
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2014-04-11 11:01:54 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2014-04-11 11:01:54 -0700
commit80110cc3285ae29dc3d45a7647b58f6d721de073 (patch)
tree5b777655a6a75a068ac4e4b0ad866deb3e1c69f8 /src/base
parent24f63cf92cf26378f8f57ba171f541631577726e (diff)
downloadabc-80110cc3285ae29dc3d45a7647b58f6d721de073.tar.gz
abc-80110cc3285ae29dc3d45a7647b58f6d721de073.tar.bz2
abc-80110cc3285ae29dc3d45a7647b58f6d721de073.zip
New feature to optimize delay during mapping.
Diffstat (limited to 'src/base')
-rw-r--r--src/base/abci/abc.c4
-rw-r--r--src/base/abci/abcIf.c2
2 files changed, 3 insertions, 3 deletions
diff --git a/src/base/abci/abc.c b/src/base/abci/abc.c
index 5031a185..862c5fbc 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 )
Abc_Print( -1, "This feature only works for [6;16]-LUTs.\n" );
return 1;
}
- pPars->pFuncCell = If_CutPerformCheck16;
+ pPars->pFuncCell = pPars->fDelayOptLut ? NULL : If_CutPerformCheck16;
pPars->fCutMin = 1;
}
@@ -29854,7 +29854,7 @@ int Abc_CommandAbc9If( Abc_Frame_t * pAbc, int argc, char ** argv )
Abc_Print( -1, "This feature only works for [6;16]-LUTs.\n" );
return 1;
}
- pPars->pFuncCell = If_CutPerformCheck16;
+ pPars->pFuncCell = pPars->fDelayOptLut ? NULL : If_CutPerformCheck16;
pPars->fCutMin = 1;
}
diff --git a/src/base/abci/abcIf.c b/src/base/abci/abcIf.c
index 3ddc9fe3..5bab925e 100644
--- a/src/base/abci/abcIf.c
+++ b/src/base/abci/abcIf.c
@@ -430,7 +430,7 @@ Abc_Obj_t * Abc_NodeFromIf_rec( Abc_Ntk_t * pNtkNew, If_Man_t * pIfMan, If_Obj_t
pCutBest = If_ObjCutBest( pIfObj );
// printf( "%d 0x%02X %d\n", pCutBest->nLeaves, 0xff & *If_CutTruth(pCutBest), pIfMan->pPars->pFuncCost(pCutBest) );
// if ( pIfMan->pPars->pLutLib && pIfMan->pPars->pLutLib->fVarPinDelays )
- if ( !pIfMan->pPars->fUseTtPerm && !pIfMan->pPars->fDelayOpt && !pIfMan->pPars->fDsdBalance && !pIfMan->pPars->pLutStruct && !pIfMan->pPars->fUserRecLib && !pIfMan->pPars->nGateSize )
+ if ( !pIfMan->pPars->fDelayOpt && !pIfMan->pPars->fDelayOptLut && !pIfMan->pPars->fDsdBalance && !pIfMan->pPars->fUseTtPerm && !pIfMan->pPars->pLutStruct && !pIfMan->pPars->fUserRecLib && !pIfMan->pPars->nGateSize )
If_CutRotatePins( pIfMan, pCutBest );
if ( pIfMan->pPars->fUseCnfs || pIfMan->pPars->fUseMv )
{