Amaranth is a Python-based hardware description language that uses Yosys as a backend to emit Verilog.
The Amaranth HDL Yosys wheels provide a specialized WebAssembly based build of Yosys that runs via wasmtime-py if there is no system-wide Yosys installation, or if that installation is too old. This build is aggressively optimized for binary size and startup latency, and only includes features required by Amaranth's Verilog and CXXRTL backends; it is not useful for any other purpose.
Although this package is platform-independent, it depends on wasmtime-py wheels, which are currently available only for x86_64 Windows, Linux, and macOS. This is expected to improve in the future.
The version of this package (which is derived from the upstream Yosys package version) is comprised of five parts in a X.Y.Z.N.postM
format:
-
X
: Yosys major version -
Y
: Yosys minor version -
Z
: Yosys patch version; only present for some Yosys releases, zero if not present -
N
: Yosys node version; only present for unreleased Yosys snapshots (where it matches theN
in theX.Y+N
upstream version), zero for releases -
postM
: package version, monotonically incrementing from the initial commit
The primary build environment for this repository is the ubuntu-latest
GitHub CI runner; packages are built on every push and automatically published from the release
branch to PyPI.
To reduce maintenance overhead, the only development environment we will support for this repository is x86_64 Linux.
This package is covered by the ISC license, which is the same as the Yosys license.