3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-07-24 13:18:56 +00:00

Improved sat generator and sat_solve pass

This commit is contained in:
Clifford Wolf 2013-06-07 14:37:33 +02:00
parent 46fbe9d262
commit 56b593b91c
6 changed files with 57 additions and 15 deletions

View file

@ -34,6 +34,7 @@ ezSAT::ezSAT()
cnfConsumed = false;
cnfVariableCount = 0;
cnfClausesCount = 0;
}
ezSAT::~ezSAT()
@ -331,6 +332,7 @@ void ezSAT::clear()
{
cnfConsumed = false;
cnfVariableCount = 0;
cnfClausesCount = 0;
cnfLiteralVariables.clear();
cnfExpressionVariables.clear();
cnfClauses.clear();
@ -342,11 +344,13 @@ void ezSAT::assume(int id)
int idx = bind(id);
cnfClauses.push_back(std::vector<int>(1, idx));
cnfAssumptions.insert(id);
cnfClausesCount++;
}
void ezSAT::add_clause(const std::vector<int> &args)
{
cnfClauses.push_back(args);
cnfClausesCount++;
}
void ezSAT::add_clause(const std::vector<int> &args, bool argsPolarity, int a, int b, int c)