From d249e1f2594050c7bff6f99589257626906a1e0b Mon Sep 17 00:00:00 2001 From: Chris Pattison Date: Wed, 1 Aug 2018 22:46:49 -0700 Subject: [PATCH] Made into Python module --- Makefile | 6 +----- sbysrc/sby.py => sby/__main__.py | 2 +- {sbysrc => sby}/demo1.sby | 0 {sbysrc => sby}/demo2.sby | 0 {sbysrc => sby}/demo3.sby | 0 {sbysrc => sby}/sby_core.py | 8 ++++---- {sbysrc => sby}/sby_engine_abc.py | 2 +- {sbysrc => sby}/sby_engine_aiger.py | 2 +- {sbysrc => sby}/sby_engine_smtbmc.py | 2 +- {sbysrc => sby}/sby_mode_bmc.py | 6 +++--- {sbysrc => sby}/sby_mode_cover.py | 4 ++-- {sbysrc => sby}/sby_mode_live.py | 4 ++-- {sbysrc => sby}/sby_mode_prove.py | 8 ++++---- setup.py | 10 ++++++++++ 14 files changed, 30 insertions(+), 24 deletions(-) rename sbysrc/sby.py => sby/__main__.py (99%) rename {sbysrc => sby}/demo1.sby (100%) rename {sbysrc => sby}/demo2.sby (100%) rename {sbysrc => sby}/demo3.sby (100%) rename {sbysrc => sby}/sby_core.py (99%) rename {sbysrc => sby}/sby_engine_abc.py (99%) rename {sbysrc => sby}/sby_engine_aiger.py (99%) rename {sbysrc => sby}/sby_engine_smtbmc.py (99%) rename {sbysrc => sby}/sby_mode_bmc.py (92%) rename {sbysrc => sby}/sby_mode_cover.py (94%) rename {sbysrc => sby}/sby_mode_live.py (94%) rename {sbysrc => sby}/sby_mode_prove.py (91%) create mode 100644 setup.py diff --git a/Makefile b/Makefile index 689db67..e315403 100644 --- a/Makefile +++ b/Makefile @@ -15,11 +15,7 @@ help: @echo "" install: - mkdir -p $(DESTDIR)$(PREFIX)/bin - mkdir -p $(DESTDIR)$(PREFIX)/share/yosys/python3 - cp sbysrc/sby_*.py $(DESTDIR)$(PREFIX)/share/yosys/python3/ - sed 's|##yosys-sys-path##|sys.path += [os.path.dirname(__file__) + p for p in ["/share/python3", "/../share/yosys/python3"]]|;' < sbysrc/sby.py > $(DESTDIR)$(PREFIX)/bin/sby - chmod +x $(DESTDIR)$(PREFIX)/bin/sby + pip3 install -e . html: make -C docs html diff --git a/sbysrc/sby.py b/sby/__main__.py similarity index 99% rename from sbysrc/sby.py rename to sby/__main__.py index 5f33e1d..2ee8263 100644 --- a/sbysrc/sby.py +++ b/sby/__main__.py @@ -19,7 +19,7 @@ import os, sys, getopt, shutil, tempfile ##yosys-sys-path## -from sby_core import SbyJob, SbyAbort +from sby.sby_core import SbyJob, SbyAbort from time import localtime sbyfile = None diff --git a/sbysrc/demo1.sby b/sby/demo1.sby similarity index 100% rename from sbysrc/demo1.sby rename to sby/demo1.sby diff --git a/sbysrc/demo2.sby b/sby/demo2.sby similarity index 100% rename from sbysrc/demo2.sby rename to sby/demo2.sby diff --git a/sbysrc/demo3.sby b/sby/demo3.sby similarity index 100% rename from sbysrc/demo3.sby rename to sby/demo3.sby diff --git a/sbysrc/sby_core.py b/sby/sby_core.py similarity index 99% rename from sbysrc/sby_core.py rename to sby/sby_core.py index 16462a4..8bba82f 100644 --- a/sbysrc/sby_core.py +++ b/sby/sby_core.py @@ -507,19 +507,19 @@ class SbyJob: self.copy_src() if self.opt_mode == "bmc": - import sby_mode_bmc + from sby import sby_mode_bmc sby_mode_bmc.run(self) elif self.opt_mode == "prove": - import sby_mode_prove + from sby import sby_mode_prove sby_mode_prove.run(self) elif self.opt_mode == "live": - import sby_mode_live + from sby import sby_mode_live sby_mode_live.run(self) elif self.opt_mode == "cover": - import sby_mode_cover + from sby import sby_mode_cover sby_mode_cover.run(self) else: diff --git a/sbysrc/sby_engine_abc.py b/sby/sby_engine_abc.py similarity index 99% rename from sbysrc/sby_engine_abc.py rename to sby/sby_engine_abc.py index 38222e9..0a07a8e 100644 --- a/sbysrc/sby_engine_abc.py +++ b/sby/sby_engine_abc.py @@ -17,7 +17,7 @@ # import re, os, getopt -from sby_core import SbyTask +from sby.sby_core import SbyTask def run(mode, job, engine_idx, engine): abc_opts, abc_command = getopt.getopt(engine[1:], "", []) diff --git a/sbysrc/sby_engine_aiger.py b/sby/sby_engine_aiger.py similarity index 99% rename from sbysrc/sby_engine_aiger.py rename to sby/sby_engine_aiger.py index 1e3594c..aff9c78 100644 --- a/sbysrc/sby_engine_aiger.py +++ b/sby/sby_engine_aiger.py @@ -17,7 +17,7 @@ # import re, os, getopt -from sby_core import SbyTask +from sby.sby_core import SbyTask def run(mode, job, engine_idx, engine): opts, solver_args = getopt.getopt(engine[1:], "", []) diff --git a/sbysrc/sby_engine_smtbmc.py b/sby/sby_engine_smtbmc.py similarity index 99% rename from sbysrc/sby_engine_smtbmc.py rename to sby/sby_engine_smtbmc.py index 525f94d..09ee678 100644 --- a/sbysrc/sby_engine_smtbmc.py +++ b/sby/sby_engine_smtbmc.py @@ -17,7 +17,7 @@ # import re, os, getopt -from sby_core import SbyTask +from sby.sby_core import SbyTask def run(mode, job, engine_idx, engine): smtbmc_opts = [] diff --git a/sbysrc/sby_mode_bmc.py b/sby/sby_mode_bmc.py similarity index 92% rename from sbysrc/sby_mode_bmc.py rename to sby/sby_mode_bmc.py index 5e6236d..19dfee1 100644 --- a/sbysrc/sby_mode_bmc.py +++ b/sby/sby_mode_bmc.py @@ -17,7 +17,7 @@ # import re, os, getopt -from sby_core import SbyTask +from sby.sby_core import SbyTask def run(job): job.handle_int_option("depth", 20) @@ -32,11 +32,11 @@ def run(job): os.makedirs("%s/engine_%d" % (job.workdir, engine_idx)) if engine[0] == "smtbmc": - import sby_engine_smtbmc + from sby import sby_engine_smtbmc sby_engine_smtbmc.run("bmc", job, engine_idx, engine) elif engine[0] == "abc": - import sby_engine_abc + from sby import sby_engine_abc sby_engine_abc.run("bmc", job, engine_idx, engine) else: diff --git a/sbysrc/sby_mode_cover.py b/sby/sby_mode_cover.py similarity index 94% rename from sbysrc/sby_mode_cover.py rename to sby/sby_mode_cover.py index a4f3597..a2826bf 100644 --- a/sbysrc/sby_mode_cover.py +++ b/sby/sby_mode_cover.py @@ -17,7 +17,7 @@ # import re, os, getopt -from sby_core import SbyTask +from sby.sby_core import SbyTask def run(job): job.handle_int_option("depth", 20) @@ -31,7 +31,7 @@ def run(job): os.makedirs("%s/engine_%d" % (job.workdir, engine_idx)) if engine[0] == "smtbmc": - import sby_engine_smtbmc + from sby import sby_engine_smtbmc sby_engine_smtbmc.run("cover", job, engine_idx, engine) else: diff --git a/sbysrc/sby_mode_live.py b/sby/sby_mode_live.py similarity index 94% rename from sbysrc/sby_mode_live.py rename to sby/sby_mode_live.py index bee065c..0b705f5 100644 --- a/sbysrc/sby_mode_live.py +++ b/sby/sby_mode_live.py @@ -17,7 +17,7 @@ # import re, os, getopt -from sby_core import SbyTask +from sby.sby_core import SbyTask def run(job): job.handle_str_option("aigsmt", "yices") @@ -32,7 +32,7 @@ def run(job): os.makedirs("%s/engine_%d" % (job.workdir, engine_idx)) if engine[0] == "aiger": - import sby_engine_aiger + from sby import sby_engine_aiger sby_engine_aiger.run("live", job, engine_idx, engine) else: diff --git a/sbysrc/sby_mode_prove.py b/sby/sby_mode_prove.py similarity index 91% rename from sbysrc/sby_mode_prove.py rename to sby/sby_mode_prove.py index d7742e7..450bd71 100644 --- a/sbysrc/sby_mode_prove.py +++ b/sby/sby_mode_prove.py @@ -17,7 +17,7 @@ # import re, os, getopt -from sby_core import SbyTask +from sby.sby_core import SbyTask def run(job): job.handle_int_option("depth", 20) @@ -39,15 +39,15 @@ def run(job): os.makedirs("%s/engine_%d" % (job.workdir, engine_idx)) if engine[0] == "smtbmc": - import sby_engine_smtbmc + from sby import sby_engine_smtbmc sby_engine_smtbmc.run("prove", job, engine_idx, engine) elif engine[0] == "aiger": - import sby_engine_aiger + from sby import sby_engine_aiger sby_engine_aiger.run("prove", job, engine_idx, engine) elif engine[0] == "abc": - import sby_engine_abc + from sby import sby_engine_abc sby_engine_abc.run("prove", job, engine_idx, engine) else: diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..29f2aa1 --- /dev/null +++ b/setup.py @@ -0,0 +1,10 @@ +from setuptools import setup, find_packages +setup( + name='SymbiYosys', + packages=['sby'], + version='0.1', + description='Front-end for Yosys-based formal verification flows', + author='Clifford Wolf', + author_email='clifford@clifford.at', + install_requires=[], + py_modules=find_packages()) \ No newline at end of file