abc-master
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
intInt.h
Go to the documentation of this file.
1 /**CFile****************************************************************
2 
3  FileName [intInt.h]
4 
5  SystemName [ABC: Logic synthesis and verification system.]
6 
7  PackageName [Interpolation engine.]
8 
9  Synopsis [Internal declarations.]
10 
11  Author [Alan Mishchenko]
12 
13  Affiliation [UC Berkeley]
14 
15  Date [Ver. 1.0. Started - June 24, 2008.]
16 
17  Revision [$Id: intInt.h,v 1.00 2005/06/20 00:00:00 alanmi Exp $]
18 
19 ***********************************************************************/
20 
21 #ifndef ABC__aig__int__intInt_h
22 #define ABC__aig__int__intInt_h
23 
24 
25 ////////////////////////////////////////////////////////////////////////
26 /// INCLUDES ///
27 ////////////////////////////////////////////////////////////////////////
28 
29 #include "aig/saig/saig.h"
30 #include "sat/cnf/cnf.h"
31 #include "sat/bsat/satSolver.h"
32 #include "sat/bsat/satStore.h"
33 #include "int.h"
34 
35 ////////////////////////////////////////////////////////////////////////
36 /// PARAMETERS ///
37 ////////////////////////////////////////////////////////////////////////
38 
39 
40 
42 
43 
44 ////////////////////////////////////////////////////////////////////////
45 /// BASIC TYPES ///
46 ////////////////////////////////////////////////////////////////////////
47 
48 // interpolation manager
49 typedef struct Inter_Man_t_ Inter_Man_t;
51 {
52  // AIG manager
53  Aig_Man_t * pAig; // the original AIG manager
54  Aig_Man_t * pAigTrans; // the transformed original AIG manager
55  Cnf_Dat_t * pCnfAig; // CNF for the original manager
56  // interpolant
57  Aig_Man_t * pInter; // the current interpolant
58  Cnf_Dat_t * pCnfInter; // CNF for the current interplant
59  // timeframes
60  Aig_Man_t * pFrames; // the timeframes
61  Cnf_Dat_t * pCnfFrames; // CNF for the timeframes
62  // other data
63  Vec_Int_t * vVarsAB; // the variables participating in
64  // temporary place for the new interpolant
67  // parameters
68  int nFrames; // the number of timeframes
69  int nConfCur; // the current number of conflicts
70  int nConfLimit; // the limit on the number of conflicts
71  int fVerbose; // the verbosiness flag
72  char * pFileName;
73  // runtime
81 };
82 
83 // containment checking manager
85 
86 ////////////////////////////////////////////////////////////////////////
87 /// MACRO DEFINITIONS ///
88 ////////////////////////////////////////////////////////////////////////
89 
90 ////////////////////////////////////////////////////////////////////////
91 /// FUNCTION DECLARATIONS ///
92 ////////////////////////////////////////////////////////////////////////
93 
94 /*=== intCheck.c ============================================================*/
95 extern Inter_Check_t * Inter_CheckStart( Aig_Man_t * pTrans, int nFramesK );
96 extern void Inter_CheckStop( Inter_Check_t * p );
97 extern int Inter_CheckPerform( Inter_Check_t * p, Cnf_Dat_t * pCnf, abctime nTimeNewOut );
98 
99 /*=== intContain.c ============================================================*/
100 extern int Inter_ManCheckContainment( Aig_Man_t * pNew, Aig_Man_t * pOld );
101 extern int Inter_ManCheckEquivalence( Aig_Man_t * pNew, Aig_Man_t * pOld );
102 extern int Inter_ManCheckInductiveContainment( Aig_Man_t * pTrans, Aig_Man_t * pInter, int nSteps, int fBackward );
103 
104 /*=== intCtrex.c ============================================================*/
105 extern void * Inter_ManGetCounterExample( Aig_Man_t * pAig, int nFrames, int fVerbose );
106 
107 /*=== intDup.c ============================================================*/
108 extern Aig_Man_t * Inter_ManStartInitState( int nRegs );
110 extern Aig_Man_t * Inter_ManStartOneOutput( Aig_Man_t * p, int fAddFirstPo );
111 
112 /*=== intFrames.c ============================================================*/
113 extern Aig_Man_t * Inter_ManFramesInter( Aig_Man_t * pAig, int nFrames, int fAddRegOuts, int fUseTwoFrames );
114 
115 /*=== intMan.c ============================================================*/
116 extern Inter_Man_t * Inter_ManCreate( Aig_Man_t * pAig, Inter_ManParams_t * pPars );
117 extern void Inter_ManClean( Inter_Man_t * p );
118 extern void Inter_ManStop( Inter_Man_t * p, int fProved );
119 
120 /*=== intM114.c ============================================================*/
121 extern int Inter_ManPerformOneStep( Inter_Man_t * p, int fUseBias, int fUseBackward, abctime nTimeNewOut );
122 
123 /*=== intM114p.c ============================================================*/
124 #ifdef ABC_USE_LIBRARIES
125 extern int Inter_ManPerformOneStepM114p( Inter_Man_t * p, int fUsePudlak, int fUseOther );
126 #endif
127 
128 /*=== intUtil.c ============================================================*/
129 extern int Inter_ManCheckInitialState( Aig_Man_t * p );
130 extern int Inter_ManCheckAllStates( Aig_Man_t * p );
131 
132 
133 
135 
136 
137 
138 #endif
139 
140 ////////////////////////////////////////////////////////////////////////
141 /// END OF FILE ///
142 ////////////////////////////////////////////////////////////////////////
143 
abctime timeEqu
Definition: intInt.h:78
int Inter_CheckPerform(Inter_Check_t *p, Cnf_Dat_t *pCnf, abctime nTimeNewOut)
Definition: intCheck.c:220
Vec_Int_t * vVarsAB
Definition: intInt.h:63
typedefABC_NAMESPACE_HEADER_START struct Vec_Ptr_t_ Vec_Ptr_t
INCLUDES ///.
Definition: vecPtr.h:42
Inter_Check_t * Inter_CheckStart(Aig_Man_t *pTrans, int nFramesK)
MACRO DEFINITIONS ///.
Definition: intCheck.c:105
void Inter_ManClean(Inter_Man_t *p)
Definition: intMan.c:73
typedefABC_NAMESPACE_HEADER_START struct Aig_Man_t_ Aig_Man_t
INCLUDES ///.
Definition: aig.h:50
static Llb_Mgr_t * p
Definition: llb3Image.c:950
typedefABC_NAMESPACE_IMPL_START struct Vec_Int_t_ Vec_Int_t
DECLARATIONS ///.
Definition: bblif.c:37
DECLARATIONS ///.
Definition: intCheck.c:31
abctime timeTotal
Definition: intInt.h:80
Aig_Man_t * pInterNew
Definition: intInt.h:65
Vec_Ptr_t * vInters
Definition: intInt.h:66
Inter_Man_t * Inter_ManCreate(Aig_Man_t *pAig, Inter_ManParams_t *pPars)
DECLARATIONS ///.
Definition: intMan.c:46
int nConfLimit
Definition: intInt.h:70
int Inter_ManCheckInitialState(Aig_Man_t *p)
DECLARATIONS ///.
Definition: intUtil.c:46
int Inter_ManPerformOneStep(Inter_Man_t *p, int fUseBias, int fUseBackward, abctime nTimeNewOut)
Definition: intM114.c:203
abctime timeCnf
Definition: intInt.h:75
void * Inter_ManGetCounterExample(Aig_Man_t *pAig, int nFrames, int fVerbose)
Definition: intCtrex.c:95
Aig_Man_t * pInter
Definition: intInt.h:57
Aig_Man_t * Inter_ManStartOneOutput(Aig_Man_t *p, int fAddFirstPo)
Definition: intDup.c:122
Definition: cnf.h:56
abctime timeRwr
Definition: intInt.h:74
abctime timeOther
Definition: intInt.h:79
typedefABC_NAMESPACE_HEADER_START struct Inter_Man_t_ Inter_Man_t
INCLUDES ///.
Definition: intInt.h:49
Cnf_Dat_t * pCnf
Definition: intCheck.c:36
Aig_Man_t * Inter_ManStartInitState(int nRegs)
DECLARATIONS ///.
Definition: intDup.c:45
int Inter_ManCheckContainment(Aig_Man_t *pNew, Aig_Man_t *pOld)
FUNCTION DEFINITIONS ///.
Definition: intContain.c:47
abctime timeSat
Definition: intInt.h:76
Aig_Man_t * pAigTrans
Definition: intInt.h:54
int fVerbose
Definition: intInt.h:71
#define ABC_NAMESPACE_HEADER_START
NAMESPACES ///.
Definition: abc_global.h:105
#define ABC_NAMESPACE_HEADER_END
Definition: abc_global.h:106
Aig_Man_t * pAig
Definition: intInt.h:53
Aig_Man_t * Inter_ManFramesInter(Aig_Man_t *pAig, int nFrames, int fAddRegOuts, int fUseTwoFrames)
DECLARATIONS ///.
Definition: intFrames.c:47
int Inter_ManCheckEquivalence(Aig_Man_t *pNew, Aig_Man_t *pOld)
Definition: intContain.c:78
void Inter_ManStop(Inter_Man_t *p, int fProved)
Definition: intMan.c:128
Aig_Man_t * Inter_ManStartDuplicated(Aig_Man_t *p)
Definition: intDup.c:73
char * pFileName
Definition: intInt.h:72
Aig_Man_t * pFrames
Definition: intInt.h:60
Cnf_Dat_t * pCnfAig
Definition: intInt.h:55
int Inter_ManCheckInductiveContainment(Aig_Man_t *pTrans, Aig_Man_t *pInter, int nSteps, int fBackward)
Definition: intContain.c:190
abctime timeInt
Definition: intInt.h:77
int nFrames
Definition: intInt.h:68
Cnf_Dat_t * pCnfInter
Definition: intInt.h:58
ABC_INT64_T abctime
Definition: abc_global.h:278
int Inter_ManCheckAllStates(Aig_Man_t *p)
Definition: intUtil.c:85
int nConfCur
Definition: intInt.h:69
typedefABC_NAMESPACE_HEADER_START struct Inter_ManParams_t_ Inter_ManParams_t
INCLUDES ///.
Definition: int.h:48
void Inter_CheckStop(Inter_Check_t *p)
Definition: intCheck.c:137
Cnf_Dat_t * pCnfFrames
Definition: intInt.h:61