summaryrefslogtreecommitdiffstats
path: root/src/map/if/ifMap.c
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2012-03-27 20:15:02 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2012-03-27 20:15:02 -0700
commita21f2986aa907e5cf484cd7cd467290d192bf816 (patch)
tree8ae3fc7d1cb6316865bb4c8abc46aead9c91ba16 /src/map/if/ifMap.c
parent08253a50eba6c2b7f0346763c923a5abff20708e (diff)
downloadabc-a21f2986aa907e5cf484cd7cd467290d192bf816.tar.gz
abc-a21f2986aa907e5cf484cd7cd467290d192bf816.tar.bz2
abc-a21f2986aa907e5cf484cd7cd467290d192bf816.zip
Enabling mapping into multi-input AND/OR gates.
Diffstat (limited to 'src/map/if/ifMap.c')
-rw-r--r--src/map/if/ifMap.c14
1 files changed, 4 insertions, 10 deletions
diff --git a/src/map/if/ifMap.c b/src/map/if/ifMap.c
index 2e0115ef..e2c2ff0a 100644
--- a/src/map/if/ifMap.c
+++ b/src/map/if/ifMap.c
@@ -155,15 +155,12 @@ void If_ObjPerformMappingAnd( If_Man_t * p, If_Obj_t * pObj, int Mode, int fPrep
// recompute the parameters of the best cut
/// if ( p->pPars->pLutStruct )
/// pCut->Delay = If_CutDelayLutStruct( p, pCut, p->pPars->pLutStruct, p->pPars->WireDelay );
-// else if ( p->pPars->fDelayOpt )
if ( p->pPars->fUserRecLib )
pCut->Delay = If_CutDelayRecCost(p, pCut, pObj);
else if(p->pPars->fDelayOpt)
- {
-// pCut->Delay = If_CutDelaySopCost(p,pCut);
-// pCut->Delay = If_CutDelaySopCost2(p,pCut);
pCut->Delay = If_CutDelaySopCost(p,pCut);
- }
+ else if(p->pPars->nGateSize > 0)
+ pCut->Delay = If_CutDelaySop(p,pCut);
else
pCut->Delay = If_CutDelay( p, pObj, pCut );
// assert( pCut->Delay <= pObj->Required + p->fEpsilon );
@@ -230,15 +227,12 @@ void If_ObjPerformMappingAnd( If_Man_t * p, If_Obj_t * pObj, int Mode, int fPrep
// check if the cut satisfies the required times
/// if ( p->pPars->pLutStruct )
/// pCut->Delay = If_CutDelayLutStruct( p, pCut, p->pPars->pLutStruct, p->pPars->WireDelay );
-// else if ( p->pPars->fDelayOpt )
if ( p->pPars->fUserRecLib )
pCut->Delay = If_CutDelayRecCost(p, pCut, pObj);
else if (p->pPars->fDelayOpt)
- {
-// pCut->Delay = If_CutDelaySopCost(p, pCut);
-// pCut->Delay = If_CutDelaySopCost2(p, pCut);
pCut->Delay = If_CutDelaySopCost(p, pCut);
- }
+ else if(p->pPars->nGateSize > 0)
+ pCut->Delay = If_CutDelaySop(p,pCut);
else
pCut->Delay = If_CutDelay( p, pObj, pCut );
//if ( pCut->Cost == IF_COST_MAX )