aboutsummaryrefslogtreecommitdiffstats
path: root/passes/techmap/iopadmap.cc
diff options
context:
space:
mode:
Diffstat (limited to 'passes/techmap/iopadmap.cc')
-rw-r--r--passes/techmap/iopadmap.cc13
1 files changed, 4 insertions, 9 deletions
diff --git a/passes/techmap/iopadmap.cc b/passes/techmap/iopadmap.cc
index 0fcb6b2ec..5fe965600 100644
--- a/passes/techmap/iopadmap.cc
+++ b/passes/techmap/iopadmap.cc
@@ -173,15 +173,10 @@ struct IopadmapPass : public Pass {
ignore.insert(make_pair(RTLIL::escape_id(tinoutpad_celltype), RTLIL::escape_id(tinoutpad_portname4)));
for (auto module : design->modules())
- {
- auto it = module->attributes.find("\\iopad_external_pin");
- if (it != module->attributes.end()) {
- auto value = it->second.decode_string();
- for (auto name : split_tokens(value, ",")) {
- ignore.insert(make_pair(module->name, RTLIL::escape_id(name)));
- }
- }
- }
+ if (module->get_blackbox_attribute())
+ for (auto wire : module->wires())
+ if (wire->get_bool_attribute("\\iopad_external_pin"))
+ ignore.insert(make_pair(module->name, wire->name));
for (auto module : design->selected_modules())
{