51 assert( p->pManTime == NULL );
56 pNew->nAsserts = p->nAsserts;
57 pNew->nConstrs = p->nConstrs;
58 pNew->nBarBufs = p->nBarBufs;
68 pObj->
pData = pObjNew;
75 pObj->
pData = pObjNew;
80 pObj->
pData = pObjNew;
86 pObj->
pData = pObjNew;
92 printf(
"Aig_ManDupSimple(): The check has failed.\n" );
112 assert( p->nAsserts == 0 || p->nConstrs == 0 );
123 if ( Entry == 0 || Entry == 1 )
131 if ( Entry == 0 || Entry == 1 )
141 printf(
"Llb_ManDeriveAigWithHints(): The check has failed.\n" );
189 assert( p->pManTime == NULL );
194 pNew->nAsserts = p->nAsserts;
195 pNew->nConstrs = p->nConstrs;
196 pNew->nBarBufs = p->nBarBufs;
206 pObj->
pData = pObjNew;
219 pObj->
pData = pObjNew;
225 printf(
"Aig_ManDupSimple(): The check has failed.\n" );
262 printf(
"Aig_ManDupSimple(): The check has failed.\n" );
286 pNew->nAsserts = p->nAsserts;
287 pNew->nConstrs = p->nConstrs;
288 pNew->nBarBufs = p->nBarBufs;
319 pObj->
pData = pObjNew;
323 printf(
"Aig_ManDupOrdered(): Cleanup after AIG duplication removed %d nodes.\n", nNodes );
330 printf(
"Aig_ManDupOrdered(): The check has failed.\n" );
350 assert( p->pManTime == NULL );
355 pNew->nAsserts = p->nAsserts;
356 pNew->nConstrs = p->nConstrs;
357 pNew->nBarBufs = p->nBarBufs;
372 pObj->
pData = pObjNew;
379 pObj->
pData = pObjNew;
384 pObj->
pData = pObjNew;
390 pObj->
pData = pObjNew;
397 printf(
"Aig_ManDupSimple(): The check has failed.\n" );
422 pNew->nConstrs = p->nConstrs;
423 pNew->nBarBufs = p->nBarBufs;
439 pObj->
pData = pObjNew;
443 printf(
"Aig_ManDupTrim(): Cleanup after AIG duplication removed %d nodes.\n", nNodes );
447 printf(
"Aig_ManDupTrim(): The check has failed.\n" );
469 pNew->fCatchExor = 1;
472 pNew->nAsserts = p->nAsserts;
473 pNew->nConstrs = p->nConstrs;
474 pNew->nBarBufs = p->nBarBufs;
505 pObj->
pData = pObjNew;
514 printf(
"Aig_ManDupExor(): The check has failed.\n" );
572 pNew->nAsserts = p->nAsserts;
573 pNew->nConstrs = p->nConstrs;
574 pNew->nBarBufs = p->nBarBufs;
592 pObj->
pData = pObjNew;
599 pObj->
pData = pObjNew;
603 if ( p->pEquivs == NULL && p->pReprs == NULL && (nNodes =
Aig_ManCleanup( pNew )) )
604 printf(
"Aig_ManDupDfs(): Cleanup after AIG duplication removed %d nodes.\n", nNodes );
611 printf(
"Aig_ManDupDfs(): The check has failed.\n" );
703 pNew->nAsserts = p->nAsserts;
704 pNew->nConstrs = p->nConstrs;
705 pNew->nBarBufs = p->nBarBufs;
729 pObj->
pData = pObjNew;
736 pObj->
pData = pObjNew;
740 if ( p->pEquivs == NULL && p->pReprs == NULL && (nNodes =
Aig_ManCleanup( pNew )) )
741 printf(
"Aig_ManDupDfs(): Cleanup after AIG duplication removed %d nodes.\n", nNodes );
748 printf(
"Aig_ManDupDfs(): The check has failed.\n" );
773 pNew->nAsserts = p->nAsserts;
774 pNew->nConstrs = p->nConstrs;
775 pNew->nBarBufs = p->nBarBufs;
795 pObj->
pData = pObjNew;
802 pObj->
pData = pObjNew;
809 pObj->
pData = pObjNew;
820 printf(
"Aig_ManDupLevelized(): The check has failed.\n" );
882 printf(
"Aig_ManDupFlopsOnly(): The check has failed.\n" );
929 pNew->nConstrs = p->nConstrs;
930 pNew->nBarBufs = p->nBarBufs;
954 printf(
"Aig_ManDupRepres: Check has failed.\n" );
1004 pNew->nConstrs = p->nConstrs;
1005 pNew->nBarBufs = p->nBarBufs;
1007 pNew->vFlopNums =
Vec_IntDup( p->vFlopNums );
1029 printf(
"Aig_ManDupRepresDfs: Check has failed.\n" );
1075 else if ( Oper == 1 )
1077 else if ( Oper == 2 )
1079 else if ( Oper == 3 )
1105 if ( p->nConstrs > 0 )
1107 printf(
"The AIG manager should have no constraints.\n" );
1120 pNew->nRegs = fAddRegs? p->nRegs : 0;
1121 pNew->nTruePis = fAddRegs? p->nTruePis : p->nTruePis + p->nRegs;
1169 pNew->nRegs = fAddRegs? p->nRegs : 0;
1170 pNew->nTruePis = fAddRegs? p->nTruePis : p->nTruePis + p->nRegs;
1205 if ( p->nConstrs > 0 )
1207 printf(
"The AIG manager should have no constraints.\n" );
1224 pNew->nRegs = fAddRegs? p->nRegs : 0;
1225 pNew->nTruePis = fAddRegs? p->nTruePis : p->nTruePis + p->nRegs;
1226 pNew->nTruePos = nOuts;
1287 printf(
"Aig_ManDupSimple(): The check has failed.\n" );
Aig_Obj_t * Aig_ObjCreateCo(Aig_Man_t *p, Aig_Obj_t *pDriver)
typedefABC_NAMESPACE_HEADER_START struct Vec_Ptr_t_ Vec_Ptr_t
INCLUDES ///.
Aig_Obj_t * Aig_ManDupRepres_rec(Aig_Man_t *pNew, Aig_Man_t *p, Aig_Obj_t *pObj)
ABC_DLL int Aig_ManCheck(Aig_Man_t *p)
FUNCTION DECLARATIONS ///.
static Aig_Obj_t * Aig_ObjRepr(Aig_Man_t *p, Aig_Obj_t *pObj)
static Aig_Type_t Aig_ObjType(Aig_Obj_t *pObj)
static Vec_Int_t * Vec_IntDup(Vec_Int_t *pVec)
typedefABC_NAMESPACE_HEADER_START struct Vec_Vec_t_ Vec_Vec_t
INCLUDES ///.
static int Saig_ObjIsLo(Aig_Man_t *p, Aig_Obj_t *pObj)
Aig_Man_t * Aig_ManDupOrpos(Aig_Man_t *p, int fAddRegs)
typedefABC_NAMESPACE_HEADER_START struct Aig_Man_t_ Aig_Man_t
INCLUDES ///.
typedefABC_NAMESPACE_IMPL_START struct Vec_Int_t_ Vec_Int_t
DECLARATIONS ///.
Aig_Man_t * Aig_ManDupOneOutput(Aig_Man_t *p, int iPoNum, int fAddRegs)
Aig_Man_t * Aig_ManDupSimpleDfs(Aig_Man_t *p)
Aig_Obj_t * Aig_Exor(Aig_Man_t *p, Aig_Obj_t *p0, Aig_Obj_t *p1)
#define Vec_VecForEachEntry(Type, vGlob, pEntry, i, k)
static Aig_Obj_t * Aig_ObjFanin0(Aig_Obj_t *pObj)
Aig_Man_t * Aig_ManStart(int nNodesMax)
DECLARATIONS ///.
#define Aig_ManForEachCi(p, pObj, i)
ITERATORS ///.
Aig_Man_t * Aig_ManDupDfs(Aig_Man_t *p)
Aig_Man_t * Aig_ManDupArray(Vec_Ptr_t *vArray)
static Aig_Obj_t * Aig_Regular(Aig_Obj_t *p)
Aig_Obj_t * Aig_ObjCreateCi(Aig_Man_t *p)
DECLARATIONS ///.
static void Vec_PtrPush(Vec_Ptr_t *p, void *Entry)
static Aig_Obj_t * Aig_ManConst0(Aig_Man_t *p)
#define Aig_ManForEachCo(p, pObj, i)
#define ABC_ALLOC(type, num)
static Aig_Obj_t * Aig_Not(Aig_Obj_t *p)
static Aig_Obj_t * Aig_ObjFanin1(Aig_Obj_t *pObj)
static int Vec_PtrSize(Vec_Ptr_t *p)
static void Vec_VecFree(Vec_Vec_t *p)
Aig_Obj_t * Aig_Oper(Aig_Man_t *p, Aig_Obj_t *p0, Aig_Obj_t *p1, Aig_Type_t Type)
static int Aig_ManNodeNum(Aig_Man_t *p)
Aig_Man_t * Aig_ManDupSimpleDfsPart(Aig_Man_t *p, Vec_Ptr_t *vPis, Vec_Ptr_t *vPos)
Aig_Obj_t * Aig_And(Aig_Man_t *p, Aig_Obj_t *p0, Aig_Obj_t *p1)
Aig_Man_t * Aig_ManDupSimpleWithHints(Aig_Man_t *p, Vec_Int_t *vHints)
static int Aig_ManBufNum(Aig_Man_t *p)
Aig_Man_t * Aig_ManDupCof(Aig_Man_t *p, int iInput, int Value)
static int Aig_ObjIsNode(Aig_Obj_t *pObj)
Aig_Man_t * Aig_ManDupTrim(Aig_Man_t *p)
static int Aig_ManCoNum(Aig_Man_t *p)
static int Aig_ObjIsBuf(Aig_Obj_t *pObj)
#define Aig_ManForEachNode(p, pObj, i)
void Aig_ManSetRegNum(Aig_Man_t *p, int nRegs)
#define Saig_ManForEachLi(p, pObj, i)
static Aig_Obj_t * Aig_ManCi(Aig_Man_t *p, int i)
Vec_Ptr_t * Aig_ManDfsNodes(Aig_Man_t *p, Aig_Obj_t **ppNodes, int nNodes)
Aig_Man_t * Aig_ManDupLevelized(Aig_Man_t *p)
static int Vec_IntEntry(Vec_Int_t *p, int i)
static int Aig_ManCiNum(Aig_Man_t *p)
Aig_Man_t * Aig_ManDupWithoutPos(Aig_Man_t *p)
Aig_Man_t * Aig_ManDupRepres(Aig_Man_t *p)
#define ABC_NAMESPACE_IMPL_END
static int Aig_ObjIsConst1(Aig_Obj_t *pObj)
Aig_Man_t * Aig_ManDupOrdered(Aig_Man_t *p)
static Aig_Obj_t * Aig_ObjEquiv(Aig_Man_t *p, Aig_Obj_t *pObj)
static Aig_Obj_t * Aig_ObjChild1Copy(Aig_Obj_t *pObj)
Aig_Obj_t * Aig_Or(Aig_Man_t *p, Aig_Obj_t *p0, Aig_Obj_t *p1)
ABC_NAMESPACE_IMPL_START Aig_Man_t * Aig_ManDupSimple(Aig_Man_t *p)
DECLARATIONS ///.
Vec_Vec_t * Aig_ManLevelize(Aig_Man_t *p)
Tim_Man_t * Tim_ManDup(Tim_Man_t *p, int fUnitDelay)
Aig_Obj_t * Aig_ManDupDfsGuided_rec(Aig_Man_t *pNew, Aig_Man_t *p, Aig_Obj_t *pObj)
static Aig_Obj_t * Aig_ObjChild0Copy(Aig_Obj_t *pObj)
void Aig_ManSetCioIds(Aig_Man_t *p)
static Aig_Obj_t * Aig_ObjChild0Repres(Aig_Man_t *p, Aig_Obj_t *pObj)
static int Aig_ObjFaninC0(Aig_Obj_t *pObj)
static int Aig_ManObjNumMax(Aig_Man_t *p)
static Aig_Obj_t * Aig_ManConst1(Aig_Man_t *p)
#define ABC_NAMESPACE_IMPL_START
Aig_Man_t * Aig_ManDupUnsolvedOutputs(Aig_Man_t *p, int fAddRegs)
static void * Vec_PtrEntry(Vec_Ptr_t *p, int i)
static Aig_Obj_t * Aig_ManCo(Aig_Man_t *p, int i)
Aig_Man_t * Aig_ManDupRepresDfs(Aig_Man_t *p)
static int Aig_ManRegNum(Aig_Man_t *p)
static Aig_Obj_t * Aig_ObjGetRepres(Aig_Man_t *p, Aig_Obj_t *pObj)
Aig_Man_t * Aig_ManDupFlopsOnly(Aig_Man_t *p)
Aig_Man_t * Aig_ManCreateMiter(Aig_Man_t *p1, Aig_Man_t *p2, int Oper)
#define Aig_ManForEachObj(p, pObj, i)
static Vec_Ptr_t * Vec_PtrAlloc(int nCap)
FUNCTION DEFINITIONS ///.
Vec_Ptr_t * Aig_ManOrderPios(Aig_Man_t *p, Aig_Man_t *pOrder)
Aig_Man_t * Aig_ManDupNodes(Aig_Man_t *pMan, Vec_Ptr_t *vArray)
static Aig_Obj_t * Aig_ObjChild1Repres(Aig_Man_t *p, Aig_Obj_t *pObj)
Aig_Man_t * Aig_ManDupExor(Aig_Man_t *p)
#define ABC_CALLOC(type, num)
Aig_Man_t * Aig_ManDupDfsGuided(Aig_Man_t *p, Vec_Ptr_t *vPios)
Aig_Obj_t * Aig_ManDupDfs_rec(Aig_Man_t *pNew, Aig_Man_t *p, Aig_Obj_t *pObj)
static int Aig_ObjFaninC1(Aig_Obj_t *pObj)
void Aig_ManCleanCioIds(Aig_Man_t *p)
static int Aig_ObjId(Aig_Obj_t *pObj)
#define Aig_ManForEachLiSeq(p, pObj, i)
typedefABC_NAMESPACE_HEADER_START struct Tim_Man_t_ Tim_Man_t
INCLUDES ///.
static int Aig_ObjRefs(Aig_Obj_t *pObj)
Aig_Obj_t * Aig_ManDupSimpleDfs_rec(Aig_Man_t *pNew, Aig_Man_t *p, Aig_Obj_t *pObj)
static Aig_Obj_t * Aig_NotCond(Aig_Obj_t *p, int c)
#define Vec_PtrForEachEntry(Type, vVec, pEntry, i)
MACRO DEFINITIONS ///.
#define Aig_ManForEachPoSeq(p, pObj, i)
static int Aig_ObjIsCi(Aig_Obj_t *pObj)
char * Abc_UtilStrsav(char *s)
void Aig_ManCleanData(Aig_Man_t *p)
static void ** Vec_PtrArray(Vec_Ptr_t *p)
int Aig_ManCleanup(Aig_Man_t *p)
static int Aig_ObjIsCo(Aig_Obj_t *pObj)
static int Aig_ObjCioId(Aig_Obj_t *pObj)
static void Vec_PtrFree(Vec_Ptr_t *p)