204 unsigned * pCi2Lit, * pMaps;
205 int i, iLit, nFanins = 1, Counter0 = 0,
Counter = 0;
218 else if ( ~pMaps[iLit] )
264 printf(
"Performing sequential cleanup.\n" );
275 if ( fVerbose && fEquiv )
276 printf(
"Merging combinationally equivalent flops.\n" );
Gia_Man_t * Gia_ManDupMarked(Gia_Man_t *p)
static Gia_Obj_t * Gia_ObjSiblObj(Gia_Man_t *p, int Id)
void Gia_ManStop(Gia_Man_t *p)
#define Gia_ManForEachCo(p, pObj, i)
typedefABC_NAMESPACE_IMPL_START struct Vec_Int_t_ Vec_Int_t
DECLARATIONS ///.
static int Abc_Var2Lit(int Var, int fCompl)
int Gia_ManSeqMarkUsed(Gia_Man_t *p)
static int Gia_ObjIsBuf(Gia_Obj_t *pObj)
Gia_Man_t * Gia_ManCleanup(Gia_Man_t *p)
Gia_Man_t * Gia_ManCleanupOutputs(Gia_Man_t *p, int nOutputs)
#define Gia_ManForEachRiRo(p, pObjRi, pObjRo, i)
static Gia_Obj_t * Gia_ObjFanin0(Gia_Obj_t *pObj)
Gia_Man_t * Gia_ManReduceConst(Gia_Man_t *pAig, int fVerbose)
int Gia_ManSeqMarkUsed_rec(Gia_Man_t *p, Gia_Obj_t *pObj, Vec_Int_t *vRoots)
static int Gia_ObjIsRo(Gia_Man_t *p, Gia_Obj_t *pObj)
static Gia_Obj_t * Gia_ObjRoToRi(Gia_Man_t *p, Gia_Obj_t *pObj)
void Gia_ManSetMark0(Gia_Man_t *p)
Gia_Man_t * Gia_ManSeqCleanup(Gia_Man_t *p)
#define ABC_NAMESPACE_IMPL_END
Gia_Man_t * Gia_ManSeqStructSweep(Gia_Man_t *p, int fConst, int fEquiv, int fVerbose)
static void Vec_IntPush(Vec_Int_t *p, int Entry)
static int Gia_ObjId(Gia_Man_t *p, Gia_Obj_t *pObj)
#define Gia_ManForEachPi(p, pObj, i)
static Gia_Obj_t * Gia_ObjNextObj(Gia_Man_t *p, int Id)
void Gia_ManReportImprovement(Gia_Man_t *p, Gia_Man_t *pNew)
static int Gia_ObjFanin0Copy(Gia_Obj_t *pObj)
static Gia_Obj_t * Gia_ObjFanin2(Gia_Man_t *p, Gia_Obj_t *pObj)
static int Gia_ObjIsCo(Gia_Obj_t *pObj)
#define Gia_ManForEachObjVec(vVec, p, pObj, i)
#define ABC_NAMESPACE_IMPL_START
Gia_Man_t * Gia_ManDupDfsCiMap(Gia_Man_t *p, int *pCi2Lit, Vec_Int_t *vLits)
static int Gia_ManCiNum(Gia_Man_t *p)
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)
static int Gia_ObjFaninId0p(Gia_Man_t *p, Gia_Obj_t *pObj)
ABC_NAMESPACE_IMPL_START int Gia_ManCombMarkUsed_rec(Gia_Man_t *p, Gia_Obj_t *pObj)
DECLARATIONS ///.
static Gia_Obj_t * Gia_ObjFanin1(Gia_Obj_t *pObj)
Gia_Man_t * Gia_ManReduceEquiv(Gia_Man_t *p, int fVerbose)
#define Gia_ManForEachBuf(p, pObj, i)
Vec_Int_t * Gia_ManCollectPoIds(Gia_Man_t *p)
#define Gia_ManForEachRi(p, pObj, i)
static int Gia_ObjFaninC0(Gia_Obj_t *pObj)
static void Vec_IntFree(Vec_Int_t *p)
static int Gia_ManPiNum(Gia_Man_t *p)
int Gia_ManCombMarkUsed(Gia_Man_t *p)
#define ABC_FALLOC(type, num)
static int Gia_ManCoNum(Gia_Man_t *p)
static int Gia_ManRegNum(Gia_Man_t *p)