ABC: A System for Sequential Synthesis and Verification
 
Loading...
Searching...
No Matches
giaCSatP.h
Go to the documentation of this file.
1#ifndef ABC__aig__gia__giaCSatP_h
2#define ABC__aig__gia__giaCSatP_h
3
4
8
9#include "gia.h"
10
14
15
17
18
19typedef struct CbsP_Par_t_ CbsP_Par_t;
21{
22 // conflict limits
23 int nBTLimit; // limit on the number of conflicts
24 int nJustLimit; // limit on the size of justification queue
25 // current parameters
26 int nBTThis; // number of conflicts
27 int nBTThisNc; // number of conflicts
28 int nJustThis; // max size of the frontier
29 int nBTTotal; // total number of conflicts
30 int nJustTotal; // total size of the frontier
31 // decision heuristics
32 int fUseHighest; // use node with the highest ID
33 int fUseLowest; // use node with the highest ID
34 int fUseMaxFF; // use node with the largest fanin fanout
35 // other
38
39 // statistics
59
60 // other limits
64};
65
66typedef struct CbsP_Que_t_ CbsP_Que_t;
68{
69 int iHead; // beginning of the queue
70 int iTail; // end of the queue
71 int nSize; // allocated size
72 Gia_Obj_t ** pData; // nodes stored in the queue
73};
74
75typedef struct CbsP_Man_t_ CbsP_Man_t;
77{
78 CbsP_Par_t Pars; // parameters
79 Gia_Man_t * pAig; // AIG manager
80 CbsP_Que_t pProp; // propagation queue
81 CbsP_Que_t pJust; // justification queue
82 CbsP_Que_t pClauses; // clause queue
83 Gia_Obj_t ** pIter; // iterator through clause vars
84 Vec_Int_t * vLevReas; // levels and decisions
86 Vec_Int_t * vModel; // satisfying assignment
87 Vec_Ptr_t * vTemp; // temporary storage
88 // SAT calls statistics
89 int nSatUnsat; // the number of proofs
90 int nSatSat; // the number of failure
91 int nSatUndec; // the number of timeouts
92 int nSatTotal; // the number of calls
93 // conflicts
94 int nConfUnsat; // conflicts in unsat problems
95 int nConfSat; // conflicts in sat problems
96 int nConfUndec; // conflicts in undec problems
97 // runtime stats
100 abctime timeSatUndec; // undecided
101 abctime timeTotal; // total runtime
102};
103
105void CbsP_ManStop( CbsP_Man_t * p );
107void CbsP_PrintRecord( CbsP_Par_t * pPars );
108int CbsP_ManSolve2( CbsP_Man_t * p, Gia_Obj_t * pObj, Gia_Obj_t * pObj2 );
109
110#define CBS_UNSAT 1
111#define CBS_SAT 0
112#define CBS_UNDEC -1
113
115
116
117#endif
ABC_INT64_T abctime
Definition abc_global.h:332
#define ABC_NAMESPACE_HEADER_END
#define ABC_NAMESPACE_HEADER_START
NAMESPACES ///.
typedefABC_NAMESPACE_IMPL_START struct Vec_Int_t_ Vec_Int_t
DECLARATIONS ///.
Definition bblif.c:37
Cube * p
Definition exorList.c:222
struct CbsP_Man_t_ CbsP_Man_t
Definition giaCSatP.h:75
CbsP_Man_t * CbsP_ManAlloc(Gia_Man_t *pGia)
Definition giaCSatP.c:173
void CbsP_PrintRecord(CbsP_Par_t *pPars)
Definition giaCSatP.c:148
void CbsP_ManStop(CbsP_Man_t *p)
Definition giaCSatP.c:204
struct CbsP_Que_t_ CbsP_Que_t
Definition giaCSatP.h:66
typedefABC_NAMESPACE_HEADER_START struct CbsP_Par_t_ CbsP_Par_t
INCLUDES ///.
Definition giaCSatP.h:19
void CbsP_ManSatPrintStats(CbsP_Man_t *p)
Definition giaCSatP.c:1073
int CbsP_ManSolve2(CbsP_Man_t *p, Gia_Obj_t *pObj, Gia_Obj_t *pObj2)
Definition giaCSatP.c:1017
struct Gia_Obj_t_ Gia_Obj_t
Definition gia.h:76
struct Gia_Man_t_ Gia_Man_t
Definition gia.h:96
Vec_Int_t * vModel
Definition giaCSatP.h:86
CbsP_Par_t Pars
Definition giaCSatP.h:78
CbsP_Que_t pJust
Definition giaCSatP.h:81
int nSatUndec
Definition giaCSatP.h:91
Gia_Obj_t ** pIter
Definition giaCSatP.h:83
abctime timeTotal
Definition giaCSatP.h:101
int nSatUnsat
Definition giaCSatP.h:89
int nConfSat
Definition giaCSatP.h:95
abctime timeSatSat
Definition giaCSatP.h:99
CbsP_Que_t pClauses
Definition giaCSatP.h:82
CbsP_Que_t pProp
Definition giaCSatP.h:80
int nSatSat
Definition giaCSatP.h:90
abctime timeSatUnsat
Definition giaCSatP.h:98
abctime timeSatUndec
Definition giaCSatP.h:100
Vec_Int_t * vLevReas
Definition giaCSatP.h:84
int nConfUndec
Definition giaCSatP.h:96
Vec_Ptr_t * vTemp
Definition giaCSatP.h:87
Vec_Int_t * vValue
Definition giaCSatP.h:85
int nSatTotal
Definition giaCSatP.h:92
int nConfUnsat
Definition giaCSatP.h:94
Gia_Man_t * pAig
Definition giaCSatP.h:79
int nPropThis
Definition giaCSatP.h:42
long accJscanUndec
Definition giaCSatP.h:52
long accRscanSat
Definition giaCSatP.h:53
int nJustThis
Definition giaCSatP.h:28
int nJscanLimit
Definition giaCSatP.h:61
int fUseLowest
Definition giaCSatP.h:33
int maxJscanUndec
Definition giaCSatP.h:43
int fVerbose
Definition giaCSatP.h:36
int nBTTotal
Definition giaCSatP.h:29
int fUseProved
Definition giaCSatP.h:37
long accPropUnsat
Definition giaCSatP.h:57
long accPropSat
Definition giaCSatP.h:56
long accPropUndec
Definition giaCSatP.h:58
int nJustTotal
Definition giaCSatP.h:30
int fUseMaxFF
Definition giaCSatP.h:34
int nRscanLimit
Definition giaCSatP.h:62
int maxJscanSolved
Definition giaCSatP.h:46
int nPropLimit
Definition giaCSatP.h:63
int nJustLimit
Definition giaCSatP.h:24
long accJscanUnsat
Definition giaCSatP.h:51
int maxPropUndec
Definition giaCSatP.h:45
long accRscanUndec
Definition giaCSatP.h:55
int maxPropSolved
Definition giaCSatP.h:48
int maxRscanSolved
Definition giaCSatP.h:47
int nRscanThis
Definition giaCSatP.h:41
long accRscanUnsat
Definition giaCSatP.h:54
int maxRscanUndec
Definition giaCSatP.h:44
long accJscanSat
Definition giaCSatP.h:50
int nBTThis
Definition giaCSatP.h:26
int nBTThisNc
Definition giaCSatP.h:27
int fUseHighest
Definition giaCSatP.h:32
int nJscanThis
Definition giaCSatP.h:40
int nBTLimit
Definition giaCSatP.h:23
Gia_Obj_t ** pData
Definition giaCSatP.h:72
typedefABC_NAMESPACE_HEADER_START struct Vec_Ptr_t_ Vec_Ptr_t
INCLUDES ///.
Definition vecPtr.h:42