-
-
Notifications
You must be signed in to change notification settings - Fork 2
/
__init__.py
43 lines (33 loc) · 1.29 KB
/
__init__.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import sys
import yowasp_runtime
try:
from importlib import resources as importlib_resources
importlib_resources.files
except (ImportError, AttributeError):
import importlib_resources
def run_yosys(argv):
return yowasp_runtime.run_wasm(__package__, "yosys.wasm", resources=["share"],
argv=["yowasp-yosys", *argv])
def _run_yosys_argv():
sys.exit(run_yosys(sys.argv[1:]))
def _run_yosys_smtbmc_argv():
prefix = importlib_resources.files(__package__)
sys.path[0:0] = [str(prefix / "share" / "python3")]
smtbmc_py = prefix / "smtbmc.py"
with open(smtbmc_py) as f:
globals = {"__name__": "__main__"}
exec(compile(f.read(), smtbmc_py, "exec"), globals, globals)
def _run_yosys_witness_argv():
prefix = importlib_resources.files(__package__)
sys.path[0:0] = [str(prefix / "share" / "python3")]
witness_py = prefix / "witness.py"
with open(witness_py) as f:
globals = {"__name__": "__main__"}
exec(compile(f.read(), witness_py, "exec"), globals, globals)
def _run_sby_argv():
prefix = importlib_resources.files(__package__)
sys.path[0:0] = [str(prefix / "share" / "python3")]
sby_py = prefix / "sby.py"
with open(sby_py) as f:
globals = {}
exec(compile(f.read(), sby_py, "exec"), globals, globals)