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
7713e94a
Commit
7713e94a
authored
Mar 18, 2017
by
Yen-Sheng Ho
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
%pdra: isolated the procedure for checking comb. unsat
parent
eff11d95
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
49 additions
and
37 deletions
+49
-37
src/base/wlc/wlcAbs.c
+49
-37
No files found.
src/base/wlc/wlcAbs.c
View file @
7713e94a
...
...
@@ -1251,6 +1251,54 @@ Aig_Man_t * Wla_ManBitBlast( Wla_Man_t * pWla, Wlc_Ntk_t * pAbs )
return
pAig
;
}
int
Wla_ManCheckCombUnsat
(
Wla_Man_t
*
pWla
,
Aig_Man_t
*
pAig
)
{
Pdr_Man_t
*
pPdr
;
abctime
clk
;
int
RetValue
=
-
1
;
if
(
Aig_ManAndNum
(
pAig
)
<=
20000
)
{
Aig_Man_t
*
pAigScorr
;
Ssw_Pars_t
ScorrPars
,
*
pScorrPars
=
&
ScorrPars
;
int
nAnds
;
clk
=
Abc_Clock
();
Ssw_ManSetDefaultParams
(
pScorrPars
);
pScorrPars
->
fStopWhenGone
=
1
;
pScorrPars
->
nFramesK
=
1
;
pAigScorr
=
Ssw_SignalCorrespondence
(
pAig
,
pScorrPars
);
assert
(
pAigScorr
);
nAnds
=
Aig_ManAndNum
(
pAigScorr
);
Aig_ManStop
(
pAigScorr
);
if
(
nAnds
==
0
)
{
if
(
pWla
->
pPars
->
fVerbose
)
Abc_PrintTime
(
1
,
"SCORR proved UNSAT. Time"
,
Abc_Clock
()
-
clk
);
return
1
;
}
else
if
(
pWla
->
pPars
->
fVerbose
)
{
Abc_Print
(
1
,
"SCORR failed with %d ANDs. "
,
nAnds
);
Abc_PrintTime
(
1
,
"Time"
,
Abc_Clock
()
-
clk
);
}
}
clk
=
Abc_Clock
();
pWla
->
pPdrPars
->
fVerbose
=
0
;
pPdr
=
Pdr_ManStart
(
pAig
,
pWla
->
pPdrPars
,
NULL
);
RetValue
=
IPdr_ManCheckCombUnsat
(
pPdr
);
Pdr_ManStop
(
pPdr
);
pWla
->
pPdrPars
->
fVerbose
=
pWla
->
pPars
->
fPdrVerbose
;
pWla
->
tPdr
+=
Abc_Clock
()
-
clk
;
return
RetValue
;
}
int
Wla_ManSolve
(
Wla_Man_t
*
pWla
,
Aig_Man_t
*
pAig
)
{
abctime
clk
;
...
...
@@ -1259,45 +1307,9 @@ int Wla_ManSolve( Wla_Man_t * pWla, Aig_Man_t * pAig )
if
(
pWla
->
vClauses
&&
pWla
->
pPars
->
fCheckCombUnsat
)
{
if
(
Aig_ManAndNum
(
pAig
)
<=
20000
)
{
Aig_Man_t
*
pAigScorr
;
Ssw_Pars_t
ScorrPars
,
*
pScorrPars
=
&
ScorrPars
;
int
nAnds
;
clk
=
Abc_Clock
();
Ssw_ManSetDefaultParams
(
pScorrPars
);
pScorrPars
->
fStopWhenGone
=
1
;
pScorrPars
->
nFramesK
=
1
;
pAigScorr
=
Ssw_SignalCorrespondence
(
pAig
,
pScorrPars
);
assert
(
pAigScorr
);
nAnds
=
Aig_ManAndNum
(
pAigScorr
);
Aig_ManStop
(
pAigScorr
);
if
(
nAnds
==
0
)
{
if
(
pWla
->
pPars
->
fVerbose
)
Abc_PrintTime
(
1
,
"SCORR proved UNSAT. Time"
,
Abc_Clock
()
-
clk
);
return
1
;
}
else
if
(
pWla
->
pPars
->
fVerbose
)
{
Abc_Print
(
1
,
"SCORR failed with %d ANDs. "
,
nAnds
);
Abc_PrintTime
(
1
,
"Time"
,
Abc_Clock
()
-
clk
);
}
}
clk
=
Abc_Clock
();
pWla
->
pPdrPars
->
fVerbose
=
0
;
pPdr
=
Pdr_ManStart
(
pAig
,
pWla
->
pPdrPars
,
NULL
);
RetValue
=
IPdr_ManCheckCombUnsat
(
pPdr
);
Pdr_ManStop
(
pPdr
);
pWla
->
pPdrPars
->
fVerbose
=
pWla
->
pPars
->
fPdrVerbose
;
pWla
->
tPdr
+=
Abc_Clock
()
-
clk
;
RetValue
=
Wla_ManCheckCombUnsat
(
pWla
,
pAig
);
if
(
RetValue
==
1
)
{
if
(
pWla
->
pPars
->
fVerbose
)
...
...
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