mirror of
https://github.com/YosysHQ/sby.git
synced 2025-04-24 05:45:32 +00:00
Merge f17a6e118a
into ff98e51c13
This commit is contained in:
commit
687cffb806
5 changed files with 368 additions and 4 deletions
|
@ -1139,8 +1139,11 @@ class SbyTask(SbyConfig):
|
|||
print("delete -output", file=f)
|
||||
print("dffunmap", file=f)
|
||||
print("stat", file=f)
|
||||
print("write_btor {}-i design_{m}.info -ywmap design_btor.ywb design_{m}.btor".format("-c " if self.opt_mode == "cover" else "", m=model_name), file=f)
|
||||
print("write_btor -s {}-i design_{m}_single.info -ywmap design_btor_single.ywb design_{m}_single.btor".format("-c " if self.opt_mode == "cover" else "", m=model_name), file=f)
|
||||
btor_flags = ""
|
||||
if self.opt_mode == "cover": btor_flags += "-c "
|
||||
if self.opt_btor_aig: btor_flags += "-x "
|
||||
print("write_btor {}-i design_{m}.info -ywmap design_btor.ywb design_{m}.btor".format(btor_flags, m=model_name), file=f)
|
||||
print("write_btor -s {}-i design_{m}_single.info -ywmap design_btor_single.ywb design_{m}_single.btor".format(btor_flags, m=model_name), file=f)
|
||||
|
||||
proc = SbyProc(
|
||||
self,
|
||||
|
@ -1152,6 +1155,18 @@ class SbyTask(SbyConfig):
|
|||
|
||||
return [proc]
|
||||
|
||||
if model_name == "aig" and self.opt_btor_aig:
|
||||
btor_model = "btor_nomem"
|
||||
proc = SbyProc(
|
||||
self,
|
||||
"btor_aig",
|
||||
self.model(btor_model),
|
||||
f"cd {self.workdir}/model; btor2aig_yw design_{btor_model}.btor design_btor.ywb"
|
||||
)
|
||||
proc.checkretcode = True
|
||||
|
||||
return [proc]
|
||||
|
||||
if model_name == "aig":
|
||||
with open(f"{self.workdir}/model/design_aiger.ys", "w") as f:
|
||||
print(f"# running in {self.workdir}/model/", file=f)
|
||||
|
@ -1281,6 +1296,7 @@ class SbyTask(SbyConfig):
|
|||
self.handle_bool_option("aigfolds", False)
|
||||
self.handle_bool_option("aigvmap", False)
|
||||
self.handle_bool_option("aigsyms", False)
|
||||
self.handle_bool_option("btor_aig", False)
|
||||
|
||||
self.handle_str_option("smtc", None)
|
||||
self.handle_int_option("skip", None)
|
||||
|
|
|
@ -176,7 +176,10 @@ def run(mode, task, engine_idx, engine):
|
|||
match = re.match(r"Writing CEX for output ([0-9]+) to engine_[0-9]+/(.*)\.aiw", line)
|
||||
if match:
|
||||
output = int(match[1])
|
||||
prop = aiger_props[output]
|
||||
try:
|
||||
prop = aiger_props[output]
|
||||
except IndexError:
|
||||
prop = None
|
||||
if prop:
|
||||
prop.status = "FAIL"
|
||||
task.status_db.set_task_property_status(prop, data=dict(source="abc pdr", engine=f"engine_{engine_idx}"))
|
||||
|
@ -195,7 +198,10 @@ def run(mode, task, engine_idx, engine):
|
|||
match = re.match(r"^Proved output +([0-9]+) in frame +-?[0-9]+", line)
|
||||
if match:
|
||||
output = int(match[1])
|
||||
prop = aiger_props[output]
|
||||
try:
|
||||
prop = aiger_props[output]
|
||||
except IndexError:
|
||||
prop = None
|
||||
if prop:
|
||||
prop.status = "PASS"
|
||||
task.status_db.set_task_property_status(prop, data=dict(source="abc pdr", engine=f"engine_{engine_idx}"))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue