mirror of https://github.com/YosysHQ/yosys.git
passes/hierarchy: Reduce code duplication in expand_module
This also makes it easier to add new file extensions support. Signed-off-by: Sergi Granell <xerpi.g.12@gmail.com>
This commit is contained in:
parent
77bd645c35
commit
f93f8aaa11
|
@ -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";
|
||||
static const std::map<std::string, std::string> extensions_map =
|
||||
{
|
||||
{".v", "verilog"},
|
||||
{".sv", "verilog -sv"},
|
||||
{".il", "ilang"}
|
||||
};
|
||||
|
||||
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, "verilog");
|
||||
Frontend::frontend_call(design, NULL, filename, ext.second);
|
||||
goto loaded_module;
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue