54 pNew->pName = Abc_UtilStrsav(
p->pName );
55 pNew->pSpec = Abc_UtilStrsav(
p->pSpec );
56 pNew->nAsserts =
p->nAsserts;
57 pNew->nConstrs =
p->nConstrs;
58 pNew->nBarBufs =
p->nBarBufs;
60 pNew->vFlopNums = Vec_IntDup(
p->vFlopNums );
63 Aig_ManConst1(
p)->pData = Aig_ManConst1(pNew);
68 pObj->
pData = pObjNew;
72 if ( Aig_ObjIsBuf(pObj) )
74 pObjNew = Aig_ObjChild0Copy(pObj);
75 pObj->
pData = pObjNew;
77 else if ( Aig_ObjIsNode(pObj) )
79 pObjNew =
Aig_And( pNew, Aig_ObjChild0Copy(pObj), Aig_ObjChild1Copy(pObj) );
80 pObj->
pData = pObjNew;
86 pObj->
pData = pObjNew;
88 assert( Aig_ManBufNum(
p) != 0 || Aig_ManNodeNum(
p) == Aig_ManNodeNum(pNew) );
92 printf(
"Aig_ManDupSimple(): The check has failed.\n" );
112 assert(
p->nAsserts == 0 ||
p->nConstrs == 0 );
115 pNew->pName = Abc_UtilStrsav(
p->pName );
118 Aig_ManConst1(
p)->pData = Aig_ManConst1(pNew);
122 Entry = Vec_IntEntry( vHints, Aig_ObjId(pObj) );
123 if ( Entry == 0 || Entry == 1 )
124 pObj->
pData = Aig_NotCond( Aig_ManConst1(pNew), Entry );
129 pObj->
pData =
Aig_And( pNew, Aig_ObjChild0Copy(pObj), Aig_ObjChild1Copy(pObj) );
130 Entry = Vec_IntEntry( vHints, Aig_ObjId(pObj) );
131 if ( Entry == 0 || Entry == 1 )
132 pObj->
pData = Aig_NotCond( Aig_ManConst1(pNew), Entry );
141 printf(
"Llb_ManDeriveAigWithHints(): The check has failed.\n" );
162 if ( Aig_ObjIsBuf(pObj) )
165 pObj->
pData =
Aig_And( pNew, Aig_ObjChild0Copy(pObj), Aig_ObjChild1Copy(pObj) );
192 pNew->pName = Abc_UtilStrsav(
p->pName );
193 pNew->pSpec = Abc_UtilStrsav(
p->pSpec );
194 pNew->nAsserts =
p->nAsserts;
195 pNew->nConstrs =
p->nConstrs;
196 pNew->nBarBufs =
p->nBarBufs;
198 pNew->vFlopNums = Vec_IntDup(
p->vFlopNums );
201 Aig_ManConst1(
p)->pData = Aig_ManConst1(pNew);
206 pObj->
pData = pObjNew;
210 if ( !Aig_ObjIsCo(pObj) )
219 pObj->
pData = pObjNew;
221 assert( Aig_ManBufNum(
p) != 0 || Aig_ManNodeNum(
p) == Aig_ManNodeNum(pNew) );
225 printf(
"Aig_ManDupSimple(): The check has failed.\n" );
249 Aig_ManConst1(
p)->pData = Aig_ManConst1( pNew );
256 pObjNew = Aig_NotCond( pObjNew, Aig_ObjFaninC0(pObj) );
262 printf(
"Aig_ManDupSimple(): The check has failed.\n" );
284 pNew->pName = Abc_UtilStrsav(
p->pName );
285 pNew->pSpec = Abc_UtilStrsav(
p->pSpec );
286 pNew->nAsserts =
p->nAsserts;
287 pNew->nConstrs =
p->nConstrs;
288 pNew->nBarBufs =
p->nBarBufs;
290 pNew->vFlopNums = Vec_IntDup(
p->vFlopNums );
296 if ( Aig_ObjIsBuf(pObj) )
298 pObjNew = Aig_ObjChild0Copy(pObj);
300 else if ( Aig_ObjIsNode(pObj) )
302 pObjNew =
Aig_Oper( pNew, Aig_ObjChild0Copy(pObj), Aig_ObjChild1Copy(pObj), Aig_ObjType(pObj) );
304 else if ( Aig_ObjIsCi(pObj) )
309 else if ( Aig_ObjIsCo(pObj) )
313 else if ( Aig_ObjIsConst1(pObj) )
315 pObjNew = Aig_ManConst1(pNew);
319 pObj->
pData = pObjNew;
321 assert( Aig_ManBufNum(
p) != 0 || Aig_ManNodeNum(
p) == Aig_ManNodeNum(pNew) );
323 printf(
"Aig_ManDupOrdered(): Cleanup after AIG duplication removed %d nodes.\n", nNodes );
330 printf(
"Aig_ManDupOrdered(): The check has failed.\n" );
353 pNew->pName = Abc_UtilStrsav(
p->pName );
354 pNew->pSpec = Abc_UtilStrsav(
p->pSpec );
355 pNew->nAsserts =
p->nAsserts;
356 pNew->nConstrs =
p->nConstrs;
357 pNew->nBarBufs =
p->nBarBufs;
359 pNew->vFlopNums = Vec_IntDup(
p->vFlopNums );
362 Aig_ManConst1(
p)->pData = Aig_ManConst1(pNew);
366 pObjNew = Value ? Aig_ManConst1(pNew) : Aig_ManConst0(pNew);
372 pObj->
pData = pObjNew;
376 if ( Aig_ObjIsBuf(pObj) )
378 pObjNew = Aig_ObjChild0Copy(pObj);
379 pObj->
pData = pObjNew;
381 else if ( Aig_ObjIsNode(pObj) )
383 pObjNew =
Aig_And( pNew, Aig_ObjChild0Copy(pObj), Aig_ObjChild1Copy(pObj) );
384 pObj->
pData = pObjNew;
390 pObj->
pData = pObjNew;
397 printf(
"Aig_ManDupSimple(): The check has failed.\n" );
420 pNew->pName = Abc_UtilStrsav(
p->pName );
421 pNew->pSpec = Abc_UtilStrsav(
p->pSpec );
422 pNew->nConstrs =
p->nConstrs;
423 pNew->nBarBufs =
p->nBarBufs;
429 if ( Aig_ObjIsNode(pObj) )
430 pObjNew =
Aig_Oper( pNew, Aig_ObjChild0Copy(pObj), Aig_ObjChild1Copy(pObj), Aig_ObjType(pObj) );
431 else if ( Aig_ObjIsCi(pObj) )
432 pObjNew = (Aig_ObjRefs(pObj) > 0 || Saig_ObjIsLo(
p, pObj)) ?
Aig_ObjCreateCi(pNew) : NULL;
433 else if ( Aig_ObjIsCo(pObj) )
435 else if ( Aig_ObjIsConst1(pObj) )
436 pObjNew = Aig_ManConst1(pNew);
439 pObj->
pData = pObjNew;
441 assert( Aig_ManNodeNum(
p) == Aig_ManNodeNum(pNew) );
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;
470 pNew->pName = Abc_UtilStrsav(
p->pName );
471 pNew->pSpec = Abc_UtilStrsav(
p->pSpec );
472 pNew->nAsserts =
p->nAsserts;
473 pNew->nConstrs =
p->nConstrs;
474 pNew->nBarBufs =
p->nBarBufs;
476 pNew->vFlopNums = Vec_IntDup(
p->vFlopNums );
482 if ( Aig_ObjIsBuf(pObj) )
484 pObjNew = Aig_ObjChild0Copy(pObj);
486 else if ( Aig_ObjIsNode(pObj) )
488 pObjNew =
Aig_Oper( pNew, Aig_ObjChild0Copy(pObj), Aig_ObjChild1Copy(pObj), Aig_ObjType(pObj) );
490 else if ( Aig_ObjIsCi(pObj) )
495 else if ( Aig_ObjIsCo(pObj) )
499 else if ( Aig_ObjIsConst1(pObj) )
501 pObjNew = Aig_ManConst1(pNew);
505 pObj->
pData = pObjNew;
514 printf(
"Aig_ManDupExor(): The check has failed.\n" );
534 if (
p->pEquivs && Aig_ObjEquiv(
p, pObj) )
537 if ( Aig_ObjIsBuf(pObj) )
540 pObjNew =
Aig_Oper( pNew, Aig_ObjChild0Copy(pObj), Aig_ObjChild1Copy(pObj), Aig_ObjType(pObj) );
543 assert( Aig_Regular(pEquivNew)->Id < Aig_Regular(pObjNew)->Id );
545 pNew->pEquivs[Aig_Regular(pObjNew)->Id] = Aig_Regular(pEquivNew);
547 pNew->pReprs[Aig_Regular(pEquivNew)->Id] = Aig_Regular(pObjNew);
570 pNew->pName = Abc_UtilStrsav(
p->pName );
571 pNew->pSpec = Abc_UtilStrsav(
p->pSpec );
572 pNew->nAsserts =
p->nAsserts;
573 pNew->nConstrs =
p->nConstrs;
574 pNew->nBarBufs =
p->nBarBufs;
576 pNew->vFlopNums = Vec_IntDup(
p->vFlopNums );
585 Aig_ManConst1(
p)->pData = Aig_ManConst1(pNew);
588 if ( Aig_ObjIsCi(pObj) )
592 pObj->
pData = pObjNew;
594 else if ( Aig_ObjIsCo(pObj) )
599 pObj->
pData = pObjNew;
602 assert(
p->pEquivs != NULL || Aig_ManBufNum(
p) != 0 || Aig_ManNodeNum(
p) == Aig_ManNodeNum(pNew) );
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" );
631 assert( Aig_ManCiNum(
p) == Aig_ManCiNum(pOrder) );
632 assert( Aig_ManCoNum(
p) == Aig_ManCoNum(pOrder) );
634 vPios = Vec_PtrAlloc( Aig_ManCiNum(
p) + Aig_ManCoNum(
p) );
637 if ( Aig_ObjIsCi(pObj) )
638 Vec_PtrPush( vPios, Aig_ManCi(
p, Aig_ObjCioId(pObj)) );
639 else if ( Aig_ObjIsCo(pObj) )
640 Vec_PtrPush( vPios, Aig_ManCo(
p, Aig_ObjCioId(pObj)) );
662 if ( Aig_ObjIsCi(pObj) )
664 if (
p->pEquivs && Aig_ObjEquiv(
p, pObj) )
668 if ( Aig_ObjIsBuf(pObj) )
672 pObjNew =
Aig_Oper( pNew, Aig_ObjChild0Copy(pObj), Aig_ObjChild1Copy(pObj), Aig_ObjType(pObj) );
676 pNew->pEquivs[Aig_Regular(pObjNew)->Id] = Aig_Regular(pEquivNew);
678 pNew->pReprs[Aig_Regular(pEquivNew)->Id] = Aig_Regular(pObjNew);
701 pNew->pName = Abc_UtilStrsav(
p->pName );
702 pNew->pSpec = Abc_UtilStrsav(
p->pSpec );
703 pNew->nAsserts =
p->nAsserts;
704 pNew->nConstrs =
p->nConstrs;
705 pNew->nBarBufs =
p->nBarBufs;
707 pNew->vFlopNums = Vec_IntDup(
p->vFlopNums );
722 Aig_ManConst1(
p)->pData = Aig_ManConst1(pNew);
725 if ( Aig_ObjIsCi(pObj) )
729 pObj->
pData = pObjNew;
731 else if ( Aig_ObjIsCo(pObj) )
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" );
771 pNew->pName = Abc_UtilStrsav(
p->pName );
772 pNew->pSpec = Abc_UtilStrsav(
p->pSpec );
773 pNew->nAsserts =
p->nAsserts;
774 pNew->nConstrs =
p->nConstrs;
775 pNew->nBarBufs =
p->nBarBufs;
777 pNew->vFlopNums = Vec_IntDup(
p->vFlopNums );
790 Aig_ManConst1(
p)->pData = Aig_ManConst1(pNew);
795 pObj->
pData = pObjNew;
801 pObjNew =
Aig_Oper( pNew, Aig_ObjChild0Copy(pObj), Aig_ObjChild1Copy(pObj), Aig_ObjType(pObj) );
802 pObj->
pData = pObjNew;
804 Vec_VecFree( vLevels );
809 pObj->
pData = pObjNew;
811 assert( Aig_ManBufNum(
p) != 0 || Aig_ManNodeNum(
p) == Aig_ManNodeNum(pNew) );
820 printf(
"Aig_ManDupLevelized(): The check has failed.\n" );
842 pNew->pName = Abc_UtilStrsav(
p->pName );
843 pNew->pSpec = Abc_UtilStrsav(
p->pSpec );
846 Aig_ManConst1(
p)->pData = Aig_ManConst1(pNew);
852 assert( !Aig_ObjIsBuf(pObj) );
853 if ( Aig_ObjIsNode(pObj) )
854 pObj->
pData =
Aig_Oper( pNew, Aig_ObjChild0Copy(pObj), Aig_ObjChild1Copy(pObj), Aig_ObjType(pObj) );
856 assert( Aig_ManBufNum(
p) != 0 || Aig_ManNodeNum(
p) == Aig_ManNodeNum(pNew) );
882 printf(
"Aig_ManDupFlopsOnly(): The check has failed.\n" );
902 if ( (pRepr = Aig_ObjRepr(
p, pObj)) )
906static inline Aig_Obj_t * Aig_ObjChild0Repres(
Aig_Man_t *
p,
Aig_Obj_t * pObj ) {
return Aig_NotCond( Aig_ObjGetRepres(
p, Aig_ObjFanin0(pObj)), Aig_ObjFaninC0(pObj) ); }
907static inline Aig_Obj_t * Aig_ObjChild1Repres(
Aig_Man_t *
p,
Aig_Obj_t * pObj ) {
return Aig_NotCond( Aig_ObjGetRepres(
p, Aig_ObjFanin1(pObj)), Aig_ObjFaninC1(pObj) ); }
927 pNew->pName = Abc_UtilStrsav(
p->pName );
928 pNew->pSpec = Abc_UtilStrsav(
p->pSpec );
929 pNew->nConstrs =
p->nConstrs;
930 pNew->nBarBufs =
p->nBarBufs;
932 pNew->vFlopNums = Vec_IntDup(
p->vFlopNums );
937 if ( Aig_ObjIsNode(pObj) )
938 pObj->
pData =
Aig_And( pNew, Aig_ObjChild0Repres(
p, pObj), Aig_ObjChild1Repres(
p, pObj) );
939 else if ( Aig_ObjIsCi(pObj) )
942 pObj->
pData = Aig_ObjGetRepres(
p, pObj );
944 else if ( Aig_ObjIsCo(pObj) )
946 else if ( Aig_ObjIsConst1(pObj) )
947 pObj->
pData = Aig_ManConst1(pNew);
954 printf(
"Aig_ManDupRepres: Check has failed.\n" );
974 if ( (pRepr = Aig_ObjRepr(
p, pObj)) )
981 return (
Aig_Obj_t *)(pObj->
pData =
Aig_And( pNew, Aig_ObjChild0Repres(
p, pObj), Aig_ObjChild1Repres(
p, pObj) ));
1002 pNew->pName = Abc_UtilStrsav(
p->pName );
1003 pNew->pSpec = Abc_UtilStrsav(
p->pSpec );
1004 pNew->nConstrs =
p->nConstrs;
1005 pNew->nBarBufs =
p->nBarBufs;
1007 pNew->vFlopNums = Vec_IntDup(
p->vFlopNums );
1012 if ( Aig_ObjIsNode(pObj) )
1014 if ( Aig_ObjIsCi(pObj) )
1016 else if ( Aig_ObjIsCo(pObj) )
1021 else if ( Aig_ObjIsConst1(pObj) )
1022 pObj->
pData = Aig_ManConst1(pNew);
1029 printf(
"Aig_ManDupRepresDfs: Check has failed.\n" );
1054 assert( Aig_ManRegNum(p1) == 0 );
1055 assert( Aig_ManRegNum(p2) == 0 );
1056 assert( Aig_ManCoNum(p1) == 1 );
1057 assert( Aig_ManCoNum(p2) == 1 );
1058 assert( Aig_ManCiNum(p1) == Aig_ManCiNum(p2) );
1059 pNew =
Aig_ManStart( Aig_ManObjNumMax(p1) + Aig_ManObjNumMax(p2) );
1061 Aig_ManConst1(p1)->pData = Aig_ManConst1(pNew);
1065 pObj->
pData =
Aig_And( pNew, Aig_ObjChild0Copy(pObj), Aig_ObjChild1Copy(pObj) );
1067 Aig_ManConst1(p2)->pData = Aig_ManConst1(pNew);
1069 pObj->
pData = Aig_ManCi( pNew, i );
1071 pObj->
pData =
Aig_And( pNew, Aig_ObjChild0Copy(pObj), Aig_ObjChild1Copy(pObj) );
1074 pObj =
Aig_Exor( pNew, Aig_ObjChild0Copy(Aig_ManCo(p1,0)), Aig_ObjChild0Copy(Aig_ManCo(p2,0)) );
1075 else if ( Oper == 1 )
1076 pObj =
Aig_And( pNew, Aig_ObjChild0Copy(Aig_ManCo(p1,0)), Aig_Not(Aig_ObjChild0Copy(Aig_ManCo(p2,0))) );
1077 else if ( Oper == 2 )
1078 pObj =
Aig_Or( pNew, Aig_ObjChild0Copy(Aig_ManCo(p1,0)), Aig_ObjChild0Copy(Aig_ManCo(p2,0)) );
1079 else if ( Oper == 3 )
1080 pObj =
Aig_And( pNew, Aig_ObjChild0Copy(Aig_ManCo(p1,0)), Aig_ObjChild0Copy(Aig_ManCo(p2,0)) );
1104 assert( Aig_ManRegNum(
p) > 0 );
1105 if (
p->nConstrs > 0 )
1107 printf(
"The AIG manager should have no constraints.\n" );
1112 pNew->pName = Abc_UtilStrsav(
p->pName );
1113 pNew->pSpec = Abc_UtilStrsav(
p->pSpec );
1116 Aig_ManConst1(
p)->pData = Aig_ManConst1(pNew);
1120 pNew->nRegs = fAddRegs?
p->nRegs : 0;
1121 pNew->nTruePis = fAddRegs?
p->nTruePis :
p->nTruePis +
p->nRegs;
1125 pObj->
pData =
Aig_And( pNew, Aig_ObjChild0Copy(pObj), Aig_ObjChild1Copy(pObj) );
1127 pMiter = Aig_ManConst0(pNew);
1129 pMiter =
Aig_Or( pNew, pMiter, Aig_ObjChild0Copy(pObj) );
1158 assert( iPoNum < Aig_ManCoNum(
p)-Aig_ManRegNum(
p) );
1161 pNew->pName = Abc_UtilStrsav(
p->pName );
1162 pNew->pSpec = Abc_UtilStrsav(
p->pSpec );
1165 Aig_ManConst1(
p)->pData = Aig_ManConst1(pNew);
1169 pNew->nRegs = fAddRegs?
p->nRegs : 0;
1170 pNew->nTruePis = fAddRegs?
p->nTruePis :
p->nTruePis +
p->nRegs;
1174 pObj->
pData =
Aig_And( pNew, Aig_ObjChild0Copy(pObj), Aig_ObjChild1Copy(pObj) );
1176 pObj = Aig_ManCo(
p, iPoNum );
1204 assert( Aig_ManRegNum(
p) > 0 );
1205 if (
p->nConstrs > 0 )
1207 printf(
"The AIG manager should have no constraints.\n" );
1212 pNew->pName = Abc_UtilStrsav(
p->pName );
1213 pNew->pSpec = Abc_UtilStrsav(
p->pSpec );
1216 Aig_ManConst1(
p)->pData = Aig_ManConst1(pNew);
1222 nOuts += ( Aig_ObjFanin0(pObj) != Aig_ManConst1(
p) );
1224 pNew->nRegs = fAddRegs?
p->nRegs : 0;
1225 pNew->nTruePis = fAddRegs?
p->nTruePis :
p->nTruePis +
p->nRegs;
1226 pNew->nTruePos = nOuts;
1229 pObj->
pData =
Aig_And( pNew, Aig_ObjChild0Copy(pObj), Aig_ObjChild1Copy(pObj) );
1232 if ( Aig_ObjFanin0(pObj) != Aig_ManConst1(
p) )
1260 if ( Vec_PtrSize(vArray) == 0 )
1265 assert( Aig_ManRegNum(pNew) == 0 );
1266 assert( Aig_ManCiNum(pNew) == Aig_ManCiNum(
p) );
1270 pNew->pName = Abc_UtilStrsav(
p->pName );
1276 Aig_ManConst1(
p)->pData = Aig_ManConst1(pNew);
1278 pObj->
pData = Aig_ManCi( pNew, i );
1280 pObj->
pData =
Aig_And( pNew, Aig_ObjChild0Copy(pObj), Aig_ObjChild1Copy(pObj) );
1287 printf(
"Aig_ManDupSimple(): The check has failed.\n" );
1308 if ( Vec_PtrSize(vArray) == 0 )
1313 pNew->pName = Abc_UtilStrsav( pMan->pName );
1314 Aig_ManConst1(pMan)->pData = Aig_ManConst1(pNew);
1316 if ( Aig_ObjIsCi(pObj) )
1319 if ( Aig_ObjIsNode(pObj) )
1320 pObj->
pData =
Aig_And( pNew, Aig_ObjChild0Copy(pObj), Aig_ObjChild1Copy(pObj) );
1324 Vec_PtrFree( vObjs );
#define ABC_ALLOC(type, num)
#define ABC_CALLOC(type, num)
#define ABC_NAMESPACE_IMPL_START
#define ABC_NAMESPACE_IMPL_END
Vec_Ptr_t * Aig_ManOrderPios(Aig_Man_t *p, Aig_Man_t *pOrder)
Aig_Man_t * Aig_ManDupOrdered(Aig_Man_t *p)
Aig_Man_t * Aig_ManDupExor(Aig_Man_t *p)
Aig_Man_t * Aig_ManDupLevelized(Aig_Man_t *p)
Aig_Man_t * Aig_ManDupDfs(Aig_Man_t *p)
Aig_Obj_t * Aig_ManDupDfsGuided_rec(Aig_Man_t *pNew, Aig_Man_t *p, Aig_Obj_t *pObj)
Aig_Man_t * Aig_ManDupSimpleDfs(Aig_Man_t *p)
Aig_Man_t * Aig_ManDupTrim(Aig_Man_t *p)
Aig_Man_t * Aig_ManDupArray(Vec_Ptr_t *vArray)
ABC_NAMESPACE_IMPL_START Aig_Man_t * Aig_ManDupSimple(Aig_Man_t *p)
DECLARATIONS ///.
Aig_Obj_t * Aig_ManDupSimpleDfs_rec(Aig_Man_t *pNew, Aig_Man_t *p, Aig_Obj_t *pObj)
Aig_Man_t * Aig_ManDupRepres(Aig_Man_t *p)
Aig_Man_t * Aig_ManDupDfsGuided(Aig_Man_t *p, Vec_Ptr_t *vPios)
Aig_Man_t * Aig_ManDupCof(Aig_Man_t *p, int iInput, int Value)
Aig_Man_t * Aig_ManDupWithoutPos(Aig_Man_t *p)
Aig_Obj_t * Aig_ManDupDfs_rec(Aig_Man_t *pNew, Aig_Man_t *p, Aig_Obj_t *pObj)
Aig_Man_t * Aig_ManDupSimpleDfsPart(Aig_Man_t *p, Vec_Ptr_t *vPis, Vec_Ptr_t *vPos)
Aig_Man_t * Aig_ManDupNodes(Aig_Man_t *pMan, Vec_Ptr_t *vArray)
Aig_Man_t * Aig_ManDupSimpleWithHints(Aig_Man_t *p, Vec_Int_t *vHints)
Aig_Man_t * Aig_ManCreateMiter(Aig_Man_t *p1, Aig_Man_t *p2, int Oper)
Aig_Man_t * Aig_ManDupRepresDfs(Aig_Man_t *p)
Aig_Man_t * Aig_ManDupUnsolvedOutputs(Aig_Man_t *p, int fAddRegs)
Aig_Man_t * Aig_ManDupOneOutput(Aig_Man_t *p, int iPoNum, int fAddRegs)
Aig_Obj_t * Aig_ManDupRepres_rec(Aig_Man_t *pNew, Aig_Man_t *p, Aig_Obj_t *pObj)
Aig_Man_t * Aig_ManDupOrpos(Aig_Man_t *p, int fAddRegs)
Aig_Man_t * Aig_ManDupFlopsOnly(Aig_Man_t *p)
void Aig_ManSetRegNum(Aig_Man_t *p, int nRegs)
void Aig_ManSetCioIds(Aig_Man_t *p)
#define Aig_ManForEachObj(p, pObj, i)
#define Aig_ManForEachLiSeq(p, pObj, i)
#define Aig_ManForEachCi(p, pObj, i)
ITERATORS ///.
Aig_Obj_t * Aig_And(Aig_Man_t *p, Aig_Obj_t *p0, Aig_Obj_t *p1)
Aig_Obj_t * Aig_ObjCreateCo(Aig_Man_t *p, Aig_Obj_t *pDriver)
Aig_Obj_t * Aig_Oper(Aig_Man_t *p, Aig_Obj_t *p0, Aig_Obj_t *p1, Aig_Type_t Type)
void Aig_ManCleanCioIds(Aig_Man_t *p)
struct Aig_Obj_t_ Aig_Obj_t
Aig_Obj_t * Aig_Exor(Aig_Man_t *p, Aig_Obj_t *p0, Aig_Obj_t *p1)
Aig_Man_t * Aig_ManStart(int nNodesMax)
DECLARATIONS ///.
#define Aig_ManForEachNode(p, pObj, i)
typedefABC_NAMESPACE_HEADER_START struct Aig_Man_t_ Aig_Man_t
INCLUDES ///.
int Aig_ManCleanup(Aig_Man_t *p)
Vec_Vec_t * Aig_ManLevelize(Aig_Man_t *p)
#define Aig_ManForEachCo(p, pObj, i)
Vec_Ptr_t * Aig_ManDfsNodes(Aig_Man_t *p, Aig_Obj_t **ppNodes, int nNodes)
#define Aig_ManForEachPoSeq(p, pObj, i)
Aig_Obj_t * Aig_ObjCreateCi(Aig_Man_t *p)
DECLARATIONS ///.
void Aig_ManCleanData(Aig_Man_t *p)
Aig_Obj_t * Aig_Or(Aig_Man_t *p, Aig_Obj_t *p0, Aig_Obj_t *p1)
ABC_DLL int Aig_ManCheck(Aig_Man_t *p)
FUNCTION DECLARATIONS ///.
typedefABC_NAMESPACE_IMPL_START struct Vec_Int_t_ Vec_Int_t
DECLARATIONS ///.
#define Saig_ManForEachLi(p, pObj, i)
typedefABC_NAMESPACE_HEADER_START struct Tim_Man_t_ Tim_Man_t
INCLUDES ///.
Tim_Man_t * Tim_ManDup(Tim_Man_t *p, int fUnitDelay)
typedefABC_NAMESPACE_HEADER_START struct Vec_Ptr_t_ Vec_Ptr_t
INCLUDES ///.
#define Vec_PtrForEachEntry(Type, vVec, pEntry, i)
MACRO DEFINITIONS ///.
#define Vec_VecForEachEntry(Type, vGlob, pEntry, i, k)
typedefABC_NAMESPACE_HEADER_START struct Vec_Vec_t_ Vec_Vec_t
INCLUDES ///.