From 9bfe2ad73aaa4d03bb1273950f873e3adb83fb29 Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Fri, 25 Jul 2014 08:58:20 -0700 Subject: Fixing option 'if -G ' after changes. --- src/map/if/ifDelay.c | 14 +++++++------- src/map/if/ifMan.c | 4 ++-- src/map/if/ifTime.c | 2 +- 3 files changed, 10 insertions(+), 10 deletions(-) (limited to 'src') diff --git a/src/map/if/ifDelay.c b/src/map/if/ifDelay.c index f75c42df..7fbcd2af 100644 --- a/src/map/if/ifDelay.c +++ b/src/map/if/ifDelay.c @@ -78,16 +78,16 @@ int If_CutDelaySop( If_Man_t * p, If_Cut_t * pCut ) if ( Vec_IntSize(vCover) == 0 ) return -1; // mark the output as complemented -// vAnds = If_CutDelaySopAnds( p, pCut, p->vCover, RetValue ^ pCut->fCompl ); - if ( Vec_IntSize(p->vCover) > p->pPars->nGateSize ) - return ABC_INFINITY; +// vAnds = If_CutDelaySopAnds( p, pCut, vCover, RetValue ^ pCut->fCompl ); + if ( Vec_IntSize(vCover) > p->pPars->nGateSize ) + return -1; // set the area cost assert( If_CutLeaveNum(pCut) >= 0 && If_CutLeaveNum(pCut) <= 16 ); // compute the gate delay - nLitMax = If_CutMaxCubeSize( p->vCover, If_CutLeaveNum(pCut) ); - if ( Vec_IntSize(p->vCover) < 2 ) + nLitMax = If_CutMaxCubeSize( vCover, If_CutLeaveNum(pCut) ); + if ( Vec_IntSize(vCover) < 2 ) { - pCut->Cost = Vec_IntSize(p->vCover); + pCut->Cost = Vec_IntSize(vCover); Delay = (int)(GateDelays[If_CutLeaveNum(pCut)] + 0.5); DelayMax = 0; If_CutForEachLeaf( p, pCut, pLeaf, i ) @@ -95,7 +95,7 @@ int If_CutDelaySop( If_Man_t * p, If_Cut_t * pCut ) } else { - pCut->Cost = Vec_IntSize(p->vCover) + 1; + pCut->Cost = Vec_IntSize(vCover) + 1; Delay = (int)(GateDelays[If_CutLeaveNum(pCut)] + GateDelays[nLitMax] + 0.5); DelayMax = 0; If_CutForEachLeaf( p, pCut, pLeaf, i ) diff --git a/src/map/if/ifMan.c b/src/map/if/ifMan.c index 443822ac..26989420 100644 --- a/src/map/if/ifMan.c +++ b/src/map/if/ifMan.c @@ -70,7 +70,7 @@ If_Man_t * If_ManStart( If_Par_t * pPars ) p->vTtMem[v] = Vec_MemAllocForTT( v, pPars->fUseTtPerm ); for ( v = 0; v < 6; v++ ) p->vTtMem[v] = p->vTtMem[6]; - if ( p->pPars->fDelayOpt ) + if ( p->pPars->fDelayOpt || pPars->nGateSize > 0 ) { for ( v = 6; v <= Abc_MaxInt(6,p->pPars->nLutSize); v++ ) p->vTtIsops[v] = Vec_WecAlloc( 1000 ); @@ -79,7 +79,7 @@ If_Man_t * If_ManStart( If_Par_t * pPars ) for ( v = 0; v < 6; v++ ) p->vTtIsops[v] = p->vTtIsops[6]; } - if ( p->pPars->fDelayOpt || p->pPars->fDsdBalance ); + if ( p->pPars->fDelayOpt || pPars->nGateSize > 0 || p->pPars->fDsdBalance ); { p->vCover = Vec_IntAlloc( 0 ); p->vArray = Vec_IntAlloc( 1000 ); diff --git a/src/map/if/ifTime.c b/src/map/if/ifTime.c index ca53776d..4211b385 100644 --- a/src/map/if/ifTime.c +++ b/src/map/if/ifTime.c @@ -218,7 +218,7 @@ void If_CutPropagateRequired( If_Man_t * p, If_Obj_t * pObj, If_Cut_t * pCut, fl int Delay = If_CutDsdBalancePinDelays( p, pCut, pPerm ); assert( Delay == (int)pCut->Delay ); } - else + else pPerm = If_CutPerm(pCut); If_CutForEachLeaf( p, pCut, pLeaf, i ) { -- cgit v1.2.3