54 printf(
"Ivy_ManCheck: Node with ID %d is listed as number %d in the array of objects.\n", pObj->
Id, i );
62 printf(
"Ivy_ManCheck: The AIG has non-standard constant or PI node with ID \"%d\".\n", pObj->
Id );
71 printf(
"Ivy_ManCheck: The AIG has non-standard PO node with ID \"%d\".\n", pObj->
Id );
80 printf(
"Ivy_ManCheck: The buffer with ID \"%d\" contains second fanin.\n", pObj->
Id );
89 printf(
"Ivy_ManCheck: The latch with ID \"%d\" contains second fanin.\n", pObj->
Id );
94 printf(
"Ivy_ManCheck: The latch with ID \"%d\" does not have initial state.\n", pObj->
Id );
99 printf(
"Ivy_ManCheck: Latch with ID \"%d\" is not in the structural hashing table.\n", pObj->
Id );
105 printf(
"Ivy_ManCheck: The AIG has internal node \"%d\" with a NULL fanin.\n", pObj->
Id );
110 printf(
"Ivy_ManCheck: The AIG has node \"%d\" with a wrong ordering of fanins.\n", pObj->
Id );
117 printf(
"Ivy_ManCheck: Node with ID \"%d\" is not in the structural hashing table.\n", pObj->
Id );
119 printf(
"Ivy_ManCheck: Node with ID \"%d\" has no fanouts.\n", pObj->
Id );
122 printf(
"Ivy_ManCheck: Node with ID \"%d\" has mismatch between the number of fanouts and refs.\n", pObj->
Id );
127 printf(
"Ivy_ManCheck: The number of nodes in the structural hashing table is wrong.\n" );
156 printf(
"Sequential AIG has %d dangling nodes.\n", Counter );
175 int i, k, RetValue = 1;
183 if ( pFanin == NULL )
186 if ( pFanout == pObj )
190 printf(
"Node %d is a fanin of node %d but the fanout is not there.\n", pFanin->
Id, pObj->
Id );
195 if ( pFanin == NULL )
198 if ( pFanout == pObj )
202 printf(
"Node %d is a fanin of node %d but the fanout is not there.\n", pFanin->
Id, pObj->
Id );
213 printf(
"Node %d has prev %d without common fanin.\n", pObj->
Id, pObj->
pPrevFan0->
Id );
225 printf(
"Node %d has prev %d without common fanin.\n", pObj->
Id, pObj->
pPrevFan1->
Id );
236 printf(
"Node %d is a fanout of node %d but the fanin is not there.\n", pFanout->
Id, pObj->
Id );
267 printf(
"Node %d has member %d in its equiv class with %d fanouts.\n", pObj->
Id, pTemp->
Id,
Ivy_ObjRefs(pTemp) );
static int Ivy_IsComplement(Ivy_Obj_t *p)
int Ivy_ManIsAcyclic(Ivy_Man_t *p)
typedefABC_NAMESPACE_HEADER_START struct Vec_Ptr_t_ Vec_Ptr_t
INCLUDES ///.
static int Ivy_ObjLevelNew(Ivy_Obj_t *pObj)
#define Ivy_ObjForEachFanout(p, pObj, vArray, pFanout, i)
static int Ivy_ObjFaninId1(Ivy_Obj_t *pObj)
int Ivy_TableCountEntries(Ivy_Man_t *p)
static int Ivy_ObjIsPi(Ivy_Obj_t *pObj)
static int Ivy_ManExorNum(Ivy_Man_t *p)
static int Ivy_ManLatchNum(Ivy_Man_t *p)
static int Vec_PtrSize(Vec_Ptr_t *p)
static int Ivy_ObjIsLatch(Ivy_Obj_t *pObj)
static Ivy_Obj_t * Ivy_ObjFanin1(Ivy_Obj_t *pObj)
static int Ivy_ObjLevel(Ivy_Obj_t *pObj)
ABC_NAMESPACE_IMPL_START int Ivy_ManCheck(Ivy_Man_t *p)
DECLARATIONS ///.
static Ivy_Obj_t * Ivy_ObjFanin0(Ivy_Obj_t *pObj)
static int Ivy_ObjFaninId0(Ivy_Obj_t *pObj)
Ivy_Obj_t * Ivy_TableLookup(Ivy_Man_t *p, Ivy_Obj_t *pObj)
FUNCTION DEFINITIONS ///.
int Ivy_ManCheckChoices(Ivy_Man_t *p)
static int Ivy_ObjRefs(Ivy_Obj_t *pObj)
#define ABC_NAMESPACE_IMPL_END
static Ivy_Obj_t * Ivy_Regular(Ivy_Obj_t *p)
static int Ivy_ObjIsNode(Ivy_Obj_t *pObj)
typedefABC_NAMESPACE_HEADER_START struct Ivy_Man_t_ Ivy_Man_t
INCLUDES ///.
#define ABC_NAMESPACE_IMPL_START
int Ivy_ObjFanoutNum(Ivy_Man_t *p, Ivy_Obj_t *pObj)
static Vec_Ptr_t * Vec_PtrAlloc(int nCap)
FUNCTION DEFINITIONS ///.
int Ivy_ManCheckFanoutNums(Ivy_Man_t *p)
static int Ivy_ObjIsBuf(Ivy_Obj_t *pObj)
static int Ivy_ObjIsPo(Ivy_Obj_t *pObj)
static int Ivy_ManAndNum(Ivy_Man_t *p)
#define Ivy_ManForEachObj(p, pObj, i)
int Ivy_ManCheckFanouts(Ivy_Man_t *p)
static Ivy_Init_t Ivy_ObjInit(Ivy_Obj_t *pObj)
static int Ivy_ObjId(Ivy_Obj_t *pObj)
static void Vec_PtrFree(Vec_Ptr_t *p)