3
0
Fork 0
mirror of https://github.com/YosysHQ/sby.git synced 2025-04-12 00:23:35 +00:00

abc: Support arbitrary prep abc commands

This commit is contained in:
Jannis Harder 2024-04-19 16:40:30 +02:00
parent 415f404513
commit e0dda21555

View file

@ -69,6 +69,14 @@ def run(mode, task, engine_idx, engine):
if task.opt_aigfolds: if task.opt_aigfolds:
fold_command += " -s" fold_command += " -s"
prep_commands = []
for i, arg in reversed(list(enumerate(engine[1:], 1))):
if arg.endswith(';'):
prep_commands = engine[1:i + 1]
engine[1:] = engine[i + 1:]
break
abc_command, custom_options, toggles = abc_getopt(engine[1:], [ abc_command, custom_options, toggles = abc_getopt(engine[1:], [
"keep-going", "keep-going",
]) ])
@ -116,6 +124,8 @@ def run(mode, task, engine_idx, engine):
else: else:
task.error(f"Invalid ABC command {abc_command[0]}.") task.error(f"Invalid ABC command {abc_command[0]}.")
abc_command[0:0] = prep_commands
smtbmc_vcd = task.opt_vcd and not task.opt_vcd_sim smtbmc_vcd = task.opt_vcd and not task.opt_vcd_sim
run_aigsmt = smtbmc_vcd or (task.opt_append and task.opt_append_assume) run_aigsmt = smtbmc_vcd or (task.opt_append and task.opt_append_assume)
smtbmc_append = 0 smtbmc_append = 0