diff options
author | Clifford Wolf <clifford@clifford.at> | 2014-08-14 11:39:46 +0200 |
---|---|---|
committer | Clifford Wolf <clifford@clifford.at> | 2014-08-14 11:39:46 +0200 |
commit | 13f2f36884fa3e4a8329dab2556af7000cb085df (patch) | |
tree | 59787125c75220ee6f78d160e6cc6cfcc583d0ec /kernel/satgen.h | |
parent | 28cf48e31f049f8343023de46cd916ac47fcfc5d (diff) | |
download | yosys-13f2f36884fa3e4a8329dab2556af7000cb085df.tar.gz yosys-13f2f36884fa3e4a8329dab2556af7000cb085df.tar.bz2 yosys-13f2f36884fa3e4a8329dab2556af7000cb085df.zip |
RIP $safe_pmux
Diffstat (limited to 'kernel/satgen.h')
-rw-r--r-- | kernel/satgen.h | 10 |
1 files changed, 1 insertions, 9 deletions
diff --git a/kernel/satgen.h b/kernel/satgen.h index 1ada1e16a..8284cdeb2 100644 --- a/kernel/satgen.h +++ b/kernel/satgen.h @@ -316,7 +316,7 @@ struct SatGen return true; } - if (cell->type == "$pmux" || cell->type == "$safe_pmux") + if (cell->type == "$pmux") { std::vector<int> a = importDefSigSpec(cell->getPort("\\A"), timestep); std::vector<int> b = importDefSigSpec(cell->getPort("\\B"), timestep); @@ -330,8 +330,6 @@ struct SatGen std::vector<int> part_of_b(b.begin()+i*a.size(), b.begin()+(i+1)*a.size()); tmp = ez->vec_ite(s.at(i), part_of_b, tmp); } - if (cell->type == "$safe_pmux") - tmp = ez->vec_ite(ez->onehot(s, true), tmp, a); ez->assume(ez->vec_eq(tmp, yy)); if (model_undef) @@ -370,12 +368,6 @@ struct SatGen int maybe_a = ez->NOT(maybe_one_hot); - if (cell->type == "$safe_pmux") { - maybe_a = ez->OR(maybe_a, maybe_many_hot); - bits_set = ez->vec_ite(sure_many_hot, ez->vec_or(a, undef_a), bits_set); - bits_clr = ez->vec_ite(sure_many_hot, ez->vec_or(ez->vec_not(a), undef_a), bits_clr); - } - bits_set = ez->vec_ite(maybe_a, ez->vec_or(bits_set, ez->vec_or(bits_set, ez->vec_or(a, undef_a))), bits_set); bits_clr = ez->vec_ite(maybe_a, ez->vec_or(bits_clr, ez->vec_or(bits_clr, ez->vec_or(ez->vec_not(a), undef_a))), bits_clr); |