abc-master
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
pdr.h
Go to the documentation of this file.
1 /**CFile****************************************************************
2 
3  FileName [pdr.h]
4 
5  SystemName [ABC: Logic synthesis and verification system.]
6 
7  PackageName [Property driven reachability.]
8 
9  Synopsis [External declarations.]
10 
11  Author [Alan Mishchenko]
12 
13  Affiliation [UC Berkeley]
14 
15  Date [Ver. 1.0. Started - November 20, 2010.]
16 
17  Revision [$Id: pdr.h,v 1.00 2010/11/20 00:00:00 alanmi Exp $]
18 
19 ***********************************************************************/
20 
21 #ifndef ABC__sat__pdr__pdr_h
22 #define ABC__sat__pdr__pdr_h
23 
24 
26 
27 
28 ////////////////////////////////////////////////////////////////////////
29 /// INCLUDES ///
30 ////////////////////////////////////////////////////////////////////////
31 
32 ////////////////////////////////////////////////////////////////////////
33 /// PARAMETERS ///
34 ////////////////////////////////////////////////////////////////////////
35 
36 ////////////////////////////////////////////////////////////////////////
37 /// BASIC TYPES ///
38 ////////////////////////////////////////////////////////////////////////
39 
40 typedef struct Pdr_Par_t_ Pdr_Par_t;
41 struct Pdr_Par_t_
42 {
43 // int iOutput; // zero-based number of primary output to solve
44  int nRecycle; // limit on vars for recycling
45  int nFrameMax; // limit on frame count
46  int nConfLimit; // limit on SAT solver conflicts
47  int nRestLimit; // limit on the number of proof-obligations
48  int nTimeOut; // timeout in seconds
49  int nTimeOutGap; // approximate timeout in seconds since the last change
50  int nTimeOutOne; // approximate timeout in seconds per one output
51  int fTwoRounds; // use two rounds for generalization
52  int fMonoCnf; // monolythic CNF
53  int fDumpInv; // dump inductive invariant
54  int fShortest; // forces bug traces to be shortest
55  int fShiftStart; // allows clause pushing to start from an intermediate frame
56  int fReuseProofOblig; // reuses proof-obligationgs in the last timeframe
57  int fSkipGeneral; // skips expensive generalization step
58  int fVerbose; // verbose output`
59  int fVeryVerbose; // very verbose output
60  int fNotVerbose; // not printing line by line progress
61  int fSilent; // totally silent execution
62  int fSolveAll; // do not stop when found a SAT output
63  int fStoreCex; // enable storing counter-examples in MO mode
64  int fUseBridge; // use bridge interface
65  int nFailOuts; // the number of failed outputs
66  int nDropOuts; // the number of timed out outputs
67  int nProveOuts; // the number of proved outputs
68  int iFrame; // explored up to this frame
69  int RunId; // PDR id in this run
70  int(*pFuncStop)(int); // callback to terminate
71  int(*pFuncOnFail)(int,Abc_Cex_t*); // called for a failed output in MO mode
72  abctime timeLastSolved; // the time when the last output was solved
73  Vec_Int_t * vOutMap; // in the multi-output mode, contains status for each PO (0 = sat; 1 = unsat; negative = undecided)
74 };
75 
76 ////////////////////////////////////////////////////////////////////////
77 /// MACRO DEFINITIONS ///
78 ////////////////////////////////////////////////////////////////////////
79 
80 ////////////////////////////////////////////////////////////////////////
81 /// FUNCTION DECLARATIONS ///
82 ////////////////////////////////////////////////////////////////////////
83 
84 /*=== pdrCore.c ==========================================================*/
85 extern void Pdr_ManSetDefaultParams( Pdr_Par_t * pPars );
86 extern int Pdr_ManSolve( Aig_Man_t * p, Pdr_Par_t * pPars );
87 
88 
90 
91 
92 #endif
93 
94 ////////////////////////////////////////////////////////////////////////
95 /// END OF FILE ///
96 ////////////////////////////////////////////////////////////////////////
97 
int nRestLimit
Definition: pdr.h:47
int fNotVerbose
Definition: pdr.h:60
int nProveOuts
Definition: pdr.h:67
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
void Pdr_ManSetDefaultParams(Pdr_Par_t *pPars)
MACRO DEFINITIONS ///.
Definition: pdrCore.c:48
typedefABC_NAMESPACE_HEADER_START struct Pdr_Par_t_ Pdr_Par_t
INCLUDES ///.
Definition: pdr.h:40
Vec_Int_t * vOutMap
Definition: pdr.h:73
int fMonoCnf
Definition: pdr.h:52
int fShortest
Definition: pdr.h:54
int fVerbose
Definition: pdr.h:58
int(* pFuncStop)(int)
Definition: pdr.h:70
int nFailOuts
Definition: pdr.h:65
int RunId
Definition: pdr.h:69
Definition: pdr.h:41
int nFrameMax
Definition: pdr.h:45
int nTimeOutOne
Definition: pdr.h:50
abctime timeLastSolved
Definition: pdr.h:72
int nTimeOutGap
Definition: pdr.h:49
#define ABC_NAMESPACE_HEADER_START
NAMESPACES ///.
Definition: abc_global.h:105
int fReuseProofOblig
Definition: pdr.h:56
int fSilent
Definition: pdr.h:61
int nConfLimit
Definition: pdr.h:46
#define ABC_NAMESPACE_HEADER_END
Definition: abc_global.h:106
int fDumpInv
Definition: pdr.h:53
int Pdr_ManSolve(Aig_Man_t *p, Pdr_Par_t *pPars)
Definition: pdrCore.c:886
int nRecycle
Definition: pdr.h:44
int fSkipGeneral
Definition: pdr.h:57
int fTwoRounds
Definition: pdr.h:51
int(* pFuncOnFail)(int, Abc_Cex_t *)
Definition: pdr.h:71
int iFrame
Definition: pdr.h:68
int fUseBridge
Definition: pdr.h:64
int fShiftStart
Definition: pdr.h:55
typedefABC_NAMESPACE_HEADER_START struct Abc_Cex_t_ Abc_Cex_t
INCLUDES ///.
Definition: utilCex.h:39
ABC_INT64_T abctime
Definition: abc_global.h:278
int nTimeOut
Definition: pdr.h:48
int fVeryVerbose
Definition: pdr.h:59
int nDropOuts
Definition: pdr.h:66
int fSolveAll
Definition: pdr.h:62
int fStoreCex
Definition: pdr.h:63