Skip to content

UVS support in picker (phase 1)#84

Merged
Makiras merged 1 commit into
XS-MLVP:masterfrom
yichun-uv:uvs_support_phase_1
May 12, 2026
Merged

UVS support in picker (phase 1)#84
Makiras merged 1 commit into
XS-MLVP:masterfrom
yichun-uv:uvs_support_phase_1

Conversation

@yichun-uv
Copy link
Copy Markdown
Contributor

Summary

Add UVS simulator support to picker (Phase 1), enabling users to generate and build UVS-based testbenches alongside existing Verilator and VCS backends.

Changes

  • Simulator registration — Register uvs as a supported simulator in the parser map (src/parser/parser_map.cpp)
  • Codegen support — Add UVS-specific include directory flags (-include) and waveform dumping support ($usdbDumpfile / $usdbDumpvars) in the code generator (src/codegen/lib.cpp, src/codegen/sv.cpp)
  • Build system — Add three new cmake templates for UVS-based C++, Python, and library builds, handling UVS/UVD detection, DPI library compilation, and linking (template/cpp/cmake/uvs.cmake, template/lib/cmake/uvs.cmake, template/python/cmake/uvs.cmake)
  • DUT runtime — Add DutUvsBase class implementing the UVS simulator interface (clock timing, step/run, finish) and wire it into DutUnifiedBase (template/lib/dut_base.cpp, template/lib/dut_base.hpp)
  • Example integration — Add reset initialization to example testbenches and a release-uvs.sh build script for the DualPortStackCb example

Notes

  • Waveform, checkpoint, restore, and coverage operations are stubbed as unsupported in this phase
  • Requires UVS_HOME and UVD_HOME environment variables at build time

Stats

12 files changed, 480 insertions(+), 2 deletions(-)

@Makiras
Copy link
Copy Markdown
Contributor

Makiras commented May 12, 2026

LGTM, should we consider adding/modify some documents to help users better understand the precautions when using UVS in the Picker? Of course, there is no problem in adding them after the subsequent stage is completed.

@Makiras Makiras merged commit 301c403 into XS-MLVP:master May 12, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants