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.1.tar.gz (477.5 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.1-cp310-abi3-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.10+Windows x86-64

svling-0.2.1-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.1-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.1-cp310-abi3-macosx_11_0_arm64.whl (1.0 MB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

svling-0.2.1-cp310-abi3-macosx_10_12_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: svling-0.2.1.tar.gz
  • Upload date:
  • Size: 477.5 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.1.tar.gz
Algorithm Hash digest
SHA256 5bac8ffd860871f429cf35b4eb4761278ac6e6285b6519ba631f4b3dc31f8ed9
MD5 0a33ee9ddf49268459cfecffbc614dc0
BLAKE2b-256 c886d6390ffd3b90ec2cabaf115c9ddaa91a9a7d7222ce31526d5fe7f49a3b5f

See more details on using hashes here.

Provenance

The following attestation bundles were made for svling-0.2.1.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.1-cp310-abi3-win_amd64.whl.

File metadata

  • Download URL: svling-0.2.1-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 1.0 MB
  • 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.1-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 56645aa423dabce1bf2a4629f2d507797fb7b9058812df8ced5c83ee2cba61dd
MD5 3b8771df383f4f3f0cbadc13be1a8614
BLAKE2b-256 5528a7983a0437df25144d6e158281a8c414d5b93a2176d1fed2a9540e990e09

See more details on using hashes here.

Provenance

The following attestation bundles were made for svling-0.2.1-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.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for svling-0.2.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2db8851dfd2ac38a515790fe097917e34af00d4d7d48e4e70400fc49b95a4424
MD5 daed1a3e0c91cc69f08e57eb5c7fb369
BLAKE2b-256 9199e89b508412048ed8438064347c3fb22889f6f64e4a1669f3ade5e57dda58

See more details on using hashes here.

Provenance

The following attestation bundles were made for svling-0.2.1-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.1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for svling-0.2.1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 bf39993dbcfe5d05bb6a087798db1f622ce651d3dea8c9f646aedf56e00d78bd
MD5 f71fd9f476483cb84c2cb88626919577
BLAKE2b-256 2dbd31db4d58068a57eda6db011a97b1d41a612ba37962183fc990fc4631577c

See more details on using hashes here.

Provenance

The following attestation bundles were made for svling-0.2.1-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.1-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for svling-0.2.1-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 746938d349c3f9cac643fcb3f2bde56a4df437f3bf78ea204c3078a6d8e9658b
MD5 9fc4b55a35f3875a917eaee485f9b0e4
BLAKE2b-256 bb9c3a701422cdc05b68148877b95873a4c903eac0490550ba79734b92cd9797

See more details on using hashes here.

Provenance

The following attestation bundles were made for svling-0.2.1-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.1-cp310-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for svling-0.2.1-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 c72e7d8c02da60e1ec8c912027ed71594b4ae794e5780ca62e099fe262c7ffcd
MD5 61742621be4a75b6621a4e553b6f16cc
BLAKE2b-256 7832837b9e5e7672e6d8975bb3e666bb6b2c192c1639361a9415c956266229a9

See more details on using hashes here.

Provenance

The following attestation bundles were made for svling-0.2.1-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