Merge pull request #518 from xerpi/master

passes/hierarchy: Reduce code duplication in expand_module
This commit is contained in:
Clifford Wolf 2018-03-27 14:10:39 +02:00 committed by GitHub
commit c652774ca2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 13 additions and 15 deletions

View File

@ -173,22 +173,20 @@ bool expand_module(RTLIL::Design *design, RTLIL::Module *module, bool flag_check
for (auto &dir : libdirs)
{
filename = dir + "/" + RTLIL::unescape_id(cell->type) + ".v";
if (check_file_exists(filename)) {
Frontend::frontend_call(design, NULL, filename, "verilog");
goto loaded_module;
}
static const std::map<std::string, std::string> extensions_map =
{
{".v", "verilog"},
{".sv", "verilog -sv"},
{".il", "ilang"}
};
filename = dir + "/" + RTLIL::unescape_id(cell->type) + ".sv";
if (check_file_exists(filename)) {
Frontend::frontend_call(design, NULL, filename, "verilog -sv");
goto loaded_module;
}
filename = dir + "/" + RTLIL::unescape_id(cell->type) + ".il";
if (check_file_exists(filename)) {
Frontend::frontend_call(design, NULL, filename, "ilang");
goto loaded_module;
for (auto &ext : extensions_map)
{
filename = dir + "/" + RTLIL::unescape_id(cell->type) + ext.first;
if (check_file_exists(filename)) {
Frontend::frontend_call(design, NULL, filename, ext.second);
goto loaded_module;
}
}
}