diff options
author | David Shah <dave@ds0.me> | 2019-08-08 11:40:09 +0100 |
---|---|---|
committer | David Shah <dave@ds0.me> | 2019-08-08 11:40:09 +0100 |
commit | 83b2e0272333cfcc2529e0833723a52c066146a6 (patch) | |
tree | 9985b7f840383419ebd5b189023ca6871a02d5a9 /kernel/satgen.h | |
parent | b8cd4ad64ae9a45faecffc1a6b92a8219755bc60 (diff) | |
parent | fb568ddb4e2ccaab352d9d062f6b4926aca75680 (diff) | |
download | yosys-83b2e0272333cfcc2529e0833723a52c066146a6.tar.gz yosys-83b2e0272333cfcc2529e0833723a52c066146a6.tar.bz2 yosys-83b2e0272333cfcc2529e0833723a52c066146a6.zip |
Merge branch 'xc7dsp' of github.com:YosysHQ/yosys into xc7dsp
Diffstat (limited to 'kernel/satgen.h')
-rw-r--r-- | kernel/satgen.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/kernel/satgen.h b/kernel/satgen.h index 210cca3f3..e9f3ecd44 100644 --- a/kernel/satgen.h +++ b/kernel/satgen.h @@ -475,7 +475,7 @@ struct SatGen return true; } - if (cell->type == "$_MUX_" || cell->type == "$mux") + if (cell->type == "$_MUX_" || cell->type == "$mux" || cell->type == "$_NMUX_") { std::vector<int> a = importDefSigSpec(cell->getPort("\\A"), timestep); std::vector<int> b = importDefSigSpec(cell->getPort("\\B"), timestep); @@ -483,7 +483,10 @@ struct SatGen std::vector<int> y = importDefSigSpec(cell->getPort("\\Y"), timestep); std::vector<int> yy = model_undef ? ez->vec_var(y.size()) : y; - ez->assume(ez->vec_eq(ez->vec_ite(s.at(0), b, a), yy)); + if (cell->type == "$_NMUX_") + ez->assume(ez->vec_eq(ez->vec_not(ez->vec_ite(s.at(0), b, a)), yy)); + else + ez->assume(ez->vec_eq(ez->vec_ite(s.at(0), b, a), yy)); if (model_undef) { |