Go to the source code of this file.
|
ABC_NAMESPACE_IMPL_START
Llb_Grp_t * | Llb_ManGroupAlloc (Llb_Man_t *pMan) |
| | DECLARATIONS ///. More...
|
| |
| void | Llb_ManGroupStop (Llb_Grp_t *p) |
| |
| void | Llb_ManGroupCollect_rec (Aig_Man_t *pAig, Aig_Obj_t *pObj, Vec_Ptr_t *vNodes) |
| |
| Vec_Ptr_t * | Llb_ManGroupCollect (Llb_Grp_t *pGroup) |
| |
| void | Llb_ManGroupCreate_rec (Aig_Man_t *pAig, Aig_Obj_t *pObj, Vec_Ptr_t *vSupp) |
| |
| Llb_Grp_t * | Llb_ManGroupCreate (Llb_Man_t *pMan, Aig_Obj_t *pObj) |
| |
| Llb_Grp_t * | Llb_ManGroupCreateFirst (Llb_Man_t *pMan) |
| |
| Llb_Grp_t * | Llb_ManGroupCreateLast (Llb_Man_t *pMan) |
| |
| Llb_Grp_t * | Llb_ManGroupsCombine (Llb_Grp_t *p1, Llb_Grp_t *p2) |
| |
| void | Llb_ManGroupMarkNodes_rec (Aig_Man_t *p, Aig_Obj_t *pObj) |
| |
| Llb_Grp_t * | Llb_ManGroupCreateFromCuts (Llb_Man_t *pMan, Vec_Int_t *vCut1, Vec_Int_t *vCut2) |
| |
| void | Llb_ManPrepareGroups (Llb_Man_t *pMan) |
| |
| void | Llb_ManPrintSpan (Llb_Man_t *p) |
| |
| int | Llb_ManGroupHasVar (Llb_Man_t *p, int iGroup, int iVar) |
| |
| void | Llb_ManPrintHisto (Llb_Man_t *p) |
| |
DECLARATIONS ///.
CFile****************************************************************
FileName [llb1Group.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [BDD based reachability.]
Synopsis [Initial partition computation.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - June 20, 2005.]
Revision [
- Id:
- llb1Group.c,v 1.00 2005/06/20 00:00:00 alanmi Exp
]FUNCTION DEFINITIONS /// Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 45 of file llb1Group.c.
static void Vec_PtrPush(Vec_Ptr_t *p, void *Entry)
static int Vec_PtrSize(Vec_Ptr_t *p)
static Vec_Ptr_t * Vec_PtrAlloc(int nCap)
FUNCTION DEFINITIONS ///.
#define ABC_CALLOC(type, num)
Function*************************************************************
Synopsis [Collects the support of MFFC.]
Description [Returns the number of internal nodes in the MFFC.]
SideEffects []
SeeAlso []
Definition at line 120 of file llb1Group.c.
typedefABC_NAMESPACE_HEADER_START struct Vec_Ptr_t_ Vec_Ptr_t
INCLUDES ///.
void Llb_ManGroupCollect_rec(Aig_Man_t *pAig, Aig_Obj_t *pObj, Vec_Ptr_t *vNodes)
static void Aig_ObjSetTravIdCurrent(Aig_Man_t *p, Aig_Obj_t *pObj)
void Aig_ManIncrementTravId(Aig_Man_t *p)
DECLARATIONS ///.
static void Aig_ObjSetTravIdPrevious(Aig_Man_t *p, Aig_Obj_t *pObj)
static Vec_Ptr_t * Vec_PtrAlloc(int nCap)
FUNCTION DEFINITIONS ///.
#define Vec_PtrForEachEntry(Type, vVec, pEntry, i)
MACRO DEFINITIONS ///.
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 91 of file llb1Group.c.
void Llb_ManGroupCollect_rec(Aig_Man_t *pAig, Aig_Obj_t *pObj, Vec_Ptr_t *vNodes)
static int Aig_ObjIsTravIdCurrent(Aig_Man_t *p, Aig_Obj_t *pObj)
static Aig_Obj_t * Aig_ObjFanin0(Aig_Obj_t *pObj)
static void Vec_PtrPush(Vec_Ptr_t *p, void *Entry)
static Aig_Obj_t * Aig_ObjFanin1(Aig_Obj_t *pObj)
static void Aig_ObjSetTravIdCurrent(Aig_Man_t *p, Aig_Obj_t *pObj)
static int Aig_ObjIsConst1(Aig_Obj_t *pObj)
static int Aig_ObjIsCo(Aig_Obj_t *pObj)
static int Aig_ObjIsAnd(Aig_Obj_t *pObj)
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 175 of file llb1Group.c.
static Aig_Obj_t * Aig_ObjFanin0(Aig_Obj_t *pObj)
static void Vec_PtrPush(Vec_Ptr_t *p, void *Entry)
static Aig_Obj_t * Aig_ObjFanin1(Aig_Obj_t *pObj)
ABC_NAMESPACE_IMPL_START Llb_Grp_t * Llb_ManGroupAlloc(Llb_Man_t *pMan)
DECLARATIONS ///.
void Aig_ManIncrementTravId(Aig_Man_t *p)
DECLARATIONS ///.
void Llb_ManGroupCreate_rec(Aig_Man_t *pAig, Aig_Obj_t *pObj, Vec_Ptr_t *vSupp)
Vec_Ptr_t * Llb_ManGroupCollect(Llb_Grp_t *pGroup)
static int Aig_ObjIsCo(Aig_Obj_t *pObj)
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 147 of file llb1Group.c.
static int Aig_ObjIsTravIdCurrent(Aig_Man_t *p, Aig_Obj_t *pObj)
static Aig_Obj_t * Aig_ObjFanin0(Aig_Obj_t *pObj)
static void Vec_PtrPush(Vec_Ptr_t *p, void *Entry)
static Aig_Obj_t * Aig_ObjFanin1(Aig_Obj_t *pObj)
static void Aig_ObjSetTravIdCurrent(Aig_Man_t *p, Aig_Obj_t *pObj)
static int Aig_ObjIsConst1(Aig_Obj_t *pObj)
void Llb_ManGroupCreate_rec(Aig_Man_t *pAig, Aig_Obj_t *pObj, Vec_Ptr_t *vSupp)
static int Aig_ObjIsAnd(Aig_Obj_t *pObj)
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 207 of file llb1Group.c.
static void Vec_PtrPush(Vec_Ptr_t *p, void *Entry)
ABC_NAMESPACE_IMPL_START Llb_Grp_t * Llb_ManGroupAlloc(Llb_Man_t *pMan)
DECLARATIONS ///.
#define Saig_ManForEachLo(p, pObj, i)
Function*************************************************************
Synopsis [Creates group from two cuts derived by the flow computation.]
Description []
SideEffects []
SeeAlso []
Definition at line 312 of file llb1Group.c.
338 assert( p->vNodes == NULL );
#define Aig_ManForEachObjVec(vIds, p, pObj, i)
static int Aig_ObjIsTravIdCurrent(Aig_Man_t *p, Aig_Obj_t *pObj)
static void Vec_PtrPush(Vec_Ptr_t *p, void *Entry)
static void Aig_ObjSetTravIdCurrent(Aig_Man_t *p, Aig_Obj_t *pObj)
ABC_NAMESPACE_IMPL_START Llb_Grp_t * Llb_ManGroupAlloc(Llb_Man_t *pMan)
DECLARATIONS ///.
void Aig_ManIncrementTravId(Aig_Man_t *p)
DECLARATIONS ///.
void Llb_ManGroupMarkNodes_rec(Aig_Man_t *p, Aig_Obj_t *pObj)
Vec_Ptr_t * Llb_ManGroupCollect(Llb_Grp_t *pGroup)
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 229 of file llb1Group.c.
static void Vec_PtrPush(Vec_Ptr_t *p, void *Entry)
ABC_NAMESPACE_IMPL_START Llb_Grp_t * Llb_ManGroupAlloc(Llb_Man_t *pMan)
DECLARATIONS ///.
#define Saig_ManForEachLi(p, pObj, i)
| int Llb_ManGroupHasVar |
( |
Llb_Man_t * |
p, |
|
|
int |
iGroup, |
|
|
int |
iVar |
|
) |
| |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 426 of file llb1Group.c.
432 if ( pObj->Id == iVar )
435 if ( pObj->Id == iVar )
static void * Vec_PtrEntry(Vec_Ptr_t *p, int i)
#define Vec_PtrForEachEntry(Type, vVec, pEntry, i)
MACRO DEFINITIONS ///.
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 286 of file llb1Group.c.
static int Aig_ObjIsTravIdPrevious(Aig_Man_t *p, Aig_Obj_t *pObj)
static int Aig_ObjIsTravIdCurrent(Aig_Man_t *p, Aig_Obj_t *pObj)
static Aig_Obj_t * Aig_ObjFanin0(Aig_Obj_t *pObj)
static Aig_Obj_t * Aig_ObjFanin1(Aig_Obj_t *pObj)
static void Aig_ObjSetTravIdCurrent(Aig_Man_t *p, Aig_Obj_t *pObj)
static int Aig_ObjIsNode(Aig_Obj_t *pObj)
void Llb_ManGroupMarkNodes_rec(Aig_Man_t *p, Aig_Obj_t *pObj)
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 251 of file llb1Group.c.
269 assert( p->vNodes == NULL );
static int Vec_PtrPushUnique(Vec_Ptr_t *p, void *Entry)
static void Vec_PtrPush(Vec_Ptr_t *p, void *Entry)
ABC_NAMESPACE_IMPL_START Llb_Grp_t * Llb_ManGroupAlloc(Llb_Man_t *pMan)
DECLARATIONS ///.
Vec_Ptr_t * Llb_ManGroupCollect(Llb_Grp_t *pGroup)
#define Vec_PtrForEachEntry(Type, vVec, pEntry, i)
MACRO DEFINITIONS ///.
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 68 of file llb1Group.c.
static void Vec_PtrWriteEntry(Vec_Ptr_t *p, int i, void *Entry)
static void Vec_PtrFreeP(Vec_Ptr_t **p)
| void Llb_ManPrepareGroups |
( |
Llb_Man_t * |
pMan | ) |
|
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 356 of file llb1Group.c.
360 assert( pMan->vGroups == NULL );
Llb_Grp_t * Llb_ManGroupCreate(Llb_Man_t *pMan, Aig_Obj_t *pObj)
#define Aig_ManForEachNode(p, pObj, i)
#define Saig_ManForEachLi(p, pObj, i)
Llb_Grp_t * Llb_ManGroupCreateLast(Llb_Man_t *pMan)
static Vec_Ptr_t * Vec_PtrAlloc(int nCap)
FUNCTION DEFINITIONS ///.
Llb_Grp_t * Llb_ManGroupCreateFirst(Llb_Man_t *pMan)
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 451 of file llb1Group.c.
459 printf(
"%3d :", i );
int Llb_ManGroupHasVar(Llb_Man_t *p, int iGroup, int iVar)
static int Vec_IntEntry(Vec_Int_t *p, int i)
#define Aig_ManForEachObj(p, pObj, i)
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 387 of file llb1Group.c.
391 int i, k, Span = 0, SpanMax = 0;
402 printf( "%d ", Span );
412 printf( "Max = %d\n", SpanMax );
static int Abc_MaxInt(int a, int b)
static int Vec_IntEntry(Vec_Int_t *p, int i)
#define Vec_PtrForEachEntry(Type, vVec, pEntry, i)
MACRO DEFINITIONS ///.