• Stars
    star
    786
  • Rank 57,890 (Top 2 %)
  • Language Verilog
  • License
    GNU General Publi...
  • Created over 8 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

๐ŸŒฑ Open source ecosystem for open FPGA boards

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
verilator apio install verilator Verilog HDL simulator. Verilator project
icesprog apio install icesprog Programmer for the iCESugar
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
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.

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

More Repositories

1

icestudio

โ„๏ธ Visual editor for open FPGA boards
JavaScript
1,684
star
2

icezum

๐ŸŒŸ IceZUM Alhambra: an Arduino-like Open FPGA electronic board
Verilog
330
star
3

FPGA-peripherals

๐ŸŒฑ โ„๏ธ Collection of open-source peripherals in Verilog
Verilog
163
star
4

apio-ide

๐ŸŒฑ Experimental open FPGA IDE using Atom and Apio
JavaScript
85
star
5

Alhambra-II-FPGA

๐ŸŒŸ Alhambra II FPGA board
75
star
6

Collection-Jedi

Icestudio collection with the blocks of the FPGA Jedi hardware Academy
JavaScript
37
star
7

toolchain-icestorm

๐ŸŒฑ Icestorm, Arachne-pnr and Yosys pre-built binaries: GNU/Linux(+ARM), Windows and Mac OS
C
37
star
8

iceRok

Block probes for Icestudio => Sigrok integration (with Pulseview GUI)
32
star
9

apio-examples

๐ŸŒฑ Apio examples
Verilog
31
star
10

FLIX-V

FLIX-V: FPGA, Linux and RISC-V
Verilog
30
star
11

workshops

โ„๏ธ ๐ŸŒŸ Workshops with Icestudio and the IceZUM Alhambra board
Verilog
26
star
12

Platformio-FPGA

๐ŸŒฑ FPGA development in PlatformIO, using the Icestorm opensource toolchain
Python
19
star
13

icestudio-examples

โ„๏ธ Icestudio examples - Community contributions
Slice
17
star
14

icestudio-blocks

Index of Icestudio resources: blocks, collections, icons, examples...
14
star
15

LOVE-FPGA

Linking Of Virtual Electronics to FPGAs ๐Ÿ™‚. Use virtual components with real hardware for debugging without simulation
CSS
14
star
16

Collection-stdio

Icestudio collection for standard Input-Output in different devices
JavaScript
13
star
17

iceMem

Icestudio Collection for working with Memories and Registers
JavaScript
10
star
18

toolchain-iverilog

๐ŸŒฑ Icarus Verilog pre-built binaries: GNU/Linux(+ARM), Windows and Mac OS
Verilog
9
star
19

fpgawars.github.io

HTML
8
star
20

tools-system

๐ŸŒฑ lsftdi and lsusb pre-built binaries: GNU/Linux(+ARM), Windows and Mac OS
Shell
7
star
21

tools-oss-cad-suite

Apio package with selected binaries from the YosysHQ/oss-cad-suite project
Shell
6
star
22

icestudio-collections

โ„๏ธ List of collections for Icestudio
6
star
23

libftdi-cross-builder

Automatic cross compilation of the libftdi library
CMake
6
star
24

iceK

iceK Collection: Constants for icestudio
JavaScript
6
star
25

icestudio-block-icons

โ„๏ธ SVG Icons for using in the user defined blocks
6
star
26

LOVE-FPGA-Collection

Collection of hardware elements and examples for the LOVE-FPGA project (Linking Of Virtual Electronics to FPGAs)
JavaScript
6
star
27

iceIO

Blocks for managing FPGA IO-pins
JavaScript
5
star
28

Icestudio-cli

Small utilities for working with .ice icestudio files in the command line
Python
5
star
29

iceLCD

Components and controllers for LCDs. Based on the powerful iceCrystal collection by Carlos venegas (cavearr)
JavaScript
4
star
30

iceMeasure

Icestudio collection for measuring cycles and time in your circuits, very easily
JavaScript
4
star
31

collection-default

โ„๏ธ Icestudio Default Collection
JavaScript
4
star
32

icm

โ„๏ธ Icestudio collections manager
Python
4
star
33

iceArith

Icestudio collection for Arithmetics
JavaScript
4
star
34

toolchain-yosys

๐ŸŒฑ Yosys pre-built binaries: GNU/Linux(+ARM), Windows and Mac OS
4
star
35

iceMux

Icestudio collection with muxes and demuxes
JavaScript
4
star
36

iceSynth-collection

Icestudio blocks and examples for audio synthesis
JavaScript
4
star
37

toolchain-verilator

๐ŸŒฑ Verilator pre-built binaries: GNU/Linux(+ARM), Windows and Mac OS
Verilog
4
star
38

iceHeart

Icestudio Collection for timing signal generation (hearts)
JavaScript
3
star
39

Icezum-Alhambra-3D-support

๐ŸŒŸ A 3D printable support for the Icezum Alhambra Board, designed in FreeCAD
3
star
40

toolchain-ice40

๐ŸŒฑ Icestorm, Next-pnr, Arachne-pnr pre-built binaries: GNU/Linux(+ARM), Windows and Mac OS
3
star
41

toolchain-icesprog

Apio package that contains the icesprog programmer for the icesugar board
Shell
3
star
42

alhambra-led

๐ŸŒŸ Peripheral for the Icezum Alhambra: Circuit with external led
3
star
43

toolchain-fujprog

FPGA JTAG programmer for ULX2/3S boards. Apio package
Shell
3
star
44

icePLL

PLL collection for IceStudio
JavaScript
2
star
45

Tutorial-verilog-openfpga-icezum

Diseรฑo digital con FPGAs libres, en lenguaje Verilog y con la placa IceZUM Alhambra
2
star
46

libusb-cross-builder

Automatic cross compilation of the libusb library
M4
2
star
47

InBit

A hello world Electron and node.js application for setting a bit on or off from a GUI
JavaScript
2
star
48

icestudio-wiki

Images and resources used in the Icestudio Wiki
Python
2
star
49

iceMachines

Icestudio collection for working with Machines (simple state machines with a standar interface)
2
star
50

collection-logic

โ„๏ธ Icestudio Logic Collection
JavaScript
2
star
51

iceComp

Icestudio collection with comparators
JavaScript
2
star
52

iceRegs

Icestudio Collection with registers
JavaScript
2
star
53

tool-scons

๐ŸŒฑ Tool scons for open FPGAs
1
star
54

iceGates

Icestudio collection with logic gates
JavaScript
1
star
55

iceCoders

Icestudio collection with encoders and decoders
JavaScript
1
star
56

collection-generic

โ„๏ธ Icestudio Generic Collection
TeX
1
star
57

iceLedoscope

Icestudio collection for capturing digital signals and show them on the LEDs
JavaScript
1
star
58

icerok-display

Display the digital signal from our circuitos in the FPGA directly in the browser
JavaScript
1
star
59

Collection-Jedi-Test

Testbenches for testing the blocks on the Jedi Collection
1
star
60

tools-drivers

๐ŸŒฑ Drivers tools for open FPGAs
1
star
61

FpgaRiders

Collection for storing users blocks/designs
JavaScript
1
star