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 Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

svling-0.0.1-cp310-abi3-win_amd64.whl (735.7 kB view details)

Uploaded CPython 3.10+Windows x86-64

svling-0.0.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (813.5 kB view details)

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

svling-0.0.1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (783.1 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

svling-0.0.1-cp310-abi3-macosx_11_0_arm64.whl (761.2 kB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

svling-0.0.1-cp310-abi3-macosx_10_12_x86_64.whl (789.3 kB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: svling-0.0.1-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 735.7 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.0.1-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 48c0f713aab9b921fdab131c46faf7f9d908a41b44033c695a7b85e633ac87a9
MD5 d3380bdca24982972be281e8d635b155
BLAKE2b-256 390e613512608941099c44a192c6a8358c6a2212667a267dcdbd15506951c91a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for svling-0.0.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b147ad6f131351ee795c9677e2d75f5d5d9d05b4c15b01de30afdb3af0bf4c01
MD5 b471b3cfba4b9912d04e787422b0537a
BLAKE2b-256 84bd7c8a535c1df8ad5a517bd67e7bd88c205429217dc5a7d8b5fa664eaa1a64

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for svling-0.0.1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 be7f0fd5f8d03143b1712cf4685b3c42f65907a8cb3b92ee967ab137d160c9cb
MD5 c7945a71f449dbc06afdbcf4e9d28e57
BLAKE2b-256 0f450283a34193c5b50bf90f71726ff87d6434e75546acb71e45b5860ae86c34

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for svling-0.0.1-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 474b0901820d34a9be2dcb1b30900ab4e93c2d309dbb4975faa319fc1b54e5c5
MD5 0bdedcdf823e8b1d2353fb49c092c640
BLAKE2b-256 951249d377b4e3fe2f3abd289e029061336f333d98acdb4c0af172327f432865

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for svling-0.0.1-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 ea4f1e8b2e8f6f4b2d2b749751faf993c3a14e07d7d4d07f291cfbf782621efa
MD5 7dfff49675ee00840241d07993dc5578
BLAKE2b-256 8a134293f59d95df0f395173a93af81b937c2cbb71cd6b1427bad868d35affcb

See more details on using hashes here.

Provenance

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