mirror of
https://github.com/YosysHQ/yosys
synced 2026-07-20 22:25:49 +00:00
Merge 411daa16cf into 22c15a7ecd
This commit is contained in:
commit
05bf1549f2
4 changed files with 108 additions and 3 deletions
|
|
@ -294,6 +294,7 @@ struct MuxpackWorker
|
|||
s_sig.append(module->LogicNot(NEW_ID, cursor_cell->getPort(ID::S)));
|
||||
}
|
||||
remove_cells.insert(cursor_cell);
|
||||
first_cell->add_strpool_attribute(ID::src, cursor_cell->get_strpool_attribute(ID::src));
|
||||
}
|
||||
|
||||
first_cell->setPort(ID::B, b_sig);
|
||||
|
|
|
|||
|
|
@ -196,7 +196,7 @@ void merge_operators(RTLIL::Module *module, RTLIL::Cell *mux, const std::vector<
|
|||
for (auto &operand : muxed_operands) {
|
||||
operand.sig.extend_u0(max_width, operand.is_signed);
|
||||
if (operand.sign != muxed_operands[0].sign)
|
||||
operand = ExtSigSpec(module->Neg(NEW_ID, operand.sig, operand.is_signed));
|
||||
operand = ExtSigSpec(module->Neg(NEW_ID, operand.sig, operand.is_signed, mux->get_src_attribute()));
|
||||
}
|
||||
|
||||
for (const auto& p : ports) {
|
||||
|
|
@ -241,9 +241,9 @@ void merge_operators(RTLIL::Module *module, RTLIL::Cell *mux, const std::vector<
|
|||
|
||||
SigSpec mux_to_oper;
|
||||
if (GetSize(shared_pmux_s) == 1) {
|
||||
mux_to_oper = module->Mux(NEW_ID, shared_pmux_a, shared_pmux_b, shared_pmux_s);
|
||||
mux_to_oper = module->Mux(NEW_ID, shared_pmux_a, shared_pmux_b, shared_pmux_s, mux->get_src_attribute());
|
||||
} else {
|
||||
mux_to_oper = module->Pmux(NEW_ID, shared_pmux_a, shared_pmux_b, shared_pmux_s);
|
||||
mux_to_oper = module->Pmux(NEW_ID, shared_pmux_a, shared_pmux_b, shared_pmux_s, mux->get_src_attribute());
|
||||
}
|
||||
|
||||
if (shared_op->type.in(ID($alu))) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue