flatten: only prepend $flatten once per wire.

This commit is contained in:
whitequark 2020-06-08 19:18:11 +00:00
parent e558905598
commit 8d821dbbdb
1 changed files with 6 additions and 2 deletions

View File

@ -32,8 +32,12 @@ IdString concat_name(RTLIL::Cell *cell, IdString object_name)
{
if (object_name[0] == '\\')
return stringf("%s.%s", cell->name.c_str(), object_name.c_str() + 1);
else
return stringf("$flatten%s.%s", cell->name.c_str(), object_name.c_str());
else {
std::string object_name_str = object_name.str();
if (object_name_str.substr(0, 8) == "$flatten")
object_name_str.erase(0, 8);
return stringf("$flatten%s.%s", cell->name.c_str(), object_name_str.c_str());
}
}
template<class T>