/**Function************************************************************* Synopsis [Computes delay.] Description [] SideEffects [] SeeAlso [] ***********************************************************************/ float If_CutDelay( If_Man_t * p, If_Cut_t * pCut ) { static int pPinPerm[IF_MAX_LUTSIZE]; static float pPinDelays[IF_MAX_LUTSIZE]; If_Obj_t * pLeaf; float Delay, DelayCur; float * pLutDelays; int i, Shift; assert( p->pPars->fSeqMap || pCut->nLeaves > 1 ); Delay = -IF_FLOAT_LARGE; if ( p->pPars->pLutLib ) { assert( !p->pPars->fLiftLeaves ); pLutDelays = p->pPars->pLutLib->pLutDelays[pCut->nLeaves]; if ( p->pPars->pLutLib->fVarPinDelays ) { // compute the delay using sorted pins If_CutSortInputPins( p, pCut, pPinPerm, pPinDelays ); for ( i = 0; i < (int)pCut->nLeaves; i++ ) { DelayCur = pPinDelays[pPinPerm[i]] + pLutDelays[i]; Delay = IF_MAX( Delay, DelayCur ); } } else { If_CutForEachLeaf( p, pCut, pLeaf, i ) { DelayCur = If_ObjCutBest(pLeaf)->Delay + pLutDelays[0]; Delay = IF_MAX( Delay, DelayCur ); } }
static void event(void) { #if MQX_USE_EVENTS IF_TINIEST(pointer handle=0); IF_TINIEST(_mqx_uint value=0); IF_SMALL(_event_create_component(1, 1, 1)); IF_SMALL(_event_create_fast(1)); IF_SMALL(_event_create_fast_auto_clear(1)); IF_SMALL(_event_open("e", &handle)); IF_SMALL(_event_set(handle, 0)); IF_SMALL(_event_clear(handle, 0)); IF_SMALL(_event_wait_all(handle, 0, 0)); IF_TYPICAL(_event_close(handle)); IF_TYPICAL(_event_create("e")); IF_MAX(_event_create_auto_clear("e")); IF_TYPICAL(_event_destroy("e")); IF_MAX(_event_destroy_fast(1)); IF_MAX(_event_get_value(handle, &value)); IF_MAX(_event_get_wait_count(handle)); IF_MAX(_event_open_fast(1, &handle)); IF_MAX(_event_test(&handle)); IF_MAX(_event_wait_all_for(handle, 0, NULL)); IF_TYPICAL(_event_wait_all_ticks(handle, 0, 0)); IF_MAX(_event_wait_all_until(handle, 0, NULL)); IF_MAX(_event_wait_any(handle, 0, 0)); IF_MAX(_event_wait_any_for(handle, 0, NULL)); IF_TYPICAL(_event_wait_any_ticks(handle, 0, 0)); IF_MAX(_event_wait_any_until(handle, 0, NULL)); #endif }