mirror of https://github.com/YosysHQ/abc.git
Small improvement to SOP balancing.
This commit is contained in:
parent
ba29267563
commit
9fa827aacf
|
|
@ -122,12 +122,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->fDelayOpt )
|
||||
pCut->Delay = If_CutSopBalanceEval( p, pCut, NULL );
|
||||
else if ( p->pPars->fDelayOptLut )
|
||||
pCut->Delay = If_CutLutBalanceEval( p, pCut );
|
||||
else if ( p->pPars->fDsdBalance )
|
||||
pCut->Delay = If_CutDsdBalanceEval( p, pCut, NULL );
|
||||
else if ( p->pPars->fUserRecLib )
|
||||
pCut->Delay = If_CutDelayRecCost3( p, pCut, pObj );
|
||||
else if ( p->pPars->fDelayOptLut )
|
||||
pCut->Delay = If_CutLutBalanceEval( p, pCut );
|
||||
else if( p->pPars->nGateSize > 0 )
|
||||
pCut->Delay = If_CutDelaySop( p, pCut );
|
||||
else
|
||||
|
|
@ -271,13 +271,25 @@ void If_ObjPerformMappingAnd( If_Man_t * p, If_Obj_t * pObj, int Mode, int fPrep
|
|||
continue;
|
||||
// check if the cut satisfies the required times
|
||||
if ( p->pPars->fDelayOpt )
|
||||
{
|
||||
pCut->Delay = If_CutSopBalanceEval( p, pCut, NULL );
|
||||
if ( pCut->Delay >= pObj->Level && pCut->nLeaves > 2 )
|
||||
pCut->Delay += 1;
|
||||
}
|
||||
else if ( p->pPars->fDsdBalance )
|
||||
{
|
||||
pCut->Delay = If_CutDsdBalanceEval( p, pCut, NULL );
|
||||
if ( pCut->Delay >= pObj->Level && pCut->nLeaves > 2 )
|
||||
pCut->Delay += 1;
|
||||
}
|
||||
else if ( p->pPars->fUserRecLib )
|
||||
{
|
||||
pCut->Delay = If_CutDelayRecCost3( p, pCut, pObj );
|
||||
if ( pCut->Delay >= pObj->Level && pCut->nLeaves > 2 )
|
||||
pCut->Delay += 1;
|
||||
}
|
||||
else if ( p->pPars->fDelayOptLut )
|
||||
pCut->Delay = If_CutLutBalanceEval( p, pCut );
|
||||
else if ( p->pPars->fDsdBalance )
|
||||
pCut->Delay = If_CutDsdBalanceEval( p, pCut, NULL );
|
||||
else if ( p->pPars->fUserRecLib )
|
||||
pCut->Delay = If_CutDelayRecCost3( p, pCut, pObj );
|
||||
else if( p->pPars->nGateSize > 0 )
|
||||
pCut->Delay = If_CutDelaySop( p, pCut );
|
||||
else
|
||||
|
|
|
|||
Loading…
Reference in New Issue