Commit d44d9e29 by Alan Mishchenko

Experiments with recent ideas.

parent c1e54b8b
...@@ -32845,8 +32845,7 @@ usage: ...@@ -32845,8 +32845,7 @@ usage:
***********************************************************************/ ***********************************************************************/
int Abc_CommandAbc9Lilac( Abc_Frame_t * pAbc, int argc, char ** argv ) int Abc_CommandAbc9Lilac( Abc_Frame_t * pAbc, int argc, char ** argv )
{ {
extern Vec_Int_t * Gia_ManLilacTest( Gia_Man_t * p, Vec_Int_t * vInit, int nFrames, int nWords, int nTimeOut, int fSim, int fVerbose ); extern int Gia_ManLilacTest( Gia_Man_t * p, Vec_Int_t * vInit, int nFrames, int nWords, int nTimeOut, int fSim, int fVerbose );
Vec_Int_t * vTemp;
int c, nFrames = 1000, nWords = 1000, nTimeOut = 0, fSim = 0, fVerbose = 0; int c, nFrames = 1000, nWords = 1000, nTimeOut = 0, fSim = 0, fVerbose = 0;
Extra_UtilGetoptReset(); Extra_UtilGetoptReset();
while ( ( c = Extra_UtilGetopt( argc, argv, "FWTsvh" ) ) != EOF ) while ( ( c = Extra_UtilGetopt( argc, argv, "FWTsvh" ) ) != EOF )
...@@ -32908,8 +32907,12 @@ int Abc_CommandAbc9Lilac( Abc_Frame_t * pAbc, int argc, char ** argv ) ...@@ -32908,8 +32907,12 @@ int Abc_CommandAbc9Lilac( Abc_Frame_t * pAbc, int argc, char ** argv )
Abc_Print( -1, "Abc_CommandAbc9Lilac(): AIG is combinational.\n" ); Abc_Print( -1, "Abc_CommandAbc9Lilac(): AIG is combinational.\n" );
return 0; return 0;
} }
pAbc->pGia->vInitClasses = Gia_ManLilacTest( pAbc->pGia, vTemp = pAbc->pGia->vInitClasses, nFrames, nWords, nTimeOut, fSim, fVerbose ); if ( pAbc->pGia->vInitClasses == NULL )
Vec_IntFreeP( &vTemp ); {
Abc_Print( -1, "Abc_CommandAbc9Lilac(): Init array is not given.\n" );
return 0;
}
Gia_ManLilacTest( pAbc->pGia, pAbc->pGia->vInitClasses, nFrames, nWords, nTimeOut, fSim, fVerbose );
return 0; return 0;
usage: usage:
...@@ -183,6 +183,8 @@ int Bmc_LilacPerform( Gia_Man_t * p, Vec_Int_t * vInit0, Vec_Int_t * vInit1, int ...@@ -183,6 +183,8 @@ int Bmc_LilacPerform( Gia_Man_t * p, Vec_Int_t * vInit0, Vec_Int_t * vInit1, int
sat_solver * pSat; sat_solver * pSat;
int iVar0, iVar1, iLit, iLit0, iLit1; int iVar0, iVar1, iLit, iLit0, iLit1;
int i, f, status, nChanges, nMiters, RetValue = 1; int i, f, status, nChanges, nMiters, RetValue = 1;
assert( Vec_IntSize(vInit0) == Gia_ManRegNum(p) );
assert( Vec_IntSize(vInit1) == Gia_ManRegNum(p) );
// start the SAT solver // start the SAT solver
pSat = sat_solver_new(); pSat = sat_solver_new();
...@@ -325,11 +327,12 @@ cleanup: ...@@ -325,11 +327,12 @@ cleanup:
SeeAlso [] SeeAlso []
***********************************************************************/ ***********************************************************************/
void Gia_ManLilacTest( Gia_Man_t * p, Vec_Int_t * vInit, int nFrames, int nWords, int nTimeOut, int fSim, int fVerbose ) int Gia_ManLilacTest( Gia_Man_t * p, Vec_Int_t * vInit, int nFrames, int nWords, int nTimeOut, int fSim, int fVerbose )
{ {
Vec_Int_t * vInit0 = Vec_IntStart( Gia_ManRegNum(p) ); Vec_Int_t * vInit0 = Vec_IntStart( Gia_ManRegNum(p) );
Bmc_LilacPerform( p, vInit, vInit0, nFrames, nWords, nTimeOut, fVerbose ); Bmc_LilacPerform( p, vInit, vInit0, nFrames, nWords, nTimeOut, fVerbose );
Vec_IntFree( vInit0 ); Vec_IntFree( vInit0 );
return 1;
} }
//////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment