From 9749046cd6070b8796243e60af5e5b08419f6644 Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Mon, 8 Jun 2026 17:05:54 +0700 Subject: [PATCH] Bug fix in required time propagation. --- src/map/if/ifTime.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/map/if/ifTime.c b/src/map/if/ifTime.c index 81f88fd72..73a5d8246 100644 --- a/src/map/if/ifTime.c +++ b/src/map/if/ifTime.c @@ -338,7 +338,7 @@ float If_ManDelayMax( If_Man_t * p, int fSeq ) void If_ManComputeRequired( If_Man_t * p ) { If_Obj_t * pObj; - int i, Counter; + int i, iBox, Counter; float reqTime; // compute area, clean required times, collect nodes used in the mapping @@ -480,7 +480,7 @@ void If_ManComputeRequired( If_Man_t * p ) if ( p->pPars->pTimesReq ) { Counter = 0; - If_ManForEachCo( p, pObj, i ) + If_ManForEachPo( p, pObj, i ) { reqTime = p->pPars->pTimesReq[i]; if ( If_ObjArrTime(If_ObjFanin0(pObj)) > reqTime + p->fEpsilon ) @@ -551,6 +551,9 @@ void If_ManComputeRequired( If_Man_t * p ) { reqTime = pObj->Required; Tim_ManSetCiRequired( p->pManTim, pObj->IdPio, reqTime ); + iBox = Tim_ManBoxForCi( p->pManTim, pObj->IdPio ); + if ( iBox >= 0 ) + Tim_ManSetPreviousTravIdBoxInputs( p->pManTim, iBox ); } else if ( If_ObjIsCo(pObj) ) {