summaryrefslogtreecommitdiffstats
path: root/src/aig/gia/giaAbsGla2.c
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2012-08-09 19:44:40 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2012-08-09 19:44:40 -0700
commit409ce39b61d774fc10c61f77c721814e597ae1f7 (patch)
treeea0b399774e43485d78db9146bc407d9ce3d225c /src/aig/gia/giaAbsGla2.c
parenta019dd216e949bece9f5adb53693f20482e4ef49 (diff)
downloadabc-409ce39b61d774fc10c61f77c721814e597ae1f7.tar.gz
abc-409ce39b61d774fc10c61f77c721814e597ae1f7.tar.bz2
abc-409ce39b61d774fc10c61f77c721814e597ae1f7.zip
Improved abstraction refinement.
Diffstat (limited to 'src/aig/gia/giaAbsGla2.c')
-rw-r--r--src/aig/gia/giaAbsGla2.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/aig/gia/giaAbsGla2.c b/src/aig/gia/giaAbsGla2.c
index dd8846c4..79bb616f 100644
--- a/src/aig/gia/giaAbsGla2.c
+++ b/src/aig/gia/giaAbsGla2.c
@@ -1433,6 +1433,7 @@ int Ga2_ManPerform( Gia_Man_t * pAig, Gia_ParVta_t * pPars )
// remember abstraction size after the last restart
nAbsOld = Vec_IntSize(p->vAbs);
// unroll the circuit
+ p->pPars->nFramesNoChange = -1;
for ( f = 0; !pPars->nFramesMax || f < pPars->nFramesMax; f++ )
{
// remember current limits
@@ -1528,7 +1529,8 @@ int Ga2_ManPerform( Gia_Man_t * pAig, Gia_ParVta_t * pPars )
assert( RetValue == l_False );
if ( c == 0 )
{
- p->pPars->nFramesNoChange++;
+ if ( p->pPars->nFramesNoChange >= 0 )
+ p->pPars->nFramesNoChange++;
break;
}
p->pPars->nFramesNoChange = 0;
@@ -1599,6 +1601,7 @@ int Ga2_ManPerform( Gia_Man_t * pAig, Gia_ParVta_t * pPars )
}
}
finish:
+ p->pPars->nFramesNoChange = Abc_MaxInt( p->pPars->nFramesNoChange, 0 );
Prf_ManStopP( &p->pSat->pPrf2 );
if ( p->pPars->fVerbose )
Abc_Print( 1, "\n" );