mirror of
https://github.com/YosysHQ/sby.git
synced 2025-07-31 02:13:18 +00:00
Use .format() instead of %
Signed-off-by: N. Engelhardt <nak@symbioticeda.com>
This commit is contained in:
parent
0a7013017f
commit
30d7c32ec6
10 changed files with 180 additions and 192 deletions
|
@ -40,16 +40,16 @@ def run(mode, job, engine_idx, engine):
|
|||
solver_cmd = " ".join([job.exe_paths["aigbmc"]] + solver_args[1:])
|
||||
|
||||
else:
|
||||
job.error("Invalid solver command %s." % solver_args[0])
|
||||
job.error("Invalid solver command {}.".format(solver_args[0]))
|
||||
|
||||
task = SbyTask(job, "engine_%d" % engine_idx, job.model("aig"),
|
||||
"cd %s; %s model/design_aiger.aig" % (job.workdir, solver_cmd),
|
||||
logfile=open("%s/engine_%d/logfile.txt" % (job.workdir, engine_idx), "w"))
|
||||
task = SbyTask(job, "engine_{}".format(engine_idx), job.model("aig"),
|
||||
"cd {}; {} model/design_aiger.aig".format(job.workdir, solver_cmd),
|
||||
logfile=open("{}/engine_{}/logfile.txt".format(job.workdir, engine_idx), "w"))
|
||||
|
||||
task_status = None
|
||||
produced_cex = False
|
||||
end_of_cex = False
|
||||
aiw_file = open("%s/engine_%d/trace.aiw" % (job.workdir, engine_idx), "w")
|
||||
aiw_file = open("{}/engine_{}/trace.aiw".format(job.workdir, engine_idx), "w")
|
||||
|
||||
def output_callback(line):
|
||||
nonlocal task_status
|
||||
|
@ -66,7 +66,7 @@ def run(mode, job, engine_idx, engine):
|
|||
return None
|
||||
|
||||
if line.startswith("u"):
|
||||
return "No CEX up to depth %d." % (int(line[1:])-1)
|
||||
return "No CEX up to depth {}.".format(int(line[1:])-1)
|
||||
|
||||
if line in ["0", "1", "2"]:
|
||||
print(line, file=aiw_file)
|
||||
|
@ -84,29 +84,29 @@ def run(mode, job, engine_idx, engine):
|
|||
aiw_file.close()
|
||||
|
||||
job.update_status(task_status)
|
||||
job.log("engine_%d: Status returned by engine: %s" % (engine_idx, task_status))
|
||||
job.summary.append("engine_%d (%s) returned %s" % (engine_idx, " ".join(engine), task_status))
|
||||
job.log("engine_{}: Status returned by engine: {}".format(engine_idx, task_status))
|
||||
job.summary.append("engine_{} ({}) returned {}".format(engine_idx, " ".join(engine), task_status))
|
||||
|
||||
job.terminate()
|
||||
|
||||
if task_status == "FAIL" and job.opt_aigsmt != "none":
|
||||
if produced_cex:
|
||||
if mode == "live":
|
||||
task2 = SbyTask(job, "engine_%d" % engine_idx, job.model("smt2"),
|
||||
("cd %s; %s -g -s %s%s --noprogress --dump-vcd engine_%d/trace.vcd --dump-vlogtb engine_%d/trace_tb.v " +
|
||||
"--dump-smtc engine_%d/trace.smtc --aig model/design_aiger.aim:engine_%d/trace.aiw model/design_smt2.smt2") %
|
||||
task2 = SbyTask(job, "engine_{}".format(engine_idx), job.model("smt2"),
|
||||
("cd {}; {} -g -s {}{} --noprogress --dump-vcd engine_{i}/trace.vcd --dump-vlogtb engine_{i}/trace_tb.v " +
|
||||
"--dump-smtc engine_{i}/trace.smtc --aig model/design_aiger.aim:engine_{i}/trace.aiw model/design_smt2.smt2").format
|
||||
(job.workdir, job.exe_paths["smtbmc"], job.opt_aigsmt,
|
||||
"" if job.opt_tbtop is None else " --vlogtb-top %s" % job.opt_tbtop,
|
||||
engine_idx, engine_idx, engine_idx, engine_idx),
|
||||
logfile=open("%s/engine_%d/logfile2.txt" % (job.workdir, engine_idx), "w"))
|
||||
"" if job.opt_tbtop is None else " --vlogtb-top {}".format(job.opt_tbtop),
|
||||
i=engine_idx),
|
||||
logfile=open("{}/engine_{}/logfile2.txt".format(job.workdir, engine_idx), "w"))
|
||||
else:
|
||||
task2 = SbyTask(job, "engine_%d" % engine_idx, job.model("smt2"),
|
||||
("cd %s; %s -s %s%s --noprogress --append %d --dump-vcd engine_%d/trace.vcd --dump-vlogtb engine_%d/trace_tb.v " +
|
||||
"--dump-smtc engine_%d/trace.smtc --aig model/design_aiger.aim:engine_%d/trace.aiw model/design_smt2.smt2") %
|
||||
task2 = SbyTask(job, "engine_{}".format(engine_idx), job.model("smt2"),
|
||||
("cd {}; {} -s {}{} --noprogress --append {} --dump-vcd engine_{i}/trace.vcd --dump-vlogtb engine_{i}/trace_tb.v " +
|
||||
"--dump-smtc engine_{i}/trace.smtc --aig model/design_aiger.aim:engine_{i}/trace.aiw model/design_smt2.smt2").format
|
||||
(job.workdir, job.exe_paths["smtbmc"], job.opt_aigsmt,
|
||||
"" if job.opt_tbtop is None else " --vlogtb-top %s" % job.opt_tbtop,
|
||||
job.opt_append, engine_idx, engine_idx, engine_idx, engine_idx),
|
||||
logfile=open("%s/engine_%d/logfile2.txt" % (job.workdir, engine_idx), "w"))
|
||||
"" if job.opt_tbtop is None else " --vlogtb-top {}".format(job.opt_tbtop),
|
||||
job.opt_append, i=engine_idx),
|
||||
logfile=open("{}/engine_{}/logfile2.txt".format(job.workdir, engine_idx), "w"))
|
||||
|
||||
task2_status = None
|
||||
|
||||
|
@ -128,15 +128,14 @@ def run(mode, job, engine_idx, engine):
|
|||
else:
|
||||
assert task2_status == "FAIL"
|
||||
|
||||
if os.path.exists("%s/engine_%d/trace.vcd" % (job.workdir, engine_idx)):
|
||||
job.summary.append("counterexample trace: %s/engine_%d/trace.vcd" % (job.workdir, engine_idx))
|
||||
if os.path.exists("{}/engine_{}/trace.vcd".format(job.workdir, engine_idx)):
|
||||
job.summary.append("counterexample trace: {}/engine_{}/trace.vcd".format(job.workdir, engine_idx))
|
||||
|
||||
task2.output_callback = output_callback2
|
||||
task2.exit_callback = exit_callback2
|
||||
|
||||
else:
|
||||
job.log("engine_%d: Engine did not produce a counter example." % engine_idx)
|
||||
job.log("engine_{}: Engine did not produce a counter example.".format(engine_idx))
|
||||
|
||||
task.output_callback = output_callback
|
||||
task.exit_callback = exit_callback
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue