for (int i = 0; i < GetSize(wire); i++)
output_bits.insert({wire, i});
}
+
+ auto jt = w->attributes.find("\\init");
+ if (jt != w->attributes.end()) {
+ auto r = remap_wire->attributes.insert(std::make_pair("\\init", jt->second));
+ log_assert(r.second);
+ }
}
- dict<IdString, decltype(RTLIL::Cell::parameters)> erased_boxes;
- for (auto it = module->cells_.begin(); it != module->cells_.end(); ) {
- RTLIL::Cell* cell = it->second;
- if (cell->type.in("$_AND_", "$_NOT_", "$__ABC_FF_")) {
- it = module->cells_.erase(it);
- continue;
- }
- RTLIL::Module* box_module = design->module(cell->type);
- if (box_module && box_module->attributes.count("\\abc_box_id")) {
- erased_boxes.insert(std::make_pair(it->first, std::move(cell->parameters)));
- it = module->cells_.erase(it);
- continue;
- }
- ++it;
- }
- // Do the same for module connections
for (auto &it : module->connections_) {
auto &signal = it.first;
auto bits = signal.bits();