Commit fd5b7e8b by Alan Mishchenko

Bug fix in programmable cell parser and minor tuning.

parent 609be7a1
...@@ -29234,6 +29234,7 @@ int Abc_CommandAbc9Synch2( Abc_Frame_t * pAbc, int argc, char ** argv ) ...@@ -29234,6 +29234,7 @@ int Abc_CommandAbc9Synch2( Abc_Frame_t * pAbc, int argc, char ** argv )
int nRelaxRatio = 20; int nRelaxRatio = 20;
// set defaults // set defaults
Dch_ManSetDefaultParams( pPars ); Dch_ManSetDefaultParams( pPars );
pPars->nBTLimit = 100;
Extra_UtilGetoptReset(); Extra_UtilGetoptReset();
while ( ( c = Extra_UtilGetopt( argc, argv, "WCSKRfvh" ) ) != EOF ) while ( ( c = Extra_UtilGetopt( argc, argv, "WCSKRfvh" ) ) != EOF )
{ {
...@@ -31259,7 +31260,7 @@ usage: ...@@ -31259,7 +31260,7 @@ usage:
Abc_Print( -2, "\t-s : toggle using sequential verification [default = %s]\n", fSeq? "yes":"no"); Abc_Print( -2, "\t-s : toggle using sequential verification [default = %s]\n", fSeq? "yes":"no");
Abc_Print( -2, "\t-v : toggle verbose output [default = %s]\n", fVerbose? "yes":"no"); Abc_Print( -2, "\t-v : toggle verbose output [default = %s]\n", fVerbose? "yes":"no");
Abc_Print( -2, "\t-h : print the command usage\n"); Abc_Print( -2, "\t-h : print the command usage\n");
Abc_Print( -2, "\t<file> : optional file name with the spec [default = not used\n" ); Abc_Print( -2, "\t<file> : optional file name with the spec [default = not used]\n" );
return 1; return 1;
} }
...@@ -73,7 +73,7 @@ struct Ifn_Ntk_t_ ...@@ -73,7 +73,7 @@ struct Ifn_Ntk_t_
int nObjs; // objects int nObjs; // objects
Ifn_Obj_t Nodes[2*IFN_INS]; // nodes Ifn_Obj_t Nodes[2*IFN_INS]; // nodes
// constraints // constraints
int pConstr[IFN_INS]; // constraint pairs int pConstr[IFN_INS*IFN_INS]; // constraint pairs
int nConstr; // number of pairs int nConstr; // number of pairs
// user data // user data
int nVars; // variables int nVars; // variables
...@@ -429,6 +429,7 @@ void Ifn_NtkParseConstraints( char * pStr, Ifn_Ntk_t * p ) ...@@ -429,6 +429,7 @@ void Ifn_NtkParseConstraints( char * pStr, Ifn_Ntk_t * p )
for ( k = 0; pStr[k]; k++ ) for ( k = 0; pStr[k]; k++ )
if ( pStr[k] == 'A' + i && pStr[k-1] == ';' ) if ( pStr[k] == 'A' + i && pStr[k-1] == ';' )
{ {
assert( p->nConstr < IFN_INS*IFN_INS );
p->pConstr[p->nConstr++] = ((int)(pStr[k] - 'A') << 16) | (int)(pStr[k+1] - 'A'); p->pConstr[p->nConstr++] = ((int)(pStr[k] - 'A') << 16) | (int)(pStr[k+1] - 'A');
// printf( "Added constraint (%c < %c)\n", pStr[k], pStr[k+1] ); // printf( "Added constraint (%c < %c)\n", pStr[k], pStr[k+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