31 #define Abc_ObjForEachFaninReal( pObj, pFanin, i ) \
32 for ( i = 0; (i < Abc_ObjFaninNum(pObj)) && (((pFanin) = Abc_ObjFaninReal(pObj, i)), 1); i++ )
135 int i, Value, nFanins;
141 for ( i = 0; i < nFanins; i++ )
156 else if ( Value ==
'0' )
194 char * pSop = (
char *)pObj->
pData;
223 gFanins[k] = pTerm->iTemp;
224 assert( gFanins[k] >= 0 );
358 char * pSop = (
char *)pObj->
pData;
363 gFanins[k] = pTerm->
iTemp;
364 assert( gFanins[k] >= 0 );
488 if ( pNtk->
iStep >= 0 )
539 if ( pNtk->
iStep >= 0 )
564 printf(
"Instances = %10d.\n", Counter );
584 if ( pNtk->
dTemp >= 0 )
612 printf(
"Nodes = %.0f\n", Counter );
631 int i, k, RetValue = 0;
645 printf(
"WARNING: Model \"%s\" contains a recursive defition.\n",
Abc_NtkName(pModel) );
679 printf(
"Reading BLIF file has failed.\n" );
684 printf(
"There is no hierarchy information.\n" );
Vec_Ptr_t * Abc_NtkCollectHie(Abc_Ntk_t *pNtk)
Abc_Ntk_t * Io_ReadBlifMv(char *pFileName, int fBlifMv, int fCheck)
FUNCTION DEFINITIONS ///.
void Abc_NtkDfsBoxes_rec(Abc_Obj_t *pNode, Vec_Ptr_t *vNodes)
typedefABC_NAMESPACE_HEADER_START struct Vec_Ptr_t_ Vec_Ptr_t
INCLUDES ///.
void Gia_ManStop(Gia_Man_t *p)
void Gia_ManPrintStats(Gia_Man_t *p, Gps_Par_t *pPars)
static int Abc_ObjIsBo(Abc_Obj_t *pObj)
static int Gia_ManPoNum(Gia_Man_t *p)
static int Gia_ManAppendCo(Gia_Man_t *p, int iLit0)
int Gia_ManHashXor(Gia_Man_t *p, int iLit0, int iLit1)
static int Abc_NtkIsNetlist(Abc_Ntk_t *pNtk)
static Gia_Obj_t * Gia_ManPo(Gia_Man_t *p, int v)
ABC_DLL void Abc_NtkFillTemp(Abc_Ntk_t *pNtk)
void Abc_NtkCountNodes(Abc_Ntk_t *pNtk)
#define Abc_SopForEachCube(pSop, nFanins, pCube)
void Abc_NtkCollectHie_rec(Abc_Ntk_t *pNtk, Vec_Ptr_t *vModels)
static int Abc_ObjFanoutNum(Abc_Obj_t *pObj)
static int Gia_ManAppendCi(Gia_Man_t *p)
static int Abc_ObjFaninNum(Abc_Obj_t *pObj)
int Abc_NtkCountAndNodes(Vec_Ptr_t *vOrder)
static int Abc_NtkLatchNum(Abc_Ntk_t *pNtk)
static int Abc_ObjIsPi(Abc_Obj_t *pObj)
static void Vec_PtrPush(Vec_Ptr_t *p, void *Entry)
Gia_Man_t * Abc_NtkDeriveFlatGia2Derive(Abc_Ntk_t *pNtk, Vec_Ptr_t *vOrder)
void Gia_ManSetRegNum(Gia_Man_t *p, int nRegs)
#define Abc_CubeForEachVar(pCube, Value, i)
ABC_DLL int Abc_SopIsExorType(char *pSop)
static abctime Abc_Clock()
static int Vec_PtrSize(Vec_Ptr_t *p)
Gia_Man_t * Abc_NtkHieCecTest(char *pFileName, int fVerbose)
static Abc_Obj_t * Abc_ObjFanin0(Abc_Obj_t *pObj)
double Abc_NtkCountNodes_rec(Abc_Ntk_t *pNtk)
ABC_DLL void Abc_NtkDelete(Abc_Ntk_t *pNtk)
void Gia_ManStopP(Gia_Man_t **p)
static void Abc_PrintTime(int level, const char *pStr, abctime time)
static int Abc_ObjIsNode(Abc_Obj_t *pObj)
static int Abc_NtkNodeNum(Abc_Ntk_t *pNtk)
static int Gia_ManAndNum(Gia_Man_t *p)
static Gia_Obj_t * Gia_ManPi(Gia_Man_t *p, int v)
static Abc_Obj_t * Abc_ObjFaninReal(Abc_Obj_t *pObj, int i)
FUNCTION DEFINITIONS ///.
static int Gia_ObjFanin1Copy(Gia_Obj_t *pObj)
int Abc_NtkDeriveFlatGiaSop(Gia_Man_t *pGia, int *gFanins, char *pSop)
#define ABC_NAMESPACE_IMPL_END
Gia_Man_t * Gia_ManStart(int nObjsMax)
DECLARATIONS ///.
#define Gia_ManForEachAnd(p, pObj, i)
void Gia_ManFillValue(Gia_Man_t *p)
static int Gia_ObjFanin0Copy(Gia_Obj_t *pObj)
void Abc_NtkDeriveFlatGia_rec(Gia_Man_t *pGia, Abc_Ntk_t *pNtk)
#define ABC_NAMESPACE_IMPL_START
static int Abc_NodeIsTravIdCurrent(Abc_Obj_t *p)
static int Abc_LitNot(int Lit)
Vec_Ptr_t * Abc_NtkDfsBoxes(Abc_Ntk_t *pNtk)
#define Abc_ObjForEachFanout(pObj, pFanout, i)
static char * Abc_NtkName(Abc_Ntk_t *pNtk)
static Abc_Obj_t * Abc_NtkPo(Abc_Ntk_t *pNtk, int i)
static int Abc_NtkPoNum(Abc_Ntk_t *pNtk)
static Vec_Ptr_t * Vec_PtrAlloc(int nCap)
FUNCTION DEFINITIONS ///.
#define Abc_ObjForEachFanin(pObj, pFanin, i)
static int Abc_NtkPiNum(Abc_Ntk_t *pNtk)
Gia_Man_t * Abc_NtkDeriveFlatGia(Abc_Ntk_t *pNtk)
Gia_Man_t * Au_ManDeriveTest(Abc_Ntk_t *pRoot)
static void Abc_NtkIncrementTravId(Abc_Ntk_t *p)
static Gia_Obj_t * Gia_ManConst0(Gia_Man_t *p)
ABC_DLL int Abc_SopGetVarNum(char *pSop)
ABC_DLL void Abc_NtkPrintBoxInfo(Abc_Ntk_t *pNtk)
static int Abc_ObjIsPo(Abc_Obj_t *pObj)
#define Abc_ObjForEachFaninReal(pObj, pFanin, i)
DECLARATIONS ///.
static int Abc_ObjIsBox(Abc_Obj_t *pObj)
void Gia_ManHashAlloc(Gia_Man_t *p)
static char * Abc_NtkSpec(Abc_Ntk_t *pNtk)
static Abc_Obj_t * Abc_NtkPi(Abc_Ntk_t *pNtk, int i)
#define Abc_NtkForEachPo(pNtk, pPo, i)
static Abc_Obj_t * Abc_ObjFanin(Abc_Obj_t *pObj, int i)
#define Vec_PtrForEachEntry(Type, vVec, pEntry, i)
MACRO DEFINITIONS ///.
static int Gia_ManPiNum(Gia_Man_t *p)
Gia_Man_t * Abc_NtkDeriveFlatGia2(Abc_Ntk_t *pNtk, Vec_Ptr_t *vModels)
Gia_Man_t * Gia_ManCleanup(Gia_Man_t *p)
#define Abc_NtkForEachObj(pNtk, pObj, i)
ITERATORS ///.
char * Abc_UtilStrsav(char *s)
ABC_DLL int Abc_SopIsComplement(char *pSop)
void Abc_NtkCountInst(Abc_Ntk_t *pNtk)
int Gia_ManHashAnd(Gia_Man_t *p, int iLit0, int iLit1)
int Abc_NtkCountInst_rec(Abc_Ntk_t *pNtk)
static Abc_Obj_t * Abc_ObjFanout0(Abc_Obj_t *pObj)
#define Abc_NtkForEachPi(pNtk, pPi, i)
static void Abc_NodeSetTravIdCurrent(Abc_Obj_t *p)
static void Vec_PtrFree(Vec_Ptr_t *p)
void Gia_ManHashStop(Gia_Man_t *p)
int Abc_NtkCheckRecursive(Abc_Ntk_t *pNtk)