Commit 9bfe2ad7 by Alan Mishchenko

Fixing option 'if -G <num>' after changes.

parent e6db0f11
......@@ -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 )
......
......@@ -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 );
......
......@@ -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 )
{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment