diff options
Diffstat (limited to 'passes/techmap/techmap.cc')
-rw-r--r-- | passes/techmap/techmap.cc | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/passes/techmap/techmap.cc b/passes/techmap/techmap.cc index b2cc492b..6784f48c 100644 --- a/passes/techmap/techmap.cc +++ b/passes/techmap/techmap.cc @@ -345,6 +345,12 @@ struct TechmapWorker c->setParam("\\MEMID", Const(memory_renames[memid].str())); } + if (c->type == "$mem") { + string memid = c->getParam("\\MEMID").decode_string(); + apply_prefix(cell->name.str(), memid); + c->setParam("\\MEMID", Const(memid)); + } + if (c->attributes.count("\\src")) c->add_strpool_attribute("\\src", extra_src_attrs); } @@ -1164,8 +1170,9 @@ struct FlattenPass : public Pass { worker.flatten_do_list.erase(mod->name); } } else { - for (auto mod : vector<Module*>(design->modules())) + for (auto mod : vector<Module*>(design->modules())) { while (worker.techmap_module(design, mod, design, handled_cells, celltypeMap, false)) { } + } } log("No more expansions possible.\n"); |