diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2008-05-17 08:01:00 -0700 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2008-05-17 08:01:00 -0700 |
commit | 4d37d4d92fbc69a67a4e22af80a2acc42dff5e63 (patch) | |
tree | c9ace93ad9af3224b19f02b8567046f99318185c /src/aig/fra/fraSec.c | |
parent | 6da56f1f0f6942e3fc257d8396588804c5891e93 (diff) | |
download | abc-4d37d4d92fbc69a67a4e22af80a2acc42dff5e63.tar.gz abc-4d37d4d92fbc69a67a4e22af80a2acc42dff5e63.tar.bz2 abc-4d37d4d92fbc69a67a4e22af80a2acc42dff5e63.zip |
Version abc80517
Diffstat (limited to 'src/aig/fra/fraSec.c')
-rw-r--r-- | src/aig/fra/fraSec.c | 32 |
1 files changed, 21 insertions, 11 deletions
diff --git a/src/aig/fra/fraSec.c b/src/aig/fra/fraSec.c index b8f93f57..ec6b7795 100644 --- a/src/aig/fra/fraSec.c +++ b/src/aig/fra/fraSec.c @@ -82,7 +82,7 @@ int Fra_FraigSec( Aig_Man_t * p, Fra_Sec_t * pParSec ) float TimeLeft = 0.0; // try the miter before solving - pNew = Aig_ManDup( p ); + pNew = Aig_ManDupSimple( p ); RetValue = Fra_FraigMiterStatus( pNew ); if ( RetValue >= 0 ) goto finish; @@ -144,7 +144,7 @@ clk = clock(); PRT( "Time", clock() - clk ); } } - + // run latch correspondence clk = clock(); if ( pNew->nRegs ) @@ -165,22 +165,27 @@ clk = clock(); } } pNew = Fra_FraigLatchCorrespondence( pTemp = pNew, 0, 1000, 1, pParSec->fVeryVerbose, &nIter, TimeLeft ); + p->pSeqModel = pTemp->pSeqModel; pTemp->pSeqModel = NULL; + Aig_ManStop( pTemp ); if ( pNew == NULL ) { + if ( p->pSeqModel ) + { + RetValue = 0; + printf( "Networks are NOT EQUIVALENT after simulation. " ); +PRT( "Time", clock() - clkTotal ); + if ( pParSec->fReportSolution && !pParSec->fRecursive ) + { + printf( "SOLUTION: FAIL " ); +PRT( "Time", clock() - clkTotal ); + } + return RetValue; + } pNew = pTemp; RetValue = -1; TimeOut = 1; goto finish; } - p->pSeqModel = pTemp->pSeqModel; pTemp->pSeqModel = NULL; - Aig_ManStop( pTemp ); - if ( pNew == NULL ) - { - RetValue = 0; - printf( "Networks are NOT EQUIVALENT after simulation. " ); -PRT( "Time", clock() - clkTotal ); - return RetValue; - } if ( pParSec->fVerbose ) { @@ -354,6 +359,11 @@ PRT( "Time", clock() - clk ); RetValue = 0; printf( "Networks are NOT EQUIVALENT after simulation. " ); PRT( "Time", clock() - clkTotal ); + if ( pParSec->fReportSolution && !pParSec->fRecursive ) + { + printf( "SOLUTION: FAIL " ); +PRT( "Time", clock() - clkTotal ); + } return RetValue; } Fra_SmlStop( pSml ); |