add support for using ABCs library merging when providing multiple liberty files

This commit is contained in:
Peter Gadfort 2024-04-12 13:57:29 -04:00
parent 1c09862ad9
commit a48825a604
1 changed files with 3 additions and 1 deletions

View File

@ -804,8 +804,10 @@ void abc_module(RTLIL::Design *design, RTLIL::Module *current_module, std::strin
for (std::string dont_use_cell : dont_use_cells) { for (std::string dont_use_cell : dont_use_cells) {
dont_use_args += stringf("-X \"%s\" ", dont_use_cell.c_str()); dont_use_args += stringf("-X \"%s\" ", dont_use_cell.c_str());
} }
bool first_lib = true;
for (std::string liberty_file : liberty_files) { for (std::string liberty_file : liberty_files) {
abc_script += stringf("read_lib %s -w \"%s\" ; ", dont_use_args.c_str(), liberty_file.c_str()); abc_script += stringf("read_lib %s %s -w \"%s\" ; ", dont_use_args.c_str(), first_lib ? "" : "-m", liberty_file.c_str());
first_lib = false;
} }
for (std::string liberty_file : genlib_files) for (std::string liberty_file : genlib_files)
abc_script += stringf("read_library \"%s\"; ", liberty_file.c_str()); abc_script += stringf("read_library \"%s\"; ", liberty_file.c_str());