# Install nextpnr-ice40 with Homebrew, apk, apt

Portable FPGA place and route tool for Lattice iCE40. Version 0.10 via Homebrew; verified 2026-06-22.

## Install

```sh
sudo av install brew:nextpnr-ice40
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install nextpnr-ice40
```

  Evidence: local Homebrew formula metadata

### Linux

- apk (92%):

```sh
sudo apk add nextpnr-ice40
```

  Evidence: Alpine Linux edge package indexes: nextpnr-ice40 from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install nextpnr-ice40
```

  Evidence: Debian stable package indexes: nextpnr-ice40 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

## Package facts

- **Package key:** brew:nextpnr-ice40
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/nextpnr-ice40>
- **Version:** 0.10
- **Source summary:** Portable FPGA place and route tool for Lattice iCE40
- **Homepage:** <https://github.com/YosysHQ/nextpnr>
- **Repository:** <https://github.com/YosysHQ/nextpnr>
- **Upstream docs:** <https://github.com/YosysHQ/nextpnr#readme>
- **License:** ISC
- **Source archive:** <https://github.com/YosysHQ/nextpnr/archive/refs/tags/nextpnr-0.10.tar.gz>
- **Last updated:** 2026-06-22T14:05:37-07:00
- **Generated:** 2026-07-08T18:08:21+00:00

## Executables

- nextpnr-ice40 (cli)
- nextpnr-ice40 (alias)

## Dependencies

- boost
- eigen
- icestorm
- python@3.14

## Build dependencies

- cmake

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 0.10
- Package-manager updated: 2026-06-22
- Local data: ok
- Upstream repository: https://github.com/YosysHQ/nextpnr
- info: No cached GitHub release or tag data was available.
## Project history and usage

nextpnr-ice40 is the Lattice iCE40 build of nextpnr, YosysHQ's portable FPGA place-and-route tool. In the open FPGA stack it sits after synthesis: Yosys emits a JSON netlist, nextpnr-ice40 performs pack/place/route against the iCE40 architecture database, and IceStorm turns the routed ASCII bitstream into a programmable binary.

The project matters because it helped move the iCE40 flow away from one-off place-and-route tooling toward a retargetable FOSS framework. Public project material describes nextpnr as vendor-neutral and timing-driven, with iCE40 support backed by Project IceStorm and later support for ECP5, Nexus, Gowin, GateMate, and experimental back ends.

### Project history

A 35C3 talk described nextpnr as the next step after Project IceStorm, replacing arachne-pnr in the open-source iCE40 flow while opening a path to multiple FPGA vendors. The 2019 Yosys+nextpnr paper framed the combination of Yosys and nextpnr as an architecture-neutral open-source Verilog-to-bitstream framework for commercial FPGAs, with iCE40 and ECP5 as hardware-proven early targets.

### Adoption history

Adoption is strongest among people using small Lattice iCE40 boards, open hardware examples, CI-able FPGA builds, and education/hobbyist workflows where the vendor IDE is too heavy. GitHub showed about 1.7k stars and 318 forks on the nextpnr repository when researched, and the Homebrew API generated on 2026-04-23 reported 50 installs-on-request in the preceding 365 days for the separate nextpnr-ice40 formula.

### How it is used

Package nerd usage is usually scripted: synthesize Verilog with `yosys -p 'synth_ice40 ... -json design.json'`, run `nextpnr-ice40 --json design.json --pcf pins.pcf --asc design.asc`, then use `icepack` and `iceprog` from IceStorm. The Homebrew formula encodes that relationship directly by depending on `icestorm` and using `yosys` for its test dependency.

### Why package nerds care

The formula is intentionally architecture-specific rather than a monolithic all-FPGA build. That packaging shape mirrors nextpnr's build system, where `-DARCH=ice40` builds the iCE40 executable and keeps users from pulling every supported architecture database when they only need Lattice iCE40.

### Timeline

- 2018-12: 35C3 talk presented nextpnr as a retargetable FOSS place-and-route tool replacing arachne-pnr in the IceStorm flow.
- 2019-03: Yosys+nextpnr paper described the framework for open Verilog-to-bitstream flows.
- 2026-03-12: GitHub release listing showed nextpnr 0.10 as the latest release.
- 2026-04-23: Homebrew formula API generated data for nextpnr-ice40 0.10.

### Related projects

- Yosys
- Project IceStorm
- arachne-pnr
- Project Trellis
- Project Oxide

### Sources

- <https://arxiv.org/pdf/1903.10407>
- <https://formulae.brew.sh/api/formula/nextpnr-ice40.json>
- <https://github.com/YosysHQ/nextpnr>
- <https://media.ccc.de/v/35c3-9612-the_nextpnr_foss_fpga_place-and-route_tool>
- <https://prjicestorm.readthedocs.io/en/latest/overview.html>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** nextpnr-ice40
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Debian apt - nextpnr-ice40 - 0.7-1+b2: normalized package name match | Debian stable package indexes: nextpnr-ice40 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | FPGA place and route tool for Lattice iCE40 | https://github.com/YosysHQ/nextpnr
- Ubuntu apt - nextpnr-ice40 - 0.6-3build5: normalized package name match | Ubuntu 24.04 LTS package indexes: nextpnr-ice40 from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | FPGA place and route tool for Lattice iCE40 | https://github.com/YosysHQ/nextpnr
- apk - nextpnr-ice40 - 0.7-r0: normalized package name match | Alpine Linux edge package indexes: nextpnr-ice40 from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | portable FPGA place and route tool for ice40 | https://github.com/YosysHQ/nextpnr


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [icestorm](https://www.automicvault.com/pkg/brew/icestorm/) - Runtime dependency declared by Homebrew.
- [python@3.14](https://www.automicvault.com/pkg/brew/python-3-14/) - Runtime dependency declared by Homebrew.
- [cmake](https://www.automicvault.com/pkg/brew/cmake/) - Build dependency declared by Homebrew.
- [openfpgaloader](https://www.automicvault.com/pkg/brew/openfpgaloader/) - Shares av.db curated category or tags: cli, developer-tools, fpga, hardware.
- [prjtrellis](https://www.automicvault.com/pkg/brew/prjtrellis/) - Shares av.db curated category or tags: cli, developer-tools, fpga, hardware.
- [i2c-tools](https://www.automicvault.com/pkg/brew/i2c-tools/) - Shares av.db curated category or tags: cli, developer-tools, hardware.
- [rggen](https://www.automicvault.com/pkg/brew/rggen/) - Shares av.db curated category or tags: cli, developer-tools, fpga, hardware.
- [sigrok-cli](https://www.automicvault.com/pkg/brew/sigrok-cli/) - Shares av.db curated category or tags: cli, developer-tools, hardware.
- [verilator](https://www.automicvault.com/pkg/brew/verilator/) - Shares av.db curated category or tags: cli, developer-tools, hardware.
- [yosys](https://www.automicvault.com/pkg/brew/yosys/) - Shares av.db curated category or tags: cli, developer-tools, eda, fpga.
- [easyeda2kicad](https://www.automicvault.com/pkg/brew/easyeda2kicad/) - Both packages touch the same language runtime or ecosystem. Shared terms: cli, developer, developer-tools, eda, python.

## Combined YAML source

View the package source record on GitHub. [combined/nextpnr-ice40.yml](https://github.com/automic-vault/db/blob/main/combined/nextpnr-ice40.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
