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.1.0.tar.gz (420.1 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.1.0-cp310-abi3-win_amd64.whl (902.0 kB view details)

Uploaded CPython 3.10+Windows x86-64

svling-0.1.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (966.4 kB view details)

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

svling-0.1.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (923.1 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

svling-0.1.0-cp310-abi3-macosx_11_0_arm64.whl (901.4 kB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

svling-0.1.0-cp310-abi3-macosx_10_12_x86_64.whl (940.3 kB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for svling-0.1.0.tar.gz
Algorithm Hash digest
SHA256 f5c7a80a7f304db33e5dace23c10ad9c28ff3532c3d9fc87718f29abfe8c53fb
MD5 8e9f7d2e2296c7a79fe0e56ae15ffb2d
BLAKE2b-256 833cbfe840009464668ee200d741cfe1225e1d035ba1c43cf96934358575ee60

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: svling-0.1.0-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 902.0 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.1.0-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 53aa63838058c4b70cd0f498548e0a1e808ee600a65d524ad24ecc39c7f51191
MD5 01a4a6bc34a7be3cad426c63f818ba2c
BLAKE2b-256 050fc6dd7cb17b0e4ff6aeaa980db6e69417525693bde54ab2f3172383504684

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for svling-0.1.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 576c5a18b08692b4e06c845e7dba16cfa40d5f6e191cebb4a15c6ebd76054940
MD5 04d1706539bd366ad197b42d69639ae2
BLAKE2b-256 a4e6d486f99129e7d00e7eb3b8449432da59f2e5fca34bec5ceb6b2b285eafe5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for svling-0.1.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ccb4883f50d16561579bd8fdf4faf8432fa03d21e60ab3e67c756ec31cdc6657
MD5 c41e11ef63d3da03dba33e4f62f3aca4
BLAKE2b-256 511a8024014338f82d48f8001fc3c62938c746d412b8c9d18c74db06d05358f5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for svling-0.1.0-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0367abae83efe7140f2d1e61ece85931c7d2f34185396f261bfaf44e7f1aefe5
MD5 13b9f4bfd115d192a33bcf3db5f8def3
BLAKE2b-256 47a71423edeb3765be96748f1523953a23011c6476c3ea0c3da12365cb7aef85

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for svling-0.1.0-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 54316dfeef17b45c155a308121260df908cfee0a33d1d008d4db78803db3e1c0
MD5 977052023808d02aaa8fa9322be86ef8
BLAKE2b-256 61d31c05e33b9aee39e2352a108b64ff0d3f54ed490acebbe331c19c1a834965

See more details on using hashes here.

Provenance

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