Commit 73289034 by Alan Mishchenko

Added optimization for average rather than maximum delay.

parent 5acb147f
...@@ -363,8 +363,16 @@ void If_ManComputeRequired( If_Man_t * p ) ...@@ -363,8 +363,16 @@ void If_ManComputeRequired( If_Man_t * p )
// set the required times for the POs // set the required times for the POs
if ( p->pPars->fDoAverage ) if ( p->pPars->fDoAverage )
{ {
If_ManForEachCo( p, pObj, i ) if ( p->pPars->nRelaxRatio )
If_ObjFanin0(pObj)->Required = If_ObjArrTime(If_ObjFanin0(pObj)); {
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 ) else if ( p->pPars->fLatchPaths )
{ {
...@@ -443,8 +451,16 @@ void If_ManComputeRequired( If_Man_t * p ) ...@@ -443,8 +451,16 @@ void If_ManComputeRequired( If_Man_t * p )
} }
else if ( p->pPars->fDoAverage ) else if ( p->pPars->fDoAverage )
{ {
If_ManForEachCo( p, pObj, i ) if ( p->pPars->nRelaxRatio )
Tim_ManSetCoRequired( p->pManTim, i, If_ObjArrTime(If_ObjFanin0(pObj)) ); {
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 ) else if ( p->pPars->fLatchPaths )
{ {
......
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