129 int iFunc, iFunc0, iFunc1, iFunc2 = 0;
144 for ( pTemp = pObj; pTemp; pTemp =
Mig_ObjSibl(pTemp) )
203 Abc_Print( -1,
"Mpm_ManNodeIfToGia(): Computing local AIG has failed.\n" );
218 Vec_Int_t * vMapping, * vMapping2, * vPacking = NULL;
219 Vec_Int_t * vLeaves, * vLeaves2, * vCover;
220 word uTruth, * pTruth = &uTruth;
221 int i, k, Entry, iLitNew;
259 iLitNew =
Gia_ManFromIfLogicNode( NULL, pNew,
Mig_ObjId(pObj), vLeaves, vLeaves2, pTruth, NULL, vCover, vMapping, vMapping2, vPacking, 0, 0 );
static int Gia_ObjFanin2Copy(Gia_Man_t *p, Gia_Obj_t *pObj)
static void Mpm_CutSetDataInt(Mpm_Cut_t *pCut, int Data)
static int Gia_ManAppendAnd(Gia_Man_t *p, int iLit0, int iLit1)
static int Mig_ObjCopy(Mig_Obj_t *p)
static int Mig_ManObjNum(Mig_Man_t *p)
static void Mig_ObjSetSiblId(Mig_Obj_t *p, int s)
static int Mig_ObjIsMux(Mig_Obj_t *p)
typedefABC_NAMESPACE_HEADER_START struct Vec_Ptr_t_ Vec_Ptr_t
INCLUDES ///.
static void Mig_ObjSetPhase(Mig_Obj_t *p, int v)
static Gia_Obj_t * Gia_ObjSiblObj(Gia_Man_t *p, int Id)
static int Gia_ManAppendXor(Gia_Man_t *p, int iLit0, int iLit1)
static Mig_Obj_t * Mig_ManObj(Mig_Man_t *p, int v)
static int Mig_ObjIsNode3(Mig_Obj_t *p)
#define Gia_ManForEachCo(p, pObj, i)
static int Gia_ObjFaninC1(Gia_Obj_t *pObj)
static int Gia_ManAppendCo(Gia_Man_t *p, int iLit0)
int Gia_ManHashXor(Gia_Man_t *p, int iLit0, int iLit1)
static void Vec_IntFillExtra(Vec_Int_t *p, int nSize, int Fill)
typedefABC_NAMESPACE_IMPL_START struct Vec_Int_t_ Vec_Int_t
DECLARATIONS ///.
static int Mig_ObjIsTerm(Mig_Obj_t *p)
static int Mig_ObjFaninC0(Mig_Obj_t *p)
static int Gia_ManAppendCi(Gia_Man_t *p)
void Gia_ManCleanMark0(Gia_Man_t *p)
static int Mig_ManAppendXor(Mig_Man_t *p, int iLit0, int iLit1)
static int Mig_ObjFanin1Copy(Gia_Obj_t *pObj)
static int Mig_ObjIsNode(Mig_Obj_t *p)
#define Mig_ManForEachObj(p, pObj)
MACRO DEFINITIONS ///.
static unsigned Mpm_CutDataInt(Mpm_Cut_t *pCut)
static void Vec_PtrPush(Vec_Ptr_t *p, void *Entry)
static void Vec_IntSetEntry(Vec_Int_t *p, int i, int Entry)
static int Mig_ObjPhase(Mig_Obj_t *p)
static int Mig_ManAppendCo(Mig_Man_t *p, int iLit0)
static int Mig_ObjIsCi(Mig_Obj_t *p)
static Mig_Obj_t * Mig_ObjSibl(Mig_Obj_t *p)
static int Abc_LitNotCond(int Lit, int c)
static int Mig_ObjId(Mig_Obj_t *p)
static int Gia_ManHasChoices(Gia_Man_t *p)
static int Mig_ObjIsConst0(Mig_Obj_t *p)
static Mig_Obj_t * Mig_ObjFanin1(Mig_Obj_t *p)
static void Vec_IntWriteEntry(Vec_Int_t *p, int i, int Entry)
static int Gia_ManAppendMux(Gia_Man_t *p, int iCtrl, int iData1, int iData0)
static int Gia_ObjSibl(Gia_Man_t *p, int Id)
static Vec_Int_t * Vec_IntStart(int nSize)
static int Abc_LitIsCompl(int Lit)
static int Gia_ObjIsMuxId(Gia_Man_t *p, int iObj)
static Gia_Obj_t * Gia_ObjFanin0(Gia_Obj_t *pObj)
static Vec_Int_t * Vec_IntAlloc(int nCap)
FUNCTION DEFINITIONS ///.
int Mpm_ManNodeIfToGia_rec(Gia_Man_t *pNew, Mpm_Man_t *pMan, Mig_Obj_t *pObj, Vec_Ptr_t *vVisited, int fHash)
static int Gia_ObjFanin1Copy(Gia_Obj_t *pObj)
static void Vec_IntAddToEntry(Vec_Int_t *p, int i, int Addition)
void Gia_ObjSetPhase(Gia_Man_t *p, Gia_Obj_t *pObj)
static void Mig_ManSetRegNum(Mig_Man_t *p, int v)
static int Vec_IntEntry(Vec_Int_t *p, int i)
unsigned __int64 word
DECLARATIONS ///.
#define ABC_NAMESPACE_IMPL_END
int Gia_ManHashMux(Gia_Man_t *p, int iCtrl, int iData1, int iData0)
static void Vec_IntFill(Vec_Int_t *p, int nSize, int Fill)
void * Mpm_ManFromIfLogic(Mpm_Man_t *pMan)
static Mig_Obj_t * Mig_ObjFanin0(Mig_Obj_t *p)
#define Mpm_CutForEachLeaf(p, pCut, pLeaf, i)
Gia_Man_t * Gia_ManStart(int nObjsMax)
DECLARATIONS ///.
static int Gia_ObjIsXor(Gia_Obj_t *pObj)
ABC_NAMESPACE_IMPL_START void Mig_ManCreateChoices(Mig_Man_t *pMig, Gia_Man_t *p)
DECLARATIONS ///.
static void Vec_IntPush(Vec_Int_t *p, int Entry)
static int Gia_ObjId(Gia_Man_t *p, Gia_Obj_t *pObj)
static int Mig_ObjIsXor(Mig_Obj_t *p)
static void Mig_ManCleanCopy(Mig_Man_t *p)
static void Abc_Print(int level, const char *format,...)
static word * Mpm_CutTruth(Mpm_Man_t *p, int iFunc)
static Mig_Obj_t * Mig_ObjFanin2(Mig_Obj_t *p)
static int Gia_ObjFanin0Copy(Gia_Obj_t *pObj)
static int Mig_ObjFaninC1(Mig_Obj_t *p)
static int Gia_ObjIsCo(Gia_Obj_t *pObj)
#define ABC_NAMESPACE_IMPL_START
static int Abc_LitNot(int Lit)
static int Vec_IntSize(Vec_Int_t *p)
static int Mig_ObjFaninC2(Mig_Obj_t *p)
static int Mpm_ObjMapRef(Mpm_Man_t *p, Mig_Obj_t *pObj)
static void Mig_ObjSetCopy(Mig_Obj_t *p, int i)
static int Mig_ManAppendMux(Mig_Man_t *p, int iLit0, int iLit1, int iCtrl)
static void Vec_IntShrink(Vec_Int_t *p, int nSizeNew)
static int Gia_ObjIsAnd(Gia_Obj_t *pObj)
#define Gia_ManForEachObj(p, pObj, i)
MACRO DEFINITIONS ///.
static Gia_Obj_t * Gia_ManConst0(Gia_Man_t *p)
int Mpm_ManNodeIfToGia(Gia_Man_t *pNew, Mpm_Man_t *pMan, Mig_Obj_t *pObj, Vec_Int_t *vLeaves, int fHash)
static int Abc_Lit2Var(int Lit)
static int Gia_ObjFaninId0p(Gia_Man_t *p, Gia_Obj_t *pObj)
static int Mig_ManAppendAnd(Mig_Man_t *p, int iLit0, int iLit1)
static Gia_Obj_t * Gia_ObjFanin1(Gia_Obj_t *pObj)
static Mpm_Cut_t * Mpm_ObjCutBestP(Mpm_Man_t *p, Mig_Obj_t *pObj)
ABC_NAMESPACE_IMPL_START Mig_Man_t * Mig_ManStart()
DECLARATIONS ///.
static void Vec_PtrClear(Vec_Ptr_t *p)
static int Gia_ObjIsLut(Gia_Man_t *p, int Id)
#define Gia_ManForEachObj1(p, pObj, i)
int Gia_ManFromIfLogicNode(void *pIfMan, Gia_Man_t *pNew, int iObj, Vec_Int_t *vLeaves, Vec_Int_t *vLeavesTemp, word *pRes, char *pStr, Vec_Int_t *vCover, Vec_Int_t *vMapping, Vec_Int_t *vMapping2, Vec_Int_t *vPacking, int fCheck75, int fCheck44e)
static int Gia_ObjFaninC0(Gia_Obj_t *pObj)
static int Mig_ManAppendCi(Mig_Man_t *p)
static void Vec_IntFree(Vec_Int_t *p)
#define Vec_PtrForEachEntry(Type, vVec, pEntry, i)
MACRO DEFINITIONS ///.
Mig_Man_t * Mig_ManCreate(void *pGia)
FUNCTION DECLARATIONS ///.
word Mpm_CutTruthFromDsd(Mpm_Man_t *pMan, Mpm_Cut_t *pCut, int iClass)
static void Vec_IntClear(Vec_Int_t *p)
static int Gia_ObjIsCi(Gia_Obj_t *pObj)
static int Mig_ObjIsCo(Mig_Obj_t *p)
char * Abc_UtilStrsav(char *s)
#define Vec_IntForEachEntry(vVec, Entry, i)
MACRO DEFINITIONS ///.
int Gia_ManHashAnd(Gia_Man_t *p, int iLit0, int iLit1)
static int Gia_ManObjNum(Gia_Man_t *p)
void Gia_ManMarkFanoutDrivers(Gia_Man_t *p)
static int Mig_ObjFanin0Copy(Gia_Obj_t *pObj)
static int Gia_ManRegNum(Gia_Man_t *p)