mirror of
https://github.com/YosysHQ/yosys
synced 2025-07-27 14:37:55 +00:00
Automatically select new objects in abc and techmap passes
This commit is contained in:
parent
79b3afa011
commit
b96ffed69b
3 changed files with 19 additions and 1 deletions
|
@ -118,6 +118,17 @@ static bool compare_signals(RTLIL::SigSpec &s1, RTLIL::SigSpec &s2)
|
|||
return w2->name < w1->name;
|
||||
}
|
||||
|
||||
static bool check_public_name(RTLIL::IdString id)
|
||||
{
|
||||
if (id[0] == '$')
|
||||
return false;
|
||||
#if 0
|
||||
if (id.find(".$") == std::string::npos)
|
||||
return true;
|
||||
#endif
|
||||
return false;
|
||||
}
|
||||
|
||||
static void rmunused_module_signals(RTLIL::Module *module)
|
||||
{
|
||||
SigMap assign_map(module);
|
||||
|
@ -157,7 +168,7 @@ static void rmunused_module_signals(RTLIL::Module *module)
|
|||
std::vector<RTLIL::Wire*> del_wires;
|
||||
for (auto &it : module->wires) {
|
||||
RTLIL::Wire *wire = it.second;
|
||||
if (wire->name[0] == '\\') {
|
||||
if (check_public_name(wire->name)) {
|
||||
RTLIL::SigSpec s1 = RTLIL::SigSpec(wire), s2 = s1;
|
||||
assign_map.apply(s2);
|
||||
if (!used_signals.check_any(s2) && wire->port_id == 0) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue