Skip blackbox modules in design->selected_modules()

This commit is contained in:
Clifford Wolf 2015-02-03 23:11:57 +01:00
parent 8514fe79db
commit 5b41470e15
1 changed files with 5 additions and 3 deletions

View File

@ -460,7 +460,7 @@ std::vector<RTLIL::Module*> RTLIL::Design::selected_modules() const
std::vector<RTLIL::Module*> result; std::vector<RTLIL::Module*> result;
result.reserve(modules_.size()); result.reserve(modules_.size());
for (auto &it : modules_) for (auto &it : modules_)
if (selected_module(it.first)) if (selected_module(it.first) && !it.second->get_bool_attribute("\\blackbox"))
result.push_back(it.second); result.push_back(it.second);
return result; return result;
} }
@ -470,7 +470,7 @@ std::vector<RTLIL::Module*> RTLIL::Design::selected_whole_modules() const
std::vector<RTLIL::Module*> result; std::vector<RTLIL::Module*> result;
result.reserve(modules_.size()); result.reserve(modules_.size());
for (auto &it : modules_) for (auto &it : modules_)
if (selected_whole_module(it.first)) if (selected_whole_module(it.first) && !it.second->get_bool_attribute("\\blackbox"))
result.push_back(it.second); result.push_back(it.second);
return result; return result;
} }
@ -480,7 +480,9 @@ std::vector<RTLIL::Module*> RTLIL::Design::selected_whole_modules_warn() const
std::vector<RTLIL::Module*> result; std::vector<RTLIL::Module*> result;
result.reserve(modules_.size()); result.reserve(modules_.size());
for (auto &it : modules_) for (auto &it : modules_)
if (selected_whole_module(it.first)) if (it.second->get_bool_attribute("\\blackbox"))
continue;
else if (selected_whole_module(it.first))
result.push_back(it.second); result.push_back(it.second);
else if (selected_module(it.first)) else if (selected_module(it.first))
log_warning("Ignoring partially selected module %s.\n", log_id(it.first)); log_warning("Ignoring partially selected module %s.\n", log_id(it.first));