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
4db9c636
Commit
4db9c636
authored
Mar 02, 2012
by
Alan Mishchenko
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Redirecting printf messages.
parent
7926d75e
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
42 additions
and
50 deletions
+42
-50
src/aig/gia/giaAbsVta.c
+42
-50
No files found.
src/aig/gia/giaAbsVta.c
View file @
4db9c636
...
@@ -466,9 +466,7 @@ void Vta_ManUnsatCoreRemap( Vta_Man_t * p, Vec_Int_t * vCore )
...
@@ -466,9 +466,7 @@ void Vta_ManUnsatCoreRemap( Vta_Man_t * p, Vec_Int_t * vCore )
pThis
=
Vta_ManObj
(
p
,
Entry
);
pThis
=
Vta_ManObj
(
p
,
Entry
);
Entry
=
(
pThis
->
iFrame
<<
p
->
nObjBits
)
|
pThis
->
iObj
;
Entry
=
(
pThis
->
iFrame
<<
p
->
nObjBits
)
|
pThis
->
iObj
;
Vec_IntWriteEntry
(
vCore
,
i
,
Entry
);
Vec_IntWriteEntry
(
vCore
,
i
,
Entry
);
//printf( "%d^%d ", pThis->iObj, pThis->iFrame );
}
}
//printf( "\n" );
}
}
/**Function*************************************************************
/**Function*************************************************************
...
@@ -746,7 +744,7 @@ Abc_Cex_t * Vta_ManRefineAbstraction( Vta_Man_t * p, int f )
...
@@ -746,7 +744,7 @@ Abc_Cex_t * Vta_ManRefineAbstraction( Vta_Man_t * p, int f )
pThis
->
Prio
=
Counter
++
;
pThis
->
Prio
=
Counter
++
;
Vec_PtrForEachEntry
(
Vta_Obj_t
*
,
vTermsUnused
,
pThis
,
i
)
Vec_PtrForEachEntry
(
Vta_Obj_t
*
,
vTermsUnused
,
pThis
,
i
)
pThis
->
Prio
=
Counter
++
;
pThis
->
Prio
=
Counter
++
;
//
printf(
"Used %d Unused %d\n", Vec_PtrSize(vTermsUsed), Vec_PtrSize(vTermsUnused) );
//
Abc_Print( 1,
"Used %d Unused %d\n", Vec_PtrSize(vTermsUsed), Vec_PtrSize(vTermsUnused) );
Vec_PtrFree
(
vTermsUsed
);
Vec_PtrFree
(
vTermsUsed
);
Vec_PtrFree
(
vTermsUnused
);
Vec_PtrFree
(
vTermsUnused
);
...
@@ -908,7 +906,6 @@ Abc_Cex_t * Vta_ManRefineAbstraction( Vta_Man_t * p, int f )
...
@@ -908,7 +906,6 @@ Abc_Cex_t * Vta_ManRefineAbstraction( Vta_Man_t * p, int f )
pThis0
=
Vga_ManFind
(
p
,
Gia_ObjFaninId0p
(
p
->
pGia
,
pObj
),
pThis
->
iFrame
);
pThis0
=
Vga_ManFind
(
p
,
Gia_ObjFaninId0p
(
p
->
pGia
,
pObj
),
pThis
->
iFrame
);
pThis1
=
Vga_ManFind
(
p
,
Gia_ObjFaninId1p
(
p
->
pGia
,
pObj
),
pThis
->
iFrame
);
pThis1
=
Vga_ManFind
(
p
,
Gia_ObjFaninId1p
(
p
->
pGia
,
pObj
),
pThis
->
iFrame
);
assert
(
pThis0
&&
pThis1
);
assert
(
pThis0
&&
pThis1
);
// printf( "AND %d %d %d ", Vta_ObjId(p, pThis), Vta_ObjId(p,pThis0), Vta_ObjId(p,pThis1) );
if
(
Vta_ValIs1
(
pThis0
,
Gia_ObjFaninC0
(
pObj
))
&&
Vta_ValIs1
(
pThis1
,
Gia_ObjFaninC1
(
pObj
))
)
if
(
Vta_ValIs1
(
pThis0
,
Gia_ObjFaninC0
(
pObj
))
&&
Vta_ValIs1
(
pThis1
,
Gia_ObjFaninC1
(
pObj
))
)
pThis
->
Value
=
VTA_VAR1
;
pThis
->
Value
=
VTA_VAR1
;
else
if
(
Vta_ValIs0
(
pThis0
,
Gia_ObjFaninC0
(
pObj
))
||
Vta_ValIs0
(
pThis1
,
Gia_ObjFaninC1
(
pObj
))
)
else
if
(
Vta_ValIs0
(
pThis0
,
Gia_ObjFaninC0
(
pObj
))
||
Vta_ValIs0
(
pThis1
,
Gia_ObjFaninC1
(
pObj
))
)
...
@@ -929,30 +926,26 @@ Abc_Cex_t * Vta_ManRefineAbstraction( Vta_Man_t * p, int f )
...
@@ -929,30 +926,26 @@ Abc_Cex_t * Vta_ManRefineAbstraction( Vta_Man_t * p, int f )
pThis
->
Value
=
VTA_VAR1
;
pThis
->
Value
=
VTA_VAR1
;
else
else
pThis
->
Value
=
VTA_VARX
;
pThis
->
Value
=
VTA_VARX
;
// printf( "RO %d ", Vta_ObjId(p, pThis), Vta_ObjId(p,pThis0) );
}
}
else
else
{
{
// printf( "RO %d frame0 ", Vta_ObjId(p, pThis) );
pThis
->
Value
=
VTA_VAR0
;
pThis
->
Value
=
VTA_VAR0
;
}
}
}
}
else
if
(
Gia_ObjIsConst0
(
pObj
)
)
else
if
(
Gia_ObjIsConst0
(
pObj
)
)
{
{
// printf( "CONST0 %d ", Vta_ObjId(p, pThis) );
pThis
->
Value
=
VTA_VAR0
;
pThis
->
Value
=
VTA_VAR0
;
}
}
else
assert
(
0
);
else
assert
(
0
);
// printf( "val = %d. \n", (pThis->Value==VTA_VAR0) ? 0 : ((pThis->Value==VTA_VAR0) ? 1 : 2 ) );
// double check the solver
// double check the solver
assert
(
pThis
->
Value
==
VTA_VARX
||
(
int
)
pThis
->
Value
==
(
sat_solver2_var_value
(
p
->
pSat
,
Vta_ObjId
(
p
,
pThis
))
?
VTA_VAR1
:
VTA_VAR0
)
);
assert
(
pThis
->
Value
==
VTA_VARX
||
(
int
)
pThis
->
Value
==
(
sat_solver2_var_value
(
p
->
pSat
,
Vta_ObjId
(
p
,
pThis
))
?
VTA_VAR1
:
VTA_VAR0
)
);
}
}
// check the output
// check the output
if
(
!
Vta_ValIs1
(
pTop
,
Gia_ObjFaninC0
(
Gia_ManPo
(
p
->
pGia
,
0
)))
)
if
(
!
Vta_ValIs1
(
pTop
,
Gia_ObjFaninC0
(
Gia_ManPo
(
p
->
pGia
,
0
)))
)
printf
(
"Vta_ManRefineAbstraction(): Terminary simulation verification failed!
\n
"
);
Abc_Print
(
1
,
"Vta_ManRefineAbstraction(): Terminary simulation verification failed!
\n
"
);
// else
// else
//
printf(
"Verification OK.\n" );
//
Abc_Print( 1,
"Verification OK.\n" );
}
}
...
@@ -1013,12 +1006,12 @@ Vta_Man_t * Vga_ManStart( Gia_Man_t * pGia, Gia_ParVta_t * pPars )
...
@@ -1013,12 +1006,12 @@ Vta_Man_t * Vga_ManStart( Gia_Man_t * pGia, Gia_ParVta_t * pPars )
// update parameters
// update parameters
if
(
pPars
->
nFramesStart
!=
Vec_PtrSize
(
p
->
vFrames
)
)
if
(
pPars
->
nFramesStart
!=
Vec_PtrSize
(
p
->
vFrames
)
)
{
{
printf
(
"Starting frame count is changed to match the abstraction (from %d to %d).
\n
"
,
pPars
->
nFramesStart
,
Vec_PtrSize
(
p
->
vFrames
)
);
Abc_Print
(
1
,
"Starting frame count is changed to match the abstraction (from %d to %d).
\n
"
,
pPars
->
nFramesStart
,
Vec_PtrSize
(
p
->
vFrames
)
);
pPars
->
nFramesStart
=
Vec_PtrSize
(
p
->
vFrames
);
pPars
->
nFramesStart
=
Vec_PtrSize
(
p
->
vFrames
);
}
}
if
(
pPars
->
nFramesMax
&&
pPars
->
nFramesMax
<
pPars
->
nFramesStart
)
if
(
pPars
->
nFramesMax
&&
pPars
->
nFramesMax
<
pPars
->
nFramesStart
)
{
{
printf
(
"Maximum frame count is changed to match the starting frames (from %d to %d).
\n
"
,
pPars
->
nFramesMax
,
pPars
->
nFramesStart
);
Abc_Print
(
1
,
"Maximum frame count is changed to match the starting frames (from %d to %d).
\n
"
,
pPars
->
nFramesMax
,
pPars
->
nFramesStart
);
pPars
->
nFramesMax
=
Abc_MaxInt
(
pPars
->
nFramesMax
,
pPars
->
nFramesStart
);
pPars
->
nFramesMax
=
Abc_MaxInt
(
pPars
->
nFramesMax
,
pPars
->
nFramesStart
);
}
}
}
}
...
@@ -1044,7 +1037,7 @@ Vta_Man_t * Vga_ManStart( Gia_Man_t * pGia, Gia_ParVta_t * pPars )
...
@@ -1044,7 +1037,7 @@ Vta_Man_t * Vga_ManStart( Gia_Man_t * pGia, Gia_ParVta_t * pPars )
void
Vga_ManStop
(
Vta_Man_t
*
p
)
void
Vga_ManStop
(
Vta_Man_t
*
p
)
{
{
// if ( p->pPars->fVerbose )
// if ( p->pPars->fVerbose )
printf
(
"SAT solver: Variables = %d. Clauses = %d. Conflicts = %d. Cexes = %d.
\n
"
,
Abc_Print
(
1
,
"SAT solver: Variables = %d. Clauses = %d. Conflicts = %d. Cexes = %d.
\n
"
,
sat_solver2_nvars
(
p
->
pSat
),
sat_solver2_nclauses
(
p
->
pSat
),
sat_solver2_nconflicts
(
p
->
pSat
),
p
->
nCexes
);
sat_solver2_nvars
(
p
->
pSat
),
sat_solver2_nclauses
(
p
->
pSat
),
sat_solver2_nconflicts
(
p
->
pSat
),
p
->
nCexes
);
Vec_VecFreeP
(
(
Vec_Vec_t
**
)
&
p
->
vCores
);
Vec_VecFreeP
(
(
Vec_Vec_t
**
)
&
p
->
vCores
);
...
@@ -1097,8 +1090,8 @@ Vec_Int_t * Vta_ManUnsatCore( int iLit, Vec_Int_t * vCla2Var, sat_solver2 * pSat
...
@@ -1097,8 +1090,8 @@ Vec_Int_t * Vta_ManUnsatCore( int iLit, Vec_Int_t * vCla2Var, sat_solver2 * pSat
}
}
if
(
fVerbose
)
if
(
fVerbose
)
{
{
//
printf(
"%6d", (int)pSat->stats.conflicts - nConfPrev );
//
Abc_Print( 1,
"%6d", (int)pSat->stats.conflicts - nConfPrev );
//
printf(
"UNSAT after %7d conflicts. ", pSat->stats.conflicts );
//
Abc_Print( 1,
"UNSAT after %7d conflicts. ", pSat->stats.conflicts );
// Abc_PrintTime( 1, "Time", clock() - clk );
// Abc_PrintTime( 1, "Time", clock() - clk );
}
}
assert
(
RetValue
==
l_False
);
assert
(
RetValue
==
l_False
);
...
@@ -1108,7 +1101,7 @@ Vec_Int_t * Vta_ManUnsatCore( int iLit, Vec_Int_t * vCla2Var, sat_solver2 * pSat
...
@@ -1108,7 +1101,7 @@ Vec_Int_t * Vta_ManUnsatCore( int iLit, Vec_Int_t * vCla2Var, sat_solver2 * pSat
vCore
=
(
Vec_Int_t
*
)
Sat_ProofCore
(
pSat
);
vCore
=
(
Vec_Int_t
*
)
Sat_ProofCore
(
pSat
);
if
(
fVerbose
)
if
(
fVerbose
)
{
{
//
printf(
"Core is %8d clauses (out of %8d). ", Vec_IntSize(vCore), sat_solver2_nclauses(pSat) );
//
Abc_Print( 1,
"Core is %8d clauses (out of %8d). ", Vec_IntSize(vCore), sat_solver2_nclauses(pSat) );
// Abc_PrintTime( 1, "Time", clock() - clk );
// Abc_PrintTime( 1, "Time", clock() - clk );
}
}
...
@@ -1128,7 +1121,7 @@ Vec_Int_t * Vta_ManUnsatCore( int iLit, Vec_Int_t * vCla2Var, sat_solver2 * pSat
...
@@ -1128,7 +1121,7 @@ Vec_Int_t * Vta_ManUnsatCore( int iLit, Vec_Int_t * vCla2Var, sat_solver2 * pSat
Vec_IntFree
(
vPres
);
Vec_IntFree
(
vPres
);
if
(
fVerbose
)
if
(
fVerbose
)
{
{
//
printf(
"Core is %8d vars (out of %8d). ", Vec_IntSize(vCore), sat_solver2_nvars(pSat) );
//
Abc_Print( 1,
"Core is %8d vars (out of %8d). ", Vec_IntSize(vCore), sat_solver2_nvars(pSat) );
// Abc_PrintTime( 1, "Time", clock() - clk );
// Abc_PrintTime( 1, "Time", clock() - clk );
}
}
return
vCore
;
return
vCore
;
...
@@ -1177,43 +1170,43 @@ void Vta_ManAbsPrintFrame( Vta_Man_t * p, Vec_Int_t * vCore, int nFrames, int nC
...
@@ -1177,43 +1170,43 @@ void Vta_ManAbsPrintFrame( Vta_Man_t * p, Vec_Int_t * vCore, int nFrames, int nC
}
}
}
}
}
}
//
printf(
"%5d%5d", pCountAll[0], pCountUni[0] );
//
Abc_Print( 1,
"%5d%5d", pCountAll[0], pCountUni[0] );
printf
(
"%3d :"
,
nFrames
-
1
);
Abc_Print
(
1
,
"%3d :"
,
nFrames
-
1
);
printf
(
"%6d"
,
p
->
nSeenGla
);
Abc_Print
(
1
,
"%6d"
,
p
->
nSeenGla
);
printf
(
"%4d"
,
Abc_MinInt
(
100
,
100
*
p
->
nSeenAll
/
(
p
->
nSeenGla
*
nFrames
))
);
Abc_Print
(
1
,
"%4d"
,
Abc_MinInt
(
100
,
100
*
p
->
nSeenAll
/
(
p
->
nSeenGla
*
nFrames
))
);
printf
(
"%8d"
,
nConfls
);
Abc_Print
(
1
,
"%8d"
,
nConfls
);
if
(
nCexes
==
0
)
if
(
nCexes
==
0
)
printf
(
"%5c"
,
'-'
);
Abc_Print
(
1
,
"%5c"
,
'-'
);
else
else
printf
(
"%5d"
,
nCexes
);
Abc_Print
(
1
,
"%5d"
,
nCexes
);
if
(
vCore
==
NULL
)
if
(
vCore
==
NULL
)
{
{
printf
(
" ..."
);
Abc_Print
(
1
,
" ..."
);
for
(
k
=
0
;
k
<
10
;
k
++
)
for
(
k
=
0
;
k
<
10
;
k
++
)
printf
(
" "
);
Abc_Print
(
1
,
" "
);
printf
(
"%9.2f sec"
,
(
float
)(
Time
)
/
(
float
)(
CLOCKS_PER_SEC
)
);
Abc_Print
(
1
,
"%9.2f sec"
,
(
float
)(
Time
)
/
(
float
)(
CLOCKS_PER_SEC
)
);
printf
(
"
\r
"
);
Abc_Print
(
1
,
"
\r
"
);
}
}
else
else
{
{
printf
(
"%7d"
,
pCountAll
[
0
]
);
Abc_Print
(
1
,
"%7d"
,
pCountAll
[
0
]
);
if
(
nFrames
>
10
)
if
(
nFrames
>
10
)
{
{
for
(
k
=
0
;
k
<
4
;
k
++
)
for
(
k
=
0
;
k
<
4
;
k
++
)
printf
(
"%5d"
,
pCountAll
[
k
+
1
]
);
Abc_Print
(
1
,
"%5d"
,
pCountAll
[
k
+
1
]
);
printf
(
" ..."
);
Abc_Print
(
1
,
" ..."
);
for
(
k
=
nFrames
-
5
;
k
<
nFrames
;
k
++
)
for
(
k
=
nFrames
-
5
;
k
<
nFrames
;
k
++
)
printf
(
"%5d"
,
pCountAll
[
k
+
1
]
);
Abc_Print
(
1
,
"%5d"
,
pCountAll
[
k
+
1
]
);
}
}
else
else
{
{
for
(
k
=
0
;
k
<
nFrames
;
k
++
)
for
(
k
=
0
;
k
<
nFrames
;
k
++
)
printf
(
"%5d"
,
pCountAll
[
k
+
1
]
);
Abc_Print
(
1
,
"%5d"
,
pCountAll
[
k
+
1
]
);
for
(
k
=
nFrames
;
k
<
10
;
k
++
)
for
(
k
=
nFrames
;
k
<
10
;
k
++
)
printf
(
" "
);
Abc_Print
(
1
,
" "
);
}
}
printf
(
"%9.2f sec"
,
(
float
)(
Time
)
/
(
float
)(
CLOCKS_PER_SEC
)
);
Abc_Print
(
1
,
"%9.2f sec"
,
(
float
)(
Time
)
/
(
float
)(
CLOCKS_PER_SEC
)
);
printf
(
"
\n
"
);
Abc_Print
(
1
,
"
\n
"
);
}
}
fflush
(
stdout
);
fflush
(
stdout
);
...
@@ -1309,7 +1302,6 @@ void Vga_ManLoadSlice( Vta_Man_t * p, Vec_Int_t * vOne, int Lift )
...
@@ -1309,7 +1302,6 @@ void Vga_ManLoadSlice( Vta_Man_t * p, Vec_Int_t * vOne, int Lift )
Vec_IntForEachEntry
(
vOne
,
Entry
,
i
)
Vec_IntForEachEntry
(
vOne
,
Entry
,
i
)
Vga_ManAddClausesOne
(
p
,
Entry
&
p
->
nObjMask
,
(
Entry
>>
p
->
nObjBits
)
+
Lift
);
Vga_ManAddClausesOne
(
p
,
Entry
&
p
->
nObjMask
,
(
Entry
>>
p
->
nObjBits
)
+
Lift
);
sat_solver2_simplify
(
p
->
pSat
);
sat_solver2_simplify
(
p
->
pSat
);
// printf( "\n\n" );
}
}
/**Function*************************************************************
/**Function*************************************************************
...
@@ -1349,9 +1341,9 @@ void Vga_ManPrintCore( Vta_Man_t * p, Vec_Int_t * vCore, int Lift )
...
@@ -1349,9 +1341,9 @@ void Vga_ManPrintCore( Vta_Man_t * p, Vec_Int_t * vCore, int Lift )
{
{
iObj
=
(
Entry
&
p
->
nObjMask
);
iObj
=
(
Entry
&
p
->
nObjMask
);
iFrame
=
(
Entry
>>
p
->
nObjBits
);
iFrame
=
(
Entry
>>
p
->
nObjBits
);
printf
(
"%d*%d "
,
iObj
,
iFrame
+
Lift
);
Abc_Print
(
1
,
"%d*%d "
,
iObj
,
iFrame
+
Lift
);
}
}
printf
(
"
\n
"
);
Abc_Print
(
1
,
"
\n
"
);
}
}
/**Function*************************************************************
/**Function*************************************************************
...
@@ -1414,11 +1406,11 @@ int Gia_VtaPerformInt( Gia_Man_t * pAig, Gia_ParVta_t * pPars )
...
@@ -1414,11 +1406,11 @@ int Gia_VtaPerformInt( Gia_Man_t * pAig, Gia_ParVta_t * pPars )
// perform initial abstraction
// perform initial abstraction
if
(
p
->
pPars
->
fVerbose
)
if
(
p
->
pPars
->
fVerbose
)
{
{
printf
(
"Running variable-timeframe abstraction (VTA) with the following parameters:
\n
"
);
Abc_Print
(
1
,
"Running variable-timeframe abstraction (VTA) with the following parameters:
\n
"
);
printf
(
"FrameStart = %d FramePast = %d FrameMax = %d Conf = %d Timeout = %d. RatioMin = %d %%.
\n
"
,
Abc_Print
(
1
,
"FrameStart = %d FramePast = %d FrameMax = %d Conf = %d Timeout = %d. RatioMin = %d %%.
\n
"
,
p
->
pPars
->
nFramesStart
,
p
->
pPars
->
nFramesPast
,
p
->
pPars
->
nFramesMax
,
p
->
pPars
->
nFramesStart
,
p
->
pPars
->
nFramesPast
,
p
->
pPars
->
nFramesMax
,
p
->
pPars
->
nConfLimit
,
p
->
pPars
->
nTimeOut
,
pPars
->
nRatioMin
);
p
->
pPars
->
nConfLimit
,
p
->
pPars
->
nTimeOut
,
pPars
->
nRatioMin
);
printf
(
"Frame Abs %% Confl Cex Core F0 F1 F2 F3 ...
\n
"
);
Abc_Print
(
1
,
"Frame Abs %% Confl Cex Core F0 F1 F2 F3 ...
\n
"
);
}
}
for
(
f
=
i
=
0
;
!
p
->
pPars
->
nFramesMax
||
f
<
p
->
pPars
->
nFramesMax
;
f
++
)
for
(
f
=
i
=
0
;
!
p
->
pPars
->
nFramesMax
||
f
<
p
->
pPars
->
nFramesMax
;
f
++
)
{
{
...
@@ -1522,30 +1514,30 @@ finish:
...
@@ -1522,30 +1514,30 @@ finish:
{
{
assert
(
Vec_PtrSize
(
p
->
vCores
)
>
0
);
assert
(
Vec_PtrSize
(
p
->
vCores
)
>
0
);
if
(
pAig
->
vObjClasses
!=
NULL
)
if
(
pAig
->
vObjClasses
!=
NULL
)
printf
(
"Replacing the old abstraction by a new one.
\n
"
);
Abc_Print
(
1
,
"Replacing the old abstraction by a new one.
\n
"
);
Vec_IntFreeP
(
&
pAig
->
vObjClasses
);
Vec_IntFreeP
(
&
pAig
->
vObjClasses
);
pAig
->
vObjClasses
=
Gia_VtaFramesToAbs
(
(
Vec_Vec_t
*
)
p
->
vCores
);
pAig
->
vObjClasses
=
Gia_VtaFramesToAbs
(
(
Vec_Vec_t
*
)
p
->
vCores
);
if
(
Status
==
-
1
)
if
(
Status
==
-
1
)
{
{
if
(
p
->
pPars
->
nTimeOut
&&
time
(
NULL
)
>=
p
->
pSat
->
nRuntimeLimit
)
if
(
p
->
pPars
->
nTimeOut
&&
time
(
NULL
)
>=
p
->
pSat
->
nRuntimeLimit
)
printf
(
"SAT solver ran out of time at %d sec in frame %d. "
,
p
->
pPars
->
nTimeOut
,
f
);
Abc_Print
(
1
,
"SAT solver ran out of time at %d sec in frame %d. "
,
p
->
pPars
->
nTimeOut
,
f
);
else
if
(
pPars
->
nConfLimit
&&
sat_solver2_nconflicts
(
p
->
pSat
)
>=
pPars
->
nConfLimit
)
else
if
(
pPars
->
nConfLimit
&&
sat_solver2_nconflicts
(
p
->
pSat
)
>=
pPars
->
nConfLimit
)
printf
(
"SAT solver ran out of resources at %d conflicts in frame %d. "
,
pPars
->
nConfLimit
,
f
);
Abc_Print
(
1
,
"SAT solver ran out of resources at %d conflicts in frame %d. "
,
pPars
->
nConfLimit
,
f
);
else
if
(
p
->
nSeenGla
>=
Gia_ManCandNum
(
pAig
)
*
(
100
-
pPars
->
nRatioMin
)
/
100
)
else
if
(
p
->
nSeenGla
>=
Gia_ManCandNum
(
pAig
)
*
(
100
-
pPars
->
nRatioMin
)
/
100
)
printf
(
"The ratio of abstracted objects is less than %d %% in frame %d. "
,
pPars
->
nRatioMin
,
f
);
Abc_Print
(
1
,
"The ratio of abstracted objects is less than %d %% in frame %d. "
,
pPars
->
nRatioMin
,
f
);
else
else
printf
(
"Abstraction stopped for unknown reason in frame %d. "
,
f
);
Abc_Print
(
1
,
"Abstraction stopped for unknown reason in frame %d. "
,
f
);
}
}
else
else
printf
(
"SAT solver completed %d frames and produced an abstraction. "
,
f
);
Abc_Print
(
1
,
"SAT solver completed %d frames and produced an abstraction. "
,
f
);
}
}
else
else
{
{
ABC_FREE
(
p
->
pGia
->
pCexSeq
);
ABC_FREE
(
p
->
pGia
->
pCexSeq
);
p
->
pGia
->
pCexSeq
=
pCex
;
p
->
pGia
->
pCexSeq
=
pCex
;
if
(
!
Gia_ManVerifyCex
(
p
->
pGia
,
pCex
,
0
)
)
if
(
!
Gia_ManVerifyCex
(
p
->
pGia
,
pCex
,
0
)
)
printf
(
" Gia_VtaPerform(): CEX verification has failed!
\n
"
);
Abc_Print
(
1
,
" Gia_VtaPerform(): CEX verification has failed!
\n
"
);
printf
(
"Counter-example detected in frame %d. "
,
f
);
Abc_Print
(
1
,
"Counter-example detected in frame %d. "
,
f
);
p
->
pPars
->
iFrame
=
pCex
->
iFrame
-
1
;
p
->
pPars
->
iFrame
=
pCex
->
iFrame
-
1
;
}
}
Abc_PrintTime
(
1
,
"Time"
,
clock
()
-
clk
);
Abc_PrintTime
(
1
,
"Time"
,
clock
()
-
clk
);
...
...
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