Exact synthesis.

This commit is contained in:
Mathias Soeken 2016-10-26 17:54:00 +02:00
parent 0a87e72c6d
commit bab90943dc
1 changed files with 15 additions and 0 deletions

View File

@ -1405,6 +1405,21 @@ static int Ses_ManCreateClauses( Ses_Man_t * pSes )
}
Vec_IntFree( vLits );
/* EXTRA clauses: no reapplying operand */
if ( pSes->nGates > 1 )
for ( i = 0; i < pSes->nGates - 1; ++i )
for ( ii = i + 1; ii < pSes->nGates; ++ii )
for ( k = 1; k < pSes->nSpecVars + i; ++k )
for ( j = 0; j < k; ++j )
{
pLits[0] = Abc_Var2Lit( Ses_ManSelectVar( pSes, i, j, k ), 1 );
pLits[1] = Abc_Var2Lit( Ses_ManSelectVar( pSes, ii, j, pSes->nSpecVars + i ), 1 );
sat_solver_addclause( pSes->pSat, pLits, pLits + 2 );
pLits[1] = Abc_Var2Lit( Ses_ManSelectVar( pSes, ii, k, pSes->nSpecVars + i ), 1 );
sat_solver_addclause( pSes->pSat, pLits, pLits + 2 );
}
/* EXTRA clauses: co-lexicographic order */
for ( i = 0; i < pSes->nGates - 1; ++i )
{