diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2012-03-27 20:15:02 -0700 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2012-03-27 20:15:02 -0700 |
commit | a21f2986aa907e5cf484cd7cd467290d192bf816 (patch) | |
tree | 8ae3fc7d1cb6316865bb4c8abc46aead9c91ba16 /src/map/if/ifMap.c | |
parent | 08253a50eba6c2b7f0346763c923a5abff20708e (diff) | |
download | abc-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.c | 14 |
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 ) |