No description
Find a file
Kaushal Modi bffb093636
Merge pull request #1 from kaushalmodi/use-futhark
Use futhark instead of nimterop
2025-05-16 08:31:00 -04:00
includes feat: Ship the svdpi wrapper with svdpi.nim 2025-05-15 13:50:32 -04:00
src fix: Place the generated wrapper in the deployment dir 'src' 2025-05-15 14:32:13 -04:00
tests/chandle update: Use --mm switch instead of the deprecated --gc 2025-05-15 12:03:16 -04:00
.gitignore chore: Ignore Projectile (Emacs) cache file 2025-05-15 12:14:05 -04:00
config.nims fix: Place the generated wrapper in the deployment dir 'src' 2025-05-15 14:32:13 -04:00
LICENSE Add license 2019-01-22 12:01:18 -05:00
README.org cleanup: Remove futhark as a dependency for the end user 2025-05-15 14:52:46 -04:00
svdpi.nimble cleanup: Remove futhark as a dependency for the end user 2025-05-15 14:52:46 -04:00

Small wrapper for SystemVerilog DPI-C header svdpi.h

Installation

nimble install svdpi

How to get nimble?

Get static binaries for nim, nimble by downloading and extracting the latest nightly build for your OS.

Examples

See the svdpi package in use in my Nim/SystemVerilog experiment repo.

Development

Environment setup

  1. User needs to have Cadence Xcelium installed and have the XCELIUM_ROOT env var set to point to the bin/ directory containing the xrun executable.
  2. LLVM clang needs to be installed in the environment.
  3. Install Futhark package

    nimble install futhark

Updating the wrapper

nim wrap

Testing

To run a basic test while developing this package:

cd tests/chandle
make

Versions tested

Cadence Xcelium
25.03-s01
OS
RHEL 8.8
Nim
2.3.1 (devel) as of Thu May 15 2025
Clang
19.1.7 (required only when updating the wrapper)