summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2013-08-15 11:40:01 +0200
committerClifford Wolf <clifford@clifford.at>2013-08-15 11:40:01 +0200
commit2f3da54f269fac5dab4b03eec80182c534f8c28f (patch)
treeb2da83064fd40f50b46aa958a55e7415b893214e /kernel
parentd0e93e04d1cc196264b0bbcf1aafcfba0adb2ea0 (diff)
Added sat -ignore_div_by_zero switch
Diffstat (limited to 'kernel')
-rw-r--r--kernel/satgen.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/kernel/satgen.h b/kernel/satgen.h
index b2f8b15b..5b4abfc2 100644
--- a/kernel/satgen.h
+++ b/kernel/satgen.h
@@ -39,9 +39,10 @@ struct SatGen
SigMap *sigmap;
std::string prefix;
SigPool initial_state;
+ bool ignore_div_by_zero;
SatGen(ezSAT *ez, RTLIL::Design *design, SigMap *sigmap, std::string prefix = std::string()) :
- ez(ez), design(design), sigmap(sigmap), prefix(prefix)
+ ez(ez), design(design), sigmap(sigmap), prefix(prefix), ignore_div_by_zero(false)
{
}
@@ -310,6 +311,10 @@ struct SatGen
else
ez->assume(ez->vec_eq(y, chain_buf));
}
+
+ if (ignore_div_by_zero)
+ ez->assume(ez->expression(ezSAT::OpOr, b));
+
return true;
}