Skip to main content

SystemVerilog compiler+runtime: pyslang frontend (sling) + Rust vvp engine (evvp)

Project description

svling

SystemVerilog compiler + runtime in one package.

svling bundles two pieces:

  • sling — a SystemVerilog → VVP compiler frontend built on pyslang (full IEEE 1800-2023 LRM coverage).
  • evvp — a Rust reimplementation of Icarus Verilog's vvp runtime, exposed to Python via pyo3 and invoked in-process.

The two halves ship as a single wheel containing the Python compiler sources and one sling/_native.abi3.so carrying the entire runtime.

Install

pip install svling
# or
uv tool install svling

Use

# Compile and run in one go:
svling design.sv tb.sv

# Compile only (write a .vvp file):
sling -o design.vvp design.sv

# Run a pre-compiled .vvp through the Rust runtime in-process:
python -c "from sling._native import run_cli; run_cli(['evvp', '-N', 'design.vvp'])"

Anything that starts with + on the svling command line is forwarded to the runtime as a Verilog plusarg (e.g. +verbose, +seed=42). Use -- to forward arbitrary extra flags to the runtime.

Layout

svling/
├── sling/          Python frontend (pyslang → VVP)
├── evvp/           Rust crate: VVP runtime; produces both a standalone
│                   `evvp` binary and a pyo3 cdylib for the wheel
├── tests/          Sample SystemVerilog used by the docs
└── pyproject.toml  maturin build, project metadata, console scripts

License

GPL-2.0-or-later. evvp is a clean-room reimplementation of Icarus Verilog's vvp, which is GPL-2.0; this package keeps the same license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

svling-0.2.0.tar.gz (464.7 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

svling-0.2.0-cp310-abi3-win_amd64.whl (991.4 kB view details)

Uploaded CPython 3.10+Windows x86-64

svling-0.2.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ x86-64

svling-0.2.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.0 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

svling-0.2.0-cp310-abi3-macosx_11_0_arm64.whl (980.0 kB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

svling-0.2.0-cp310-abi3-macosx_10_12_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

File details

Details for the file svling-0.2.0.tar.gz.

File metadata

  • Download URL: svling-0.2.0.tar.gz
  • Upload date:
  • Size: 464.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for svling-0.2.0.tar.gz
Algorithm Hash digest
SHA256 0b3d8500cfba869a29f6bd412ac5789d9fe5926c2b0661d2c4e577a8c4bec515
MD5 5215969497718a5faf829443e64e2b98
BLAKE2b-256 47691447f90b26f48f2cb89fde307834fe4a570eec69218e8062fcc4f1cfc3d0

See more details on using hashes here.

Provenance

The following attestation bundles were made for svling-0.2.0.tar.gz:

Publisher: svling-publish.yml on CheeksTheGeek/svling

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file svling-0.2.0-cp310-abi3-win_amd64.whl.

File metadata

  • Download URL: svling-0.2.0-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 991.4 kB
  • Tags: CPython 3.10+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for svling-0.2.0-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 5f34102e9b3187a16fab78ed7558285267c4db459aff04a2ec05fdeadf8f32de
MD5 98149b484f563bcc44b02135e286db08
BLAKE2b-256 1a6350ff9475b57be4d920de3b6e6a739e7cd64a8ea230b390f641b258ff1ca5

See more details on using hashes here.

Provenance

The following attestation bundles were made for svling-0.2.0-cp310-abi3-win_amd64.whl:

Publisher: svling-publish.yml on CheeksTheGeek/svling

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file svling-0.2.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for svling-0.2.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5dcedda95d88486a4647dad69f8e4828f06fb926bdf50ee18d1a43421c19fe00
MD5 a47a353b128b176e06986aa392d2e3ac
BLAKE2b-256 55953cf24cb394814ccf96c61716950c44fd3ca9a6eb32ed4a3e7dc1ed14b26d

See more details on using hashes here.

Provenance

The following attestation bundles were made for svling-0.2.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: svling-publish.yml on CheeksTheGeek/svling

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file svling-0.2.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for svling-0.2.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2ebd2f52cca9b4e41b52bffc87452a49b22fc85ab9e00b3f26a443187b70f8cf
MD5 1f570567cd479eaf5487d1226336e5ec
BLAKE2b-256 0c2d75c9ec72d76e15614bbf5041432c7975a623bfe353d6a3ccc8bd3a7a3f2c

See more details on using hashes here.

Provenance

The following attestation bundles were made for svling-0.2.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: svling-publish.yml on CheeksTheGeek/svling

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file svling-0.2.0-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for svling-0.2.0-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a6d686fd70c6b8b5f9132f4459581a9a520c6bf5134d2eb86c6ab2dec4a52761
MD5 aa3313293a948494796d1276b7af89fe
BLAKE2b-256 c2d9e49d7f03182ec13db2f46752a6841127e8216e505c6f13dc1b8aeec52c6f

See more details on using hashes here.

Provenance

The following attestation bundles were made for svling-0.2.0-cp310-abi3-macosx_11_0_arm64.whl:

Publisher: svling-publish.yml on CheeksTheGeek/svling

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file svling-0.2.0-cp310-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for svling-0.2.0-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 04766e45e6516ea9ec16e3cbe039e0cdbfa7948be53cba2e32d1f72f339acd2b
MD5 71823067b3fbd324869a0edb3b9b89b5
BLAKE2b-256 2d8bbd373291ff7fee123606a7c9e5558154074cb53ca8c33a768d45fcbf07ee

See more details on using hashes here.

Provenance

The following attestation bundles were made for svling-0.2.0-cp310-abi3-macosx_10_12_x86_64.whl:

Publisher: svling-publish.yml on CheeksTheGeek/svling

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page