diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2014-04-17 13:09:08 -0700 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2014-04-17 13:09:08 -0700 |
commit | 6730e21e12db0d78924a8a16a38cea6ed093daeb (patch) | |
tree | b246975609727e57ea51f39c9f597d297960b6de /src/map | |
parent | 02cf86939178ce0f95b98a4c7b432d4375a872e5 (diff) | |
download | abc-6730e21e12db0d78924a8a16a38cea6ed093daeb.tar.gz abc-6730e21e12db0d78924a8a16a38cea6ed093daeb.tar.bz2 abc-6730e21e12db0d78924a8a16a38cea6ed093daeb.zip |
Improvements in technology mapping.
Diffstat (limited to 'src/map')
-rw-r--r-- | src/map/if/if.h | 3 | ||||
-rw-r--r-- | src/map/if/ifCut.c | 32 | ||||
-rw-r--r-- | src/map/if/ifMap.c | 4 |
3 files changed, 19 insertions, 20 deletions
diff --git a/src/map/if/if.h b/src/map/if/if.h index 6807e6ad..4d5b1e64 100644 --- a/src/map/if/if.h +++ b/src/map/if/if.h @@ -268,11 +268,10 @@ struct If_Man_t_ // priority cut struct If_Cut_t_ { + float Delay; // delay of the cut float Area; // area (or area-flow) of the cut - float AveRefs; // the average number of leaf references float Edge; // the edge flow float Power; // the power flow - float Delay; // delay of the cut int iCutFunc; // TT ID of the cut int uMaskFunc; // polarity bitmask unsigned uSign; // cut signature diff --git a/src/map/if/ifCut.c b/src/map/if/ifCut.c index fee46261..6303524c 100644 --- a/src/map/if/ifCut.c +++ b/src/map/if/ifCut.c @@ -473,10 +473,10 @@ int If_CutCompareArea( If_Man_t * p, If_Cut_t ** ppC0, If_Cut_t ** ppC1 ) return -1; if ( pC0->Area > pC1->Area + p->fEpsilon ) return 1; - if ( pC0->AveRefs > pC1->AveRefs ) - return -1; - if ( pC0->AveRefs < pC1->AveRefs ) - return 1; +// if ( pC0->AveRefs > pC1->AveRefs ) +// return -1; +// if ( pC0->AveRefs < pC1->AveRefs ) +// return 1; if ( pC0->nLeaves < pC1->nLeaves ) return -1; if ( pC0->nLeaves > pC1->nLeaves ) @@ -519,10 +519,10 @@ static inline int If_ManSortCompare( If_Man_t * p, If_Cut_t * pC0, If_Cut_t * pC return -1; if ( pC0->Edge > pC1->Edge + p->fEpsilon ) return 1; - if ( pC0->AveRefs > pC1->AveRefs ) - return -1; - if ( pC0->AveRefs < pC1->AveRefs ) - return 1; +// if ( pC0->AveRefs > pC1->AveRefs ) +// return -1; +// if ( pC0->AveRefs < pC1->AveRefs ) +// return 1; if ( pC0->nLeaves < pC1->nLeaves ) return -1; if ( pC0->nLeaves > pC1->nLeaves ) @@ -596,10 +596,10 @@ static inline int If_ManSortCompare( If_Man_t * p, If_Cut_t * pC0, If_Cut_t * pC return -1; if ( pC0->Power > pC1->Power + p->fEpsilon ) return 1; - if ( pC0->AveRefs > pC1->AveRefs ) - return -1; - if ( pC0->AveRefs < pC1->AveRefs ) - return 1; +// if ( pC0->AveRefs > pC1->AveRefs ) +// return -1; +// if ( pC0->AveRefs < pC1->AveRefs ) +// return 1; if ( pC0->nLeaves < pC1->nLeaves ) return -1; if ( pC0->nLeaves > pC1->nLeaves ) @@ -678,10 +678,10 @@ static inline int If_ManSortCompare_old( If_Man_t * p, If_Cut_t * pC0, If_Cut_t return -1; if ( pC0->Area > pC1->Area + p->fEpsilon ) return 1; - if ( pC0->AveRefs > pC1->AveRefs ) - return -1; - if ( pC0->AveRefs < pC1->AveRefs ) - return 1; +// if ( pC0->AveRefs > pC1->AveRefs ) +// return -1; +// if ( pC0->AveRefs < pC1->AveRefs ) +// return 1; if ( pC0->nLeaves < pC1->nLeaves ) return -1; if ( pC0->nLeaves > pC1->nLeaves ) diff --git a/src/map/if/ifMap.c b/src/map/if/ifMap.c index a15cd4ce..c368cbf9 100644 --- a/src/map/if/ifMap.c +++ b/src/map/if/ifMap.c @@ -292,7 +292,7 @@ void If_ObjPerformMappingAnd( If_Man_t * p, If_Obj_t * pObj, int Mode, int fPrep pCut->Edge = (Mode == 2)? If_CutEdgeDerefed( p, pCut ) : If_CutEdgeFlow( p, pCut ); if ( p->pPars->fPower ) pCut->Power = (Mode == 2)? If_CutPowerDerefed( p, pCut, pObj ) : If_CutPowerFlow( p, pCut, pObj ); - pCut->AveRefs = (Mode == 0)? (float)0.0 : If_CutAverageRefs( p, pCut ); +// pCut->AveRefs = (Mode == 0)? (float)0.0 : If_CutAverageRefs( p, pCut ); // insert the cut into storage If_CutSort( p, pCutSet, pCut ); // If_CutTraverse( p, pObj, pCut ); @@ -391,7 +391,7 @@ void If_ObjPerformMappingChoice( If_Man_t * p, If_Obj_t * pObj, int Mode, int fP pCut->Edge = (Mode == 2)? If_CutEdgeDerefed( p, pCut ) : If_CutEdgeFlow( p, pCut ); if ( p->pPars->fPower ) pCut->Power = (Mode == 2)? If_CutPowerDerefed( p, pCut, pObj ) : If_CutPowerFlow( p, pCut, pObj ); - pCut->AveRefs = (Mode == 0)? (float)0.0 : If_CutAverageRefs( p, pCut ); +// pCut->AveRefs = (Mode == 0)? (float)0.0 : If_CutAverageRefs( p, pCut ); // insert the cut into storage If_CutSort( p, pCutSet, pCut ); } |