Commit e2036489 by Alan Mishchenko

Bug fix in CEC generation after rarity simulation and few small changes.

parent 2340d279
...@@ -257,6 +257,7 @@ struct Jf_Par_t_ ...@@ -257,6 +257,7 @@ struct Jf_Par_t_
int DelayTarget; int DelayTarget;
int fAreaOnly; int fAreaOnly;
int fOptEdge; int fOptEdge;
int fUseMux7;
int fPower; int fPower;
int fCoarsen; int fCoarsen;
int fCutMin; int fCutMin;
......
...@@ -30913,7 +30913,7 @@ int Abc_CommandAbc9Lf( Abc_Frame_t * pAbc, int argc, char ** argv ) ...@@ -30913,7 +30913,7 @@ int Abc_CommandAbc9Lf( Abc_Frame_t * pAbc, int argc, char ** argv )
Gia_Man_t * pNew; int c; Gia_Man_t * pNew; int c;
Lf_ManSetDefaultPars( pPars ); Lf_ManSetDefaultPars( pPars );
Extra_UtilGetoptReset(); Extra_UtilGetoptReset();
while ( ( c = Extra_UtilGetopt( argc, argv, "KCFARLDWaekmgpvwh" ) ) != EOF ) while ( ( c = Extra_UtilGetopt( argc, argv, "KCFARLDWaekmupgvwh" ) ) != EOF )
{ {
switch ( c ) switch ( c )
{ {
...@@ -31023,12 +31023,15 @@ int Abc_CommandAbc9Lf( Abc_Frame_t * pAbc, int argc, char ** argv ) ...@@ -31023,12 +31023,15 @@ int Abc_CommandAbc9Lf( Abc_Frame_t * pAbc, int argc, char ** argv )
case 'm': case 'm':
pPars->fCutMin ^= 1; pPars->fCutMin ^= 1;
break; break;
case 'g': case 'u':
pPars->fPureAig ^= 1; pPars->fUseMux7 ^= 1;
break; break;
case 'p': case 'p':
pPars->fPower ^= 1; pPars->fPower ^= 1;
break; break;
case 'g':
pPars->fPureAig ^= 1;
break;
case 'v': case 'v':
pPars->fVerbose ^= 1; pPars->fVerbose ^= 1;
break; break;
...@@ -31061,7 +31064,7 @@ usage: ...@@ -31061,7 +31064,7 @@ usage:
sprintf(Buffer, "best possible" ); sprintf(Buffer, "best possible" );
else else
sprintf(Buffer, "%d", pPars->DelayTarget ); sprintf(Buffer, "%d", pPars->DelayTarget );
Abc_Print( -2, "usage: &lf [-KCFARLD num] [-akmgpvwh]\n" ); Abc_Print( -2, "usage: &lf [-KCFARLD num] [-akmupgvwh]\n" );
Abc_Print( -2, "\t performs technology mapping of the network\n" ); Abc_Print( -2, "\t performs technology mapping of the network\n" );
Abc_Print( -2, "\t-K num : LUT size for the mapping (2 <= K <= %d) [default = %d]\n", pPars->nLutSizeMax, pPars->nLutSize ); Abc_Print( -2, "\t-K num : LUT size for the mapping (2 <= K <= %d) [default = %d]\n", pPars->nLutSizeMax, pPars->nLutSize );
Abc_Print( -2, "\t-C num : the max number of priority cuts (1 <= C <= %d) [default = %d]\n", pPars->nCutNumMax, pPars->nCutNum ); Abc_Print( -2, "\t-C num : the max number of priority cuts (1 <= C <= %d) [default = %d]\n", pPars->nCutNumMax, pPars->nCutNum );
...@@ -31074,8 +31077,9 @@ usage: ...@@ -31074,8 +31077,9 @@ usage:
Abc_Print( -2, "\t-e : toggles edge vs node minimization [default = %s]\n", pPars->fOptEdge? "yes": "no" ); Abc_Print( -2, "\t-e : toggles edge vs node minimization [default = %s]\n", pPars->fOptEdge? "yes": "no" );
Abc_Print( -2, "\t-k : toggles coarsening the subject graph [default = %s]\n", pPars->fCoarsen? "yes": "no" ); Abc_Print( -2, "\t-k : toggles coarsening the subject graph [default = %s]\n", pPars->fCoarsen? "yes": "no" );
Abc_Print( -2, "\t-m : toggles cut minimization [default = %s]\n", pPars->fCutMin? "yes": "no" ); Abc_Print( -2, "\t-m : toggles cut minimization [default = %s]\n", pPars->fCutMin? "yes": "no" );
Abc_Print( -2, "\t-u : toggles using additional MUXes [default = %s]\n", pPars->fUseMux7? "yes": "no" );
Abc_Print( -2, "\t-p : toggles power-aware cut selection heuristics [default = %s]\n", pPars->fPower? "yes": "no" );
Abc_Print( -2, "\t-g : toggles generating AIG without mapping [default = %s]\n", pPars->fPureAig? "yes": "no" ); Abc_Print( -2, "\t-g : toggles generating AIG without mapping [default = %s]\n", pPars->fPureAig? "yes": "no" );
Abc_Print( -2, "\t-p : uses power-aware cut selection heuristics [default = %s]\n", pPars->fPower? "yes": "no" );
Abc_Print( -2, "\t-v : toggles verbose output [default = %s]\n", pPars->fVerbose? "yes": "no" ); Abc_Print( -2, "\t-v : toggles verbose output [default = %s]\n", pPars->fVerbose? "yes": "no" );
Abc_Print( -2, "\t-w : toggles very verbose output [default = %s]\n", pPars->fVeryVerbose? "yes": "no" ); Abc_Print( -2, "\t-w : toggles very verbose output [default = %s]\n", pPars->fVeryVerbose? "yes": "no" );
Abc_Print( -2, "\t-h : prints the command usage\n"); Abc_Print( -2, "\t-h : prints the command usage\n");
...@@ -569,7 +569,7 @@ unsigned Ssw_RarManObjHashWord( void * pMan, Aig_Obj_t * pObj ) ...@@ -569,7 +569,7 @@ unsigned Ssw_RarManObjHashWord( void * pMan, Aig_Obj_t * pObj )
int Ssw_RarManObjWhichOne( Ssw_RarMan_t * p, Aig_Obj_t * pObj ) int Ssw_RarManObjWhichOne( Ssw_RarMan_t * p, Aig_Obj_t * pObj )
{ {
word * pSim = Ssw_RarObjSim( p, Aig_ObjId(pObj) ); word * pSim = Ssw_RarObjSim( p, Aig_ObjId(pObj) );
word Flip = pObj->fPhase ? ~(word)0 : 0; word Flip = 0;//pObj->fPhase ? ~(word)0 : 0; // bug fix!
int w, i; int w, i;
for ( w = 0; w < p->pPars->nWords; w++ ) for ( w = 0; w < p->pPars->nWords; w++ )
if ( pSim[w] ^ Flip ) if ( pSim[w] ^ Flip )
......
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