21 #ifndef ABC__base__wlc__wlc_h
22 #define ABC__base__wlc__wlc_h
206 #define Wlc_NtkForEachObj( p, pObj, i ) \
207 for ( i = 1; (i < Wlc_NtkObjNumMax(p)) && (((pObj) = Wlc_NtkObj(p, i)), 1); i++ )
208 #define Wlc_NtkForEachObjVec( vVec, p, pObj, i ) \
209 for ( i = 0; (i < Vec_IntSize(vVec)) && (((pObj) = Wlc_NtkObj(p, Vec_IntEntry(vVec, i))), 1); i++ )
210 #define Wlc_NtkForEachPi( p, pPi, i ) \
211 for ( i = 0; (i < Wlc_NtkPiNum(p)) && (((pPi) = Wlc_NtkPi(p, i)), 1); i++ )
212 #define Wlc_NtkForEachPo( p, pPo, i ) \
213 for ( i = 0; (i < Wlc_NtkPoNum(p)) && (((pPo) = Wlc_NtkPo(p, i)), 1); i++ )
214 #define Wlc_NtkForEachCi( p, pCi, i ) \
215 for ( i = 0; (i < Wlc_NtkCiNum(p)) && (((pCi) = Wlc_NtkCi(p, i)), 1); i++ )
216 #define Wlc_NtkForEachCo( p, pCo, i ) \
217 for ( i = 0; (i < Wlc_NtkCoNum(p)) && (((pCo) = Wlc_NtkCo(p, i)), 1); i++ )
218 #define Wlc_NtkForEachFf( p, pFf, i ) \
219 for ( i = 0; (i < Vec_IntSize(&p->vFfs)) && (((pFf) = Wlc_NtkFf(p, i)), 1); i++ )
221 #define Wlc_ObjForEachFanin( pObj, iFanin, i ) \
222 for ( i = 0; (i < Wlc_ObjFaninNum(pObj)) && (((iFanin) = Wlc_ObjFaninId(pObj, i)), 1); i++ )
223 #define Wlc_ObjForEachFaninReverse( pObj, iFanin, i ) \
224 for ( i = Wlc_ObjFaninNum(pObj) - 1; (i >= 0) && (((iFanin) = Wlc_ObjFaninId(pObj, i)), 1); i-- )
static Wlc_Obj_t * Wlc_NtkPo(Wlc_Ntk_t *p, int i)
static Wlc_Obj_t * Wlc_NtkPi(Wlc_Ntk_t *p, int i)
static int Wlc_NtkCoNum(Wlc_Ntk_t *p)
Wlc_Ntk_t * Wlc_NtkAlloc(char *pName, int nObjsAlloc)
FUNCTION DEFINITIONS ///.
typedefABC_NAMESPACE_HEADER_START struct Vec_Ptr_t_ Vec_Ptr_t
INCLUDES ///.
Vec_Int_t * Wlc_NtkCollectMultipliers(Wlc_Ntk_t *p)
Wlc_Ntk_t * Wlc_NtkAbstractNodes(Wlc_Ntk_t *pNtk, Vec_Int_t *vNodes)
static int Wlc_ObjId(Wlc_Ntk_t *p, Wlc_Obj_t *pObj)
char * Wlc_ObjName(Wlc_Ntk_t *p, int iObj)
static Wlc_Obj_t * Wlc_ObjFanin2(Wlc_Ntk_t *p, Wlc_Obj_t *pObj)
static Wlc_Obj_t * Wlc_ObjFoToFi(Wlc_Ntk_t *p, Wlc_Obj_t *pObj)
static int Wlc_ObjFaninId1(Wlc_Obj_t *p)
static int Wlc_ObjCiId(Wlc_Obj_t *p)
static int Wlc_ObjIsSigned(Wlc_Obj_t *p)
void Wlc_NtkPrintStats(Wlc_Ntk_t *p, int fDistrib, int fVerbose)
typedefABC_NAMESPACE_IMPL_START struct Vec_Int_t_ Vec_Int_t
DECLARATIONS ///.
static int Wlc_NtkObjNum(Wlc_Ntk_t *p)
static Wlc_Obj_t * Wlc_NtkObj(Wlc_Ntk_t *p, int Id)
static int Abc_Var2Lit(int Var, int fCompl)
int nObjs[WLC_OBJ_NUMBER]
void Wlc_NtkTransferNames(Wlc_Ntk_t *pNew, Wlc_Ntk_t *p)
static int Wlc_ObjRangeEnd(Wlc_Obj_t *p)
static Wlc_Obj_t * Wlc_ObjFanin0(Wlc_Ntk_t *p, Wlc_Obj_t *pObj)
static Wlc_Obj_t * Wlc_NtkCo(Wlc_Ntk_t *p, int i)
static Wlc_Obj_t * Wlc_ObjFanin(Wlc_Ntk_t *p, Wlc_Obj_t *pObj, int i)
static int Wlc_ObjSign(Wlc_Obj_t *p)
static int Wlc_NtkFfNum(Wlc_Ntk_t *p)
void Wlc_WriteVer(Wlc_Ntk_t *p, char *pFileName)
static Wlc_Obj_t * Wlc_NtkFf(Wlc_Ntk_t *p, int i)
static int Wlc_ObjRange(Wlc_Obj_t *p)
static void Wlc_NtkCleanCopy(Wlc_Ntk_t *p)
void Wlc_ObjUpdateType(Wlc_Ntk_t *p, Wlc_Obj_t *pObj, int Type)
int Wlc_ObjAlloc(Wlc_Ntk_t *p, int Type, int Signed, int End, int Beg)
static word * Wlc_ObjTable(Wlc_Ntk_t *p, Wlc_Obj_t *pObj)
Wlc_ObjType_t
INCLUDES ///.
static int Wlc_ObjFaninId0(Wlc_Obj_t *p)
static void Wlc_NtkCleanNameId(Wlc_Ntk_t *p)
static int Wlc_NtkHasNameId(Wlc_Ntk_t *p)
static void Vec_IntWriteEntry(Vec_Int_t *p, int i, int Entry)
static void Wlc_ObjSetCopy(Wlc_Ntk_t *p, int iObj, int i)
static int Wlc_NtkPoNum(Wlc_Ntk_t *p)
int Wlc_ObjCreate(Wlc_Ntk_t *p, int Type, int Signed, int End, int Beg, Vec_Int_t *vFanins)
static int Wlc_NtkCiNum(Wlc_Ntk_t *p)
void Wlc_ObjSetCi(Wlc_Ntk_t *p, Wlc_Obj_t *pObj)
int Wlc_NtkPairIsUifable(Wlc_Ntk_t *p, Wlc_Obj_t *pObj, Wlc_Obj_t *pObj2)
FUNCTION DECLARATIONS ///.
static int Wlc_ObjFaninNum(Wlc_Obj_t *p)
static int Wlc_ObjHasArray(Wlc_Obj_t *p)
static int Vec_IntEntry(Vec_Int_t *p, int i)
unsigned __int64 word
DECLARATIONS ///.
void Wlc_NtkPrintNodes(Wlc_Ntk_t *p, int Type)
static void Vec_IntFill(Vec_Int_t *p, int nSize, int Fill)
static int Wlc_ObjIsCi(Wlc_Obj_t *p)
static int Wlc_ObjNameId(Wlc_Ntk_t *p, int iObj)
void Wlc_NtkFree(Wlc_Ntk_t *p)
#define ABC_NAMESPACE_HEADER_START
NAMESPACES ///.
static int * Wlc_ObjConstValue(Wlc_Obj_t *p)
int nAnds[WLC_OBJ_NUMBER]
static Wlc_Obj_t * Wlc_ObjCopyObj(Wlc_Ntk_t *pNew, Wlc_Ntk_t *p, Wlc_Obj_t *pObj)
static void Wlc_ObjSetNameId(Wlc_Ntk_t *p, int iObj, int i)
static int Wlc_ObjRangeBeg(Wlc_Obj_t *p)
#define ABC_NAMESPACE_HEADER_END
static void * Vec_PtrEntry(Vec_Ptr_t *p, int i)
Wlc_Ntk_t * Wlc_NtkDupDfs(Wlc_Ntk_t *p)
static Wlc_Obj_t * Wlc_NtkCi(Wlc_Ntk_t *p, int i)
static int Wlc_ObjCopy(Wlc_Ntk_t *p, int iObj)
static int Wlc_ObjFaninId(Wlc_Obj_t *p, int i)
Gia_Man_t * Wlc_NtkBitBlast(Wlc_Ntk_t *p, Vec_Int_t *vBoxIds)
static int Vec_IntSize(Vec_Int_t *p)
static int Wlc_ObjTableId(Wlc_Obj_t *p)
static int Wlc_ObjIsCo(Wlc_Obj_t *p)
static int * Wlc_ObjFanins(Wlc_Obj_t *p)
void Wlc_ObjAddFanins(Wlc_Ntk_t *p, Wlc_Obj_t *pObj, Vec_Int_t *vFanins)
Wlc_Ntk_t * Wlc_NtkUifNodePairs(Wlc_Ntk_t *pNtk, Vec_Int_t *vPairs)
static Wlc_Obj_t * Wlc_ObjFanin1(Wlc_Ntk_t *p, Wlc_Obj_t *pObj)
static int Wlc_NtkObjNumMax(Wlc_Ntk_t *p)
Vec_Int_t * Wlc_NtkFindUifableMultiplierPairs(Wlc_Ntk_t *p)
void Wlc_ObjSetCo(Wlc_Ntk_t *p, Wlc_Obj_t *pObj, int fFlopInput)
typedefABC_NAMESPACE_HEADER_START struct Abc_Nam_t_ Abc_Nam_t
INCLUDES ///.
static int Wlc_NtkPiNum(Wlc_Ntk_t *p)
static int Wlc_NtkHasCopy(Wlc_Ntk_t *p)
static int Wlc_ObjFaninId2(Wlc_Obj_t *p)
static int Wlc_ObjIsSignedFanin01(Wlc_Ntk_t *p, Wlc_Obj_t *pObj)
static int Wlc_ObjIsPo(Wlc_Obj_t *p)
Wlc_Ntk_t * Wlc_ReadVer(char *pFileName)
static int Wlc_ObjIsPi(Wlc_Obj_t *p)