3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-07-16 17:36:40 +00:00

enforce that hdlname/scopename is used consistently with public/private names

This commit is contained in:
N. Engelhardt 2025-01-13 14:30:46 +01:00
parent 502c39b875
commit 5c41d8bd88
4 changed files with 31 additions and 3 deletions

View file

@ -337,7 +337,7 @@ template<typename O>
std::vector<IdString> parse_hdlname(const O* object)
{
std::vector<IdString> path;
if (!object->name.isPublic())
if (!object->name.isPublic() && !object->name.begins_with("$paramod") && !object->name.begins_with("$abstract"))
return path;
for (auto const &item : object->get_hdlname_attribute())
path.push_back("\\" + item);
@ -351,7 +351,7 @@ std::pair<std::vector<IdString>, IdString> parse_scopename(const O* object)
{
std::vector<IdString> path;
IdString trailing = object->name;
if (object->name.isPublic()) {
if (object->name.isPublic() || object->name.begins_with("$paramod") || object->name.begins_with("$abstract")) {
for (auto const &item : object->get_hdlname_attribute())
path.push_back("\\" + item);
if (!path.empty()) {