Improved handling of techmap special wires
authorClifford Wolf <clifford@clifford.at>
Sat, 23 Nov 2013 15:49:58 +0000 (16:49 +0100)
committerClifford Wolf <clifford@clifford.at>
Sat, 23 Nov 2013 15:49:58 +0000 (16:49 +0100)
passes/techmap/techmap.cc

index 0bc19c3487f01388dd2abf53d86c2da472829e55..e273769d1a42b26f783147cac95da925b7a30452 100644 (file)
@@ -78,7 +78,7 @@ static TechmapWires techmap_find_special_wires(RTLIL::Module *module)
                        record.value = it.second;
                        result[p].push_back(record);
                        it.second->attributes["\\keep"] = RTLIL::Const(1);
-                       it.second->attributes["\\_techmap_attr_"] = RTLIL::Const(1);
+                       it.second->attributes["\\_techmap_special_"] = RTLIL::Const(1);
                }
        }
 
@@ -112,6 +112,8 @@ static void techmap_module_worker(RTLIL::Design *design, RTLIL::Module *module,
                w->port_input = false;
                w->port_output = false;
                w->port_id = 0;
+               if (it.second->get_bool_attribute("\\_techmap_special_"))
+                       w->attributes.clear();
                module->wires[w->name] = w;
                design->select(module, w);
        }