diff options
author | Eddie Hung <eddie@fpgeh.com> | 2019-11-26 11:57:26 -0800 |
---|---|---|
committer | Eddie Hung <eddie@fpgeh.com> | 2019-11-26 11:57:26 -0800 |
commit | 09637dd3e454784cba695496fc94be313e4d8522 (patch) | |
tree | 28922bff0e6264ca240578c9a9c17f19434c5106 | |
parent | 3027f015c2f4dc91650af0dba224585a1a9d0b9f (diff) | |
download | yosys-09637dd3e454784cba695496fc94be313e4d8522.tar.gz yosys-09637dd3e454784cba695496fc94be313e4d8522.tar.bz2 yosys-09637dd3e454784cba695496fc94be313e4d8522.zip |
Fix submod -hidden
-rw-r--r-- | passes/hierarchy/submod.cc | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/passes/hierarchy/submod.cc b/passes/hierarchy/submod.cc index 118a65301..14974666e 100644 --- a/passes/hierarchy/submod.cc +++ b/passes/hierarchy/submod.cc @@ -151,15 +151,16 @@ struct SubmodWorker new_wire_name = stringf("%s[%d]", wire->name.c_str(), bit.offset); if (new_wire_port_input || new_wire_port_output) { if (new_wire_name[0] == '$') - do { - std::string next_wire_name = stringf("%s\\n%d", hidden_mode ? "$submod" : ":", auto_name_counter++); + while (1) { + std::string next_wire_name = stringf("%s\\n%d", hidden_mode ? "$submod" : "", auto_name_counter++); if (all_wire_names.count(next_wire_name) == 0) { all_wire_names.insert(next_wire_name); new_wire_name = next_wire_name; + break; } - } while (new_wire_name[0] == '$'); - else - new_wire_name = stringf("$submod%s\n", new_wire_name.c_str()); + } + else if (hidden_mode) + new_wire_name = stringf("$submod%s", new_wire_name.c_str()); } RTLIL::Wire *new_wire = new_mod->addWire(new_wire_name); |