macOS
brew install icestormlocal Homebrew formula metadata
brew
Tools for analyzing and creating Lattice iCE40 FPGA bitstream files. Version 1.1 via Homebrew; verified from local package data.
install
brew install icestormlocal Homebrew formula metadata
sudo apk add icestormAlpine Linux edge package indexes · icestorm · source: dl-cdn.alpinelinux.org
sudo dnf install icestormFedora Rawhide package metadata · icestorm · source: dl.fedoraproject.org
nix profile install nixpkgs#icestormnixpkgs package indexes · pkgs/by-name/ic/icestorm/package.nix · source: api.github.com
overview
Tools for analyzing and creating Lattice iCE40 FPGA bitstream files
history
Project IceStorm is the reverse-engineered documentation and tool suite for Lattice iCE40 FPGA bitstreams. In package-manager terms it is the `ice*` tool bundle that helped make a fully open-source Verilog-to-bitstream flow practical on inexpensive FPGA boards.
The project began as an effort to document the iCE40 bitstream format and provide simple tools for analyzing and creating bitstream files. Its own timeline records a first public release in March 2015, a working fully open-source flow with Yosys and Arachne-pnr in May 2015, and a move of the source code to GitHub in July 2015.
IceStorm's documentation frames Lattice iCE40 as a good target because the architecture is regular and minimal, with inexpensive development boards available. That made the family useful both for reverse-engineered documentation and as a reference platform for open FPGA tooling.
IceStorm became important because it linked several independent tools into an end-to-end flow: Yosys for synthesis, Arachne-pnr and later nextpnr for place-and-route, IceStorm tools for packing, unpacking, timing, bitstream inspection, and programming. By 2016 the documentation listed support across LP/HX 1K, 4K, and 8K package variants, and in 2018 it added iCE40 UltraPlus support.
The package shows up in Homebrew, Alpine, Fedora, and Nix metadata because FPGA hobbyists, hardware hackers, and digital-design developers often want the flow on ordinary Unix-like developer machines rather than inside vendor IDEs.
A typical flow synthesizes Verilog with Yosys, places and routes with Arachne-pnr or nextpnr, packs the ASCII bitstream with `icepack`, and programs hardware with `iceprog`. Other tools such as `iceunpack`, `icebox_explain`, `icebox_vlog`, `icetime`, and `icepll` support reverse engineering, inspection, timing, and PLL configuration.
The package is especially associated with small iCE40 boards such as the iCEstick and HX8K breakout board, where a command-line flow is enough to build, inspect, and upload simple FPGA designs.
Project IceStorm is one of the packages that made open FPGA development feel like normal Unix development: install compiler-like tools, run commands, inspect generated artifacts, and avoid proprietary GUI-only flows for supported iCE40 parts.
It is also historically important as a bridge between software package managers and hardware toolchains. Its executables expose FPGA bitstreams as files that can be packed, unpacked, explained, converted to Verilog, timed, and programmed.
security posture
broad file, network, media, or database tool signal.
blue risk · medium confidence · tool
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
executables
| Command | Kind | Exposure | Note |
|---|---|---|---|
icebox_asc2hlc | cli | global executable | |
icebox_chipdb | cli | global executable | |
icebox_colbuf | cli | global executable | |
icebox_diff | cli | global executable | |
icebox_explain | cli | global executable | |
icebox_hlc2asc | cli | global executable | |
icebox_html | cli | global executable | |
icebox_maps | cli | global executable | |
icebox_stat | cli | global executable | |
icebox_vlog | cli | global executable | |
icebram | cli | global executable | |
icemulti | cli | global executable | |
icepack | cli | global executable | |
icepll | cli | global executable | |
iceprog | cli | global executable | |
icetime | cli | global executable | |
iceunpack | cli | global executable |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
https://github.com/YosysHQ/icestorm
install metadata
| Package key | brew:icestorm |
|---|---|
| Version | 1.1 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/icestorm |
| Homepage | https://prjicestorm.readthedocs.io |
| Repository | https://github.com/YosysHQ/icestorm |
| Upstream docs | https://prjicestorm.readthedocs.io |
| License | ISC |
| Source archive | https://github.com/YosysHQ/icestorm/archive/refs/tags/v1.1.tar.gz |
| Dependencies | libftdi, libusb, python@3.14 |
| Build dependencies | pkgconf |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | icestorm |
| 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 |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
icestorm
nix profile install nixpkgs#icestormicestorm 0_git20240517-r0
Project IceStorm - Lattice iCE40 FPGAs Bitstream Documentation
https://github.com/YosysHQ/icestorm
sudo apk add icestormicestorm 0-0.43.20250707gitf31c39c.fc44
Lattice iCE40 FPGA bitstream creation/analysis/programming tools
http://bygone.clairexen.net/icestorm
sudo dnf install icestormsource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.