36 #define AU_MAX_FANINS 0x1FFFFFFF
112 static inline int Au_Var2Lit(
int Var,
int fCompl ) {
return Var + Var + fCompl; }
115 static inline int Au_LitNot(
int Lit ) {
return Lit ^ 1; }
116 static inline int Au_LitNotCond(
int Lit,
int c ) {
return Lit ^ (int)(c > 0); }
199 #define Au_ManForEachNtk( p, pNtk, i ) \
200 for ( i = 1; (i < Vec_PtrSize(&p->vNtks)) && (((pNtk) = Au_ManNtk(p, i)), 1); i++ )
201 #define Au_ManForEachNtkReverse( p, pNtk, i ) \
202 for ( i = Vec_PtrSize(&p->vNtks) - 1;(i>=1) && (((pNtk) = Au_ManNtk(p, i)), 1); i-- )
204 #define Au_ObjForEachFaninId( pObj, hFanin, i ) \
205 for ( i = 0; (i < Au_ObjFaninNum(pObj)) && (((hFanin) = Au_ObjFaninId(pObj, i)), 1); i++ )
206 #define Au_BoxForEachFanoutId( pObj, hFanout, i) \
207 for ( i = 0; (i < Au_BoxFanoutNum(pObj)) && (((hFanout) = Au_BoxFanoutId(pObj, i)), 1); i++ )
209 #define Au_ObjForEachFanin( pObj, pFanin, i ) \
210 for ( i = 0; (i < Au_ObjFaninNum(pObj)) && (((pFanin) = Au_ObjFanin(pObj, i)), 1); i++ )
211 #define Au_BoxForEachFanout( pObj, pFanout, i) \
212 for ( i = 0; (i < Au_BoxFanoutNum(pObj)) && (((pFanout) = Au_BoxFanout(pObj, i)), 1); i++ )
214 #define Au_NtkForEachPi( p, pObj, i ) \
215 for ( i = 0; (i < Vec_IntSize(&p->vPis)) && (((pObj) = Au_NtkPi(p, i)), 1); i++ )
216 #define Au_NtkForEachPo( p, pObj, i ) \
217 for ( i = 0; (i < Vec_IntSize(&p->vPos)) && (((pObj) = Au_NtkPo(p, i)), 1); i++ )
218 #define Au_NtkForEachObj( p, pObj, i ) \
219 for ( i = 0; (i < Vec_IntSize(&p->vObjs)) && (((pObj) = Au_NtkObjI(p, i)), 1); i++ )
220 #define Au_NtkForEachNode( p, pObj, i ) \
221 for ( i = 0; (i < Vec_IntSize(&p->vObjs)) && (((pObj) = Au_NtkObjI(p, i)), 1); i++ ) if ( !Au_ObjIsNode(pObj) ) {} else
222 #define Au_NtkForEachBox( p, pObj, i ) \
223 for ( i = 0; (i < Vec_IntSize(&p->vObjs)) && (((pObj) = Au_NtkObjI(p, i)), 1); i++ ) if ( !Au_ObjIsBox(pObj) ) {} else
274 Mem += 4 * p->
vPis.nCap;
275 Mem += 4 * p->
vPos.nCap;
276 Mem += 4 * p->
vObjs.nCap;
309 Counter += (pObj->
Func == (unsigned)Func);
339 if ( --p->
nRefs > 0 )
402 printf(
"Memory = %.1f MB", 1.0 *
Au_ManMemUsage(p) / (1 << 20) );
420 if ( pBoxModel == NULL || pBoxModel == pNtk )
443 if ( pNtk->
fMark == 0 )
476 p->
vNtks.pArray = vNtksNew->pArray;
477 vNtksNew->pArray = NULL;
484 if ( pBoxModel == NULL || pBoxModel == pNtk )
510 if ( pBoxModel == NULL || pBoxModel == pNtk )
527 printf(
"Total nodes = %15.0f. Total instances = %15.0f. Total ports = %15.0f.\n",
533 printf(
"Total ANDs = %15.0f.\n", pNtk->
nNodeAnds );
534 printf(
"Total XORs = %15.0f.\n", pNtk->
nNodeXors );
535 printf(
"Total MUXes = %15.0f.\n", pNtk->
nNodeMuxs );
550 if ( pNtk->
pMan == NULL )
552 printf(
"There is no hierarchy information.\n" );
585 if ( pBoxModel == NULL || pBoxModel == pModel )
633 if ( pNtk->
pMan == NULL )
635 printf(
"There is no hierarchy information.\n" );
665 int i, k, RetValue = 0;
667 if ( pNtk->
pMan == NULL )
669 printf(
"There is no hierarchy information.\n" );
679 printf(
"WARNING: Model \"%s\" contains a recursive defition.\n",
Au_NtkName(pModel) );
738 printf(
"Nodes with small support %d (out of %d)\n", Counter,
Au_NtkNodeNum(p) );
756 assert( (((ABC_PTRINT_T)(pMem + p->
iHandle) & 0x3FF) >> 4) == 0 );
764 int nObjInt = ((2+nFanins) >> 2) + (((2+nFanins) & 3) > 0);
765 int Id, nObjIntReal = nObjInt;
767 nObjInt = 63 + 64 * (((nObjInt-63) >> 6) + (((nObjInt-63) & 63) > 0));
770 if ( nObjInt + 64 > (1 << 12) )
775 if ( ((ABC_PTRINT_T)pMem & 0xF) )
776 pMem = (
Au_Obj_t *)((
char *)pMem + 16 - ((ABC_PTRINT_T)pMem & 0xF));
777 assert( ((ABC_PTRINT_T)pMem & 0xF) == 0 );
778 p->
iHandle = (((ABC_PTRINT_T)pMem & 0x3FF) >> 4);
781 pMem += 64 - (p->
iHandle & 63);
790 if ( (p->
iHandle & 63) == 0 || nObjInt > (64 - (p->
iHandle & 63)) )
796 if ( p->
iHandle + nObjInt > (1 << 12) )
800 assert( *((
int *)pObj) == 0 );
865 for ( i = 0; i < nFanouts; i++ )
927 assert( pToken[0] >=
'0' && pToken[0] <=
'9' );
928 Num1 = atoi( pToken );
929 for ( pCur = pToken; *pCur; pCur++ )
932 Num2 = atoi( pCur+1 );
933 for ( i = 0; i < Num2; i++ )
937 else if ( *pCur ==
'*' )
939 Num2 = atoi( pCur+1 );
940 for ( i = 0; i < Num2; i++ )
965 char * pBuffer, * pCur;
966 Vec_Int_t * vLines, * vNum2Obj, * vFanins;
967 int i, k, j, Id, nInputs, nOutputs;
970 pFile = fopen( pFileName,
"rb" );
973 printf(
"Cannot open file \"%s\".\n", pFileName );
981 for ( pCur = pBuffer; *pCur; pCur++ )
994 pCur =
strtok( pBuffer + Line,
" \t\r" );
995 if ( pCur == NULL || *pCur ==
'#' )
999 printf(
"Cannot read directive in line %d: \"%s\".\n", i, pBuffer + Line );
1003 if ( !
strcmp(pCur,
".and") )
1005 for ( k = 0; k < 2; k++ )
1007 pCur =
strtok( NULL,
" \t\r" );
1014 else if ( !
strcmp(pCur,
".xor") )
1016 for ( k = 0; k < 2; k++ )
1018 pCur =
strtok( NULL,
" \t\r" );
1025 else if ( !
strcmp(pCur,
".mux") )
1027 for ( k = 0; k < 3; k++ )
1029 pCur =
strtok( NULL,
" \t\r" );
1036 else if ( !
strcmp(pCur,
".subckt") )
1038 pCur =
strtok( NULL,
" \t\r" );
1039 Func = pCur - pBuffer;
1040 pCur =
strtok( NULL,
" \t\r" );
1041 nInputs = atoi( pCur );
1042 pCur =
strtok( NULL,
" \t\r" );
1043 nOutputs = atoi( pCur );
1046 pCur =
strtok( NULL,
" \t\r" );
1047 if ( pCur == NULL || *pCur ==
'#' )
1057 else if ( !
strcmp(pCur,
".model") )
1059 pCur =
strtok( NULL,
" \t\r" );
1065 else if ( !
strcmp(pCur,
".inputs") )
1067 pCur =
strtok( NULL,
" \t\r" );
1069 for ( k = 0; k < Num; k++ )
1072 else if ( !
strcmp(pCur,
".outputs") )
1074 pCur =
strtok( NULL,
" \t\r" );
1075 nOutputs = atoi( pCur );
1078 pCur =
strtok( NULL,
" \t\r" );
1079 if ( pCur == NULL || *pCur ==
'#' )
1087 else if (
strcmp(pCur,
".end") )
1088 printf(
"Unknown directive in line %d: \"%s\".\n", i, pBuffer + Line );
1139 printf(
"Replacing one instance of recursive model \"%s\" by a black box.\n",
"ref_egcd" );
1157 assert( gFanins[k] >= 0 );
1163 int Lit0, Lit1, Lit2;
1167 if ( pObj->
Func == 1 )
1169 else if ( pObj->
Func == 2 )
1171 else if ( pObj->
Func == 3 )
1227 printf(
"Collapsing model \"%s\"...\n",
Au_NtkName(p) );
1286 static inline int Au_XsimMux(
int ValueC,
int Value1,
int Value0 )
1341 printf(
"Replacing one instance of recursive model \"%s\" by a black box.\n",
"ref_egcd" );
1350 if ( pObj->
Func == 1 )
1352 else if ( pObj->
Func == 2 )
1354 else if ( pObj->
Func == 3 )
1407 printf(
"Collapsing model \"%s\"...\n",
Au_NtkName(p) );
1423 printf(
"Const0 outputs =%15d. Const1 outputs =%15d. Total outputs =%15d.\n",
1425 printf(
"Const0 ports = %.0f. Const1 ports = %.0f. Non-const ports= %.0f. Total ports = %.0f.\n",
1491 char * pModelName =
"path_0_r_x_lhs";
1531 printf(
"Could not find module \"%s\".\n", pModelName );
1573 int fSimulation = 0;
1582 printf(
"Reading CBLIF file has failed.\n" );
1585 if ( pNtk->
pMan == NULL || pNtk->
pMan->
vNtks.pArray == NULL )
1587 printf(
"There is no hierarchy information.\n" );
1604 if ( pNtkClp == NULL )
void Au_NtkDeriveFlatGia_rec(Gia_Man_t *pGia, Au_Ntk_t *p)
int Au_NtkAllocObj(Au_Ntk_t *p, int nFanins, int Type)
static int Au_ObjFaninId(Au_Obj_t *p, int i)
#define Au_ObjForEachFaninId(pObj, hFanin, i)
void Au_ManFree(Au_Man_t *p)
Vec_Ptr_t * Abc_NtkCollectHie(Abc_Ntk_t *pNtk)
static char * Au_ManName(Au_Man_t *p)
#define Au_NtkForEachPi(p, pObj, i)
static Au_Obj_t * Au_ObjFanin(Au_Obj_t *p, int i)
#define Au_BoxForEachFanout(pObj, pFanout, i)
typedefABC_NAMESPACE_HEADER_START struct Vec_Ptr_t_ Vec_Ptr_t
INCLUDES ///.
static int Au_ObjFaninC0(Au_Obj_t *p)
static int Au_NtkFlopNum(Au_Ntk_t *p)
void Abc_NamStop(Abc_Nam_t *p)
static int Au_ObjIsConst0(Au_Obj_t *p)
int Au_NtkNodeNumFunc(Au_Ntk_t *p, int Func)
#define Au_NtkForEachObj(p, pObj, i)
int Au_NtkSuppSizeTest(Au_Ntk_t *p)
#define Au_ManForEachNtk(p, pNtk, i)
Gia_Man_t * Abc_NtkHieCecTest2(char *pFileName, char *pModelName, int fVerbose)
static int Au_NtkNodeNum(Au_Ntk_t *p)
static int Au_ObjFaninC1(Au_Obj_t *p)
static int Au_ObjIsBox(Au_Obj_t *p)
void Gia_ManStop(Gia_Man_t *p)
#define Vec_PtrForEachEntryStart(Type, vVec, pEntry, i, Start)
static int Au_ObjIsPo(Au_Obj_t *p)
static void Au_NtkInsertHeader(Au_Ntk_t *p)
int Au_ObjSuppSize_rec(Au_Ntk_t *p, int Id)
static int Au_ObjGetXsimFan2(Au_Obj_t *pObj)
static int Gia_ManAppendCo(Gia_Man_t *p, int iLit0)
#define Au_ObjForEachFanin(pObj, pFanin, i)
int Au_NtkCreateConst0(Au_Ntk_t *pNtk)
int Gia_ManHashXor(Gia_Man_t *p, int iLit0, int iLit1)
typedefABC_NAMESPACE_IMPL_START struct Vec_Int_t_ Vec_Int_t
DECLARATIONS ///.
static int Abc_NtkIsNetlist(Abc_Ntk_t *pNtk)
static int Au_Var2Lit(int Var, int fCompl)
static void Vec_PtrGrow(Vec_Ptr_t *p, int nCapMin)
static int Abc_ObjFanoutNum(Abc_Obj_t *pObj)
static void Au_ObjSetTravIdPrevious(Au_Obj_t *p)
static int Gia_ManAppendCi(Gia_Man_t *p)
int Abc_NamObjNumMax(Abc_Nam_t *p)
ABC_NAMESPACE_IMPL_END ABC_NAMESPACE_IMPL_START Vec_Ptr_t * Abc_NtkDfsBoxes(Abc_Ntk_t *pNtk)
static void Vec_PtrFreeFree(Vec_Ptr_t *p)
static int Au_ObjIsTravIdCurrent(Au_Obj_t *p)
void Au_ManReorderModels_rec(Au_Ntk_t *pNtk, Vec_Int_t *vOrder)
static Vec_Int_t * Vec_IntInvert(Vec_Int_t *p, int Fill)
static int Au_ObjPioNum(Au_Obj_t *p)
static int Au_ObjFunc(Au_Obj_t *p)
static int Au_NtkObjNum(Au_Ntk_t *p)
static void Vec_PtrSort(Vec_Ptr_t *p, int(*Vec_PtrSortCompare)()) ___unused
static Au_Obj_t * Au_Not(Au_Obj_t *p)
static int Au_NtkPoNum(Au_Ntk_t *p)
static Au_Ntk_t * Au_ManNtkRoot(Au_Man_t *p)
static void Au_ObjSetFanin(Au_Obj_t *p, int i, int f)
static void Vec_PtrPush(Vec_Ptr_t *p, void *Entry)
static void Vec_IntSetEntry(Vec_Int_t *p, int i, int Entry)
#define ABC_ALLOC(type, num)
static Au_Obj_t * Au_Regular(Au_Obj_t *p)
static int Vec_IntGetEntry(Vec_Int_t *p, int i)
static Au_Man_t * Au_NtkMan(Au_Ntk_t *p)
void Gia_ManSetRegNum(Gia_Man_t *p, int nRegs)
int Au_ManMemUsage(Au_Man_t *p)
static Vec_Ptr_t * Vec_PtrDup(Vec_Ptr_t *pVec)
int Abc_NamStrFindOrAdd(Abc_Nam_t *p, char *pStr, int *pfFound)
void Au_NtkCleanCopy(Au_Ntk_t *p)
static Au_Obj_t * Au_NtkObjI(Au_Ntk_t *p, int i)
static int Au_NtkFanNum(Au_Ntk_t *p)
static abctime Abc_Clock()
static Au_Obj_t * Au_ObjFanin0(Au_Obj_t *p)
static int Au_ObjIsTravIdPrevious(Au_Obj_t *p)
static int Au_ObjFanout(Au_Obj_t *p, int i)
static Au_Obj_t * Au_NotCond(Au_Obj_t *p, int c)
static int Vec_PtrSize(Vec_Ptr_t *p)
static int Au_ObjCopy(Au_Obj_t *p)
static Au_Obj_t * Au_NtkObj(Au_Ntk_t *p, int h)
static Abc_Obj_t * Abc_ObjFanin0(Abc_Obj_t *pObj)
static void Vec_IntReverseOrder(Vec_Int_t *p)
static int Au_ObjFaninId2(Au_Obj_t *p)
static int Abc_LitNotCond(int Lit, int c)
static int Au_BoxFanoutNum(Au_Obj_t *p)
Abc_Nam_t * Abc_NamStart(int nObjs, int nAveSize)
FUNCTION DEFINITIONS ///.
static int Vec_PtrFind(Vec_Ptr_t *p, void *Entry)
static char * Au_ObjBase(Au_Obj_t *p)
static void Au_NtkParseCBlifNum(Vec_Int_t *vFanins, char *pToken, Vec_Int_t *vNum2Obj)
void Au_NtkTerSimulate(Au_Ntk_t *p)
static void Au_NtkIncrementTravId(Au_Ntk_t *p)
Au_Ntk_t * Au_ManFindNtkP(Au_Man_t *p, char *pName)
static void Au_ObjSetCopy(Au_Obj_t *p, int c)
int Abc_NtkCheckRecursive(Abc_Ntk_t *pNtk)
static Au_Ntk_t * Au_ObjModel(Au_Obj_t *p)
static int Au_NtkObjNumMax(Au_Ntk_t *p)
static void Vec_IntGrow(Vec_Int_t *p, int nCapMin)
static void Abc_PrintTime(int level, const char *pStr, abctime time)
void Au_ManDelete(Au_Man_t *p)
static void Vec_IntWriteEntry(Vec_Int_t *p, int i, int Entry)
static int Abc_ObjIsNode(Abc_Obj_t *pObj)
static int Au_ObjFaninNum(Au_Obj_t *p)
static Vec_Int_t * Vec_IntStart(int nSize)
void Au_ManPrintStats(Au_Man_t *p)
#define Au_NtkForEachNode(p, pObj, i)
Au_Ntk_t * Au_NtkAlloc(Au_Man_t *pMan, char *pName)
FUNCTION DEFINITIONS ///.
static Vec_Int_t * Vec_IntAlloc(int nCap)
FUNCTION DEFINITIONS ///.
int Au_NtkCreatePi(Au_Ntk_t *pNtk)
static int Au_ObjFaninC2(Au_Obj_t *p)
static int Au_ObjGetXsim(Au_Obj_t *pObj)
static void * Vec_PtrEntryLast(Vec_Ptr_t *p)
static int Au_ObjFaninId1(Au_Obj_t *p)
static int Au_ObjFaninC(Au_Obj_t *p, int i)
int Au_NtkCreateBox(Au_Ntk_t *pNtk, Vec_Int_t *vFanins, int nFanouts, int iModel)
static void Vec_IntAddToEntry(Vec_Int_t *p, int i, int Addition)
int Abc_NtkDeriveFlatGiaSop(Gia_Man_t *pGia, int *gFanins, char *pSop)
static int Au_ObjId(Au_Obj_t *p)
static int Au_ManNtkNum(Au_Man_t *p)
static int Au_ObjGetXsimFan0(Au_Obj_t *pObj)
static int Vec_IntEntry(Vec_Int_t *p, int i)
static Au_Obj_t * Au_BoxFanout(Au_Obj_t *p, int i)
static int Au_LitNot(int Lit)
static int Au_Lit2Var(int Lit)
#define ABC_NAMESPACE_IMPL_END
static char * Au_NtkName(Au_Ntk_t *p)
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)
static int Au_BoxFanoutId(Au_Obj_t *p, int i)
static int Au_ObjFaninLit(Au_Obj_t *p, int i)
int Au_NtkCreateFan(Au_Ntk_t *pNtk, int iFanin, int iFanout, int iModel)
int Au_NtkCompareNames(Au_Ntk_t **p1, Au_Ntk_t **p2)
static int Au_ObjIsFan(Au_Obj_t *p)
Gia_Man_t * Gia_ManStart(int nObjsMax)
DECLARATIONS ///.
Au_Ntk_t * Au_NtkDerive(Au_Man_t *pMan, Abc_Ntk_t *pNtk, Vec_Ptr_t *vOrder)
static void Vec_IntPush(Vec_Int_t *p, int Entry)
static int Au_NtkRemapNum(Vec_Int_t *vNum2Obj, int Num)
#define Au_NtkForEachPo(p, pObj, i)
static int Au_NtkPiNum(Au_Ntk_t *p)
Gia_Man_t * Au_NtkDeriveFlatGia(Au_Ntk_t *p)
#define Au_NtkForEachBox(p, pObj, i)
Au_Man_t * Au_ManAlloc(char *pName)
static int Au_ObjGetXsimFan1(Au_Obj_t *pObj)
void Au_ManPrintBoxInfoSorted(Au_Ntk_t *pNtk)
void Au_ManPrintBoxInfo(Au_Ntk_t *pNtk)
void Au_NtkFree(Au_Ntk_t *p)
int Au_NtkCreatePo(Au_Ntk_t *pNtk, int iFanin)
static int Au_ObjIsFlop(Au_Obj_t *p)
char * Abc_NamStr(Abc_Nam_t *p, int NameId)
#define ABC_NAMESPACE_IMPL_START
int Au_NtkCreateNode(Au_Ntk_t *pNtk, Vec_Int_t *vFanins, int iFunc)
static void * Vec_PtrEntry(Vec_Ptr_t *p, int i)
static int Au_ObjIsTravIdCurrentId(Au_Ntk_t *p, int Id)
static int Au_LitIsCompl(int Lit)
void Au_NtkPrintStats(Au_Ntk_t *p)
static void Au_ObjSetTravIdCurrentId(Au_Ntk_t *p, int Id)
static int Vec_IntEntryLast(Vec_Int_t *p)
#define Au_ManForEachNtkReverse(p, pNtk, i)
struct Au_Ntk_t_ Au_Ntk_t
static int Au_XsimXor(int Value0, int Value1)
static int Vec_IntSize(Vec_Int_t *p)
static char * Au_UtilStrsav(char *s)
static int Au_XsimMux(int ValueC, int Value1, int Value0)
static int Au_IsComplement(Au_Obj_t *p)
#define Abc_ObjForEachFanout(pObj, pFanout, i)
static char * Abc_NtkName(Abc_Ntk_t *pNtk)
static Au_Ntk_t * Au_ManNtk(Au_Man_t *p, int i)
static Vec_Ptr_t * Vec_PtrAlloc(int nCap)
FUNCTION DEFINITIONS ///.
#define Abc_ObjForEachFanin(pObj, pFanin, i)
static int Au_ObjIsPi(Au_Obj_t *p)
static void Au_ObjSetXsim(Au_Obj_t *pObj, int Value)
int Au_NtkCheckRecursive(Au_Ntk_t *pNtk)
Gia_Man_t * Au_ManDeriveTest(Abc_Ntk_t *pRoot)
static int Au_ObjIsNone(Au_Obj_t *p)
static void Au_ObjSetFaninLit(Au_Obj_t *p, int i, int f)
static Au_Obj_t * Au_NtkPi(Au_Ntk_t *p, int i)
#define ABC_CALLOC(type, num)
#define Au_BoxForEachFanoutId(pObj, hFanout, i)
Au_Ntk_t * Au_NtkParseCBlif(char *pFileName)
static Au_Obj_t * Au_ObjFanin1(Au_Obj_t *p)
ABC_DLL int Abc_SopGetVarNum(char *pSop)
typedefABC_NAMESPACE_HEADER_START struct Abc_Nam_t_ Abc_Nam_t
INCLUDES ///.
static void Au_ObjSetFanout(Au_Obj_t *p, int i, int f)
static void Au_ObjSetTravIdCurrent(Au_Obj_t *p)
ABC_DLL void Abc_NtkCleanCopy(Abc_Ntk_t *pNtk)
static int Abc_ObjIsBox(Abc_Obj_t *pObj)
int Au_NtkCompareSign(Au_Ntk_t **p1, Au_Ntk_t **p2)
static int Au_ObjIsTerm(Au_Obj_t *p)
void Gia_ManHashAlloc(Gia_Man_t *p)
int Au_NtkMemUsage(Au_Ntk_t *p)
int Au_ManFindNtk(Au_Man_t *p, char *pName)
int Au_ObjSuppSize(Au_Obj_t *pObj)
static Au_Obj_t * Au_NtkPo(Au_Ntk_t *p, int i)
static Au_Ntk_t * Au_ObjNtk(Au_Obj_t *p)
void Au_NtkTerSimulate_rec(Au_Ntk_t *p)
#define Abc_NtkForEachPo(pNtk, pPo, i)
static void Vec_IntFree(Vec_Int_t *p)
#define Vec_PtrForEachEntry(Type, vVec, pEntry, i)
MACRO DEFINITIONS ///.
void Au_ManReorderModels(Au_Man_t *p, Au_Ntk_t *pRoot)
static int Au_LitNotCond(int Lit, int c)
static void Vec_IntClear(Vec_Int_t *p)
static int Au_NtkBoxNum(Au_Ntk_t *p)
static int Au_XsimAnd(int Value0, int Value1)
Gia_Man_t * Gia_ManCleanup(Gia_Man_t *p)
char * Abc_UtilStrsav(char *s)
#define Vec_IntForEachEntry(vVec, Entry, i)
MACRO DEFINITIONS ///.
void Au_ManCountThings(Au_Man_t *p)
static int Au_ObjFaninId0(Au_Obj_t *p)
static int Au_ObjIsNode(Au_Obj_t *p)
static int Au_LitRegular(int Lit)
int Gia_ManHashAnd(Gia_Man_t *p, int iLit0, int iLit1)
int Au_ManMemUsageUseful(Au_Man_t *p)
void Au_ManAddNtk(Au_Man_t *pMan, Au_Ntk_t *p)
static Abc_Obj_t * Abc_ObjFanout0(Abc_Obj_t *pObj)
#define Abc_NtkForEachPi(pNtk, pPi, i)
static int Au_XsimInv(int Value)
static Au_Obj_t * Au_ObjFanin2(Au_Obj_t *p)
static void Vec_PtrFree(Vec_Ptr_t *p)
void Gia_ManHashStop(Gia_Man_t *p)
static void Gia_ManFlipVerbose(Gia_Man_t *p)