aboutsummaryrefslogtreecommitdiffstats
path: root/passes/cmds
diff options
context:
space:
mode:
authorEddie Hung <eddie@fpgeh.com>2020-04-22 09:32:13 -0700
committerGitHub <noreply@github.com>2020-04-22 09:32:13 -0700
commit28623f19eebf4abe7d956087f681a988f8733f95 (patch)
tree5162f917f7f652f8660bc9c52a9ff4d16b7001f9 /passes/cmds
parentc32b4bded582e121056a497131bf617684448cc4 (diff)
parent9eace8f36032665394e582a60fc58be0a7c9303b (diff)
downloadyosys-28623f19eebf4abe7d956087f681a988f8733f95.tar.gz
yosys-28623f19eebf4abe7d956087f681a988f8733f95.tar.bz2
yosys-28623f19eebf4abe7d956087f681a988f8733f95.zip
Merge pull request #1950 from YosysHQ/eddie/design_import
design: -import to not count black/white-boxes as candidates for top
Diffstat (limited to 'passes/cmds')
-rw-r--r--passes/cmds/design.cc10
1 files changed, 8 insertions, 2 deletions
diff --git a/passes/cmds/design.cc b/passes/cmds/design.cc
index cfe97067d..421defe0c 100644
--- a/passes/cmds/design.cc
+++ b/passes/cmds/design.cc
@@ -228,14 +228,20 @@ struct DesignPass : public Pass {
}
if (import_mode) {
+ std::vector<RTLIL::Module*> candidates;
for (auto module : copy_src_modules)
{
if (module->get_bool_attribute(ID::top)) {
- copy_src_modules.clear();
- copy_src_modules.push_back(module);
+ candidates.clear();
+ candidates.push_back(module);
break;
}
+ if (!module->get_blackbox_attribute())
+ candidates.push_back(module);
}
+
+ if (GetSize(candidates) == 1)
+ copy_src_modules = std::move(candidates);
}
}