Commit Graph

25 Commits

Author SHA1 Message Date
Song Fangyuan 8d8e9beb1d
feat: improve VCS waveform, coverage, and modern Verdi support (#94)
* (fix): artifacts patch

* (fix) vcs waveform: support fsdb rename and flush

* (update) yaml-cpp: move to dependence and bump to 0.9.0

* (remove) third: drop unused type_safe

* (update) slang: bump default tag to v11.0

* (update) yaml-cpp: fetch dependency during init

* (fix) vcs coverage: add runtime save control

* fix: update VCS coverage control flow

* fix: make VCS finish safe for host process

* fix: stabilize VCS coverage export

* fix: support modern Verdi integration for VCS

* example: unify output paths and add per-example test targets

* fix: resolve xspcomm from picker path in mem_direct template

---------

Co-authored-by: Makiras <22570332+Makiras@users.noreply.github.com>
2026-07-07 17:48:32 +08:00
J. Wang fa9c9bfe63
Adopt slang as default SystemVerilog frontend and clean up codegen (#80)
* feat(parser): adopt slang as the default SystemVerilog frontend

- replace export RTL parsing with slang elaboration
- replace pack transaction parsing with slang
- remove Verible from normal parser and packaging flows
- fetch pinned slang and fmt releases via make init
- refresh tests and docs for the slang-based workflow

* fix(codegen): resolve filelist-relative inputs and quiet false missing-file logs

* refact(codegen): tidy up content about `_with_slang`

* feat(verible): Remove content about verible

* fix(gcc): Fix ignored attributes in gcc

* fix(parser): avoid gcc ambiguous overload in uvm parse_sv_transactions
2026-03-27 11:04:20 +08:00
SFangYy 42844ae7ed refactor: move pack_opts defaults to picker.cpp and rename example.sv to example-uvm.sv in example folder 2026-01-04 14:47:01 +08:00
SFangYy 0ae0ccb2d9 feat(example): refactor Pack examples and update transaction model 2026-01-04 14:47:01 +08:00
J. Wang 4b5842336d
Add support for macOS (#64)
Add support for macOS:

* bugfix(exprtk): Upgrade verison of exprtk to fix compile error in clang.

* refact: Remove `bits/stdc++.h` and move `src/codegen/cpp.cpp::replace_all` to `include/picker.hpp::str_replace_all`

* feat: Use `dlopen` for non-linux platform.

* fix: Add missing headers

* fix(nproc): Fix bug of missing `nproc` in MacOS

* refactor(python): Adapt python template to macOS

* refactor(mem_direct): Adapt mem_direct template to macOS

* refactor(lib_suffix): Add shared library suffix in code generator

* refactor(dut_base.cpp): Use code generator to set library suffix

* add(cpp): Add cpp support for macOS

* add(java): Add java support for macOS

* refactor(nproc): Set $NPROC to support macOS

* fix(parser/sv): Add missing header file `unordered_set`

* fix(python_macos): fix the wrong suffix of module-type library

* refactor(codegen/lib): generator template use absolute path

* fix(mem_direct): fix link error in macOS

* feat: Use LLVM Clang to compile instead of AppleClang

* feat(golang): Add golang support for macOS

* fix(rpath): fix CMAKE_BUILD_RPATH for macOS

* feat(lua): Add lua support for macOS

* fix(scala): Fix wrong use of static method in scala

* feat(scala): Add scala support for macOS

* refactor(cmake): Upgrade cmake version to 3.15

* feat(doc): Add doc about installing picker on macOS
2025-11-03 10:38:10 +08:00
yaozhicheng 10eb845acd fix(issue #36): add dut name to pakage name 2025-04-30 11:23:00 +08:00
Makiras 3af0f4f195 fix #24 : remove dpi set function for output signal, which case multi-driven
change clang-format line break from 80 characters to 120, and reformat the project cpp/hpp
2024-12-12 06:11:36 +00:00
yaozhicheng 7755db113d example/RandomGenerator: add go/scala 2024-11-26 10:56:34 +08:00
yaozhicheng a16e123723 example: refine 2024-11-19 13:04:18 +08:00
yaozhicheng e2a9d5f2d8 example: python try import __init__ in example 2024-11-19 12:45:34 +08:00
Makiras 2d8e640ef8 update Caches and RnadomGenerator VCS example 2024-07-17 10:34:01 +08:00
yaozhicheng 5b104005a5 made pass on verilator 2024-07-17 10:34:01 +08:00
yaozhicheng 805753f834 uniform dut.xclock, dut.xport 2024-07-17 10:34:01 +08:00
Makiras 33e7314c73 refactor libDUT init function 2024-07-17 10:34:01 +08:00
Makiras 542cef7223 update autobuild flags example 2024-07-17 10:34:01 +08:00
Makiras 7cdd8d576c refacted DutUnifiedBase without inhert and change dlmopen abstract level
due to dlmopen DPI library is simulator-related, we choose to dlmopen whole libUT.so without simulator-related code
2024-07-17 10:34:01 +08:00
Makiras a1192bd277 add multi-instance support with dlmopen for VERILATOR 2024-07-17 10:34:01 +08:00
yaozhicheng d0c1fd05ed add java example 2024-06-25 19:49:08 +08:00
yaozhicheng 2db3661cf9 add java example 2024-06-25 13:52:39 +08:00
Makiras 9055071c58 change cli library for pack function 2024-06-07 06:47:50 +00:00
Makiras e4d55c8db3 fix bugs: coverage needs verbose mode, example finalize 2024-04-25 16:18:01 +08:00
Makiras fd5aa524c3 add autobuild and update xcomm version 2024-04-25 16:18:01 +08:00
Makiras f61a0118b1 fix: verilator failed to dump wave in python, optimize example 2024-03-19 06:32:14 +00:00
Makiras 731eb34b90 rename mcv to picker 2024-01-16 02:05:56 +00:00
Makiras 7c275b40ce add quick start example 2023-12-29 10:05:07 +00:00