55 p->nSingleMax = 20000;
57 p->nNodesExt =1000000;
96 printf(
"Abc_NtkFastExtract(): Converting to SOPs has failed.\n" );
102 printf(
"Abc_NtkFastExtract: Nodes have duplicated or complemented fanins. FXU is not performed.\n" );
116 printf(
"Abc_NtkFastExtract: The network check has failed.\n" );
120 printf(
"Warning: The network has not been changed by \"fx\".\n" );
150 if ( pFanin1 == pFanin2 )
190 p->vSops->pArray[i] = pNode->
pData;
191 p->vFanins->pArray[i] = &pNode->
vFanins;
212 for ( i = 0; i < p->vFaninsNew->nSize; i++ )
213 if ( p->vFaninsNew->pArray[i] )
240 assert( p->vFanins->nSize < p->vFaninsNew->nSize );
242 for ( i = p->vFanins->nSize; i < p->vFanins->nSize + p->nNodesNew; i++ )
249 for ( i = 0; i < p->vFanins->nSize; i++ )
252 vFanins = (
Vec_Int_t *)p->vFaninsNew->pArray[i];
253 if ( vFanins == NULL )
259 vFanins = (
Vec_Int_t *)p->vFaninsNew->pArray[i];
260 for ( k = 0; k < vFanins->nSize; k++ )
262 pFanin =
Abc_NtkObj( pNtk, vFanins->pArray[k] );
265 pNode->
pData = p->vSopsNew->pArray[i];
269 for ( i = p->vFanins->nSize; i < p->vFanins->nSize + p->nNodesNew; i++ )
274 vFanins = (
Vec_Int_t *)p->vFaninsNew->pArray[i];
275 for ( k = 0; k < vFanins->nSize; k++ )
277 pFanin =
Abc_NtkObj( pNtk, vFanins->pArray[k] );
280 pNode->
pData = p->vSopsNew->pArray[i];
static int Abc_NtkIsLogic(Abc_Ntk_t *pNtk)
static int Abc_NtkObjNumMax(Abc_Ntk_t *pNtk)
typedefABC_NAMESPACE_IMPL_START struct Vec_Int_t_ Vec_Int_t
DECLARATIONS ///.
static void Vec_PtrFill(Vec_Ptr_t *p, int nSize, void *Entry)
ABC_DLL int Abc_SopGetCubeNum(char *pSop)
void Abc_NtkFxuFreeInfo(Fxu_Data_t *p)
typedefABC_NAMESPACE_HEADER_START struct FxuDataStruct Fxu_Data_t
INCLUDES ///.
static void Abc_NtkFxuReconstruct(Abc_Ntk_t *pNtk, Fxu_Data_t *p)
int Abc_NtkFastExtract(Abc_Ntk_t *pNtk, Fxu_Data_t *p)
ABC_DLL int Abc_NtkCheck(Abc_Ntk_t *pNtk)
FUNCTION DEFINITIONS ///.
static int Abc_NtkIsSopLogic(Abc_Ntk_t *pNtk)
ABC_DLL int Abc_NtkCleanup(Abc_Ntk_t *pNtk, int fVerbose)
static Abc_Obj_t * Abc_NtkObj(Abc_Ntk_t *pNtk, int i)
for(p=first;p->value< newval;p=p->next)
ABC_DLL void Abc_ObjAddFanin(Abc_Obj_t *pObj, Abc_Obj_t *pFanin)
ABC_DLL int Abc_NtkToSop(Abc_Ntk_t *pNtk, int fDirect)
#define ABC_NAMESPACE_IMPL_END
void Abc_NtkSetDefaultFxParams(Fxu_Data_t *p)
FUNCTION DEFINITIONS ///.
ABC_DLL void Abc_ObjRemoveFanins(Abc_Obj_t *pObj)
#define Abc_NtkForEachNode(pNtk, pNode, i)
#define ABC_NAMESPACE_IMPL_START
static int Abc_ObjFaninC(Abc_Obj_t *pObj, int i)
static Vec_Ptr_t * Vec_PtrAlloc(int nCap)
FUNCTION DEFINITIONS ///.
#define Abc_ObjForEachFanin(pObj, pFanin, i)
static Abc_Obj_t * Abc_NtkCreateNode(Abc_Ntk_t *pNtk)
static ABC_NAMESPACE_IMPL_START int Abc_NtkFxuCheck(Abc_Ntk_t *pNtk)
DECLARATIONS ///.
ABC_DLL int Abc_SopGetVarNum(char *pSop)
static void Vec_IntFree(Vec_Int_t *p)
int Fxu_FastExtract(Fxu_Data_t *pData)
FUNCTION DEFINITIONS ///.
static void Vec_PtrFree(Vec_Ptr_t *p)
static void Abc_NtkFxuCollectInfo(Abc_Ntk_t *pNtk, Fxu_Data_t *p)