Open source ecosystem for open FPGA boards
Project description
Open source ecosystem for open FPGA boards
What is Apio?
Apio is a multiplatform toolbox with static pre-built packages to verify, synthesize, simulate and upload your verilog designs into the supported FPGA boards
What??????
Apio makes extremely easy the process of working with FPGAs. Go from scratch to having a blinky LED in your FPGA board in minutes! This is because it is based only on Free/Libre Open Source Software (FLOSS). Just install it and use it as you want
In this animation you can see the whole process of testing the Blinky led circuit: Just type one command and the circuit will be synthesized, and uploaded into the FPGA
Think of Apio as a small FPGA distribution, which collects and packages FLOSS toolchains for FPGAs. You can install packages in Linux, Mac and Windows for synthesizing hardware, verifying and simulating from verilog files
The goal is making it very easy to start with FPGAs
As the user gh02t said in this post on Hacker-news:
Apio is a command line tool that automates installing the toolchain for your FPGA and running it. It just simplifies things, you don't have to use it if you'd rather call the individual tools for synthesis, P&R, simulation etc. It'd be reasonable to think of it as akin to a very smart Makefile combined with an automatic package manager, specialized to FPGAs (it's based on PlatformIO). It's nice when you're still kind of getting oriented, because you don't need to know how to set up and invoke the different tools... just call
apio build
orapio simulate
Apio and higher level tools
Apio has a command line interface (CLI). It is the building block for other higher level tools, like Icestudio, Apio-IDE or working with FPGAs from IDEs such as Visual Studio Code
A circuit in Icestdio
A verilog circuit in Apio-IDE
A verilog circuit in VSCode
Documentation
Find all the information on this WIKI PAGE
Apio packages
Package | Installation | Description |
---|---|---|
tools-oss-cad-suite | apio install oss-cad-suite | Selected binaries from the YosysHQ/oss-cad-suite project |
examples | apio install examples | Verilog basic examples, pinouts, etc |
drivers | apio install drivers | Drivers tools (only for Windows) |
gtkwave | apio install gtkwave | Simulation viewer. GTKWave project (only for Windows) |
Supported boards
HX1K
Board name | Interface |
---|---|
IceZUM Alhambra | FTDI |
Nandland Go board | FTDI |
iCEstick Evaluation Kit | FTDI |
iCEblink40-HX1K | Digilent Adept |
HX8K
Board name | Interface |
---|---|
Alhambra II | FTDI |
BlackIce | Serial |
BlackIce II | Serial |
Blackice-mx | Serial |
CAT Board | GPIO RPi |
icoBOARD 1.0 | GPIO RPi |
Kéfir I iCE40-HX4K | FTDI |
iCE40-HX8K Breakout Board | FTDI |
Alchitry Cu | FTDI |
iceFUN | Serial |
iceWerx | Serial |
LP8K
Board name | Interface |
---|---|
TinyFPGA B2 | Serial |
TinyFPGA BX | Serial |
UP5K
Board name | Interface |
---|---|
arice1 | |
Fomu | DFU |
FPGA 101 Workshop Badge Board | FTDI |
iCEBreaker | FTDI |
iCEBreaker bitsy | DFU |
iCE40 UltraPlus Breakout Board | FTDI |
UPDuino v1.0 | FTDI |
UPDuino v2.0 | FTDI |
UPDuino v2.1 | FTDI |
UPDuino v3.0 | FTDI |
iCESugar v1.5 | FTDI |
OK-iCE40Pro | FTDI |
Pico-Ice | DFU |
ECP5
Board name | Interface |
---|---|
OrangeCrab r0.2 | DFU |
ButterStick r1.0 | DFU |
TinyFPGA-EX-rev1 | Serial |
TinyFPGA-EX-rev2 | Serial |
ULX3S-12F | Ujprog |
ULX3S-25F | Ujprog |
ULX3S-45F | Ujprog |
ULX3S-85F | Ujprog |
Versa | |
ColorLight-5A-75B-V61 | FT2232H |
ColorLight-5A-75B-V7 | FT2232H |
ColorLight-5A-75B-V8 | FT2232H |
ColorLight-5A-75E-V6 | FT2232H |
ColorLight-5A-75E-V71 | FT2232H, FT232H or USB-Blaster |
ColorLight-i5-v7.0 | FT2232H, FT232H or USB-Blaster |
iCESugar-Pro | FT2232H, FT232H or USB-Blaster |
FleaFPGA-Ohm | FT2232H, FT232H or USB-Blaster |
ECP5-Evaluation-Board | FT2232H |
LP1K
Board name | Interface |
---|---|
iCESugar-nano | FTDI |
NOTE: all supported Icestorm FPGAs can be used with --fpga or --size, --type and --pack options.
Authors
Contributors
Credits
-
APIO was inspired by PlatformIO.
-
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.
License
Licensed under GPL 2.0 and Creative Commons Attribution-ShareAlike 4.0 International License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.