307 if ( pObj->
Equiv == 0 )
327 Aig_Obj_t * pObj, * pFanin, * pPrev, * pFan0, * pFan1, * pFanC;
338 printf(
"Warning: Mapper allocates %.3f GB for subject graph with %d objects.\n",
375 for ( pPrev = pObj, pFanin =
Aig_ObjEquiv(pAig, pObj); pFanin; pPrev = pFanin, pFanin =
Aig_ObjEquiv(pAig, pFanin) )
389 printf(
"Performing mapping with %d given and %d created choices.\n",
typedefABC_NAMESPACE_HEADER_START struct Vec_Ptr_t_ Vec_Ptr_t
INCLUDES ///.
Amap_Obj_t * Amap_ManGetLast_rec(Amap_Man_t *p, Amap_Obj_t *pObj)
typedefABC_NAMESPACE_HEADER_START struct Aig_Man_t_ Aig_Man_t
INCLUDES ///.
static int Aig_ManObjNum(Aig_Man_t *p)
static int Amap_ObjPhaseReal(Amap_Obj_t *pObj)
Vec_Ptr_t * Aig_ManDfsChoices(Aig_Man_t *p)
static void Amap_ObjSetChoice(Amap_Obj_t *pObj, Amap_Obj_t *pEqu)
static int Aig_IsComplement(Aig_Obj_t *p)
#define Aig_ManForEachCi(p, pObj, i)
ITERATORS ///.
static Aig_Obj_t * Aig_Regular(Aig_Obj_t *p)
static void Vec_PtrPush(Vec_Ptr_t *p, void *Entry)
#define Aig_ManForEachCo(p, pObj, i)
static int Abc_MaxInt(int a, int b)
static int Vec_PtrSize(Vec_Ptr_t *p)
Amap_Obj_t * Amap_ManCreatePi(Amap_Man_t *p)
FUNCTION DECLARATIONS ///.
Amap_Obj_t * Amap_ManCreatePo(Amap_Man_t *p, Amap_Obj_t *pFan0)
static Amap_Obj_t * Amap_Regular(Amap_Obj_t *p)
Aig_Obj_t * Aig_ObjRecognizeMux(Aig_Obj_t *pObj, Aig_Obj_t **ppObjT, Aig_Obj_t **ppObjE)
static int Amap_ObjToLit(Amap_Obj_t *pObj)
ABC_NAMESPACE_IMPL_START Amap_Obj_t * Amap_ManSetupObj(Amap_Man_t *p)
DECLARATIONS ///.
Amap_Obj_t * Amap_ManCreateConst1(Amap_Man_t *p)
#define ABC_NAMESPACE_IMPL_END
static Amap_Obj_t * Amap_ManConst1(Amap_Man_t *p)
static Aig_Obj_t * Aig_ObjEquiv(Aig_Man_t *p, Aig_Obj_t *pObj)
static Aig_Obj_t * Aig_ObjChild1Copy(Aig_Obj_t *pObj)
int Aig_ObjRecognizeExor(Aig_Obj_t *pObj, Aig_Obj_t **ppFan0, Aig_Obj_t **ppFan1)
Vec_Ptr_t * Aig_ManDfs(Aig_Man_t *p, int fNodesOnly)
char * Aig_MmFixedEntryFetch(Aig_MmFixed_t *p)
static Amap_Obj_t * Amap_AndToObj(Aig_Obj_t *pObj)
static Aig_Obj_t * Aig_ObjChild0Copy(Aig_Obj_t *pObj)
void Amap_ManCreateChoice(Amap_Man_t *p, Amap_Obj_t *pObj)
static Amap_Obj_t * Amap_ObjChoice(Amap_Man_t *p, Amap_Obj_t *pObj)
static Amap_Obj_t * Amap_NotCond(Amap_Obj_t *p, int c)
static Aig_Obj_t * Aig_ManConst1(Aig_Man_t *p)
#define ABC_NAMESPACE_IMPL_START
Amap_Obj_t * Amap_ManCreateMux(Amap_Man_t *p, Amap_Obj_t *pFan0, Amap_Obj_t *pFan1, Amap_Obj_t *pFanC)
void Amap_ManCreateMuxChoices(Amap_Man_t *p, Amap_Obj_t *pFan0, Amap_Obj_t *pFan1, Amap_Obj_t *pFanC, Amap_Obj_t *pChoices[])
void Amap_ManCreateXorChoices(Amap_Man_t *p, Amap_Obj_t *pFan0, Amap_Obj_t *pFan1, Amap_Obj_t *pChoices[])
Amap_Obj_t * Amap_ManCreateXor(Amap_Man_t *p, Amap_Obj_t *pFan0, Amap_Obj_t *pFan1)
void Amap_ManCreate(Amap_Man_t *p, Aig_Man_t *pAig)
int Aig_ObjIsMuxType(Aig_Obj_t *pObj)
static int Abc_Lit2Var(int Lit)
Amap_Obj_t * Amap_ManCreateAnd(Amap_Man_t *p, Amap_Obj_t *pFan0, Amap_Obj_t *pFan1)
static Amap_Obj_t * Amap_Not(Amap_Obj_t *p)
#define Vec_PtrForEachEntry(Type, vVec, pEntry, i)
MACRO DEFINITIONS ///.
void Aig_ManCleanData(Aig_Man_t *p)
static int Aig_ObjIsChoice(Aig_Man_t *p, Aig_Obj_t *pObj)
static void Vec_PtrFree(Vec_Ptr_t *p)