Supported Backends¶
Seven nextpnr backends are included, each as a separate binary. All chipdb data is embedded in the binary at build time (no external data files required at runtime), except where noted.
Binary |
Target family |
Source / chipdb dependency |
|---|---|---|
|
Lattice iCE40 |
Project IceStorm — chipdb compiled in |
|
Lattice ECP5 |
Project Trellis — chipdb compiled in |
|
Lattice MachXO2/3 |
Project Trellis — chipdb compiled in |
|
Intel/Altera Cyclone V |
Mistral (libmistral linked in) |
|
Gowin GW1N / GW2A |
Apicula — |
|
Cologne Chip GateMate |
Project Peppercorn — |
|
Generic / custom architectures |
No chipdb |
¹ himbaechel backends use external .bin chipdb files installed under
share/nextpnr/ next to the bin/ directory. The binary locates them
automatically via /proc/self/exe — the relative layout is preserved in the
tarball so this works from any extract path.
Build-time dependencies¶
The following libraries are built from source and either compiled into the binaries or linked statically:
Boost (all backends) — statically linked
libstdc++ / libgcc — statically linked via
-static-libstdc++ -static-libgccIceStorm (iCE40) —
share/icebox/read at CMake configure time onlyTrellis (ECP5/MachXO2) —
pytrellis.soimported at CMake configure time onlyMistral (Cyclone V) —
libmistralbuilt and linked into the binaryApicula (Gowin) — Python generator invoked at CMake configure time only
Peppercorn (GateMate) — device files read at CMake configure time only
Runtime shared-library dependencies are limited to universally available base
OS libraries: libc, libm, libz, libbz2, liblzma,
libzstd, and ld-linux.