47 p->pCis[iPi].timeArr = Delay;
64 p->pCos[iPo].timeReq = Delay;
119 assert( !p->fUseTravId || p->pCos[iCo].TravId != p->nTravIds );
120 p->pCos[iCo].timeArr = Delay;
121 p->pCos[iCo].TravId = p->nTravIds;
138 assert( !p->fUseTravId || p->pCis[iCi].TravId != p->nTravIds );
139 p->pCis[iCi].timeReq = Delay;
140 p->pCis[iCi].TravId = p->nTravIds;
157 assert( !p->fUseTravId || !p->nTravIds || p->pCos[iCo].TravId != p->nTravIds );
158 p->pCos[iCo].timeReq = Delay;
159 p->pCos[iCo].TravId = p->nTravIds;
178 float * pTable, * pDelays, DelayBest;
182 if ( p->fUseTravId && pObjThis->
TravId == p->nTravIds )
184 pObjThis->
TravId = p->nTravIds;
190 pBox->TravId = p->nTravIds;
194 if ( pObj->
TravId != p->nTravIds )
195 printf(
"Tim_ManGetCiArrival(): Input arrival times of the box are not up to date!\n" );
200 pDelays = pTable + 3 + i * pBox->nInputs;
206 pObjRes->
TravId = p->nTravIds;
226 float * pTable, * pDelays, DelayBest;
230 if ( p->fUseTravId && pObjThis->
TravId == p->nTravIds )
232 pObjThis->
TravId = p->nTravIds;
238 pBox->TravId = p->nTravIds;
242 if ( pObj->
TravId != p->nTravIds )
243 printf(
"Tim_ManGetCoRequired(): Output required times of output %d the box %d are not up to date!\n", i, pBox->iBox );
251 pDelays = pTable + 3 + k * pBox->nInputs;
256 pObjRes->
TravId = p->nTravIds;
ABC_NAMESPACE_IMPL_START void Tim_ManInitPiArrival(Tim_Man_t *p, int iPi, float Delay)
DECLARATIONS ///.
static float Abc_MinFloat(float a, float b)
void Tim_ManSetCiRequired(Tim_Man_t *p, int iCi, float Delay)
#define Tim_ManBoxForEachOutput(p, pBox, pObj, i)
void Tim_ManInitPoRequiredAll(Tim_Man_t *p, float Delay)
float Tim_ManGetCiArrival(Tim_Man_t *p, int iCi)
static Tim_Box_t * Tim_ManCiBox(Tim_Man_t *p, int i)
static Tim_Box_t * Tim_ManCoBox(Tim_Man_t *p, int i)
#define Tim_ManForEachPo(p, pObj, i)
void Tim_ManInitPiArrivalAll(Tim_Man_t *p, float Delay)
static int Abc_MaxInt(int a, int b)
#define ABC_NAMESPACE_IMPL_END
#define Tim_ManBoxForEachInput(p, pBox, pObj, i)
void Tim_ManInitPoRequired(Tim_Man_t *p, int iPo, float Delay)
void Tim_ManSetCoArrival(Tim_Man_t *p, int iCo, float Delay)
static Tim_Obj_t * Tim_ManCi(Tim_Man_t *p, int i)
MACRO DEFINITIONS ///.
#define ABC_NAMESPACE_IMPL_START
float Tim_ManGetCoRequired(Tim_Man_t *p, int iCo)
#define Tim_ManForEachPi(p, pObj, i)
#define TIM_ETERNITY
MACRO DEFINITIONS ///.
static Tim_Obj_t * Tim_ManCo(Tim_Man_t *p, int i)
#define ABC_INFINITY
MACRO DEFINITIONS ///.
typedefABC_NAMESPACE_HEADER_START struct Tim_Man_t_ Tim_Man_t
INCLUDES ///.
typedefABC_NAMESPACE_HEADER_START struct Tim_Box_t_ Tim_Box_t
INCLUDES ///.
void Tim_ManSetCoRequired(Tim_Man_t *p, int iCo, float Delay)
float * Tim_ManBoxDelayTable(Tim_Man_t *p, int iBox)