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
d95d51c4
Commit
d95d51c4
authored
Feb 28, 2017
by
Yen-Sheng Ho
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
improved profiling in %pdra
parent
43f34ddc
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
26 additions
and
4 deletions
+26
-4
src/base/wlc/wlcAbs.c
+26
-4
No files found.
src/base/wlc/wlcAbs.c
View file @
d95d51c4
...
...
@@ -982,7 +982,8 @@ Vec_Int_t * Wlc_NtkFlopsRemap( Wlc_Ntk_t * p, Vec_Int_t * vFfOld, Vec_Int_t * vF
int
Wlc_NtkPdrAbs
(
Wlc_Ntk_t
*
p
,
Wlc_Par_t
*
pPars
)
{
abctime
clk
=
Abc_Clock
();
abctime
pdrClk
;
abctime
clk2
;
abctime
tPdr
=
0
,
tCbr
=
0
,
tPbr
=
0
,
tTotal
=
0
;
Pdr_Man_t
*
pPdr
;
Vec_Vec_t
*
vClauses
=
NULL
;
Vec_Int_t
*
vFfOld
=
NULL
,
*
vFfNew
=
NULL
,
*
vMap
=
NULL
;
...
...
@@ -1080,7 +1081,7 @@ int Wlc_NtkPdrAbs( Wlc_Ntk_t * p, Wlc_Par_t * pPars )
pAig
=
Gia_ManToAigSimple
(
pGia
);
pPdr
=
Pdr_ManStart
(
pAig
,
pPdrPars
,
NULL
);
pdrClk
=
Abc_Clock
();
clk2
=
Abc_Clock
();
if
(
vClauses
)
{
assert
(
Vec_VecSize
(
vClauses
)
>=
2
);
...
...
@@ -1089,7 +1090,8 @@ int Wlc_NtkPdrAbs( Wlc_Ntk_t * p, Wlc_Par_t * pPars )
Vec_IntFreeP
(
&
vMap
);
RetValue
=
IPdr_ManSolveInt
(
pPdr
,
pPars
->
fCheckClauses
,
pPars
->
fPushClauses
);
pPdr
->
tTotal
+=
Abc_Clock
()
-
pdrClk
;
pPdr
->
tTotal
+=
Abc_Clock
()
-
clk2
;
tPdr
+=
pPdr
->
tTotal
;
pCex
=
pAig
->
pSeqModel
;
pAig
->
pSeqModel
=
NULL
;
...
...
@@ -1105,9 +1107,15 @@ int Wlc_NtkPdrAbs( Wlc_Ntk_t * p, Wlc_Par_t * pPars )
}
// perform refinement
clk2
=
Abc_Clock
();
vRefine
=
Wlc_NtkAbsRefinement
(
p
,
pGia
,
pCex
,
vPisNew
);
tCbr
+=
Abc_Clock
()
-
clk2
;
if
(
pPars
->
fProofRefine
)
{
clk2
=
Abc_Clock
();
Wlc_NtkProofRefine
(
p
,
pPars
,
pCex
,
vPisNew
,
&
vRefine
);
tPbr
+=
Abc_Clock
()
-
clk2
;
}
Gia_ManStop
(
pGia
);
Vec_IntFree
(
vPisNew
);
if
(
vRefine
==
NULL
)
// real CEX
...
...
@@ -1124,6 +1132,7 @@ int Wlc_NtkPdrAbs( Wlc_Ntk_t * p, Wlc_Par_t * pPars )
Pdr_ManStop
(
pPdr
);
// update the set of objects to be un-abstracted
clk2
=
Abc_Clock
();
if
(
pPars
->
fMFFC
)
{
nNodes
=
Wlc_NtkRemoveFromAbstraction
(
p
,
vRefine
,
vUnmark
);
...
...
@@ -1137,6 +1146,8 @@ int Wlc_NtkPdrAbs( Wlc_Ntk_t * p, Wlc_Par_t * pPars )
printf
(
"Refinement of CEX in frame %d came up with %d un-abstacted PPIs.
\n
"
,
pCex
->
iFrame
,
Vec_IntSize
(
vRefine
)
);
}
tCbr
+=
Abc_Clock
()
-
clk2
;
Vec_IntFree
(
vRefine
);
Abc_CexFree
(
pCex
);
Aig_ManStop
(
pAig
);
...
...
@@ -1157,7 +1168,18 @@ int Wlc_NtkPdrAbs( Wlc_Ntk_t * p, Wlc_Par_t * pPars )
else
printf
(
"timed out"
);
printf
(
" after %d iterations. "
,
nIters
);
Abc_PrintTime
(
1
,
"Time"
,
Abc_Clock
()
-
clk
);
tTotal
=
Abc_Clock
()
-
clk
;
Abc_PrintTime
(
1
,
"Time"
,
tTotal
);
if
(
pPars
->
fVerbose
)
{
ABC_PRTP
(
"PDR "
,
tPdr
,
tTotal
);
ABC_PRTP
(
"CEX Refine "
,
tCbr
,
tTotal
);
ABC_PRTP
(
"Proof Refine "
,
tPbr
,
tTotal
);
ABC_PRTP
(
"Misc. "
,
tTotal
-
tPdr
-
tCbr
-
tPbr
,
tTotal
);
ABC_PRTP
(
"Total "
,
tTotal
,
tTotal
);
}
return
RetValue
;
}
...
...
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