summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorwenjiu <[email protected]>2025-04-02 23:16:51 +0800
committerwenjiu <[email protected]>2025-04-02 23:16:51 +0800
commitc4d40d3641dc2d2219e41deb9d6482f87e082ffb (patch)
treef4e066f8942b352a76d2db849b2d79a62ac9171f /tests
parent18bab4f32a2c48b5bea4e94c3fbff360ded90088 (diff)
feat(verilator): Support Verilator target build to shared library
Signed-off-by: wenjiu <[email protected]>
Diffstat (limited to 'tests')
-rw-r--r--tests/projects/embed/verilator/shared/src/main.v6
-rw-r--r--tests/projects/embed/verilator/shared/src/sim_main.cpp14
-rw-r--r--tests/projects/embed/verilator/shared/xmake.lua10
3 files changed, 30 insertions, 0 deletions
diff --git a/tests/projects/embed/verilator/shared/src/main.v b/tests/projects/embed/verilator/shared/src/main.v
new file mode 100644
index 000000000..b7f80008d
--- /dev/null
+++ b/tests/projects/embed/verilator/shared/src/main.v
@@ -0,0 +1,6 @@
+module hello;
+ initial begin
+ $display("hello world!");
+ $finish ;
+ end
+endmodule
diff --git a/tests/projects/embed/verilator/shared/src/sim_main.cpp b/tests/projects/embed/verilator/shared/src/sim_main.cpp
new file mode 100644
index 000000000..079ced121
--- /dev/null
+++ b/tests/projects/embed/verilator/shared/src/sim_main.cpp
@@ -0,0 +1,14 @@
+#include "hello.h"
+#include "verilated.h"
+
+double sc_time_stamp() { return 0; }
+
+int main(int argc, char** argv) {
+ VerilatedContext* contextp = new VerilatedContext;
+ contextp->commandArgs(argc, argv);
+ hello* top = new hello{contextp};
+ while (!contextp->gotFinish()) { top->eval(); }
+ delete top;
+ delete contextp;
+ return 0;
+}
diff --git a/tests/projects/embed/verilator/shared/xmake.lua b/tests/projects/embed/verilator/shared/xmake.lua
new file mode 100644
index 000000000..977c8511e
--- /dev/null
+++ b/tests/projects/embed/verilator/shared/xmake.lua
@@ -0,0 +1,10 @@
+add_requires("verilator")
+
+target("hello")
+ add_rules("verilator.shared")
+ set_toolchains("@verilator")
+ add_files("src/*.v")
+
+target("test")
+ add_deps("hello")
+ add_files("src/*.cpp")