nextpnr-ice40 FPGA place and route tool

fpga, nextpnr, pypi, python, webassembly
pip install yowasp-nextpnr-ice40-8k==9999


YoWASP nextpnr packages

The YoWASP nextpnr suite of packages provides nextpnr and related tools for several FPGA families built for WebAssembly. See the overview of the YoWASP project for details.

The supported FPGA families are:


For technical reasons, the ecppack, ecpunpack, ecpbram, ecppll, and ecpmulti tools from the MachXO2 toolchain shipped in the yowasp-nextpnr-machxo2 PyPI package are installed under the names yowasp-xo2pack, yowasp-xo2unpack, yowasp-xo2bram, yowasp-xo2pll, and yowasp-xo2multi respectively. These commands run bit-for-bit identical code as their yowasp-ecp* prefixed brethren from the yowasp-nextpnr-ecp5 PyPI package of the same version.


The version of this package is derived from the upstream nextpnr package version in the X.Y[.Z] format, and is comprised of five or six parts in a X.Y.Z.N.postM[.dev] format:

  1. X: nextpnr major version
  2. Y: nextpnr minor version
  3. Z: nextpnr patch version; reserved as nextpnr currently does not do patch releases
  4. N: zero for packages built from nextpnr releases, N for packages built from unreleased nextpnr snapshots; N is the amount of commits since the latest release
  5. postM: package build version; disambiguates different builds produced from the same nextpnr source tree
  6. dev: present only for packages built from unreleased nextpnr snapshots; marks these packages as pre-releases

With this scheme, there is a direct correspondence between upstream versions and PEP 440 Python package versions. Packages built from unreleased snapshots are ignored by pip by default, but can be still installed explicitly. (These packages are uploaded daily to TestPyPI, but only occasionally to PyPI.)

A different versioning scheme was used earlier, where the package build version was denoted by a .devM suffix. This scheme did not work well with PEP 440 version specifiers and was retired.


See the documentation for yowasp-runtime.


This package is covered by the ISC license, which is the same as the nextpnr license.