Added optimization for average rather than maximum delay.

This commit is contained in:
Alan Mishchenko 2014-04-29 00:21:35 -07:00
parent 5acb147f61
commit 73289034be
1 changed files with 20 additions and 4 deletions

View File

@ -363,8 +363,16 @@ void If_ManComputeRequired( If_Man_t * p )
// set the required times for the POs
if ( p->pPars->fDoAverage )
{
If_ManForEachCo( p, pObj, i )
If_ObjFanin0(pObj)->Required = If_ObjArrTime(If_ObjFanin0(pObj));
if ( p->pPars->nRelaxRatio )
{
If_ManForEachCo( p, pObj, i )
If_ObjFanin0(pObj)->Required = If_ObjArrTime(If_ObjFanin0(pObj)) * (100.0 + p->pPars->nRelaxRatio) / 100.0;
}
else
{
If_ManForEachCo( p, pObj, i )
If_ObjFanin0(pObj)->Required = If_ObjArrTime(If_ObjFanin0(pObj));
}
}
else if ( p->pPars->fLatchPaths )
{
@ -443,8 +451,16 @@ void If_ManComputeRequired( If_Man_t * p )
}
else if ( p->pPars->fDoAverage )
{
If_ManForEachCo( p, pObj, i )
Tim_ManSetCoRequired( p->pManTim, i, If_ObjArrTime(If_ObjFanin0(pObj)) );
if ( p->pPars->nRelaxRatio )
{
If_ManForEachCo( p, pObj, i )
Tim_ManSetCoRequired( p->pManTim, i, If_ObjArrTime(If_ObjFanin0(pObj)) * (100.0 + p->pPars->nRelaxRatio) / 100.0 );
}
else
{
If_ManForEachCo( p, pObj, i )
Tim_ManSetCoRequired( p->pManTim, i, If_ObjArrTime(If_ObjFanin0(pObj)) );
}
}
else if ( p->pPars->fLatchPaths )
{