34 Aig_Obj_t *pConsequent, *pConsequentCopy, *pAntecedent, *p0LiveCone, *pObj;
35 int i, numSigAntecedent;
37 numSigAntecedent = Vec_PtrSize( signalList ) - 1;
39 pAntecedent = Aig_ManConst1( pNewAig );
40 pConsequent = (
Aig_Obj_t *)Vec_PtrEntry( signalList, numSigAntecedent );
41 pConsequentCopy = Aig_NotCond( (
Aig_Obj_t *)(Aig_Regular(pConsequent)->pData), Aig_IsComplement( pConsequent ) );
43 for(i=0; i<numSigAntecedent; i++ )
45 pObj = (
Aig_Obj_t *)Vec_PtrEntry( signalList, i );
46 assert( Aig_Regular(pObj)->pData );
47 pAntecedent =
Aig_And( pNewAig, pAntecedent, Aig_NotCond((
Aig_Obj_t *)(Aig_Regular(pObj)->pData), Aig_IsComplement(pObj)) );
50 p0LiveCone =
Aig_Or( pNewAig, Aig_Not(pAntecedent), pConsequentCopy );
61 vNodeArray = Vec_PtrAlloc(1);
66 Vec_PtrPush( vNodeArray, Aig_NotCond((
Aig_Obj_t *)Aig_ObjFanin0(pObj), Aig_ObjFaninC0(pObj)) );
68 pConsequent = Aig_NotCond((
Aig_Obj_t *)Aig_ObjFanin0(pObj), Aig_ObjFaninC0(pObj));
71 Vec_PtrPush( vNodeArray, pConsequent );
90 sprintf(pNewAig->pName,
"%s_%s", pAig->pName,
"0Live");
91 pNewAig->pSpec = NULL;
96 pObj = Aig_ManConst1( pAig );
97 pObj->
pData = Aig_ManConst1( pNewAig );
120 pObj->
pData =
Aig_And( pNewAig, Aig_ObjChild0Copy(pObj), Aig_ObjChild1Copy(pObj) );
171 Vec_PtrFree(vSignalVector);
ABC_DLL char * Abc_ObjName(Abc_Obj_t *pNode)
DECLARATIONS ///.
struct Abc_Ntk_t_ Abc_Ntk_t
#define ABC_NAMESPACE_IMPL_START
#define ABC_NAMESPACE_IMPL_END
void Aig_ManSetRegNum(Aig_Man_t *p, int nRegs)
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)
struct Aig_Obj_t_ Aig_Obj_t
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)
Aig_Obj_t * Aig_ObjCreateCi(Aig_Man_t *p)
DECLARATIONS ///.
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 ///.
void Aig_ObjPrint(Aig_Man_t *p, Aig_Obj_t *pObj)
Vec_Ptr_t * collectCSSignals(Abc_Ntk_t *pNtk, Aig_Man_t *pAig)
Aig_Man_t * generateWorkingAig(Aig_Man_t *pAig, Abc_Ntk_t *pNtk, int *pIndex0Live)
Vec_Ptr_t * checkMonotoneSignal()
Vec_Ptr_t * gatherMonotoneSignals(Aig_Man_t *pAig)
ABC_NAMESPACE_IMPL_START Aig_Obj_t * createConstrained0LiveCone(Aig_Man_t *pNewAig, Vec_Ptr_t *signalList)
Aig_Man_t * createNewAigWith0LivePo(Aig_Man_t *pAig, Vec_Ptr_t *signalList, int *index0Live)
#define Saig_ManForEachLi(p, pObj, i)
#define Saig_ManForEachPo(p, pObj, i)
#define Saig_ManForEachLo(p, pObj, i)
#define Saig_ManForEachPi(p, pObj, i)
typedefABC_NAMESPACE_HEADER_START struct Vec_Ptr_t_ Vec_Ptr_t
INCLUDES ///.