60 printf(
"Warning: The choice nodes in the original AIG are removed by strashing.\n" );
84 printf(
"Abc_NtkStrash: The network check has failed.\n" );
146 printf(
"Warning: The choice nodes in the original AIG are removed by strashing.\n" );
161 printf(
"Abc_NtkStrash: The network check has failed.\n" );
192 printf(
"Warning: The choice nodes in the original AIG are removed by strashing.\n" );
204 printf(
"Converting %d flops from don't-care to zero initial value.\n", Counter );
231 printf(
"Abc_NtkRestrash(): AIG cleanup removed %d nodes (this is a bug).\n", nNodes );
243 printf(
"Abc_NtkStrash: The network check has failed.\n" );
276 printf(
"Converting to AIGs has failed.\n" );
300 printf(
"Abc_NtkStrash: The network check has failed.\n" );
330 printf(
"Converting to AIGs has failed.\n" );
336 printf(
"Abc_NtkAppend(): The union of the network PIs is computed (warning).\n" );
346 if ( pObj->
pCopy == NULL )
353 printf(
"Warning: Procedure Abc_NtkAppend() added %d new CIs.\n", nNewCis );
372 Abc_Obj_t * pObjOld, * pDriverOld, * pDriverNew;
396 printf(
"Abc_NtkAppend: The network check has failed.\n" );
530 if ( pNode->
Level <= (
unsigned)LevelCut )
573 printf(
"Abc_NtkTopmost: The network check has failed.\n" );
695 printf(
"Abc_NtkTopAnd(): AIG cleanup removed %d nodes (this is a bug).\n", nNodes );
699 printf(
"Abc_NtkStrash: The network check has failed.\n" );
725 if ( pFileName == NULL )
728 pFile = fopen( pFileName,
"w" );
731 printf(
"Cannot open output file.\n" );
750 fprintf( pFile,
"{\n" );
753 fprintf( pFile,
"\n" );
754 fprintf( pFile,
" { " );
757 fprintf( pFile,
"NULL },\n" );
758 fprintf( pFile,
" { " );
761 fprintf( pFile,
"NULL },\n" );
762 fprintf( pFile,
" { " );
765 fprintf( pFile,
"0 },\n" );
766 fprintf( pFile,
" { " );
769 fprintf( pFile,
"0 },\n" );
770 fprintf( pFile,
" { " );
773 fprintf( pFile,
"0 },\n" );
774 fprintf( pFile,
"},\n" );
775 if ( pFile != stdout )
838 fprintf( stdout,
"Abc_NtkPutOnTop(): Network check has failed.\n" );
static unsigned Abc_ObjId(Abc_Obj_t *pObj)
static Hop_Obj_t * Hop_ObjFanin1(Hop_Obj_t *pObj)
static int Hop_ObjIsMarkA(Hop_Obj_t *pObj)
static int Abc_NtkIsStrash(Abc_Ntk_t *pNtk)
static int Abc_NtkIsLogic(Abc_Ntk_t *pNtk)
typedefABC_NAMESPACE_HEADER_START struct Vec_Ptr_t_ Vec_Ptr_t
INCLUDES ///.
void Nm_ManDeleteIdName(Nm_Man_t *p, int ObjId)
static void Hop_ObjSetMarkA(Hop_Obj_t *pObj)
static Abc_Obj_t * Abc_ObjFanin1(Abc_Obj_t *pObj)
ABC_DLL Abc_Obj_t * Abc_AigOr(Abc_Aig_t *pMan, Abc_Obj_t *p0, Abc_Obj_t *p1)
static ABC_NAMESPACE_IMPL_START void Abc_NtkStrashPerform(Abc_Ntk_t *pNtk, Abc_Ntk_t *pNtkNew, int fAllNodes, int fRecord)
DECLARATIONS ///.
ABC_DLL int Abc_NodeIsConst(Abc_Obj_t *pNode)
static int Abc_NtkObjNumMax(Abc_Ntk_t *pNtk)
static Hop_Obj_t * Hop_ManConst1(Hop_Man_t *p)
ABC_DLL Abc_Obj_t * Abc_AigConst1(Abc_Ntk_t *pNtk)
static int Abc_ObjFaninC1(Abc_Obj_t *pObj)
typedefABC_NAMESPACE_IMPL_START struct Vec_Int_t_ Vec_Int_t
DECLARATIONS ///.
Abc_Ntk_t * Abc_NtkRestrash(Abc_Ntk_t *pNtk, int fCleanup)
FUNCTION DEFINITIONS ///.
#define Vec_PtrForEachEntryReverse(Type, vVec, pEntry, i)
static int Hop_ObjIsNode(Hop_Obj_t *pObj)
static int Abc_ObjFanoutNum(Abc_Obj_t *pObj)
static Abc_Obj_t * Abc_ObjChild1Copy(Abc_Obj_t *pObj)
static int Abc_ObjIsBarBuf(Abc_Obj_t *pObj)
Vec_Ptr_t * Abc_NodeGetSuper(Abc_Obj_t *pNode)
ABC_DLL Abc_Obj_t * Abc_NtkDupObj(Abc_Ntk_t *pNtkNew, Abc_Obj_t *pObj, int fCopyName)
static int Abc_NtkLatchNum(Abc_Ntk_t *pNtk)
Abc_Ntk_t * Abc_NtkTopAnd(Abc_Ntk_t *pNtk)
static int Abc_ObjFaninC0(Abc_Obj_t *pObj)
ABC_DLL Abc_Ntk_t * Abc_NtkDup(Abc_Ntk_t *pNtk)
static void Vec_PtrPush(Vec_Ptr_t *p, void *Entry)
#define Abc_NtkForEachCo(pNtk, pCo, i)
ABC_DLL int Abc_NtkCompareSignals(Abc_Ntk_t *pNtk1, Abc_Ntk_t *pNtk2, int fOnlyPis, int fComb)
ABC_DLL int Abc_NtkCheck(Abc_Ntk_t *pNtk)
FUNCTION DEFINITIONS ///.
ABC_DLL char * Abc_ObjAssignName(Abc_Obj_t *pObj, char *pName, char *pSuffix)
ABC_DLL Vec_Ptr_t * Abc_NtkDfs(Abc_Ntk_t *pNtk, int fCollectAll)
Abc_Ntk_t * Abc_NtkTopmost(Abc_Ntk_t *pNtk, int nLevels)
static int Abc_MaxInt(int a, int b)
ABC_DLL Vec_Ptr_t * Abc_NtkDfsIterNodes(Abc_Ntk_t *pNtk, Vec_Ptr_t *vRoots)
void Abc_NtkWriteAig(Abc_Ntk_t *pNtk, char *pFileName)
static Abc_Obj_t * Abc_NtkObj(Abc_Ntk_t *pNtk, int i)
static int Vec_PtrSize(Vec_Ptr_t *p)
static Abc_Obj_t * Abc_ObjFanin0(Abc_Obj_t *pObj)
ABC_DLL int Abc_NtkGetChoiceNum(Abc_Ntk_t *pNtk)
static int Abc_ObjFaninId0(Abc_Obj_t *pObj)
static int Abc_NtkCoNum(Abc_Ntk_t *pNtk)
int Abc_NtkAppend(Abc_Ntk_t *pNtk1, Abc_Ntk_t *pNtk2, int fAddPos)
Abc_Obj_t * Abc_NtkTopmost_rec(Abc_Ntk_t *pNtkNew, Abc_Obj_t *pNode, int LevelCut)
void Hop_ConeUnmark_rec(Hop_Obj_t *pObj)
ABC_DLL void Abc_NtkDelete(Abc_Ntk_t *pNtk)
ABC_DLL Abc_Obj_t * Abc_NtkFindCi(Abc_Ntk_t *pNtk, char *pName)
ABC_DLL void Abc_ObjAddFanin(Abc_Obj_t *pObj, Abc_Obj_t *pFanin)
ABC_DLL Abc_Ntk_t * Abc_NtkAlloc(Abc_NtkType_t Type, Abc_NtkFunc_t Func, int fUseMemMan)
DECLARATIONS ///.
static void Vec_PtrUniqify(Vec_Ptr_t *p, int(*Vec_PtrSortCompare)()) ___unused
#define Abc_AigForEachAnd(pNtk, pNode, i)
static Abc_Obj_t * Abc_ObjChild0(Abc_Obj_t *pObj)
ABC_DLL void Abc_ObjPatchFanin(Abc_Obj_t *pObj, Abc_Obj_t *pFaninOld, Abc_Obj_t *pFaninNew)
static void Vec_IntWriteEntry(Vec_Int_t *p, int i, int Entry)
static int Abc_ObjIsNode(Abc_Obj_t *pObj)
static int Abc_NtkNodeNum(Abc_Ntk_t *pNtk)
Abc_Ntk_t * Abc_NtkPutOnTop(Abc_Ntk_t *pNtk, Abc_Ntk_t *pNtk2)
ABC_DLL Abc_Obj_t * Abc_AigAnd(Abc_Aig_t *pMan, Abc_Obj_t *p0, Abc_Obj_t *p1)
static Abc_Obj_t * Abc_ObjChild0Copy(Abc_Obj_t *pObj)
ABC_DLL Abc_Ntk_t * Abc_NtkStartFrom(Abc_Ntk_t *pNtk, Abc_NtkType_t Type, Abc_NtkFunc_t Func)
static Vec_Int_t * Vec_IntAlloc(int nCap)
FUNCTION DEFINITIONS ///.
ABC_DLL int Abc_AigCleanup(Abc_Aig_t *pMan)
ABC_DLL int Abc_AigLevel(Abc_Ntk_t *pNtk)
static Hop_Obj_t * Hop_ObjChild1Copy(Hop_Obj_t *pObj)
static int Vec_IntEntry(Vec_Int_t *p, int i)
int Nm_ManFindIdByNameTwoTypes(Nm_Man_t *p, char *pName, int Type1, int Type2)
#define ABC_NAMESPACE_IMPL_END
static void Vec_IntFill(Vec_Int_t *p, int nSize, int Fill)
static int Abc_LatchIsInitDc(Abc_Obj_t *pLatch)
ABC_DLL void Abc_NtkUpdateNameIds(Abc_Ntk_t *p)
ABC_DLL void Abc_NtkFinalize(Abc_Ntk_t *pNtk, Abc_Ntk_t *pNtkNew)
Abc_Ntk_t * Abc_NtkRestrashRandom(Abc_Ntk_t *pNtk)
static int Hop_IsComplement(Hop_Obj_t *p)
static Hop_Obj_t * Hop_ObjChild0Copy(Hop_Obj_t *pObj)
Abc_Ntk_t * Abc_NtkRestrashZero(Abc_Ntk_t *pNtk, int fCleanup)
void Abc_NodeStrash_rec(Abc_Aig_t *pMan, Hop_Obj_t *pObj)
#define Abc_NtkForEachLatch(pNtk, pObj, i)
static int Abc_LatchIsInit1(Abc_Obj_t *pLatch)
static Abc_Obj_t * Abc_NtkCreatePi(Abc_Ntk_t *pNtk)
static Hop_Obj_t * Hop_ObjFanin0(Hop_Obj_t *pObj)
Abc_Obj_t * Abc_NodeStrash(Abc_Ntk_t *pNtkNew, Abc_Obj_t *pNodeOld, int fRecord)
#define Abc_NtkForEachNode(pNtk, pNode, i)
#define ABC_NAMESPACE_IMPL_START
ABC_DLL Vec_Ptr_t * Abc_NtkDfsIter(Abc_Ntk_t *pNtk, int fCollectAll)
static int Abc_NodeIsTravIdCurrent(Abc_Obj_t *p)
static Abc_Obj_t * Abc_ObjRegular(Abc_Obj_t *p)
ABC_DLL Abc_Obj_t * Abc_NodeFindCoFanout(Abc_Obj_t *pNode)
static char * Abc_NtkName(Abc_Ntk_t *pNtk)
static Abc_Obj_t * Abc_NtkPo(Abc_Ntk_t *pNtk, int i)
#define Abc_NtkForEachCi(pNtk, pCi, 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)
ABC_DLL char * Abc_ObjName(Abc_Obj_t *pNode)
DECLARATIONS ///.
static void Abc_NtkIncrementTravId(Abc_Ntk_t *p)
static int Vec_CompareNodeIds(Abc_Obj_t **pp1, Abc_Obj_t **pp2)
static void Abc_ObjXorFaninC(Abc_Obj_t *pObj, int i)
ABC_DLL int Abc_NtkToAig(Abc_Ntk_t *pNtk)
ABC_DLL void Abc_NtkCleanCopy(Abc_Ntk_t *pNtk)
ABC_DLL void Abc_NtkTransferNameIds(Abc_Ntk_t *p, Abc_Ntk_t *pNew)
static Abc_Obj_t * Abc_ObjNotCond(Abc_Obj_t *p, int c)
static int Abc_NtkHasAig(Abc_Ntk_t *pNtk)
void Abc_NtkRestrashRandom_rec(Abc_Ntk_t *pNtk, Abc_Obj_t *pObj)
static Abc_Obj_t * Abc_ObjNot(Abc_Obj_t *p)
static int Abc_ObjFaninId1(Abc_Obj_t *pObj)
#define Abc_NtkForEachPo(pNtk, pPo, i)
static void Vec_IntFree(Vec_Int_t *p)
#define Vec_PtrForEachEntry(Type, vVec, pEntry, i)
MACRO DEFINITIONS ///.
static Hop_Obj_t * Hop_Regular(Hop_Obj_t *p)
static int Abc_ObjIsComplement(Abc_Obj_t *p)
ABC_DLL void Abc_NtkAddDummyPiNames(Abc_Ntk_t *pNtk)
static void Abc_LatchSetInit0(Abc_Obj_t *pLatch)
static Abc_Obj_t * Abc_NtkCreatePo(Abc_Ntk_t *pNtk)
static Abc_Obj_t * Abc_ObjChild1(Abc_Obj_t *pObj)
Abc_Ntk_t * Abc_NtkStrash(Abc_Ntk_t *pNtk, int fAllNodes, int fCleanup, int fRecord)
typedefABC_NAMESPACE_HEADER_START struct Hop_Man_t_ Hop_Man_t
INCLUDES ///.
Hop_Obj_t * Hop_IthVar(Hop_Man_t *p, int i)
FUNCTION DEFINITIONS ///.
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)