128 int fVeryVerbose = 0;
180 Abc_Print( 1,
"S%d: Fi = %6.2f. Del = %6.2f. Area = %8.2f. Cuts = %8d. ",
201 int i, c, fConverged;
272 if ( FiMin + 1 == FiMax )
275 p->
Period = FiMin + (FiMax - FiMin)/2;
295 If_Obj_t * pObjLi, * pObjLo, * pObj;
361 Abc_Print( 1,
"If_ManPerformMappingSeq(): The upper bound on the clock period cannot be computed.\n" );
369 if ( p->
Period != PeriodBest )
374 Abc_Print( 1,
"If_ManPerformMappingSeq(): The final clock period cannot be confirmed.\n" );
#define If_ManForEachPi(p, pObj, i)
static int If_ObjIsLatch(If_Obj_t *pObj)
typedefABC_NAMESPACE_HEADER_START struct Vec_Ptr_t_ Vec_Ptr_t
INCLUDES ///.
static void If_ObjSetLValue(If_Obj_t *pObj, float LValue)
#define If_ManForEachNode(p, pObj, i)
static int If_ObjIsAnd(If_Obj_t *pObj)
#define If_ManForEachLatchInput(p, pObj, i)
int If_ManBinarySearch_rec(If_Man_t *p, int FiMin, int FiMax)
static int If_ObjFaninC0(If_Obj_t *pObj)
void If_ObjPerformMappingAnd(If_Man_t *p, If_Obj_t *pObj, int Mode, int fPreprocess, int fFirst)
static If_Obj_t * If_ObjFanin0(If_Obj_t *pObj)
static void Vec_PtrPush(Vec_Ptr_t *p, void *Entry)
#define ABC_ALLOC(type, num)
static If_Cut_t * If_ObjCutBest(If_Obj_t *pObj)
int If_ManPerformMappingRound(If_Man_t *p, int nCutsUsed, int Mode, int fPreprocess, int fFirst, char *pLabel)
static abctime Abc_Clock()
static int Vec_PtrSize(Vec_Ptr_t *p)
#define If_ManForEachPo(p, pObj, i)
int If_ManPerformMappingRoundSeq(If_Man_t *p, int nIter)
static void Abc_PrintTime(int level, const char *pStr, abctime time)
#define If_ManForEachObj(p, pObj, i)
int If_ManBinarySearchPeriod(If_Man_t *p)
void If_ObjPerformMappingChoice(If_Man_t *p, If_Obj_t *pObj, int Mode, int fPreprocess)
int If_ManPerformMappingComb(If_Man_t *p)
#define ABC_NAMESPACE_IMPL_END
static If_Obj_t * If_ManConst1(If_Man_t *p)
static If_Obj_t * If_ManCi(If_Man_t *p, int i)
static void If_ObjSetArrTime(If_Obj_t *pObj, float ArrTime)
Vec_Ptr_t * If_ManCollectLatches(If_Man_t *p)
static void Abc_Print(int level, const char *format,...)
#define ABC_NAMESPACE_IMPL_START
void If_ManCollectLatches_rec(If_Obj_t *pObj, Vec_Ptr_t *vLatches)
float If_ManDelayMax(If_Man_t *p, int fSeq)
void If_ManPrepareMappingSeq(If_Man_t *p)
FUNCTION DEFINITIONS ///.
#define If_ManForEachLatchOutput(p, pObj, i)
ABC_NAMESPACE_IMPL_START abctime s_MappingTime
DECLARATIONS ///.
static Vec_Ptr_t * Vec_PtrAlloc(int nCap)
FUNCTION DEFINITIONS ///.
void If_ManPerformMappingSeqPost(If_Man_t *p)
static If_Obj_t * If_ManLo(If_Man_t *p, int i)
static int If_ManCoNum(If_Man_t *p)
static float If_ObjLValue(If_Obj_t *pObj)
static If_Obj_t * If_ManLi(If_Man_t *p, int i)
#define Vec_PtrForEachEntry(Type, vVec, pEntry, i)
MACRO DEFINITIONS ///.
void If_ManMarkMapping(If_Man_t *p)
int If_ManPerformMappingSeq(If_Man_t *p)