mirror of https://github.com/YosysHQ/abc.git
Added optimization for average rather than maximum delay.
This commit is contained in:
parent
5acb147f61
commit
73289034be
|
|
@ -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 )
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in New Issue