[14] | 1 | /**CHeaderFile***************************************************************** |
---|
| 2 | |
---|
| 3 | FileName [baigInt.h] |
---|
| 4 | |
---|
| 5 | PackageName [baig] |
---|
| 6 | |
---|
| 7 | Synopsis [] |
---|
| 8 | |
---|
| 9 | Description [Internal data structures of the bAig package.] |
---|
| 10 | |
---|
| 11 | SeeAlso [] |
---|
| 12 | |
---|
| 13 | Author [Mohammad Awedh] |
---|
| 14 | |
---|
| 15 | Copyright [ This file was created at the University of Colorado at |
---|
| 16 | Boulder. The University of Colorado at Boulder makes no warranty |
---|
| 17 | about the suitability of this software for any purpose. It is |
---|
| 18 | presented on an AS IS basis.] |
---|
| 19 | |
---|
| 20 | Revision [$Id: baigInt.h,v 1.21 2005/07/15 21:09:26 jinh Exp $] |
---|
| 21 | |
---|
| 22 | ******************************************************************************/ |
---|
| 23 | |
---|
| 24 | #ifndef _bAIGINT |
---|
| 25 | #define _bAIGINT |
---|
| 26 | |
---|
| 27 | #include "util.h" |
---|
| 28 | #include "array.h" |
---|
| 29 | #include "baig.h" |
---|
| 30 | |
---|
| 31 | /*---------------------------------------------------------------------------*/ |
---|
| 32 | /* Constant declarations */ |
---|
| 33 | /*---------------------------------------------------------------------------*/ |
---|
| 34 | |
---|
| 35 | /* Each node occupies 8 location. The following describes these locations */ |
---|
| 36 | |
---|
| 37 | /*---------------------------------------------------------------------------*/ |
---|
| 38 | /* Type declarations */ |
---|
| 39 | /*---------------------------------------------------------------------------*/ |
---|
| 40 | |
---|
| 41 | /*---------------------------------------------------------------------------*/ |
---|
| 42 | /* Structure declarations */ |
---|
| 43 | /*---------------------------------------------------------------------------*/ |
---|
| 44 | |
---|
| 45 | |
---|
| 46 | |
---|
| 47 | /*---------------------------------------------------------------------------*/ |
---|
| 48 | /* Variable declarations */ |
---|
| 49 | /*---------------------------------------------------------------------------*/ |
---|
| 50 | |
---|
| 51 | |
---|
| 52 | /*---------------------------------------------------------------------------*/ |
---|
| 53 | /* Macro declarations */ |
---|
| 54 | /*---------------------------------------------------------------------------*/ |
---|
| 55 | |
---|
| 56 | |
---|
| 57 | |
---|
| 58 | |
---|
| 59 | /**AutomaticStart*************************************************************/ |
---|
| 60 | |
---|
| 61 | /*---------------------------------------------------------------------------*/ |
---|
| 62 | /* Function prototypes */ |
---|
| 63 | /*---------------------------------------------------------------------------*/ |
---|
| 64 | |
---|
| 65 | EXTERN void bAigSetPassFlag(bAig_Manager_t *manager, bAigEdge_t node); |
---|
| 66 | EXTERN void bAigResetPassFlag(bAig_Manager_t *manager, bAigEdge_t node); |
---|
| 67 | EXTERN int bAigGetPassFlag(bAig_Manager_t *manager, bAigEdge_t node); |
---|
| 68 | EXTERN bAigEdge_t bAigCreateAndNode(bAig_Manager_t *manager, bAigEdge_t node1, bAigEdge_t node2); |
---|
| 69 | EXTERN bAigTransition_t * bAigCreateTransitionRelation( Ntk_Network_t *network, mAig_Manager_t *manager); |
---|
| 70 | EXTERN int bAigCheckInvariantWithAG( bAigTransition_t *t, bAigEdge_t objective); |
---|
| 71 | EXTERN void bAigCleanUpDataFromPreviousExecution(bAigTransition_t *t); |
---|
| 72 | EXTERN bAigEdge_t bAigBuildObjectiveFromFrontierSet(bAigTransition_t *t); |
---|
| 73 | EXTERN satManager_t * bAigCirCUsInterfaceForAX(bAigTransition_t *t); |
---|
| 74 | EXTERN void bAigMarkConeOfInfluenceForAX(bAigTransition_t *t, satManager_t *cm); |
---|
| 75 | EXTERN void bAig_ComputeAX(bAigTransition_t *t); |
---|
| 76 | EXTERN void bAig_PostProcessForAX(bAigTransition_t *t, satManager_t *cm); |
---|
| 77 | EXTERN void bAigCreateSatManagerForLifting(bAigTransition_t *t); |
---|
| 78 | EXTERN void bAigSolveAllSatWithLifting(bAigTransition_t *t); |
---|
| 79 | EXTERN void bAigBlockingClauseAnalysisBasedOnLifting(bAigTransition_t *t, satManager_t *allsat); |
---|
| 80 | EXTERN void bAigCollectAntecdentOfObjective( bAigTransition_t *t, satManager_t *cm, bAigEdge_t obj, satArray_t *clauseArray); |
---|
| 81 | EXTERN void bAigMinimizationBasedOnLifting( bAigTransition_t *t, bAigEdge_t obj, satArray_t *orderArray); |
---|
| 82 | EXTERN int bAigCheckExistenceOfUIP( satManager_t *cm, satArray_t *clauseArray,int mLevel, bAigEdge_t *fdaLit, int *bLevel); |
---|
| 83 | EXTERN void bAigSolverForLifting(satManager_t *cm, int tLevel); |
---|
| 84 | EXTERN void bAigCollectAntecdentOfObjectiveAux(satManager_t *cm, bAigEdge_t v); |
---|
| 85 | EXTERN int bAigInclusionTestOnInitialStates(bAigTransition_t *t); |
---|
| 86 | EXTERN void bAigPrintTransitionInfo(bAigTransition_t *t); |
---|
| 87 | EXTERN void bAigMinimizationBasedOnLiftingAllAtOnce( bAigTransition_t *t, bAigEdge_t obj, satArray_t *orderArray); |
---|
| 88 | EXTERN satArray_t * bAigCreateCNFInstanceForInclusionTestOnInitialStates(bAigTransition_t *t); |
---|
| 89 | EXTERN void bAig_CreateCNFFromAIG( bAig_Manager_t *manager, satArray_t *rootArray, satArray_t *cnfArray); |
---|
| 90 | EXTERN void bAigCreateSatManagerForLiftingUnconstrained(bAigTransition_t *t); |
---|
| 91 | EXTERN bAigEdge_t bAigBuildComplementedObjectiveWithCNF( bAigTransition_t *t, satManager_t *cm, satArray_t *narr, satArray_t *carr); |
---|
| 92 | EXTERN void bAigPreProcessingForLiftingInstance(bAigTransition_t *t, satManager_t *cm); |
---|
| 93 | |
---|
| 94 | |
---|
| 95 | |
---|
| 96 | /**AutomaticEnd***************************************************************/ |
---|
| 97 | |
---|
| 98 | #endif /* _bAIGINT */ |
---|