From 0f95eb535f98bb362dd422a7b120c4161c3b936b Mon Sep 17 00:00:00 2001
From: Alex Van Damme <atv@google.com>
Date: Wed, 5 Feb 2025 13:40:42 -0800
Subject: [PATCH] Use systemc in verilator and support verilator in cocotb

---
 BUILD                                         |  11 +-
 cocotb/cocotb.bzl                             |  20 +++-
 cocotb/cocotb_wrapper.py                      |   1 +
 .../verilator/verilator.BUILD.bazel           | 110 +++++++++++++++++-
 verilator/defs.bzl                            |  22 ++--
 5 files changed, 152 insertions(+), 12 deletions(-)

diff --git a/BUILD b/BUILD
index bf28dd5..a6fe964 100644
--- a/BUILD
+++ b/BUILD
@@ -13,15 +13,24 @@
 # limitations under the License.
 
 load("@rules_license//rules:license.bzl", "license")
+load("@rules_license//rules:license_kind.bzl", "license_kind")
 
 package(
     default_applicable_licenses = ["//:package_license"],
-    default_visibility = ["//visibility:private"],
+    default_visibility = ["//visibility:public"],
+)
+
+license_kind(
+    name = "unencumbered",
+    conditions = [],
 )
 
 license(
     name = "package_license",
     package_name = "bazel_rules_hdl",
+    license_kinds = [
+        ":unencumbered",
+    ],
 )
 
 licenses(["notice"])
diff --git a/cocotb/cocotb.bzl b/cocotb/cocotb.bzl
index 8ab664d..cde681b 100644
--- a/cocotb/cocotb.bzl
+++ b/cocotb/cocotb.bzl
@@ -15,6 +15,7 @@
 """Rules for running tests using Cocotb framework"""
 
 load("@rules_python//python:defs.bzl", "PyInfo")
+load("@bazel_tools//tools/cpp:toolchain_utils.bzl", "find_cpp_toolchain")
 load("//verilog:defs.bzl", "VerilogInfo")
 
 ## Helpers for parsing arguments
@@ -159,6 +160,9 @@ def _get_test_command(ctx, verilog_files, vhdl_files):
         test_module_args
     )
 
+    if ctx.attr.sim_name == "verilator":
+        command = "VERILATOR_ROOT=$PWD/external/verilator " + command
+
     return command
 
 def _cocotb_test_impl(ctx):
@@ -183,8 +187,18 @@ def _cocotb_test_impl(ctx):
         _collect_transitive_runfiles(ctx),
     )
 
+
     # specify PYTHONPATH for the script
-    env = {"PYTHONPATH": _get_pythonpath_to_set(ctx)}
+    env = {
+        "PYTHONPATH": _get_pythonpath_to_set(ctx),
+    }
+
+    if ctx.attr.sim_name == "verilator":
+        cc_toolchain = find_cpp_toolchain(ctx)
+        env = env | {
+            "VERILATOR_AR": cc_toolchain.ar_executable,
+            "VERILATOR_CXX": cc_toolchain.compiler_executable,
+        }
 
     # return the information about testing script and its dependencies
     return [
@@ -292,6 +306,10 @@ _cocotb_test_attrs = {
         doc = "Record signal traces",
         default = True,
     ),
+    "_cc_toolchain": attr.label(
+        doc = "CC compiler.",
+        default = Label("@bazel_tools//tools/cpp:current_cc_toolchain"),
+    ),
 }
 
 cocotb_test = rule(
diff --git a/cocotb/cocotb_wrapper.py b/cocotb/cocotb_wrapper.py
index ba37573..03d0dbc 100644
--- a/cocotb/cocotb_wrapper.py
+++ b/cocotb/cocotb_wrapper.py
@@ -28,6 +28,7 @@ cocotb_build_flags = [
     "always",
     "build_dir",
     "verbose",
+    "waves",
 ]
 
 
diff --git a/dependency_support/verilator/verilator.BUILD.bazel b/dependency_support/verilator/verilator.BUILD.bazel
index f958490..3fadcca 100644
--- a/dependency_support/verilator/verilator.BUILD.bazel
+++ b/dependency_support/verilator/verilator.BUILD.bazel
@@ -81,6 +81,44 @@ verilator_build_template(
     version = ":version",
 )
 
+verilator_build_template(
+    name = "verilated_mk",
+    out = "include/verilated.mk",
+    substitutions = {
+        "@AR@": "$${VERILATOR_AR}",
+        "@CXX@": "$${VERILATOR_CXX}",
+        "@OBJCACHE@": "",
+        "@PERL@": "perl",
+        "@CFG_WITH_CCWARN@": "no",
+        "@CFG_WITH_LONGTESTS@": "no",
+        "@CFG_CXXFLAGS_PROFILE@": "-pg",
+        "@CFG_CXXFLAGS_STD@": "",
+        "@CFG_CXXFLAGS_STD_NEWEST@": "-std=c++17",
+        "@CFG_CXXFLAGS_NO_UNUSED@": " ".join([
+            "-faligned-new",
+            "-fcf-protection=none",
+            "-Wno-bool-operation",
+            "-Wno-overloaded-virtual",
+            "-Wno-shadow",
+            "-Wno-sign-compare",
+            "-Wno-uninitialized",
+            "-Wno-unused-but-set-parameter",
+            "-Wno-unused-but-set-variable",
+            "-Wno-unused-parameter",
+            "-Wno-unused-variable",
+        ]),
+        "@CFG_CXXFLAGS_WEXTRA@": "-Wextra -Wfloat-conversion -Wlogical-op",
+        "@CFG_CXXFLAGS_COROUTINES@": "-fcoroutines",
+        "@CFG_CXXFLAGS_PCH@": "-x c++-header",
+        "@CFG_CXXFLAGS_PCH_I@": "-include",
+        "@CFG_GCH_IF_CLANG@": "",
+        "@CFG_LDFLAGS_VERILATED@": "",
+        "@CFG_LDLIBS_THREADS@": "-lpthread -latomic -lstdc++ -lm",
+    },
+    template = "include/verilated.mk.in",
+    version = ":version",
+)
+
 verilator_astgen(
     name = "verilator_astgen",
     srcs = [
@@ -287,7 +325,7 @@ cc_library(
 )
 
 cc_library(
-    name = "verilator",
+    name = "verilator_lib",
     srcs = [
         "include/gtkwave/fastlz.h",
         "include/gtkwave/fst_config.h",
@@ -295,10 +333,12 @@ cc_library(
         "include/gtkwave/lz4.h",
         "include/gtkwave/wavealloca.h",
         "include/verilated_fst_c.cpp",
+        "include/verilated_fst_sc.cpp",
         "include/verilated_imp.h",
         "include/verilated_syms.h",
         "include/verilated_threads.cpp",
         "include/verilated_vcd_c.cpp",
+        "include/verilated_vcd_sc.cpp",
         "include/verilated_vpi.cpp",
         "include/verilated.cpp",
     ],
@@ -309,14 +349,17 @@ cc_library(
         "include/verilated_funcs.h",
         "include/verilated_intrinsics.h",
         "include/verilated_sc.h",
+        "include/verilated_sc_trace.h",
         "include/verilated_sym_props.h",
         "include/verilated_threads.h",
         "include/verilated_timing.h",
         # Needed for verilated_vcd_c.cpp and verilated_fst_c.cpp
         "include/verilated_trace_imp.h",
+        "include/verilated_fst_sc.h",
         "include/verilated_trace.h",
         "include/verilated_types.h",
         "include/verilated_vcd_c.h",
+        "include/verilated_vcd_sc.h",
         "include/verilated_vpi.h",
         "include/verilated.h",
         "include/verilatedos.h",
@@ -327,7 +370,12 @@ cc_library(
         "-std=c++17",
         "-ffp-contract=off",
     ],
-    includes = ["include"],
+    includes = [
+        "include",
+        # include systemc header
+        "systemc/include",
+    ],
+    defines = ["VM_SC"],
     linkopts = [
         "-lpthread",
     ],
@@ -339,6 +387,7 @@ cc_library(
     ],
     visibility = ["//visibility:public"],
     deps = [
+        "@accellera_systemc//:systemc",
         "@net_zlib//:zlib",
         ":vltstd",
     ],
@@ -349,7 +398,7 @@ cc_library(
 # output name.
 alias(
     name = "libverilator",
-    actual = "verilator",
+    actual = "verilator_lib",
     visibility = ["//visibility:public"],
 )
 
@@ -376,3 +425,58 @@ cc_binary(
     visibility = ["//visibility:public"],
     deps = [":verilator_libV3"],
 )
+
+cc_binary(
+    name = "verilator_bin",
+    srcs = ["src/Verilator.cpp"],
+    copts = [
+        "-std=c++17",
+        "-ffp-contract=off",
+    ],
+    linkopts = [
+        "-lpthread",
+        "-latomic",
+    ],
+    visibility = ["//visibility:public"],
+    deps = [":verilator_libV3"],
+    data = [
+        "include/verilated.cpp",
+        "include/verilated_dpi.cpp",
+        "include/verilated_dpi.h",
+        "include/verilated_std.sv",
+        "include/verilated.mk",
+        "include/verilated_config.h",
+        "include/verilated_funcs.h",
+        "include/verilated_imp.h",
+        "include/verilated_syms.h",
+        "include/verilated_sym_props.h",
+        "include/verilated_threads.cpp",
+        "include/verilated_threads.h",
+        "include/verilated_trace.h",
+        "include/verilated_types.h",
+        "include/verilated_vpi.cpp",
+        "include/verilated_vpi.h",
+        "include/verilated.h",
+        "include/verilatedos.h",
+        "include/vltstd/svdpi.h",
+        "include/vltstd/sv_vpi_user.h",
+        "include/vltstd/vpi_user.h",
+        # Tracing support
+        "include/verilated_fst_c.cpp",
+        "include/verilated_fst_c.h",
+        "include/verilated_fst_sc.cpp",
+        "include/verilated_fst_sc.h",
+        "include/verilated_vcd_c.cpp",
+        "include/verilated_vcd_c.h",
+        "include/verilated_vcd_sc.cpp",
+        "include/verilated_vcd_sc.h",
+        "include/verilated_trace_imp.h",
+        "include/verilated_intrinsics.h",
+    ],
+)
+
+sh_binary(
+    name = "verilator",
+    srcs = ["bin/verilator"],
+    visibility = ["//visibility:public"],
+)
diff --git a/verilator/defs.bzl b/verilator/defs.bzl
index c3e26d5..fc8af53 100644
--- a/verilator/defs.bzl
+++ b/verilator/defs.bzl
@@ -16,7 +16,6 @@
 """Functions for verilator."""
 
 load("@bazel_tools//tools/cpp:toolchain_utils.bzl", "find_cpp_toolchain")
-load("@rules_cc//cc:defs.bzl", "CcInfo")
 load("//verilog:defs.bzl", "VerilogInfo")
 
 def cc_compile_and_link_static_library(ctx, srcs, hdrs, deps, runfiles, includes = [], defines = []):
@@ -104,9 +103,10 @@ def _verilator_cc_library(ctx):
     verilator_toolchain = ctx.toolchains["@rules_hdl//verilator:toolchain_type"]
 
     transitive_srcs = depset([], transitive = [ctx.attr.module[VerilogInfo].dag])
+    all_hdrs = [verilog_info_struct.hdrs for verilog_info_struct in transitive_srcs.to_list()]
     all_srcs = [verilog_info_struct.srcs for verilog_info_struct in transitive_srcs.to_list()]
     all_data = [verilog_info_struct.data for verilog_info_struct in transitive_srcs.to_list()]
-    all_files = [src for sub_tuple in (all_srcs + all_data) for src in sub_tuple]
+    all_files = [src for sub_tuple in (all_srcs + all_data + all_hdrs) for src in sub_tuple]
 
     # Filter out .dat files.
     runfiles = []
@@ -123,16 +123,20 @@ def _verilator_cc_library(ctx):
 
     args = ctx.actions.args()
     args.add("--no-std")
-    args.add("--cc")
+    if ctx.attr.systemc:
+        args.add("--sc")
+    else:
+        args.add("--cc")
     args.add("--Mdir", verilator_output.path)
     args.add("--top-module", ctx.attr.module_top)
     args.add("--prefix", prefix)
+
     if ctx.attr.trace:
-        args.add("--trace")
-    for verilog_file in verilog_files:
-        args.add(verilog_file.path)
+        args.add("--trace-fst")
     args.add_all(verilator_toolchain.extra_vopts)
     args.add_all(ctx.attr.vopts, expand_directories = False)
+    for verilog_file in verilog_files:
+        args.add(verilog_file.path)
 
     ctx.actions.run(
         arguments = [args],
@@ -192,12 +196,16 @@ verilator_cc_library = rule(
         ),
         "trace": attr.bool(
             doc = "Enable tracing for Verilator",
-            default = False,
+            default = True,
         ),
         "vopts": attr.string_list(
             doc = "Additional command line options to pass to Verilator",
             default = ["-Wall"],
         ),
+        "systemc": attr.bool(
+            doc = "Enable SystemC support",
+            default = True,
+        ),
         "_cc_toolchain": attr.label(
             doc = "CC compiler.",
             default = Label("@bazel_tools//tools/cpp:current_cc_toolchain"),
-- 
2.48.1.502.g6dc24dfdaf-goog

