mirror of https://github.com/YosysHQ/yosys.git
Added support for module->connections to select %ci, %co and %x handling
This commit is contained in:
parent
c6b33f81eb
commit
ced4d7b321
|
@ -272,6 +272,21 @@ static int select_op_expand(RTLIL::Design *design, RTLIL::Selection &lhs, std::v
|
||||||
if (lhs.selected_member(mod_it.first, it.first) && limits.count(it.first) == 0)
|
if (lhs.selected_member(mod_it.first, it.first) && limits.count(it.first) == 0)
|
||||||
selected_wires.insert(it.second);
|
selected_wires.insert(it.second);
|
||||||
|
|
||||||
|
for (auto &conn : mod->connections)
|
||||||
|
{
|
||||||
|
std::vector<RTLIL::SigBit> conn_lhs = conn.first.to_sigbit_vector();
|
||||||
|
std::vector<RTLIL::SigBit> conn_rhs = conn.second.to_sigbit_vector();
|
||||||
|
|
||||||
|
for (size_t i = 0; i < conn_lhs.size(); i++) {
|
||||||
|
if (conn_lhs[i].wire == NULL || conn_rhs[i].wire == NULL)
|
||||||
|
continue;
|
||||||
|
if (mode != 'i' && selected_wires.count(conn_rhs[i].wire) && lhs.selected_members[mod->name].count(conn_lhs[i].wire->name) == 0)
|
||||||
|
lhs.selected_members[mod->name].insert(conn_lhs[i].wire->name), sel_objects++, max_objects--;
|
||||||
|
if (mode != 'o' && selected_wires.count(conn_lhs[i].wire) && lhs.selected_members[mod->name].count(conn_rhs[i].wire->name) == 0)
|
||||||
|
lhs.selected_members[mod->name].insert(conn_rhs[i].wire->name), sel_objects++, max_objects--;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
for (auto &cell : mod->cells)
|
for (auto &cell : mod->cells)
|
||||||
for (auto &conn : cell.second->connections)
|
for (auto &conn : cell.second->connections)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue