Skip to main content

A Python wrapper around an installation of Verilator.

Project description

Verilator Python

This python package contains a pre-built installation of verilator, and a python wrapper to run verilator. It should function exactly the same as if you installed verilator through normal means.

Installing this python package will install "verilator.exe" into the python environments scripts/bin folder, so it can be ran and can easily be found by CMake.

The main goal of this project is to simplify distributing verilator and using it within a python application.

This project is not affiliated with Verilator.

Installation

Verilator requires that the operating system used to build verilator is the same as the operating system used to run verilator, so wheels built on windows should work well.

Otherwise, you can build from source. This requires having a compatible compiler installed, and any dependencies. Read the verilator user manual for more information.

Install Options

pypi.org

pip install verilator-dspsim

from source

pip install .

cached build directory

pip install --no-build-isolation -Cbuild-dir=build -v .

editable install

pip install --no-build-isolation -Cbuild-dir=build --config-settings=editable.rebuild=true -v -e .

Example Project

The example project "example" in the root of this repository uses scikit-build-core, nanobind, and verilator to build a simple verilator simulation wrapped in a python package.

You will need to have am appropriate compiler installed. Windows: MSVC, Linux: gcc, Mac: clang? (I don't have a Mac)

  • Install the verilator package from pypi.org, or from source.

  • Build and install the example python extension

  • Run the example

pip install verilator-dspsim
pip install ./example
python -c "import example;example.run_simulation()"

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

verilator_dspsim-5.30.7.tar.gz (10.2 kB view details)

Uploaded Source

Built Distribution

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

verilator_dspsim-5.30.7-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.0 MB view details)

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

File details

Details for the file verilator_dspsim-5.30.7.tar.gz.

File metadata

  • Download URL: verilator_dspsim-5.30.7.tar.gz
  • Upload date:
  • Size: 10.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for verilator_dspsim-5.30.7.tar.gz
Algorithm Hash digest
SHA256 b411b6d8cd3d5325ca043a964f003c00ade51295da845cea1ac8a7fa261b4613
MD5 9022e7a7bbfbb936f313a302fdabb1f3
BLAKE2b-256 1b9205b7c6aeaffe03b4e1f3948ceecc47788a6cd372a01d5dacf840d3e92328

See more details on using hashes here.

Provenance

The following attestation bundles were made for verilator_dspsim-5.30.7.tar.gz:

Publisher: build_wheels.yaml on fsodari/verilator-python

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

File details

Details for the file verilator_dspsim-5.30.7-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for verilator_dspsim-5.30.7-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 588a1bd8d974bdeb9f2b4c62734564d368e00dbe97177a264616e5d3f76b7617
MD5 03497cb9c53e374627bada4c4296cddb
BLAKE2b-256 ab0bff80dee6865110e701cc708bbb6e870db9f1b1502c70706b21867bdbefeb

See more details on using hashes here.

Provenance

The following attestation bundles were made for verilator_dspsim-5.30.7-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: build_wheels.yaml on fsodari/verilator-python

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