From cb6209506ed83e992d0d9104e5d06a1948ab0db2 Mon Sep 17 00:00:00 2001 From: Tianji Liu Date: Thu, 7 May 2026 18:45:35 +0800 Subject: [PATCH] abc: disable scl merge if extra read_lib args provided --- passes/techmap/abc.cc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/passes/techmap/abc.cc b/passes/techmap/abc.cc index 95c70c73a..dd0364fe5 100644 --- a/passes/techmap/abc.cc +++ b/passes/techmap/abc.cc @@ -1031,11 +1031,14 @@ void AbcModuleState::prepare_module(RTLIL::Design *design, RTLIL::Module *module run_abc.dont_use_args += stringf("-X \"%s\" ", dont_use_cell); } - std::string merged_scl = convert_liberty_files_to_merged_scl(config.liberty_files, run_abc.dont_use_args, config.exe_file); + std::string merged_scl; + if (config.abc_liberty_args.empty()) { + merged_scl = convert_liberty_files_to_merged_scl(config.liberty_files, run_abc.dont_use_args, config.exe_file); + } if (!merged_scl.empty()) { run_abc.abc_script += stringf("read_scl \"%s\" ; ", merged_scl.c_str()); } else if(!config.liberty_files.empty()) { - log_warning("ABC: Merged scl conversion failed, using liberty format\n"); + log_warning("ABC: Merged scl conversion failed, or abc_liberty_args provided, using liberty format\n"); bool first_lib = true; for (std::string liberty_file : config.liberty_files) { run_abc.abc_script += stringf("read_lib %s %s %s -w \"%s\" ; ", run_abc.dont_use_args, first_lib ? "" : "-m", config.abc_liberty_args, liberty_file);