21 #ifndef ABC__base__abc__abc_h
22 #define ABC__base__abc__abc_h
234 static inline unsigned Abc_InfoRandomWord() {
return ((((
unsigned)rand()) << 24) ^ (((
unsigned)rand()) << 12) ^ ((
unsigned)rand())); }
238 static inline void Abc_InfoNot(
unsigned *
p,
int nWords ) {
int i;
for ( i = nWords - 1; i >= 0; i-- ) p[i] = ~p[i]; }
239 static inline int Abc_InfoIsZero(
unsigned *
p,
int nWords ) {
int i;
for ( i = nWords - 1; i >= 0; i-- )
if ( p[i] )
return 0;
return 1; }
240 static inline int Abc_InfoIsOne(
unsigned *
p,
int nWords ) {
int i;
for ( i = nWords - 1; i >= 0; i-- )
if ( ~p[i] )
return 0;
return 1; }
241 static inline void Abc_InfoCopy(
unsigned *
p,
unsigned * q,
int nWords ) {
int i;
for ( i = nWords - 1; i >= 0; i-- ) p[i] = q[i]; }
242 static inline void Abc_InfoAnd(
unsigned *
p,
unsigned * q,
int nWords ) {
int i;
for ( i = nWords - 1; i >= 0; i-- ) p[i] &= q[i]; }
243 static inline void Abc_InfoOr(
unsigned *
p,
unsigned * q,
int nWords ) {
int i;
for ( i = nWords - 1; i >= 0; i-- ) p[i] |= q[i]; }
244 static inline void Abc_InfoXor(
unsigned *
p,
unsigned * q,
int nWords ) {
int i;
for ( i = nWords - 1; i >= 0; i-- ) p[i] ^= q[i]; }
245 static inline int Abc_InfoIsOrOne(
unsigned *
p,
unsigned * q,
int nWords ){
int i;
for ( i = nWords - 1; i >= 0; i-- )
if ( ~(p[i] | q[i]) )
return 0;
return 1; }
246 static inline int Abc_InfoIsOrOne3(
unsigned *
p,
unsigned * q,
unsigned * r,
int nWords ){
int i;
for ( i = nWords - 1; i >= 0; i-- )
if ( ~(p[i] | q[i] | r[i]) )
return 0;
return 1; }
446 #define Abc_NtkForEachObj( pNtk, pObj, i ) \
447 for ( i = 0; (i < Vec_PtrSize((pNtk)->vObjs)) && (((pObj) = Abc_NtkObj(pNtk, i)), 1); i++ ) \
448 if ( (pObj) == NULL ) {} else
449 #define Abc_NtkForEachObjReverse( pNtk, pNode, i ) \
450 for ( i = Vec_PtrSize((pNtk)->vObjs) - 1; (i >= 0) && (((pNode) = Abc_NtkObj(pNtk, i)), 1); i-- ) \
451 if ( (pNode) == NULL ) {} else
452 #define Abc_NtkForEachObjVec( vIds, pNtk, pObj, i ) \
453 for ( i = 0; i < Vec_IntSize(vIds) && (((pObj) = Abc_NtkObj(pNtk, Vec_IntEntry(vIds,i))), 1); i++ ) \
454 if ( (pObj) == NULL ) {} else
455 #define Abc_NtkForEachObjVecStart( vIds, pNtk, pObj, i, Start ) \
456 for ( i = Start; i < Vec_IntSize(vIds) && (((pObj) = Abc_NtkObj(pNtk, Vec_IntEntry(vIds,i))), 1); i++ ) \
457 if ( (pObj) == NULL ) {} else
458 #define Abc_NtkForEachNet( pNtk, pNet, i ) \
459 for ( i = 0; (i < Vec_PtrSize((pNtk)->vObjs)) && (((pNet) = Abc_NtkObj(pNtk, i)), 1); i++ ) \
460 if ( (pNet) == NULL || !Abc_ObjIsNet(pNet) ) {} else
461 #define Abc_NtkForEachNode( pNtk, pNode, i ) \
462 for ( i = 0; (i < Vec_PtrSize((pNtk)->vObjs)) && (((pNode) = Abc_NtkObj(pNtk, i)), 1); i++ ) \
463 if ( (pNode) == NULL || !Abc_ObjIsNode(pNode) ) {} else
464 #define Abc_NtkForEachNodeNotBarBuf( pNtk, pNode, i ) \
465 for ( i = 0; (i < Vec_PtrSize((pNtk)->vObjs)) && (((pNode) = Abc_NtkObj(pNtk, i)), 1); i++ ) \
466 if ( (pNode) == NULL || !Abc_ObjIsNode(pNode) || Abc_ObjIsBarBuf(pNode) ) {} else
467 #define Abc_NtkForEachNode1( pNtk, pNode, i ) \
468 for ( i = 0; (i < Vec_PtrSize((pNtk)->vObjs)) && (((pNode) = Abc_NtkObj(pNtk, i)), 1); i++ ) \
469 if ( (pNode) == NULL || !Abc_ObjIsNode(pNode) || !Abc_ObjFaninNum(pNode) ) {} else
470 #define Abc_NtkForEachNodeNotBarBuf1( pNtk, pNode, i ) \
471 for ( i = 0; (i < Vec_PtrSize((pNtk)->vObjs)) && (((pNode) = Abc_NtkObj(pNtk, i)), 1); i++ ) \
472 if ( (pNode) == NULL || !Abc_ObjIsNode(pNode) || !Abc_ObjFaninNum(pNode) || Abc_ObjIsBarBuf(pNode) ) {} else
473 #define Abc_NtkForEachNodeReverse( pNtk, pNode, i ) \
474 for ( i = Vec_PtrSize((pNtk)->vObjs) - 1; (i >= 0) && (((pNode) = Abc_NtkObj(pNtk, i)), 1); i-- ) \
475 if ( (pNode) == NULL || !Abc_ObjIsNode(pNode) ) {} else
476 #define Abc_NtkForEachNodeReverse1( pNtk, pNode, i ) \
477 for ( i = Vec_PtrSize((pNtk)->vObjs) - 1; (i >= 0) && (((pNode) = Abc_NtkObj(pNtk, i)), 1); i-- ) \
478 if ( (pNode) == NULL || !Abc_ObjIsNode(pNode) || !Abc_ObjFaninNum(pNode) ) {} else
479 #define Abc_NtkForEachBarBuf( pNtk, pNode, i ) \
480 for ( i = 0; (i < Vec_PtrSize((pNtk)->vObjs)) && (((pNode) = Abc_NtkObj(pNtk, i)), 1); i++ ) \
481 if ( (pNode) == NULL || !Abc_ObjIsBarBuf(pNode) ) {} else
482 #define Abc_NtkForEachGate( pNtk, pNode, i ) \
483 for ( i = 0; (i < Vec_PtrSize((pNtk)->vObjs)) && (((pNode) = Abc_NtkObj(pNtk, i)), 1); i++ ) \
484 if ( (pNode) == NULL || !Abc_ObjIsGate(pNode) ) {} else
485 #define Abc_AigForEachAnd( pNtk, pNode, i ) \
486 for ( i = 0; (i < Vec_PtrSize((pNtk)->vObjs)) && (((pNode) = Abc_NtkObj(pNtk, i)), 1); i++ ) \
487 if ( (pNode) == NULL || !Abc_AigNodeIsAnd(pNode) ) {} else
488 #define Abc_NtkForEachNodeCi( pNtk, pNode, i ) \
489 for ( i = 0; (i < Vec_PtrSize((pNtk)->vObjs)) && (((pNode) = Abc_NtkObj(pNtk, i)), 1); i++ ) \
490 if ( (pNode) == NULL || (!Abc_ObjIsNode(pNode) && !Abc_ObjIsCi(pNode)) ) {} else
491 #define Abc_NtkForEachNodeCo( pNtk, pNode, i ) \
492 for ( i = 0; (i < Vec_PtrSize((pNtk)->vObjs)) && (((pNode) = Abc_NtkObj(pNtk, i)), 1); i++ ) \
493 if ( (pNode) == NULL || (!Abc_ObjIsNode(pNode) && !Abc_ObjIsCo(pNode)) ) {} else
495 #define Abc_NtkForEachBox( pNtk, pObj, i ) \
496 for ( i = 0; (i < Vec_PtrSize((pNtk)->vBoxes)) && (((pObj) = Abc_NtkBox(pNtk, i)), 1); i++ )
497 #define Abc_NtkForEachLatch( pNtk, pObj, i ) \
498 for ( i = 0; (i < Vec_PtrSize((pNtk)->vBoxes)) && (((pObj) = Abc_NtkBox(pNtk, i)), 1); i++ ) \
499 if ( !Abc_ObjIsLatch(pObj) ) {} else
500 #define Abc_NtkForEachLatchInput( pNtk, pObj, i ) \
501 for ( i = 0; (i < Vec_PtrSize((pNtk)->vBoxes)); i++ ) \
502 if ( !(Abc_ObjIsLatch(Abc_NtkBox(pNtk, i)) && (((pObj) = Abc_ObjFanin0(Abc_NtkBox(pNtk, i))), 1)) ) {} else
503 #define Abc_NtkForEachLatchOutput( pNtk, pObj, i ) \
504 for ( i = 0; (i < Vec_PtrSize((pNtk)->vBoxes)); i++ ) \
505 if ( !(Abc_ObjIsLatch(Abc_NtkBox(pNtk, i)) && (((pObj) = Abc_ObjFanout0(Abc_NtkBox(pNtk, i))), 1)) ) {} else
506 #define Abc_NtkForEachWhitebox( pNtk, pObj, i ) \
507 for ( i = 0; (i < Vec_PtrSize((pNtk)->vBoxes)) && (((pObj) = Abc_NtkBox(pNtk, i)), 1); i++ ) \
508 if ( !Abc_ObjIsWhitebox(pObj) ) {} else
509 #define Abc_NtkForEachBlackbox( pNtk, pObj, i ) \
510 for ( i = 0; (i < Vec_PtrSize((pNtk)->vBoxes)) && (((pObj) = Abc_NtkBox(pNtk, i)), 1); i++ ) \
511 if ( !Abc_ObjIsBlackbox(pObj) ) {} else
513 #define Abc_NtkForEachPi( pNtk, pPi, i ) \
514 for ( i = 0; (i < Abc_NtkPiNum(pNtk)) && (((pPi) = Abc_NtkPi(pNtk, i)), 1); i++ )
515 #define Abc_NtkForEachCi( pNtk, pCi, i ) \
516 for ( i = 0; (i < Abc_NtkCiNum(pNtk)) && (((pCi) = Abc_NtkCi(pNtk, i)), 1); i++ )
517 #define Abc_NtkForEachPo( pNtk, pPo, i ) \
518 for ( i = 0; (i < Abc_NtkPoNum(pNtk)) && (((pPo) = Abc_NtkPo(pNtk, i)), 1); i++ )
519 #define Abc_NtkForEachCo( pNtk, pCo, i ) \
520 for ( i = 0; (i < Abc_NtkCoNum(pNtk)) && (((pCo) = Abc_NtkCo(pNtk, i)), 1); i++ )
521 #define Abc_NtkForEachLiPo( pNtk, pCo, i ) \
522 for ( i = 0; (i < Abc_NtkCoNum(pNtk)) && (((pCo) = Abc_NtkCo(pNtk, i < pNtk->nBarBufs ? Abc_NtkCoNum(pNtk) - pNtk->nBarBufs + i : i - pNtk->nBarBufs)), 1); i++ )
524 #define Abc_ObjForEachFanin( pObj, pFanin, i ) \
525 for ( i = 0; (i < Abc_ObjFaninNum(pObj)) && (((pFanin) = Abc_ObjFanin(pObj, i)), 1); i++ )
526 #define Abc_ObjForEachFanout( pObj, pFanout, i ) \
527 for ( i = 0; (i < Abc_ObjFanoutNum(pObj)) && (((pFanout) = Abc_ObjFanout(pObj, i)), 1); i++ )
529 #define Abc_CubeForEachVar( pCube, Value, i ) \
530 for ( i = 0; (pCube[i] != ' ') && (Value = pCube[i]); i++ )
531 #define Abc_SopForEachCube( pSop, nFanins, pCube ) \
532 for ( pCube = (pSop); *pCube; pCube += (nFanins) + 3 )
533 #define Abc_SopForEachCubePair( pSop, nFanins, pCube, pCube2 ) \
534 Abc_SopForEachCube( pSop, nFanins, pCube ) \
535 Abc_SopForEachCube( pCube + (nFanins) + 3, nFanins, pCube2 )
810 extern ABC_DLL void Abc_NtkPrintStats(
Abc_Ntk_t * pNtk,
int fFactored,
int fSaveBest,
int fDumpResult,
int fUseLutLib,
int fPrintMuxes,
int fPower,
int fGlitch,
int fSkipBuf );
ABC_DLL int Abc_NtkGetBufNum(Abc_Ntk_t *pNtk)
ABC_DLL Abc_Ntk_t * Abc_NtkDarLatchSweep(Abc_Ntk_t *pNtk, int fLatchConst, int fLatchEqual, int fSaveNames, int fUseMvSweep, int nFramesSymb, int nFramesSatur, int fVerbose, int fVeryVerbose)
ABC_DLL void Abc_NtkStartNameIds(Abc_Ntk_t *p)
ABC_DLL int Abc_NtkRemoveSelfFeedLatches(Abc_Ntk_t *pNtk)
ABC_DLL void Abc_NodeGetCutsSeq(void *p, Abc_Obj_t *pObj, int fFirst)
ABC_DLL Vec_Vec_t * Abc_NtkLevelize(Abc_Ntk_t *pNtk)
static unsigned Abc_ObjId(Abc_Obj_t *pObj)
static Abc_Obj_t * Abc_ObjCopyCond(Abc_Obj_t *pObj)
ABC_DLL void Abc_NtkInvertConstraints(Abc_Ntk_t *pNtk)
ABC_DLL int Abc_NtkMakeLegit(Abc_Ntk_t *pNtk)
static void Abc_NtkSetStep(Abc_Ntk_t *pNtk, int iStep)
ABC_DLL char * Abc_SopStart(Mem_Flex_t *pMan, int nCubes, int nVars)
static void Abc_NodeSetTravId(Abc_Obj_t *p, int TravId)
ABC_DLL int Abc_NtkLatchIsSelfFeed(Abc_Obj_t *pLatch)
ABC_DLL int Abc_ObjPointerCompare(void **pp1, void **pp2)
ABC_DLL int Abc_NodeCompareNames(Abc_Obj_t **pp1, Abc_Obj_t **pp2)
ABC_DLL Abc_Ntk_t * Abc_NtkFrames(Abc_Ntk_t *pNtk, int nFrames, int fInitial, int fVerbose)
ABC_DLL void Abc_NtkRecAdd3(Abc_Ntk_t *pNtk, int fUseSOPB)
int nObjCounts[ABC_OBJ_NUMBER]
ABC_DLL int Abc_NtkGetMuxNum(Abc_Ntk_t *pNtk)
static int Abc_NtkIsStrash(Abc_Ntk_t *pNtk)
ABC_DLL void Abc_NtkPrintLevel(FILE *pFile, Abc_Ntk_t *pNtk, int fProfile, int fListNodes, int fVerbose)
static Abc_Obj_t * Abc_ObjFromLit(Abc_Ntk_t *p, int iLit)
static int Abc_NtkIsLogic(Abc_Ntk_t *pNtk)
ABC_DLL Abc_Ntk_t * Abc_NtkTopmost(Abc_Ntk_t *pNtk, int nLevels)
Vec_Ptr_t * vLtlProperties
static int Abc_LatchInit(Abc_Obj_t *pLatch)
ABC_DLL void Abc_NtkCleanMarkB(Abc_Ntk_t *pNtk)
typedefABC_NAMESPACE_HEADER_START struct Vec_Ptr_t_ Vec_Ptr_t
INCLUDES ///.
ABC_DLL int Abc_NtkDarPrintCone(Abc_Ntk_t *pNtk)
ABC_DLL int Abc_ObjReverseLevelNew(Abc_Obj_t *pObj)
ABC_DLL void Abc_NtkPrintIo(FILE *pFile, Abc_Ntk_t *pNtk, int fPrintFlops)
static int Abc_NtkHasBdd(Abc_Ntk_t *pNtk)
static Abc_Obj_t * Abc_ObjFanin1(Abc_Obj_t *pObj)
ABC_DLL Abc_Time_t * Abc_NtkReadDefaultArrival(Abc_Ntk_t *pNtk)
FUNCTION DEFINITIONS ///.
static int Abc_NtkIsComb(Abc_Ntk_t *pNtk)
ABC_DLL Abc_Obj_t * Abc_AigOr(Abc_Aig_t *pMan, Abc_Obj_t *p0, Abc_Obj_t *p1)
ABC_DLL void Abc_NtkUnpermute(Abc_Ntk_t *pNtk)
ABC_DLL void Abc_NtkMakeComb(Abc_Ntk_t *pNtk, int fRemoveLatches)
ABC_DLL void Abc_NtkCleanMarkABC(Abc_Ntk_t *pNtk)
ABC_DLL Gia_Man_t * Abc_NtkRecGetGia3()
ABC_DLL Abc_Obj_t * Abc_AigAndLookup(Abc_Aig_t *pMan, Abc_Obj_t *p0, Abc_Obj_t *p1)
ABC_DLL int Abc_NtkIsAcyclic(Abc_Ntk_t *pNtk)
ABC_DLL Vec_Ptr_t * Abc_AigDfsMap(Abc_Ntk_t *pNtk)
static int Abc_NtkHasSop(Abc_Ntk_t *pNtk)
ABC_DLL int Abc_NtkGetExorNum(Abc_Ntk_t *pNtk)
ABC_DLL Abc_Ntk_t * Abc_NtkBarBufsFromBuffers(Abc_Ntk_t *pNtkBase, Abc_Ntk_t *pNtk)
ABC_DLL int Abc_SopCheck(char *pSop, int nFanins)
static int Abc_ObjIsCi(Abc_Obj_t *pObj)
ABC_DLL int Abc_NodeIsConst(Abc_Obj_t *pNode)
ABC_DLL float Abc_NtkDelayTrace(Abc_Ntk_t *pNtk, Abc_Obj_t *pOut, Abc_Obj_t *pIn, int fPrint)
ABC_DLL int Abc_NtkDontCareCompute(Odc_Man_t *p, Abc_Obj_t *pNode, Vec_Ptr_t *vLeaves, unsigned *puTruth)
static Abc_Obj_t * Abc_NtkCreateWhitebox(Abc_Ntk_t *pNtk)
ABC_DLL int Abc_NtkIsTrueCex(Abc_Ntk_t *pNtk, Abc_Cex_t *pCex)
ABC_DLL void Abc_NtkAppendToCone(Abc_Ntk_t *pNtkNew, Abc_Ntk_t *pNtk, Vec_Ptr_t *vRoots)
ABC_DLL Abc_Obj_t * Abc_ObjAlloc(Abc_Ntk_t *pNtk, Abc_ObjType_t Type)
DECLARATIONS ///.
ABC_DLL void Abc_NtkInsertLatchValues(Abc_Ntk_t *pNtk, Vec_Int_t *vValues)
static int Abc_LatchIsInitNone(Abc_Obj_t *pLatch)
ABC_DLL float Abc_NodeReadRequiredAve(Abc_Obj_t *pNode)
static int Abc_NtkObjNumMax(Abc_Ntk_t *pNtk)
static Abc_Ntk_t * Abc_NtkExdc(Abc_Ntk_t *pNtk)
typedefABC_NAMESPACE_HEADER_START struct Vec_Vec_t_ Vec_Vec_t
INCLUDES ///.
ABC_DLL int Abc_NtkGetClauseNum(Abc_Ntk_t *pNtk)
ABC_DLL int * Abc_NtkVerifyGetCleanModel(Abc_Ntk_t *pNtk, int nFrames)
ABC_DLL double Abc_NtkGetMappedArea(Abc_Ntk_t *pNtk)
ABC_DLL Abc_Obj_t * Abc_AigConst1(Abc_Ntk_t *pNtk)
static int Abc_ObjIsBo(Abc_Obj_t *pObj)
ABC_DLL int Abc_NtkMinimumBase(Abc_Ntk_t *pNtk)
FUNCTION DEFINITIONS ///.
static void * Vec_AttEntry(Vec_Att_t *p, int i)
ABC_DLL void Abc_AigUpdateStop(Abc_Aig_t *pMan)
ABC_DLL int Abc_NtkLogicHasSimpleCos(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_DLL void Abc_NtkStartMvVars(Abc_Ntk_t *pNtk)
DECLARATIONS ///.
static int Abc_NtkIsNetlist(Abc_Ntk_t *pNtk)
ABC_DLL int Abc_AigCheck(Abc_Aig_t *pMan)
ABC_DLL void Abc_NtkRecPs3(int fPrintLib)
ABC_DLL int Abc_SopIsOrType(char *pSop)
ABC_DLL Odc_Man_t * Abc_NtkDontCareAlloc(int nVarsMax, int nLevels, int fVerbose, int fVeryVerbose)
FUNCTION DEFINITIONS ///.
ABC_DLL char * Abc_SopCreateAnd2(Mem_Flex_t *pMan, int fCompl0, int fCompl1)
static int Abc_ObjIsLatch(Abc_Obj_t *pObj)
static int Abc_InfoIsZero(unsigned *p, int nWords)
ABC_DLL void Abc_NtkFillTemp(Abc_Ntk_t *pNtk)
ABC_DLL Abc_Des_t * Abc_DesCreate(char *pName)
DECLARATIONS ///.
ABC_DLL void Abc_NtkFixNonDrivenNets(Abc_Ntk_t *pNtk)
ABC_DLL int Abc_NodeIsConst0(Abc_Obj_t *pNode)
ABC_DLL Abc_Ntk_t * Abc_NtkCreateConeArray(Abc_Ntk_t *pNtk, Vec_Ptr_t *vRoots, int fUseAllCis)
ABC_DLL void Abc_SopToTruthBig(char *pSop, int nInputs, word **pVars, word *pCube, word *pRes)
ABC_DLL void Abc_DesCleanManPointer(Abc_Des_t *p, void *pMan)
static int Abc_ObjFanoutNum(Abc_Obj_t *pObj)
ABC_DLL int Abc_NtkCountCopy(Abc_Ntk_t *pNtk)
static int Abc_NtkBoxNum(Abc_Ntk_t *pNtk)
ABC_DLL Vec_Ptr_t * Abc_NtkManCutReadCutLarge(Abc_ManCut_t *p)
ABC_DLL int Abc_NtkRecInputNum3()
ABC_DLL Abc_Ntk_t * Abc_NtkStrash(Abc_Ntk_t *pNtk, int fAllNodes, int fCleanup, int fRecord)
ABC_DLL void Abc_ObjPrint(FILE *pFile, Abc_Obj_t *pObj)
ABC_DLL void Abc_NtkUpdateLevel(Abc_Obj_t *pObjNew, Vec_Vec_t *vLevels)
ABC_DLL Abc_Time_t * Abc_NtkReadDefaultRequired(Abc_Ntk_t *pNtk)
ABC_DLL int Abc_SopGetCubeNum(char *pSop)
ABC_DLL int Abc_NodeFindFanin(Abc_Obj_t *pNode, Abc_Obj_t *pFanin)
static Abc_Obj_t * Abc_ObjFanin0Ntk(Abc_Obj_t *pObj)
static void * Abc_NtkMvVar(Abc_Ntk_t *pNtk)
ABC_DLL void Abc_NtkMiterReport(Abc_Ntk_t *pMiter)
ABC_DLL int Abc_DesAddModel(Abc_Des_t *p, Abc_Ntk_t *pNtk)
ABC_DLL void Abc_NtkTimeSetArrival(Abc_Ntk_t *pNtk, int ObjId, float Rise, float Fall)
static void Abc_NodeSetTravIdPrevious(Abc_Obj_t *p)
ABC_DLL char * Abc_SopCreateAnd(Mem_Flex_t *pMan, int nVars, int *pfCompl)
static void Abc_InfoFill(unsigned *p, int nWords)
static int Abc_Var2Lit(int Var, int fCompl)
static Vec_Int_t * Abc_ObjFanoutVec(Abc_Obj_t *pObj)
ABC_DLL char ** Abc_NtkCollectCioNames(Abc_Ntk_t *pNtk, int fCollectCos)
ABC_DLL char * Abc_SopCreateInv(Mem_Flex_t *pMan)
ABC_DLL void Abc_NtkCleanMarkC(Abc_Ntk_t *pNtk)
static Abc_Obj_t * Abc_ObjChild1Copy(Abc_Obj_t *pObj)
ABC_DLL Abc_Ntk_t * Abc_NtkMiterForCofactors(Abc_Ntk_t *pNtk, int Out, int In1, int In2)
static int Abc_ObjFaninNum(Abc_Obj_t *pObj)
static int Abc_ObjIsBarBuf(Abc_Obj_t *pObj)
ABC_DLL void Abc_NtkCleanMarkAB(Abc_Ntk_t *pNtk)
static int Abc_NtkHasMapping(Abc_Ntk_t *pNtk)
ABC_DLL char * Abc_SopCreateFromIsop(Mem_Flex_t *pMan, int nVars, Vec_Int_t *vCover)
ABC_DLL int Abc_NtkGetFaninMax(Abc_Ntk_t *pNtk)
static void * Abc_NtkGlobalBdd(Abc_Ntk_t *pNtk)
ABC_DLL void Abc_NtkInsertHierarchyGia(Abc_Ntk_t *pNtk, Abc_Ntk_t *pNew, int fVerbose)
static void Abc_ObjSetMvVar(Abc_Obj_t *pObj, void *pV)
ABC_DLL void Abc_NtkConvertDcLatches(Abc_Ntk_t *pNtk)
ABC_DLL int Abc_SopIsInv(char *pSop)
ABC_DLL Abc_Obj_t * Abc_NtkDupObj(Abc_Ntk_t *pNtkNew, Abc_Obj_t *pObj, int fCopyName)
Abc_NtkType_t
INCLUDES ///.
ABC_DLL void Abc_NtkShortNames(Abc_Ntk_t *pNtk)
static int Abc_NtkLatchNum(Abc_Ntk_t *pNtk)
ABC_DLL void Abc_NtkTimeSetDefaultArrival(Abc_Ntk_t *pNtk, float Rise, float Fall)
ABC_DLL Abc_Ntk_t * Abc_NtkBalanceExor(Abc_Ntk_t *pNtk, int fUpdateLevel, int fVerbose)
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)
ABC_DLL int Abc_SopGetLitNum(char *pSop)
ABC_DLL Abc_Obj_t * Abc_AigMuxLookup(Abc_Aig_t *pMan, Abc_Obj_t *pC, Abc_Obj_t *pT, Abc_Obj_t *pE, int *pType)
ABC_DLL Abc_Ntk_t * Abc_NtkDup(Abc_Ntk_t *pNtk)
ABC_DLL float * Abc_NtkGetCoRequiredFloats(Abc_Ntk_t *pNtk)
static int Abc_AigNodeIsConst(Abc_Obj_t *pNode)
static void Vec_IntSetEntry(Vec_Int_t *p, int i, int Entry)
ABC_DLL int Abc_NtkRemoveDupFanins(Abc_Ntk_t *pNtk)
ABC_DLL Vec_Ptr_t * Abc_AigGetLevelizedOrder(Abc_Ntk_t *pNtk, int fCollectCis)
static Vec_Int_t * Abc_ObjFaninVec(Abc_Obj_t *pObj)
ABC_DLL Abc_Obj_t * Abc_NtkCreateNodeMux(Abc_Ntk_t *pNtk, Abc_Obj_t *pNodeC, Abc_Obj_t *pNode1, Abc_Obj_t *pNode0)
ABC_DLL Abc_Obj_t * Abc_NtkCloneObj(Abc_Obj_t *pNode)
static int Abc_NtkCiNum(Abc_Ntk_t *pNtk)
ABC_DLL Abc_Ntk_t * Abc_NtkFlattenLogicHierarchy(Abc_Ntk_t *pNtk)
static int Abc_LatchIsInit0(Abc_Obj_t *pLatch)
static void Abc_LatchSetInitNone(Abc_Obj_t *pLatch)
ABC_DLL Vec_Ptr_t * Abc_NtkManCutReadVisited(Abc_ManCut_t *p)
ABC_DLL Abc_Ntk_t * Abc_NtkToNetlist(Abc_Ntk_t *pNtk)
ABC_DLL void Abc_NtkShow6VarFunc(char *pF0, char *pF1)
static int Vec_IntGetEntry(Vec_Int_t *p, int i)
ABC_DLL int Abc_NodeMffcLabelAig(Abc_Obj_t *pNode)
static int Abc_ObjIsWhitebox(Abc_Obj_t *pObj)
ABC_DLL char * Abc_SopDecoderPos(Mem_Flex_t *pMan, int nValues)
static void * Abc_NtkMvVarMan(Abc_Ntk_t *pNtk)
ABC_DLL int Abc_NtkCompareSignals(Abc_Ntk_t *pNtk1, Abc_Ntk_t *pNtk2, int fOnlyPis, int fComb)
static Abc_Obj_t * Abc_NtkCi(Abc_Ntk_t *pNtk, int i)
static void Abc_NodeSetPersistant(Abc_Obj_t *pNode)
static int Abc_NtkBiNum(Abc_Ntk_t *pNtk)
ABC_DLL int Abc_NtkCheckUniqueCioNames(Abc_Ntk_t *pNtk)
ABC_DLL int Abc_NtkCheck(Abc_Ntk_t *pNtk)
FUNCTION DEFINITIONS ///.
static int Abc_NtkIsSopLogic(Abc_Ntk_t *pNtk)
ABC_DLL Abc_Ntk_t * Abc_NtkToNetlistBench(Abc_Ntk_t *pNtk)
ABC_DLL char * Abc_NtkCollectLatchValuesStr(Abc_Ntk_t *pNtk)
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_SopIsExorType(char *pSop)
ABC_DLL int Abc_NtkCleanup(Abc_Ntk_t *pNtk, int fVerbose)
ABC_DLL Vec_Ptr_t * Abc_NodeGetFaninNames(Abc_Obj_t *pNode)
ABC_DLL int Abc_NtkMiterProve(Abc_Ntk_t **ppNtk, void *pParams)
FUNCTION DEFINITIONS ///.
ABC_DLL Abc_Ntk_t * Abc_NtkRestrashZero(Abc_Ntk_t *pNtk, int fCleanup)
static int Abc_NtkHasBlifMv(Abc_Ntk_t *pNtk)
static unsigned Abc_InfoRandomWord()
MACRO DEFINITIONS ///.
ABC_DLL void Abc_AigRehash(Abc_Aig_t *pMan)
ABC_DLL Abc_Time_t * Abc_NodeReadRequired(Abc_Obj_t *pNode)
static int Abc_NodeIsTravIdPrevious(Abc_Obj_t *p)
ABC_DLL Abc_Obj_t * Abc_NtkCreateObj(Abc_Ntk_t *pNtk, Abc_ObjType_t Type)
ABC_DLL void Abc_NtkPrintCiLevels(Abc_Ntk_t *pNtk)
ABC_DLL int Abc_NtkGetCubeNum(Abc_Ntk_t *pNtk)
static int Abc_NtkWhiteboxNum(Abc_Ntk_t *pNtk)
ABC_DLL int Abc_NodeRef_rec(Abc_Obj_t *pNode)
ABC_DLL void Abc_NtkFinalizeRead(Abc_Ntk_t *pNtk)
ABC_DLL Vec_Ptr_t * Abc_NtkDfsIterNodes(Abc_Ntk_t *pNtk, Vec_Ptr_t *vRoots)
static Abc_Obj_t * Abc_NtkObj(Abc_Ntk_t *pNtk, int i)
static int Vec_PtrSize(Vec_Ptr_t *p)
ABC_DLL void Abc_NtkPrintFanio(FILE *pFile, Abc_Ntk_t *pNtk, int fUsePis)
ABC_DLL Abc_Obj_t * Abc_AigMux(Abc_Aig_t *pMan, Abc_Obj_t *pC, Abc_Obj_t *p1, Abc_Obj_t *p0)
ABC_DLL int Abc_NtkGetTotalFanins(Abc_Ntk_t *pNtk)
ABC_DLL float Abc_NtkDelayTraceLut(Abc_Ntk_t *pNtk, int fUseLutLib)
ABC_DLL int Abc_NtkLevelReverse(Abc_Ntk_t *pNtk)
static void Abc_LatchSetInitDc(Abc_Obj_t *pLatch)
static void Abc_ObjSetLevel(Abc_Obj_t *pObj, int Level)
static int Abc_NtkIsAigLogic(Abc_Ntk_t *pNtk)
ABC_DLL void * Abc_NtkMiterSatCreate(Abc_Ntk_t *pNtk, int fAllPrimes)
ABC_DLL int Abc_DesFindTopLevelModels(Abc_Des_t *p)
static Abc_Obj_t * Abc_ObjFanin0(Abc_Obj_t *pObj)
ABC_DLL char * Abc_SopFromTruthHex(char *pTruth)
ABC_DLL int Abc_NtkGetChoiceNum(Abc_Ntk_t *pNtk)
ABC_DLL Abc_Ntk_t * Abc_NtkDupTransformMiter(Abc_Ntk_t *pNtk)
static int Abc_ObjFaninId0(Abc_Obj_t *pObj)
ABC_DLL char * Abc_SopCreateConst0(Mem_Flex_t *pMan)
ABC_DLL int Abc_NtkRecIsRunning3()
ABC_DLL Vec_Ptr_t * Abc_NtkDfsSeq(Abc_Ntk_t *pNtk)
ABC_DLL int Abc_NtkConvertToBlifMv(Abc_Ntk_t *pNtk)
static int Abc_NtkCoNum(Abc_Ntk_t *pNtk)
ABC_DLL char * Abc_SopCreateNand(Mem_Flex_t *pMan, int nVars)
ABC_DLL int Abc_SopIsBuf(char *pSop)
ABC_DLL void Abc_NtkPrintLatch(FILE *pFile, Abc_Ntk_t *pNtk)
ABC_DLL float Abc_NtkMfsTotalSwitching(Abc_Ntk_t *pNtk)
ABC_DLL Abc_Ntk_t * Abc_NtkFraig(Abc_Ntk_t *pNtk, void *pParams, int fAllNodes, int fExdc)
FUNCTION DEFINITIONS ///.
static int Abc_ObjIsNone(Abc_Obj_t *pObj)
ABC_DLL void Abc_NtkStopReverseLevels(Abc_Ntk_t *pNtk)
ABC_DLL void Abc_NtkDelete(Abc_Ntk_t *pNtk)
ABC_DLL Abc_Ntk_t * Abc_NtkInsertBlifMv(Abc_Ntk_t *pNtkBase, Abc_Ntk_t *pNtkLogic)
static void Abc_ObjSetData(Abc_Obj_t *pObj, void *pData)
static int Abc_ObjIsCo(Abc_Obj_t *pObj)
ABC_DLL Vec_Ptr_t * Abc_NtkDfsReverse(Abc_Ntk_t *pNtk)
ABC_DLL int Abc_NodeIsMuxControlType(Abc_Obj_t *pNode)
ABC_DLL Vec_Ptr_t * Abc_NodeFindCut(Abc_ManCut_t *p, Abc_Obj_t *pRoot, int fContain)
ABC_DLL Abc_Obj_t * Abc_NtkFindCi(Abc_Ntk_t *pNtk, char *pName)
static Abc_Ntk_t * Abc_ObjModel(Abc_Obj_t *pObj)
static Abc_Obj_t * Abc_NtkCo(Abc_Ntk_t *pNtk, int i)
ABC_DLL Abc_Time_t * Abc_NodeReadArrival(Abc_Obj_t *pNode)
ABC_DLL char * Abc_SopCreateConst1(Mem_Flex_t *pMan)
static Abc_Obj_t * Abc_ObjChild1Data(Abc_Obj_t *pObj)
static void * Abc_ObjGlobalBdd(Abc_Obj_t *pObj)
ABC_DLL void Abc_ObjAddFanin(Abc_Obj_t *pObj, Abc_Obj_t *pFanin)
ABC_DLL char * Abc_SopCreateBuf(Mem_Flex_t *pMan)
ABC_DLL Abc_Ntk_t * Abc_NtkAlloc(Abc_NtkType_t Type, Abc_NtkFunc_t Func, int fUseMemMan)
DECLARATIONS ///.
ABC_DLL void Abc_NtkPrintFanioNew(FILE *pFile, Abc_Ntk_t *pNtk, int fMffc)
ABC_DLL int Abc_NtkGetBddNodeNum(Abc_Ntk_t *pNtk)
ABC_DLL void Abc_NtkReassignIds(Abc_Ntk_t *pNtk)
ABC_DLL void Abc_ObjRecycle(Abc_Obj_t *pObj)
ABC_DLL int Abc_NodeIsBuf(Abc_Obj_t *pNode)
ABC_DLL int Abc_NtkIsAcyclicWithBoxes(Abc_Ntk_t *pNtk)
ABC_DLL void Abc_SopComplementVar(char *pSop, int iVar)
ABC_DLL Abc_Ntk_t * Abc_NtkToLogic(Abc_Ntk_t *pNtk)
FUNCTION DEFINITIONS ///.
ABC_DLL Abc_Obj_t * Abc_AigXor(Abc_Aig_t *pMan, Abc_Obj_t *p0, Abc_Obj_t *p1)
static void Abc_InfoNot(unsigned *p, int nWords)
static Abc_Obj_t * Abc_NtkCreateBo(Abc_Ntk_t *pNtk)
ABC_DLL Abc_Ntk_t * Abc_NtkStrashBlifMv(Abc_Ntk_t *pNtk)
ABC_DLL Abc_Ntk_t * Abc_NtkFromBarBufs(Abc_Ntk_t *pNtkBase, Abc_Ntk_t *pNtk)
ABC_DLL Abc_Ntk_t * Abc_NtkCreateMffc(Abc_Ntk_t *pNtk, Abc_Obj_t *pNode, char *pNodeName)
static Abc_Obj_t * Abc_ObjChild0(Abc_Obj_t *pObj)
ABC_DLL Abc_Ntk_t * Abc_NtkCollapse(Abc_Ntk_t *pNtk, int fBddSizeMax, int fDualRail, int fReorder, int fVerbose)
FUNCTION DEFINITIONS ///.
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)
ABC_DLL Abc_Obj_t * Abc_NodeFindNonCoFanout(Abc_Obj_t *pNode)
ABC_DLL void * Abc_NtkFreeGlobalBdds(Abc_Ntk_t *pNtk, int fFreeMan)
static int Abc_ObjIsNode(Abc_Obj_t *pObj)
static int Abc_NtkNodeNum(Abc_Ntk_t *pNtk)
static void Abc_NodeSetTravIdCurrentId(Abc_Ntk_t *p, int i)
ABC_DLL void Abc_NtkCleanMarkA(Abc_Ntk_t *pNtk)
ABC_DLL void * Abc_NodeReadCuts(void *p, Abc_Obj_t *pObj)
ABC_DLL Abc_Obj_t * Abc_AigAnd(Abc_Aig_t *pMan, Abc_Obj_t *p0, Abc_Obj_t *p1)
ABC_DLL void Abc_NodePrintFanio(FILE *pFile, Abc_Obj_t *pNode)
ABC_DLL int Abc_NodeCompareLevelsIncrease(Abc_Obj_t **pp1, Abc_Obj_t **pp2)
ABC_DLL void Abc_NtkAddDummyPoNames(Abc_Ntk_t *pNtk)
ABC_DLL void Abc_NtkPrintStats(Abc_Ntk_t *pNtk, int fFactored, int fSaveBest, int fDumpResult, int fUseLutLib, int fPrintMuxes, int fPower, int fGlitch, int fSkipBuf)
static int Abc_LitIsCompl(int Lit)
ABC_DLL void * Abc_NodeGetCuts(void *p, Abc_Obj_t *pObj, int fDag, int fTree)
static int Abc_NtkIsBlifMvNetlist(Abc_Ntk_t *pNtk)
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 char * Abc_SopDecoderLog(Mem_Flex_t *pMan, int nValues)
ABC_DLL char * Abc_SopEncoderLog(Mem_Flex_t *pMan, int iBit, int nValues)
ABC_DLL Abc_Ntk_t * Abc_NtkStartFrom(Abc_Ntk_t *pNtk, Abc_NtkType_t Type, Abc_NtkFunc_t Func)
ABC_DLL int Abc_NtkMapToSop(Abc_Ntk_t *pNtk)
ABC_DLL Vec_Ptr_t * Abc_NtkCollectObjects(Abc_Ntk_t *pNtk)
static void Abc_ObjSetFaninC(Abc_Obj_t *pObj, int i)
ABC_DLL Abc_Ntk_t * Abc_NtkCreateTarget(Abc_Ntk_t *pNtk, Vec_Ptr_t *vRoots, Vec_Int_t *vValues)
ABC_DLL void Abc_NtkDeleteObj(Abc_Obj_t *pObj)
ABC_DLL Abc_Ntk_t * Abc_NtkDeriveFromBdd(void *dd, void *bFunc, char *pNamePo, Vec_Ptr_t *vNamesPi)
FUNCTION DEFINITIONS ///.
ABC_DLL int Abc_NodeIsMuxType(Abc_Obj_t *pNode)
ABC_DLL void Abc_NodeFreeCuts(void *p, Abc_Obj_t *pObj)
ABC_DLL int Abc_NtkGetAigNodeNum(Abc_Ntk_t *pNtk)
ABC_DLL void Abc_NtkRecLibMerge3(Gia_Man_t *pGia)
ABC_DLL int Abc_NtkSopToAig(Abc_Ntk_t *pNtk)
ABC_DLL int Abc_NodeMffcSizeSupp(Abc_Obj_t *pNode)
ABC_DLL Abc_Obj_t * Abc_NtkDupBox(Abc_Ntk_t *pNtkNew, Abc_Obj_t *pBox, int fCopyName)
ABC_DLL int Abc_ObjRequiredLevel(Abc_Obj_t *pObj)
ABC_DLL Abc_Ntk_t * Abc_NtkStartRead(char *pName)
ABC_DLL int Abc_AigCleanup(Abc_Aig_t *pMan)
static void Abc_InfoCopy(unsigned *p, unsigned *q, int nWords)
ABC_DLL void Abc_NtkTrasferNamesNoLatches(Abc_Ntk_t *pNtk, Abc_Ntk_t *pNtkNew)
ABC_DLL Abc_Obj_t * Abc_NtkCreateNodeInv(Abc_Ntk_t *pNtk, Abc_Obj_t *pFanin)
static int Abc_NtkHasBlackbox(Abc_Ntk_t *pNtk)
static int Abc_ObjLevel(Abc_Obj_t *pObj)
ABC_DLL int Abc_NtkToSop(Abc_Ntk_t *pNtk, int fDirect)
ABC_DLL int Abc_NtkRewrite(Abc_Ntk_t *pNtk, int fUpdateLevel, int fUseZeros, int fVerbose, int fVeryVerbose, int fPlaceEnable)
FUNCTION DEFINITIONS ///.
ABC_DLL Abc_Ntk_t * Abc_NtkMiter(Abc_Ntk_t *pNtk1, Abc_Ntk_t *pNtk2, int fComb, int nPartSize, int fImplic, int fMulti)
FUNCTION DEFINITIONS ///.
ABC_DLL int Abc_AigLevel(Abc_Ntk_t *pNtk)
ABC_DLL int Abc_NtkCleanupNodes(Abc_Ntk_t *pNtk, Vec_Ptr_t *vNodes, int fVerbose)
ABC_DLL int Abc_NtkSopToBdd(Abc_Ntk_t *pNtk)
ABC_DLL Abc_Obj_t * Abc_NtkFindNode(Abc_Ntk_t *pNtk, char *pName)
ABC_DLL int Abc_NtkPrepareTwoNtks(FILE *pErr, Abc_Ntk_t *pNtk, char **argv, int argc, Abc_Ntk_t **ppNtk1, Abc_Ntk_t **ppNtk2, int *pfDelete1, int *pfDelete2)
static void Abc_InfoAnd(unsigned *p, unsigned *q, int nWords)
ABC_DLL Vec_Ptr_t * Abc_NodeGetFakeNames(int nNames)
ABC_DLL Abc_Obj_t * Abc_NtkFindCo(Abc_Ntk_t *pNtk, char *pName)
static int Abc_NtkIsAigNetlist(Abc_Ntk_t *pNtk)
static unsigned Abc_ObjType(Abc_Obj_t *pObj)
ABC_DLL char * Abc_SopCreateNxor(Mem_Flex_t *pMan, int nVars)
ABC_DLL Vec_Ptr_t * Abc_NtkManCutReadCutSmall(Abc_ManCut_t *p)
ABC_DLL int Abc_NtkCheckUniqueCoNames(Abc_Ntk_t *pNtk)
static int Abc_NodeIsTravIdCurrentId(Abc_Ntk_t *p, int i)
ABC_DLL int Abc_NtkCheckRead(Abc_Ntk_t *pNtk)
ABC_DLL Abc_Aig_t * Abc_AigAlloc(Abc_Ntk_t *pNtk)
FUNCTION DECLARATIONS ///.
ABC_DLL int Abc_NtkIvyProve(Abc_Ntk_t **ppNtk, void *pPars)
ABC_DLL Abc_Obj_t * Abc_NodeStrash(Abc_Ntk_t *pNtkNew, Abc_Obj_t *pNode, int fRecord)
ABC_DLL int Abc_NtkIsAcyclicHierarchy(Abc_Ntk_t *pNtk)
static int Abc_NtkBoNum(Abc_Ntk_t *pNtk)
static int Abc_ObjFanoutEdgeNum(Abc_Obj_t *pObj, Abc_Obj_t *pFanout)
ABC_DLL Abc_Obj_t * Abc_NodeHasUniqueCoFanout(Abc_Obj_t *pNode)
static int Vec_IntEntry(Vec_Int_t *p, int i)
ABC_DLL Abc_Obj_t * Abc_AigMiter(Abc_Aig_t *pMan, Vec_Ptr_t *vPairs, int fImplic)
unsigned __int64 word
DECLARATIONS ///.
ABC_DLL char * Abc_SopFromTruthBin(char *pTruth)
ABC_DLL void Abc_NodePrintFactor(FILE *pFile, Abc_Obj_t *pNode, int fUseRealNames)
ABC_DLL int Abc_NtkIsTopo(Abc_Ntk_t *pNtk)
ABC_DLL Abc_Ntk_t * Abc_NtkBarBufsToBuffers(Abc_Ntk_t *pNtk)
ABC_DLL char * Abc_ObjNamePrefix(Abc_Obj_t *pObj, char *pPrefix)
ABC_DLL Vec_Ptr_t * Abc_NtkConverLatchNamesIntoNumbers(Abc_Ntk_t *pNtk)
static void * Vec_AttMan(Vec_Att_t *p)
ABC_DLL int Abc_NodeMffcSize(Abc_Obj_t *pNode)
FUNCTION DEFINITIONS ///.
ABC_DLL int Abc_NtkRefactor(Abc_Ntk_t *pNtk, int nNodeSizeMax, int nConeSizeMax, int fUpdateLevel, int fUseZeros, int fUseDcs, int fVerbose)
FUNCTION DEFINITIONS ///.
ABC_DLL void Abc_NtkDontCareFree(Odc_Man_t *p)
ABC_DLL Abc_Obj_t * Abc_NtkFindNet(Abc_Ntk_t *pNtk, char *pName)
static void Vec_IntFill(Vec_Int_t *p, int nSize, int Fill)
static int Abc_LatchIsInitDc(Abc_Obj_t *pLatch)
ABC_DLL Abc_Obj_t * Abc_NtkCreateNodeBuf(Abc_Ntk_t *pNtk, Abc_Obj_t *pFanin)
ABC_DLL Abc_Obj_t * Abc_NtkCreateNodeAnd(Abc_Ntk_t *pNtk, Vec_Ptr_t *vFanins)
ABC_DLL Vec_Ptr_t * Abc_NtkNodeSupport(Abc_Ntk_t *pNtk, Abc_Obj_t **ppNodes, int nNodes)
ABC_DLL void Abc_NtkUpdateNameIds(Abc_Ntk_t *p)
ABC_DLL int Abc_NtkGetCubePairNum(Abc_Ntk_t *pNtk)
ABC_DLL char * Abc_SopCreateXor(Mem_Flex_t *pMan, int nVars)
ABC_DLL void Abc_NtkFinalize(Abc_Ntk_t *pNtk, Abc_Ntk_t *pNtkNew)
ABC_DLL Vec_Ptr_t * Abc_NtkCollectLatches(Abc_Ntk_t *pNtk)
ABC_DLL char * Abc_ObjNameDummy(char *pPrefix, int Num, int nDigits)
ABC_DLL int Abc_NtkCheckUniqueCiNames(Abc_Ntk_t *pNtk)
static int Abc_AigNodeIsAnd(Abc_Obj_t *pNode)
ABC_DLL int Abc_AigNodeHasComplFanoutEdgeTrav(Abc_Obj_t *pNode)
ABC_DLL void * Abc_NodeGetCutsRecursive(void *p, Abc_Obj_t *pObj, int fDag, int fTree)
ABC_DLL int Abc_NtkMiterSat(Abc_Ntk_t *pNtk, ABC_INT64_T nConfLimit, ABC_INT64_T nInsLimit, int fVerbose, ABC_INT64_T *pNumConfs, ABC_INT64_T *pNumInspects)
FUNCTION DEFINITIONS ///.
ABC_DLL void Abc_NodeMffcConeSupp(Abc_Obj_t *pNode, Vec_Ptr_t *vCone, Vec_Ptr_t *vSupp)
ABC_DLL Abc_Ntk_t * Abc_NtkCreateCone(Abc_Ntk_t *pNtk, Abc_Obj_t *pNode, char *pNodeName, int fUseAllCis)
static void Abc_InfoXor(unsigned *p, unsigned *q, int nWords)
ABC_DLL Abc_Obj_t * Abc_NtkCreateNodeOr(Abc_Ntk_t *pNtk, Vec_Ptr_t *vFanins)
ABC_DLL void Abc_ObjReplace(Abc_Obj_t *pObjOld, Abc_Obj_t *pObjNew)
ABC_DLL void Abc_NtkCleanCopy_rec(Abc_Ntk_t *pNtk)
ABC_DLL void Abc_NtkTimeInitialize(Abc_Ntk_t *pNtk, Abc_Ntk_t *pNtkOld)
ABC_DLL int Abc_NtkSweepBufsInvs(Abc_Ntk_t *pNtk, int fVerbose)
ABC_DLL void Abc_NtkAddDummyBoxNames(Abc_Ntk_t *pNtk)
static Abc_Obj_t * Abc_NtkCreateLatch(Abc_Ntk_t *pNtk)
ABC_DLL void Abc_NtkCleanNext(Abc_Ntk_t *pNtk)
ABC_DLL Abc_Ntk_t * Abc_NtkCreateFromNode(Abc_Ntk_t *pNtk, Abc_Obj_t *pNode)
ABC_DLL int Abc_NtkCheckObj(Abc_Ntk_t *pNtk, Abc_Obj_t *pObj)
typedefABC_NAMESPACE_HEADER_START struct Nm_Man_t_ Nm_Man_t
INCLUDES ///.
ABC_DLL int Abc_NtkToBdd(Abc_Ntk_t *pNtk)
ABC_DLL char * Abc_SopCreateMux(Mem_Flex_t *pMan)
ABC_DLL int Abc_SopIsConst0(char *pSop)
ABC_DLL int Abc_SopIsConst1(char *pSop)
ABC_DLL Vec_Ptr_t * Abc_NtkDfsSeqReverse(Abc_Ntk_t *pNtk)
static void Abc_NtkSetName(Abc_Ntk_t *pNtk, char *pName)
ABC_DLL void Abc_VecObjPushUniqueOrderByLevel(Vec_Ptr_t *p, Abc_Obj_t *pNode)
static void * Abc_ObjMvVar(Abc_Obj_t *pObj)
ABC_DLL void Abc_NtkDontCareClear(Odc_Man_t *p)
ABC_DLL Abc_Ntk_t * Abc_NtkMiterCofactor(Abc_Ntk_t *pNtk, Vec_Int_t *vPiValues)
static Abc_Obj_t * Abc_NtkCreateBlackbox(Abc_Ntk_t *pNtk)
#define ABC_NAMESPACE_HEADER_START
NAMESPACES ///.
ABC_DLL Vec_Int_t * Abc_NtkCollectLatchValues(Abc_Ntk_t *pNtk)
typedefABC_NAMESPACE_HEADER_START struct Mem_Fixed_t_ Mem_Fixed_t
DECLARATIONS ///.
ABC_DLL int Abc_NtkGetLitFactNum(Abc_Ntk_t *pNtk)
static int Abc_LatchIsInit1(Abc_Obj_t *pLatch)
ABC_DLL void Abc_NtkTimeSetDefaultRequired(Abc_Ntk_t *pNtk, float Rise, float Fall)
static Abc_Obj_t * Abc_NtkCreatePi(Abc_Ntk_t *pNtk)
static Abc_Obj_t * Abc_ObjFanout0Ntk(Abc_Obj_t *pObj)
ABC_DLL Vec_Ptr_t * Abc_NtkDfsReverseNodesContained(Abc_Ntk_t *pNtk, Abc_Obj_t **ppNodes, int nNodes)
static void Abc_InfoClear(unsigned *p, int nWords)
ABC_DLL int Abc_NodeMffcLabel(Abc_Obj_t *pNode)
ABC_DLL Abc_Ntk_t * Abc_NtkFraigTrust(Abc_Ntk_t *pNtk)
ABC_DLL int Abc_NtkDoCheck(Abc_Ntk_t *pNtk)
ABC_DLL void Abc_NtkWriteLogFile(char *pFileName, Abc_Cex_t *pSeqCex, int Status, int nFrames, char *pCommand)
DECLARATIONS ///.
ABC_DLL Abc_Ntk_t * Abc_NtkHaigUse(Abc_Ntk_t *pNtk)
ABC_DLL Gia_Man_t * Abc_NtkFlattenHierarchyGia(Abc_Ntk_t *pNtk, Vec_Ptr_t **pvBuffers, int fVerbose)
ABC_DLL void Abc_NtkStartReverseLevels(Abc_Ntk_t *pNtk, int nMaxLevelIncrease)
ABC_DLL Abc_Obj_t * Abc_NtkFindOrCreateNet(Abc_Ntk_t *pNtk, char *pName)
ABC_DLL Abc_Ntk_t * Abc_NtkConvertBlackboxes(Abc_Ntk_t *pNtk)
static void Abc_ObjBlackboxToWhitebox(Abc_Obj_t *pObj)
static void Abc_InfoOr(unsigned *p, unsigned *q, int nWords)
#define ABC_NAMESPACE_HEADER_END
ABC_DLL Abc_Ntk_t * Abc_NtkDupDfs(Abc_Ntk_t *pNtk)
ABC_DLL int Abc_NtkHaigStop(Abc_Ntk_t *pNtk)
static void Abc_NtkSetBackup(Abc_Ntk_t *pNtk, Abc_Ntk_t *pNetBackup)
static void Abc_ObjSetGlobalBdd(Abc_Obj_t *pObj, void *bF)
ABC_DLL Abc_Time_t * Abc_NtkReadDefaultInputDrive(Abc_Ntk_t *pNtk)
ABC_DLL void Abc_NtkFreeMvVars(Abc_Ntk_t *pNtk)
ABC_DLL void Abc_ObjRemoveFanins(Abc_Obj_t *pObj)
ABC_DLL void Abc_ObjTransferFanout(Abc_Obj_t *pObjOld, Abc_Obj_t *pObjNew)
static void ** Vec_AttArray(Vec_Att_t *p)
static Abc_Obj_t * Abc_NtkBox(Abc_Ntk_t *pNtk, int i)
static int Abc_NodeIsPersistant(Abc_Obj_t *pNode)
ABC_DLL Vec_Ptr_t * Abc_AigDfs(Abc_Ntk_t *pNtk, int fCollectAll, int fCollectCos)
static int Abc_NtkConstrNum(Abc_Ntk_t *pNtk)
ABC_DLL void Abc_NtkFraigStoreClean()
ABC_DLL void Abc_NtkLogicMakeDirectSops(Abc_Ntk_t *pNtk)
ABC_DLL float Abc_NodeReadRequiredWorst(Abc_Obj_t *pNode)
ABC_DLL void Abc_NtkTrasferNames(Abc_Ntk_t *pNtk, Abc_Ntk_t *pNtkNew)
ABC_DLL void Abc_NtkUpdateReverseLevel(Abc_Obj_t *pObjNew, Vec_Vec_t *vLevels)
static void * Vec_PtrEntry(Vec_Ptr_t *p, int i)
static void Abc_LatchSetInit1(Abc_Obj_t *pLatch)
ABC_DLL Abc_Time_t * Abc_NtkGetCiArrivalTimes(Abc_Ntk_t *pNtk)
ABC_DLL void Abc_ManTimeStop(Abc_ManTime_t *p)
ABC_DLL char * Abc_SopCreateNor(Mem_Flex_t *pMan, int nVars)
ABC_DLL Abc_Obj_t * Abc_NtkCreateNodeExor(Abc_Ntk_t *pNtk, Vec_Ptr_t *vFanins)
ABC_DLL int Abc_NtkSizeOfGlobalBdds(Abc_Ntk_t *pNtk)
ABC_DLL void Abc_NtkSetMvVarValues(Abc_Obj_t *pObj, int nValues)
static int Abc_NtkIsMappedNetlist(Abc_Ntk_t *pNtk)
static Abc_Obj_t * Abc_ObjChild0Data(Abc_Obj_t *pObj)
ABC_DLL int Abc_NtkLogicMakeSimpleCos(Abc_Ntk_t *pNtk, int fDuplicate)
ABC_DLL Vec_Ptr_t * Abc_NtkDfsIter(Abc_Ntk_t *pNtk, int fCollectAll)
ABC_DLL Abc_Obj_t * Abc_ObjInsertBetween(Abc_Obj_t *pNodeIn, Abc_Obj_t *pNodeOut, Abc_ObjType_t Type)
ABC_DLL float Abc_NodeReadArrivalWorst(Abc_Obj_t *pNode)
static int Abc_NodeIsTravIdCurrent(Abc_Obj_t *p)
static int Abc_AigNodeIsChoice(Abc_Obj_t *pNode)
static int Abc_ObjFaninC(Abc_Obj_t *pObj, int i)
static Abc_Obj_t * Abc_ObjChild(Abc_Obj_t *pObj, int i)
static Abc_Obj_t * Abc_ObjEquiv(Abc_Obj_t *pObj)
ABC_DLL char * Abc_SopCreateFromTruth(Mem_Flex_t *pMan, int nVars, unsigned *pTruth)
ABC_DLL char * Abc_NodeConvertSopToMvSop(int nVars, Vec_Int_t *vSop0, Vec_Int_t *vSop1)
static Abc_Obj_t * Abc_ObjRegular(Abc_Obj_t *p)
ABC_DLL Abc_Ntk_t * Abc_DesFindModelByName(Abc_Des_t *p, char *pName)
ABC_DLL int Abc_NodeDeref_rec(Abc_Obj_t *pNode)
ABC_DLL void Abc_NtkReverseTopoOrder(Abc_Ntk_t *pNtk)
static int Abc_NtkIsMappedLogic(Abc_Ntk_t *pNtk)
ABC_DLL int Abc_AigNodeIsAcyclic(Abc_Obj_t *pNode, Abc_Obj_t *pRoot)
static int Abc_ObjIsBi(Abc_Obj_t *pObj)
ABC_DLL int Abc_SopGetIthCareLit(char *pSop, int i)
ABC_DLL Abc_Ntk_t * Abc_NtkRestrash(Abc_Ntk_t *pNtk, int fCleanup)
FUNCTION DEFINITIONS ///.
static int Vec_IntSize(Vec_Int_t *p)
ABC_DLL int Abc_NtkCombinePos(Abc_Ntk_t *pNtk, int fAnd, int fXor)
ABC_DLL void Abc_NtkRecStart3(Gia_Man_t *p, int nVars, int nCuts, int fFuncOnly, int fVerbose)
ABC_DLL Vec_Ptr_t * Abc_NodeCollectTfoCands(Abc_ManCut_t *p, Abc_Obj_t *pRoot, Vec_Ptr_t *vFanins, int LevelMax)
ABC_DLL Abc_Ntk_t * Abc_NtkCreateWithNode(char *pSop)
ABC_DLL int Abc_NtkMiterIsConstant(Abc_Ntk_t *pMiter)
ABC_DLL int Abc_NodeIsInv(Abc_Obj_t *pNode)
ABC_DLL Vec_Vec_t * Abc_DfsLevelized(Abc_Obj_t *pNode, int fTfi)
ABC_DLL void Abc_SopComplement(char *pSop)
ABC_DLL Abc_Obj_t * Abc_NodeFindCoFanout(Abc_Obj_t *pNode)
ABC_DLL void Abc_AigPrintNode(Abc_Obj_t *pNode)
static char * Abc_NtkName(Abc_Ntk_t *pNtk)
static Abc_Obj_t * Abc_NtkPo(Abc_Ntk_t *pNtk, int i)
ABC_DLL float * Abc_NtkGetCiArrivalFloats(Abc_Ntk_t *pNtk)
static int Abc_NtkPoNum(Abc_Ntk_t *pNtk)
ABC_DLL void Abc_NtkTimeSetRequired(Abc_Ntk_t *pNtk, int ObjId, float Rise, float Fall)
ABC_DLL int Abc_NtkBddToSop(Abc_Ntk_t *pNtk, int fDirect)
static void * Abc_NtkGlobalBddMan(Abc_Ntk_t *pNtk)
ABC_DLL int Abc_ObjReverseLevel(Abc_Obj_t *pObj)
ABC_DLL int Abc_NtkSweep(Abc_Ntk_t *pNtk, int fVerbose)
static void Abc_ObjSetCopy(Abc_Obj_t *pObj, Abc_Obj_t *pCopy)
ABC_DLL void Abc_NtkUpdate(Abc_Obj_t *pObj, Abc_Obj_t *pObjNew, Vec_Vec_t *vLevels)
ABC_DLL Abc_Ntk_t * Abc_NtkStartFromNoLatches(Abc_Ntk_t *pNtk, Abc_NtkType_t Type, Abc_NtkFunc_t Func)
ABC_DLL int Abc_NodeMffcSizeStop(Abc_Obj_t *pNode)
static int Abc_NtkStep(Abc_Ntk_t *pNtk)
ABC_DLL void Abc_NtkDeleteAll_rec(Abc_Obj_t *pObj)
static int Abc_NtkIsBddLogic(Abc_Ntk_t *pNtk)
ABC_DLL int Abc_NodeCompareLevelsDecrease(Abc_Obj_t **pp1, Abc_Obj_t **pp2)
ABC_DLL Abc_Obj_t * Abc_NtkCreateNodeConst0(Abc_Ntk_t *pNtk)
ABC_DLL void Abc_NtkDeleteObjPo(Abc_Obj_t *pObj)
ABC_DLL Vec_Ptr_t * Abc_NtkSaveCopy(Abc_Ntk_t *pNtk)
static int Abc_NtkPiNum(Abc_Ntk_t *pNtk)
ABC_DLL char * Abc_ObjName(Abc_Obj_t *pNode)
DECLARATIONS ///.
ABC_DLL Vec_Int_t * Abc_NtkGetCiIds(Abc_Ntk_t *pNtk)
ABC_DLL void Abc_NtkCleanData(Abc_Ntk_t *pNtk)
ABC_DLL Abc_Ntk_t * Abc_DesDeriveRoot(Abc_Des_t *p)
ABC_DLL void Abc_NtkMiterAddCone(Abc_Ntk_t *pNtk, Abc_Ntk_t *pNtkMiter, Abc_Obj_t *pNode)
ABC_DLL void Abc_ObjSetReverseLevel(Abc_Obj_t *pObj, int LevelR)
static int Abc_NtkIsSopNetlist(Abc_Ntk_t *pNtk)
ABC_DLL Vec_Ptr_t * Abc_AigUpdateStart(Abc_Aig_t *pMan, Vec_Ptr_t **pvUpdatedNets)
static void Abc_NtkIncrementTravId(Abc_Ntk_t *p)
ABC_DLL Abc_Ntk_t * Abc_NtkBalance(Abc_Ntk_t *pNtk, int fDuplicate, int fSelective, int fUpdateLevel)
FUNCTION DEFINITIONS ///.
ABC_DLL char * Abc_SopCreateXorSpecial(Mem_Flex_t *pMan, int nVars)
ABC_DLL Abc_Ntk_t * Abc_NtkBddToMuxes(Abc_Ntk_t *pNtk)
static Abc_Obj_t * Abc_NtkCreateNode(Abc_Ntk_t *pNtk)
ABC_DLL int Abc_NtkAttach(Abc_Ntk_t *pNtk)
FUNCTION DEFINITIONS ///.
ABC_DLL int Abc_NtkAigToBdd(Abc_Ntk_t *pNtk)
static int Abc_ObjIsNet(Abc_Obj_t *pObj)
static int Abc_Lit2Var(int Lit)
ABC_DLL Abc_Obj_t * Abc_NtkFetchTwinNode(Abc_Obj_t *pNode)
static int Abc_ObjToLit(Abc_Obj_t *p)
static int Abc_NtkHasOnlyLatchBoxes(Abc_Ntk_t *pNtk)
ABC_DLL Abc_Ntk_t * Abc_NtkMiterQuantifyPis(Abc_Ntk_t *pNtk)
static void Vec_AttWriteEntry(Vec_Att_t *p, int i, void *pEntry)
ABC_DLL char * Abc_SopCreateOrMultiCube(Mem_Flex_t *pMan, int nVars, int *pfCompl)
ABC_DLL void Abc_NodeCollectFanins(Abc_Obj_t *pNode, Vec_Ptr_t *vNodes)
ABC_DLL void Abc_NtkPrintSkews(FILE *pFile, Abc_Ntk_t *pNtk, int fPrintAll)
static void Abc_ObjXorFaninC(Abc_Obj_t *pObj, int i)
ABC_DLL int Abc_SopGetVarNum(char *pSop)
ABC_DLL void Abc_NtkPrintBoxInfo(Abc_Ntk_t *pNtk)
static int Abc_ObjMvVarNum(Abc_Obj_t *pObj)
ABC_DLL int Abc_ObjFanoutFaninNum(Abc_Obj_t *pFanout, Abc_Obj_t *pFanin)
static int Abc_ObjIsPo(Abc_Obj_t *pObj)
ABC_DLL Abc_ManCut_t * Abc_NtkManCutStart(int nNodeSizeMax, int nConeSizeMax, int nNodeFanStop, int nConeFanStop)
ABC_DLL int Abc_NtkToAig(Abc_Ntk_t *pNtk)
ABC_DLL word Abc_SopToTruth(char *pSop, int nInputs)
static int Abc_InfoIsOne(unsigned *p, int nWords)
ABC_DLL Vec_Ptr_t * Abc_NtkDfsWithBoxes(Abc_Ntk_t *pNtk)
ABC_DLL int Abc_NtkIsDfsOrdered(Abc_Ntk_t *pNtk)
ABC_DLL void Abc_SopToTruth7(char *pSop, int nInputs, word r[2])
ABC_DLL void Abc_NtkSetNodeLevelsArrival(Abc_Ntk_t *pNtk)
ABC_DLL int Abc_AigNodeHasComplFanoutEdge(Abc_Obj_t *pNode)
ABC_DLL void Abc_NtkCleanCopy(Abc_Ntk_t *pNtk)
ABC_DLL Gia_Man_t * Abc_NtkAigToGia(Abc_Ntk_t *p)
ABC_DLL Vec_Ptr_t * Abc_NtkSupport(Abc_Ntk_t *pNtk)
ABC_DLL Vec_Int_t * Abc_NtkFanoutCounts(Abc_Ntk_t *pNtk)
ABC_DLL int Abc_NodeIsConst1(Abc_Obj_t *pNode)
static void Abc_NtkSetSpec(Abc_Ntk_t *pNtk, char *pName)
ABC_DLL void Abc_ObjDeleteFanin(Abc_Obj_t *pObj, Abc_Obj_t *pFanin)
ABC_DLL void Abc_NtkTransferNameIds(Abc_Ntk_t *p, Abc_Ntk_t *pNew)
ABC_DLL int Abc_NtkGetLitNum(Abc_Ntk_t *pNtk)
static Abc_Obj_t * Abc_ObjNotCond(Abc_Obj_t *p, int c)
ABC_DLL void Abc_NodeBddToCnf(Abc_Obj_t *pNode, Mem_Flex_t *pMmMan, Vec_Str_t *vCube, int fAllPrimes, char **ppSop0, char **ppSop1)
ABC_DLL Abc_Ntk_t * Abc_NtkToBarBufs(Abc_Ntk_t *pNtk)
static int Abc_NtkHasAig(Abc_Ntk_t *pNtk)
static void * Abc_ObjData(Abc_Obj_t *pObj)
ABC_DLL int Abc_SopIsAndType(char *pSop)
static int * Vec_IntEntryP(Vec_Int_t *p, int i)
ABC_DLL void Abc_NtkManCutStop(Abc_ManCut_t *p)
static int Abc_ObjIsBox(Abc_Obj_t *pObj)
ABC_DLL void Abc_NtkTimeSetDefaultOutputLoad(Abc_Ntk_t *pNtk, float Rise, float Fall)
ABC_DLL Abc_Obj_t * Abc_NtkAddLatch(Abc_Ntk_t *pNtk, Abc_Obj_t *pDriver, Abc_InitType_t Init)
ABC_DLL void Abc_DesPrint(Abc_Des_t *p)
ABC_DLL Vec_Ptr_t * Abc_NtkDfsHie(Abc_Ntk_t *pNtk, int fCollectAll)
static Abc_Obj_t * Abc_ObjNot(Abc_Obj_t *p)
typedefABC_NAMESPACE_HEADER_START struct Abc_Cex_t_ Abc_Cex_t
INCLUDES ///.
ABC_DLL void Abc_AigCheckFaninOrder(Abc_Aig_t *pMan)
ABC_DLL int Abc_NtkGetFanoutMax(Abc_Ntk_t *pNtk)
ABC_DLL int Abc_NtkHaigStart(Abc_Ntk_t *pNtk)
static Abc_Obj_t * Abc_ObjChildCopy(Abc_Obj_t *pObj, int i)
static int Abc_ObjFaninPhase(Abc_Obj_t *p, int i)
static char * Abc_NtkSpec(Abc_Ntk_t *pNtk)
static int Abc_InfoIsOrOne(unsigned *p, unsigned *q, int nWords)
static Abc_Ntk_t * Abc_ObjNtk(Abc_Obj_t *pObj)
static Abc_Obj_t * Abc_NtkPi(Abc_Ntk_t *pNtk, int i)
ABC_DLL Abc_Time_t * Abc_NtkReadDefaultOutputLoad(Abc_Ntk_t *pNtk)
static int Abc_ObjFaninId(Abc_Obj_t *pObj, int i)
ABC_DLL Vec_Ptr_t * Abc_NtkDfsNodes(Abc_Ntk_t *pNtk, Abc_Obj_t **ppNodes, int nNodes)
ABC_DLL void * Abc_NtkBuildGlobalBdds(Abc_Ntk_t *pNtk, int fBddSizeMax, int fDropInternal, int fReorder, int fVerbose)
static void Abc_InfoRandom(unsigned *p, int nWords)
ABC_DLL void Abc_NtkPermute(Abc_Ntk_t *pNtk, int fInputs, int fOutputs, int fFlops, char *pFlopPermFile)
static int Abc_ObjFaninId1(Abc_Obj_t *pObj)
static void Abc_ObjFaninFlipPhase(Abc_Obj_t *p, int i)
ABC_DLL int Abc_NodeRemoveDupFanins(Abc_Obj_t *pNode)
ABC_DLL void Abc_AigSetNodePhases(Abc_Ntk_t *pNtk)
ABC_DLL int * Abc_NtkVerifySimulatePattern(Abc_Ntk_t *pNtk, int *pModel)
ABC_DLL void Abc_AigUpdateReset(Abc_Aig_t *pMan)
static int Abc_NtkBlackboxNum(Abc_Ntk_t *pNtk)
static Abc_Obj_t * Abc_NtkCreateBi(Abc_Ntk_t *pNtk)
static Abc_Obj_t * Abc_ObjFanout(Abc_Obj_t *pObj, int i)
ABC_DLL Abc_Obj_t * Abc_AigXorLookup(Abc_Aig_t *pMan, Abc_Obj_t *p0, Abc_Obj_t *p1, int *pType)
ABC_DLL void Abc_NodeCollectFanouts(Abc_Obj_t *pNode, Vec_Ptr_t *vNodes)
static Abc_Obj_t * Abc_ObjFanin(Abc_Obj_t *pObj, int i)
ABC_DLL int Abc_NodeEvalMvCost(int nVars, Vec_Int_t *vSop0, Vec_Int_t *vSop1)
ABC_DLL void Abc_NtkLoadCopy(Abc_Ntk_t *pNtk, Vec_Ptr_t *vCopies)
ABC_DLL void Abc_NtkTransferCopy(Abc_Ntk_t *pNtk)
ABC_DLL Abc_Time_t * Abc_NodeReadInputDrive(Abc_Ntk_t *pNtk, int iPi)
static int Abc_ObjIsComplement(Abc_Obj_t *p)
ABC_DLL int Abc_NtkCleanupSeq(Abc_Ntk_t *pNtk, int fLatchSweep, int fAutoSweep, int fVerbose)
ABC_DLL void Abc_NtkCleanNext_rec(Abc_Ntk_t *pNtk)
ABC_DLL Abc_Ntk_t * Abc_NtkMiterAnd(Abc_Ntk_t *pNtk1, Abc_Ntk_t *pNtk2, int fOr, int fCompl2)
ABC_DLL float Abc_NodeReadOutputLoadWorst(Abc_Ntk_t *pNtk, int iPo)
static int Abc_NtkObjNum(Abc_Ntk_t *pNtk)
ABC_DLL int Abc_NtkLevel(Abc_Ntk_t *pNtk)
ABC_DLL Vec_Ptr_t * Abc_NtkDfsReverseNodes(Abc_Ntk_t *pNtk, Abc_Obj_t **ppNodes, int nNodes)
ABC_DLL int Abc_NtkCountSelfFeedLatches(Abc_Ntk_t *pNtk)
ABC_DLL void Abc_NtkAddDummyPiNames(Abc_Ntk_t *pNtk)
ABC_DLL void Abc_NodeComplement(Abc_Obj_t *pNode)
static int Abc_ObjIsTerm(Abc_Obj_t *pObj)
ABC_DLL char * Abc_SopEncoderPos(Mem_Flex_t *pMan, int iValue, int nValues)
ABC_DLL void Abc_NtkOrderCisCos(Abc_Ntk_t *pNtk)
ABC_DLL Abc_Ntk_t * Abc_NtkInsertNewLogic(Abc_Ntk_t *pNtkH, Abc_Ntk_t *pNtkL)
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 Abc_Obj_t * Abc_ObjChild1(Abc_Obj_t *pObj)
ABC_DLL int Abc_SopIsComplement(char *pSop)
ABC_DLL void Abc_NtkTimeSetInputDrive(Abc_Ntk_t *pNtk, int PiNum, float Rise, float Fall)
ABC_DLL void Abc_NtkPrintFactor(FILE *pFile, Abc_Ntk_t *pNtk, int fUseRealNames)
ABC_DLL void Abc_NtkTimeSetOutputLoad(Abc_Ntk_t *pNtk, int PoNum, float Rise, float Fall)
ABC_DLL char * Abc_SopCreateOr(Mem_Flex_t *pMan, int nVars, int *pfCompl)
ABC_DLL void * Abc_NtkAttrFree(Abc_Ntk_t *pNtk, int Attr, int fFreeMan)
DECLARATIONS ///.
ABC_DLL int Abc_NtkAppend(Abc_Ntk_t *pNtk1, Abc_Ntk_t *pNtk2, int fAddPos)
ABC_DLL int Abc_NodeIsExorType(Abc_Obj_t *pNode)
static void ** Abc_NtkGlobalBddArray(Abc_Ntk_t *pNtk)
ABC_DLL int Abc_NtkIsValidCex(Abc_Ntk_t *pNtk, Abc_Cex_t *pCex)
ABC_DLL int Abc_SopGetPhase(char *pSop)
ABC_DLL Abc_Obj_t * Abc_NodeRecognizeMux(Abc_Obj_t *pNode, Abc_Obj_t **ppNodeT, Abc_Obj_t **ppNodeE)
static int Abc_InfoIsOrOne3(unsigned *p, unsigned *q, unsigned *r, int nWords)
ABC_DLL float Abc_NodeReadInputDriveWorst(Abc_Ntk_t *pNtk, int iPi)
ABC_DLL void Abc_NtkOrderObjsByName(Abc_Ntk_t *pNtk, int fComb)
ABC_DLL void Abc_ManTimeDup(Abc_Ntk_t *pNtkOld, Abc_Ntk_t *pNtkNew)
ABC_DLL int Abc_NtkPhaseFrameNum(Abc_Ntk_t *pNtk)
static Abc_Ntk_t * Abc_NtkBackup(Abc_Ntk_t *pNtk)
ABC_DLL int Abc_NodeMinimumBase(Abc_Obj_t *pNode)
ABC_DLL int Abc_ObjLevelNew(Abc_Obj_t *pObj)
static Abc_Obj_t * Abc_ObjFanout0(Abc_Obj_t *pObj)
ABC_DLL void Abc_NtkTimeSetDefaultInputDrive(Abc_Ntk_t *pNtk, float Rise, float Fall)
ABC_DLL void Abc_NodePrintLevel(FILE *pFile, Abc_Obj_t *pNode)
static void Abc_NodeClearPersistant(Abc_Obj_t *pNode)
ABC_DLL Abc_Ntk_t * Abc_NtkFraigRestore()
ABC_DLL char * Abc_ObjNameSuffix(Abc_Obj_t *pObj, char *pSuffix)
ABC_DLL void Abc_NodeComplementInput(Abc_Obj_t *pNode, Abc_Obj_t *pFanin)
static int Abc_NtkNetNum(Abc_Ntk_t *pNtk)
ABC_DLL Abc_Time_t * Abc_NodeReadOutputLoad(Abc_Ntk_t *pNtk, int iPo)
ABC_DLL Abc_Ntk_t * Abc_NtkMiterQuantify(Abc_Ntk_t *pNtk, int In, int fExist)
ABC_DLL void Abc_NodeConeCollect(Abc_Obj_t **ppRoots, int nRoots, Vec_Ptr_t *vFanins, Vec_Ptr_t *vVisited, int fIncludeFanins)
ABC_DLL Abc_Time_t * Abc_NtkGetCoRequiredTimes(Abc_Ntk_t *pNtk)
static void Abc_NodeSetTravIdCurrent(Abc_Obj_t *p)
ABC_DLL void * Abc_NtkToFraig(Abc_Ntk_t *pNtk, void *pParams, int fAllNodes, int fExdc)
static Abc_Obj_t * Abc_NtkCreateNet(Abc_Ntk_t *pNtk)
ABC_DLL Abc_Des_t * Abc_DesDup(Abc_Des_t *p)
ABC_DLL void Abc_AigDeleteNode(Abc_Aig_t *pMan, Abc_Obj_t *pOld)
static Abc_Obj_t * Abc_ObjCopy(Abc_Obj_t *pObj)
ABC_DLL void Abc_AigReplace(Abc_Aig_t *pMan, Abc_Obj_t *pOld, Abc_Obj_t *pNew, int fUpdateLevel)
ABC_DLL void Abc_NtkRecStop3()
static int Abc_NodeTravId(Abc_Obj_t *p)
static int Abc_ObjIsBlackbox(Abc_Obj_t *pObj)
ABC_DLL int Abc_NtkFraigStore(Abc_Ntk_t *pNtk)