EDAPack¶
EDAPack provides portable, pre-built binary packages of open-source EDA (Electronic Design Automation) tools. Each package:
Runs without requiring a local compiler toolchain or library installation.
Is published as a self-contained release tarball or zip, downloadable directly from GitHub Releases or installable via IVPM (
gh-rlssource).Ships with a
bin/directory that IVPM can automatically prepend toPATH, so tools are available to downstream tasks immediately.Integrates with the DV Flow task framework where applicable.
Available Packages¶
Package |
Description |
Docs |
|---|---|---|
iverilog-bin |
Icarus Verilog Verilog simulation compiler and runtime. |
|
verilator-bin |
Verilator Verilog/SystemVerilog simulator/linter, bundled with the Bitwuzla SMT solver and the UVM library. |
|
yosys-bin |
Yosys open synthesis suite with
multi-version Python bindings ( |
|
nextpnr-bin |
nextpnr FPGA place-and-route tool with iCE40, ECP5, Nexus, and generic backends, plus bundled chipdb files. |
|
icestorm-bin |
Project IceStorm iCE40 bitstream
utilities ( |
|
symbiyosys-bin |
SymbiYosys formal verification front-end, bundled with Boolector, Yices2, and Z3 solvers. |
|
openroad-bin |
OpenROAD autonomous RTL-to-GDS physical design flow tool for ASIC implementation. |
|
opensta-bin |
OpenSTA gate-level static timing analysis engine. |
|
ngspice-bin |
ngspice mixed-level/mixed-signal analog and digital circuit simulator. |
|
gcc-riscv-bin |
Complete RISC-V bare-metal cross-compiler toolchain (binutils + GCC + newlib) supporting rv32i, rv32imac, rv64i, and rv64imac multilib variants. |
|
gdb-multiarch-bin |
GDB built with
|
|
qemu-riscv |
QEMU RISC-V system emulator for running bare-metal and Linux-based RISC-V workloads on an x86_64 host. |
Platform Support¶
Package |
Linux x86_64 |
Linux aarch64 |
macOS arm64 |
Windows x64 |
|---|---|---|---|---|
iverilog-bin |
✓ |
✓ |
||
verilator-bin |
✓ |
✓ |
✓ |
|
yosys-bin |
✓ |
✓ |
||
nextpnr-bin |
✓ |
|||
icestorm-bin |
✓ |
✓ |
||
symbiyosys-bin |
✓ |
✓ |
||
openroad-bin |
✓ |
|||
opensta-bin |
✓ |
|||
ngspice-bin |
✓ |
|||
gcc-riscv-bin |
✓ |
✓ |
||
gdb-multiarch-bin |
✓ |
✓ |
||
qemu-riscv |
✓ |
Quick Start¶
Install from a GitHub Release tarball — download the appropriate asset from the package’s GitHub Releases page, then extract it:
tar xf <package>-manylinux_2_28_x86_64-<version>.tar.gz
The extracted directory contains a bin/ subdirectory you can add to
PATH manually, or let IVPM manage it automatically.
Install with IVPM from the published catalog¶
EDAPack publishes a top-level package catalog at the site root:
The catalog defines one dep-set per tool (verilator, yosys,
nextpnr, …) plus curated multi-tool collections named with a category
prefix:
Collection |
Tools |
|---|---|
|
Verilator + Icarus Verilog (RTL simulation) |
|
ngspice (analog/mixed-signal simulation) |
|
Yosys + nextpnr + IceStorm (iCE40 bitstream flow) |
|
Yosys + OpenROAD + OpenSTA (RTL-to-GDS ASIC flow) |
|
Yosys (formal-verification backend) |
|
gcc-riscv + gdb-multiarch + qemu-riscv (RISC-V bare-metal) |
As a standalone operation — point ivpm update --from directly at the
published catalog and select the dep-set to install with -d. No local
ivpm.yaml is required:
# Install a single tool
ivpm update --from https://edapack.github.io/ivpm.yaml -d verilator
# Install a whole collection
ivpm update --from https://edapack.github.io/ivpm.yaml -d flow.asic
This fetches the named dep-set into packages/ in the current directory.
By referencing the catalog from your own ivpm.yaml — use the
ivpm.yaml source type to pull a named dep-set from the published catalog
into your project. Each deps entry names the catalog url and the
dep-set to bundle:
package:
name: my-project
dep-sets:
- name: default-dev
deps:
# Pull a curated collection …
- name: edapack-asic
src: ivpm.yaml
url: https://edapack.github.io/ivpm.yaml
dep-set: flow.asic
# … and/or an individual tool
- name: edapack-verilator
src: ivpm.yaml
url: https://edapack.github.io/ivpm.yaml
dep-set: verilator
# then run:
ivpm update
In either case IVPM automatically selects the correct platform asset for each
tool and prepends the package bin/ directory to PATH, so the tools are
available to downstream tasks immediately.
Source & Issues¶
All package repositories live under the EDAPack GitHub organisation. Bug reports and pull requests are welcome in the individual repositories.
Developer Guide¶
How the edapack build & release system works, and how to build, release, and extend the tool packages.