diff options
| author | ruki <[email protected]> | 2025-04-07 22:29:36 +0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-04-07 22:29:36 +0800 |
| commit | 27ddfdbacc8e4aa63b014586a8326f453541ebca (patch) | |
| tree | 40a260c16c8d82fd0d988112499454f63f7db5ed /tests | |
| parent | a5cf700f8d01fea3b9e19523a024698cb35cb9d5 (diff) | |
| parent | c4d40d3641dc2d2219e41deb9d6482f87e082ffb (diff) | |
Merge pull request #6281 from TimeKeepper/verilator
feat(verilator): Support Verilator target build to shared library
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/projects/embed/verilator/shared/src/main.v | 6 | ||||
| -rw-r--r-- | tests/projects/embed/verilator/shared/src/sim_main.cpp | 14 | ||||
| -rw-r--r-- | tests/projects/embed/verilator/shared/xmake.lua | 10 |
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") |
