From 0ff592524818c895517db80a0795b5faea6cf8b5 Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Tue, 11 Feb 2014 11:58:25 -0800 Subject: Experiments with inductive don't-cares. --- src/sat/bmc/bmcICheck.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'src/sat/bmc/bmcICheck.c') diff --git a/src/sat/bmc/bmcICheck.c b/src/sat/bmc/bmcICheck.c index c70ed9b3..f404def5 100644 --- a/src/sat/bmc/bmcICheck.c +++ b/src/sat/bmc/bmcICheck.c @@ -397,9 +397,9 @@ void Bmc_PerformISearchOne( Gia_Man_t * p, int nFramesMax, int nTimeOut, int fRe Gia_ManStop( pMiter ); // Vec_IntFree( vLits ); } -void Bmc_PerformISearch( Gia_Man_t * p, int nFramesMax, int nTimeOut, int fReverse, int fDump, int fVerbose ) +Vec_Int_t * Bmc_PerformISearch( Gia_Man_t * p, int nFramesMax, int nTimeOut, int fReverse, int fDump, int fVerbose ) { - Vec_Int_t * vLits; + Vec_Int_t * vLits, * vFlops; int i, f; printf( "Solving M-inductiveness for design %s with %d AND nodes and %d flip-flops:\n", Gia_ManName(p), Gia_ManAndNum(p), Gia_ManRegNum(p) ); @@ -426,7 +426,15 @@ void Bmc_PerformISearch( Gia_Man_t * p, int nFramesMax, int nTimeOut, int fRever printf( "%d ", i ); printf( "\n" ); } + // save flop indexes + vFlops = Vec_IntAlloc( Gia_ManRegNum(p) ); + for ( i = 0; i < Gia_ManRegNum(p); i++ ) + if ( !Abc_LitIsCompl(Vec_IntEntry(vLits, i)) ) + Vec_IntPush( vFlops, 1 ); + else + Vec_IntPush( vFlops, 0 ); Vec_IntFree( vLits ); + return vFlops; } //////////////////////////////////////////////////////////////////////// -- cgit v1.2.3