Skip to main content

Open source ecosystem for open FPGA boards

Project description

apio-cli-banner

license python

linux   macos   windows   raspberry-pi

cli-test cli-build cli-docs cli-pypi-monitor cli-latest-monitor ide-test ide-build examples-test examples-build definitions-test definitions-build oss-cad-suite-build verible-build graphviz-build drivers-build workflows-test apio-backup


NOTE:  Apio IDE for Visual Studio Code. Apio is also available as an extension for Visual Studio Code. To install it, visit the Apio IDE page in the Visual Studio Code Marketplace. The rest of this page describes the command line version of Apio.

Apio CLI is an easy to install and use command-line tool for FPGA design from A to Z. For a quick start, visit the Getting started with Apio guide.

Simulation example:

GTKWave screenshot

Description

Apio CLI is a powerful yet easy-to-use command line tool for FPGA development using Verilog and System Verilog. It’s simple to install, no toolchains, licenses, or makefiles required, and works across Linux, Windows, and macOS. Apio CLI is 100% open source, and free to use.

Apio CLI supports every stage of the FPGA workflow, from simulating and testing, to building and programming the FPGA, using simple commands such as apio test, apio build, and apio upload that do what you expect them to do.

Apio CLI currently supports over 80 FPGA boards, custom boards can be easily added, and it includes over 60 ready-to-use example projects. Apio CLI currently supports the ICE40, ECP5, and GOWIN FPGA architectures.

Sample Apio CLI session

  1. apio examples fetch alhambra-ii/getting-started - fetch an example.
  2. apio build - build the project.
  3. apio report - report utilization and max clock speed.
  4. apio sim - simulate the design and show signals.
  5. apio upload - program the FPGA board.

apio-cli-animation

Apio CLI in the media

Shawn Hymel's excellent series on FPGA programming is based on and older version of Apio CLI and the the Icestick board

Introduction to FPGA YouTube Series

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 or apio sim

Resources

Credits

License

The Apio project itself is licensed under the GNU General Public License version 3.0 (GPL-3.0). Pre-built packages may include third-party tools and components, which are subject to their respective license terms.

Project details


Release history Release notifications | RSS feed

This version

1.4.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

apio-1.4.1.tar.gz (6.5 MB view details)

Uploaded Source

Built Distribution

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

apio-1.4.1-py3-none-any.whl (189.5 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for apio-1.4.1.tar.gz
Algorithm Hash digest
SHA256 6daa01b79ecde4fd3d23266ea2c02c07594949a64885e9b8c1637193f06f4049
MD5 65660889d3c41d917e5b438d5b4dd2c7
BLAKE2b-256 f8c0b3575d4dab46c9a9a12ed099109888d22fce71a5693f274c77c171fb9e46

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for apio-1.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2a5331d0039b1782e684d809031d6412be3bfc0e516e0d08c4cb1260342b66a4
MD5 d82ea9aed5dc6b8e335da17602f0b5c1
BLAKE2b-256 e465072f1b7e830b15b04cf630a2bd783c6e9ae72c5658be212301c4d7e5e959

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