57 for ( i = 0; i < (int)p->
nVars; i++ )
93 for ( i = 0; i < (int)pFun->
nVars; i++ )
192 else if ( pResMux && pResDsd )
202 assert( pResMux == NULL || pResDsd == NULL );
263 pFun =
Lpk_FunCreate( pNtk, vLeaves, pTruth, nLutK, AreaLim, DelayLim );
264 if ( puSupps[0] || puSupps[1] )
275 memcpy( pFun->
puSupps, puSupps,
sizeof(
unsigned) * 2 * nLeaves );
Abc_Obj_t * Lpk_Implement(Lpk_Man_t *pMan, Abc_Ntk_t *pNtk, Vec_Ptr_t *vLeaves, int nLeavesOld)
typedefABC_NAMESPACE_HEADER_START struct Vec_Ptr_t_ Vec_Ptr_t
INCLUDES ///.
#define Vec_PtrForEachEntryStart(Type, vVec, pEntry, i, Start)
void Lpk_FunComputeCofSupps(Lpk_Fun_t *p)
static Hop_Obj_t * Hop_ManConst1(Hop_Man_t *p)
typedefABC_NAMESPACE_IMPL_START struct Vec_Int_t_ Vec_Int_t
DECLARATIONS ///.
int Lpk_SuppDelay(unsigned uSupp, char *pDelays)
void Lpk_FunFree(Lpk_Fun_t *p)
static abctime Abc_Clock()
static int Vec_PtrSize(Vec_Ptr_t *p)
static void Abc_ObjSetLevel(Abc_Obj_t *pObj, int Level)
Hop_Obj_t * Kit_TruthToHop(Hop_Man_t *pMan, unsigned *pTruth, int nVars, Vec_Int_t *vMemory)
Lpk_Fun_t * Lpk_DsdSplit(Lpk_Man_t *pMan, Lpk_Fun_t *p, char *pCofVars, int nCofVars, unsigned uBoundSet)
ABC_DLL void Abc_ObjAddFanin(Abc_Obj_t *pObj, Abc_Obj_t *pFanin)
static unsigned * Lpk_FunTruth(Lpk_Fun_t *p, int Num)
static Hop_Obj_t * Hop_ManPi(Hop_Man_t *p, int i)
#define ABC_NAMESPACE_IMPL_END
int Lpk_FunSuppMinimize(Lpk_Fun_t *p)
static void Vec_PtrWriteEntry(Vec_Ptr_t *p, int i, void *Entry)
#define ABC_NAMESPACE_IMPL_START
Abc_Obj_t * Lpk_Implement_rec(Lpk_Man_t *pMan, Abc_Ntk_t *pNtk, Vec_Ptr_t *vLeaves, Lpk_Fun_t *pFun)
static void * Vec_PtrEntry(Vec_Ptr_t *p, int i)
static Abc_Obj_t * Abc_ObjRegular(Abc_Obj_t *p)
int Lpk_Decompose_rec(Lpk_Man_t *pMan, Lpk_Fun_t *p)
Lpk_Res_t * Lpk_DsdAnalize(Lpk_Man_t *pMan, Lpk_Fun_t *p, int nShared)
Abc_Obj_t * Lpk_Decompose(Lpk_Man_t *p, Abc_Ntk_t *pNtk, Vec_Ptr_t *vLeaves, unsigned *pTruth, unsigned *puSupps, int nLutK, int AreaLim, int DelayLim)
FUNCTION DECLARATIONS ///.
#define Vec_PtrForEachEntryStop(Type, vVec, pEntry, i, Stop)
void Lpk_DecomposeClean(Vec_Ptr_t *vLeaves, int nLeavesOld)
static Hop_Obj_t * Hop_NotCond(Hop_Obj_t *p, int c)
static Abc_Obj_t * Abc_NtkCreateNode(Abc_Ntk_t *pNtk)
static int Lpk_LutNumLuts(int nVarsMax, int nLutK)
Lpk_Fun_t * Lpk_MuxSplit(Lpk_Man_t *pMan, Lpk_Fun_t *p, int Var, int Pol)
static Abc_Obj_t * Abc_ObjNot(Abc_Obj_t *p)
ABC_NAMESPACE_IMPL_START Abc_Obj_t * Lpk_ImplementFun(Lpk_Man_t *pMan, Abc_Ntk_t *pNtk, Vec_Ptr_t *vLeaves, Lpk_Fun_t *p)
DECLARATIONS ///.
ABC_NAMESPACE_IMPL_START Lpk_Res_t * Lpk_MuxAnalize(Lpk_Man_t *pMan, Lpk_Fun_t *p)
DECLARATIONS ///.
static int Abc_ObjIsComplement(Abc_Obj_t *p)
static void Vec_PtrShrink(Vec_Ptr_t *p, int nSizeNew)
typedefABC_NAMESPACE_HEADER_START struct Hop_Man_t_ Hop_Man_t
INCLUDES ///.
ABC_DLL int Abc_ObjLevelNew(Abc_Obj_t *pObj)
Lpk_Fun_t * Lpk_FunCreate(Abc_Ntk_t *pNtk, Vec_Ptr_t *vLeaves, unsigned *pTruth, int nLutK, int AreaLim, int DelayLim)