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.0.2.tar.gz (349.9 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.0.2-cp310-abi3-win_amd64.whl (735.7 kB view details)

Uploaded CPython 3.10+Windows x86-64

svling-0.0.2-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.2-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (783.2 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.10+macOS 11.0+ ARM64

svling-0.0.2-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.2.tar.gz.

File metadata

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

File hashes

Hashes for svling-0.0.2.tar.gz
Algorithm Hash digest
SHA256 a0c95219adb8942372c6f105340724424c1103f90476306fbc56b3165473a7d3
MD5 0483bad11e7b87cc9b1283edd0bebb4b
BLAKE2b-256 d40ce5da31dc0fcf885d2b771ad39bdbbace1b3a565567fde3b228ec65576b0a

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: svling-0.0.2-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.2-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 0ccfdb53e1502253319a434e96aa03d828bfd667a6b483abf48ec1d232bf6023
MD5 5eeb4057e004a37f66f3412ca4061a5e
BLAKE2b-256 eae4e7b16478d2f0c4a87b8967d7a9cfa1a79a6e817f8a33f41ac1ac16cbc160

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for svling-0.0.2-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6c9dcc853c0a2874aa3331bc67eac79489f4f075cada2dcde5e6965569aa501f
MD5 2ef5c786db5397a36bf8e8fb9799fa4e
BLAKE2b-256 9dffb94c4d7966a312bcad8da15519969557c92f7a5891fa64f985e677eda0f0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for svling-0.0.2-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a6eccbd8153f8c691b6a76bb8d87a610f3c6df748a9cb7635bb5e22cff949deb
MD5 447acff99a8bcea1a64c43319ac3a36c
BLAKE2b-256 2dd9fb03ffbd79b7176783db835841c0d8c16ff521b2e98cdb36cd45408bb766

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for svling-0.0.2-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 88abb598aa21f92a3f64aa54adb4ab985791c5075831d1a894c8ef3dee43f64d
MD5 f8ebef5de71242ed017eff59032d1f30
BLAKE2b-256 1e533085d409efa8ef0c80ae5b2878fb5b83259349fc093d51e917b5bc0a450d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for svling-0.0.2-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d884487db27de17ff85ef7ee4aec511579fff50c57e484c7f5467119e84360dc
MD5 a52afb3b37645ee3e975b33160cbdcf3
BLAKE2b-256 b46bf7c5aa368bb638d5b838ef40efabf790f8fb7a93129561f10c67ac0a70c1

See more details on using hashes here.

Provenance

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