This is a fork of FPGAwars/apio. It includes newer versions or newer alternatives of existing tooling for developing on iCE40 FPGAs, notably the TinyFPGA BX (for elutow/ee469-labs-starter).
Currently, the following packages are forked from upstream (i.e. FPGAwars):
- toolchain-icestorm - Replaces
arachne-pnr
withnextpnr
, and updates all other tooling. - toolchain-verilator
- toolchain-iverilog
- tool-scons
The following platforms have all packages available:
- Linux amd64 (
linux_x86_64
) - macOS (
darwin
)
To see support for specific packages, see the GitHub Releases page for each of the above repositories.
See the README in elutow/ee469-labs-starter for an example.
Otherwise, you can run the following to install apio
and all the forked packages:
pip3 install git+https://github.com/elutow/apio.git
apio install system scons icestorm iverilog verilator
To revert back to the original apio
and packages:
pip3 install apio
apio install system scons icestorm iverilog verilator
The original README follows.
Open source ecosystem for open FPGA boards. It was inspired by PlatformIO.
Apio (pronounced [ˈa.pjo]) is a multiplatform toolbox, with static pre-built packages, project configuration tools and easy command interface to verify, synthesize, simulate and upload your verilog designs.
Apio is used by Icestudio.
- Installation
- Apio packages
- Supported boards
- Documentation
- Development
- Videos
- Authors
- Contributors
- License
Package | Installation | Description |
---|---|---|
drivers | apio install drivers | Drivers tools (only for Windows) |
examples | apio install examples | Verilog basic examples, pinouts, etc |
gtkwave | apio install gtkwave | Simulation viewer. GTKWave project (only for Windows) |
icestorm | apio install icestorm | iCE40 FPGA synthesis, place & route and configuration tools. Icestorm project |
iverilog | apio install iverilog | Verilog simulation and synthesis tool. Icarus Verilog project |
scons | apio install scons | A software construction tool. Scons project |
system | apio install system | Tools for listing the USB devices and retrieving information from the FTDI chips |
verilator | apio install verilator | Verilog HDL simulator. Verilator project |
Supported platforms
linux_x86_64, linux_i686, linux_armv7l, linux_aarch64, windows_x86, windows_amd64, darwin.
Board name | Interface |
---|---|
IceZUM Alhambra | FTDI |
Nandland Go board | FTDI |
iCEstick Evaluation Kit | FTDI |
iCEblink40-HX1K | Digilent Adept |
Board name | Interface |
---|---|
Alhambra II | FTDI |
BlackIce | Serial |
BlackIce II | Serial |
CAT Board | GPIO RPi |
icoBOARD 1.0 | GPIO RPi |
Kéfir I iCE40-HX4K | FTDI |
iCE40-HX8K Breakout Board | FTDI |
Alchitry Cu | FTDI |
Board name | Interface |
---|---|
TinyFPGA B2 | Serial |
TinyFPGA BX | Serial |
Board name | Interface |
---|---|
UPDuino v1.0 | FTDI |
UPDuino v2.0 | FTDI |
iCEBreaker | FTDI |
iCEBreaker bitsy | FTDI |
FPGA 101 Workshop Badge Board | FTDI |
iCE40 UltraPlus Breakout Board | FTDI |
Fomu | FTDI |
NOTE: all supported Icestorm FPGAs can be used with --fpga or --size, --type and --pack options.
The complete documentation of the project can be found in Read the Docs: http://apiodoc.readthedocs.io. There is also a list of frequently asked questions (FAQ) that you can check here.
git clone https://github.com/FPGAwars/apio.git
cd apio
pip install tox
tox
tox -e offline
tox -e coverage
cd docs
make html
firefox _build/html/index.html
Also you can find the debian scripts to package the full application and all the packages here: https://github.com/set-soft/apio-debian.
Thanks Salvador E. Tropea!
-
FPGAwars community has developed this project in a voluntary and altruistic way since 11/2016.
-
BQ sponsored this project from 02/2016 to 11/2016. Thanks.
Licensed under GPL 2.0 and Creative Commons Attribution-ShareAlike 4.0 International License.