Skip to main content

Open source ecosystem for open FPGA boards

Project description

PyPI Version Build Status License

       

Open source ecosystem for open FPGA boards

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.

Table of contents

Documentation

Find all the information on this WIKI PAGE

Installation

  1. Install Python and pip

  2. Install the latest apio: pip install -U apio

Apio packages

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)
yosys apio install yosys FPGA synthesis. Yosys project
ice40 apio install ice40 iCE40 place & route and configuration tools. Icestorm project
ecp5 apio install ecp5 ECP5 tools including Project Trellis and nextpnr
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
icesprog apio install icesprog Programmer for the iCESugar
dfu-utils apio install dfu Device Firmware Upgrade Utilities
fujprog apio install fujprog Programmer for ULX2/3S boards

Supported platforms

linux_x86_64, linux_i686, linux_armv7l, linux_aarch64, windows_x86, windows_amd64, darwin.

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

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

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.

Documentation

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.

Development

git clone https://github.com/FPGAwars/apio.git
cd apio

Testing

pip install tox
tox
tox -e offline
tox -e coverage

Documentation

cd docs
make html
firefox _build/html/index.html

Debian packaging

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!

Videos

Apio in RPI2: iCEstick, Icezum and icoBOARD

Apio: an easy multi-platform toolbox for open FPGAs

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.


https://github.com/FPGAwars/Apio-wiki/raw/main/wiki/Logos/Apio-github.png

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.

Source Distribution

apio-0.8.1.tar.gz (1.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

apio-0.8.1-py3-none-any.whl (70.4 kB view details)

Uploaded Python 3

File details

Details for the file apio-0.8.1.tar.gz.

File metadata

  • Download URL: apio-0.8.1.tar.gz
  • Upload date:
  • Size: 1.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.27.1

File hashes

Hashes for apio-0.8.1.tar.gz
Algorithm Hash digest
SHA256 73c24f6fe8174dac50c0a29084c20f7fe958c5af6f37d0dc49f9f495f5746766
MD5 6602ec11f02db213c3531f7e137521e4
BLAKE2b-256 36525f5e9b2cb89a4fd4c9a92817e83760ec62962e5c1deb1d1f1664034fde8c

See more details on using hashes here.

File details

Details for the file apio-0.8.1-py3-none-any.whl.

File metadata

  • Download URL: apio-0.8.1-py3-none-any.whl
  • Upload date:
  • Size: 70.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.27.1

File hashes

Hashes for apio-0.8.1-py3-none-any.whl
Algorithm Hash digest
SHA256 55ac54cc209308e92c3da37503391ef7b2f0ac781233626ddcb3241dfa626dc7
MD5 ca92e016c97e5096000a703a6362b71c
BLAKE2b-256 bfe9d7c70083ee1cf41c099792b62d2831fd4fff6d8d75959f9d04834bc80d3b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page