198 for ( i = 0; i < nLatches; i++ )
304 Abc_Obj_t * pObj, * pDriver, * pDriverNew;
362 Abc_Obj_t * pBox, * pObj, * pTerm, * pNet;
443 printf(
"Warning: Structural hashing during duplication reduced %d nodes (this is a minor bug).\n",
450 if ( pObj->
pCopy == NULL )
472 fprintf( stdout,
"Abc_NtkDup(): Network check has failed.\n" );
473 pNtk->
pCopy = pNtkNew;
512 fprintf( stdout,
"Abc_NtkDup(): Network check has failed.\n" );
513 pNtk->
pCopy = pNtkNew;
544 printf(
"Abc_NtkStrash: The network check has failed.\n" );
644 if ( pObj->
pCopy == NULL )
664 if ( pObj->
pCopy == NULL )
687 fprintf( stdout,
"Abc_NtkDup(): Network check has failed.\n" );
745 fprintf( stdout,
"Abc_NtkBottom(): Network check has failed.\n" );
765 assert( pNtkBottom != NULL );
766 if ( pNtkTop == NULL )
804 fprintf( stdout,
"Abc_NtkAttachBottom(): Network check has failed.\n" );
823 Abc_Obj_t * pObj, * pFanin, * pNodeCoNew;
874 fprintf( stdout,
"Abc_NtkCreateCone(): Network check has failed.\n" );
893 Abc_Obj_t * pObj, * pFanin, * pNodeCoNew;
954 fprintf( stdout,
"Abc_NtkCreateConeArray(): Network check has failed.\n" );
1008 fprintf( stdout,
"Abc_NtkAppendToCone(): Network check has failed.\n" );
1025 Abc_Obj_t * pObj, * pFanin, * pNodeCoNew;
1079 fprintf( stdout,
"Abc_NtkCreateMffc(): Network check has failed.\n" );
1098 Abc_Obj_t * pObj, * pFinal, * pOther, * pNodePo;
1128 pOther = pObj->
pCopy;
1139 fprintf( stdout,
"Abc_NtkCreateTarget(): Network check has failed.\n" );
1177 fprintf( stdout,
"Abc_NtkCreateFromNode(): Network check has failed.\n" );
1205 for ( i = 0; i < nVars; i++ )
1218 fprintf( stdout,
"Abc_NtkCreateWithNode(): Network check has failed.\n" );
1273 if ( pNtk->
pMmObj == NULL )
1392 if ( vNets->nSize > 0 )
1394 printf(
"Warning: Constant-0 drivers added to %d non-driven nets in network \"%s\":\n",
Vec_PtrSize(vNets), pNtk->
pName );
1397 printf(
"%s%s", (i?
", ":
""),
Abc_ObjName(pNet) );
1454 if ( fRemoveLatches )
1500 fprintf( stdout,
"Abc_NtkMakeComb(): Network check has failed.\n" );
1521 printf(
"The network is a not a combinational one.\n" );
1526 printf(
"The number of latches is more or equal than the number of PIs.\n" );
1531 printf(
"The number of latches is more or equal than the number of POs.\n" );
1564 for ( i = 0; i < nLatchesToAdd; i++ )
1575 fprintf( stdout,
"Abc_NtkMakeSeq(): Network check has failed.\n" );
1601 printf(
"PO index is incorrect.\n" );
1615 if ( i < Output || i >= Output + nRange )
1631 printf(
"Run sequential cleanup (\"scl\") to get rid of dangling logic.\n" );
1635 printf(
"Run sequential cleanup (\"st; scl\") to get rid of dangling logic.\n" );
1639 fprintf( stdout,
"Abc_NtkMakeComb(): Network check has failed.\n" );
1671 pNtk->
vObjs->pArray[pObj->
Id] = NULL;
1672 pObj->
Id = (1<<26)-1;
1686 pNtk->
vObjs->pArray[pObj->
Id] = NULL;
1687 pObj->
Id = (1<<26)-1;
1709 pNtk->
vObjs->pArray[pObj->
Id] = NULL;
1710 pObj->
Id = (1<<26)-1;
1739 Abc_Obj_t * pObj, * pConst0, * pFaninNew;
1756 printf(
"Logic cones of %d POs have been replaced by constant 0.\n", Counter );
1774 Abc_Obj_t * pObj, * pConst0, * pFaninNew;
1865 pFile = fopen( pFileName,
"rb" );
1866 if ( pFile == NULL )
1868 printf(
"Cannot open input file \"%s\".\n", pFileName );
1872 while ( fgets( Buffer, 1000, pFile ) != NULL )
1874 if ( Buffer[0] ==
' ' || Buffer[0] ==
'\r' || Buffer[0] ==
'\n' )
1876 iFlop = atoi( Buffer );
1877 if ( iFlop < 0 || iFlop >= nFlops )
1879 printf(
"Flop ID (%d) is out of range.\n", iFlop );
1889 printf(
"The number of flops read in from file (%d) is different from the number of flops in the circuit (%d).\n", iFlop, nFlops );
1909 Vec_Int_t * vInputs, * vOutputs, * vFlops, * vTemp;
1912 if ( pFlopPermFile )
1915 if ( vFlops == NULL )
2024 int i, * pInputs, * pOutputs, * pFlops;
2027 printf(
"Abc_NtkUnpermute(): Initial permutation is not available.\n" );
2062 pNtk->
vCos = vTemp2;
2083 Abc_Obj_t * pObj, * pObjNew, * pFanin, * pFanout;
2105 printf(
"Duplicated %d nodes.\n",
Vec_PtrSize(vNodes) );
static int * Vec_IntArray(Vec_Int_t *p)
static Vec_Ptr_t * Vec_PtrStart(int nSize)
void Mem_StepStop(Mem_Step_t *p, int fVerbose)
int nObjCounts[ABC_OBJ_NUMBER]
static int Abc_NtkIsStrash(Abc_Ntk_t *pNtk)
static int Abc_NtkIsLogic(Abc_Ntk_t *pNtk)
Vec_Ptr_t * vLtlProperties
typedefABC_NAMESPACE_HEADER_START struct Vec_Ptr_t_ Vec_Ptr_t
INCLUDES ///.
static int Abc_NtkHasBdd(Abc_Ntk_t *pNtk)
static int Abc_NtkIsComb(Abc_Ntk_t *pNtk)
#define CUDD_UNIQUE_SLOTS
ABC_DLL void * Abc_FrameReadLibGen()
static int Abc_NtkHasSop(Abc_Ntk_t *pNtk)
static int Abc_ObjIsCi(Abc_Obj_t *pObj)
void Cudd_RecursiveDeref(DdManager *table, DdNode *n)
Abc_Ntk_t * Abc_NtkCreateWithNode(char *pSop)
static Vec_Int_t * Vec_IntDup(Vec_Int_t *pVec)
typedefABC_NAMESPACE_HEADER_START struct Vec_Vec_t_ Vec_Vec_t
INCLUDES ///.
static int Abc_ObjIsBo(Abc_Obj_t *pObj)
ABC_DLL Abc_Obj_t * Abc_AigConst1(Abc_Ntk_t *pNtk)
Abc_Ntk_t * Abc_NtkDup(Abc_Ntk_t *pNtk)
Abc_Ntk_t * Abc_NtkStartRead(char *pName)
typedefABC_NAMESPACE_IMPL_START struct Vec_Int_t_ Vec_Int_t
DECLARATIONS ///.
#define Vec_PtrForEachEntryReverse(Type, vVec, pEntry, i)
static int Abc_NtkIsNetlist(Abc_Ntk_t *pNtk)
static int Abc_ObjIsLatch(Abc_Obj_t *pObj)
static int Abc_ObjFanoutNum(Abc_Obj_t *pObj)
static int Abc_NtkBoxNum(Abc_Ntk_t *pNtk)
Abc_Ntk_t * Abc_NtkTrim(Abc_Ntk_t *pNtk)
static Abc_Obj_t * Abc_ObjFanin0Ntk(Abc_Obj_t *pObj)
static void Vec_PtrFreeFree(Vec_Ptr_t *p)
void Abc_NtkAppendToCone(Abc_Ntk_t *pNtkNew, Abc_Ntk_t *pNtk, Vec_Ptr_t *vRoots)
static Abc_Obj_t * Abc_ObjChild1Copy(Abc_Obj_t *pObj)
static int Abc_ObjFaninNum(Abc_Obj_t *pObj)
static int Abc_NtkHasMapping(Abc_Ntk_t *pNtk)
static Vec_Int_t * Vec_IntInvert(Vec_Int_t *p, int Fill)
Abc_Ntk_t * Abc_NtkCreateCone(Abc_Ntk_t *pNtk, Abc_Obj_t *pNode, char *pNodeName, int fUseAllCis)
ABC_DLL Abc_Obj_t * Abc_NtkDupObj(Abc_Ntk_t *pNtkNew, Abc_Obj_t *pObj, int fCopyName)
Abc_NtkType_t
INCLUDES ///.
static int Abc_NtkLatchNum(Abc_Ntk_t *pNtk)
void Abc_NtkDropOneOutput(Abc_Ntk_t *pNtk, int iOutput, int fSkipSweep, int fUseConst1)
ABC_DLL Abc_Obj_t * Abc_NtkCreateNodeConst1(Abc_Ntk_t *pNtk)
ABC_DLL void Abc_AigFree(Abc_Aig_t *pMan)
static int Abc_ObjFaninC0(Abc_Obj_t *pObj)
static int Abc_ObjIsPi(Abc_Obj_t *pObj)
ABC_DLL void Abc_NtkDeleteObj_rec(Abc_Obj_t *pObj, int fOnlyNodes)
static int Abc_AigNodeIsConst(Abc_Obj_t *pNode)
static void Vec_PtrPush(Vec_Ptr_t *p, void *Entry)
Abc_Ntk_t * Abc_NtkCreateConeArray(Abc_Ntk_t *pNtk, Vec_Ptr_t *vRoots, int fUseAllCis)
static int Abc_NtkCiNum(Abc_Ntk_t *pNtk)
#define ABC_ALLOC(type, num)
#define Abc_NtkForEachCo(pNtk, pCo, i)
static Abc_Obj_t * Abc_NtkCi(Abc_Ntk_t *pNtk, int i)
static Vec_Ptr_t * Vec_PtrDup(Vec_Ptr_t *pVec)
static int Abc_NtkBiNum(Abc_Ntk_t *pNtk)
ABC_DLL int Abc_NtkCheck(Abc_Ntk_t *pNtk)
FUNCTION DEFINITIONS ///.
void Mem_FixedStop(Mem_Fixed_t *p, int fVerbose)
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_DLL int Abc_NtkCleanup(Abc_Ntk_t *pNtk, int fVerbose)
void Abc_NtkRemovePo(Abc_Ntk_t *pNtk, int iOutput, int fRemoveConst0)
static int Abc_NtkHasBlifMv(Abc_Ntk_t *pNtk)
ABC_DLL int Abc_NodeRef_rec(Abc_Obj_t *pNode)
void Abc_NtkDropSatOutputs(Abc_Ntk_t *pNtk, Vec_Ptr_t *vCexes, int fVerbose)
static Abc_Obj_t * Abc_NtkObj(Abc_Ntk_t *pNtk, int i)
static Vec_Int_t * Vec_IntStartNatural(int nSize)
static int Vec_PtrSize(Vec_Ptr_t *p)
static void Vec_VecFree(Vec_Vec_t *p)
static Abc_Obj_t * Abc_ObjFanin0(Abc_Obj_t *pObj)
Abc_Ntk_t * Abc_NtkAttachBottom(Abc_Ntk_t *pNtkTop, Abc_Ntk_t *pNtkBottom)
Abc_Ntk_t * Abc_NtkCreateFromNode(Abc_Ntk_t *pNtk, Abc_Obj_t *pNode)
static int Abc_NtkCoNum(Abc_Ntk_t *pNtk)
int Mem_StepReadMemUsage(Mem_Step_t *p)
void Abc_NtkFixNonDrivenNets(Abc_Ntk_t *pNtk)
Vec_Int_t * Abc_NtkReadFlopPerm(char *pFileName, int nFlops)
static int Abc_ObjIsCo(Abc_Obj_t *pObj)
void Hop_ManStop(Hop_Man_t *p)
static Abc_Obj_t * Abc_NtkCo(Abc_Ntk_t *pNtk, int i)
Abc_Ntk_t * Abc_NtkCreateTarget(Abc_Ntk_t *pNtk, Vec_Ptr_t *vRoots, Vec_Int_t *vValues)
ABC_DLL void Abc_ObjAddFanin(Abc_Obj_t *pObj, Abc_Obj_t *pFanin)
void Abc_NtkSwapOneOutput(Abc_Ntk_t *pNtk, int iOutput)
ABC_DLL void Abc_ObjRecycle(Abc_Obj_t *pObj)
#define Abc_AigForEachAnd(pNtk, pNode, i)
ABC_DLL Abc_Obj_t * Abc_AigXor(Abc_Aig_t *pMan, Abc_Obj_t *p0, Abc_Obj_t *p1)
static Abc_Obj_t * Abc_NtkCreateBo(Abc_Ntk_t *pNtk)
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)
ABC_DLL void Abc_NodeFreeNames(Vec_Ptr_t *vNames)
static void Vec_IntWriteEntry(Vec_Int_t *p, int i, int Entry)
Mem_Fixed_t * Mem_FixedStart(int nEntrySize)
FUNCTION DEFINITIONS ///.
Abc_Ntk_t * Abc_NtkMakeOnePo(Abc_Ntk_t *pNtkInit, int Output, int nRange)
static Vec_Vec_t * Vec_VecDupInt(Vec_Vec_t *p)
static int Abc_ObjIsNode(Abc_Obj_t *pObj)
Mem_Flex_t * Mem_FlexStart()
static int Abc_NtkNodeNum(Abc_Ntk_t *pNtk)
ABC_DLL Abc_Obj_t * Abc_AigAnd(Abc_Aig_t *pMan, Abc_Obj_t *p0, Abc_Obj_t *p1)
ABC_DLL void Abc_DesFree(Abc_Des_t *p, Abc_Ntk_t *pNtk)
ABC_DLL char * Abc_SopRegister(Mem_Flex_t *pMan, char *pName)
DECLARATIONS ///.
ABC_DLL void Abc_NtkTransferPhases(Abc_Ntk_t *pNtkNew, Abc_Ntk_t *pNtk)
static Abc_Obj_t * Abc_ObjChild0Copy(Abc_Obj_t *pObj)
ABC_DLL void Abc_NtkDeleteObj(Abc_Obj_t *pObj)
Abc_Ntk_t * Abc_NtkCreateMffc(Abc_Ntk_t *pNtk, Abc_Obj_t *pNode, char *pNodeName)
static Vec_Int_t * Vec_IntAlloc(int nCap)
FUNCTION DEFINITIONS ///.
ABC_DLL Abc_Obj_t * Abc_NtkDupBox(Abc_Ntk_t *pNtkNew, Abc_Obj_t *pBox, int fCopyName)
ABC_DLL int Abc_AigCleanup(Abc_Aig_t *pMan)
static int Abc_NtkHasBlackbox(Abc_Ntk_t *pNtk)
static int Abc_ObjLevel(Abc_Obj_t *pObj)
Abc_Ntk_t * Abc_NtkDupDfs(Abc_Ntk_t *pNtk)
ABC_DLL Vec_Ptr_t * Abc_NodeGetFakeNames(int nNames)
ABC_DLL Abc_Aig_t * Abc_AigAlloc(Abc_Ntk_t *pNtk)
FUNCTION DECLARATIONS ///.
ABC_DLL Abc_Obj_t * Abc_NodeStrash(Abc_Ntk_t *pNtkNew, Abc_Obj_t *pNode, int fRecord)
void Abc_NtkMakeSeq(Abc_Ntk_t *pNtk, int nLatchesToAdd)
void Abc_NtkDelete(Abc_Ntk_t *pNtk)
static int Abc_NtkBoNum(Abc_Ntk_t *pNtk)
static int Vec_IntEntry(Vec_Int_t *p, int i)
int Nm_ManFindIdByNameTwoTypes(Nm_Man_t *p, char *pName, int Type1, int Type2)
void Abc_NtkUnpermute(Abc_Ntk_t *pNtk)
#define ABC_NAMESPACE_IMPL_END
ABC_DLL Abc_Obj_t * Abc_NtkFindNet(Abc_Ntk_t *pNtk, char *pName)
void Abc_NtkMakeComb(Abc_Ntk_t *pNtk, int fRemoveLatches)
DdManager * Cudd_Init(unsigned int numVars, unsigned int numVarsZ, unsigned int numSlots, unsigned int cacheSize, unsigned long maxMemory)
ABC_DLL Abc_Obj_t * Abc_NtkCreateNodeBuf(Abc_Ntk_t *pNtk, Abc_Obj_t *pFanin)
Abc_Ntk_t * Abc_NtkRestrashWithLatches(Abc_Ntk_t *pNtk, int nLatches)
Hop_Man_t * Hop_ManStart()
DECLARATIONS ///.
ABC_DLL void Abc_NodeMffcConeSupp(Abc_Obj_t *pNode, Vec_Ptr_t *vCone, Vec_Ptr_t *vSupp)
Abc_Ntk_t * Abc_NtkStartFromWithLatches(Abc_Ntk_t *pNtk, Abc_NtkType_t Type, Abc_NtkFunc_t Func, int nLatches)
ABC_DLL void Abc_NtkTimeInitialize(Abc_Ntk_t *pNtk, Abc_Ntk_t *pNtkOld)
static Abc_Obj_t * Abc_NtkCreateLatch(Abc_Ntk_t *pNtk)
#define Abc_NtkForEachNet(pNtk, pNet, i)
static void Vec_IntPush(Vec_Int_t *p, int Entry)
static Abc_Obj_t * Abc_NtkCreateBlackbox(Abc_Ntk_t *pNtk)
static Abc_Obj_t * Abc_NtkCreatePi(Abc_Ntk_t *pNtk)
static void Vec_IntFreeP(Vec_Int_t **p)
static void * Vec_AttFree(Vec_Att_t *p, int fFreeMan)
#define Abc_NtkForEachBox(pNtk, pObj, i)
void Abc_NtkFinalize(Abc_Ntk_t *pNtk, Abc_Ntk_t *pNtkNew)
Mem_Step_t * Mem_StepStart(int nSteps)
Abc_Ntk_t * Abc_NtkStartFrom(Abc_Ntk_t *pNtk, Abc_NtkType_t Type, Abc_NtkFunc_t Func)
static void Vec_PtrWriteEntry(Vec_Ptr_t *p, int i, void *Entry)
#define Abc_NtkForEachNode(pNtk, pNode, i)
ABC_DLL void Abc_ObjTransferFanout(Abc_Obj_t *pObjOld, Abc_Obj_t *pObjNew)
static Abc_Obj_t * Abc_NtkBox(Abc_Ntk_t *pNtk, int i)
void Mem_FlexStop(Mem_Flex_t *p, int fVerbose)
#define ABC_NAMESPACE_IMPL_START
Abc_Ntk_t * Abc_NtkStartFromNoLatches(Abc_Ntk_t *pNtk, Abc_NtkType_t Type, Abc_NtkFunc_t Func)
static void * Vec_PtrEntry(Vec_Ptr_t *p, int i)
ABC_NAMESPACE_IMPL_START Abc_Ntk_t * Abc_NtkAlloc(Abc_NtkType_t Type, Abc_NtkFunc_t Func, int fUseMemMan)
DECLARATIONS ///.
void Abc_NtkFinalizeRead(Abc_Ntk_t *pNtk)
ABC_DLL void Abc_ManTimeStop(Abc_ManTime_t *p)
static int Abc_NodeIsTravIdCurrent(Abc_Obj_t *p)
ABC_DLL int Abc_NodeDeref_rec(Abc_Obj_t *pNode)
static int Abc_ObjIsBi(Abc_Obj_t *pObj)
static int Vec_IntSize(Vec_Int_t *p)
Abc_Ntk_t * Abc_NtkBottom(Abc_Ntk_t *pNtk, int Level)
void Abc_NtkPermute(Abc_Ntk_t *pNtk, int fInputs, int fOutputs, int fFlops, char *pFlopPermFile)
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)
ABC_DLL Abc_Obj_t * Abc_NtkCreateNodeConst0(Abc_Ntk_t *pNtk)
Abc_Cex_t * Abc_CexDup(Abc_Cex_t *p, int nRegsNew)
ABC_DLL void Abc_NtkDeleteObjPo(Abc_Obj_t *pObj)
static int Abc_NtkPiNum(Abc_Ntk_t *pNtk)
ABC_DLL char * Abc_ObjName(Abc_Obj_t *pNode)
DECLARATIONS ///.
Abc_Ntk_t * Abc_NtkDouble(Abc_Ntk_t *pNtk)
#define Abc_NtkForEachLatchInput(pNtk, pObj, i)
Abc_Ntk_t * Abc_NtkNodeDup(Abc_Ntk_t *pNtkInit, int nLimit, int fVerbose)
static Abc_Obj_t * Abc_NtkCreateNode(Abc_Ntk_t *pNtk)
static int Abc_ObjIsNet(Abc_Obj_t *pObj)
static int Abc_NtkHasOnlyLatchBoxes(Abc_Ntk_t *pNtk)
Nm_Man_t * Nm_ManCreate(int nSize)
MACRO DEFINITIONS ///.
static void Vec_PtrFreeP(Vec_Ptr_t **p)
static void Abc_ObjXorFaninC(Abc_Obj_t *pObj, int i)
ABC_DLL int Abc_SopGetVarNum(char *pSop)
static int Abc_ObjIsPo(Abc_Obj_t *pObj)
ABC_DLL void Abc_NtkCleanCopy(Abc_Ntk_t *pNtk)
int Mem_FixedReadMemUsage(Mem_Fixed_t *p)
ABC_DLL void Abc_ObjDeleteFanin(Abc_Obj_t *pObj, Abc_Obj_t *pFanin)
static Abc_Obj_t * Abc_ObjNotCond(Abc_Obj_t *p, int c)
static void Vec_PtrClear(Vec_Ptr_t *p)
static int Abc_NtkHasAig(Abc_Ntk_t *pNtk)
static int Abc_ObjIsBox(Abc_Obj_t *pObj)
static Abc_Obj_t * Abc_ObjNot(Abc_Obj_t *p)
void Nm_ManFree(Nm_Man_t *p)
static Abc_Obj_t * Abc_NtkPi(Abc_Ntk_t *pNtk, int i)
ABC_DLL Vec_Ptr_t * Abc_NtkDfsNodes(Abc_Ntk_t *pNtk, Abc_Obj_t **ppNodes, int nNodes)
#define Abc_NtkForEachPo(pNtk, pPo, i)
static Abc_Obj_t * Abc_NtkCreateBi(Abc_Ntk_t *pNtk)
ABC_DLL void Abc_NodeCollectFanouts(Abc_Obj_t *pNode, Vec_Ptr_t *vNodes)
static void Vec_IntFree(Vec_Int_t *p)
#define Vec_PtrForEachEntry(Type, vVec, pEntry, i)
MACRO DEFINITIONS ///.
static void Vec_PtrShrink(Vec_Ptr_t *p, int nSizeNew)
#define Abc_NtkForEachObj(pNtk, pObj, i)
ITERATORS ///.
char * Abc_UtilStrsav(char *s)
#define Vec_IntForEachEntry(vVec, Entry, i)
MACRO DEFINITIONS ///.
ABC_DLL void Abc_NtkOrderCisCos(Abc_Ntk_t *pNtk)
ABC_DLL float Abc_NodeReadArrivalAve(Abc_Obj_t *pNode)
static void Abc_LatchSetInit0(Abc_Obj_t *pLatch)
static Abc_Obj_t * Abc_NtkCreatePo(Abc_Ntk_t *pNtk)
static void ** Vec_PtrArray(Vec_Ptr_t *p)
typedefABC_NAMESPACE_HEADER_START struct Hop_Man_t_ Hop_Man_t
INCLUDES ///.
ABC_DLL void Abc_ManTimeDup(Abc_Ntk_t *pNtkOld, Abc_Ntk_t *pNtkNew)
static Abc_Obj_t * Abc_ObjFanout0(Abc_Obj_t *pObj)
#define Abc_NtkForEachPi(pNtk, pPi, i)
Abc_Ntk_t * Abc_NtkDupTransformMiter(Abc_Ntk_t *pNtk)
static void Vec_PtrFree(Vec_Ptr_t *p)
#define ABC_NUM_STEPS
INCLUDES ///.