Commit 61211df4 by Alan Mishchenko

Lazy man's logic synthesis.

parent 5004aa19
...@@ -768,7 +768,7 @@ extern ABC_DLL int Abc_NtkIvyProve( Abc_Ntk_t ** ppNtk, void * pP ...@@ -768,7 +768,7 @@ extern ABC_DLL int Abc_NtkIvyProve( Abc_Ntk_t ** ppNtk, void * pP
/*=== abcRec.c ==========================================================*/ /*=== abcRec.c ==========================================================*/
extern ABC_DLL void Abc_NtkRecStart( Abc_Ntk_t * pNtk, int nVars, int nCuts, int fTrim ); extern ABC_DLL void Abc_NtkRecStart( Abc_Ntk_t * pNtk, int nVars, int nCuts, int fTrim );
extern ABC_DLL void Abc_NtkRecStop(); extern ABC_DLL void Abc_NtkRecStop();
extern ABC_DLL void Abc_NtkRecAdd( Abc_Ntk_t * pNtk ); extern ABC_DLL void Abc_NtkRecAdd( Abc_Ntk_t * pNtk, int fUseSOPB );
extern ABC_DLL void Abc_NtkRecPs(int fPrintLib); extern ABC_DLL void Abc_NtkRecPs(int fPrintLib);
extern ABC_DLL void Abc_NtkRecFilter(int nLimit); extern ABC_DLL void Abc_NtkRecFilter(int nLimit);
extern ABC_DLL void Abc_NtkRecLibMerge(Abc_Ntk_t * pNtk); extern ABC_DLL void Abc_NtkRecLibMerge(Abc_Ntk_t * pNtk);
......
...@@ -11997,12 +11997,16 @@ int Abc_CommandRecAdd( Abc_Frame_t * pAbc, int argc, char ** argv ) ...@@ -11997,12 +11997,16 @@ int Abc_CommandRecAdd( Abc_Frame_t * pAbc, int argc, char ** argv )
{ {
Abc_Ntk_t * pNtk = Abc_FrameReadNtk(pAbc); Abc_Ntk_t * pNtk = Abc_FrameReadNtk(pAbc);
int c; int c;
int fUseSOPB = 0;
// set defaults // set defaults
Extra_UtilGetoptReset(); Extra_UtilGetoptReset();
while ( ( c = Extra_UtilGetopt( argc, argv, "dh" ) ) != EOF ) while ( ( c = Extra_UtilGetopt( argc, argv, "gh" ) ) != EOF )
{ {
switch ( c ) switch ( c )
{ {
case 'g':
fUseSOPB = 1;
break;
case 'h': case 'h':
goto usage; goto usage;
default: default:
...@@ -12019,7 +12023,7 @@ int Abc_CommandRecAdd( Abc_Frame_t * pAbc, int argc, char ** argv ) ...@@ -12019,7 +12023,7 @@ int Abc_CommandRecAdd( Abc_Frame_t * pAbc, int argc, char ** argv )
Abc_Print( -1, "This command works for AIGs after calling \"rec_start\".\n" ); Abc_Print( -1, "This command works for AIGs after calling \"rec_start\".\n" );
return 0; return 0;
} }
Abc_NtkRecAdd( pNtk ); Abc_NtkRecAdd( pNtk, fUseSOPB);
return 0; return 0;
usage: usage:
...@@ -13422,13 +13426,23 @@ int Abc_CommandIf( Abc_Frame_t * pAbc, int argc, char ** argv ) ...@@ -13422,13 +13426,23 @@ int Abc_CommandIf( Abc_Frame_t * pAbc, int argc, char ** argv )
} }
// modify for global delay optimization // modify for global delay optimization
if ( pPars->fDelayOpt || pPars->fUserRecLib ) if ( pPars->fDelayOpt )
{
pPars->fTruth = 1;
pPars->fExpRed = 0;
pPars->fUsePerm = 1;
pPars->pLutLib = NULL;
}
// modify the subgraph recording
if ( pPars->fUserRecLib )
{ {
pPars->fTruth = 1; pPars->fTruth = 1;
pPars->fExpRed = 0; pPars->fExpRed = 0;
pPars->fUsePerm = 1; pPars->fUsePerm = 1;
pPars->pLutLib = NULL; pPars->pLutLib = NULL;
pPars->fCutMin = 1;
} }
/* /*
// modify for LUT structures // modify for LUT structures
if ( pPars->pLutStruct ) if ( pPars->pLutStruct )
......
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