From 4e7de9e20892973b46be2fb9761a670cf0509003 Mon Sep 17 00:00:00 2001
From: Alex Van Damme <atv@google.com>
Date: Thu, 10 Jul 2025 16:03:33 -0700
Subject: [PATCH 6/6] Separate build from test for Verilator

---
 cocotb/BUILD.bazel       |  2 +-
 cocotb/cocotb.bzl        |  9 ++++++++-
 cocotb/cocotb_wrapper.py | 17 ++++++++++++++++-
 3 files changed, 25 insertions(+), 3 deletions(-)

diff --git a/cocotb/BUILD.bazel b/cocotb/BUILD.bazel
index ed8a3a0..72b19fb 100644
--- a/cocotb/BUILD.bazel
+++ b/cocotb/BUILD.bazel
@@ -25,5 +25,5 @@ py_binary(
     python_version = "PY3",
     srcs_version = "PY3",
     visibility = ["//visibility:public"],
-    deps = [],
+    deps = ["@bazel_tools//tools/python/runfiles"],
 )
diff --git a/cocotb/cocotb.bzl b/cocotb/cocotb.bzl
index 2b0a3c2..90c70bc 100644
--- a/cocotb/cocotb.bzl
+++ b/cocotb/cocotb.bzl
@@ -161,6 +161,7 @@ def _get_test_command(ctx, verilog_files, vhdl_files):
         waves_args +
         seed_args +
         test_module_args +
+        (" --model {}".format(ctx.executable.model.short_path) if ctx.attr.sim_name == "verilator" else "" ) +
         ("&& cp -fr `pwd`/sim_build/simv.vdb $TEST_UNDECLARED_OUTPUTS_DIR" if ctx.attr.sim_name == "vcs" else "")
     )
 
@@ -185,7 +186,8 @@ def _cocotb_test_impl(ctx):
         files = ctx.files.cocotb_wrapper +
                 verilog_files +
                 vhdl_files +
-                ctx.files.test_module,
+                ctx.files.test_module +
+                ctx.files.model,
         transitive_files = _collect_transitive_files(ctx),
     ).merge(
         _collect_transitive_runfiles(ctx),
@@ -253,6 +255,11 @@ _cocotb_test_attrs = {
         doc = "Verilog include directories",
         default = [],
     ),
+    "model": attr.label(
+        executable = True,
+        doc = "Verilated model binary",
+        cfg = "exec",
+    ),
     "parameters": attr.string_dict(
         doc = "Verilog parameters or VHDL generics",
         default = {},
diff --git a/cocotb/cocotb_wrapper.py b/cocotb/cocotb_wrapper.py
index ce392a9..1703e4f 100644
--- a/cocotb/cocotb_wrapper.py
+++ b/cocotb/cocotb_wrapper.py
@@ -165,6 +165,11 @@ def cocotb_argument_parser():
         default="results.xml",
         help="Name of xUnit XML file to store test results in",
     )
+    parser.add_argument(
+        "--model",
+        default=None,
+        help="Verilated model binary",
+    )
 
     return parser
 
@@ -188,7 +193,17 @@ if __name__ == "__main__":
 
     cocotb_tools.runner.MAX_PARALLEL_BUILD_JOBS = 32
     runner = get_runner(args.sim)
-    runner.build(**build_flags)
+
+    if args.sim == "verilator":
+        import os
+        from bazel_tools.tools.python.runfiles import runfiles
+        r = runfiles.Create()
+        sim_build = os.path.dirname(r.Rlocation(f"kelvin_hw/{args.model}"))
+        test_flags['build_dir'] = sim_build
+        test_flags['extra_env']['LD_LIBRARY_PATH'] = "{}:{}".format(r.Rlocation("kelvin_hw/external/kelvin_pip_deps_cocotb/cocotb/libs"), os.environ.get("LD_LIBRARY_PATH", ""))
+        os.environ.pop('LD_LIBRARY_PATH', None)
+    else:
+        runner.build(**build_flags)
     results_xml = runner.test(**test_flags)
     (num_tests, num_failed) = get_results(results_xml)
     sys.exit(num_failed)
-- 
2.50.0.727.gbf7dc18ff4-goog

