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
fc0f3b8d
Commit
fc0f3b8d
authored
Feb 18, 2017
by
Yen-Sheng Ho
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
working on incremental pdr
parent
fdc0b471
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
20 additions
and
18 deletions
+20
-18
src/proof/pdr/pdrIncr.c
+20
-18
No files found.
src/proof/pdr/pdrIncr.c
View file @
fc0f3b8d
...
...
@@ -527,7 +527,6 @@ int IPdr_ManSolve( Aig_Man_t * pAig, Pdr_Par_t * pPars )
{
Pdr_Man_t
*
p
;
int
k
,
RetValue
;
int
i
,
nRegs
;
Vec_Vec_t
*
vClausesSaved
;
abctime
clk
=
Abc_Clock
();
...
...
@@ -549,8 +548,25 @@ int IPdr_ManSolve( Aig_Man_t * pAig, Pdr_Par_t * pPars )
pPars
->
fSolveAll
?
"yes"
:
"no"
);
}
ABC_FREE
(
pAig
->
pSeqModel
);
p
=
Pdr_ManStart
(
pAig
,
pPars
,
NULL
);
while
(
1
)
{
RetValue
=
IPdr_ManSolveInt
(
p
);
if
(
RetValue
==
-
1
&&
pPars
->
iFrame
==
pPars
->
nFrameMax
)
{
vClausesSaved
=
IPdr_ManSaveClauses
(
p
);
Pdr_ManStop
(
p
);
p
=
Pdr_ManStart
(
pAig
,
pPars
,
NULL
);
IPdr_ManRestore
(
p
,
vClausesSaved
);
pPars
->
nFrameMax
=
pPars
->
nFrameMax
<<
1
;
continue
;
}
if
(
RetValue
==
0
)
assert
(
pAig
->
pSeqModel
!=
NULL
||
p
->
vCexes
!=
NULL
);
if
(
p
->
vCexes
)
...
...
@@ -567,28 +583,14 @@ int IPdr_ManSolve( Aig_Man_t * pAig, Pdr_Par_t * pPars )
}
else
if
(
RetValue
==
1
)
Abc_FrameSetInv
(
Pdr_ManDeriveInfinityClauses
(
p
,
RetValue
!=
1
)
);
p
->
tTotal
+=
Abc_Clock
()
-
clk
;
if
(
pPars
->
iFrame
==
pPars
->
nFrameMax
)
{
vClausesSaved
=
IPdr_ManSaveClauses
(
p
);
nRegs
=
Aig_ManRegNum
(
p
->
pAig
);
p
->
tTotal
+=
Abc_Clock
()
-
clk
;
Pdr_ManStop
(
p
);
printf
(
"PDR reached the max frame: %d
\n
"
,
pPars
->
iFrame
);
IPdr_ManPrintClauses
(
vClausesSaved
,
0
,
nRegs
);
p
=
Pdr_ManStart
(
pAig
,
pPars
,
NULL
);
IPdr_ManRestore
(
p
,
vClausesSaved
);
// Solve again
pPars
->
nFrameMax
=
pPars
->
nFrameMax
+
1
;
RetValue
=
IPdr_ManSolveInt
(
p
);
IPdr_ManPrintClauses
(
p
->
vClauses
,
0
,
nRegs
);
break
;
}
Pdr_ManStop
(
p
);
pPars
->
iFrame
--
;
// convert all -2 (unknown) entries into -1 (undec)
if
(
pPars
->
vOutMap
)
...
...
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