summaryrefslogtreecommitdiffstats
path: root/src/base
diff options
context:
space:
mode:
authorYen-Sheng Ho <ysho@berkeley.edu>2017-03-03 12:29:15 -0800
committerYen-Sheng Ho <ysho@berkeley.edu>2017-03-03 12:29:15 -0800
commit40d29e781387fdfbe8fec47e600d57a109fed1d9 (patch)
tree7e917217f829f6e361a05cf48ab80e195259dedb /src/base
parentcb603c5ea16c9a4756cf26144c2ae7af9800f5b3 (diff)
downloadabc-40d29e781387fdfbe8fec47e600d57a109fed1d9.tar.gz
abc-40d29e781387fdfbe8fec47e600d57a109fed1d9.tar.bz2
abc-40d29e781387fdfbe8fec47e600d57a109fed1d9.zip
only try scorr on small circuits
Diffstat (limited to 'src/base')
-rw-r--r--src/base/wlc/wlcAbs.c58
1 files changed, 31 insertions, 27 deletions
diff --git a/src/base/wlc/wlcAbs.c b/src/base/wlc/wlcAbs.c
index 5a582663..79da6235 100644
--- a/src/base/wlc/wlcAbs.c
+++ b/src/base/wlc/wlcAbs.c
@@ -1124,34 +1124,38 @@ int Wlc_NtkPdrAbs( Wlc_Ntk_t * p, Wlc_Par_t * pPars )
if ( vClauses && pPars->fCheckCombUnsat )
{
Pdr_Man_t * pPdr2;
- Aig_Man_t * pAigScorr;
- Ssw_Pars_t ScorrPars, * pScorrPars = &ScorrPars;
- int nAnds;
- clk2 = 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 ( pPars->fVerbose )
- Abc_PrintTime( 1, "SCORR proved UNSAT. Time", Abc_Clock() - clk2 );
- RetValue = 1;
- Gia_ManStop( pGia );
- Vec_IntFree( vPisNew );
- Aig_ManStop( pAig );
- break;
- }
- else if ( pPars->fVerbose )
- {
- Abc_Print( 1, "SCORR failed with %d ANDs. ", nAnds);
- Abc_PrintTime( 1, "Time", Abc_Clock() - clk2 );
+ if ( Aig_ManAndNum( pAig ) <= 20000 )
+ {
+ Aig_Man_t * pAigScorr;
+ Ssw_Pars_t ScorrPars, * pScorrPars = &ScorrPars;
+ int nAnds;
+
+ clk2 = 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 ( pPars->fVerbose )
+ Abc_PrintTime( 1, "SCORR proved UNSAT. Time", Abc_Clock() - clk2 );
+ RetValue = 1;
+ Gia_ManStop( pGia );
+ Vec_IntFree( vPisNew );
+ Aig_ManStop( pAig );
+ break;
+ }
+ else if ( pPars->fVerbose )
+ {
+ Abc_Print( 1, "SCORR failed with %d ANDs. ", nAnds);
+ Abc_PrintTime( 1, "Time", Abc_Clock() - clk2 );
+ }
}
clk2 = Abc_Clock();