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 */ |
---|