3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2026-07-25 00:22:34 +00:00

proc_mux: include switch expression location in $eq src

(cherry picked from commit 383daa1eb3)
This commit is contained in:
Emil J. Tywoniak 2026-01-26 12:02:09 +01:00
parent 4985df71cb
commit 0e30f20be3
2 changed files with 10 additions and 5 deletions

View file

@ -242,8 +242,13 @@ struct MuxGenCtx {
// create compare cell
RTLIL::Cell *eq_cell = mod->addCell(mod->design->twines.add(std::string{stringf("%s_CMP%d", sstr.str(), cmp_wire->width)}), ifxmode ? TW($eqx) : TW($eq));
apply_attrs(eq_cell, cs);
if (cs->compare_src != Twine::Null)
eq_cell->set_src_attribute(cs->compare_src);
std::vector<TwineRef> eq_sources;
if (sw->signal_src != Twine::Null)
eq_sources.push_back(sw->signal_src);
if (cs->compare_src != Twine::Null && cs->compare_src != sw->signal_src)
eq_sources.push_back(cs->compare_src);
if (!eq_sources.empty())
eq_cell->set_src_attribute(mod->design->twines.concat(std::span<const TwineRef>{eq_sources}));
eq_cell->parameters[ID::A_SIGNED] = RTLIL::Const(0);
eq_cell->parameters[ID::B_SIGNED] = RTLIL::Const(0);