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


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.0

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.0.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.0-py3-none-any.whl (189.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: apio-1.4.0.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.0.tar.gz
Algorithm Hash digest
SHA256 7587cbef11602f0fc918a0c502b8a64cba570d6ab8e829c13ea82c512f7f00a6
MD5 20acfe32fe1feb7a1e3efaa4d5899657
BLAKE2b-256 added058ed9f3a799798c71f5433da6c1f70bd08af8a09bd2e79fc4ce613bc97

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for apio-1.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 68d37084ffa07bdba7a9e3808c3731e47645f29f752206f580b9b02d66583635
MD5 02993a00da015c7c067479ea52d45cec
BLAKE2b-256 d4b7c9b2e9b462f252a597030193b001d8d843bfb836d80695b4ec09023e77eb

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