mirror of https://github.com/YosysHQ/yosys.git
Logic loop bugfix for "share" pass
This commit is contained in:
parent
b28be0759f
commit
d6e2ace95b
|
@ -958,13 +958,17 @@ struct ShareWorker
|
||||||
|
|
||||||
for (auto bit : topo_sigmap(all_ctrl_signals))
|
for (auto bit : topo_sigmap(all_ctrl_signals))
|
||||||
for (auto c : topo_bit_drivers[bit])
|
for (auto c : topo_bit_drivers[bit])
|
||||||
topo_cell_drivers[cell].insert(c);
|
topo_cell_drivers[supercell].insert(c);
|
||||||
|
|
||||||
|
topo_cell_drivers[supercell].insert(topo_cell_drivers[cell].begin(), topo_cell_drivers[cell].end());
|
||||||
|
topo_cell_drivers[supercell].insert(topo_cell_drivers[other_cell].begin(), topo_cell_drivers[other_cell].end());
|
||||||
|
|
||||||
|
topo_cell_drivers[cell] = { supercell };
|
||||||
|
topo_cell_drivers[other_cell] = { supercell };
|
||||||
|
|
||||||
if (config.limit > 0)
|
if (config.limit > 0)
|
||||||
config.limit--;
|
config.limit--;
|
||||||
|
|
||||||
topo_cell_drivers[cell].insert(topo_cell_drivers[other_cell].begin(), topo_cell_drivers[other_cell].end());
|
|
||||||
topo_cell_drivers[other_cell] = topo_cell_drivers[cell];
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue