aboutsummaryrefslogtreecommitdiffstats
path: root/passes/pmgen/pmgen.py
diff options
context:
space:
mode:
authorEddie Hung <eddie@fpgeh.com>2019-04-08 16:31:59 -0700
committerEddie Hung <eddie@fpgeh.com>2019-04-08 16:31:59 -0700
commitbca3cf684367ac5cf33ac05506d9e604a325bd3f (patch)
treeb2b29b441c108984719d0b470ec34b779abec511 /passes/pmgen/pmgen.py
parentf7c7003a193361285ba59d1315c1e7c26c4c52f1 (diff)
parente194e65358058f3a039636d2603cc093f7b75e50 (diff)
downloadyosys-bca3cf684367ac5cf33ac05506d9e604a325bd3f.tar.gz
yosys-bca3cf684367ac5cf33ac05506d9e604a325bd3f.tar.bz2
yosys-bca3cf684367ac5cf33ac05506d9e604a325bd3f.zip
Merge branch 'master' into xaig
Diffstat (limited to 'passes/pmgen/pmgen.py')
-rw-r--r--passes/pmgen/pmgen.py12
1 files changed, 8 insertions, 4 deletions
diff --git a/passes/pmgen/pmgen.py b/passes/pmgen/pmgen.py
index e688a4567..d9747b065 100644
--- a/passes/pmgen/pmgen.py
+++ b/passes/pmgen/pmgen.py
@@ -6,7 +6,11 @@ import pprint
pp = pprint.PrettyPrinter(indent=4)
-prefix = sys.argv[1]
+pmgfile = sys.argv[1]
+assert pmgfile.endswith(".pmg")
+prefix = pmgfile[0:-4]
+prefix = prefix.split('/')[-1]
+outfile = sys.argv[2]
state_types = dict()
udata_types = dict()
@@ -73,7 +77,7 @@ def rewrite_cpp(s):
return "".join(t)
-with open("%s.pmg" % prefix, "r") as f:
+with open(pmgfile, "r") as f:
while True:
line = f.readline()
if line == "": break
@@ -82,7 +86,7 @@ with open("%s.pmg" % prefix, "r") as f:
cmd = line.split()
if len(cmd) == 0 or cmd[0].startswith("//"): continue
cmd = cmd[0]
-
+
if cmd == "state":
m = re.match(r"^state\s+<(.*?)>\s+(([A-Za-z_][A-Za-z_0-9]*\s+)*[A-Za-z_][A-Za-z_0-9]*)\s*$", line)
assert m
@@ -176,7 +180,7 @@ with open("%s.pmg" % prefix, "r") as f:
blocks.append(block)
-with open("%s_pm.h" % prefix, "w") as f:
+with open(outfile, "w") as f:
print("// Generated by pmgen.py from {}.pgm".format(prefix), file=f)
print("", file=f)