summaryrefslogtreecommitdiff
path: root/sim/sim.py
diff options
context:
space:
mode:
authorAlejandro Soto <alejandro@34project.org>2023-09-25 23:46:34 -0600
committerAlejandro Soto <alejandro@34project.org>2023-09-25 23:46:34 -0600
commit1db38c7cccd74af09109a5161edc95233e75fc74 (patch)
tree8c2e776635286974a630fee28eebc2afcbcc1627 /sim/sim.py
parent9fa82e6621df63335199b7abc0b4ca8acd2f3e03 (diff)
tb: implement coverage reports
Diffstat (limited to '')
-rwxr-xr-xsim/sim.py18
1 files changed, 16 insertions, 2 deletions
diff --git a/sim/sim.py b/sim/sim.py
index 5f64d43..e1dbd41 100755
--- a/sim/sim.py
+++ b/sim/sim.py
@@ -1,8 +1,19 @@
#!/usr/bin/env python3
-import importlib.util, io, os, pathlib, random, selectors, signal, socket, subprocess, sys
+import argparse, importlib.util, io, os, pathlib, random, selectors, signal, socket, subprocess, sys
+
+parser = argparse.ArgumentParser()
+parser.add_argument('module_path')
+parser.add_argument('verilated')
+parser.add_argument('image')
+parser.add_argument('coverage_out', nargs='?')
+args = parser.parse_args()
+
+module_path = args.module_path
+verilated = args.verilated
+image = args.image
+coverage_out = args.coverage_out
-module_path, verilated, image = sys.argv[1:]
test_name = pathlib.Path(module_path).stem
module = None
@@ -390,6 +401,9 @@ exec_args.extend(['--control-fd', str(target_fd)])
init_regs = None
exec_args.append(image)
+if coverage_out:
+ exec_args.append(coverage_out)
+
exec_args.append(f'+verilator+seed+{seed}')
if not os.getenv('SIM_PULLX', 0):
exec_args.append('+verilator+rand+reset+2')