Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
abc
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
abc
Commits
2ded89cc
Commit
2ded89cc
authored
May 19, 2016
by
Alan Mishchenko
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added switch 'bmc3 -r' to disable periodic restarts in the SAT solver.
parent
2d0a8fb4
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
13 additions
and
6 deletions
+13
-6
src/base/abci/abc.c
+6
-2
src/base/wlc/wlcReadSmt.c
+3
-3
src/sat/bmc/bmc.h
+1
-0
src/sat/bmc/bmcBmc3.c
+1
-0
src/sat/bsat/satSolver.c
+1
-1
src/sat/bsat/satSolver.h
+1
-0
No files found.
src/base/abci/abc.c
View file @
2ded89cc
...
...
@@ -23269,7 +23269,7 @@ int Abc_CommandBmc3( Abc_Frame_t * pAbc, int argc, char ** argv )
int
c
;
Saig_ParBmcSetDefaultParams
(
pPars
);
Extra_UtilGetoptReset
();
while
(
(
c
=
Extra_UtilGetopt
(
argc
,
argv
,
"SFTHGCDJIPQRLWaxd
ru
vzh"
)
)
!=
EOF
)
while
(
(
c
=
Extra_UtilGetopt
(
argc
,
argv
,
"SFTHGCDJIPQRLWaxd
ur
vzh"
)
)
!=
EOF
)
{
switch
(
c
)
{
...
...
@@ -23435,6 +23435,9 @@ int Abc_CommandBmc3( Abc_Frame_t * pAbc, int argc, char ** argv )
case
'u'
:
fOrDecomp
^=
1
;
break
;
case
'r'
:
pPars
->
fNoRestarts
^=
1
;
break
;
case
'v'
:
pPars
->
fVerbose
^=
1
;
break
;
...
...
@@ -23501,7 +23504,7 @@ int Abc_CommandBmc3( Abc_Frame_t * pAbc, int argc, char ** argv )
return
0
;
usage:
Abc_Print
(
-
2
,
"usage: bmc3 [-SFTHGCDJIPQR num] [-LW file] [-axduvzh]
\n
"
);
Abc_Print
(
-
2
,
"usage: bmc3 [-SFTHGCDJIPQR num] [-LW file] [-axdu
r
vzh]
\n
"
);
Abc_Print
(
-
2
,
"
\t
performs bounded model checking with dynamic unrolling
\n
"
);
Abc_Print
(
-
2
,
"
\t
-S num : the starting time frame [default = %d]
\n
"
,
pPars
->
nStart
);
Abc_Print
(
-
2
,
"
\t
-F num : the max number of time frames (0 = unused) [default = %d]
\n
"
,
pPars
->
nFramesMax
);
...
...
@@ -23521,6 +23524,7 @@ usage:
Abc_Print
(
-
2
,
"
\t
-x : toggle storing CEXes when solving all outputs [default = %s]
\n
"
,
pPars
->
fStoreCex
?
"yes"
:
"no"
);
Abc_Print
(
-
2
,
"
\t
-d : toggle dropping (replacing by 0) SAT outputs [default = %s]
\n
"
,
pPars
->
fDropSatOuts
?
"yes"
:
"no"
);
Abc_Print
(
-
2
,
"
\t
-u : toggle performing structural OR-decomposition [default = %s]
\n
"
,
fOrDecomp
?
"yes"
:
"not"
);
Abc_Print
(
-
2
,
"
\t
-r : toggle disabling periodic restarts [default = %s]
\n
"
,
pPars
->
fNoRestarts
?
"yes"
:
"no"
);
Abc_Print
(
-
2
,
"
\t
-v : toggle verbose output [default = %s]
\n
"
,
pPars
->
fVerbose
?
"yes"
:
"no"
);
Abc_Print
(
-
2
,
"
\t
-z : toggle suppressing report about solved outputs [default = %s]
\n
"
,
pPars
->
fNotVerbose
?
"yes"
:
"no"
);
Abc_Print
(
-
2
,
"
\t
-h : print the command usage
\n
"
);
src/base/wlc/wlcReadSmt.c
View file @
2ded89cc
...
...
@@ -738,7 +738,7 @@ int Smt_PrsBuild2_rec( Wlc_Ntk_t * pNtk, Smt_Prs_t * p, int iNode )
if
(
Smt_EntryIsName
(
iRoot0
)
)
{
char
*
pName
,
*
pStr0
=
Abc_NamStr
(
p
->
pStrs
,
Abc_Lit2Var
(
iRoot0
));
int
fSigned
=
0
,
iObj
;
int
iObj
;
if
(
pStr0
[
0
]
==
'l'
&&
pStr0
[
1
]
==
'e'
&&
pStr0
[
2
]
==
't'
&&
pStr0
[
3
]
==
'\0'
)
{
// let ((s35550 (bvor s48 s35549)))
...
...
@@ -809,8 +809,8 @@ int Smt_PrsBuild2_rec( Wlc_Ntk_t * pNtk, Smt_Prs_t * p, int iNode )
int
iRoot3
=
Vec_IntEntry
(
vRoots
,
3
);
char
*
pStr2
=
Abc_NamStr
(
p
->
pStrs
,
Abc_Lit2Var
(
iRoot2
));
char
*
pStr3
=
Abc_NamStr
(
p
->
pStrs
,
Abc_Lit2Var
(
iRoot3
));
int
Num1
=
atoi
(
pStr
1
);
int
Num2
=
atoi
(
pStr
2
);
int
Num1
=
atoi
(
pStr
2
);
int
Num2
=
atoi
(
pStr
3
);
assert
(
Num1
>=
Num2
);
fSigned
=
(
Type1
==
WLC_OBJ_BIT_SIGNEXT
);
Range
=
(
Num1
-
Num2
+
1
)
+
Wlc_ObjRange
(
Wlc_NtkObj
(
pNtk
,
iObj
)
);
...
...
src/sat/bmc/bmc.h
View file @
2ded89cc
...
...
@@ -60,6 +60,7 @@ struct Saig_ParBmc_t_
int
fDropSatOuts
;
// replace sat outputs by constant 0
int
nFfToAddMax
;
// max number of flops to add during CBA
int
fSkipRand
;
// skip random decisions
int
fNoRestarts
;
// disables periodic restarts
int
nLearnedStart
;
// starting learned clause limit
int
nLearnedDelta
;
// delta of learned clause limit
int
nLearnedPerce
;
// ratio of learned clause limit
...
...
src/sat/bmc/bmcBmc3.c
View file @
2ded89cc
...
...
@@ -1415,6 +1415,7 @@ int Saig_ManBmcScalable( Aig_Man_t * pAig, Saig_ParBmc_t * pPars )
p
->
pSat
->
nLearntDelta
=
p
->
pPars
->
nLearnedDelta
;
p
->
pSat
->
nLearntRatio
=
p
->
pPars
->
nLearnedPerce
;
p
->
pSat
->
nLearntMax
=
p
->
pSat
->
nLearntStart
;
p
->
pSat
->
fNoRestarts
=
p
->
pPars
->
fNoRestarts
;
if
(
pPars
->
fSolveAll
&&
p
->
vCexes
==
NULL
)
p
->
vCexes
=
Vec_PtrStart
(
Saig_ManPoNum
(
pAig
)
);
if
(
pPars
->
fVerbose
)
...
...
src/sat/bsat/satSolver.c
View file @
2ded89cc
...
...
@@ -1660,7 +1660,7 @@ static lbool sat_solver_search(sat_solver* s, ABC_INT64_T nof_conflicts)
int
next
;
// Reached bound on number of conflicts:
if
(
(
nof_conflicts
>=
0
&&
conflictC
>=
nof_conflicts
)
||
(
s
->
nRuntimeLimit
&&
(
s
->
stats
.
conflicts
&
63
)
==
0
&&
Abc_Clock
()
>
s
->
nRuntimeLimit
)){
if
(
(
!
s
->
fNoRestarts
&&
nof_conflicts
>=
0
&&
conflictC
>=
nof_conflicts
)
||
(
s
->
nRuntimeLimit
&&
(
s
->
stats
.
conflicts
&
63
)
==
0
&&
Abc_Clock
()
>
s
->
nRuntimeLimit
)){
s
->
progress_estimate
=
sat_solver_progress
(
s
);
sat_solver_canceluntil
(
s
,
s
->
root_level
);
veci_delete
(
&
learnt_clause
);
...
...
src/sat/bsat/satSolver.h
View file @
2ded89cc
...
...
@@ -179,6 +179,7 @@ struct sat_solver_t
int
fSkipSimplify
;
// set to one to skip simplification of the clause database
int
fNotUseRandom
;
// do not allow random decisions with a fixed probability
int
fNoRestarts
;
// disables periodic restarts
int
*
pGlobalVars
;
// for experiments with global vars during interpolation
// clause store
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment